Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга Башков.doc
Скачиваний:
40
Добавлен:
20.11.2019
Размер:
26.92 Mб
Скачать

3.3. Интерфейсные схемы, контроллеры

Внешние устройства любой вычислительной машины подключаются к микроЭВМ с помощью специальных БИС, получивших на­звание интерфейсных схем и контроллеров. Под интерфейсной БИС подразумевается микросхема, предназначенная для выполне­ния функций управления некоторым классом периферийных уст­ройств, ограниченным обычно способом обмена данными — параллельным или последовательным. Такие микросхемы отличает широ­кая универсальность, обеспеченная программной настройкой БИС на выполнение конкретных функций: направление передачи, генера­ция сигналов сопровождения и завершения обмена, контроль достоверности и т. д. БИС контроллера достаточно жестко ориентиро­вана на конкретный вид внешнего устройства, хотя и в таких схемах ряд функций может быть выбран программно.

По способу передачи информации между устройством ввода-вывода и интерфейсной БИС/контроллером последние однозначно делятся на два класса — последовательные и параллельные. Универсальные последовательные интерфейсные БИС (communication interface) поддерживают обмен последовательным кодом с самыми разнообразными устройствами (принтерами, телетайпами, модемами и другими). Такие БИС выпускаются десятками фирм и при всем их разнообразии кроме основной функции — преобразования последовательного кода в параллельный при приеме информации и наобо­рот — при передаче, они обеспечивают программный выбор режима работы (синхронный, асинхронный), форматов параллельного и последовательного кодов (разрядность, формирование стоповых бит, формирование контрольных разрядов), контроль достоверности приема информации (на четность, нечетность), частоту стробирования посылок. Подробное описание типичной БИС универсального последовательного интерфейса КР580ВВ51 (аналог БИС 8251 фир­мы Intel) приведено в [1.13]. БИС последовательных контроллеров выполняют аналогичные функции, но они проектируются для об­мена в соответствии с некоторым стандартом. Например, выпуска­ются контроллеры, поддерживающие последовательный обмен по стандартам HDLC Международного консультационного комитета по телефонии и телеграфии, SDLC фирмы IBM, стандарту на первый уровень локальной сети типа Ethernet (IEEE802.3).

Параллельные интерфейсные БИС и контроллерные БИС предназначены для аппаратной поддержки обмена информацией с устройствами, которые принимают и выдают параллельный код. Универсальные параллельные интерфейсные БИС программно настраи­ваются на выполнение конкретных операций обмена. Так широко распространенная БИС фирмы Intel 8255 имеет 24 линии связи, которые программно (группами по 8 и 4) можно настроить на ввод или вывод информации в трех режимах: без стробирования, со стробированием, двунаправленный ввод-вывод. Аналогичные микросхе­мы выпускаются многими фирмами (см. описанные БИС КР580ВВ55 в [1.13]). БИС параллельных контроллеров оптимизированы в соответствии с некоторым стандартом на параллельный обмен, например, IEEE 488 (GPIB) (международный межприборный интерфейс), или поддерживают группу устройств. Широкое рас­пространение в аппаратуре микроЭВМ находят БИС контроллеров алфавитно-цифровых и графических дисплеев, клавиатуры, принте­ров, накопителей на гибких и жестких магнитных дисках. Несмотря на специализацию, контроллерные БИС также допускают некото­рую программную настройку параметров и функций. В табл. 3.5 (по материалам [3.2]) приведены краткие характеристики интер­фейсных и контроллерных БИС микропроцессорных семейств MCS-80 и MCS-86 фирмы Intel.

Рассмотрим более подробно БИС универсального периферий­ного интерфейса (УПИ, universal peripheral interface) 8041A [1.36, 3.2]. Эта БИС по сути своей является однокристальным микроком­пьютером, ориентированным на выполнение операций ввода-вывода. Структура микросхемы приведена на рис. 3.8. Ее можно условно разделить на три части. Первая часть — это собственно компьютер в кристалле, состоящий из 8-разрядных АЛУ и аккумулятора АС, оперативной памяти для данных, емкостью 64 байта, памяти для программ, емкостью 1 Кбайт (в 8041А выполнена в виде ОЗУ, в 8741А — в виде СППЗУ с ультрафиолетовым стиранием, в 8641А — ПЗУ программируемого изготовителем) и устройства управления (10-разрядный счетчик команд, дешифратор команд, управление и синхронизация). Вторая часть — 8-разрядные порты ввода-выво­да, обеспечивающие связь с внешними устройствами. Третья часть — регистры обмена информацией с основным микропроцессором. Данные и команды между УПИ и МП передаются по 8-разряд­ной двунаправленной шине D7—D0, тип операции задается сигна­лами (запись) и (чтение), причем уровень сигнала на входе A0 определяет тип байта: данные (высокий уровень) или команды (низкий уровень).

