Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МПУЭВС. Лекции. Задания / pdf_ПрилПЦиПУ / Приложение_Е_Программируемый парллельный адаптер

.pdf
Скачиваний:
27
Добавлен:
11.05.2015
Размер:
130.14 Кб
Скачать

1

Приложении Е

Е.1 Программируемый параллельный адаптер

Из сравнения адаптеров программно управляемой параллельной передачи данных синхронным и асинхронным алгоритмами следует, что асинхронный адаптер является универсальным аппаратным средством, через которое может выполняться и синхронная, и асинхронная передачи. Для реализации алгоритма синхронной передачи достаточно исключить из алгоритма блоки, а и программы управления и строки обращения к опросу и анализу состояния портов PI и PO. Учитывая эту особенность свойств асинхронного адаптера, и, расширив её до использования контактов сопровождения и запроса асинхронного режима, освобождающихся в синхронном режиме, для дополнительных синхронных передач фирмой Intel

был предложен программируемый параллельный адаптер i8255 (ППА). Этот адаптер получил широкое распространение в построении микроконтроллеров и микропроцессорных систем, а принятые в его логической организации решения получили дальнейшее развитие в создании микроэвм (МЭВМ) и

однокристальных микроэвм (ОМЭВМ). Далее проводится ряд технических особенностей ППА, на которые должно быть обращено внимание при освоении материалов по программируемым адаптерам на примере ППА i8255. На рисунке Е.1 изображено условное графическое обозначение (УГО)

Рисунок Е.1 – Функциональный элемент ППА 580ВВ55

2

ППА 580ВВ55, как функционального элемента. Сигнальные линии левой стороны УГО соответствуют связям с МПУ. Это линии DO/DI связи с восьмиразрядной системной магистралью данных, линии управления вводом

(/RD), выводом (/WR), линии A1, A0 системной магистрали адреса, линия выбора CS ППА с выхода внешнего селектора, линия сброса (R), для

установки начального состояния ППА.

Функциональная схема подключения программируемого

параллельного адаптера 580ВВ55 к МПУ приведена на рисунке Е.2

.

Рисунок Е.2 - Функциональная схема подключения ППА В состав клемм параллельного интерфейса (ППА) для внешних

подключений входят:

-входы/выходы трёх регистров (портов) РА, РВ, РС, которыми порты могут быть подключены к датчикам/исполнительным устройствам;

-информационные входы/выходы DI/DO, через которые в порты записываются или читаются данные (поскольку таких входов/выходов восемь (DI/ DO 7..-.DI/ DO 0), то запись/чтение происходит байтами);

-два адресных входа (А1, А0), код на которых определяет адрес порта ввода/вывода. Код А1 = 0, А0 = 0 является адресом РА, код А1 = 0, А0 = 1 -

адресом РВ, код А1 = 1, А0 = 0 - адресом РС, а код А1 = 1, А0 = 1 является

адресом регистра управляющего слова - внутренним регистром не имеющим

3

связи с ²внешним миром². С помощью этого регистра программист может назначить различные режимы работы портам РА, РВ и РС;

- вход выбора микросхемы CS#. Если CS# = 1, то микросхема ОЗУ не выбрана (запись/чтение портов невозможны, выход DIO находится в третьем состоянии), в противном случае (CS# = 0) микросхема ОЗУ выбрана

(запись/чтение возможны);

- входы выбора операции RD#, WR#. Если RD# = 1, WR# = 0, то происходит запись кода, который присутствует на входе DIO в порт, который определяется кодом на входах А1, А0 или в регистр управляющего слова.

Если RD# = 0, WR# = 1, то происходит чтение кода через выход DIO из порта, который определяется кодом на входах А1, А0 (комбинация RD# = 0, WR# = 0 запрещена и ее следует избегать);

- вход начальной установки RST, при появлении сигнала высокого уровня на этом входе все порты программируются на ввод в так называемом нулевом режиме (без стробирования).

Для управления портами применяются сигналы IOR#, IOW#. Поэтому для адресации портов используется половина шины адреса (ко входам селектора адреса DC подключаются линии (BA7.-..BA2) шины адреса).

Е.2 Программная модель ППА

Программная модель ППА для программного обслуживания представляется совокупностью программно доступных регистров:

-трёмя портами A, B, C;

-портом для настройки режимов и конфигураций портов A, B, C.

