Таймерная секция ТС1: особенности, режимы работы, примеры применения.



Модуль 16-разрядного таймера/счетчика позволяет с высокой точностью формировать временные интервалы (режим реального времени), генерацию периодических сигналов, импульсы заданной длительности. Он имеет следующие особенности:

- полная 16-разрядная структура (т.е. поддерживает 16-разрядный ШИМ)

- два независимых модуля совпадения

- двойная буферизация регистров совпадения

- модуль захвата

- схема фильтрации помех в режиме захвата

- режим сброса при совпадении (автоперезагрузка)

- помехозащищенный, фазонезависимый широтноимпульсный модулятор (ШИМ)

- изменяемый период ШИМ

- генератор сигналов

- счетчик внешних событий

- четыре независимых источника прерываний (TOV1, OCF1A, OCF1B, ICF1)

 

 

Режим работы т/с и выходов совпадения определяется установками

битов WGM13:0 – определяют на работу таймера/счетчика

и битами COM1x1:0 – в ШИМ режимах определяют, будет ли сигнал на выходе инвертирован или неинвертирован (в не ШИМ определяют, будет ли сигнал на выходе установлен, очищен или будет переключаться в момент совпадения)

 

Режим Normal (WGM13:0 = 0).

В этом режиме таймер работает как обычный суммирующий счетчик. При достижении максимального 16-ричного значения (max = 0xFFFF) счетчик переполняется и начинает работать сначала, т.е. со своего минимально значения (0х0000).

В нормальном режиме работы в том же цикле тактового сигнала, в котором произошло переполнение, устанавливается флаг переполнения т/с (TOV1). Флаг TOV1 в этом случае ведет себя как 17-ый бит счетчика, но с тем лишь отличием, что он только устанавливается, но не сбрасывается. Одновременно с перезапуском таймера возникает запрос на прерывание, которое автоматически очищает флаг TOV1. В режиме Normal новое значение счетного регистра может быть записано в любой момент времени.

 

Режим сброса при совпадении (СТС) (WGM13:0 = 4 или 12, требуются регистры OCR1A или ICR1)

При работе в режиме СТС счетчик сбрасывается в ноль, если значение его счетного регистра (TCNT1) соответствует значению регистра OCR1A (при WGM13:0 = 4) или регистра ICR1 (при WGM13:0 = 12). Эти регистры определяют максимальное значение для счетчика и коэффициент пересчета. Режим СТС позволяет осуществлять непосредственное управление частотой сигнала. Прерывание может вызываться по достижению счетчиком значения TOP. Если прерывание разрешено, процедура обработки прерывания может использоваться для обновления значения TOP.

 

Еще три режима рассмотрены более подробно ниже:

 

 

Работа таймерной секции в режиме ШИМ. Принцип работы, применение для решения задач генерации сигналов.

 

Режим Fast PWM (WGM13:0 = 5,6,7,14,15).

Позволяет формировать сигнал с широтно-импульсной модуляцией и относительно высокой частотой. Быстрый ШИМ вырабатывает сигнал в виде пилы с одним наклоном. Счет происходит всегда в одном направлении: от минимального значения до максимального. После этого счетчик сбрасывается в BOTTOM. В неинвертирующем режиме сигнал на выходе (OC1x) устанавливается в единицу в момент вопадения содержимого регистров TCNT1 и OCR1x и сбрасывается в ноль при достижении значения TOP. В инвертирующем режиме сигнал на выходе сбрасывается в момент совпадения и устанавливается при достижении TOP. Т.к. пилообразный сигнал на выходе счетчика имеет один наклон, частота выходного сигнала ШИМ вдвое выше, чем в остальных режимах ШИМ. Коэффициенты пересчета таймера можно установить либо в одно из фиксированных значений (8,9 или 10 разрядов), либо определять его при помощи регистра ICR1 или OCR1A.

 

       Режим phase correct PWM (WGM13:0 = 1,2,3,10,11)

В этом режиме счетный регистр работает как реверсивный счетчик и вырабатывает пилообразный сигнал с двухсторонним наклоном. Направление счета периодически меняется. Сначала содержимое счетчика увеличивается от BOTTOM до TOP, а затем уменьшается от TOP до BOTTOM. В неинвертирующем режиме сигнал на выходе совпадения (OC1x) сбрасывается в момент совпадения TCNT1 и OCR1x, если счетчик работает на уменьшение, и устанавливается в момент совпадения в том случае, когда счетчик работает на увеличение. В инвертирующем режиме все происходит наоборот. У этого режима максимальная частота выходного сигнала в два раза ниже, чем в режиме с одним наклоном.

 

Режим phase and frequency correct PWM (WGM13:0 = 8,9)

Основан на пиообразном сигнале с двухсторонним наклоном. Счетчик периодически меняет направление и считает сначала от BOTTOM до TOP, а затем от TOP до BOTTOM. В неинвертирующем режиме сигнал на выходе совпадения (OC1x) сбрасывается в момент совпадения TCNT1 и OCR1x, если счет происходит в прямом направлении, и устанавливается в единицу в момент совпадения регистров в том случае, если счетчик считает в обратном направлении. В инвертирующем режиме сигналы на выходе имеют противоположные значения. Основное различие м/ду режимом с корректной фазой и режимом с корректной фазой и частотой – это момент времени, когда происходит обновление регистра OCR1x из буфера. В данном режиме обновление буфера происходит тогда, когда значение счетчика достигнет BOTTOM.

 


Дата добавления: 2018-06-01; просмотров: 339; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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