Режимы работы таймера Т1

 

Под режимом работы 16-разрядного таймера понимается его алгоритм счета и поведение связанного с ним выхода формирователя импульсов, что определяется комбинацией бит, задающих режим работы таймера (табл. 5.7) и режим формирования выходного сигнала (табл. 5.9). В режимах с ШИМ биты COM1A (и точно также COM1В) позволяют включить/отключить инверсию на генерируемом ШИМ-выходе (т.е. выбрать ШИМ с инверсией или ШИМ без инверсии). Для режимов без ШИМ эти биты определяют, какое действие необходимо выполнить при возникновении совпадения: сбросить, установить или инвертировать выход.

Таблица 5.7 – Выбор режима работы таймера/счетчика Т1

 

Режим WGM13 WGM12 WGM11 WGM10 Режимы модуляции Модуль счета
Нормальный 0xFFFF
ШИМ ФК 8-bit 0x00FF
ШИМ ФК 9-bit 0x01FF
ШИМ ФК 10-bit 0x03FF
СТС OCR1A
Быстрая ШИМ 8-bit 0x00FF
Быстрая ШИМ 9-bit 0x01FF
Быстрая ШИМ 10-bit 0x03FF
ШИМ ФЧК ICR1A
ШИМ ФЧК OCR1A
ШИМ ФК ICR1A
ШИМ ФК OCR1A
СТС ICR1A
Зарезервировано
Быстрая ШИМ ICR1A
Быстрая ШИМ OCR1A

 

Таймер-счетчик Т1 может использовать как внешний, так и внутренний тактовые сигналы (табл. 5.8).

 

Таблица 5.8 – Выбор источника тактового сигнала таймера/счетчика Т1

 

CS12 CS11 CS10 Источник тактового сигнала
Stop условие – таймер/счетчик остановлен
CK
CK / 8
CK / 64
CK / 256
CK / 1024
Внешний тактирующий сигнал на выводе T1, спадающий фронт
Внешний тактирующий сигнал на выводе T1, нарастающий фронт

 

Таблица 5.9 – Режимы работы выходного сравнения А

 

COM1А1 COM1А0     Описание
Нормальный режим работы
Таймер/счетчик отключен от вывода ОС1А
Переключение выходной линии OC1А
Вывод сбрасывается в 0
Вывод устанавливается в 1
Режим быстрой ШИМ
Таймер/счетчик отключен от вывода ОС1А
В режиме 15 переключение выходной линии OC1А, иначе таймер/счетчик отключен от вывода OC1А
Очистка выходной линии OC1А при совпадении, установка при достижении верхнего предела
Установка выходной линии OC1А при совпадении, сброс при достижении верхнего предела
ШИМ ФК и ШИМ ФЧК
Таймер/счетчик отключен от вывода ОС1А
В режимах 9 или 11 переключение выходной линии OC1А, иначе таймер/счетчик отключен от вывода OC1А
Очистка выходной линии OC1А при совпадении во время счёта вверх, установка при совпадении во время счёта вниз
Установка выходной линии OC1А при совпадении во время счёта вверх, очистка при совпадении во время счёта вниз

 

Нормальный режим работы (Normal)

 

Самым простым режимом работы является нормальный режим. В данном режиме счетчик работает как обычный суммирующий счетчик. Переполнение счетчика происходит при переходе через максимальное 16-разрядное значение (0xFFFF) к нижнему пределу счета (0x0000). В нормальном режиме работы флаг переполнения таймера-счетчика TOV1 будет установлен на том же такте синхронизации, когда TCNT1 примет нулевое значение. В нормальном режиме можно использовать блок захвата. Блок сравнения может использоваться для генерации прерываний.

 

Режим сброса таймера при совпадении (СТС)

 

В режиме сброса таймера при совпадении разрешающая способность таймера задается регистрами OCR1A или ICR1. В режиме СТС происходит сброс счетчика (TCNT1), если его значение совпадает со значением регистра OCR1A (режим 4) или с ICR1 (режим 12). В данном режиме обеспечивается более широкий диапазон регулировки частоты генерируемых прямоугольных импульсов. Он также упрощает работу счетчика внешних событий. Временная диаграмма работы таймера в режиме СТС показана на рисунке 5.2. Счетчик (TCNT1) инкрементирует свое состояние до тех пор, пока не возникнет совпадение со значением OCR1A или ICR1, а затем счетчик сбрасывается.

 

 

Рис. 5.2 – Временная диаграмма для режима СТС

 

Для генерации сигнала в режиме CTC выход OC1A может использоваться для изменения логического уровня при каждом совпадении, для чего необходимо задать режим переключения (COM1A1, COM1A0 = 0b01). Значение OC1A будет присутствовать на выводе порта, только если он настроен на выход. Частоту генерируемого сигнала можно определить по формуле , где переменная N задает коэффициент деления предделителя (1, 8, 32, 64, 128, 256 или 1024).

 

Режим быстрой ШИМ (Fast PWM)

 

Режим быстрой широтно-импульсной модуляции (ШИМ) предназначен для генерации ШИМ-импульсов повышенной частоты. В отличие от других режимов работы в этом используется однонаправленная работа счетчика. Счет выполняется в направлении от нижнего к верхнему пределу счета.

