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

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

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

Сообщение 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

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

Сообщение Chettuser »

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

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

Сообщение dosikus »

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

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

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

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

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

Сообщение akl »

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

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

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

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

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

Сообщение slavokhire5 »

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

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

Сообщение petrenko »

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

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

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

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

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

Сообщение isx »

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

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

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

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

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

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

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

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

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

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

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

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

Сообщение 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МГц.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

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

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

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

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

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

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

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

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

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

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

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

Сообщение 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

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

Сообщение isx »

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

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