Микросхема КР580ВИ53 – трехканальное программируемое устройство (таймер), которое предназначено для организации работы микропроцессорных систем в режиме реального времени. Микросхема формирует сигналы с различными временными параметрами.
Программируемый интервальный таймер (ПИТ) реализован в виде трех независимых 16–разрядных каналов с общей схемой управления. Каждый канал может работать в шести режимах. Программирование режимов работы каналов осуществляется индивидуально и в произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в счетчики – запрограммированного числа байтов.
Управляющее слово определяет режим работы канала, тип счета (двоичный или двоично–десятичный), формат чисел (одно– или двухбайтовый).
Обмен информацией с микропроцессором осуществляется по 8–разрядному двунаправленному каналу данных.
Максимальное значение счета: в двоичном коде 216; в двоично–десятичном коде 104.
Частота синхронизации каналов 0 – 2,5 МГц.
Условное графическое обозначение микросхемы приведено на рис. 6.18, структурная схема показана на рис. 6.19.
В состав ПИТ входят: буфер данных, предназначенный для обмена данными и управляющими словами между МП и ПИТ; схема управления чтением–записью, обеспечивающая выполнение операций ввода–вывода информации в ПИТ и содержит РУС, предназначенный для записи управляющих слов, задающих режимы работы счетчиков; счетчики каналов.
Для приведения каждого канала ПИТ в исходное состояние, соответствующее выбранному режиму, и для загрузки его информацией о величине счета центральный процессор (ЦП) должен выдать в ПИТ некоторый набор управляющих слов и операндов.
Режим работы каналов ПИТ программируется с помощью простых операций ввода/вывода (табл. 6.5). Каждый из трех каналов ПИТ программируется индивидуально путем записи в регистр режима управляющего слова, а в счетчик – запрограммированного числа байтов. Формат управляющего слова показан на рис. 6.20. Так как микросхема не имеет аппаратного вывода «Начальная установка», то в ней предусмотрен внутренний программный сброс отдельно по каналам. Сигнал внутреннего сброса формируется при записи управляющего слова в регистр режима выбранного канала.
После записи управляющего слова в регистр режима выбранного канала он переводится в один из шести основных режимов работы: режим 0 (прерывание терминального счета); режим 1 (ждущий мультивибратор); режим 2 (генератор импульсный); режим 3 (генератор меандра); режим 4 (одиночный программно формируемый стробирующий сигнал); режим 5 (одиночный аппаратно стробирующий сигнал).
Диаграмма работы канала ПТ в режиме 0 показана на рис. 6.21, а. В этом режиме по окончании отсчета числа, загруженного в счетчик, на выходе OUT канала ПИТ устанавливается напряжение высокого уровня и сохраняется до загрузки счетчика новым значением.
Последовательность работы ПТ в режиме 0 следующая. После записи управляющего слова в регистр режима выбранного канала на выходе OUT устанавливается напряжение низкого уровня (в режимах 1–5 – напряжение высокого уровня). Загрузка счетчика не изменяет состояние выхода. При подаче на вход СЕ напряжения высокого уровня включается счетчик и число, загруженное в него, декрементируется. По окончании отсчета числа на выходе канала формируется напряжение высокого уровня. Загрузка счетчика новым числом изменяет состояние выхода – устанавливается состояние низкого уровня.
Перезагрузка счетчика во время счета приводит к следующему: загрузка младшего байта останавливает текущий счет; загрузка старшего байта запускает новый цикл счета. В режиме 0 правильность загрузки счетчика можно проконтролировать, выполнив обычную операцию чтения. Функциональное назначение сигнала СЕ во всех режимах работы приведено в табл. 6.6. Минимально допустимое число загрузки в режиме 0 n = 2.
Таблица 6.5
Сигналы на входах |
Направление и вид информации |
||||
WR |
RD |
А1 |
А0 |
CS |
|
0 |
1 |
1 |
1 |
0 |
Канал данных → ПТ (занесение управляющего слова в канал 0, 1 или 2) |
1 |
0 |
1 |
1 |
0 |
Нет операций. Канал данных ПТ в высокоомном состоянии |
0 |
1 |
0 |
0 |
0 |
Канал данных → ПТ (загрузка счетчика канала 0) |
0 |
1 |
0 |
1 |
0 |
Канал данных → ПТ (загрузка счетчика канала 1) |
0 |
1 |
1 |
0 |
0 |
Канал данных → ПТ (загрузка счетчика канала 2) |
1 |
0 |
0 |
0 |
0 |
ПТ → канал данных (чтение показаний счетчика канала 0) |
1 |
0 |
0 |
1 |
0 |
ПТ → в канал данных (чтение показаний счетчика канала 1) |
1 |
0 |
1 |
0 |
0 |
ПТ → канал данных (чтение показаний счетчика канала 2) |
1 |
1 |
X |
X |
0 |
Нет операций. Канал данных ПТ в высокоомном состоянии |
X |
X |
X |
X |
1 |
Запрет. Канал данных ПТ в высокоомном состоянии |
Примечание: X – состояние входа безразлично |
Диаграмма работы ПТ в режиме 1 (ждущий мультивибратор) показана на рис. 6.21, б. В этом режиме на выходе канала формируется отрицательный импульс длительностью t(OUT) = nּTC – период тактовых импульсов; n – число, загруженное в счетчик). Если во время счета в счетчик будет загружено новое число, то оно не повлияет на длительность текущего импульса до следующего его запуска. Ждущий мультивибратор в данном случае является перезапускаемым, т. е. каждый положительный фронт сигнала СЕ запускает счетчик или перезапускает его для выполнения счета сначала, если счет не завершен до конца. Минимально допустимое число загрузки в режиме 1 n = 1.
Диаграмма работы ПИТ в режиме 2 показана на рис. 6.21, в. В данном режиме канал ПИТ работает как делитель входных сигналов С на n. При этом длительность положительной части периода составляет (n – 1)ТС, а отрицательной ТС (n – число, записанное в счетчик). Перезагрузка счетчика во время счета не влияет на текущий период, однако последующий период будет соответствовать уже новому значению счета. Минимально допустимое число загрузки в режиме 2 – n = 2.
Диаграмма работы ПИТ в режиме 3 показана на рис. 6.21, г. Этот режим во всем аналогичен режиму 2, за исключением того, что длительность положительного и отрицательного полупериодов выходного сигнала для четных чисел равна ТС n/2, для нечетных чисел n положительный полупериод равен ТС(n+1)/2, отрицательный ТС(n–1)/2. В режиме 3 каналы не выполняют свои функции при записи в счетчики числа n = 3.
Диаграмма работы ПИТ в режиме 4 показана на рис. 6.21, д. В этом режиме на выходе выбранного канала формируется отрицательный импульс длительностью t(OUT) = TC после отсчета числа, загруженного в счетчик. Для формирования следующего импульса требуется новая загрузка счетчика и т. д.
Перезагрузка счетчика во время счета приводит к следующему: загрузка младшего байта не влияет на текущий счет; загрузка старшего байта запускает новый цикл счета. Минимально допустимое число загрузки в режиме 4 n = 1.
Диаграмма работы ПИТ в режиме 5 показана на рис. 6.21, е. В этом режиме на выходе выбранного канала формируется отрицательный импульс длительностью t(OUT) = TC после отсчета числа, загруженного в счетчик. Счетчик в этом режиме является перезапускаемым и каждый положительный фронт сигнала запускает счетчик или перезапускает его, если счет не завершен до конца. Перезагрузка счетчика новым числом во время счета не влияет на длительность текущего цикла, но следующий цикл, считая от нового момента запуска, уже будет новым. Минимально допустимое число загрузки в режиме 5 n=1.
Чтение информации из ПТ возможно в виде показаний счетчиков и осуществляется двумя способами: путем выполнения обычной операции чтения или ввода специальной команды и последующего чтения (чтение «на лету»).
Рис. 6.21. Временные диаграммы работы ПИТ
При первом способе чтения для обеспечения стабильных показаний (считывается текущая информация) работа счетчика должна быть приостановлена путем подачи на вход СЕ напряжения низкого уровня (режимы 0,2– 4) или блокированием сигналов С.
Второй способ чтения заключается в том, что программист может считывать содержимое счетчика, не прерывая процесса счета, посредством операции записи определенного управляющего слова. В управляющем слове разряды D5 = 0, D4 = 0 указывают, что производится операция защелкивания; разряды D7, D6 служат адресом для выбора канала; состояние разрядов D3–D0 безразлично.
Содержимое счетчика при втором способе чтения извлекается в следующем порядке: операция записи «защелкивает» текущее значение счета; первая операция чтения извлекает содержимое младшего байта; вторая операция чтения извлекает содержимое старшего байта.
Таблица 6.6
Режим |
Состояние сигнала |
||
Напряжение низкого уровня или спад сигнала |
Нарастание сигнала |
Напряжение высокого уровня |
|
0 |
Запрещает счет |
– |
Разрешает счет |
1 |
– |
Запускает счетчик для выполнения счета сначала. На выходе канала устанавливается напряжение низкого уровня со следующего такта |
– |
2 |
Запрещает счет. Устанавливает на выходе канала напряжение высокого уровня |
Запускает счетчик для выполнения счета сначала |
Разрешает счет |
3 |
Запрещает счет |
Запускает счетчик для выполнения счета сначала |
Разрешает счет |
4 |
Запрещает счет |
– |
Разрешает счет |
5 |
– |
Запускает счетчик для выполнения счета сначала |
– |