33. Таймер-счетчик (ТС)
33.1 Обзор
Таймер-счетчик (ТС) микроконтроллеров AT91SAM7S256/128/64/321 содержит три идентичных канала 16-разрядного таймера-счетчика (у AT91SAM7S32 содержится два таких канала).
Каждый канал может раздельно программироваться для выполнения широкого диапазона функций, в т.ч. измерение частоты, счет событий, измерение интервалов, генерация импульсов, формирование временных задержек и широтно-импульсная модуляция.
Каждый канал AT91SAM7S256/128/64/321 имеет три входа внешней синхронизации (один у AT91SAM7S32), пять входов внутренней синхронизации и два сигнала ввода-вывода общего назначения, которые могут конфигурироваться пользователем. Каждый канал формирует внутренний сигнал прерывания, который может быть запрограммирован на генерацию процессорных прерываний.
Блок таймера-счетчика содержит два глобальных регистра, которые связаны со всеми тремя (или двумя) каналами ТС.
Регистр управления блоком позволяет с помощью одной инструкции стартовать работу трех (или двух) каналов.
Регистр режима блока позволяет задать, какой из внешних входов синхронизации будет связан с каждым каналом.
33.2 Структурная схема
Рисунок 33.1. Структурная схема таймера-счетчика1
Прим.:
- TIOA2 и TIOAB2 не относятся к AT91SAM7S32.
Таблица 33.1 - Описание сигналов
Блок/канал |
Наименование сигналов |
Описание |
Сигнал канала |
XC0, XC1, XC2 |
Входы внешней синхронизации |
TIOA |
Режим захвата: вход таймера-счетчика Режим генератора: выход таймера-счетчика |
TIOB |
Режим захвата: вход таймера-счетчика Режим генератора: вход/выход таймера-счетчика |
INT |
Выход сигнала прерывания |
SYNC |
Входной сигнал синхронизации |
33.3 Перечень выводов таймера-счетчика
Таблица 33.2. Перечень выводов таймера-счетчика
Наименование вывода |
Описание |
Тип |
TCLK0-TCLK2 |
Вход внешней синхронизации |
Ввод |
TIOA0-TIOA21 |
Линия А ввода-вывода |
Ввод/вывод |
TIOB0-TIOB21 |
Линия В ввода-вывода |
Ввод/вывод |
Прим.:
- TIOA2 и TIOAB2 не относятся к AT91SAM7S32.
33.4 Различия в реализации таймера-счетчика в семействе AT91SAM7S
33.4.1 Линии ввода-вывода
Выводы, используемые для подключения совместимых внешних устройств, могут мультиплексироваться с линиями ввода-вывода. Программист должен вначале запрограммировать контроллеры ПВВ, чтобы назначить выводы таймера-счетчика на выполнение их периферийных функций.
33.4.2 Контроллер управления потребляемой мощностью
ТС тактируется через контроллер управления потребляемой мощностью (PMC), поэтому, программист должен первоначально сконфигурировать PMC для разрешения синхронизации таймера-счетчика.
33.4.3 Прерывание
Линия прерывания ТС соединена с расширенным контроллером прерываний (AIC). Для обработки прерывания ТС необходимо запрограммировать AIC перед конфигурацией ТС.
|