Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Поговорим об аппаратном ШИМе (aka PWM)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
GDaniloff
Пытаюсь разобраться с PWM. Проштудировал 6 главу книжки Баранова "Применение микроконтроллеров AVR" (Москва, "Додэка-XXI",2004) и датащит к tiny13. Мало что понял smile.gif
Прежде всего хочу спросить: чем отличаются режимы "fast pwm" и "Phase Correct PWM"?
GDaniloff
Вот, не поленился засунуть датащит в Промпт...
Код
Быстрая широтно-импульсная модуляция или режим fastPWM (WGM02:0 = 3 или 7) обеспечивают высокочастотную ШИМ генерацию сигнала. Режим fastPWM отличается от других режимов PWM ее однонаклонной (single-slope) операцией. Счетчик ведет счет от BOTTOM к TOP и вновь загружает значение BOTTOM. TOP определен как 0xFF если WGM2:0 = 3, и OCR0A если WGM2:0 = 7. В неинвертирующем Compare Output режиме, сигнал Output Compare (OC0x) сброшен, когда значение счетчика лежит между TCNT0 и OCR0x, и установлен в BOTTOM. В инвертирующем Compare Output режиме вывода, вывод установлен на соответствии сравнения и сбрасывается на BOTTOM. Благодаря однонаклонной операции, рабочая частота режима fast PWM может быть вдвое более высокой, чем при фазокорректном ШИМ, который использует двойной наклон.  Высокая частота делает режим fastPWM хорошо подходящим для регулировки питания, исправления (rectification), и приложений ЦАП. Высокая частота позволяет использовать  малоразмерные внешние компоненты (катушки, конденсаторы), и поэтому уменьшает полную стоимость системы. В режиме fastPWM, счетчик увеличивается до тех пор, пока его значение не достигнет значения TOP. На следующем такте таймера счетчик обнуляется.

осталось разобраться, как выбрать инвертирующий или неинвертирующий режим...
Dopler
Цитата(GDaniloff @ Mar 10 2007, 20:54) *
Вот, не поленился засунуть датащит в Промпт...
Код
Быстрая широтно-импульсная модуляция или режим fastPWM (WGM02:0 = 3 или 7) обеспечивают высокочастотную ШИМ генерацию сигнала. Режим fastPWM отличается от других режимов PWM ее однонаклонной (single-slope) операцией. Счетчик ведет счет от BOTTOM к TOP и вновь загружает значение BOTTOM. TOP определен как 0xFF если WGM2:0 = 3, и OCR0A если WGM2:0 = 7. В неинвертирующем Compare Output режиме, сигнал Output Compare (OC0x) сброшен, когда значение счетчика лежит между TCNT0 и OCR0x, и установлен в BOTTOM. В инвертирующем Compare Output режиме вывода, вывод установлен на соответствии сравнения и сбрасывается на BOTTOM. Благодаря однонаклонной операции, рабочая частота режима fast PWM может быть вдвое более высокой, чем при фазокорректном ШИМ, который использует двойной наклон.  Высокая частота делает режим fastPWM хорошо подходящим для регулировки питания, исправления (rectification), и приложений ЦАП. Высокая частота позволяет использовать  малоразмерные внешние компоненты (катушки, конденсаторы), и поэтому уменьшает полную стоимость системы. В режиме fastPWM, счетчик увеличивается до тех пор, пока его значение не достигнет значения TOP. На следующем такте таймера счетчик обнуляется.

осталось разобраться, как выбрать инвертирующий или неинвертирующий режим...


Инвертирующий и неинвертирующий режимы задаются битами COM0A1:COM0A0 в регистре TCCR0A
Pyku_He_oTTyda
Смотря для чего, в ТИНИ13 ШИМ не шибко быстрый
GDaniloff
Цитата(Pyku_He_oTTyda @ Mar 10 2007, 23:01) *
Смотря для чего, в ТИНИ13 ШИМ не шибко быстрый


При максимальной частоте проца 9,6 МГц выходит максимум 37,5 кГц. А сколько, интересно, нужно для формирования аналогового сигнала на 20 кГц?
Pyku_He_oTTyda
Хватит наверное, по идее 40 надо.
С другой стороны зачем 20кгц, ихмо ничего хорошего не выйдет
cupertino
Цитата(GDaniloff @ Mar 10 2007, 23:10) *
Цитата(Pyku_He_oTTyda @ Mar 10 2007, 23:01) *

Смотря для чего, в ТИНИ13 ШИМ не шибко быстрый


При максимальной частоте проца 9,6 МГц выходит максимум 37,5 кГц. А сколько, интересно, нужно для формирования аналогового сигнала на 20 кГц?


Минимально 40 кГц по Найквисту (Котельникову). Реально значительно больше, всегда ищется компромис между частотой, качеством выходного сигнала и качеством (крутизной среза) НЧ фильтра.
CDT
Цитата(GDaniloff @ Mar 10 2007, 23:10) *
При максимальной частоте проца 9,6 МГц выходит максимум 37,5 кГц. А сколько, интересно, нужно для формирования аналогового сигнала на 20 кГц?

Еще бы узнать, чего мы хотим от этого ШИМ.
Музыку играть?, Стабилизатором управлять ?, Или синус сгенерировать ?.
GDaniloff
Пока что интерес теоретический. Как сварганить источник звука(плеер) - фиг с ним, пусть хоть монофонический, но с качеством на уровне современной бытовой аппарауры?

