Передача данных посредством интерфейса RS232 с использованием нуль-модемного соединения компьютеров.
Теоретические сведения.
Последовательный интерфейс RS-232C (официально – EIA/TIA-232-E) – это промышленный стандарт для последовательной двунаправленной синхронно/асинхронной передачи данных.
Основными преимуществами использования RS-232C по сравнению с другими способами соединений являются возможность передачи на большие расстояния (по стандарту длина соединительного кабеля может доходить до 15 метров. В то же время работать с RS-232C несколько сложнее. Данные в интерфейсе RS-232C передаются в последовательном коде (бит за битом) побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону по разным проводам (дуплексный режим). Скорость передачи — до 14,4 Кбайт/с (115,2 Кбит/с).
Интерфейс RS–232C является наиболее широко распространенной стандартной последовательной связью между компьютерами и периферийными устройствами. Интерфейс, определенный стандартом Ассоциации электронной промышленности (EIA), подразумевает наличие оборудования двух видов: терминального (DTE) и связного (DCE).
Терминальное оборудование, например компьютер, может посылать и (или) принимать данные по последовательному интерфейсу. Оно как бы оканчивает (terminate) последовательную линию. Связное оборудование – устройства, которые могут упростить передачу данных совместно с терминальным оборудованием. Наглядным примером связного оборудования служит модем (модулятор–демодулятор). Он оказывается соединительным звеном в последовательной цепочке между компьютером и телефонной линией.
Таблица 4
Функции сигналов интерфейса RS–232C
Номер контакта | Сокращение | Направление | Полное название |
1 | FG, GND (Ground) | — | Основная или защитная земля |
2 | TxD (Transmit Data) | К DCE | Передаваемые данные |
3 | RxD (Receive Data) | К DTE | Принимаемые данные |
4 | RTS (Request to Send) | К DCE | Запрос абоненту о возможности передавать ему данные |
5 | CTS (Clear to Send) | К DTE | Сброс передачи |
6 | DSR (Data Set Ready) | К DTE | Готовность DCE |
7 | SG (Signal Ground) | — | Сигнальная земля (общий провод) |
8 | DCD (Data Carrier Detected) | К DTE | Обнаружение несущей данных (связь есть) |
9 | — | К DTE | (Положительное контрольное напряжение) |
10 | — | К DTE | (Отрицательное контрольное напряжение) |
11 | QM | К DTE | Режим выравнивания |
12 | SDCD | К DTE | Обнаружение несущей вторичных данных |
13 | SCTS | К DTE | Вторичный сброс передачи |
14 | STD | К DCE | Вторичные передаваемые данные |
15 | TC | К DTE | Синхронизация передатчика |
16 | SRD | К DTE | Вторичные принимаемые данные |
17 | RC | К DTE | Синхронизация приемника |
18 | DCR | К DCE | Разделенная синхронизация приемника |
19 | SRTS | К DCE | Вторичный запрос передачи |
20 | DTR (Data Terminal Ready) | К DCE | Готовность терминала |
21 | SQ | К DTE | Качество сигнала |
22 | RI (Ring Indicator) | К DTE | Индикатор звонка |
23 | DSRD | К DCE | (Селектор скорости данных) |
24 | TC | К DCE | Внешняя синхронизация передатчика |
25 | — | К DCE | (Занятость) |
Сигналы интерфейса RS–232C подразделяются на следующие классы:
– Последовательные данные (например, TXD, RXD). Интерфейс RS–232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием информации.
– Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования — средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактической передачи или приема данных по последовательной линии связи.
– Сигналы синхронизации (например, TC, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в целях его декодирования.
В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный. Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи. Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).
Аппаратный метод управления реализуется с помощью сигналов RTS и CTS. Для передачи данных хост (компьютер) устанавливает сигнал RTS и ждет установки устройством сигнала CTS, после чего начинает передачу данных до тех пор, пока сигнал CTS установлен. Сигнал CTS проверяется хостом непосредственно перед началом передачи очередного байта, поэтому байт, который уже начал передаваться, будет передан полностью независимо от значения CTS. В полудуплексном режиме обмена данными (устройство и хост передают данные по очереди, в полнодуплексном режиме они могут делать это одновременно) снятие сигнала RTS хостом означает его переход в режим приема.
Программный метод управления заключается в передаче принимающей стороной специальных символов остановки (символ с кодом 0x13, называемый XOFF) и возобновления (символ с кодом 0x11, называемый XON) передачи. При получении данных символов передающая сторона должна соответственно остановить передачу или возобновить ее (при наличии данных, ожидающих передачи).
Синхронный режим передачи подразумевает непрерывный обмен данными, когда биты следуют один за другим без дополнительных пауз с заданной скоростью. Этот режим COM-портом не поддерживается.
Асинхронный режим передачи состоит в том, что каждый байт данных (и бит контроля четности, в случае его наличия) «оборачивается» синхронизирующей последовательностью из одного нулевого старт-бита и одного или нескольких единичных стоп-битов.