
- •Содержание
- •Глава 9 блок таймеров
- •9.1 Краткий обзор
- •9.1.1 Сигналы и регистры tcu
- •9.2 Функционирование tcu
- •9.2.1 Режим 0 – Прерывание по отсчету уставки
- •Р исунок 9-4. Режим 0 - Запись новой уставки
- •9.2.2 Режим 1 - Аппаратно возобновляемый отсчет интервала.
- •9.2.3 Режим 2 - Генератор базового такта
- •9.2.4 Режим 3 – Прямоугольный имульс.
- •9.2.5 Режим 4 – Программная инициализация cтроба
- •9.2.6 Режим 5 - Аппаратная инициализация строба
- •9.3 Программирование
- •9.3.1 Конфигурирование входных и выходных сигналов
- •9.3.2 Инициализация таймеров
- •9.3.3. Запись в таймеры
- •9.3.4 Чтение таймера
- •9.3.4.1. Простое чтение
- •9.3.4.2. Команда защелки счетчика
- •9.3.4.3. Команда обратного чтения.
- •9.3.5 Предупреждения при программировании
9.2 Функционирование tcu
Каждый таймер может функционировать в любом из шести режимов. Во всех режимах декремент счетчика таймера производится по переднему фронту тактового импульса. В режимах 0, 1, 4, и 5, таймеры перенастраиваются на максимальную уставку, FFFFH для двоичного кода или 9999 для двоично-десятичного кода, и продолжают производить декрементный счет. Режимы 2 и 3 - периодические режимы. В этих режимах, когда счетчик достигает нуля, он перезагружается текущим программно заданным значением уставки.
Чтобы задать режим функционирования таймера, произведите запись в регистр TMRCON в формате управляющего слова. Запись в этот регистр инициализирует счет. Чтобы задать уставку, произведите запись в регистр TMRn в формате записи таймера. В режимах 0 и 4, уставка загружается по заднему фронту CLKINn. Режимы 1 и 5 требуют переднего фронта сигнала GATEn таймера (или защелки) чтобы загрузить уставку. В режимах 2 и 3, уставка загружается, когда счетчик достигает нуля, или когда таймер получает сигнал защелки, независимо от того, что было первым.
Сигнал GATEn воздействует на функционирование таймера для каждого режима по-разному (Таблица 9-3). Для режимов 0, 2, 3, и 4, таймер чувствителен к уровню GATEn. В этих режимах, чтобы начать работу таймера, GATEn должен быть высоким. В течение последующего счета, низкий уровень на GATEn приостанавливает счет, в то время как высокий уровень на GATEn возобновляет счет. Для режимов 1, 2, 3 и 5, таймер чувствителен к фронту GATEn. В этих режимах сигнал защелки вызывает загрузку в таймер нового значения уставки. Для операций, чувствительных к уровню, GATEn всегда опрашивается по переднему фронту CLKINn, а действие происходит по следующему заднему фронту CLKINn. Передний фронт GATEn, который проходит между двумя передними фронтами CLKINn, распознается как защелка.
Таблица 9-3. Операции, связанные с GATEn
Режимы функционирования |
Защелка |
Низкий уровень GATEn |
Высокий уровень GATEn |
0 и 4 |
- |
Блокирует или приостанавливает счет |
Разблокирует или возобновляет счет |
1 и 5 |
Загружает уставку |
- |
- |
2 и 3 |
Загружает уставку |
Блокирует или приостанавливает счет |
Разблокирует или возобновляет счет |
ПРИМЕЧАНИЕ: Защелка - передний фронт GATEn, который проходит между двумя передними фронтами CLKINn. Действие, вызванное защелкой, происходит по заднему фронту CLKINn после защелки.
Последующие разделы описывают конкретные режимы функционирования.
9.2.1 Режим 0 – Прерывание по отсчету уставки
Этот режим позволяет Вам генерировать передний фронт сигнала OUTn таймера. При инициализации таймера в 0-м режиме сбрасывается сигнал OUTn таймера, и инициализируется счет. OUTn устанавливается, когда счетчик достигает нуля (или окончания уставки). С этого момента счетчик перезаполняется и продолжает счет с высоким уровнем OUTn. Уровень OUTn остается высоким и таймер продолжает декрементный счет и перезаполнение до тех пор, пока не будет записана новая уставка, или Вы не перепрограммируете таймер. Чтобы сбросить OUTn и запустить счет заново, Вы можете в любое время записать новую уставку на таймер. Запись нового управляющего слова перепрограммирует таймер.
Основные операции 0-го режима в общих чертах представлены ниже и проиллюстрированы Рисунком 9-2.
1. Сброс OUTn после записи управляющего слова.
2. Загрузка уставки по следующему после записи уставки импульсу CLKINn.
3. Декремент счетчика на каждом последующем импульсе CLKINn.
4
.
Установка OUTn, когда счетчик достигает
нуля,
При записи уставки N передний фронт OUTn возникает на N + 1 импульсе CLKINn (при условии, что GATEn остается высоким).
Рисунок 9-2. Режим 0 - Основные операции
Р
исунок
9-3 иллюстрирует блокировку процесса
счета. Низкий уровень GATEn приводит
к блокировке таймера (состояние OUTn и
счетчик остаются неизменными). Высокий
уровень GATEn возобновляет счет.
Рисунок 9-3. Режим 0 – Блокировка счета
Рисунок 9-4 иллюстрирует запись новой уставки прежде, чем счетчик достигнет нуля. Таймер загружает новую уставку на импульсе CLKINn после того, как Вы ее запишете, после чего это новое значение счетчика уменьшается на единицу на каждом следующем импульсе CLKINn. OUTn остается низким до тех пор, пока счетчик не достигнет нуля.