Организация ввода вывода в микропроцессорной системе
Скачать 343 Kb.
|
5.3. Стандартные интерфейсыВо многих случаях необходимо подключить к микропроцессорной системе какое-либо стандартное периферийное устройство. Такие устройства обычно имеют встроенные средства для подключения к вычислительной системе. Эти средства принято называть интерфейсом, но по принятой нами классификации их точнее будет называть стандартными интерфейсами. Стандартные интерфейсы RS232C и Centronics – одни из самых распространенных. RS232C это последовательный, а Centronics – параллельный интерфейс. Интерфейс RS-232C определен стандартом Ассоциации электронной промышленности и подразумевает наличие оборудования двух типов: терминального – DTE (оконечное оборудование данных – ООД в русском варианте) и связного – DCE (аппаратура передачи данных –АПД). Терминальная аппаратура, например компьютер, может посылать и (или) принимать данные по последовательному интерфейсу. Оно как бы оканчивает последовательную линию. Связная аппаратура – это устройства, которые могут упростить последовательную передачу совместно с терминальной аппаратурой. Наглядный пример связного оборудования – модем, устройство которое кодирует информацию при передаче по телефонной линии и декодирует при приеме. Схема обмена информации между двумя ЭВМ по телефонной линии приведена на рис.5.5. В качестве ООД могут выступать также дисплей, принтер и т.д. В большинстве систем, содержащих интерфейс RS232C, данные передаются асинхронно, то есть в виде последовательности, пакетов данных. Каждый пакет содержит 1 байт данных, причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации. Рис. 5.5. Схема обмена по последовательному каналу Чтобы передать байт данных по интерфейсу RS-232C, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того желательно добавить лишний бит для простого контроля ошибок по паритету (четности). Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Начало пакета данных всегда отмечает низкий уровень стартового бита. После него следует восемь бит данных. Бит паритета содержит 1 или 0 так, чтобы общее число единиц в восьмибитной группе было нечетным (нечетный паритет) или четным (четный паритет). Последними передаются два стоповых бита, представленных высоким уровнем напряжения. Таким образом, полное асинхронно передаваемое слово данных состоит из 12 бит (фактические данные содержат только 8 бит). К сожалению, используемые в интерфейсе RS-232C уровни сигналов отличаются от уровней сигналов, действующих в компьютере. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25В, а логическая 1 (MARK) - отрицательным напряжение в диапазоне от -3 до - 25В. На рис.6.6 показан сигнал пакета данных для кода буквы А в том виде, в котором он существует на линиях интерфейса RS232C. Сдвиг уровня, то есть преобразование ТТЛ-уровней в уровни интерфейса RS232C, и наоборот, производится специальными схемами. Сигналы интерфейса RS-232C подразделяются на следующие классы. Последовательные данные (например, TXD, RXD). Интерфейс RS232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием информации. Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования – это средство, с помощью которого обмен сигналами позволяет АПД начать диалог с ООД до фактических передачи или приема данных по последовательной линии связи. Сигналы синхронизации (например, TC, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в цепях его декодирования. Рис. 5.6. Пакет посылки Интерфейс Centronics обеспечивает радиальное подключение устройств с параллельной передачей информации к компьютеру. Передача данных осуществляется между одним источником (И) и одним приемником (П). Основным назначением интерфейса Centronics является подключение к компьютеру принтеров различных типов. Поэтому распределение контактов разъема, назначение сигналов, программные средства управления интерфейсом ориентированы именно на это использование. В то же время с помощью данного интерфейса можно подключать к компьютеру и другие внешние устройства. Сигналы Centronics имеют следующее назначение (тип выходных каскадов для всех сигналов – ТТЛ): DO...D7 – 8-разрядная шина данных для передачи из компьютера в принтер. Логика сигналов положительная. STROBE – сигнал стробирования данных. Данные действительны как по переднему, так и по заднему фронту этого сигнала. Сигнал говорит приемнику, что можно принимать данные. ACK – сигнал подтверждения принятия данных и готовности приемника принять следующие данные. BUSY – сигнал занятости приемника обработкой полученных данных и неготовности принять следующие данные. Активен также при ошибке. Остальные сигналы не являются обязательными. Временная диаграмма цикла передачи данных представлена на рис. 5.7. Рис. 5.7. Временные диаграммы цикла передачи данных в Centronics (все временные интервалы в наносекундах) Перед началом цикла передачи данных источник должен убедиться, что сняты сигналы BUSY и АСК. После этого выставляются данные, формируется строб, снимается строб и снимаются данные. При получении строба приемник формирует сигнал BUSY, а после окончания обработки данных выставляет сигнал АСК, снимает BUSY и снимает АСК. Затем может начинаться новый цикл. Все сигналы интерфейса Centronics передаются в уровнях ТТЛ и рассчитаны на подключение одного стандартного входа ТТЛ. Максимальная длина соединительного кабеля по стандарту – 1,8 м. Вопросы для повторения Для чего нужен интерфейс в микропроцессорной системе? Что называют протоколом обмена? Как классифицируют интерфейсы? Какую функцию выполняют в составе интерфейса порты ввода/вывода? Как адресуются порты ввода/вывода в микропроцессорных системах? Почему в микропроцессорных системах используются специальные режимы ввода/вывода? В чем достоинство ввода/вывода данных в режиме прерываний? Нарисуйте блок-схему микропроцессорной системы, в которой реализована возможность обмена данными с внешними устройствами в режиме прерываний. За счет чего в режиме прямого доступа к памяти повышается скорость обмена данными с внешним устройством? |