Восьмиразрядные порты A, B, C, программно перенастраиваются на ввод, вывод или двухсторонний обмен. При выводе данные запоминаются в портах. При вводе состояния сигналов на линиях данных должны удерживаться до приёма (считывания) данных в ППА.

Порт настройки режимов имеет адрес, соответствующий коду

A1A0=112. Через порт настройки предусмотрены два варианта доступа по

4

записи в зависимости от состояния разряда D7 в выводимом слове. При D7=1

это приказ настройки режимов ППА. При D7=0 это слово побитовой установки/сброса разрядов порта C. Формат слова приказа настройки режима ППА приведен на рисунке Е.3. В слове побитовой установки/сброса разряд

D7=0, разряды D3-D1 определяют код номера разряда регистра С, а

состояние разряда D0 определяет установку “1” или “0” в выбранном разряде, разряды D6-D4 не используются. Выбор регистров ППА осуществляется внутренней дешифрацией состояний двух разрядов A0, A1

адресной магистрали МПУ встроенным дешифратором ППА. Вход выбора

CS ППА подключается к выходам внешнего селектора, реализованного по одному из вариантов, рассмотренных в разделе 4 пособия. Порт A может настраиваться на три режима передачи данных, на рисунке отмеченные номерами 1, 2, 3. Порт B может настраиваться на два режима отмеченные номерами 1, 2. Режим 1 соответствует синхронной передаче. Направление синхронной передачи может настраиваться на ввод или на вывод. Режим 2

соответствует асинхронной передаче. Направление асинхронной передачи,

как и в режиме 1, может настраиваться на ввод или на вывод.

Рисунок Е.3 - Формат слова приказа

Для управления портами в асинхронных режимах (режим 2) портов A, B требуются по две линии для сигналов сопровождения и запроса данных.

Под эти функции в ППА на аппаратном уровне выделяются из состава

5

четыре разряда и четыре линии порта С. Кроме того на аппаратном уровне через контакты порта С в ППА поддержано формирование запросов прерывания (INTR) и от порта А и от порта В. Это контакты разрядных линий

С7, С6 при асинхронном вводе через порты А, В или контакты разрядных линий С5, С4 при асинхронном выводе. Таким образом в асинхронном режиме портов А и В из восьми контактов порта С могут остаться свободными два.

Конфигурация входов/выходов порта C при настройке портов A, B в

режим 2 представляется рисунком Е.4 а для ввода и рисунком Е.4 б для вывода. Сигнальные линии IBF (input buffer full – входной буфер заполнен),

/OBF (output buffer full – выходной буфер заполнен), INTR (interrupt - запрос прерывания) являются для ППА выходными. Префикс «/» в обозначениях сигналов соответствует низкому активному уровню сигнала. Сигнальные линии /STB (сопровождение данных от источника), /ACK (подтверждение приёма данных приёмником) являются входными для ППА. Как видно по рисунку Е.4, номера разрядов PC2, PC4 порта C заняты сигналами /STB при вводе (при выводе номера разрядов PC2, PC6 заняты сигнальными входами

/ACK) и сигналами INTE (interrupt enable – разрешение прерывания).

Противоречия в таком наложении нет, так как разрешение прерываний INTE

на указанных разрядах устанавливаются программной записью битов словами установки/сброса с системной магистрали данных МПУ в ППА.

Биты INTE обрабатываются совместно с сигналами /STB или /ACK при установке запросов прерывания к МПУ.

Асинхронный режим 3 порта A в ППА соответствует двунаправленной передаче данных, при которой направление передачи определяется не перенастройкой порта, а управляющим сигналами /RD, /WR от МПУ. В этом режиме конфигурация входов/выходов порта C, связанных с портом A

представлена на рисунке Е.5. Разрядные линии PC7-PC3 порта C

задействованы под управление портом A. Оставшиеся разряды порта C либо

6

используются в асинхронном управлении порта B, либо – синхронных передач порта C при синхронном режиме порта B.

а)

б)

Рисунок Е.4 – Конфигурация порта C

врежиме 2 портов A и B при вводе а) и при выводе б)

Врежиме 3 передаваемые данные запоминаются в ППА от записи /WR

до подтверждения /ACK от приёмника при выводе и запоминаются от поступления строба сопровождения от источника /STB до завершения чтения /RD в МПУ.

Рисунок Е.5 – Конфигурация порта C в режиме 3 порта A

