Страница 1 из 1

AVR131: Использование высокочастотной ШИМ микроконтроллеров

Добавлено: Ср апр 21, 2010 23:49:09
Increasing
AVR131: Использование высокочастотной ШИМ микроконтроллеров AVR.
В этой апликухе упоминается частота ШИМ аж 64 МГц, только непонятно откуда она берется если контролер может работать на частоте максимум 16 МГц?

http://www.gaw.ru/html.cgi/txt/app/micr ... AVR131.htm
http://www.gaw.ru/pdf/Atmel/app/avr/AVR131.pdf

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 07:30:18
ARV
во многих контроллерах имеется встроенный PLL - синтезатор частоты (точнее, по факту - умножитель), который выдает как раз 64 МГц для работы ШИМ. этот PLL работает от встроенного RC-генератора не зависимо от того, на какой частоте работает ядро.

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 09:14:39
ploop
А для чего такие частоты используются? С ними ведь геморрой один...

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 11:00:10
Increasing
ploop

WAV-файлы 8 бит 44100 Гц на максимальной частоте ШИМ (64 МГц/256=250КГц) воспроизводятся просто прекрасно. Выход напрямую на динамик без всяких фильтров - хватает индуктивности динамика. Громкость при 3,6 В в районе 0,5 Вт.
Ограничений нет никаких, только увеличивается на 8 мА потребляемый ток во всех режимах экономии, у ATtiny25/45/85, ПЛЛ подключается только к таймер1, другая периферия его не видит.

Вот только не совсем понятно, как это реализуется?
Если 64МГц/256=250КГц и 250КГц/44,1КГц=5,6689, то получается не целое число раз. Как выйти из этой ситуации?

http://elm-chan.org/works/sd8p/report.html
http://radioded.ru/content/view/108/49/

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 12:06:47
ploop
WAV-файлы 8 бит 44100 Гц на максимальной частоте ШИМ (64 МГц/256=250КГц) воспроизводятся просто прекрасно.
ааа, теперь понял. Ну да, тут практически любая цепь будет играть роль фильтра...

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 13:46:38
ARV
Increasing писал(а):Вот только не совсем понятно, как это реализуется?
Если 64МГц/256=250КГц и 250КГц/44,1КГц=5,6689, то получается не целое число раз. Как выйти из этой ситуации?
ну так вас же никто не заставляет каждый такт ШИМ обновлять скважность - настройте таймер на срабатывание с частотой 44,1 кГц и по прерыванию пуляйте в OCRxx новый семпл...

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 14:21:16
Increasing
ARV

Вы имеете виду: настроить 0-ой таймер на частоту 44,1 КГц, а 1-ый таймер на 250КГц в режиме ШИМ и кидать выборку в OCR1A по прерыванию от 0-го таймера?
Спасибо, предложение интересное, но тогда нарушается синхронность. Выборка закидывается OCR1A в некий момент времени который определяется 0-ым таймером, но мы же не знаем выполнился ли очередной цикл ШИМ полностью. Но даже если удастся это как то проконтролировать, то все равно будет не соответствие кратности частот, получается не целое число циклов ШИМ, для каждой выборки.

64МГц/256=250КГц;
250КГц/44,1КГц=5,6689...

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 15:17:05
ARV
Increasing писал(а):ARV

Вы имеете виду: настроить 0-ой таймер на частоту 44,1 КГц, а 1-ый таймер на 250КГц в режиме ШИМ и кидать выборку в OCR1A по прерыванию от 0-го таймера?
Спасибо, предложение интересное, но тогда нарушается синхронность. Выборка закидывается OCR1A в некий момент времени который определяется 0-ым таймером, но мы же не знаем выполнился ли очередной цикл ШИМ полностью. Но даже если удастся это как то проконтролировать, то все равно будет не соответствие кратности частот, получается не целое число циклов ШИМ, для каждой выборки.

64МГц/256=250КГц;
250КГц/44,1КГц=5,6689...
будет небольшой джиттер - мне кажется, вы его не услышите :)))

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Чт апр 22, 2010 17:15:23
Increasing
А как поступают в схемотехнике для звуковых карт, там же тоже кварцы не кратны 44100 Гц ?

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Пт апр 23, 2010 12:12:20
Increasing
Как бы мне заполучить список AVR микроконтроллеров поддерживающих высокочастотный режим ШИМ для таймера (64МГц и если существует то и более высокочастотный)?

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Вс апр 25, 2010 00:57:54
>TEHb<
Имеется МК Tiny85, задумал я на нём использовать высокочастотный ШИМ с фазовой коррекцией. Дело нехитрое: привычным движением запускаю CVAVR, конфигурирую таймер 1 на 16 МГц, ищу "Phase correct PWM top=FFh", а нету! Делать нечего, полез в даташит. Нашёл там про этот режим у таймера 0, а вот про таймер 1 в режиме фазовой коррекции что-то не упомянается. Поскольку с английским у меня не особо, то хотелось бы уточнить у более опытных котов: Такого режима действительно нет, или там где-то мелким шрифтом ссылочка? Уж больно МК удобен, не хотелось бы брать больше (размером) из-за частоты. Может есть какой другой восьминогий камень хотябы на 15 МГц? Ну на худой конец разогнать Tiny13 какой-нибудь (в даташите, кстати, на оба указана максимальная частота в 20 МГц).

Re: AVR131: Использование высокочастотной ШИМ микроконтролле

Добавлено: Вс апр 25, 2010 12:12:00
Increasing
Посмотрел в ICCV7 for AVR для таймера 1 режим "Phase correct PWM" тоже не нашел.