Блок счетчика
Основным элементом 16-разр. таймера-счетчика является программируемый реверсивный 16-разрядный счетчик. На рисунке 47 представлена функциональная схема счетчика и окружающих его элементов.
Рисунок 47 – Функциональная схема счетчика
Описание внутренних сигналов:
Счет – Инкрементирует или декрементирует состояние TCNTn на 1.
Направление – Задает прямой счет (инкрементирование) или обратный счет (декрементирование).
Сброс – Сброс TCNTn (установка всех разрядов к лог. 0).
clkTn – Синхронизация таймера-счетчика.
Верхний предел – Сигнализирует о достижении TCNTn максимального значения.
Нижний предел – Сигнализирует о достижении TCNTn минимального значения (нуля).
Содержимое 16-разр. счетчика разбито на две 8-разр. ячейки, расположенных в памяти ввода-вывода: Старший байт счетчика (TCNTnH) , в котором хранятся старшие 8-разрядов счетчика, и младший байт счетчика (TCNTnL), в котором хранятся младшие 8-разрядов. ЦПУ не имеет непосредственного доступа к регистру TCNTnH. Если ЦПУ выполняет доступ к TCNTnH, то фактически обращение происходит к временному регистру. Во временный регистр копируется значение TCNTnH, если выполняется чтение регистра TCNTnL и в TCNTnH копируется содержимое временного регистра, если выполняется запись в TCNTnL. Такой механизм реализован для считывания/записи 16-разр. значения счетчика за один такт ЦПУ в условиях 8-разр. шины данных. Следует обратить внимание, что в некоторых случаях запись в регистр TCNTn во время счета счетчиком будет давать непредсказуемый результат. Такие случаи описаны в последующих параграфах.
В зависимости от используемого режима работы каждый такт синхронизации таймера clkTn счетчик будет сбрасываться, инкрементироваться или декрементироваться. Сигнал clkTn может быть внешним или внутренним, что задается битами выбора синхронизации (CSn2:0). Если тактовый источник не задан (CSn2:0 = 0), то таймер останавливается. Однако содержимое TCNTn остается доступным ЦПУ независимо от наличия синхронизации на clkTn. Если ЦПУ выполняет запись в TCNTn, то тем самым блокируется (запись имеет более высокий приоритет) любое действие счетчика: сброс или счет.
Алгоритм счета определяется значением бит режима работы таймера (WGMn3:0), расположенных в регистрах А и В управления таймером-счетчиком (TCCRnA и TCCRnB). Имеется четкая связь между алгоритмом счета счетчика и формой генерируемого на выходе OCnx сигнала. Боле подробная информация об этом приведена в “Режимы работы 16-разр. таймеров-счетчиков”.
Установка флага переполнения таймера-счетчика (TOVn) происходит в зависимости выбранного с помощью бит WGMn3:0 режима работы. Флаг TOVn может использоваться для генерации прерывания ЦПУ.
<< Предыдущая страница | Оглавление | Следующая страница >> |