Обмен данными с аппаратным квитированием

Состав устройств. Для иллюстрации принципов программно-управляемого обмена с аппаратным квитированием рассмотрим схемы интерфейсных устройств (контроллеров) ввода (рис. 6.16,а) и вывода (рис. 6.16,6). Устройства содержат:

  • регистры для хранения данных (РД);
  • буферы каналов данных (БД) и состояния (БС). Буферы представляют собой однонаправленные шинные формирователи с высокоомным состоянием. Через них осуществляется связь устройств с внешними шинами;
  • дешифраторы (Дш) для формирования сигналов обращения к буферам и регистрам;
  • триггеры и логические элементы для формирования осведомительных и управляющих сигналов.

Сведения об используемых в устройствах ввода и вывода сигналах приведены в табл. 6.5.

Таблица 6.5

Обозначение

Название и назначение

Ввод

СтрВв

Строб ввода. При СтрВв = 1 ВУ вводит в устройство ввода (УВв) данные. По срезу строба в У Вв выставляется флаг ввода (ФВв)

ФВв

Флаг ввода. При ФВв = 1 УВв разрешается вводить данные в процессор, при ФВыв = 0 ВУ разрешается вводить данные в УВв

ЧтС

Чтение состояния. При ЧтС = 1 процессор считывает значение флага ввода (ФВв)

ЧтД

Чтение данных. При ЧтД=1 считываются данные из РД УВв в процессор

Вывод

СтрВыв

Строб вывода. При СтрВыв = 1 ВУ выводит из РД устройства вывода (УВыв) данные. По срезу строба выставляется флаг вывода (ФВыв)

ФВыв

Флаг вывода. При ФВыв= 1 процессору разрешается выводить данные в УВыв, при ФВыв = 0 ВУ разрешается выводить данные из УВыв

ЧтС

Чтение состояния. При ЧтС = 1 процессор считывает значение флага вывода (ФВыв)

ЗпД

Запись данных. Из процессора выводятся данные в УВыв и записываются в РД

Ввод данных. При вводе информации (рис. 6.16, а, б) по стробу ввода СтрВв, поступившему из ВУ, данные записываются в РД. Сигнал чтения ЧтД = 0, поэтому триггер-защелка Т по срезу строба устанавливается в единичное состояние, формируя флаг ФВв = 1 готовности к началу операции ввода. Микропроцессор производит опрос состояния устройства ввода. При этом:

  • • на вход устройства по шине управления поступает сигнал Чт = О, на вход дешифратора (Дш) – адресный код буфера состояния (БС), инициируя на входе ЛЭ ИЛИ–НЕ (1) нулевой сигнал;
  • • сигналом чтения состояния ЧтС = 1, снимаемым с выхода ЛЭ ИЛИ–НЕ (1), открывается буфер состояния (БС), и сигнал ФВв передается по ШД в процессор.

Устройства ввода (а) и вывода (в) с аппаратным квитированием и временные диаграммы (б, г)

Рис. 6.16. Устройства ввода (а) и вывода (в) с аппаратным квитированием и временные диаграммы (б, г)

В микропроцессоре происходит выделение сигнала флага (например, командой ANI) и определение его значения (например, с помощью команды условного перехода JZ). Если ФВв – 1, то выполняется команда ввода данных из РД, в противном случае производится повторный цикл опроса состояния, т.е. микропроцессор переходит в режим ожидания.

При ФВв = 1 микропроцессор выполняет команду ввода IN, адресуясь к регистру данных РД. При этом:

  • • с выхода Дш поступает нулевой сигнал на один из входов ЛЭ ИЛИ–НЕ (2);
  • • с шины управления поступает сигнал Чт=0 на другой вход ИЛИ– НЕ (2);
  • • с выхода ЛЭ ИЛИ–НЕ(2) снимается сигнал чтения данных ЧтД= 1, активизируя БД для передачи информации в микропроцессор;
  • • триггер (Т) по срезу сигнала ЧтД переводится в нулевое состояние и осуществляет сброс флага ФВв = 0, информируя тем самым ВУ о вводе данных в микропроцессор. Внешнее устройство может приступить к загрузке РД следующим байтом данных.

Вывод данных. При выводе информации (рис. 6.16,в,г), так же как и при вводе (командой IN по адресу буфера состояния), производится опрос состояния устройства вывода. Если сигнал флага готовности вывода ФВыв = 0, то цикл опроса повторяется. Если же ФВыв = 1, то со стороны процессора (по команде OUT) поступает сигнал записи Зп = 0. С его помощью формируется сигнал записи данных ЗпД= 1, по которому информация с ШД заносится в регистр (РД). Так как поступающий со стороны устройства вывода строб вывода СтрВыв = 0, то по срезу сигнала ЗпД триггер (Т) устанавливается в единичное состояние. На выходе ЛЭ ИЛИ–НЕ (3) формируется сигнал ФВыв = 0. Происходит сброс флага, запрещающий микропроцессору повторную запись данных до тех пор, пока со стороны ВУ не поступит строб вывода СтрВыв = 1 (рис. 6.16,г). Задний фронт этого сигнала восстановит состояние флажка (ФВыв = 1) и разрешит микропроцессору запись следующего байта данных.

 
< Пред   СОДЕРЖАНИЕ     След >