14.6. Работа счетчика
Каждый импульс синхронизации таймера-счетчика, в зависимости от режима работы, вызывает сброс, перезагрузку, инкрементирование или декрементирование счетчика.
14.6.1. Нормальная работа
В нормальном режиме работы счетчик выполняет счет в направлении заданном битом DIR до тех пор, пока не достигнет значения TOP или BOTTOM. При счете в прямом направлении, после достижения значения TOP, следующий импульс синхронизации таймера инициирует обнуление счетчика. При счете в обратном направлении по достижении значения BOTTOM счетчик перезагружается значением из регистра периода.
Рисунок 14.6. Нормальный режим работы
Как показано на рисунке 14.6, во время работы счетчика допускается изменение его значения. Запись в регистр счетчика имеет более высокий приоритет, чем счет, сброс или перезагрузка и выполняется безотлагательно. В нормальном режиме работы также допускается изменение направления счета.
Нормальный режим работы необходимо использовать, когда счетчик выступает в роли времязадающего устройства для каналов захвата.
14.6.2. Управляемый событиями режим работы
Настройки выбора событий и действия событий могут использоваться для управления счетчиком через систему событий. Применительно к счетчику могут быть выбраны следующие действия события:
- управление прямым/обратным счетом.
- квадратурно-дешифрированный счет.
14.6.3. 32-битная работа
За счет совместной работы двух таймеров можно добиться 32-битного счета. Для этого необходимо событие переполнения одного таймера-счетчика (младший таймер) подать через систему событий на вход синхронизации другого таймера-счетчика (старший таймер).
14.6.4. Изменение периода
Период счета изменяется записью нового значения TOP в регистр периода. Если двойная буферизация не используется, обновление периода выполняется незамедлительно (см. рисунок 14.7).
Рисунок 14.7. Изменение периода без буферизации
Когда же двойная буферизация используется, запись в буфер можно выполнить в любой момент, а вот обновление регистра периода будет выполнено только при выполнении условия UPDATE, как показано на рисунке 14.8. Благодаря этому, гарантируется корректность временной диаграммы генерации импульсов.
Рисунок 14.8. Изменение периода с буферизацией
|