

RS-232 (англ. Recommended Standard 232, другое название EIA232[1]) — стандарт физического уровня для асинхронного интерфейса (UART). Устройство, поддерживающее этот стандарт, широко известно как последовательный порт персональных компьютеров. Исторически стандарт имел широкое распространение в телекоммуникационном оборудовании. В настоящее время используется для подключения к компьютерам широкого спектра оборудования, нетребовательного к скорости обмена, особенно при значительном удалении его от компьютера и отклонении условий применения от стандартных. В компьютерах, занятых офисными и развлекательными приложениями, практически вытеснен интерфейсом USB.
RS-232 обеспечивает передачу данных и некоторых специальных сигналов между терминалом (англ. Data Terminal Equipment, DTE) и коммуникационным устройством (англ. Data Communications Equipment, DCE) на расстояние до 15 метров на максимальной скорости (115200 бод). Так как этот интерфейс известен не только простотой программирования, но и неприхотливостью, в реальных условиях это расстояние увеличивается во много раз с примерно пропорциональным снижением скорости.
Протокол интерфейса предполагает два режима передачи данных — синхронный и асинхронный, а также два метода управления обменом данных — аппаратный и программный. Каждый режим может работать с любым методом управления. В протоколе также предполагается вариант управления передачей данных по специальным сигналам, устанавливаемым хостом (DSR — сигнал состояния готовности, DTR — сигнал готовности передачи данных).
Для передачи данных по интерфейсу RS-232 используется код NRZ, который не является самосинхронизирующимся, поэтому для синхронизации используются стартовый и стоповый биты, позволяющие выделить битовую последовательность и синхронизировать приёмник с передатчиком.
Назначение
Изначально создавался для подключения телефонных модемов к компьютерам[источник не указан 2335 дней]. В связи с такой специализацией имеет рудименты, например, в виде отдельной линии RING («звонок»). Постепенно телефонные модемы перешли на другие интерфейсы (USB), но разъём для RS-232 имелся на всех персональных компьютерах, и многие изготовители оборудования использовали его для подключения своего оборудования (например, компьютерной мыши).
В настоящее время чаще всего используется в промышленном и узкоспециальном оборудовании, встраиваемых устройствах. На портативных компьютерах (ноутбуках, нетбуках, КПК и т. п.) широкого применения RS-232 не нашёл, однако материнские платы стационарных персональных компьютеров до недавнего времени ещё содержали RS-232 — либо в виде разъёма на задней панели, либо в виде колодки для подключения шлейфа на плате. Также возможно использование переходников-преобразователей. Кроме того, RS-232 имеется на некоторых телевизорах и ресиверах, в частности, спутниковых, где предназначен в том числе для обновления встроенного ПО через компьютер.

