Организация интерфейса в микро ЭВМ (47893)

Посмотреть архив целиком















ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА В МИКРОЭВМ



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

Система шин, вспомогательной аппаратуры и алгоритмов, реализованных на этом оборудовании, предназначенная для организации обмена между МП, памятью и УВВ, называется интерфейсом.

В функции интерфейса входят дешифрация адреса устройств, синхронизация обмена информацией, согласование форматов слов, дешифрация кода команды, связанной с обращением к памяти или УВВ, электрическое согласование сигналов и некоторые другие операции.

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

а) устройством управления памятью и вводом-выводом, входящим в состав МП;

б) непосредственно интерфейсным устройством, являющимся промежуточным звеном между МП, с одной стороны, и памятью и УВВ, с другой;

в) специализированными устройствами управления (контроллерами) УВВ, предназначенными для реализации алгоритмов управления, специфических для различных УВВ.

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

Более сложные ЗУ и УВВ соединяются с МП обязательно через дополнительные интерфейсные устройства, выполненные на основе СИС и МИС или (в некоторых МПК) в виде специальных БИС. Разработка БИС обусловливается значительной сложностью функции интерфейсных устройств: при отсутствии БИС в некоторых случаях может потребоваться до нескольких сотен корпусов СИС и МИС.

Наконец, существуют сложные ЗУ и УВВ со специфическими алгоритмами управления (магнитные диски и ленты, электронно-лучевые трубки и т.д.), реализация которых возможна лишь специальными контроллерами.

Сложность внешнего интерфейса определяется как сложностью периферийных устройств, так и степенью совместимости их с ЭВМ.

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

Совместимость определяется четырьмя основными признаками: быстродействием, кодами, используемыми для обмена, архитектурой процессора, электрическими характеристиками. Если объединяемые компоненты не соответствуют друг другу по одному или нескольким признакам, то они не могут быть объединены без интерфейсных модулей.

В любой микроЭВМ необходимы средства обмена данными с разнообразными периферийными устройствами. В зависимости от условий конкретного применения и характеристик периферийного оборудования передача данных производится в параллельном или последовательном формате.

Общность функций ввода-вывода стимулировала разработку БИС периферийных адаптеров, представляющих собой гибкие программируемые приборы, ориентированные исключительно на ввод-вывод.

В настоящее время такие адаптеры стали обязательными компонентами практически всех микропроцессорных систем. Они получили широко распространенные имена как LPT и COM порты соответственно для параллельных и последовательных каналов ввода/вывода.

На рис. 1 приведена структурная схема адаптера и его программная модель. Подключение периферийного оборудования производится через три двунаправленных 8-битных порта (или канала) A, B и С. Интерфейс с системной шиной осуществляется с помощью 14 линий:


Рисунок 1 – Структурная схема (а) и программная модель (б) типового параллельного адаптера


D07 – двунаправленная шина данных с трехстабильными каскадами.

А0, А1 - линии адреса, которые выбирают внутренний регистр адаптера, коммутируемый на шину данных: 00 – порт А, 01 – порт В, 10 – порт С и 11 – регистр управления.

L-активный вход выбора кристалла; высокий уровень запрещается, а низкий разрешает связь прибора с системной шиной.

L-активный вход считывания информации из адресуемого по линиям А, регистра на шину данных.

L-активный вход записи информации с шины данных в адресуемый внутренний регистр адаптера.

RESET – H-активный сигнал сброса для приведения прибора в начальное состояние; при действии сброса регистр управления обнуляется, а все три порта переводятся в режим ввода.

Отметим, что считывание из регистра управления ( = 0, A1,0 = 11) не допускается, а одновременные запись и считывание ( = 0 и = 0) приводят к непредсказуемому результату.

Программирование и обмен данными с адаптером осуществляются командами ввода IN и вывода OUT, при выполнении которых на линиях А07 (и одновременно А815) находится адресная информация.

Приемником и источником данных в микропроцессоре является аккумулятор. Входы А0,1 адаптера обычно подключаются к младшим линиям шины адреса, а подключение входа зависит от принятого способа выбора адаптеров, если их несколько. В линейном выборе с кодами адреса 011111XX, 101111XX,..., 111110XX входы подключаются без дополнительного дешифратора к соответствующим (нулевым) линиям адреса А27. В этом способе система может иметь до шести адаптеров; при большем числе адаптеров потребуется дешифратор с L-активными выходами, вход которого подключается к линиям А27.


Рисунок 2 – Формат управляющего слова для настройки ППА на допустимый режим


Программирование адаптера заключается в загрузке кода (приказа) в регистр управляющего слова (РУС). Формат приказа определения режима, идентифицируемого условием D7 = 1, приведен на рис. 2.

Отметим, что 8-битные порты А и В не разделены, а линии порта С разделены на две 4-битные группы, представляющие собой два независимых порта. Например, приказ конфигурации порта А на ввод в режиме 0, порта В на вывод в режиме 1, бита 3 порта С на ввод и бита 7 порта С на вывод имеет код 10010101. Этот код загружается в аккумулятор командой MVI и выводится в регистр управления адаптера командой OUT.

Управляющее слово с нулевым старшим битом D7 = 0 используется для установки или сброса любого бита порта С. Биты D46 не используются и обычно содержат нули; биты D13 содержат двоичный номер (адрес) модифицируемого бита порта С, а бит 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 записать его в регистр управления ППА.


Случайные файлы

Файл
103331.rtf
18589.rtf
70931.rtf
35756.rtf
111560.doc




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.