Справочное пособие по цифровой электронике
Шрифт:
К сожалению, различие между терминальным и связным оборудованием довольно расплывчато, поэтому возникают некоторые сложности в понимании того, к какому типу оборудования относится то или иное устройство.
Рассмотрим, например, ситуацию с принтером. К какому оборудованию его отнести? Еще вопрос: как связать два микрокомпьютера, когда они оба действуют как терминальное оборудование?
Для ответа на эти вопросы следует рассмотреть физическое соединение устройств.
Произведя незначительные изменения в линиях интерфейса RS-232C, можно заставить связное оборудование функционировать как терминальное.
Сигналы интерфейса RS-232C. По-видимому, читатели знакомы с видом «стандартного» последовательного порта RS-232C, который всегда имеет форму 25-контактного разъема типа D.
Терминальное оборудование обычно оснащено разъемом со штырьками, а связное — разъемом с отверстиями (но могут быть и исключения).
Разводка контактов разъема RS-232C показана на рис. 8.2, а функции сигнальных линий приведены в табл. 8.1.
Рис. 8.2. Назначение линий 25-контактного разъема типа D для интерфейса RS-232C
Примечания:
1. Линии (контакты) 11, 18 и 25 обычно считаются незаземленными. Приведенные в таблице функции относятся к спецификациям Bell 113В и 208А.
2. Линии 9 и 10 используются для контроля отрицательного (MARK) и положительного (SPACE) уровней напряжения.
3. Чтобы избежать путаницы между RD (Read — считывать) и RD (Received Data — принимаемые данные), будем пользоваться обозначениями RXD и TXD, а не RD и TD.
4. Иногда отдельные фирмы используют запасные линии RS-232C для контроля или специальных функций, относящихся к конкретной аппаратуре (по неиспользуемым линиям подают даже питание и аналоговые сигналы, так что будьте внимательны).
Классы сигналов. Сигналы интерфейса RS-232C подразделяются на следующие классы.
Последовательные данные (например, TXD, RXD). Интерфейс RS-232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т. е. одновременно осуществляют передачу и прием информации.
Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования — это средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактических передачи или приема данных по последовательной линии связи.
Сигналы синхронизации (например, ТС, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации,
На практике вспомогательный канал RS-232C применяется редко, и в асинхронном режиме из 25 линий обычно используются только девять линий (контактов), которые приведены в табл. 8.2.
В большинстве систем, содержащих интерфейс RS-232C, данные передаются асинхронно, т. е. в виде последовательности пакетов данных. Каждый пакет содержит один символ кода ASCII (американский стандартный код для обмена информацией), причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации.
Символы кода ASCII представляются семью битами, например буква А имеет код 1000001. Чтобы передать букву А по интерфейсу RS-232C, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит для простого контроля ошибок по паритету (четности).
Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Эквивалентный ТТЛ-сигнал при передаче буквы А показан на рис. 8.3.
< image l:href="#"/>Рис. 8.3. Представление кода буквы А сигнальными уровнями ТТЛ.
Начало пакета данных всегда отмечает низкий уровень стартового бита. После него следует 7 бит данных символа кода ASCII. Бит паритета содержит 1 или 0 так, чтобы общее число единиц в 8-битной группе было нечетным (нечетный паритет — нечетность) или четным (четный паритет — четность). Последними передаются два стоповых бита, представленных высоким уровнем напряжения.
Таким образом, полное асинхронно передаваемое слово данных состоит из 11 бит (фактические данные содержат только 7 бит) и записывается в виде 01000001011. Здесь использован четный паритет, поэтому девятый бит содержит 0.
К сожалению, используемые в интерфейсе RS-232C уровни сигналов отличаются от уровней сигналов, действующих в микрокомпьютере. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25 В, а логическая 1 (MARK) — отрицательным напряжением в диапазоне от —3 до —25 В.
На рис. 8.4 показан сигнал пакета данных для кода буквы А в том виде, в каком он существует на линиях TXD или RXD интерфейса RS-232C.
Рис. 8.4. Вид кода буквы А на сигнальных линиях TXD или RXD
Сдвиг уровня, т. е. преобразование ТТЛ-уровней в уровни интерфейса RS-232C и наоборот, производится специальными микросхемами драйвера линии и приемника линии. Разводка контактов наиболее популярных микросхем 1488 и 1489 показана на рис. 8.5.