Программный ШИМ на AVR

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Программный ШИМ на AVR

Сообщение BOB51 »

Прямой ввод у MCS51 и PICов (через CY или прямой сброс/установка) 8)
Да и при примитиве:
Без имени 1.doc
(10.5 КБ) 248 скачиваний

я уж не говорю о других вариантах решения в конкретном случае :roll:
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Программный ШИМ на AVR

Сообщение qwerky »

речь вроде про АВР, там нет прямого сдвига в порт. Все равно нужен AND с маской, по тактам не отличается от сравнения.
инкремент счетчика нужен, он один для всех ШИМов, но и в БАМ есть накладные расходы на сдвиг маски и загрузку нового значения регистра таймера.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Программный ШИМ на AVR

Сообщение BOB51 »

А кто запрещает сделать промежуточный буфер для данных, выводимых в порт?
Да и маска одна для всех данных (так же как текущий уровень для ШИМ).
В случае с ШИМ также используется таймер - преимущество возможность автоперезагрузки (или подгонка данных под "переполнение"). Да и счетчик... уровень сравнения инкрементный, а счет уроней декрементный...хотя... там кто к чему привычку имеет :)
Одинаковы по времени исполнения также и фрагменты обработки битов 0 и 1 текущих данных : "игольное ушко" всех программных ШИМ, а вот начиная с бита 2 проявляется преимущество BAM в виде увеличения времени для исполнения основной программы. :beer:
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Программный ШИМ на AVR

Сообщение qwerky »

Одинаковы по времени исполнения также и фрагменты обработки битов 0 и 1 текущих данных : "игольное ушко" всех программных ШИМ, а вот начиная с бита 2 проявляется преимущество BAM
это да, факт - общая нагрузка на контроллер ниже. Но и в БАМ такое же игольно ушко - минимальный период младшего бита, куда нужно втиснуть обновление всех выходов.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Программный ШИМ на AVR

Сообщение vitalik_1984 »

если говорить про игольное ушко, то подумайте о там, что в цикле BAM оно одно, а цикле шим 255
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Программный ШИМ на AVR

Сообщение BOB51 »

Вот потому в большинстве BAMовских программ отработку первых двух бит (уровень 1,2 и 3) в большинстве случаев "пропускают". 8)
Хотя ежли честно, то для аврки можно спокойненько даже 8 каналов с перебором по одному (ШИМ256 с мультиплексом х8) при частоте обновления порядка 62Гц без особого напряга втиснуть... :sleep:
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Программный ШИМ на AVR

Сообщение vitalik_1984 »

Это 8 а не 200 хотя там вроде не было написано какая частота работы.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Программный ШИМ на AVR

Сообщение BOB51 »

Если не увлекаться экономией энергии (мультипликация нужна для работы только одного из всей линейки светиков в каждый момент времени) то даже на AT89C51 с кварцем 12МГц нормально работают 24 канала программного ШИМ (разрешающая 256 градаций) :tea:
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Программный ШИМ на AVR

Сообщение qwerky »

токо зачем для св.диодов 256 градаций ? по-моему 32 или 64 - более чем...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Программный ШИМ на AVR

Сообщение BOB51 »

Не совсем так...
Градаций желательно побольше (оптимум 128), но зависимость нелинейна - предпочтительна предварительная табличная перекодировка данных (это объективно относительно светиков)... хотя и 256 сгодится - если программа скушается при этих условиях, то и на более "мягких" с меньшим количеством градаций работать будет. :beer:
Ответить

Вернуться в «AVR»