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

 
 
> 2 ШИМа на 16 разрядном таймере
Varlamov_E
сообщение Aug 27 2009, 13:56
Сообщение #1





Группа: Участник
Сообщений: 3
Регистрация: 13-08-09
Пользователь №: 51 862



Возможно ли сделать 2 шима на 16 разрядном таймере (T1) на ATmega 16 ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Aug 27 2009, 18:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Но два прерывания всё равно не нужны. Об этом и указали топикстартеру.
Если обрабатывать обновление в голове, то требуется следить за флагом, а так - типичная работа по прерыванию OVF, что и было ему предложено.
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 17 2009, 15:08
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Aug 27 2009, 20:38) *
Но два прерывания всё равно не нужны. Об этом и указали топикстартеру.
Если обрабатывать обновление в голове, то требуется следить за флагом, а так - типичная работа по прерыванию OVF, что и было ему предложено.

Если обрабатывать в OVF, задержим смену на 0 и околонулевые значения всегда у обоих PWM каналов! PWM для "тихих сигналов" будет работать с искажениями.

Если обслуживать каждый OCR индивидуально как делает автор, то проблемы с доп искажениями на "тихих сигналах" практически исчезнут полностью, за счет хардварной буферизации. Но накладных расходов будет больше.

Поэтому категорически заявлять, что два прерывания не нужны - не стоит. Надо подумать что важнее и выбрать между, накладными расходами и искажением слабых сигналов.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 17 2009, 15:37
Сообщение #4


Ambidexter
*****

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



Цитата(defunct @ Nov 17 2009, 15:08) *
Если обрабатывать в OVF, задержим смену на 0 и околонулевые значения всегда у обоих PWM каналов! PWM для "тихих сигналов" будет работать с искажениями

Поясните, что значит "задержим смену на 0", она же аппаратно делается.

Не понял также, почему нельзя в одном прерывании сделать две пересылки?
OCR1A = Next;
OCR1B = Next;


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 17 2009, 18:12
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Nov 17 2009, 17:37) *
Поясните, что значит "задержим смену на 0", она же аппаратно делается.


Код
  OVF                OVF                OVF
---|------------------|------------------|------------------|----
     ^                  ^ ^              ^ new OCR applied here    
  OCR current           | +-- new OCR placed into the HW buf
                        + still old OCR tiggered OC event


Посмотрел на свою же картинку и понял, что никаких проблем не будет. Будет только задержка на один OVF цикл.
А в плане качества так наоборот лучше, т.к. задержка вывода сл. семпла не зависимости от значения в OCR.

Прошу предыдущий пост игнорировать, поспешишь людей насмешишь. sad.gif
Использование TOVF для перезагрузки обоих каналов более безопасно чем перезагрузка по OC event'у, и в тоже время менее накладна для процессора.
Go to the top of the page
 
+Quote Post



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

 


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


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