Организация интерфейса в микро ЭВМ
ОРГАНИЗАЦИЯ
ИНТЕРФЕЙСА В МИКРОЭВМ
Работа микро ЭВМ
сопровождается интенсивным обменом информацией между МП, ЗУ и УВВ. В процессе
выполнения программы МП принимает команды из памяти программ, обращается к
памяти данных, а при исполнении команд ввода-вывода – к УВВ. Эффективность
решения задачи в микро ЭВМ в значительной степени определяется организацией
этого обмена и структурой связи между МП, памятью и УВВ.
Система шин,
вспомогательной аппаратуры и алгоритмов, реализованных на этом оборудовании,
предназначенная для организации обмена между МП, памятью и УВВ, называется
интерфейсом.
В функции
интерфейса входят дешифрация адреса устройств, синхронизация обмена
информацией, согласование форматов слов, дешифрация кода команды, связанной с
обращением к памяти или УВВ, электрическое согласование сигналов и некоторые
другие операции.
Сложность задач,
возлагаемых на интерфейс, а также недостаточная мощность буферных схем,
входящих в состав БИС МП, привели к распределению средств интерфейса между
различными устройствами:
а) устройством
управления памятью и вводом-выводом, входящим в состав МП;
б) непосредственно интерфейсным
устройством, являющимся промежуточным звеном между МП, с одной стороны, и
памятью и УВВ, с другой;
в)
специализированными устройствами управления (контроллерами) УВВ,
предназначенными для реализации алгоритмов управления, специфических для различных
УВВ.
Организация обмена
между МП и памятью или УВВ в простейших случаях возможна на основе средств,
содержащихся только в МП. Недостающие функции в таких случаях реализуются
программно.
Более сложные ЗУ и
УВВ соединяются с МП обязательно через дополнительные интерфейсные устройства,
выполненные на основе СИС и МИС или (в некоторых МПК) в виде специальных БИС.
Разработка БИС обусловливается значительной сложностью функции интерфейсных
устройств: при отсутствии БИС в некоторых случаях может потребоваться до
нескольких сотен корпусов СИС и МИС.
Наконец, существуют
сложные ЗУ и УВВ со специфическими алгоритмами управления (магнитные диски и
ленты, электронно-лучевые трубки и т.д.), реализация которых возможна лишь
специальными контроллерами.
Сложность внешнего
интерфейса определяется как сложностью периферийных устройств, так и степенью
совместимости их с ЭВМ.
Под совместимостью
будем понимать возможность объединения отдельных компонентов системы в единую
операционную сеть посредством программных и аппаратных средств.
Совместимость
определяется четырьмя основными признаками: быстродействием, кодами,
используемыми для обмена, архитектурой процессора, электрическими
характеристиками. Если объединяемые компоненты не соответствуют друг другу по
одному или нескольким признакам, то они не могут быть объединены без интерфейсных
модулей.
В любой микроЭВМ
необходимы средства обмена данными с разнообразными периферийными устройствами.
В зависимости от условий конкретного применения и характеристик периферийного
оборудования передача данных производится в параллельном или последовательном
формате.
Общность функций
ввода-вывода стимулировала разработку БИС периферийных адаптеров,
представляющих собой гибкие программируемые приборы, ориентированные
исключительно на ввод-вывод.
В настоящее время
такие адаптеры стали обязательными компонентами практически всех
микропроцессорных систем. Они получили широко распространенные имена как LPT и
COM порты соответственно для параллельных и последовательных каналов ввода/вывода.
На рис. 1 приведена
структурная схема адаптера и его программная модель. Подключение периферийного
оборудования производится через три двунаправленных 8-битных порта (или канала)
A, B и С. Интерфейс с системной шиной осуществляется с помощью 14 линий:
Рисунок 1 –
Структурная схема (а) и программная модель (б) типового параллельного адаптера
А0, А1
- линии адреса, которые выбирают внутренний регистр адаптера, коммутируемый на
шину данных: 00 – порт А, 01 – порт В, 10 – порт С и 11 – регистр управления.
– L-активный вход выбора кристалла; высокий
уровень запрещается, а низкий разрешает связь прибора с системной шиной.
– L-активный вход считывания информации из
адресуемого по линиям А, регистра на шину данных.
– L-активный вход записи информации с шины
данных в адресуемый внутренний регистр адаптера.
RESET – H-активный
сигнал сброса для приведения прибора в начальное состояние; при действии сброса
регистр управления обнуляется, а все три порта переводятся в режим ввода.
Отметим, что
считывание из регистра управления ( = 0, A1,0 =
11) не допускается, а одновременные запись и считывание ( = 0 и = 0)
приводят к непредсказуемому результату.
Программирование и
обмен данными с адаптером осуществляются командами ввода IN и вывода OUT, при
выполнении которых на линиях А0¸7 (и одновременно А8¸15)
находится адресная информация.
Приемником и источником
данных в микропроцессоре является аккумулятор. Входы А0,1 адаптера
обычно подключаются к младшим линиям шины адреса, а подключение входа зависит от принятого способа выбора
адаптеров, если их несколько. В линейном выборе с кодами адреса 011111XX,
101111XX,..., 111110XX входы подключаются без
дополнительного дешифратора к соответствующим (нулевым) линиям адреса А2¸7. В этом
способе система может иметь до шести адаптеров; при большем числе адаптеров
потребуется дешифратор с L-активными выходами, вход которого подключается к
линиям А2¸7.
Рисунок 2 – Формат
управляющего слова для настройки ППА на допустимый режим
Программирование
адаптера заключается в загрузке кода (приказа) в регистр управляющего слова
(РУС). Формат приказа определения режима, идентифицируемого условием D7
= 1, приведен на рис. 2.
Отметим, что
8-битные порты А и В не разделены, а линии порта С разделены на две 4-битные
группы, представляющие собой два независимых порта. Например, приказ конфигурации
порта А на ввод в режиме 0, порта В на вывод в режиме 1, бита 3 порта С на ввод
и бита 7 порта С на вывод имеет код 10010101. Этот код загружается в
аккумулятор командой MVI и выводится в регистр управления адаптера командой
OUT.
Управляющее слово с
нулевым старшим битом D7 = 0 используется для установки или сброса
любого бита порта С. Биты D4¸6 не используются и обычно
содержат нули; биты D1¸3 содержат двоичный номер (адрес) модифицируемого бита
порта С, а бит D0 задает установку (D0 = 1) или сброс (D0
= 0) адресуемого бита. Например, приказ сброса бита 2 порта С имеет код
00000100. Приказы данного формата используются для формирования сигналов квитирования
в режимах 1 или 2. Формирование положительного импульса на выходе бита 3 порта
С реализуется следующими командами:
MVIA,00000111B;Установка бита 3
OUTРУС;Вывод в порт РУС
MVIA,00000110B;Сброс бита 3
OUTРУС;Вывод в порт РУС
Здесь РУС –
символический адрес регистра управления, который определяется интерфейсом
адаптера с системной шиной. Например, им может быть РУС = 0FBH.
Отметим, что в
приведенном фрагменте можно сэкономить один байт, заменив вторую команду MVI на
команду DCR A.
Аналогичная функция
установки и сброса отдельных бит портов А и В реализуется в три этапа:
содержимое порта вводится в аккумулятор, командами ORI и ANI с соответствующими
операндами-масками модифицируется нужный бит, а затем измененный результат выводится
в тот же порт.
Режим 0 – программно-управляемый ввод-вывод данных в
синхронном режиме по трем 8-разрядным каналам А, В и С. Каждый канал может быть
использован только для ввода или вывода информации, а канал С дополнительно
может быть разделен на два 4-разрядных канала, что обеспечивает 16 возможных
конфигураций адаптера.
Выводимые данные
фиксируются в регистрах-защелках, входящих в состав всех портов, а вводимые
данные не запоминаются, т. е. в операции считывания входного порта в
аккумулятор передается текущее состояние входных линий. Режим 0 применяется в
программно-управляемом вводе-выводе медленно меняющихся данных или постоянных
значений.
Режим 1 – обмен данными с ВУ по каналам А и В в асинхронном
режиме и режиме прерывания программы. Шесть линий порта С используются для
управления обменом.
Данный режим
предоставляет пользователю следующие возможности: запрограммировать один или
два параллельных порта с линиями квитирования и прерывания, каждая из которых
может работать на ввод или вывод; при использовании только одного порта
остальные 13 линий запрограммировать в режиме 0; при определении двух портов в
режим 1 оставшиеся 2 линии использовать для ввода или вывода.
Режим 2 – двунаправленный обмен данными с ВУ по каналу А в
режиме прерывания программы. Пять разрядов порта С используется как управляющие
для порта А.
Только группа А ППА
может быть настроена на этот режим.
Пример 1.
Необходимо настроить ППА на режим 0, причем порт А должен выполнять ввод; порт
В – ввод; порт С (4-7й разряды) – вывод; порт С (0-3й разряды) – ввод (рис. 3).
а) управляющее
слово; б) заданный режим
Рисунок 3 –
Управляющее слово для программирования ППА
Положим, что
регистр управления требуемого ППА имеет адрес 0FBH. Для задания требуемого
режима необходимо загрузить в аккумулятор МП управляющее слово (рис. 3) и по
команде OUT записать его в регистр управления ППА.
Пример 2.
Необходимо настроить ППА на режим 1, причем порт А и В должен обеспечивать
стробируемый ввод.
На рис. 4
изображены управляющие слова для настройки портов А и В.
а) порт А – ввод;
б) порт В – ввод
Рисунок 4 –
Управляющие слова для настройки ППА
Для реализации этого
режима триггер разрядов PC.4 для порта А и PC.2 для порта В должны быть
предварительно установлены в "1", если программист разрешает
прерывание.
Настройка триггеров
«разрешение прерывания» осуществляется посредством загрузки управляющего слова
с нулем в старшем разряде с помощью команды OUT в регистр управляющего слова:
для порта А: MVI A,
01011001B;PC.4:=1
0UT 0FBH;
OUT 0FB H ;
Общий формат
управляющего слова поразрядной установки порта С представлен на рис.5.
Рисунок 5 – Формат
управляющего слова поразрядной настройки установки Порта С
Пример 3. Написать
управляющее слово режима для адаптера со следующей конфигурацией:
1. Порт А – режим 0,
ввод; Порт В – режим 0, ввод; Порт С4¸С7 – вывод.
Управляющее слово
установки режима имеет вид 92 H.
2. Порт А – режим
2, ввод.
Управляющее слово
установки режима имеет вид D0H.
Следует обратить
внимание, что разряды, определяющие режим работы Порта С, в управляющем слове
равны нулю.
Пример 4. Написать
управляющее слово:
для установки
разряда С3.Ответ: 07 H
для сброса разряда
С3. Ответ: 06 H
для установки
разряда С6. Ответ: 0D H
для сброса разряда
С6. Ответ: 0C H
Установка
соответствующего уровня сигнала на выходе порта С реализуется следующими
командами МП:
OUTРУС
MVI A, 06H
OUTРУС и
т.д.
Здесь РУС –
символический адрес регистра управляющего слова ППА.
Список
использованных источников
1. Фарассат Ф., Валев С.
“Кристалл на плате” (СОВ): новая эра сборочной технологии // Технологии в
электронной промышленности. – 2005. – № 6. – C. 71 – 76.
2. Still А. CDF Run II silicon tracking projects
// Nucl. Instr. and Meth. – 2008.- A 447.-Р.
1 – 8.
3. Merkel P. et al. CDF Run IIb Silicon
Detector: Тhe Innermost Layer // IEEE Transactions on
Nuclear Science. – 2004. - Vol. 51, No 5. – Р. 2215-2219.
4. Tricomi A. The CMS Inner Tracker Silicon Microstrip
Modules: Production and test // Nucl. Instr. аnd Meth.- 2007. -
A 570. – Р. 248 – 252.