16-разрядные таймеры-счетчики 1 и 3
16-разрядные таймеры-счетчики предназначены для точного задания временных интервалов, генерации прямоугольных импульсов и измерения временных характеристик импульсных сигналов.
Основные отличительные особенности:
- 16-разрядные счетчики (в т.ч. возможность организации 16-разр. ШИМ)
- Три раздельных блока сравнения
- Двойная буферизация регистров порога сравнения (OCR)
- Один блок захвата
- Подавитель шума на входе блока захвата
- Режим сброса таймера при совпадении с порогом сравнения (автоматическая перезагрузка)
- Широтно-импульсная модуляция без генерации ложных импульсов при записи нового порога сравнения в OCR (двойная буферизация) и фазовая коррекция
- Переменный период ШИМ
- Частотный генератор
- Счетчик внешних событий
- 10 самостоятельных источников прерываний (TOV1, OCF1A, OCF1B, OCF1C, ICF1, TOV3, OCF3A,
OCF3B, OCF3C и ICF3)
Ограничения на режим совместимости с ATmega103
Обратите внимание, что в режиме совместимости с ATmega103 доступен только один 16-разр. таймер-счетчик (таймер-счетчик 1). Кроме того, в режиме совместимости с ATmega103 таймер-счетчик 1 имеет только два регистра порогов сравнения (OCR1A и OCR1B).
Введение
В виду идентичности таймеров 1 и 3 в данном разделе используется общая форма записи. Так индекс “n” заменяет номер таймера-счетчика (1 или 3), а “x” заменяет наименование канала сравнения (A,B или C). Однако при программировании необходимо использовать фактические номера и наименования. Например, для записи нового состояния таймера-счетчика 1 в программе необходимо указывать TCNT1.
Укрупненная функциональная схема 16-разр. таймера-счетчика показана на рисунке 46. Если требуется конкретизировать расположение того или иного вывода см. “Расположение выводов”. Регистры ввода-вывода, а также биты или линии ввода-вывода, к которым организован доступ от ЦПУ, выделены жирной линией. Описание регистров, расположение и назначение бит данных таймеров представлены в параграфе “Описание регистров 16-разр. таймеров-счетчиков”.
Рисунок 46- Функциональная схема 16-разр. таймера-счетчика
Прим.: Расположение и назначение выводов таймеров-счетчиков 1 и 3 см. на рисунке 1, таблице 30 и таблице 39.
Регистры
Регистр таймера-счетчика (TCNTn), регистры порогов сравнения (OCRnA/B/C), a также регистр захвата (ICRn) являются 16-разрядными регистрами. В связи с этим, во время доступа к этим регистрам должна быть соблюдена специальная процедура (см. Доступ к 16-разр. регистрам). Регистры управления таймером (TCCRnA/B/C) являются 8-разр. регистрами, поэтому, доступ к ним со стороны ЦПУ не связан с какими-либо ограничениями. Все сигналы запросов на прерывание представлены в регистре флагов прерываний таймеров (TIFR) и регистре флагов расширенных прерываний (ETIFR). Все прерывания индивидуально маскируются регистром макси прерываний таймеров (TIMSK) и регистром маски расширенных прерываний (ETIMSK). Регистры (E)TIFR и (E)TIMSK не представлены на функциональной схеме, т.к. они совместно используются другими таймерами микроконтроллера.
Таймер-счетчик может тактироваться внутренне через предделитель или внешне тактовым источником, подключенным к выводу Tn. Блок выбора тактового источника позволяет выбрать тактовый источник и фронт, по которому будет изменяться состояние таймера-счетчика. Если тактовый источник не задан, то таймер-счетчик находится в неактивном состоянии. Сигнал на выходе блока выбора тактового источника является тактовым сигналом таймера (clkTn).
Значение регистров порогов сравнения (OCRnA/B/C) непрерывно сравнивается со значением счетчика. Результат сравнения может использоваться для генерации прямоугольных импульсов с ШИМ или с переменной частотой на выходах OCnA/B/C. См. также “Блоки сравнения”. В случае определения совпадения значений сравниваемых регистров устанавливается соответствующий флаг прерываний (OCFnA/B/C), который в свою очередь может служить источником прерывания.
Регистр захвата позволяет запомнить состояние таймера-счетчика при возникновении заданного внешнего события (фронт внешнего сигнала) на входе захвата фронта ICPn или на выводах аналогового компаратора (см. “Аналоговый компаратор”). На входе захвата фронта предусмотрена схема цифровой фильтрации (подавитель шума) для снижения риска срабатывания схемы захвата от помехи. Верхний предел или максимальное значение таймера-счетчика в зависимости от режима работы таймера могут определяться значением в OCRnA, ICRn или иметь фиксированные значения. Если OCRnA задает верхний предел счета в режиме ШИМ, то он не может использоваться для генерации ШИМ-сигналов. Однако верхний предел в этом случае имеет двойную буферизацию, тем самым допуская изменение его значения в произвольный момент времени. Если верхний предел счета является постоянным значением, то альтернативно можно использовать регистр ICRn, освобождая регистр OCRnA для функции широтно-импульсной модуляции.
Определения
Некоторые определения и их сокращенные наименования, которые интенсивно используются в этом разделе, представлены в таблице 57.
Таблица 57 – Определения
НП (нижний предел) |
Счетчик достигает нулевого значения (0х0000) |
МАКС (максимальное значение) |
Счетчик достигает максимального значения 0xFFFF (десятич. 65535) |
ВП (верхний предел) |
Счетчик достигает верхнего предела счета (вершина счета). В качестве вершины счета могут выступать фиксированные значения 0x00FF, 0x01FF, 0x03FF или содержимое регистров OCRnA или ICRn. |
Совместимость
По сравнению с предыдущими версиями 16-разр. таймеров-счетчиков данные таймеры доработаны и улучшены. Совместимость этих таймеров соблюдается по следующим позициям:
- Адреса всех регистров, связанных с 16-разр. таймером-счетчиком, в т.ч. регистры прерываний таймеров.
- Расположение бит внутри всех регистров 16-разр. таймеров, в т.ч. регистры прерываний таймеров
- Векторы прерываний
У следующих управляющих бит изменены наименования, но сохранено назначение и расположение в регистре:
- PWMn0 заменен на WGMn0.
- PWMn1 заменен на WGMn1.
- CTCn заменен на WGMn2.
Ниже приведены регистры, которые были добавлены к 16-разр. таймеру-счетчику:
- Регистр управления таймером-счетчиком С (TCCRnC).
- Регистр С порога сравнения, OCRnCH и OCRnCL (или OCRnC).
Следующие биты добавлены в регистры управления 16-разр. таймером-счетчиком:
- COM1C1, COM1C0 добавлены в TCCR1A.
- FOCnA, FOCnB и FOCnC добавлены в новый регистр TCCRnC.
- WGMn3 добавлен в TCCRnB.
- Добавлены флаг прерываний и биты маски прерываний для канала сравнения С. Некоторые усовершенствования в ряде случаев затрагивают вопрос совместимости.
|