УПИ выбирается низким уровнем сигнала на входе CS. Периферия подключается к портам ввода-вывода с по­мощью квазидвухнаправленных линий P17—P10 (порт 1) и Р27—Р24 (порт 2). Четыре старших линии (Р27—Р24) могут программно на­страиваться на выполнение специальных функций. Кроме этого, имеется два входных сигнала Т1, Т0, состояние которых можно про­верять командами условной передачи управления. Причем вход Т1 служит также для ввода счетных импульсов в 8-разрядный про­граммно управляемый таймер/счетчик.

Архитектурные решения (структура, система команд) УПИ в основном соответствует однокристальному микрокомпьютеру 8048 (подробнее описание БИС аналога КМ1816ВЕ48 приведено в [1.13]). УПИ 8041А отличается наличием входного регистра данных DBI и выходного регистра данных DBO, что значительно облегчает организацию обмена с основным МП. Причем состояние этих регистров отображается двумя разрядами слова состояния IBF и ORF, соответственно (рис. 3.9, а). Если, например, УПИ записывает в выходной регистр DBO некоторый код, то флаг OBF (output buffer full — выходной буфер полный) взводится в 1. OBF сбросится в 0 только тогда, когда МП прочитает код из DBO. Ана­логично работает и IBF (входной буфер полный). При взведении флага IBF в УПИ может наступить внутреннее прерывание, если оно не замаскировано. Имея доступ к регистру состояния SR, и основной микропроцессор, и УПИ могут всегда контролировать содержимое регистров обмена данными.

В регистре состояния есть два флага F1 и F0. Флаг F0 общего назначения. Его можно программно устанавливать, сбрасывать и из­менять. Он обычно используется для индикации основному МП ошибки при выполнении операции обмена. Флаг F1 также полно­стью программно управляем. Но он дополнительно отображает состояние линии А0 при записи информации в регистр DBI, что позволяет УПИ узнать, команда или данные переданы из основного МП. Кроме этого, четыре старшие разряда регистра SR устанавли­ваются УПИ программно с помощью команды передачи старших разрядов аккумулятора.

Состояния флагов OBF и IBF могут выводиться на линии Р24, Р25 при настройке командой ENFlag (код E516). Функционально сигналы на этих выходах могут служить запросами на прерывание для основного МП. По команде ENDMA (код F516) линия P26 на­страивается на выполнение функций выхода запроса передачи по каналу прямого доступа в память DRQ. Когда УПИ необходимо принять или передать очередной байт в системную память, DRQ взводится в 1. Запрос сбрасывается в ноль при чтении из DBO или записи в DBI, выполненных в сопровождении высокого уровня на вход Р27, по которому принимается сигнал подтверждения обмена по каналу прямого доступа DACK.

Память программ емкостью 1 Кбайт разбита на четыре страницы 1 Кбайт по 256 байт. Адресация команд в памяти программ осуществляется 10-разрядным счетчиком, причем два его старших разряда (номер страницы) можно изменить только с помощью команды вызова подпрограммы. Содержимое любой ячейки памяти программ пересы­лается в аккумулятор с помощью команды MOVR (чтение текущей страницы) или команды MOVR3 (чтение 3 страницы). Назначение трех ячеек первой страницы зарезервировано для хранения адресов входов в подпрограммы обработки прерываний (рис. 3.9, б). Шестидесятичетырехбайтная память данных содержит в своем составе два набора рабочих регистров по 8 в каждом, восьмиуровневый стек с двухбайтными элементами и 32 байта для данных пользователя (рис. 3.9, в). Доступ к данным возможен с помощью регистровой и косвенной адресации. Переключение наборов регистров осуществляется специальными командами. Допускается также непосред­ственная адресация констант. Система команд включает шесть групп операций:

арифметико-логические — сложение, инкремент, декремент, ло­гика, сдвиги (выполняются над аккумулятором, регистрами, па­мятью данных);

передача данных — между аккумулятором и регистрами, аккумулятором и памятью данных, пересылки из памяти программ в аккумулятор;

ввод-вывод — пересылки между DBO, DBI, SR и аккумулято­ром, между портами и аккумулятором;

управление таймером/счетчиком — загрузка и чтение содержимого, пуск, останов и сброс таймера, управление прерыванием от таймера;

передачи управления — вызов подпрограммы и возврат из подпрограммы, безусловные переходы, условные переходы;

управление — сброс, установка и изменение флагов F0 и F1, выбор рабочего набора регистров, управление прерыванием по IBF, настройка линий Р24—Р27

Подробное описание форматов данных и команд, способов адресации и системы команд приведено в [1.13]. В [1.16] отмечаются широкие возможности УПИ 8041А при построении микропроцессорных систем на базе МП 8080, 8085, 8086 для связи с медленными и средними по скорости периферийными устройствами, например, принтерами, клавиатурой, дисплеями, кассетными накопителями на магнитной ленте.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]