Если задан неинвертирующий режим выхода, то при совпадении TCNT1 и OCR1А сигнал OC1А устанавливается, а на верхнем пределе счета сбрасывается. Если задан инвертирующий режим, то выход OC1А сбрасывается при совпадении и устанавливается на верхнем пределе счета. За счет однонаправленности счета рабочая частота для данного режима в два раза выше по сравнению с режимом ШИМ с фазовой коррекцией, где используется двунаправленный счет. Возможность генерации высокочастотных ШИМ сигналов делает использование данного режима полезным в задачах стабилизации питания, выпрямления и цифро-аналогового преобразования. Высокая частота, при этом, позволяет использовать внешние элементы физически малых размеров (индуктивности, конденсаторы), тем самым снижая общую стоимость системы.

Разрешающая способность ШИМ может быть фиксированной 8, 9 или 10 разрядов или задаваться регистром ICR1 или OCR1A, но не менее 2 разрядов (ICR1 или OCR1A = 0x0003) и не более 16 разрядов (ICR1 или OCR1A = 0xFFFF).

Рис. 5.3 – Временная диаграмма для режима быстрой ШИМ

Временная диаграмма для режима быстрой ШИМ представлена на рис. 5.3. На рисунке показан режим, когда для задания верхнего предела используется регистр OCR1A или ICR1. Значение TCNT1 на временной диаграмме показано в виде графика функции для иллюстрации однонаправленности счета. На диаграмме показаны как инвертированный, так и неинвертированный ШИМ-выходы. Короткой горизонтальной линией показаны точки на графике TCNT1, где совпадают значения OCR1А и TCNT1. Флаг прерывания устанавливается при совпадении. Флаг переполнения таймера-счетчика (TOV1) устанавливается всякий раз, когда счетчик достигает верхнего предела.

Рекомендуется использовать регистр ICR1 для задания верхнего предела, если верхний предел счета является константой. В этом случае также освобождается регистр OCR1A для генерации ШИМ-сигнала на выходе OC1A. Однако если частота ШИМ динамически изменяется (за счет изменения верхнего предела), то в этом случае выгоднее использовать регистр OCR1A для задания верхнего предела, т.к. он поддерживает двойную буферизацию.

 

Режим ШИМ с фазовой коррекцией

(Phase Correct PWM)

 

Режим широтно-импульсной модуляции с фазовой коррекцией (ШИМ ФК) предназначен для генерации ШИМ-сигнала с фазовой коррекцией и высокой разрешающей способностью. Режим ШИМ ФК основан на двунаправленной работе таймера-счетчика. Счетчик циклически выполняет счет в направлении от нижнего предела (0x0000) до верхнего предела, а затем обратно от верхнего предела к нижнему пределу. При двунаправленной работе максимальная частота ШИМ-сигнала меньше, чем при однонаправленной работе, однако, за счет такой особенности, как симметричность в режимах ШИМ с двунаправленной работой, данные режимы предпочитают использовать при решении задач управления приводами.

Разрешающая способность ШИМ в данном режиме может быть либо фиксированной (8, 9 или 10 разрядов), либо задаваться с помощью регистра ICR1 или OCR1A. Минимальная разрешающая способность равна 2-м разрядам (ICR1 или OCR1A = 0x0003), а максимальная — 16-ти разрядам (ICR1 или OCR1A =0xFFFF). Временная диаграмма для режима ШИМ ФК представлена на рис. 5.4. На рисунке показан режим ШИМ ФК с использованием регистра OCR1A или ICR1 для задания верхнего предела. Состояние TCNT1 представлено в виде графика функции для иллюстрации двунаправленности счета. На рисунке представлены как неинвертированный, так и инвертированный ШИМ-выход. Короткие горизонтальные линии указывают точки на графике изменения TCNTn, где возникает совпадение со значением OCRnx. Флаг прерывания устанавливается при возникновении совпадения.

 

Рис. 5.4 – Временная диаграмма для режима ШИМ ФК

 

Флаг переполнения таймера-счетчика (TOVn) устанавливается всякий раз, когда счетчик достигает нижнего предела. Если для задания верхнего предела используется регистр OCRnA или ICRn, то, соответственно устанавливается флаг OCnA или ICFn тем же тактовым импульсом, на котором произошло обновление регистра OCRnx из буферного регистра (на вершине счета). Флаги прерывания могут использоваться для генерации прерывания по достижении счетчиком нижнего или верхнего предела.

Если стоит задача изменения верхнего предела при работающем счетчике, то вместо этого режима рекомендуется использовать режим ШИМ ФЧК (фазовая и частотная коррекция). Если используется статическое значение верхнего предела, то между данными режимами практически нет отличий.

 

Режим ШИМ с фазовой и частотной коррекцией

 

Основное отличие между режимами ШИМ ФК и ШИМ ФЧК состоит в моменте обновления регистра сравнения OCR1А из буферного регистра. Разрешающая способность ШИМ в этом режиме может задаваться с помощью регистра ICR1 или OCR1A. Временная диаграмма для режима ШИМ ФЧК показана на рис. 5.5.

 

 

Рис. 5.5 – Временная диаграмма режима ШИМ с фазовой

и частотной коррекцией

 

На рисунке 5.5 показано, что в отличие от режима ШИМ ФК, генерируемый выходной сигнал симметричен на всех периодах. Поскольку, регистры OCR1А обновляются на нижнем пределе счета, то длительности прямого и обратного счетов всегда равны. В результате выходные импульсы имеют симметричную форму, а, следовательно, и откорректированную частоту.

 

 








Дата добавления: 2016-01-09; просмотров: 2073;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.017 сек.