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

 
 
 
Reply to this topicStart new topic
> Сколько можно PWM вшить в одну ATmegа'у, Atmega & GPIO PWM
SFx
сообщение Dec 6 2009, 21:04
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Планирую начать изучение микроконтроллеров, и даже потенциальная задачка придумалась. вопрос примерно такой:
есть некая атмега, к на ее GPIO нужно вывести как можно больше PWM (широтно-импульсная модуляция) каналов.
но вот не задача - есть аппаратные PWM и их только 10 (кажется максимум для всех серий, поправьте ежели не прав).
вопрос собственно в следующем: можно ли программные PWM сделать, и на каких максимальных частотах они будут работать?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 6 2009, 21:17
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



А какие частоты нужны?
Надо отталкиваться от ТЗ.
Какие ещё задачи будет решать MCU?

Программный pwm - это миф. ИМХО.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2009, 21:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SFx @ Dec 7 2009, 00:04) *
вопрос собственно в следующем: можно ли программные PWM сделать

Можно.

Цитата(SFx @ Dec 7 2009, 00:04) *
и на каких максимальных частотах они будут работать?

А это напрямую зависит от количества каналов. На порядки медленнее.

Вообще, лучше скажите сразу, зачем нужна куча ШИМ'ов.

Цитата(demiurg_spb @ Dec 7 2009, 00:17) *
Программный pwm - это миф. ИМХО.

Почему? По-моему, вполне себе имеет право на существование.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 6 2009, 21:26
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(aaarrr @ Dec 7 2009, 00:19) *
Почему? По-моему, вполне себе имеет право на существование.
Джиттер.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2009, 21:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(demiurg_spb @ Dec 7 2009, 00:26) *
Джиттер.

Ну, не везде же он важен - может, это "мигалка светодиодами" будет. Поэтому и надо цели уточнить.
Go to the top of the page
 
+Quote Post
SFx
сообщение Dec 6 2009, 21:37
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата(aaarrr @ Dec 7 2009, 00:19) *
Вообще, лучше скажите сразу, зачем нужна куча ШИМ'ов.

хочу светодиодами моргать с разной яркостью, для начала.

Цитата(demiurg_spb @ Dec 7 2009, 00:17) *
А какие частоты нужны?

частоты - пусть будет 30 раз в секунду меняться уровень яркости.

Цитата(demiurg_spb @ Dec 7 2009, 00:17) *
Какие ещё задачи будет решать MCU?

ну я думаю что-то то вроде бегущей строки, с возможностью управления яркостью точек. наверное еще сдвиговые регистры потребуются, но хочется без них попробовать, может быть на более "выводистых" корпусах.

Цитата(demiurg_spb @ Dec 7 2009, 00:17) *
Программный pwm - это миф. ИМХО.

то есть сразу делать на плис ? wink.gif

Цитата(demiurg_spb @ Dec 7 2009, 00:26) *
Джиттер.

а в каких пределах он может быть, по вашем мнению ?


2all
примерно стало понятно, что если сделать 60 каналов PWM, то mcu скажет "вах как много" и будет сильно тупить.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 6 2009, 21:40
Сообщение #7


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(SFx @ Dec 7 2009, 00:33) *
хочу светодиодами моргать с разной яркостью, для начала.
Тогда считайте сами. Нужен рефреш около 85 Гц.

Цитата(SFx @ Dec 7 2009, 00:33) *
частоты - пусть будет 30 раз в секунду меняться уровень яркости.
то есть сразу делать на плис ? wink.gif
Нет. Можно и на AVR табличку яркостей хранить.
Формулируйте Ваши задачки максимально полно изначально.

Для этой задачи джиттер может быть очень большим - глазу этого не будет видно.

Почитайте ещё про динамическую LED индикацию...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
SFx
сообщение Dec 7 2009, 05:55
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата(demiurg_spb @ Dec 7 2009, 00:40) *
Формулируйте Ваши задачки максимально полно изначально.

