Интерфейс RS-
Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются возможность передачи на большие расстояния (по стандарту длина соединительного кабеля может доходить до 15 метров) и гораздо более простой кабель (с меньшим количеством проводов). В то же время работать с RS-232C несколько сложнее. Данные в интерфейсе RS-232C передаются в последовательном коде (бит за битом) побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону по разным проводам (дуплексный режим). Скорость передачи — до 14,4 Кбайт/с (115,2 Кбит/с).
Компьютер имеет 25-контактный разъем (типа DB25P) или 9-контактный разъем (типа DB9P) для подключения кабеля интерфейса RS-232C. Назначение контактов разъема приведено в табл. 8.8 (в таблице применены обозначения: I — входной сигнал компьютера, O — выходной сигнал компьютера).
FG | 1 | - | - |
-T x D | 2 | 3 | O |
-R x D | 3 | 2 | I |
RTS | 4 | 7 | O |
CTS | 5 | 8 | I |
DSR | 6 | 6 | I |
SG | 7 | 5 | - |
DCD | 8 | 1 | I |
DTR | 20 | 4 | O |
RI | 22 | 9 | I |
Назначение сигналов интерфейса RS-232C следующее:
- FG — защитное заземление (экран).
- -TxD — данные, передаваемые компьютером в последовательном коде (логика отрицательная).
- -RxD — данные, принимаемые компьютером в последовательном коде (логика отрицательная).
- RTS — сигнал запроса передачи. Активен во все время передачи.
- CTS — сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
- DSR — готовность данных. Используется для задания режима модема.
- SG — сигнальное заземление, нулевой провод.
- DCD — обнаружение несущей данных (детектирование принимаемого сигнала).
- DTR — готовность выходных данных.
- RI — индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.
Чаще всего используется трех- или четырехпроводная связь (для двунаправленной передачи).
Схема соединения двух устройств при четырехпроводной линии связи показана на рис. 8.8.
![](image/8-3-interfejs-rs-232c_1.gif)
Рис. 8.8. Схема четырехпроводной линии связи для RS-232C.
Для двухпроводной линии связи в случае передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.
Формат передаваемых данных показан на рис. 8.9. Собственно данные (содержащие 5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми (допустимое расхождение — не более 10%). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.
Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис. 8.10). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю — высокий уровень).
Обмен по RS-232C осуществляется компьютером с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8...3FF, прерывание IRQ4), COM2 (адреса 2F8...2FF, прерывание IRQ3), COM3 (адреса 3E8...3EF, прерывание IRQ10), COM4 (адреса 2E8...2EF, прерывание IRQ11).
![](image/8-3-interfejs-rs-232c_2.gif)
Рис. 8.9. Формат данных RS-232C.
![](image/8-3-interfejs-rs-232c_3.gif)
Рис. 8.10. Уровни сигналов RS-232C на передающем и принимающем концах линии связи.
Для реализации интерфейса применяются микросхемы универсальных асинхронных приемопередатчиков (УАПП, UART — Universal Asynchronous Receiver/Transmitter) типа i8250, 16550А или их аналоги. Компьютер с помощью посылки управляющих кодов может выбрать скорость обмена, формат передаваемых посылок (количество битов данных, проверка четности, использование стоповых битов), разрешить или запретить прерывания, а также установить или сбросить управляющие сигналы.Имеется также возможность прочитать слово состояния UART для определения источника прерывания или состояний флагов.