Состояниями INTE 1 и INTE 2 программно управляет МПУ. Запрос

7

прерывания INTR устанавливается разряде РС3 для считывания и на контакте РС3 для линии запроса к МПУ по совпадению разрешения прерывания с сигналами /ACK (или /STB) и снимается по записи на выводе или чтении при вводе.

Линии /STB, /ACK, IBF, /OBF, INTR управления процессом взаимодействия МПУ с асинхронными портами A, B и портов A, B с

источниками для ввода, приёмниками для вывода для порта A связаны с разрядами PС7-PС4, а для порта B - разрядами PС3-PС0 (см. рисунки Е.4,

Е.5). Поэтому для программирования синхронных передач (см. рисунок Е.3).

порт С разделён на группы Сa и Сb, настраиваемые словом приказа как независимые.

Е.3 Инициализация и программирование ППА

Режимы и конфигурация ППА настраиваются программно перед тем,

как порты A, B, C будут задействованы для передачи данных. Программная настройка в задачах обслуживания программируемых устройств определяется, как инициализация. Для ППА выделяются две настроечные операции:

-подготовка и вывод слова настройки режима (см. рисунок Е.5) перед применением;

-установка/сброс битов разрешения (INTE=1) и ли запрета (INTE =0)

прерывания в асинхронных режимах портов ППА в процессе эксплуатации.

После названных настроечных операций пользователь получает в распоряжение от двух до трёх портов выбранной конфигурации.

Программный контроль состояния при асинхронных режимах осуществляется считыванием содержимого порта C и анализом состояния разрядов IBF=1 (или INTR=1) при вводе или OBF=1 (или INTR=1) при выводе. Для примера, допуская выбор ППА линейной селекцией низким уровнем на адресной линии А3 и выбирая порт A для асинхронного ввода и порт B для асинхронного вывода, а свободные линии порта C для ввода в

8

соответствии рисунком Е.5 слово приказа следует представить в виде

1011110*2 (допустимо 0BCh). Это слово должно быть выдано в порт приказа,

адрес которого, для принятых допущений имеет вид 111101112 (0F7h). Так как для работы в программном режиме в запросах прерывания нет необходимости, прерывания от портов могут быть блокированы запретом прерываний (установкой INTE=0 побитно на линии PC4 для порта A и на линии PC2 для порта В). Первое слово установки/сброса должно иметь вид

000010002 (008h), а второе слово установки/сброса должно быть 000001002

(004h). Слова установки/сброса последовательно должны быть выведены в порт приказа 0F7h. На этом настройка (инициализация) ППА будет завершена.

После инициализации на ППА может отрабатываться алгоритм подобный алгоритму, показанному на рисунке 4.3 пособия по функциональной схеме, подобной, показанной на рисунке 4.5 пособия. При вводе регистром данных является порт A с адресом 111101002 (0F4h), а при выводе порт B с адресом 111101012 (0F5h). Регистром состояния является порт C с адресом 111101102 (0F6h), в котором заполненному буферу данных при вводе соответствует IBFa=1 (PC5=1), свободному от данных буферу при выводе соответствует OBFb=1 (PC1=1), а вводимые через свободные разряды порта расположены на линиях PC, PC6. Если PC5=1, то вводимые с порта A данные достоверны для ввода и если PC1=1, то буфер вывода на порт

B свободен.

Конфигурация аппаратных средств, подключаемых к портам A, B, C

учитывает предполагаемую программную настройку. Так, выбрав порт A для ввода сообщений от источника, следует учитывать, что выходы электронных элементов источника будут подключаться к контактам порта A. В этих условиях недопустимой является ошибка случайного конфигурирования порта A на вывод, когда неизбежен конфликт двух соединённых вместе выходов (от МПУ и от элементов источников). Результатом является искажение передаваемой информации в лучшем случае (если предусмотрена

9

защита выходов от разрушения) и выход из строя ППА или элементов источника в худшем случае. Это недостаток программируемых адаптеров.

Частичному снижению такой угрозы способствует установка ППА в режим синхронного ввода на аппаратном уровне по сигналу высокого уровня (или обрыву вывода) на входе R (сброс). Сброс ППА предусматривается по включению питания и по системной перезагрузке. После сброса ППА должен инициализироваться исключительно в соответствии конфигурацией аппаратных подключений. Как элемент электронных цепей ППА i8255 может применяться при токах нагрузки не более (1-1,5) mA.