Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 175
Зарегистрирован: Пт июн 29, 2012 23:48:11

Сообщение virus33 »

pyzhman писал(а):А частоту тактирования в протеусе выставили? И как вы увидели, что частота прерываний не та? Опять же, не забываем, что вход/выход в прерывание тоже съедает время (в плане, что 65530 очень уж мизерное время оставляет на всё остальное).
Для проверки использовал код:

Код: Выделить всё

void interrupt pwm_int(void)	// общая процедура прерывания
{
if (TMR1IF)
	{
	RB0 = ~RB0;
	TMR1H = 0b00111100;
	TMR1L = 0b10101111;
	TMR1IF=0;     //  сбрасываем флаг о его переполнение
	}	
}
где TMR1H:TMR1L - значение счетчика.
Результаты работы в протеусе:

1мкс, TMR1H = 0b11111111; TMR1L = 0b11111010;

Изображение

10мкс, TMR1H = 0b11111111; TMR1L = 0b11001101;

Изображение

100мкс, TMR1H = 0b11111111; TMR1L = 0b00001011;

Изображение

ну и соответственно дальше 1мс, 10мс:

Изображение Изображение

В общем понимаю, где я туплю...

спасибо что носом ткнули))))
Реклама
Chettuser

Сообщение Chettuser »

ARMяноводы, подскажите как подключать для первого старта (что бы пока просто прошить) STM32F103? Особенно интересует BOOT0 и его собратья.
Спасибо.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Пора бы начать читать мануалы , вместо детской привычки вешанья ярлыков.
Благо на оффсайте имеются документы :
Getting started - практически на все линейки, где дана минимальная схема , необходимая для квик старта.
А так же мануал на бутлоадер и иже с ним...
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Друзья, а вот такой вопрос. МК тактируется от 8МГц, хочу вывести частоту на пин CKOUT. Можно ли вывести 2МГц? Есть ли отдельный делитель, чтоб тактирование самого МК оставалось стабильно 8МГц?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
akl
Друг Кота
Сообщения: 4450
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Не встречал.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Вообще какие способы вывести 2МГц навскидку Вы могли бы подсказать?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Сообщение slavokhire5 »

А шимом?
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Друг Кота
Сообщения: 5336
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий

Сообщение petrenko »

А что пишут в "дэйтащиит"-е об выводах данного м.к., к коим подключается задающий генератор ? :roll:
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Может и ШИМом... Но даже не знаю... Можно ли один таймер использовать для двух задач? Будет в этой считать до скольки-то в одном режиме. А потом в другой задаче срабатывать по переполнению. Поможете?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
isx
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Сообщение isx »

Что то я не пойму что вы хотите получить. Опишите цель, а там может и кто чего подскажет :) .
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Сеть модулей, связанных особым каналом. Для его работу нужна несущая, 2МГц. С довольно небольшими требованиями к точности. Что-то, от 1,8МГц до 2,8МГц. В микроконтроллере АТтини24 есть встроенный калиброванный 8МГц генератор. Он работает, и, очень бы хотелось, чтоб с какого-нибудь вывода выдавал эти 2МГц.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Если если есть возможность частоту осцилятора вывести наружу, то спасёт делитель на 4 - один корпус с двумя D-триггерами.
Ну или поставить ещё один маленький МК и вывести с него необходимую частоту с помощью ШИМа. Хотя, можно его просто затактировать от 2Мгц, если позволяют возможности МК.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Ну... Только начал верить в то что эти клопы на плате безграничны в своих силах... И вот на саааамом последнем пункте задачи так обламываете?

Неужели нет красивого ответу?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
akl
Друг Кота
Сообщения: 4450
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

For generating a waveform output in CTC mode, the OC0A output can be set to toggle its logical level on each Compare Match by setting the Compare Output mode bits to toggle mode (COM0A1:0 = 1). The OC0A value will not be visible on the port pin unless the data direction for the pin is set to output. The waveform generated will have a maximum frequency of 0 = fclk_I/O/2 when OCR0A is set to zero (0x00). The waveform frequency is defined by the following
equation: F(OCnx)=F(clk_I/O)/2/N/(OCRnx +1)
Из DS на ATtiny24, т.е. если OCR0A=1, то на выходе (PCINT10/INT0/OC0A/CKOUT) PB2 должно быть 2МГц.
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

У него заняты все таймеры и нога INT0. Так что, только внешний генератор.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

INT0 оно же и есть CKOUT. Для этой миссии и берёг.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

просто КОТ писал(а):Для этой миссии и берёг
Он же у тебя, на сколько помню, для детектирования перехода через "0" ?
Или это уже другой проект ? :roll:
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Теперь этим занимается аналоговый компаратор. То было временно, чтоб в симуляторе проще отрабатывалось.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Опытный кот
Сообщения: 758
Зарегистрирован: Вс фев 10, 2013 15:26:00

Сообщение nirq »

Допустим, таймер тикает прерыванием раз в два мегагерца.
На тактовой частоте 8 Мгц это получалось бы прерывание раз в каждые 4 "программных цикла", как его там научно. Из которых 4 цикла будет выполняться reti.
Разгоняем внутреннее эрце в два раза через OSCCAL, теперь получается по 8 инструкций на каждый тик таймера. Вошли в прерывание, инвертнули пин, инкрементнули какой-то счётчик (например R16), вышли из прерывания. Нуу...

Ладно.
Все оба таймера уже заняты. Чем конкретно заняты и как? Зачем понадобился второй таймер, что помешало обойтись им единственным, как доказана невозможность обойтись?

Ладно хрен с ними, пусть будут заняты. Даже если бы один и освободили, мало толку с него для получения 2 МГц из 16, если не управлять ногой хардварно вместо программного прерывания. Чисто академический интерес.
А частота, фаза, джиттер, форма импульса - это всё никому не надо. Надо просто примерно два миллиона каких-нибудь вообще импульсов ну где-то так в секунду.
Приглядываемся внимательно к железным интерфейсам: SPI, UART...

... и самое главное: ощущается латентная как бы анальность в даже не цели формулировке задачи постановке, а в том, из чего она вообще взялась.
Сеть модулей, связанных особым каналом. Для его работу нужна несущая, 2МГц.
Поэтому чё тут думать трясти надо.
Или нет?


А свободная нога с функцией INT как бы ресурс более ценный, чем вот это вот всё. В общем случае.
Последний раз редактировалось nirq Вс окт 12, 2014 21:07:37, всего редактировалось 1 раз.
isx
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Сообщение isx »

Можно попробовать сделать прерывания 2МГц с выходом на пин, и на основе этих прерываний сделать программный таймер для второй задачи.
Ответить

Вернуться в «Разные вопросы по МК»