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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт окт 21, 2008 20:45:50
Откуда: Odessa

Сообщение 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
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18861
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

А для чего такие частоты используются? С ними ведь геморрой один...
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт окт 21, 2008 20:45:50
Откуда: Odessa

Сообщение 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/
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

WAV-файлы 8 бит 44100 Гц на максимальной частоте ШИМ (64 МГц/256=250КГц) воспроизводятся просто прекрасно.
ааа, теперь понял. Ну да, тут практически любая цепь будет играть роль фильтра...
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18861
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт окт 21, 2008 20:45:50
Откуда: Odessa

Сообщение Increasing »

ARV

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

64МГц/256=250КГц;
250КГц/44,1КГц=5,6689...
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18861
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Increasing писал(а):ARV

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

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

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт окт 21, 2008 20:45:50
Откуда: Odessa

Сообщение Increasing »

А как поступают в схемотехнике для звуковых карт, там же тоже кварцы не кратны 44100 Гц ?
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт окт 21, 2008 20:45:50
Откуда: Odessa

Сообщение Increasing »

Как бы мне заполучить список AVR микроконтроллеров поддерживающих высокочастотный режим ШИМ для таймера (64МГц и если существует то и более высокочастотный)?
Друг Кота
Аватара пользователя
Сообщения: 5953
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

Имеется МК Tiny85, задумал я на нём использовать высокочастотный ШИМ с фазовой коррекцией. Дело нехитрое: привычным движением запускаю CVAVR, конфигурирую таймер 1 на 16 МГц, ищу "Phase correct PWM top=FFh", а нету! Делать нечего, полез в даташит. Нашёл там про этот режим у таймера 0, а вот про таймер 1 в режиме фазовой коррекции что-то не упомянается. Поскольку с английским у меня не особо, то хотелось бы уточнить у более опытных котов: Такого режима действительно нет, или там где-то мелким шрифтом ссылочка? Уж больно МК удобен, не хотелось бы брать больше (размером) из-за частоты. Может есть какой другой восьминогий камень хотябы на 15 МГц? Ну на худой конец разогнать Tiny13 какой-нибудь (в даташите, кстати, на оба указана максимальная частота в 20 МГц).
Усложнять просто. Упрощать сложно.
Контактная информация:
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт окт 21, 2008 20:45:50
Откуда: Odessa

Сообщение Increasing »

Посмотрел в ICCV7 for AVR для таймера 1 режим "Phase correct PWM" тоже не нашел.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»