RS-232 (, другое название EIA232) — стандарт физического уровня для асинхронного интерфейса (UART). Устройство, поддерживающее этот стандарт, широко известно как последовательный порт персональных компьютеров. Исторически стандарт имел широкое распространение в телекоммуникационном оборудовании. В настоящее время используется для подключения к компьютерам широкого спектра оборудования, нетребовательного к скорости обмена, особенно при значительном удалении его от компьютера и отклонении условий применения от стандартных. В компьютерах, занятых офисными и развлекательными приложениями, практически вытеснен интерфейсом USB.
RS-232 обеспечивает передачу данных и некоторых специальных сигналов между терминалом (, DTE) и коммуникационным устройством (, DCE) на расстояние до 15 метров на максимальной скорости 115 200 бод. Так как этот интерфейс известен не только простотой программирования, но и неприхотливостью, в реальных условиях это расстояние увеличивается во много раз с примерно пропорциональным снижением скорости.
Протокол интерфейса предполагает два режима передачи данных — синхронный и асинхронный, а также два метода управления обменом данных — аппаратный и программный. Каждый режим может работать с любым методом управления. В протоколе также предполагается вариант управления передачей данных по специальным сигналам, устанавливаемым хостом (DSR — сигнал состояния готовности, DTR — сигнал готовности передачи данных).
Для передачи данных по интерфейсу RS-232 используется код NRZ, который не является самосинхронизирующимся, поэтому для синхронизации используются стартовый и стоповый биты, позволяющие выделить битовую последовательность и синхронизировать приёмник с передатчиком.
Назначение Изначально создавался для подключения телефонных модемов к компьютерам. В связи с такой специализацией имеет рудименты, например, в виде отдельной линии 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Стандарт /EIA-232Неофициальное общепринятое обозначениеНаправлениеОписаниеПримечанияЦепьНазвание сигналаЦепьНазвание сигналаЧасто применяемые сигналы102Signal ground or common returnABSignal CommonGND—Общий сигнальный проводТочка отсчёта уровней всех сигнальных цепей и цепей данных.103Transmitted dataBATransmitted DataTxD TXDTE >>> DCEЦепь последовательной передачи данных. Данные формируются в соответствии с соглашением UART.По стандарту передача данных в линию производится при ASSERTED CD(DTR),CA(RTS), CC(DSR), и CB(CTS). Передача команд для DCE производится при ASSERTED CD(DTR) и CB(CTS) и DEASSERTED CA(RTS и CC(DSR)104Received DataBBReceived DataRxD RXDTE <<< DCEЦепь последовательного приёма данных. Данные формируются в соответствии с соглашением UART.105Request to sendCARequest to sendRTSDTE >>> DCEЗапрос на передачу данных. DTE устанавливает CA(RTS) в ASSERTED при передаче по цепи BA (TxD) данных (в линию). При сброшенном (DEASSERTED) сигнале CA(RTS) передаются управляющие команды для DCE.Сигнал CJ конкурирует с CA, по скольку используют тот же вывод на всех стандартных разъёмах. Использование того или иного сигнала определяется спецификой и реализацией DCE. Важный сигнал для полудуплексной связи. Так же используется при работе с интеллектуальными DCE, для отделения потока команд от потока данных.133Ready for receivingCJReady for receivingRTRDTE >>> DCEГотовность к приёму данных. Устанавливается в состояние ASSERTED когда DTE готов принимать данные. Используется для аппаратного контроля потока.Сигнал CJ конкурирует с CA, по скольку используют тот же вывод на всех стандартных разъёмах. Использование того или иного сигнала определяется спецификой и реализацией DCE. Используется в паре с CB(CTS) для двустороннего аппаратного контроля потока данных.106Ready for sendingCBClear to sendCTSDTE <<< DCEРазрешение на передачу. ASSERTED говорит о готовности DCE к приёму DEASSERTED — DCE не готов. DTE должен приостановить передачу данныхИспользуется для аппаратного контроля потока данных. Для двустороннего контроля используется в паре с CJ(RTS).108/2Data terminal readyCDDTE ReadyDTRDTE >>> DCEСигнал готовности DTE. Информирует DCE о том, что DTE готов к работе.107Data set readyCCDCE ReadyDSRDTE <<< DCEСигнал готовности DСE. Информирует DTE о готовности DCE и/или канала связи.Используется модемами для обозначения направления потока данных BA(TxD), повторяя значение CA(RTS) ASSERTED CA(RTS) и CC(DSR) — данные в линию. DEASSERTED CA(RTS) и CC(DSR) — поток управляющих команд.109Data channel received line signal detectorCFReceived Line Signal DetectorCD DCDDTE <<< DCEОбнаружена несущая. Информирует DTE о готовности линии и/или удалённого (находящегося на другом конце линии) DCE.125Calling indicatorCERing indicatorRIDTE <<< DCEЗапрос на установку соединения. Информирует DTE о запросе на установку соединения с другого конца линии.Сигнал CE конкурирует с CK, по скольку используют тот же вывод на всех стандартных разъёмах. Использование того или иного сигнала определяется спецификой и реализацией DCE.135Received energy presentCKReceived Energy PresentRIDTE <<< DCEПрисутствует входящий сигнал. Предупреждает DTR о наличии принимаемых данных.Сигнал CK конкурирует с CE, по скольку используют тот же вывод на всех стандартных разъёмах. Использование того или иного сигнала определяется спецификой и реализацией DCE.———Protective Ground and/or ShieldPG—Защитная земля и/или экран кабеля.Линия для выравнивания потенциалов систем. В зависимости от условий эксплуатации может как иметь соединение с AB(GND) так и изолироваться от него. Может быть соединен с защитным экраном кабеля.Редко используемые сигналы111Data signal rate selector (DTE)CHData signal rate selectorDSRSDTE >>> DCEСигнал выбора скорости данных. Генерируется DTE. ASSERTED — Высокая скорость. DEASSERTED — Низкая скорость.Выбирается одна из двух предустановленных скоростей. Не допускается использование совместно с CI в одном подключении.112Data signal rate selector (DCE)CIData signal rate selectorDSRSDTE <<< DCEСигнал выбора скорости данных. Генерируется DCE ASSERTED — Высокая скорость. DEASSERTED — Низкая скорость.Выбирается одна из двух предустановленных скоростей. Не допускается использование совместно с CH в одном подключении.113Transmitter signal element timing (DTE)DATransmitter Signal Element Timing (DTE source)ETC TST outDTE >>> DCEТактовый сигнал линии передачи. Генерируется DTE. Переход из лог. 1 к лог. 0 соответствует передаче бита на линии BA(TxD)Сигнал выводится DTE постоянно, пока включён DCE. (Если вообще представлен) Сигнал используется только если DCE не генерирует сигналы DB(TC),DD(RC).114Transmitter signal element timing (DCE)DBTransmitter Signal Element Timing (DCE source)TC TST inDTE <<< DCEТактовый сигнал линии приёма. Генерируется DCE. Переход из лог. 1 к лог. 0 соответствует передаче бита на линии BA(TxD)Сигнал генерируется DCE при необходимости точного контроля битрейта передаваемых DTR данных. Сигнал генерируется DCE постоянно.115Receiver signal element timing (DCE)DDReceiver signal element timing (DCE source)RC RSTDTE <<< DCEТактовый сигнал линии передачи. Генерируется DCE. Переход из лог. 1 к лог. 0 соответствует передаче бита на линии BB(RxD)Сигнал генерируется DCE постоянно. Служит для синхронизации принимаемых DTR данных.118Transmitted backward channel dataSBASecondary transmitted dataSTxDDTE >>> DCEЦепь последовательной передачи данных второго/резервного канала.Аналог BA(TxD) для второго или резервного канала. Скорость передачи в каналах может существенно отличаться.119Received backward channel dataSBBSecondary received dataSRxDDTE <<< DCEЦепь последовательного приёма данных второго/резервного канала.Аналог BB(RxD) для второго или резервного канала. Скорость передачи в каналах может существенно отличаться.120Transmit backward channel line signalSCASecondary request to sendSRTSDTE >>> DCEЗапрос на передачу данных по второму/резервному каналу.Аналог CA(RTS) для второго или резервного канала.121Backward channel readySCBSecondary clear to sendSCTSDTE <<< DCEРазрешение на передачу данных по второму/резервному каналу.Аналог CB(CTS) для второго или резервного канала.122Backward channel received line signal detectorSCFSecondary received line signal detectorSDCD SCDDTE <<< DCEОбнаружена несущая на втором/резервном канале.Аналог CJ(DCD) для второго или резервного канала.140Loopback/Maintenance testRLRemote loopbackRLDTE >>> DCEПетля/эхо на удалённом DCE.При ASSERTED BL, DCE переведет удалённый DCE в режим возврата. Данные с DTE будут проходить через местный DCE, линию, отражаться на удалённом DCE, и возвращаться обратно до DTE141Local loopbackLLLocal LoopbackLLDTE >>> DCEПетля/эхо на местном DCE.При ASSERTED LL, DCE будет перенаправлять сигналы с BA(TxD) на BB(RxD) минуя линию.142Test indicatorTMTest modeTMDTE <<< DCEРажим тестирования.TM ASSERTED, если местный DTE занят, так как удалённый DTE тестирует канал в режиме удалённой петли.108/1Connect data set to lineDTRDTE >>> DCEСигнал готовности DTE. Информирует DCE о том, что DTE готов к работе.Альтернативный сигнал из спецификации V.28110CGSignal quality detector—DTE <<< DCEУказатель качества сигналав EIA/TIA использование сигнала не рекомендуется126Select transmit frequency————Выбор частоты передачиНе используется в EIA/TIA
Номера контактов в стандартных и общеиспользуемых разъёмах Стандарт ITU-T V.24/V.28Стандарт /EIA-232Неофициальное общепринятое обозначениеНаправлениеDB-25UD-26DE-9 ("DB9")MMJ8P8C ("RJ45")10P10C ("RJ50")ЦепьНазвание сигналаЦепьНазвание сигналаEIA/TIA-561Yost (DTE)Yost (DCE)CycladesDigi (ALTPIN option)National InstrumentsCyclades!Digi102Signal ground or common returnABSignal CommonGND—7753 и 444 и 54 и 546657103Transmitted dataBATransmitted DataTxD TXDTE >>> DCE223266334845104Received DataBBReceived DataRxD RXDTE <<< DCE332553665976105/ 133Request to send/ Ready for receivingCA/ CJRequest to send/