Полная версия этой страницы:
ШИМ Микроконтроллер ATMEGA16
Начинаю работать с AVR. Есть опыт с Microchip. Приобрёл STK500.
Микроконтроллер ATMEGA16.
Вопрос ШИМ.
Мне нужно иметь 2 ШИМ.
Меня интересуют частоты до 300 кГц, десятки кГц.
Попробовал таймеры 0 и 1.
Тексты программы © не привожу, стандартные, есть готовые, работают нормально.
Но пока у меня десятки кГц.
У ATMEGA16 макс. частота 16 МГц.
Для таймера 0 по формулам из док-и макс. (предделитель 1) = 16 МГц / 256 = 62.5 кГц.
Как я понял таймер 0 это предел (Fast PWM)?
Для таймера 1 есть ещё ICR1 (Phase Correct PWM), если им поиграть?
Сделать предделитель 1, ICR1 как можно меньше - получу я частоты ШИМ первые сотни кГц?
Разобрался сам. Как это обычно.
Для ATMEGA16 16 МГц таймеры 0/1 по прикидкам (Fast PWM) макс. частота получится порядка 130 кГц.
Хотя по док-и как я думал д.б. больше?
Я использую ШИМ чисто как источник сигналов. Поэтому у ATMEGA16 можно использовать таймеры 0/1 режим СТС.
Тогда частота получится сотни кГц.
demiurg_spb
May 22 2013, 06:21
Частота ШИМ зависит от двух параметров:
1. от значения предделителя F_CPU
2. от значения регистра, определяющего разрядность ШИМ
Следовательно частоты могут быть любыми - вплоть до четверти F_CPU при двухбитной разрядности ШИМ и предделителе = 1.
Цитата(badik @ May 18 2013, 03:35)

Мне нужно иметь 2 ШИМ. Меня интересуют частоты до 300 кГц.
Сделать предделитель 1, ICR1 как можно меньше - получу я частоты ШИМ первые сотни кГц?
Есть аврки с встроенным генератором ПЛЛ на 64 МГц, можно их попробовать, получите 8-битный шим 250 кГц.
demiurg_spb
May 23 2013, 06:12
Цитата(=GM= @ May 23 2013, 09:40)

Есть аврки с встроенным генератором ПЛЛ на 64 МГц, можно их попробовать, получите 8-битный шим 250 кГц.
xMega ?
muravei
May 23 2013, 06:21
Цитата(demiurg_spb @ May 23 2013, 10:12)

xMega ?
Тини 26 была, кажись...
Цитата(muravei @ May 23 2013, 10:21)

Тини 26 была, кажись...
не только. AT90PWM3B например тоже

и еще некоторые
Цитата(demiurg_spb @ May 23 2013, 05:12)

xMega ?
На вскидку: ATmega25/45/85, ATtiny261/461/861, ATmega16/32/64M1, ATmega16/32U4. Ну и хмеги конечно.
demiurg_spb
May 23 2013, 09:54
Делал я несколько проектов для ATmega16 и не натыкался на PLL...
Аааа, понял вы про m1 - с ней не сталкивался.
Вы вместо ATmega25/45/85 наверное имели в виду ATtiny25/45/85?
Т.к. я не нашёл мег с такой маркировкой.
Похоже что эту высокую частоту можно лишь на 8-10 битные таймеры подавать, а я уже губу раскатал на 16-ти битный ШИМ...
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.