А в других процах дела с ШИМ обстоят не лучше... sad.gif
У меги, например, с ее 16-разрядным счетчиком, f = F/(2^разряды)
=GM=
Цитата(GDaniloff @ Mar 12 2007, 20:02) *
Пока что интерес теоретический. Как сварганить источник звука(плеер) - фиг с ним, пусть хоть монофонический, но с качеством на уровне современной бытовой аппарауры?

А в других процах дела с ШИМ обстоят не лучше... sad.gif
У меги, например, с ее 16-разрядным счетчиком, f = F/(2^разряды)

Кое-что есть и получше. В МК ATtiny25/45/85 стоит шим плл на 64 МГц. Шим можно получить 250 кГц на два канала, по-моему.
Pyku_He_oTTyda
в 26 точно можно два (ПЛЛ 64 Мгц) тоже есть, так же два инверсных вывода
GDaniloff
Цитата
В МК ATtiny25/45/85 стоит шим плл на 64 МГц. Шим можно получить 250 кГц на два канала, по-моему.


Не знал... Это ж совсем свежие чипы, за такими придется в Москву ехать, и то при условии что они там есть. Вот в прошлом году зашел в питерский "Чип и Дип" - там даже про 13-е не слыхали smile.gif
Ежели стерео и 250 кГц - можно сделать неплохой ревер smile.gif
Pyku_He_oTTyda
Цитата
Ежели стерео и 250 кГц - можно сделать неплохой ревер smile.gif

Ревербератор что ли?
Боюсь производительности не хватит
=GM=
Цитата(GDaniloff @ Mar 13 2007, 07:50) *
Цитата
В МК ATtiny25/45/85 стоит шим плл на 64 МГц. Шим можно получить 250 кГц на два канала, по-моему.

Не знал... Это ж совсем свежие чипы, за такими придется в Москву ехать, и то при условии что они там есть. Вот в прошлом году зашел в питерский "Чип и Дип" - там даже про 13-е не слыхали smile.gif
Ежели стерео и 250 кГц - можно сделать неплохой ревер smile.gif

Для таких дел забудьте о быстрой шим и 64 МГц. Частота может солидно гулять вплоть до 70 МГц, была где-то ссылка, поскольку, на мой взгляд, нестабильность порядка 10% для звука неприемлема. Эта шим предназначена для управления двигателями в системах, как правило, с обратной связью, поэтому процессор сам может подстроить частоту шим, и гуляние частоты не страшно.

Цитата(Pyku_He_oTTyda @ Mar 13 2007, 09:36) *
Цитата
Ежели стерео и 250 кГц - можно сделать неплохой ревер smile.gif

Ревербератор что ли? Боюсь производительности не хватит

Какая задержка нужна? Если поставить два ацп, два цапа, внешнюю память на 64 КБ и считать, что частота выборок 44 кГц, то хватит на 0.7 с (для двух каналов). При частоте 20 кГц хватит уже на 1.5 с.

Вывод: даже при частоте выборок 44 кГц, времени 22 мкс вполне хватит на весь цикл - чтение двух ацп, сохранение во внешней в памяти и выдача в два цап. не хватит памяти, поставить 128 КБ.
Pyku_He_oTTyda
На восьминогом чипе?
=GM=
Цитата(Pyku_He_oTTyda @ Mar 13 2007, 15:07) *
На восьминогом чипе?

Aha, any time now!

Хотя, если подумать, то на стабилизаторе 7805, трёхвыводном(:-).
SasaVitebsk
По моему эту проблему уже не раз поднимали. После ШИМа потребуется такой аналоговый фильтр (чтобы обеспечить приемлемое качество), что число корпусов и внешних элементов будет зашкаливать. Я пробовал получить телефонное качество, и то вконце-концов отказался. Видимая простота решения - обманчива.

Я в конце-концов поставил так называемый кофидек типа MC145xxxx от мотороллы. По моему там есть микрухи и с CD качеством. На одной микросхеме Кодек-фильтр. В две стороны. Получаешь 8-ми битный сигнал. Иными словами для вас - в самый раз. Сигнал принимаешь - обрабатываешь - высылаешь.

Выпускается Интегралом и стоит 1.5$. Те которые CD, - скорее всего дороже, но всё равно будет проще чем городить огород на ШИМе. Телефонные - считается 14 битный АЦП/ЦАП. Те которые CD - 16 бит.
GDaniloff
2SasaVitebsk: Белоруссия делает? Интересно! А что делает фильтр? Он программируемый?

Да,еще: неужели ШИМ такой грязный сигнал дает? Как же тогда устроены дешевые китайские mp3-плееры?..
GDaniloff
Цитата(GDaniloff @ Mar 14 2007, 00:01) *
2SasaVitebsk: Белоруссия делает? Интересно! А что делает фильтр? Он программируемый?

Да,еще: неужели ШИМ такой грязный сигнал дает? Как же тогда устроены дешевые китайские mp3-плееры?..


P.S. покопался в дешевом mp3-плеере: чип с ядром 51-й архитектуры+ dsp. Без мануала не разобраться sad.gif
Dopler
Цитата(GDaniloff @ Mar 19 2007, 00:13) *
P.S. покопался в дешевом mp3-плеере: чип с ядром 51-й архитектуры+ dsp. Без мануала не разобраться sad.gif


Мне кажется, что проще и дешевле, чем VS1001K для mp3 плеера не бывает.
http://www.institute-rt.ru/common/vlsi.shtml
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.