эх если бы знать что нужно) я же говорю, цели исследовательские, ну а потом, возможно, двухцветная бегущая строка с возможностью управления яркостью точек. примерно высота 8-16 точек, длина 128-256 точек.
кстати говоря, а скважность влиять на яркость светодиодов будет же наверное? значит ток нужно больше подавать чтобы яркость была достаточной. или по-чаще рефреш делать лучше?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 7 2009, 08:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SFx @ Dec 7 2009, 08:55) *
эх если бы знать что нужно) я же говорю, цели исследовательские, ну а потом, возможно, двухцветная бегущая строка с возможностью управления яркостью точек. примерно высота 8-16 точек, длина 128-256 точек.

Память: 16 * 256 = 4096 байт.
Частота ШИМ: 200Гц (минимально комфортный рефреш) * 8 (будем считать duty cycle = 1/8) * 256 (градации яркости) = 409600.

Вывод: AVR и программный ШИМ тут не пройдут.

Цитата(SFx @ Dec 7 2009, 08:55) *
кстати говоря, а скважность влиять на яркость светодиодов будет же наверное? значит ток нужно больше подавать чтобы яркость была достаточной. или по-чаще рефреш делать лучше?

А каким это образом "рефреш почаще" скажется на яркости?
Go to the top of the page
 
+Quote Post
SFx
сообщение Dec 7 2009, 09:52
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата(aaarrr @ Dec 7 2009, 11:32) *
Вывод: AVR и программный ШИМ тут не пройдут.

Спасибо за пример расчета.
я правильно понимаю что под duty cycle обратно пропорционален числу светодиодов на выходе ШИМ?
Цитата(aaarrr @ Dec 7 2009, 11:32) *
А каким это образом "рефреш почаще" скажется на яркости?

я наверное решил что период рефреша и duty cycle одно и тоже.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Dec 7 2009, 10:57
Сообщение #11


Ambidexter
*****

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



Цитата(SFx @ Dec 6 2009, 21:04) *
можно ли программные PWM сделать, и на каких максимальных частотах они будут работать?

Была такая задачка, долго обсуждалась в пустыне, поищите там, может что осталось. Если вкратце, изначально мой программный алгоритм выдавал 24 восьмибитных шима (256-точечных) на обычной аврке с тактовой 20 МГц, частота всех шимов была 3900 Гц. Максимальный джиттер составлял 1 такт (0.05 мкс). Особенностью было то, что заполнение всех 24 шимов могло независимо изменяться на каждом периоде шим. На максимальной частоте шим проц был занят на 100%.

И ещё вам для ориентира: в процессе дискуссий на сахаре выработался новый алгоритм с потенциальной частотой всех шим порядка 8600 Гц (не опубликовано). И без джиттера вообще. С новым алгоритмом на формирование всех шим уходит не более 30% времени.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
SFx
сообщение Dec 7 2009, 11:37
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата(=GM= @ Dec 7 2009, 13:57) *
Была такая задачка, долго обсуждалась в пустыне, поищите там, может что осталось.

спасибо, вроде что то нашел. буду дуплить)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Dec 7 2009, 12:19
Сообщение #13


Ambidexter
*****

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



На здоровье. Добавлю, что в некоторых пределах можно разменивать частоту шим на количество шим. Скажем, для 32 шим частота шим снизится до 3100 Гц. Существенным ограничением алгоритма является процедура упорядочивания при расчёте новых уставок.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 7 2009, 17:13
Сообщение #14


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(SFx @ Dec 7 2009, 14:37) *
спасибо, вроде что то нашел. буду дуплить)
Киньте ссылку на топик.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 7 2009, 18:42
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(demiurg_spb @ Dec 7 2009, 22:13) *
Киньте ссылку на топик.

Видимо этот http://caxapa.ru/68211.html?todo=full
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 4th August 2025 - 06:36
Рейтинг@Mail.ru


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