Порты ПЭВМ. Интерфейс RS–232C

Микропроцессорная система
без средств ввода и вывода оказывается бесполезной. Характеристики и объемы
ввода и вывода в системе определяются, в первую очередь, спецификой ее
применения — например, в микропроцессорной системе управления некоторым
промышленным процессом не требуется клавиатура и дисплей, так как почти
наверняка ее дистанционно программирует и контролирует главный микрокомпьютер (с
использованием последовательной линии RS–232C). Поскольку данные обычно
представлены на шине микропроцессора в параллельной форме (байтами, словами), их
последовательный ввод–вывод оказывается несколько сложным. Для последовательного
ввода потребуется средства преобразования последовательных входных данных в
параллельные данные, которые можно поместить на шину. С другой стороны, для
последовательного вывода необходимы средства преобразования параллельных данных,
представленных на шине, в последовательные выходные данные. В первом случае
преобразование осуществляется регистром сдвига с последовательным входом и
параллельным выходом (SIPO), а во втором — регистром сдвига с параллельным
входом и последовательным выходом (PISO). Последовательные данные передаются в
синхронном или асинхронном режимах. В синхронном режиме все передачи
осуществляются под управлением общего сигнала синхронизации, который должен
присутствовать на обоих концах линии связи. Асинхронная передача подразумевает
передачу данных пакетами; каждый пакет содержит необходимую информацию,
требующуюся для декодирования содержащихся в нем данных. Конечно, второй режим
сложнее, но у него есть серьезное преимущество: не нужен отдельный сигнал
синхронизации. Существуют специальные микросхемы ввода и вывода, решающие
проблемы преобразования, описанные выше. Вот список наиболее типичных сигналов
таких микросхем: RXD — принимаемые данные (входные
последовательные данные); CTS — сброс передачи. На этой линии периферийное устройство формирует
сигнал низкого уровня, когда оно готово воспринимать информацию от
процессора; RTS — запрос передачи. На эту линию микропроцессорная система
выдает сигнал низкого уровня, когда она намерена передавать данные в
периферийное устройство. Все сигналы программируемых микросхем
последовательного ввода–вывода ТТЛ–совместимы. Эти сигналы рассчитаны только на
очень короткие линии связи. Для последовательной передачи данных на значительные
расстояния требуются дополнительные буферы и преобразователи уровней, включаемые
между микросхемами последовательного ввода–вывода и линией связи. Интерфейс RS–232C является наиболее широко
распространенной стандартной последовательной связью между микрокомпьютерами и
периферийными устройствами. Интерфейс, определенный стандартом Ассоциации
электронной промышленности (EIA), подразумевает наличие оборудования двух видов:
терминального DTE и связного DCE. Чтобы не составить неправильного
представления об интерфейсе RS–232C, необходимо отчетливо понимать различие
между этими видами оборудования. Терминальное оборудование, например
микрокомпьютер, может посылать и (или) принимать данные по последовательному
интерфейсу. Оно как бы оканчивает (terminate) последовательную линию. Связное
оборудование — устройства, которые могут упростить передачу данных совместно с
терминальным оборудованием. Наглядным пример связного оборудования служит модем
(модулятор–демодулятор). Он оказывается соединительным звеном в последовательной
цепочке между компьютером и телефонной линией. Различие между терминальными и
связными устройствами довольно расплывчато, поэтому возникают некоторые
сложности в понимании того, к какому типу оборудования относится то или иное
устройство. Рассмотрим ситуацию с принтером. К какому оборудованию его отнести?
Как связать два компьютера, когда они оба действуют как терминальное
оборудование. Для ответа на эти вопросы следует рассмотреть физическое
соединение устройств. Произведя незначительные изменения в линиях интерфейса RS–
232C, можно заставить связное оборудование функционировать как терминальное.
Чтобы разобраться в том, как это сделать, нужно проанализировать функции
сигналов интерфейса RS–232C (таблица 1). TD (TXD) К
DTE Запрос передачи — — QM Вторичные передаваемые
данные — К
DCE Линии 11, 18, 25
обычно считают незаземленными. Приведенная в таблице спецификация относится к
спецификациям Bell 113B и 208A. Во
избежание путаницы между RD (Read — считывать) и RD (Received Data — принимаемые
данные) будут использоваться обозначения RXD и TXD, а не RD и
TD. Рис. 1. Назначение линий
25–контактного разъема типа D для интерфейса RS–232C Терминальное
оборудование обычно оснащено разъемом со штырьками, а связное — разъемом с
отверстиями (но могут быть и исключения). Последовательные данные (например, TXD,
RXD). Интерфейс RS–232C обеспечивает два независимых последовательных канала
данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут
работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием
информации. Управляющие сигналы квитирования (например, RTS, CTS). Сигналы
квитирования — средство, с помощью которого обмен сигналами позволяет DTE начать
диалог с DCE до фактической передачи или приема данных по последовательной линии
связи. Сигналы синхронизации (например, TC, RC). В синхронном режиме (в
отличие от более распространенного асинхронного) между устройствами необходимо
передавать сигналы синхронизации, которые упрощают синхронизм принимаемого
сигнала в целях его декодирования. На практике вспомогательный канал RS–232C
применяется редко, и в асинхронном режиме вместо 25 линий используются 9 линий
(таблица 2). Номер
контакта Подключение земли к стойке или шасси
оборудования Последовательные данные, передаваемые от DTE к
DCE В большинстве схем, содержащих интерфейс RS–232C, данные передаются
асинхронно, т.е. в виде последовательности пакета данных. Каждый пакет содержит
один символ кода ASCII, причем информация в пакете достаточна для его
декодирования без отдельного сигнала синхронизации. Символы кода ASCII
представляются семью битами, например буква А имеет код 1000001. Чтобы передать
букву А по интерфейсу RS–232C, необходимо ввести дополнительные биты,
обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит
для простого контроля ошибок по паритету (четности). Наиболее широко
распространен формат, включающий в себя один стартовый бит, один бит паритета и
два стоповых бита. Начало пакета данных всегда отмечает низкий уровень
стартового бита. После него следует 7 бит данных символа кода ASCII. Бит
четности содержит 1 или 0 так, чтобы общее число единиц в 8–битной группе было
нечетным. Последним передаются два стоповых бита, представленных высоким уровнем
напряжения. Эквивалентный ТТЛ–сигнал при передаче буквы А показан на рис.
2. Рис. 2.
Представление кода буквы А сигнальными уровнями ТТЛ. Таким
образом, полное асинхронно передаваемое слово состоит из 11 бит (фактически
данные содержат только 7 бит) и записывается в виде 01000001011. Используемые
в интерфейсе RS–232C уровни сигналов отличаются от уровней сигналов, действующих
в компьютере. Логический 0 (SPACE) представляется положительным напряжением в
диапазоне от +3 до +25 В, логическая 1 (MARK) — отрицательным напряжением в
диапазоне от –3 до –25 В. На рис. 3 показан сигнал в том виде, в каком он
существует на линиях TXD и RXD интерфейса RS–232C. Рис. 3. Вид кода буквы А на
сигнальных линиях TXD и RXD. Сдвиг уровня, т.е. преобразование
ТТЛ–уровней в уровни интерфейса RS–232C и наоборот производится специальными
микросхемами драйвера линии и приемника линии. На рис. 4 представлен типичный
микрокомпьютерный интерфейс RS–232C. Программируемая микросхема DD1
последовательного ввода осуществляет параллельно–последовательные и
последовательно–параллельные преобразования данных. Микросхемы DD2 и DD3
производят сдвиг уровней для трех выходных сигналов TXD, RTS, DTR, а микросхема
DD4 — для трех входных сигналов RXD, CTS, DSR. Микросхемы DD2 и DD3 требуют
напряжения питания ±12 В. Рис. 4. Типичная
схема интерфейса RS–232C. Разработано несколько новых
стандартов, направленных на устранение недостатков первоначальных спецификаций
интерфейса RS–232C. Среди них можно отметить интерфейс RS–422 (балансная
система, допускающая импеданс линии до 50 Ом), RS–423 (небалансная система с
минимальным импедансом линии 450 Ом) и RS–449 (стандарт с высокой скоростью
передачи данных, в котором несколько изменены функции схем и применяется 37–
контактный разъем типа D). Соединители. Эти дешевые устройства упрощают перекрестные соединения
сигнальных линий интерфейса RS–232C. Они обычно оснащаются двумя разъемами типа
D (или ленточными кабелями, имеющими розетку и вставку), и все линии проводятся
к той области, куда можно вставить перемычки. Такие устройства включаются
последовательно с линиями интерфейса RS–232C, и затем проверяются различные
комбинации подключений. Трансформаторы разъема. Обычно эти приспособления
имеют разъем RS–232C со штырьками на одной стороне и разъем с отверстиями на
другой стороне. Пустые модемы. Как и предыдущие устройства, пустые модемы
включаются последовательно в тракт данных интерфейса RS–232C. Их функции
заключаются в изменении сигнальных линий таким образом, чтобы превратить DTE в
DCE. Линейные мониторы. Мониторы индицируют логические состояния (в терминах
MARK и SPACE) наиболее распространенных сигнальных линий данных и квитирования.
С их помощью пользователь получает информацию о том, какие сигналы в системе
присутствуют и активны. Врезки. Эти устройства обеспечивают доступ к
сигнальным линиям. В них, как правило, совмещены возможности соединителей и
линейных мониторов и, кроме того, предусмотрены переключатели или перемычки для
соединения линий с обоих сторон устройства. Интерфейсные тестеры. По своей
конструкции эти устройства несколько сложнее предыдущих простых устройств. Они
позволяют переводить линии в состояния MARK или SPACE, обнаруживать помехи,
измерять скорость передачи данных и индицировать структуру слова
данных. Тули М. Справочное
пособие по цифровой электронике: Пер. с англ. — М.: Энергоатомиздат,
1990.