Генерация ШИМ сигнала в режиме PWM с двунаправленным счетом 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Генерация ШИМ сигнала в режиме PWM с двунаправленным счетом



В режиме PWM с двунаправленным счетом период (T) задается через регистр PER, а регистры CCx управляют заполнением импульсов на выходе WG. На рисунке 14.14 показано, что в режиме PWM с двунаправленным счетом счетчик вначале следует от значения BOTTOM к TOP, а затем от TOP к BOTTOM и т.д. по циклу. Выход генератора импульсов переходит в высокое состояние при достижении значения BOTTOM или при совпадении на фазе обратного счета, и в низкое состояние при совпадении на фазе прямого счета.


Рисунок 14.14. Генерация импульсов в режиме PWM с двунаправленным счетом

Работа в режиме PWM с двунаправленным счетом приводит к снижению рабочей частоты по сравнению с режимом PWM с однонаправленным счетом.

Разрешающая способность ШИМ зависит от регистра периода (PER). Минимальная разрешающая способность - 2 бита (PER=0x0003), а максимальная - 16 бит (PER=MAX).

Вычислить разрешающую способность в режиме PWM с двунаправленным счетом (RPWM_DS) можно с помощью следующего выражения:

RPWM_DS = log(PER+1)/log(2)

Частота ШИМ зависит от настройки периода (PER) и частоты синхронизации УВВ (fPER), и может быть рассчитана по выражению:

fPWM_DS = fPER/2·N·PER,

где N - используемая настройка предделителя (1, 2, 4, 8, 64, 256, 1024 или канал события n).

Вывод сигналов генератора импульсов на линии порта

Чтобы сигналы генератора импульсов появились на линии порта ввода-вывода, их необходимо настроить, как выходы. Альтернативная функция линии порта ввода-вывода активизируется сразу после разрешения работы канала захвата-сравнения (CCENx) и выбора режима генерации импульсов.

На рисунке 14.15 демонстрируется перекрытие линий портов сигналами таймеров-счетчиков 0 и 1. У таймера-счетчика 0, каналы захвата-сравнения A…D своими выходными сигналами (OUTxn) перекрывают линии 0…3 соответствующего порта (Pxn). В свою очередь, у таймера-счетчика 1 каналы захвата-сравнения A и B своими выходными сигналами перекрывают линии 4 и 5. Если на линии порта активизировать функцию инвертирования (INVENxn), то это приведет к инвертированию выхода WG.


Рисунок 14.15. Перекрытие линий портов сигналами таймеров-счетчиков 0 и 1

Прерывания и события

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

События генерируются для тех же условий, которые генерируют прерывания. Подробности по генерации событий доступным событиям см. в разделе 6 "Система событий".

Поддержка DMA

Для запуска DMA-транзакций можно использовать флаги прерываний. В таблице 14.2 показан перечень источников запуска передачи в таймере-счетчике и действие DMA-контроллера, которое прекращает транзакцию. Более детально о использовании DMA см. в разделе 5 "Контроллер прямого доступа к памяти (DMA-контроллер)".

Таблица 14.2. Источники запроса DMA

Запрос Подтверждение Прим.
OV/UNFIF DMA-контроллер записывает в CNT DMA-контроллер записывает в PER DMA-контроллер записывает в PERBUF  
ERRIF нет  
CCxIF DMA-контроллер выполняет доступ к CCx DMA-контроллер выполняет доступ к CCxBUF Режим захвата Режим сравнения

Команды таймера-счетчика

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

Команда обновления оказывает такой же эффект, как возникновение условия обновления. Команда обновления игнорируется, если установлен бит блокировки обновления.

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

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

Описание регистров



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 306; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.189.177 (0.006 с.)