6) Программируемый таймер. Область применения. Принцип функционирования.
Программируемый таймер (ПТ) КР1810ВИ54 предназначен для организации работы МП систем и формирования сигналов с разными временными и частотными характеристиками. Структурная схема БИС показана на рис.3.16, а условное обозначение — на рис.3.17.
Схема таймера содержит: блок управления чтением/записью RWCU с регистром управляющего слова RCW; трехстабильный буфер данных BD; три канала на базе 16-разрядных отрицательных счетчиков СТ0—СТ2. Каждый канал содержит счетчик, входные и выходные буферные регистры. Счетчики могут работать в двоичном или двоично-десятичном коде. Максимальная частота счетчика составляет 2МГц для КР580ВИ53 и 5МГц для КР1810ВИ54.
В табл. 3.5 приведены назначения выводов ПТ КР580ВИ54.
Таблица 3.5. Назначение выводов БИС таймера КР580ВИ54
Рис.3.16. Структурная схема БИС КР580ВИ54:
CLK — входы тактовых (счетных) импульсов;
GATE — входы разрешения счета, действие которых зависит
от режима работы канала; OUT - выходы счетчиков
Рис.3.17. Условное обозначение БИС КР580ВИ54
Разряды А1, А0 (рис.3.16) выбирают обращение к счетчикам или к регистру управляющего слова RCW:
А1 | А0 | Обращение |
0 | 0 | СТ0 |
0 | 1 | СТ1 |
1 | 0 | СТ2 |
1 | 1 | RCW |
Сигналы управления работой БИС RW,RD,CS подаются на блок RWCU и вместе с адресными разрядами А0, А1 задают вид выполняемой операции в соответствии с табл. 3.6.
Таблица 3.6. Вид оператш программируемого таймера в зависимости от сигналов управления и адресных разрядов
Примечание, × — любое значение (0 или 1).
Обобщенная схема подсоединения ПТ к шинам микропроцессора показана на рис.3.18. В качестве примера адресные линии А1, А0 можно подсоединить к линиям А2, А1 шины адресов, на вход подать сигнал с выхода дешифратора, как на рис.3.7.
Рис.3.18. Подключение программируемого таймера к шинам микропроцессора
Установка режима работы каждого канала программируемого таймера осуществляется программно — записью управляющего слова (рис.3.19) и начального содержимого счетчика.
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
CNT1 | CNT0 | RW1 | RW0 | M2 | M1 | M0 | K |
Рис.3.19. Формат управляющего слова программируемого таймера
Значения разрядов D7 (CNT1) и D6 (CNT0) выбирают счетчик (табл. 3.7).
Таблица 3.7. Выборка счетчика
Значения разрядов D5 (RW1) и D4 (RW2) выбирают способ чтения/записи (табл. 3.8).
Таблица 3.8. Способ чтения/записи
D5 | D4 | Способ чтения/записи |
0 | 0 | Чтение содержимого счетчика |
0 | 1 | Запись только младшего байта |
1 | 0 | Запись только старшего байта |
1 | 1 | Запись младшего, а потом старшего байтов |
Значения разрядов D3—Dl (M2—М0) выбирают один из 6 режимов работы счетчика (табл. 3.9).
Таблица 3.9. Режимы работы программированного таймера
М2 | M1 | М0 | Режим | ||
0 | 0 | 0 | Режим 0 | ||
0 | 0 | 1 | Режим 1 | ||
× | 1 | 0 | Режим 2 | ||
× | 1 | 1 | Режим 3 | ||
1 | 0 | 0 | Режим 4 | ||
1 | 0 | 1 | Режим 5 | ||
Разряд D0 (К) определяет способ кодирования:
- D0 = 0 — двоичный счетчик;
- D0 = 1 — двоично-десятичный счетчик.
Порядок программирования каналов таймера чрезвычайно гибкий. Можно записать управляющие слова режимов во все каналы, а потом в произвольном порядке загружать коды предустановки, а можно запрограммировать в отдельности каждый канал (как в примере).
В процессе работы программируемого таймера содержимое любого счетчика можно прочитать двумя способами:
- приостановить работу счетчика подачей сигнала GATE = 0 или блокированием тактовых импульсов, а потом прочитать содержимое счетчика с помощью двух команд ввода. Первая команда ввода прочитает младший байт, вторая — старший;
- записать в программируемый таймер управляющее слово, которое содержит нули в разрядах D4, D5 (ноль в этих разрядах указывают на выполнение операции фиксации содержимого счетчика в выходном регистре канала в момент записи управляющего слова). Потом прочитать содержимое счетчика с помощью команд ввода.
В БИС К1810ВИ54 возможно прочитать слова состояния счетчика. Для этого необходимо записать управляющее слово (рис.3.20).
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | 1 | COUNT | SLAT | CT2 | CT1 | CT0 | 0 |
Рис.3.20. Вид управляющего слова БИС К1810ВИ54: СТ0, СТ1, СТ2 — выбор счетчика
Счетчик выбирается при записи единицы в соответствующий двоичный разряд СТ0, СТ1, СТ2. Значение STAT = 0 указывает на то, что будет прочитано слово состояния канала, указанного в разряде D3—D1. Значение COUNT = 0 указывает на то, что будет записано содержимое счетчиков, указанных в D3—D1, в выходных регистрах каналов.
Слово состояния канала имеет вид, показанный на рис.3.21.
Во время записи управляющего слова в счетчик загружается сначала младший, а потом старший байт кода передней установки. В дальнейшем работа таймера зависит от выбранного режима работы.
Счетчики таймера могут работать в таких шести режимах: 0 — программируемая задержка; 1 — программируемый мультивибратор; 2 — программируемый генератор тактовых импульсов; 3 — генератор прямоугольных сигналов; 4 — программно-управляемый строб; 5 — аппаратно-управляемый строб. Влияние сигнала GATE на соответствующий счетчик зависит от режима работы.
Рис.3.21. Вид слова состояния канала: OUT — состояние выхода OUT (0, 1);
FN — флаг перегрузки (FN = 1, если была перезагрузка кода предустановки);
разряды RW1, RW0, M2, Ml, М0 и К (дублируют разряды управляющего слова (см. рис.5.38))
Режим 0. Программируемая задержка. В этом режиме (рис.3.22) на выходе выбранного канала таймера формируется сигнал Н-уровня с программно-управляемой задержкой. Задержка отсчитывается от заднего фронта первого импульса CLK после записи младшего байта кода предустановки (константы). После записи управляющего слова на выходе OUT выбранного канала таймера устанавливается сигнал L-уровня. Такое же состояние сохраняется при записи младшего байта константы. Если во время счета сигнал GATE = 0, счет прекращается, а с появлением GATE = 1 — восстанавливается с прерванного значения. По окончании счета на выходе OUT устанавливается сигнал Н-уровня. Загрузка в счетчик нового значения младшего байта в процессе счета останавливает счет, а загрузка старшего байта начинает новый цикл счета.
Рис.3.22. Режим программируемой задержки
Режим 1. Программируемый мультивибратор. На выходе счетчика формируется импульс L-уровня с программно-управляемой продолжительностью, причем точкой начала отсчета является задний фронт первого импульса CLK после появления Н-уровня сигнала GATE (рис.3.23).
При появлении сигнала GATE = 1 на выходе OUT формируется импульс L-уровня продолжительностью N периодов тактовых импульсов CLK. Загрузка в процессе счета нового значения N не изменяет текущего режима счета.
Мультивибратор автоматически перезапускается по каждому переднему фронту сигнала GATE .
Рис.3.24. Режим программируемого мультивибратора
Режим 2. Программируемый генератор тактовых импульсов. В этом режиме (рис.3.25) выбранный канал осуществляет деление частоты импульсов CLK на программно-управляемый коэффициент N, т. е. генерирует периодический сигнал с частотой, в N раз меньше частоты тактовых импульсов CLK.
Рис.3.25. Режим программируемого генератора тактовых импульсов
Выходной сигнал L-уровня устанавливается на последнем такте периода. Загрузка счетчика новым значением N в процессе счета приводит к изменению периода. Сигнал GATE можно использовать для внешней синхронизации программируемого таймера, поскольку значение GATE = 0 запрещает счет, устанавливая сигнал OUT = 1, а значение GATE = 1 начинает счет сначала.
Режим 3. Генератор прямоугольных импульсов. Выбранный канал формирует прямоугольные импульсы с программно-управляемым периодом. Действие сигнала GATE аналогичное режиму 0. При четном значении N на выходе счетчика генерируется сигнал Н-уровня на протяжении первой половины периода и L-уровня на протяжении второй. При нечетном N продолжительность Н-уровня на один такт больше, чем для L-уровень. В режиме 3 число N = 3 нельзя загружать в счетчик. Временные диаграммы для этого режима приведены на рис.3.26.
Рис.3.26. Режим генератора прямоугольных импульсов
Режим 4. Программно-управляемый строб. В этом режиме на выходе таймера формируется строб L-уровня продолжительностью ТCLK с программно-управляемой задержкой относительно момента записи младшего байта кода предустановки. Перезагрузка младшего байта в процессе счета не влияет на текущий счет, а загрузка старшего байта начинает новый цикл счета.
Резким 5. Аппаратно-управляемый строб. Этот режим аналогичен режиму 4. Его отличие от режима 4 состоит в том, что началом отсчета программно-управляемой задержки является передний фронт сигнала GATE. Запуск счетчика осуществляется передним фронтом сигнала GATE. Загрузка в счетчик нового значения N в процессе счета не влияет на продолжительность текущего цикла, но такой цикл будет соответствовать новому значению N.
Диаграммы работы таймера, которые иллюстрируют действие сигнала GATE, показаны на рис.3.27, а для таймера КР580ВИ53 и таймера КР1810ВИ54 — на рис.3.27, б. Для таймера КР580ВИ53 с появлением L-уровня сигнала GATE счет прекращается, а с появлением Н-уровня — восстанавливается с прерванного значения. Для таймера КР1810ВИ54 L-уровень сигнала GATE также прекращает счет, а Н-уровень — начинает со значения кода предустановки.
Рис.3.27. Диаграммы работы таймера: а — для таймера КР580ВИ53; б - для таймера КР1810ВИ54