реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Поговорим об аппаратном ШИМе (aka PWM), tiny13, от теории к практике
GDaniloff
сообщение Mar 10 2007, 19:09
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



Пытаюсь разобраться с PWM. Проштудировал 6 главу книжки Баранова "Применение микроконтроллеров AVR" (Москва, "Додэка-XXI",2004) и датащит к tiny13. Мало что понял smile.gif
Прежде всего хочу спросить: чем отличаются режимы "fast pwm" и "Phase Correct PWM"?
Go to the top of the page
 
+Quote Post
GDaniloff
сообщение Mar 10 2007, 20:54
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



Вот, не поленился засунуть датащит в Промпт...
Код
Быстрая широтно-импульсная модуляция или режим 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. На следующем такте таймера счетчик обнуляется.

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

Сообщение отредактировал GDaniloff - Mar 10 2007, 20:55
Go to the top of the page
 
+Quote Post
Dopler
сообщение Mar 10 2007, 22:46
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(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
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Mar 10 2007, 23:01
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



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


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
GDaniloff
сообщение Mar 10 2007, 23:10
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



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


При максимальной частоте проца 9,6 МГц выходит максимум 37,5 кГц. А сколько, интересно, нужно для формирования аналогового сигнала на 20 кГц?
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Mar 10 2007, 23:18
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Хватит наверное, по идее 40 надо.
С другой стороны зачем 20кгц, ихмо ничего хорошего не выйдет


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
cupertino
сообщение Mar 11 2007, 01:25
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Цитата(GDaniloff @ Mar 10 2007, 23:10) *
Цитата(Pyku_He_oTTyda @ Mar 10 2007, 23:01) *

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


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


Минимально 40 кГц по Найквисту (Котельникову). Реально значительно больше, всегда ищется компромис между частотой, качеством выходного сигнала и качеством (крутизной среза) НЧ фильтра.
Go to the top of the page
 
+Quote Post
CDT
сообщение Mar 12 2007, 13:26
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044



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

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


--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
Go to the top of the page
 
+Quote Post
GDaniloff
сообщение Mar 12 2007, 23:02
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



Пока что интерес теоретический. Как сварганить источник звука(плеер) - фиг с ним, пусть хоть монофонический, но с качеством на уровне современной бытовой аппарауры?

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

Сообщение отредактировал GDaniloff - Mar 12 2007, 23:06
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 13 2007, 00:40
Сообщение #10


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(GDaniloff @ Mar 12 2007, 20:02) *
Пока что интерес теоретический. Как сварганить источник звука(плеер) - фиг с ним, пусть хоть монофонический, но с качеством на уровне современной бытовой аппарауры?

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

Кое-что есть и получше. В МК ATtiny25/45/85 стоит шим плл на 64 МГц. Шим можно получить 250 кГц на два канала, по-моему.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Mar 13 2007, 09:28
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



в 26 точно можно два (ПЛЛ 64 Мгц) тоже есть, так же два инверсных вывода


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
GDaniloff
сообщение Mar 13 2007, 10:50
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



Цитата
В МК ATtiny25/45/85 стоит шим плл на 64 МГц. Шим можно получить 250 кГц на два канала, по-моему.


Не знал... Это ж совсем свежие чипы, за такими придется в Москву ехать, и то при условии что они там есть. Вот в прошлом году зашел в питерский "Чип и Дип" - там даже про 13-е не слыхали smile.gif
Ежели стерео и 250 кГц - можно сделать неплохой ревер smile.gif
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Mar 13 2007, 12:36
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Цитата
Ежели стерео и 250 кГц - можно сделать неплохой ревер smile.gif

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


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 13 2007, 16:35
Сообщение #14


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(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 КБ.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Mar 13 2007, 18:07
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



На восьминогом чипе?


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th July 2025 - 23:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.0317 секунд с 7
ELECTRONIX ©2004-2016