Основные элементы интерфейса портов ввода/вывода

Операция ввода или вывода включает в себя передачу данных из (или) требуемой периферии. Микропроцессор является ядром всех операций. Ввод соответствует потоку данных в МП, вывод — из МП. Ячейки, куда данные вхо­дят или выходят, называются обычно портами ввода или вывода.

Согласно табл. 1 оказывается, что наш МП использу­ет команды IN или OUT для передачи данных посредст­вом портов ВВ. Реализация этих команд показана на рис. 1, а.

Рис. 1. Ввод/вывод данных и сигналы МП:

а – при изолированном ВВ; б – при ВВ по принципу доступа в память

Мнемониками являются IN и OUT для вводов и выводов соответственно; рис. 1, а дает форматы и КОП этих команд, которые соответствуют номеру периферии или адресу порта. Адрес порта (1 байт) позволяет вы­брать одни из 256 (28) портов, и адрес передается восемью адресными линиями младших разрядов (А0 —А7). На рис. 1, а представлены также два дополнительных выхода сигналов управления. При операции OUT используется особый сигнал ВВ запись, т. е. ; в случае операции IN — ВВ считывание, т. е. . Это два L-активных сигнала. Использование специального управления, такого, как и , соответствует изолированному ВВ или вводу/выводу через аккумулятор.

Передача данных, выполняемая на основе команд IN и OUT, классифицируется как программно-контролируе­мый ВВ, т. е. ею управляют команды программы. Переда­ча данных может быть вызвана периферией, выдающей сообщение типа «Я готова выдать (или принять) данные». Чтобы вовлечь МП, периферия использует прерывания (вспомним, что когда МП получает запрос на прерывание, он завершает выполнение текущей команды, затем ветвит­ся на подпрограмму обслуживания прерывания, эта под­программа может содержать или не содержать операции ВВ).

Программно-управляемый ВВ может быть выполнен двумя способами: первый — изолированный ВВ (см. рис. 1, а) выполняется посредством команд IN и OUT; по второму — положение входов и выходов определяется как адреса обычной памяти. Второй способ ВВ реализуется по принципу доступа в память, и тогда используются обыч­ные команды. Обратимся к рис. 1, б, где мы использова­ли команду прямого размещения содержимого аккумуля­тора STA при выводе данных в порт вывода; на том же рисунке тот же тип команды использован затем и для вво­да данных (команда LDA). Мы видим здесь, что адресные линии должны быть декодированы и служат для выбора адреса порта ввода или порта вывода.

Используются также обычные сигналы управления и . Таким образом, для ввода и вывода данных по прин­ципу доступа в память могут быть использованы все команды обращения.

Последний способ, очевидно, наиболее распространен и может быть применим в любом МП. Метод изолированного ВВ применим только в МП, снабженных как командами IV и OUT, так и специальными выводами управления ВВ при записи и считывании.

Обычно под выводом подразумевают вывод па перифе­рию. Однако па практике выводы попадают не сразу на периферию, а в устройство памяти, где помещаются дан­ные для периферии (см. рис. 1 главы "Интерфейс микропроцессора", где мы ввели адаптеры интерфейса ввода и вывода, которые являются ни чем иным, как устройствами памяти, и которые обладают все­ми их свойствами).

Таблица 1 – Команды передачи данных типового микропроцессора

На рисунке 2, а изображен интерфейс МП с перифери­ей.

Рисунок – 2. Интерфейс:

а — периферии с отдельным битом; б — с семисегментным индикатором

Отметим, что в качестве индикатора выхода здесь сто­ит фотодиод, а адаптер интерфейса вывода содержит 1)-триггер. Предположим, что МП выполняет команду пря­мого размещения содержимого аккумулятора (А) =0000 0001. Если предположить также адрес 8000Н, то линия А15 будет находиться в Н-активном состоянии и активизирует нижний вход элемента И. Некоторое время спустя Н-активный сигнал появляется на линии D0 шины данных. Сигнал управления записью переходит к L-уровню и ак­тивизирует элемент И, который запирает 1 в D-триггере. На выходе D-триггера Н-сигналом зажигается фотодиод (или индикатор бита). В качестве примера на рис. 2, а показан процесс индикации единственного бита данных.

Интерфейс вывода на рис. 2, 6 несколько сложнее. Он передает 8 бит данных МП в адаптер интерфейса вы­вода через шину данных. Адаптер помещает данные в 8-разрядную защелку обычным способом. Заметим, что адресная линия А15 должна быть в Н-состоянии, тогда как вывод управления записью должен быть в L-состоянии в течение времени, необходимого для того, чтобы за­переть данные в семисегментном индикаторе. Каждый сег­мент индикатора (аg и десятичная точка) работает так же, как отдельный диод на рис. 2, а. Запертый в любом выводе защелки Н-сигнал вызывает свечение соответству­ющего сегмента.

На рисунке 3, а представлено другое периферийное уст­ройство и его интерфейс с МП.

Рисунок 3 - Интерфейс:

а — при вводе единичной коммутации; б — при вводе с клавиатуры

Здесь речь идет о простом коммутаторе, позволяющем выбрать логический L- или Н-уровень. Отдельная линия данных соединена с вводом D-триггера внутри адаптера. Когда МП выполняет коман­ду типа ЗАГРУЗИТЬ А прямо из ячейки памяти 8000Н, элемент И активизируется, захватывая входные данные. Буфер вывода становится разрешенным, что позволяет данным расположиться вдоль отдельной линии Do шины данных. Микропроцессор принимает бит HIGH с шины данных и передает его в аккумулятор. Интервал спустя элемент И сбрасывается. Выход адаптера интерфейса вво­да затем запрещается и переводится в состояние высокого сопротивления, он не оказывает больше влияния на другие передачи на шину данных.

На рис. 3 мы используем способ ВВ по принципу доступа в память. Обычно несколько адресных линий де­кодируются одним адресным дешифратором для того, что­бы активизировать линию выбора устройства. На рис. 3, б приведена расширенная система ввода одного от­дельного бита. Здесь параллельные данные объемом 8 бит вводятся с клавишного устройства. Управление считыва­нием и простая адресация те же, что и в предыдущем примере.

Организация ВВ по принципу доступа в память исполь­зуется очень распространенными микропроцессорами, та­кими, как Motorola 6800 и МОП-технологии 6502. Изоли­рованный ВВ (иногда называемый канальным ВВ данных) используется таким семейством микропроцессоров, как Intel 8080/8085 и Zilog 80.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: