Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > AVR |
|
||||||||||||
14.3. Функциональная схемаПодробная функциональная схема таймера-счетчика без расширений показана на рисунке 14.2.
Регистр счетчика (CNT), регистр периода и его буфер (PER и PERBUF), а также регистры сравнения и захвата с их буферами (CCx и CCxBUF) - 16-битные регистры. В процессе нормальной работы, значение счетчика непрерывно сравнивается с нулем и со значением периода (PER). Это необходимо для выявления достижения счетчиком верхней (TOP) или нижней (BOTTOM) границ счета. Значение счетчика также сравнивается с регистрами CCx. Блоки сравнения могут использоваться для генерации запросов на прерывания или запросов на DMA-транзакции. Кроме того, они могут генерировать события для системы событий. Блок сравнения используются в режимах генерации импульсов, для задания периода и скважности импульсов. Для управления счетчиком могут использоваться поделенный по частоте сигнал синхронизации УВВ и события системы событий. Система событий также может выступать в качестве источника для входа захвата. Если же учесть возможности квадратурной дешифрации, которыми обладает система событий, то таймер-счетчик может использоваться для высокобыстродействующей квадратурной дешифрации. 14.4. Источники синхронизации и событий Таймер-счетчик может синхронизироваться, либо с выхода предделителя синхронизации УВВ (CLKPER), либо системой событий. Логика выбора синхронизации и событий показана на рисунке 14.3.
Сигнал синхронизации УВВ поступает в общий предделитель (общий для всех таймеров-счетчиков в МК). Выбор выходов предделителей можно выполнить через регистры таймера-счетчика. Кроме того, широкий диапазон коэффициентов деления частоты (от 1 до 215) можно выбрать через систему событий. У каждого таймера-счетчика предусмотрена возможность раздельного выбора синхронизации (CLKSEL): один из выходов предделителей или канал событий, выступающий в роли входа счетчика (CNT). Такая работа таймера-счетчика называется нормальной (см. 14.6.1 "Нормальная работа таймера-счетчика"). Когда таймер используется системой событий, в качестве входа синхронизации таймера могут использоваться такие источники событий, как внешний сигнал синхронизации, поданный на любую из линий в/в. Таймер-счетчик может также управляться через систему событий. Настроенные выбор события (EVSEL) и действие события (EVACT) могут использоваться для запуска действия события при возникновении одного или нескольких событий. Такой механизм работы счетчика управляемым событиями и подробно описан в 14.6.2 "Управляемый событиями режим работы". В этом режиме работы в качестве входа синхронизации счетчика необходимо выбрать требуемый канал события. По умолчанию вход синхронизации таймера-счетчика не связан ни с одним из источников и, поэтому, он не работает (находится в отключенном состоянии). 14.5. Двойная буферизация Регистр периода и регистры захвата-сравнения оснащены механизмом двойной буферизации. Каждый из буферных регистров имеет отдельный флаг действительности буфера (BV), который сигнализирует о наличии в буфере действительных данных, например, новое значение, подлежащее копированию в регистр периода или сравнения. Применительно к регистру периода и регистрам каналов захвата-сравнения, которые используются в режиме сравнения, флаг действительности буфера устанавливается после записи данных в буферный регистр и сбрасывается при возникновении условия UPDATE (см. пример с регистром сравнения на рисунке 14.4).
Если же каналы захвата-сравнения используются в режиме захвата, то применяется подобный механизм двойной буферизации затем тем исключением, что флаг действительности буфера устанавливается по событию захвата, как показано на рисунке 14.5. В режиме захвата, буфер и соответствующий регистр CCx действуют подобно буферу FIFO. После опустошения или считывания регистра CC, содержимое буфера переносится в регистр CC. Флаг действительности буфера передается во флаг прерывания CCx, после установки которого при необходимости может быть сгенерировано прерывание (опционально).
Регистры CCx и CCxBUF доступны по адресам регистров ввода-вывода. Благодаря этому, можно выполнить инициализацию буферных регистров, а также обойти буферный регистр и все функцию двойной буферизации.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|