Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 30
Текст из файла (страница 30)
Структурная схема типичного интерфейса для этого случая представлена на рис. 6.2. Запрос на ПДП выдается периферийным устройством, которое устанавливает флажок (триггер) запроса. После этого при помощи логических схем ПДП микропроцессор переводится в состояние ожидания путем подачи соответствующего сигнала на специальный вывод, например Юа1т («Ожидание») или НО1П («Задержка»). При переходе в это состояние процессор выдает блоку ПДП соответствующий сигнал, снимаемый с вывода Ас)споМебпе («Подтверждение») процессора.
Большинство процессоров с возможностью ПДП имеет вентили с тремя состояниями на шине данных и адресной шине. Когда процессор выдает сигнал подтверждения состояния «Ожидание» или «Задержка», эти вентили используются для отсоединения указанных шин от процессора. В результате управление шинами передается схемам внешней логики, которые и осуществляют ПДП-передачу данных.
Для идентификации операции, производимой с памятью: ввод лли вывод (соответственно ЗАПИСЬ или ЧТЕНИЕ), на логиче. окне схемы ПДП подается управляющая информация. Регистр адреса загружается начальным адресом, и выполняется обмен данными между памятью и периферийным устройством. После передачи каждого слова содержимое адресного регистра увеличивается на единицу для определения следующей ячейки памяти. Интерфейс и периферийные устройства 133 Менее -зВм Г ! ! ! Немее нейе Рис. 6,2. Структурная схема типичного интерфейса и случае передачи данных при ПДП. После завершения обмена периферийное устройство выдает управляющий сигнал, который сбрасывает флажок запроса и дезактивирует линию запроса к процессору, что позволяет микро- ЭВМ продолжить выполнение программы. Периферийные устройства передают,н принимают данные либо в параллельном, либо в последовательном формате. В устройствах, использующих параллельный формат, таких, как клавишные пульты, аналого-цифровые и цнфро-аналоговые преобразователи, все разряды одного слова передаются одновременно.
При использовании этих устройств интерфейс просто обеспечивает электронную совместимость и необходимую синхронизацию передач данных между процессором (или шиной данных при ПДП) и периферийным устройством. В устройствах с последовательным форматом данных, таких, как телетайпы, кассетные ленты, модемы, слово данных передается поразрядно. В этом случае при обмене данными с процессором (или шивой данных при ПДП) в функцию интерфейса входит преобразование .из последовательного кода в параллельный и из параллельного в последовательный. Для этой цели могут быть использованы специальные устройства на ИС, такие, как универсальный асинхронный приемопередатчик. Для построения индивидуального интерфейса в распоряжении пользователя в настоящее время имеется широкий выбор технических средств.
В настоящей главе мы обсудим методы построения интерфейса для различных типов передачи данных. Поскольку каждый, микропроцессор имеет отличную от других архитектуру, изменения в конструкциях интерфейсов ввода-вывода довольно 184 Глава б значительны. Поэтому описания н схемы, приведенные в последу. ющнх разделах, предназначены скорее для иллюстрации основных концепций построения интерфейсов, чем для изложения нх конкретных реализаций.
Здесь же описаны отдельные компоненты интерфейсов, выполненные на ИС, а также программируемые интерфейсы. Последние представляют собой интегральные схемы, которые программируются для того, чтобы выполнять в дальнейшем различные функции интерфейсов. В конце главы рассматриваются некоторые широко.
используемые периферийные устройства. 6.2. ПРОГРАММНО УПРАВЛЯЕМАЯ ПЕРЕДАЧА ДАННЫХ Программно управляемая передача данных применяется во всех микро-ЭВМ. При данном, методе передачи специальная программа управляет обменом данными. Известны три типа программно управляемой передачи данных: синхронная, асинхронная и с прерыванием програлвмы. СИНХРОННАЯ НЕРЕДАЧА Синхронная передача характерна для периферийных устройств, для которых известны временные соотношения.
Прн этомтипе передачи устройство ввода-вывода должно быть готово к приему нлн ,передаче данных за время, равное времени выполнения определенной команды процессора. Синхронная передача производится непосредственно и реализуется прн минимальных затратах технических и программных средств.
Рассмотрим типичный пример программной реализации синхронной передачи данных. Пусть имеется система, в которой 8-разрядный аналого-цифровой преобразователь, связанный с микро- ЭВМ с 8-разрядной шиной данных, обозначен как периферийное устройство 2. Поступающая с АЦП информация обрабатывается микро-ЭВМ, н в некоторой точке программы содержимое аккуму.лятора выводится на устройство 4, которым является цифра-аналоговый преобразователь. Символическая программа процедуры с использованием мнемоники, приведенной в приложении Г (1п1е! 8008), запишется таким образом: 1Н 2 01)Т 4 В этой программе по команде 1Х 2 информация с устройства 2 (порт 2) подается на шину данных независимо от состояния Интерфейс и аериферийные устройства 136 Шию дании 44ы есть йсе СвРов- аппулм Митте Рис. 6.3.
Схема реализации синхронной передачи данных. устройства, т. е. предполагается, что устройство находится в состоянии готовности и содержимое шины данных передается в аккумулятор. Подобным же образом по команде 01)Т 4 содержимое аккумулятора поступает на шину данных, и эта информация передается в устройство 4 (порт 4) без проверки состояния этого устройства. Общая схема реализации описанного обмена показана на рис. 6.3.
При выборке из памяти команды ввода сигнал «Адрес устройства» (в нашем случае это число 0010) поступает на дешифратор 1-из-16. Дешифратор позволяет адресовать до 16 устройств ввода-вывода. Подаваемый на дешифратор импульс «Отпирание» активирует линию выбора устройства 2. Далее на вентиль И-НЕ подается строб-импульс входа, который отпирает инверторы с тремя состояниями; в результате данные передаются в аккумулятор через шину данных. Временная диаграмма такой последовательности сигналов приведена на рис. 6.4.
Когда производится вывод данных в устройство 4, выбирается команда вывода и содержимое аккумулятора поступает на шину данных. Сигналы «Адрес устройства и «Отпирание» подаются на дешифратор 1-из-16, который активирует линию выбора устройства 4. В результате отпираются инверторы и данные поступают на шину данных 1т-входов фиксаторов.
По импульсу выхода (рис.6.4) данные подаются на вход периферийного устройства 4, где ин- 186 Глава б попирание Строб- иыпульс блида Строб - иыпульс бысодо Пиная Выбора устройстба ьь линия быбора . успгроистба 4 Цинл Исполнительный Цинл Исполнительный быборни иинл броди быборни ионл быбода Рис. 6.4. Временная диаграмма синхронной передачи данных рис.
6.3. формация сохраняется до выдачи следующего приказа устройству. Для схемы, приведенной на рис. 6.3, сигналы импульсов входа и выхода, отпирания и адреса устройства генерируются микропроцессором при помощи соответствующих внешних логических схем. Поскольку каждый микропроцессор имеет свою архитектуру, структура этих схем зависит от конкретного процессора. Во всех процессорах имеются выводы состояния, которые вместе с информацией о состоянии, подаваемой на шину данных, используются для генерирования сигналов синхронизации и управления.
Сигнал адреса устройства обычно подается на адресную шину во время цикла исполнения команды ввода-вывода. Если этот адрес сохраняется на шине на время передачи, его можно подать на дешифратор при помощи схем И или буферов с тремя состояниями, которые активируются импульсом отпирания. В некоторых процессорах, однако, для передачи адреса и данных используется единственная мультиплексированная шина (например, в 1п1е1 8008).
В этом случае в определенный момент цикла требуется считать с шины адрес и запомнить его при помощи фиксаторов. Затем с выходов фиксаторов адрес устройства поступает на дешифратор. В рассмотренном выше примере предполагалось, что АЦП готов к передаче данных при поступлении приказа ввода. Для этого требуется до выполнения команды ввода активировать устройство и обеспечить временную задержку, достаточную для завершения преобразования из аналоговой формы в цифровую, что может быть реализовано, например, подачей команды вывода в другой порт (например, порт 5), как было описано выше для порта 4.
Данные из порта 5 могут быть использованы для активации преобразователя. Описанный метод обычно применяется в микро- ЭВМ для активации периферийных устройств перед выполнением операции ввода-вывода. Конгеретная.реализация этого метода рассмотрена в примере 8.2 (равд. 8.2). Интерфейс и периферийные устройства 137 КЫ арманды Рис.
6.5. Схема передачи кода команды периферийному устройству. В дополнение к функциям, описанным в вышерассмотренном примере, в некоторых процессорах (таких, как Кос)счсе!! РРБ-4) имеются команды ввода-вывода, при помощи которых управляющая информация (приказы) для периферийных устройств передается через шину данных. Код приказа по шине, соединенной со всеми периферийными устройствами, подается на соответствующее устройство через вентили, открываемые при помощи адресной шины устройства, как показано на рнс.
6.5. Периферийное устройство дешифрирует поступающую информацию и использует ее для управления действиями ЧТЕНИЕ, ЗАПИСЬ, запуск двигателя и т, п. Процессоры, обладающие такими возможностями, обеспечивают ббльшую эффективность ввода-вывода, поскольку приказы поступают на периферийное устройство, минуя аккумулятор. В тех процессорах, где такая возможность не реализована, эти приказы генерируются при помощи команд вывода. При этом для линий выбора устройства требуются специальные схемы, что описано при рассмотрении активации АЦП. АСИНХРОННАЯ ПЕРЕДАЧА Асинхронная передача данных, часто называемая обменом посредством «рукопожатия», широко используется в микро-ЭВМ 12 — 61.