RS-232 — это стандартный электрический интерфейс для последовательной передачи данных, поддерживающий асинхронную связь (RS — recommended standard — рекомендованный стандарт, 232 — его номер).
Этот стандарт соединения оборудования был разработан в 1969 году рядом крупных промышленных корпораций и опубликован Ассоциацией электронной промышленности США (Electronic Industries Association — EIA). Международный союз электросвязи ITU-T использует аналогичные рекомендации под названием V.24 и V.28.
Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) — ООД (Оконечное Оборудование Данных) и второе — DCE (Data Communications Equipment) — ОПД (Оборудование Передачи Данных).
Как правило, DTE (ООД) — это компьютер, а DCE (ОПД) — это модем, хотя RS-232 использовался и для подключения к компьютеру периферийных устройств (мышь, принтер, прибор), и для соединения с другим компьютером или контроллером. Обозначения DTE и DCE используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.
Интерфейс RS-232 (стандарт EIA-232) использует 25 контактные разъемы DB и служит для подключения последовательных устройств DTE и DCE (как в синхронном, так и в асинхронном режиме). Существуют также варианты этого интерфейса для 26-контактного разъема UD-26 (EIA-232-E/RS-232E ALT A) и усеченный вариант - для 9-контактного DB-9 (EIA-574) и RJ-45 (EIA-561) наиболее распространенные в настоящее время.
|
Контакт |
Сигнал |
EIA CKT |
От устройства DCE |
К устройству DCE |
1 |
Корпус |
AA |
|
|
2 |
Передача (Transmitted Data, TD) |
BA |
|
D |
3 |
Прием (Received Data, RD) |
BB |
D |
|
4 |
Запрос на передачу (Request to Send, RTS) |
CA |
|
C |
5 |
Готовность к передаче (Clear to Send, CTS) |
CB |
C |
|
6 |
Готовность данных (Data Set Ready, DSR) |
CC |
C |
|
7 |
Сигнальная " земля " (Signal Gnd/Common Return) |
AB |
|
|
8 |
Детектирование несущей (Rcvd. Line Signal Detector, CD, DCD) |
CF |
C |
|
9 |
Тестовое напряжение (+) |
|
|
|
10 |
Тестовое напряжение (-) |
|
|
|
11 |
Не используется |
|
|
|
12 |
Детектирование несущей, возврат (Rcvd. Line Signal Detector, CD) |
SCF |
C |
|
13 |
Готовность к передаче, возврат (Secondary Clear to Send) |
SCB |
C |
|
14 |
Передача , возврат (Secondary Transmitted Data) |
SBA |
|
D |
15 |
Тактирование передачи (Transmitter Sig. Element Timing, TSET) |
DB |
T |
|
16 |
Прием , возврат (Secondary Received Data) |
SBB |
D |
|
17 |
Тактирование приема (Receiver Sig. Element Timing, RSET) |
DD |
T |
|
18 |
Локальный шлейф (LL) |
|
|
|
19 |
Запрос на передачу , возврат (Secondary Request to Send) |
SCA |
|
C |
20 |
Готовность терминала (Data Terminal Ready, DTR) |
CD |
|
C |
21 |
Детектирование качества сигнала (Sig. Quality Detector) |
CG |
|
C |
22 |
Индикатор вызова (Ring Indicator) |
CE |
C |
|
23 |
Выбор скорости (Data Sig. Rate Selector (DCE)) |
CI |
|
C |
24 |
Тактирование передачи (Transmitter Sig. Element Timing, TSET) |
DA |
|
T |
25 |
Не используется |
|
|
|
D - данные, C - управление, T - синхронизация
Последовательный интерфейс RS-232
Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи центрального компьютера с терминалом. В настоящее время используется в самых различных применениях.
Интерфейс RS-232-C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс). Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.
Стандарт |
EIA-232(RS-232-C, CCITT V.24) |
Скорость передачи |
115 Кбит/с (максимум) |
Расстояние передачи |
15 м (максимум) |
Характер сигнала |
несимметричный по напряжению |
Количество драйверов(передатчиков) |
1 |
Количество приемников |
1 |
Схема соединения |
полный дуплекс, от точки к точке |
Порядок обмена по интерфейсу RS- 232C
Наименование |
Направление |
Описание |
Контакт
(25-конт. разъем) |
Контакт
(9-конт. разъем) |
DCD |
IN |
Carrier Detect
(Определение несущей) |
8 |
1 |
RXD |
IN |
Receive Data
(Принимаемые данные) |
3 |
2 |
TXD |
OUT |
Transmit Data
(Передаваемые данные) |
2 |
3 |
DTR |
OUT |
Data Terminal Ready
(Готовность терминала) |
20 |
4 |
GND |
- |
System Ground
(Корпус системы) |
7 |
5 |
DSR |
IN |
Data Set Ready
(Готовность данных) |
6 |
6 |
RTS |
OUT |
Request to Send
(Запрос на отправку) |
4 |
7 |
CTS |
IN |
Clear to Send
(Готовность приема) |
5 |
8 |
RI |
IN |
Ring Indicator
(Индикатор) |
22 |
9 |
Интерфейс RS- 232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS- 232C по сравнению с Centronics являются возможность передачи на значительно большие расстояния и гораздо более простой соединительный кабель. В то же время работать с ним несколько сложнее. Данные в RS- 232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим).
Компьютер имеет 25-контактный (DB25) или 9-контактный (DB9) разъем для подключения RS- 232C . Назначение контактов разъема приведено в таблице.
Назначение сигналов следующее:
FG - защитное заземление (экран).
TxD - данные, передаваемые компьютером (логика отрицательная).
RxD - данные, принимаемые компьютером (логика отрицательная).
RTS(Request to Send) - сигнал запроса передачи. Активен во все время передачи.
CTS(Clear to Send) - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
DSR - готовность данных. Используется для задания режима модема.
SG - сигнальное заземление, нулевой провод.
DCD - обнаружение несущей данных (детектирование принимаемого сигнала).
DTR - готовность выходных данных.
RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.
Наиболее часто используются трех- или четырехпроводная связь (для двунапрaвленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке 1.1.
Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.
Формат передаваемых данных показан на рисунке 1.2. Собственно данные (5, 6, 7 или 8 бит) соопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определннные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение - не более 10%). Скорость передачи по RS- 232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.
Рис. 1.1 Схема 4-проводной линии связи для RS- 232C .
Все сигналы RS- 232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис.1.3.). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).
Для подключения произвольного УС к компьютеру через RS- 232C обычно используют трех- или четырехпроводную линию связи (см. рис. 1.1), но можно задействовать и другие сигналы интерфейса.
Рис. 1.2 Формат данных RS- 232C
Обмен по RS- 232C осуществляется с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса 2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3F8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена UART (Universal Asynchronous Receiver/Transmitter), например, i8250, КР580ВВ51.
Рис.1.3 Уровни сигналов RS- 232C на передающем и принимающем концах линии связи.
Ключевые моменты:
1. Любая программа, способная обращаться к COM-портам c номерами от 5 и выше, скорее всего использует вызовы Windows API и потому есть большая вероятность того, что она будет работать и с USB'шным COM-портом.
2. Прикладная программа, работающая через специфические драйверы, может вызвать проблемы: "заказные" драйверы могут отсылать портам специальные команды, не распознаваемые Windows. Такая ситуация может не позволить обращаться к COM-порту через USB.
3. В случаях, когда прикладное ПО требует от пользователя указать адрес ввода-вывода и IRQ, есть большая вероятность того, что это ПО не распознает адаптер USB / RS232.
|