<<
>>

ДРАЙВЕР ОБМЕНА ПО ИРПР

ИРПР предназначен для радиального подключения ввода-вывода с параллельной передачей информации. По этому интерфейсу обмен данными производится побайтно, в асинхронном режиме, с использованием минимального количества сигналов состояния и управления.

Передача данных осуществляется между одним источником и одним приемником, для организации дуплексного обмена (одновременного обмена в противоположных направлениях) требуются два сопряжения. Большинство серийно выпускаемых дисплеев и печатающих устройств имеет выход на этот интерфейс (например, дисплеи ВТА 2000-30, «Электроника 15ИЭ», печатающие устройства DZM-180 и DARO-1156). ИРПР ограничивает по стандарту расстояние между источником и приемником величиной 15 м.

Физически интерфейс образуют восемь линий ДАННЫЕ и четыре линии управления (рис. 6.1):

Рис. 6.1. Структура ИРПР

1) готовность источника (ГИ) —активное состояние (например, единичное) линии указывает, что источник физически существует и работоспособен (подключен к источнику питания);

2) готовность приемника (ГП) — линия предназначена для указания работоспособности приемника;

3) строб источника (СТР)—линия устанавливается источником в активное состояние в том случае, когда на линиях ДАННЫЕ появляется очередной байт;

4) запрос приемника (ЗПР) — активное состояние линии указывает на готовность приемника к приему очередного байта.

Обмен информацией регламентируется следующим алгоритмом. Работа по интерфейсу может осуществляться только при наличии сигналов ГИ и ГП, с помощью которых источник и приемник оповещают друг друга о работоспособности. Как только у источника появляется необходимость передать данные, он анализирует состояние линии ЗПР и в случае ее активности выдает байт на линии ДАННЫЕ. После этого источник устанавливает сигнал СТР, который записывает данные в приемник.

Сигнал СТР снимается после перехода сигнала ЗПР приемника

Рис. 6.2. Структуры сопряжения микросхемы ППА с источником и приемником данных

в пассивное (например, нулевое) состояние. В свою очередь приемник для получения байта должен установить сигнал ЗПР, дождаться активного состояния линии СТР и принять байт с линии ДАННЫЕ. На время обработки приемником полученного байта сигнал ЗПР снимается. Скорость обмена может задаваться как приемником, так и источником.

Любое ВУ подключается к МП системе с помощью специального устройства сопряжения (УС), которое преобразует физические сигналы интерфейса в логические, доступные программам. В МП системах, выполненных на базе БИС серии КР580, в устройствах сопряжения типа ИРПР чаще всего применяется микросхема периферийного параллельного адаптера (ППА) КР580ВВ55 (см. прил. 4) [2, 4, 12, 19, 31, 41]. На рис. 6.2 приведены структурные схемы устройства сопряжения типа ИРПР на базе ППА, работающего в режиме 0 (й) и в режиме 1 (б).

Рассмотрим работу драйвера ИРПР при использо- ваии ППА в режиме 0. Драйвер обеспечивает выполнение функций инициализации, ввода и вывода символа:

Драйвер состоит из четырех подпрограмм. Программа ИНРПРО производит инициализацию микросхемы и установку сигналов ГИ и ГП со стороны УС путем занесения информации в регистр управляющего слова (РУС). При инициализации устанавливается режим 0 для всех каналов, канал В (КВ) и младшая половина канала С (КСМ) программируются на ввод, а канал А (КА) и старшая половина канала С (КСС) — на вывод. Установка сигналов ГП и ГИ выполняется командами битовой установки. В конце программы ИНРПРО проверяется наличие сигналов ГП и ГИ со стороны ВУ. При их отсутствии в выходном параметре устанавливается признак неудачной инициализации Z=0.

Программа ВЫРПРО осуществляет вывод символа из МП системы через УС в приемник ВУ (выводимый символ предварительно размещается в регистре (С)). В начале программы в цикле ожидания контролируется появление единицы во втором разряде КС. Эта единица интерпретируется как символ ЗПР от ВУ. Далее выводится символ и устанавливается сигнал СТР, после чего в цикле ожидания контролируется снятие сигнала ЗПР со стороны ВУ и, наконец, снимается сигнал СТР со стороны УС.

Программа СТРПРО выполняет проверку готовности источника ВУ к передаче символа в МП через УС. Говорят, что если ВУ готово к передаче, то оно имеет положительный статус ввода, а если не готово,— отрицательный. В программе СТРПРО статус ввода фиксируется в выходном параметре, передаваемом через аккумулятор МП. В начале программы устанавливается сигнал ЗПР со стороны УС и проверяется наличие ответного сигнала СТР со стороны ВУ. Если этот сигнал установлен, то в выходной параметр записывается положительный статус ввода (код 0FFH), в противном случае — отрицательный (код 00). Программа ВВРПРО осуществляет ввод символа в МП через УС от источника ВУ. В начале программы вызывается в цикле подпрограмма СТРПРО до тех пор, пока она не передаст в выходном параметре положительный статус ввода. Затем из КВ вводится символ и снимается сигнал ЗПР со стороны УС. Возврат из этой программы выполняется только после снятия сигнала СТР со стороны ВУ.

Драйвер ИРПР при использовании ППА в режиме 1 имеет аналогичную структуру:

При инициализации, которую выполняет подпрограмма ИНРПР1, микросхема программируется в режим 1. КА настраивается на режим вывода, а КВ — ввода. Кроме того, при выполнении программы размаскируются сигналы ЗПР по КВ и КА путем установки единиц в 6-м и 2-м разрядах КС. При выводе символа (подпрограмма ВЫРПР1) циклически проверяется состояние 3-го разряда КС. Как только в этом разряде устанавливается единица, что свидетельствует о готовности ППА выводить символ, символ выводится в КА. Готовность ППА к вводу определяется подпрограммой СТРПР1, которая возвращает в качестве выходного параметра значение статуса ввода, исходя из текущего состояния 0-го разряда. КС — сигнала ЗПР (В). Подпрограмма ВВРПР1 выполняет ввод символа. Перед чтением символа из КВ выполняется в цикле вызов подпрограммы СТРПР1 до тех пор, пока не будет получен положительный статус ввода.

При использовании ППА в режиме 1 драйвер управления вводом-выводом получается более компактным, так как все манипуляции сигналами управления выполняет сама микросхема. Заметим, что драйвер режима 0 можно использовать для УС, выполненных без применения ППА. Этот драйвер требует наличия только трех 8-разрядных программно-доступных регистров.

6.3.

<< | >>
Источник: Гуртовцев А. Л., Гудыменко С. В.. Программы для микропроцессоров: Справ, пособие.— Мн.: Выш. шк.,1989.— 352 с.: ил.. 1989

Еще по теме ДРАЙВЕР ОБМЕНА ПО ИРПР: