Разработка пульта оператора базовой микропроцессорной системы, страница 2

Задача демультиплексирования (разделения) ША и ШД решается с помощью буферных регистров и шинных формирователей.

Восьмиразрядные буферные регистры КР580ИР82 (DD3 и DD6) используются в качестве однонаправленных шинных формирователей (адресных защелок), так как адресная информация должна быть выставлена в течение всего цикла чтения/записи. Управление передачей информации осуществляется с помощью сигнала STB («строб»).

Для организации ШД используются двунаправленные восьмиразрядные шинные формирователи с высокой нагрузочной способностью КР580ВА86 (DD8 и DD9), режим работы которых определяется управляющими сигналами Т («направление передачи») и ОЕ («разрешение передачи»), поступающими с МП.

Для ввода символов с клавиатуры и отображения вводимой информации на индикаторах служит ПККД на основе БИС К580ВВ79 (DD10).

На вход A0 (INS/D) контроллера подается сигнал с адресной линии, соответствующей самому младшему значащему биту, то есть сигнал A0 ША зафиксирован. Это обеспечивает запись команд в ПККД и чтение слова-состояния (при A0=1), а также обмен данными при обращении МП к внутренним ОЗУ контроллера (при A0=0). Эти операции осуществляются под управлением сигналов WR («запись») и RD («чтение») при активном сигнале CS («выбор кристалла»).

В качестве импульсов CLK используются импульсы с выхода PCLK тактового генератора с периодом повторения равным 0,4 мкс, то есть коэффициент деления программируемого делителя частоты устанавливается равным 25.

На вход RESET (CLR) подается сигнал сброса с выхода RESET тактового генератора.

В МПС использован цифровой дисплей на 6 знаков для отображения в шестнадцатеричной системе адреса (4 цифры) и данных (2 цифры). В качестве элементов дисплея применены индикаторы на светоизлучающих диодах АЛС324Б (HL1–HL6).

Контроллер производит выдачу данных в двоично-десятичном формате на индикаторы. Выдача информации через линии DSPA0–DSPB3 синхронизируется с помощью сигналов сканирования SL0–SL3, которые обеспечивают выбор требуемого разряда индикатора.

На выходах SL0–SL3 формируются сигналы сканирования клавиатуры и дисплея. Так как в режиме дешифрированного сканирования (внутренняя дешифрация) на дисплее производятся только первые четыре знака, а необходимо одновременно отображать 6 символов, будем использовать режим кодированного сканирования с применением внешнего дешифратора.

Для реализации описанного принципа работы цифрового дисплея в схему включены катодные формирователи, на которые через дешифратор 530ИД7 (DD11) подаются сигналы контроллераSL0–SL2.

Микросхема 530ИД7 – двоичный дешифратор на 8 направлений предназначен для предварительного дешифрирования сигналов, вырабатываемых в нужной последовательности на линиях сканирования SL0–SL2.

Катодные формирователи обеспечивают работу нужного индикатора, выполнены на транзисторах p-n-p типа, базы которых подключены к соответствующему выходу дешифратора 530ИД7.

Клавиатурная часть контроллера обеспечивает ввод в ПККД, запоминание и выдачу в МП информации, поступающей по входам возвратных линий RL0–RL7, сдвига SH и управления/стробирования CN/STB.

Клавиатура конструктивно выполнена в виде контактов (клавиш), организованных в матрицу размером 4´4. C помощью дешифрированных сигналов SL0–SL2 осуществляется последовательное сканирование строк клавиатуры и каждый раз опрашиваются буферы RL0–RL3, связанные с соответствующими столбцами клавиатуры. При обнаружении нажатой клавиши запускается схема устранения дребезга, которая через некоторое время проверяет состояние этой клавиши. Если контакт сохраняет замкнутое состояние, ПККД формирует байт: 3 бита содержат номер столбца, 3 бита – номер строки (подробнее см. ниже), этот байт записывается в ОЗУ типа FIFO. Если обратный стек пуст, то вырабатывается сигнал запроса прерываний INT=1, информирующий МП о поступлении информации. Одновременное нажатие клавиш блокируется, то есть пока остаются замкнутыми два или более контакта, ввод символа производится не будет (подробнее см. ниже).

В интерфейсе индикатора и интерфейсе клавиатуры должны использоваться одинаковые режимы сканирования.

Проектируемое устройство содержит ПЗУ с электрическим программированием (PROM) и ОЗУ (RAM). ПЗУ конструктивно выполнено на микросхеме К541РТ2 (DD4), адресные входы A0–A10 которой подключены к ША, а информационные – к ШД. В качестве ОЗУ использована микросхема К537РУ8 (DD5), выводы которой подключены аналогичным образом, как и микросхемы ПЗУ.

Выбор микросхемы ОЗУ и ПЗУ в цикле чтения/записи осуществляется при помощи логических элементов И-НЕ (DD18), на которые подаются сигналы A11, A12 и M/IO (см. таблицу 1); на входы CS2 и CS3 микросхемы DD4 через логическую схему НЕ (DD12.4) поступает сигнал MEMR; этот же сигнал, минуя DD12.4, подается на схему DD19, на второй вход которой поступает сигнал MEMW. Полученный сигнал подается на вход WR/RD микросхемы DD5.

При нажатии клавиши с ПККД поступает сигнал INT («запрос прерывания») на вход INT МП. МП формирует сигнал INTA («подтверждение прерывания»), выполняющий функции сигнала «чтение» в цикле подтверждения прерывания и стробирующий считывание номера вектора прерывания (20h) с буферного регистра К588ИР1.

Далее МП автоматически осуществляет последовательное чтение 4-х байт по адресу, полученному путём умножения считанного вектора на 4 (по адресу 80h в ПЗУ размещены байты: 06h, 00h, 0Fh, 18h).

Полученные два слова определяют начальный логический адрес подпрограммы обработки прерывания. Слово с большим адресом (180Fh) содержит базовый адрес сегмента, а слово с меньшим адресом (0006h) – смещение подпрограммы от начала кодового сегмента. Таким образом, физический адрес подпрограммы – 1815h. Далее происходит переход по этому адресу и выполнение подпрограммы обработки прерывания.

Подпрограмма обслуживания прерывания «приказывает» МП сформировать системный сигнал IOR («чтение ВУ») и управлять считыванием информации с ПККД.

Буферный регистр К588ИР1 (DD7), как отмечалось выше, служит для выставления номера вектора прерывания на ШД. На информационные входы регистра DI0–DI7 выставлен номер вектора прерывания 20h, который сохраняется в регистре при подаче уровня логического нуля на инверсные входы WR и CS. Запись происходит при появлении сигнала FFF0h на ША (включение, сброс МПС), который обрабатывается микросхемами 1530ЛИ7 (DD17), К155ЛА18 (DD15), К155ЛА2 (DD16), на выходе DD16 устанавливается уровень логического нуля (WR=1). Описанная операция происходит при CS=1 (на адресной линии A4 устанавливается уровень логической единицы). Считывание информации осуществляется по сигналу RD=1 (подается с выхода INTA МП) с выходов микросхемы DO0-DO7. Подробнее см. в [5] на стр. 73.