Часто этот стандарт используется для взаимодействия микроконтроллеров различных архитектур, имеющих в своем составе интерфейс UART, с другими цифровыми устройствами и периферией.
Принцип работы
RS-232 — проводной дуплексный интерфейс. Метод передачи данных аналогичен асинхронному последовательному интерфейсу UART.
Информация передаётся по проводам двоичным сигналом с двумя уровнями напряжения (код NRZ). Логическому «0» соответствует положительное напряжение (от +5 до +15 В для передатчика), а логической «1» — отрицательное (от −5 до −15 В для передатчика). Для электрического согласования линий RS-232 и стандартной цифровой логики UART выпускается большая номенклатура микросхем драйверов, например, MAX232.
Помимо линий входа и выхода данных, RS-232 регламентировал ряд необязательных вспомогательных линий для аппаратного управления потоком и специальных функций.
Цепи передачи данных и контрольные сигналы
Стандарт ITU-T V.24/V.28 | Стандарт TIA[англ.]/EIA-232 | Неофициальное общепринятое обозначение | Направление | Описание | Примечания | ||
---|---|---|---|---|---|---|---|
Цепь | Название сигнала | Цепь | Название сигнала | ||||
102 | Signal ground or
common return |
AB | Signal Common | GND | — | Общий сигнальный провод | Точка отсчёта уровней всех сигнальных цепей и цепей данных. |
103 | Transmitted data | BA | Transmitted Data | TxD
TX |
DTE >>> DCE | Цепь последовательной передачи данных.
Данные формируются в соответствии с соглашением UART. |
По стандарту передача данных в линию производится при ASSERTED CD(DTR),CA(RTS), CC(DSR), и CB(CTS).
Передача команд для DCE производится при ASSERTED CD(DTR) и CB(CTS) и DEASSERTED CA(RTS и CC(DSR) |
104 | Received Data | BB | Received Data | RxD
RX |
DTE <<< DCE | Цепь последовательного приёма данных.
Данные формируются в соответствии с соглашением UART. | |
105 | Request to send | CA | Request to send | RTS | DTE >>> DCE | Запрос на передачу данных.
DTE устанавливает CA(RTS) в ASSERTED при передаче по цепи BA (TxD) данных (в линию). При сброшенном (DEASSERTED) сигнале CA(RTS) передаются управляющие команды для DCE. |
Сигнал CJ конкурирует с CA, по скольку используют тот же вывод на всех стандартных разъёмах.
Использование того или иного сигнала определяется спецификой и реализацией DCE. Важный сигнал для полудуплексной связи. Так же используется при работе с интеллектуальными DCE, для отделения потока команд от потока данных. |
133 | Ready for receiving | CJ | Ready for receiving | RTS | DTE >>> DCE | Готовность к приёму данных.
Устанавливается в состояние ASSERTED когда DTE готов принимать данные. Используется для аппаратного контроля потока. |
Сигнал CJ конкурирует с CA, по скольку используют тот же вывод на всех стандартных разъёмах.
Использование того или иного сигнала определяется спецификой и реализацией DCE. Используется в паре с CB(CTS) для двустороннего аппаратного контроля потока данных. |
106 | Ready for sending | CB | Clear to send | CTS | DTE <<< DCE | Разрешение на передачу.
ASSERTED говорит о готовности DCE к приёму DEASSERTED — DCE не готов. DTE должен приостановить передачу данных |
Используется для аппаратного контроля потока данных.
Для двустороннего контроля используется в паре с CJ(RTS). |
108/2 | Data terminal ready | CD | DTE Ready | DTR | DTE >>> DCE | Сигнал готовности DTE.
Информирует DCE о том, что DTE готов к работе. |
|
107 | Data set ready | CC | DCE Ready | DSR | DTE <<< DCE | Сигнал готовности DСE.
Информирует DTE о готовности DCE и/или канала связи. |
Используется модемами для обозначения направления потока данных BA(TxD), повторяя значение CA(RTS)
ASSERTED CA(RTS) и CC(DSR) — данные в линию. DEASSERTED CA(RTS) и CC(DSR) — поток управляющих команд. |
109 | Data channel received
line signal detector |
CF | Received Line Signal Detector | CD
DCD |
DTE <<< DCE | Обнаружена несущая.
Информирует DTE о готовности линии и/или удалённого (находящегося на другом конце линии) DCE. |
|
125 | Calling indicator | CE | Ring indicator | RI | DTE <<< DCE | Запрос на установку соединения.
Информирует DTE о запросе на установку соединения с другого конца линии. |
Сигнал CE конкурирует с CK, по скольку используют тот же вывод на всех стандартных разъёмах.
Использование того или иного сигнала определяется спецификой и реализацией DCE. |
135 | Received energy present | CK | Received Energy Present | RI | DTE <<< DCE | Присутствует входящий сигнал. Предупреждает DTR о наличии принимаемых данных. | Сигнал CK конкурирует с CE, по скольку используют тот же вывод на всех стандартных разъёмах.
Использование того или иного сигнала определяется спецификой и реализацией DCE. |
— | — | — | Protective Ground
and/or Shield |
PG | — | Защитная земля и/или экран кабеля. | Линия для выравнивания потенциалов систем.
В зависимости от условий эксплуатации может как иметь соединение с AB(GND) так и изолироваться от него. Может быть соединен с защитным экраном кабеля. |
Стандарт ITU-T V.24/V.28 | Стандарт TIA[англ.]/EIA-232 | Неофициальное общепринятое обозначение | Направление | Описание | Примечания | ||
---|---|---|---|---|---|---|---|
Цепь | Название сигнала | Цепь | Название сигнала | ||||
111 | Data signal rate selector (DTE) | CH | Data signal rate selector | DSRS | DTE >>> DCE | Сигнал выбора скорости данных.
Генерируется DTE. ASSERTED — Высокая скорость. DEASSERTED — Низкая скорость. |
Выбирается одна из двух предустановленных скоростей.
Не допускается использование совместно с CI в одном подключении. |
112 | Data signal rate selector (DCE) | CI | Data signal rate selector | DSRS | DTE <<< DCE | Сигнал выбора скорости данных.
Генерируется DCE ASSERTED — Высокая скорость. DEASSERTED — Низкая скорость. |
Выбирается одна из двух предустановленных скоростей.
Не допускается использование совместно с CH в одном подключении. |
113 | Transmitter signal element timing (DTE) | DA | Transmitter Signal Element Timing (DTE source) | ETC
TST out |
DTE >>> DCE | Тактовый сигнал линии передачи.
Генерируется DTE. Переход из лог. 1 к лог. 0 соответствует передаче бита на линии BA(TxD) |
Сигнал выводится DTE постоянно, пока включён DCE. (Если вообще представлен)
Сигнал используется только если DCE не генерирует сигналы DB(TC),DD(RC). |
114 | Transmitter signal element timing (DCE) | DB | Transmitter Signal Element Timing (DCE source) | TC
TST in |
DTE <<< DCE | Тактовый сигнал линии приёма.
Генерируется DCE. Переход из лог. 1 к лог. 0 соответствует передаче бита на линии BA(TxD) |
Сигнал генерируется DCE при необходимости точного контроля битрейта передаваемых DTR данных.
Сигнал генерируется DCE постоянно. |
115 | Receiver signal element timing (DCE) | DD | Receiver signal element timing (DCE source) | RC
RST |
DTE <<< DCE | Тактовый сигнал линии передачи.
Генерируется DCE. Переход из лог. 1 к лог. 0 соответствует передаче бита на линии BB(RxD) |
Сигнал генерируется DCE постоянно.
Служит для синхронизации принимаемых DTR данных. |
118 | Transmitted backward channel data | SBA | Secondary transmitted data | STxD | DTE >>> DCE | Цепь последовательной передачи данных второго/резервного канала. | Аналог BA(TxD) для второго или резервного канала.
Скорость передачи в каналах может существенно отличаться. |
119 | Received backward channel data | SBB | Secondary received data | SRxD | DTE <<< DCE | Цепь последовательного приёма данных второго/резервного канала. | Аналог BB(RxD) для второго или резервного канала.
Скорость передачи в каналах может существенно отличаться. |
120 | Transmit backward channel line signal | SCA | Secondary request to send | SRTS | DTE >>> DCE | Запрос на передачу данных по второму/резервному каналу. | Аналог CA(RTS) для второго или резервного канала. |
121 | Backward channel ready | SCB | Secondary clear to send | SCTS | DTE <<< DCE | Разрешение на передачу данных по второму/резервному каналу. | Аналог CB(CTS) для второго или резервного канала. |
122 | Backward channel received line signal detector | SCF | Secondary received line signal detector | SDCD
SCD |
DTE <<< DCE | Обнаружена несущая на втором/резервном канале. | Аналог CJ(DCD) для второго или резервного канала. |
140 | Loopback/Maintenance test | RL | Remote loopback | RL | DTE >>> DCE | Петля/эхо на удалённом DCE. | При ASSERTED BL, DCE переведет удалённый DCE в режим возврата.
Данные с DTE будут проходить через местный DCE, линию, отражаться на удалённом DCE, и возвращаться обратно до DTE |
141 | Local loopback | LL | Local Loopback | LL | DTE >>> DCE | Петля/эхо на местном DCE. | При ASSERTED LL, DCE будет перенаправлять сигналы с BA(TxD) на BB(RxD) минуя линию. |
142 | Test indicator | TM | Test mode | TM | DTE <<< DCE | Ражим тестирования. | TM ASSERTED, если местный DTE занят, так как удалённый DTE тестирует канал в режиме удалённой петли. |
108/1 | Connect data set to line | DTR | DTE >>> DCE | Сигнал готовности DTE.
Информирует DCE о том, что DTE готов к работе. |
Альтернативный сигнал из спецификации V.28 | ||
110 | CG | Signal quality detector | — | DTE <<< DCE | Указатель качества сигнала | в EIA/TIA использование сигнала не рекомендуется | |
126 | Select transmit frequency | — | — | — | — | Выбор частоты передачи | Не используется в EIA/TIA |
Стандарт ITU-T V.24/V.28 | Стандарт TIA[англ.]/EIA-232 | Неофициальное общепринятое обозначение | Направление | DB-25 | UD-26 | DE-9 ("DB9") | MMJ | 8P8C ("RJ45") | 10P10C ("RJ50") | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Цепь | Название сигнала | Цепь | Название сигнала | EIA/TIA-561 | Yost (DTE)[2] | Yost (DCE)[2] | Cyclades | Digi (ALTPIN option) | National Instruments[3] | Cyclades! | Digi | ||||||
102 | Signal ground or common return | AB | Signal Common | GND | — | 7 | 7 | 5 | 3 и 4 | 4 | 4 и 5 | 4 и 5 | 4 | 6 | 6 | 5 | 7 |
103 | Transmitted data | BA | Transmitted Data | TxD
TX |
DTE >>> DCE | 2 | 2 | 3 | 2 | 6 | 6 | 3 | 3 | 4 | 8 | 4 | 5 |
104 | Received Data | BB | Received Data | RxD
RX |
DTE <<< DCE | 3 | 3 | 2 | 5 | 5 | 3 | 6 | 6 | 5 | 9 | 7 | 6 |
105/
133 |
Request to send/
Ready for receiving |
CA/
CJ |
Request to send/
Ready for receiving |
RTS | DTE >>> DCE | 4 | 4 | 7 | — | 8 | 8 | 1 | 1 | 2 | 4 | 2 | 3 |
106 | Ready for sending | CB | Clear to send | CTS | DTE <<< DCE | 5 | 5 | 8 | — | 7 | 1 | 8 | 5 | 7 | 3 | 6 | 8 |
108/2 | Data terminal ready | CD | DTE Ready | DTR | DTE >>> DCE | 20 | 20 | 4 | 1 | 3 | 7 | 2 | 2 | 8 | 7 | 3 | 9 |
107 | Data set ready | CC | DCE Ready | DSR | DTE <<< DCE | 6 | 6 | 6 | 6 | 1[Цепи 1] | 2 | — | 8 | — | 5 | 9 | 2 |
109 | Data channel received line signal detector | CF | Received Line Signal Detector | CD
DCD |
DTE <<< DCE | 8 | 8 | 1 | — | 2 | 2 | 7 | 7 | 1 | 10 | 8 | 10 |
125/
135 |
Calling indicator
Received energy present |
CE/
CK |
Ring indicator/
Received Energy Present |
RI | DTE <<< DCE | 22 | 22 | 9 | — | 1[Цепи 1] | — | — | — | — | 2 | 10 | 1 |
— | — | — | Protective Ground and/or Shield | PG | — | 1 | 1 | — | — | — | — | — | — | 3 | — | 1 | 4 |
111 | Data signal rate selector (DTE) | CH | Data signal rate selector | DSRS | DTE >>> DCE | 23 или 12[Цепи 2][Цепи 3] | 23 или 12[Цепи 2][Цепи 3] | — | — | — | — | — | — | — | — | — | — |
112 | Data signal rate selector (DCE) | CI | Data signal rate selector | DSRS | DTE <<< DCE | 23 или 12[Цепи 2][Цепи 3] | 23 или 12[Цепи 2][Цепи 3] | — | — | — | — | — | — | — | — | — | — |
113 | Transmitter signal element timing (DTE) | DA | Transmitter Signal Element Timing (DTE source) | ETC
TST out |
DTE >>> DCE | 24 | 24 | — | — | — | — | — | — | — | — | — | — |
114 | Transmitter signal element timing (DCE) | DB | Transmitter Signal Element Timing (DCE source) | TC
TST in |
DTE <<< DCE | 15 | 15 | — | — | — | — | — | — | — | — | — | — |
115 | Receiver signal element timing (DCE) | DD | Receiver signal element timing (DCE source) | RC
RST |
DTE <<< DCE | 17 | 17 | — | — | — | — | — | — | — | — | — | — |
118 | Transmitted backward channel data | SBA | Secondary transmitted data | STxD | DTE >>> DCE | 14 | 14 | — | — | — | — | — | — | — | — | — | — |
119 | Received backward channel data | SBB | Secondary received data | SRxD | DTE <<< DCE | 16 | 16 | — | — | — | — | — | — | — | — | — | — |
120 | Transmit backward channel line signal | SCA | Secondary request to send | SRTS | DTE >>> DCE | 19 | 19 | — | — | — | — | — | — | — | — | — | — |
121 | Backward channel ready | SCB | Secondary clear to send | SCTS | DTE <<< DCE | 13 | 13 | — | — | — | — | — | — | — | — | — | — |
122 | Backward channel received line signal detector | SCF | Secondary received line signal detector | SDCD
SCD |
DTE <<< DCE | 12[Цепи 3] | 12[Цепи 3] | — | — | — | — | — | — | — | — | — | — |
140 | Loopback/Maintenance test | RL | Remote loopback | RL | DTE >>> DCE | 21 | 21 | — | — | — | — | — | — | — | — | — | — |
141 | Local loopback | LL | Local Loopback | LL | DTE >>> DCE | 18 | 18 | — | — | — | — | — | — | — | — | — | — |
142 | Test indicator | TM | Test mode | TM | DTE <<< DCE | 25 | 25 | — | — | — | — | — | — | — | — | — | — |
126 | Select transmit frequency | — | — | — | — | 11 | 11 | — | — | — | — | — | — | — | — | — | — |
— | — | — | N/A (reserved) | — | — | 9 | 9 | — | — | — | — | — | — | — | — | — | — |
— | — | — | N/A (reserved) | — | — | 10 | 10 | — | — | — | — | — | — | — | — | — | — |
— | — | — | N/A (reserved) | — | — | — | 26 | — | — | — | — | — | — | — | — | — | — |
- ↑ 1 2 По стандарту на контакт 1 должен быть подключен сигнал CE(RI), однако на практике распространено подключение на этот контакт сигнала CC(DSR)
- ↑ 1 2 3 4 Цепи CH и CI не могут быть использованы одновременно в одном подключении
- ↑ 1 2 3 4 5 6 Если цепь SCF не используется, то цепь CI может подключатся к контакту 12
Соединители

Устройства для связи по последовательному каналу соединяются кабелями с 9- или 25-контактными разъёмами типа D-sub. Обычно они обозначаются Dx-yz, где
- x — размер разъёма (например, B для 25 контактов, E для 9 контактов);
- y — количество контактов (25 или 9);
- z — тип контактов: вилка (Р, pin) или розетка (S, socket).

Так, DB25P — вилка с 25 контактами, DE9P — вилка с 9 контактами, а DB25S и DE9S, соответственно — розетки с 25 и 9 контактами.
Первоначально в RS-232 использовались DB-25, но, поскольку многие приложения использовали лишь часть предусмотренных стандартом контактов, стало возможно применять для этих целей 9-штырьковые разъёмы DE-9, которые рекомендованы стандартом RS-574.
Номера основного контакта, передающего и принимающего данные, для разъёмов DE-9 и DB-25 разные: для DE-9 контакт 2 — вход приёмника, контакт 3 — выход передатчика. Для DB-25, наоборот, контакт 2 — выход передатчика, контакт 3 — вход приёмника.
С развитием техники производители телекоммуникационного оборудования стали использовать для RS-232 разнообразные соединители, например 6P6C, 6P4C, 8P8C и др.[источник не указан 1479 дней]
Стандарт
Стандарт RS-232 был предложен в 1962 году американской Ассоциацией электронной промышленности (EIA). Стандарты EIA изначально имели префикс «RS» (англ. recommended standard, «рекомендованный стандарт»), но сейчас обозначаются просто «EIA». В 1969 году представлена третья редакция (RS-232C), в 1987 году — четвёртая (RS-232D, или EIA-232D). Самой последней является модификация «Е», принятая в июле 1991 года как стандарт EIA/TIA-232E. В данном варианте нет никаких технических изменений, которые могли бы привести к проблемам совместимости с предыдущими вариантами этого стандарта.
RS-232 идентичен стандартам ITU-T (CCITT) V.24/V.28, X.20bis/X.21bis и ISO IS2110.
Ограничения
Скорость работы ограничена физическими параметрами скорости передачи одного байта: на 115200 бод, каждый бит длится (1/115200) = 8,7 µs. Если передаются 8-разрядные данные, это длится 8 x 8,7 µs = 69 µs, но каждый байт требует дополнительного стартового и стопового бита, поэтому необходимо 10 x 8,7 µs = 87 µs. Это означает максимальную скорость 11,5 Кбайт в секунду.
На практике в зависимости от качества применяемого кабеля требуемое расстояние передачи данных в 15 метров может не достигаться, составляя, к примеру, порядка 1,5 м на скорости 115200 бод для неэкранированного плоского или круглого кабеля. Это вызвано применением однофазных сигналов вместо дифференциальных, а также отсутствием требований по согласованию приёмника (и часто также передатчика) с линией.
Для преодоления этого ограничения, а также возможного получения гальванической развязки между узлами, преобразуют физический уровень RS-232 в другие физические уровни асинхронного интерфейса:
- «RS-232 — RS-422» (с сохранением полной программной совместимости) или «RS-232 — RS-485» (с определёнными программными ограничениями). Расстояние может быть увеличено до 1 км на скорости 9600 бод и при использовании кабеля типа «витая пара» категории 3;
- внешний преобразователь «RS232 — Токовая петля» для 9-контактного разъёма или соответствующие цепи 25-контактного разъёма в случае наличия преобразователя внутри устройств.
См. также
Примечания
- ↑ The RS232 Standard . CAMI Research Inc.. Дата обращения: 22 апреля 2018. Архивировано 12 июля 2018 года.
- ↑ 1 2 Yost Serial Device Wiring Standard . Дата обращения: 10 мая 2020. Архивировано из оригинала 17 июня 2020 года.
- ↑ Serial Quick Reference Guide . NI.com. National Instruments (июль 2013). Дата обращения: 18 июня 2021.
Ссылки
- Описание интерфейса Архивная копия от 23 августа 2011 на Wayback Machine
- The Serial Programming Guide for POSIX Operating Systems Архивная копия от 19 июня 2006 на Wayback Machine (русский перевод)
- Serial Communications (MSDN) Архивная копия от 8 декабря 2015 на Wayback Machine
- Английское описание стандарта RS-232 Архивная копия от 19 июня 2008 на Wayback Machine
- Яшкардин В.Л. RS-232. Рекомендованный стандарт 232. Интерфейс между терминалом данных и передающим оборудованием линии связи, применяющий последовательный обмен двоичными данными . SoftElectro (2009). Дата обращения: 25 октября 2020. Архивировано 24 августа 2011 года.
- Java Simple Serial Connector Архивная копия от 10 марта 2011 на Wayback Machine — библиотека для работы с последовательными портами из Java. Поддерживает Win32, Win64, Linux_x86, Linux_x86_64, Linux_ARM, Solaris_x86, Solaris_x86_64, MacOSX_x86, MacOSX_x86_64, MacOSX_PPC, MacOSX_PPC64
- The RS232 Standard Архивная копия от 12 июля 2018 на Wayback Machine — Стандарт RS-232