RS-232

Использование RS-232 для подключения компьютера к модему при связи по телефонной линии Разъём DE-9, часто используемый для RS-232

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, который не является самосинхронизирующимся, поэтому для синхронизации используются стартовый и стоповый биты, позволяющие выделить битовую последовательность и синхронизировать приёмник с передатчиком.

## Содержание

* 1 Назначение
* 2 Принцип работы
* 3 Соединители
* 4 Стандарт
* 5 Ограничения
* 6 См. также
* 7 Примечания
* 8 Ссылки

## Назначение

[править | править код]

Изначально создавался для подключения телефонных модемов к компьютерам[источник не указан 2125 дней]. В связи с такой специализацией имеет рудименты, например, в виде отдельной линии RING («звонок»). Постепенно телефонные модемы перешли на другие интерфейсы (USB), но разъём для RS-232 имелся на всех персональных компьютерах, и многие изготовители оборудования использовали его для подключения своего оборудования (например, компьютерной мыши).

В настоящее время чаще всего используется в промышленном и узкоспециальном оборудовании, встраиваемых устройствах. На портативных компьютерах (ноутбуках, нетбуках, КПК и т. п.) широкого применения RS-232 не нашёл, однако материнские платы стационарных персональных компьютеров до недавнего времени ещё содержали RS-232 — либо в виде разъёма на задней панели, либо в виде колодки для подключения шлейфа на плате. Также возможно использование переходников-преобразователей. Кроме того, RS-232 имеется на некоторых телевизорах и ресиверах, в частности, спутниковых, где предназначен в том числе для обновления встроенного ПО через компьютер.

Спутниковый ресивер с разъёмом RS-232 (нижний правый угол)

Часто этот стандарт используется для взаимодействия микроконтроллеров различных архитектур, имеющих в своем составе интерфейс UART, с другими цифровыми устройствами и периферией.

## Принцип работы

[править | править код]

Основная статья: 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 | Неофициальное общепринятое обозначение | Тип | Описание | Направление | Номера контактов в разъёмах по стандартам. Ниже — тип разъёма

|
|
|
|
|
|

EIA/TIA-232-F (RS-232) | EIA-232-E Alt A | EIA-574/562 | EIA-561/562
Цепь | Название сигнала | Цепь | Название сигнала | DB-25 | UD-26 | DB-9 | 8P8C
|  |  | Protective Ground or Shield | PG | PG | Экран кабеля, может соединять корпуса приборов. Не используется для сигналов. В зависимости от условий эксплуатации может соединяться, или изолироваться от сигнальной цепи AB (перемычкой). | - | 1 | 1 | - | \-
102 | Signal ground or common return | AB | Signal Common | GND | SG | Общий сигнальный провод | - | 7 | 7 | 5 | 4
103 | Transmitted data | BA | Transmitted Data | TxD | D | Передача данных. Производить передачу разрешается при состоянии (CA&CB&CC&CD)=ON. Также разрешается передача управляющих команд на DCE (программирование, набор номера) при состоянии (CB&¬(CC)&CD) =ON | DTE→DCE | 2 | 2 | 3 | 6
104 | Received Data | BB | Received Data | RxD | D | Приём данных | DTE←DCE | 3 | 3 | 2 | 5
105 | Request to send | CA | Request to send | RTS | C | Запрос на передачу. Передача данных по BA сопровождается этим сигналом. В полудуплексном режиме управляет направлением передачи (запрещает приём данных по BB). CA не должен переводиться из состояния OFF в состояние ON пока CF=ON. | DTE→DCE | 4 | 4 | 7 | 8
133 | Ready for receiving | CJ | Ready for receiving | - | C | Готов к приёму. Разрешает приём данных по BB. Используется для контроля переполнения входного буфера DTE. Обычно в EIA/TIA не используется, но может быть задействован вместо цепи CA (в этом случае CA всегда остаётся в состоянии ON). | DTE→DCE
106 | Ready for sending | CB | Clear to send | CTS | C | Свободен для передачи. При СС=ON показывает, что DCE и канал связи готовы к передаче данных. При СС=OFF показывает, что DCE готов к приёму команд управления. | DTE←DCE | 5 | 5 | 8 | 7
107 | Data set ready | CC | DCE Ready | DSR | C | Указывает на готовность DCE к работе. Назначение сигнала зависит от режима работы DCE. В основном режиме показывает исправность системы, или готовность канала связи. | DTE←DCE | 6 | 6 | 6 | 1[2]
108/1 | Connect data set to line | CD | DTE Ready | DTR | C | Готовность DTE. Запрос от DTE к DCE на подготовку к работе линии связи. | DTE→DCE | 20 | 20 | 4 | 3
108/2 | Data terminal ready
109 | Data channel received line signal detector | CF | Received Line Signal Detector | CD | C | Обнаружен принимаемый сигнал. Конкретный смысл сигнала зависит от оборудования. Обычно показывает рабочее состояние канала связи для режима приёма. В полудуплексном режиме запрещает включение сигнала CA. | DTE←DCE | 8 | 8 | 1 | 2
111 | Data signal rate selector (DTE) | CH/CI | Data signal rate selector | DSRS | C | Выбор скорости передачи данных. ON — высокая скорость OFF — низкая. Если необходимо использовать цепь SCF, то цепи CH и CI подключаются к контакту 23. Если цепь SCF не используется, то цепь CI подключается к контакту 12 | DTE→DCE | 23 | 23 |  |
112 | Data signal rate selector (DCE) | DTE←DCE
113 | Transmitter signal element timing (DTE) | DA | Transmitter Signal Element Timing (DTE source) | TST out | T | Синхронизация сигнала BA (источник в DTE) | DTE→DCE | 24 | 24 |  |
114 | Transmitter signal element timing (DCE) | DB | Transmitter Signal Element Timing (DCE source) | TST in | T | Синхронизация сигнала BA (источник в DCE) | DTE←DCE | 15 | 15 |  |
115 | Receiver signal element timing (DCE) | DD | Receiver signal element timing (DCE source) | RST | T | Синхронизация сигнала BB (источник в DCE) | DTE←DCE | 17 | 17 |  |
118 | Transmitted backward channel data | SBA | Secondary transmitted data |  | D | Передача данных по второму (резервному) каналу. Аналогичен сигналу BA. | DTE→DCE | 14 | 14 |  |
119 | Received backward channel data | SBB | Secondary received data |  | D | Приём данных по второму (резервному) каналу. Аналогичен сигналу BB. | DTE←DCE | 16 | 16 |  |
120 | Transmit backward channel line signal | SCA | Secondary request to send |  | C | Запрос на передачу по второму (резервному) каналу. Аналогичен сигналу CA. | DTE→DCE | 19 | 19 |  |
121 | Backward channel ready | SCB | Secondary clear to send |  | C | Свободен для передачи по второму (резервному) каналу. Аналогичен сигналу CB. | DTE←DCE | 13 | 13 |  |
122 | Backward channel received line signal detector | SCF | Secondary received line signal detector |  | C | Обнаружен принимаемый сигнал по второму (резервному) каналу. Аналогичен сигналу CF. | DTE←DCE | 12 | 12 |  |
112 | Data signal rate selector (DCE) | CI | Data signal rate selector (DCE source) |  | C | Выбор скорости передачи данных. Если необходимо использовать цепь SCF, то цепи CH и CI подключаются к контакту 23. Если цепь SCF не используется, то цепь CI подключается к контакту 12 | DTE←DCE
125 | Calling indicator | CE | Ring indicator | RI | C | Запрос на установку соединения от удалённого DCE. Сигнал передаётся независимо от состояния других сигналов. (Назначение контакта в EIA/TIA выбирается по требованию) | DTE←DCE | 22 | 22 | 9 | 1
135 | Received energy present | CK | Received Energy Present |  | C | Показывает наличие сигнала на линии приёма. (Назначение контакта в EIA/TIA выбирается по требованию) | DTE←DCE
126 | Select transmit frequency |  | N/A (Unassigned) |  | C | Не используется в EIA/TIA. Контакт 11 подключён к цепи 126 в ISO/IEC 2110 | DTE→DCE | 11 | 11 |  |
140 | Loopback/Maintenance test | RL | Remote loopback | RL | C | Тестирование дальнего DCE. Сигнал BA напрямую передаются в линию BB. | DTE→DCE | 21 | 21 |  |
110 | Цепь 110 не включена в текущую редакцию V.24 | CG | Signal quality detector | - | C | в EIA/TIA использование сигнала не рекомендуется | DTE←DCE
141 | Local loopback | LL | Local Loopback | LL | C | Тестирование ближнего DCE. Сигнал BA напрямую передаётся в линию BB. | DTE→DCE | 18 | 18 |  |
142 | Test indicator | TM | Test mode | TM | C | Показывает, что DTE находится в режиме тестирования (в том числе по запросу от удалённого DCE). | DTE←DCE | 25 | 25 |  |
|  |  | N/A (reserved) | - | - | Зарезервирован | - | 10 | 10 |  |
|  |  |  |  |  | Не подключён |  |  | 26 |  |

## Соединители

[править | править код]

Основная статья: D-sub

Разъем DE-9

Устройства для связи по последовательному каналу соединяются кабелями с 9- или 25-контактными разъёмами типа D-sub. Обычно они обозначаются Dx-yz, где

x — размер разъёма (например, B для 25 контактов, E для 9 контактов);
y — количество контактов (25 или 9);
z — тип контактов: вилка (Р, pin) или розетка (S, socket).
Разъем DB-25

Так, 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 и др.[источник не указан 1269 дней]

## Стандарт

[править | править код]

Стандарт 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-контактного разъёма в случае наличия преобразователя внутри устройств.

## См. также

[править | править код]

* MAX232
* SpaceWire
* RS-485
* RS-422
* NRZ-код
* Нуль-модемное соединение
* UART

## Примечания

[править | править код]

1. ↑ The RS232 Standard (неопр.). CAMI Research Inc.. Дата обращения: 22 апреля 2018. Архивировано 12 июля 2018 года.
2. ↑ Изначально по стандарту на контакт 1 подключался сигнал CE. Но поскольку CE используется в основном для модемов, то часто на контакт 1 подключается сигнал CC.

## Ссылки

[править | править код]

* Описание интерфейса Архивная копия от 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

UART

Физические уровни|

| Точка-точка|

* RS-232
* IrDA
* HART
* модем
* токовая петля
* ИРПС
* MIDI
* IO-Link (IEC 61131-9)

|

Сетевые|

* RS-422
* RS-423
* RS-485
* LIN
* M-Bus

Специальные|

* Kansas City standard
* Компакт-кассета
* грампластинка

Протоколы|

| Точка-точка|

* PPP
* SLIP
* IrDA
* HART
* ISO 7816
* MIDI
* IO-Link (IEC 61131-9)

|

Сетевые|

* Modbus
* LIN
* DMX-512
* P-NET
* Profibus
* IEC 60870

Сферы использования|

* Последовательный порт
* IrDA
* MIDI
* Промышленная сеть

Реализации|

| Контроллеры|

* 8250 UART
* 16550 UART

|

Драйверы|

MAX232

Основные протоколы TCP/IP по уровням модели OSI

Физический|

* Ethernet
* RS-232
* EIA-422
* RS-449
* RS-485

Канальный|

* Ethernet
* PPPoE
* PPP
* L2F
* 802.11 Wi-Fi
* 802.16 WiMax
* Token Ring
* ARCNET
* FDDI
* HDLC
* SLIP
* ATM
* CAN
* DTM
* X.25
* Frame Relay
* IEEE 802.1aq
* SMDS
* STP
* ERPS
* ARP

Сетевой|

* IPv4
* IPv6
* IPsec
* ICMP
* IGMP
* RARP
* RIP2
* OSPF
* EIGRP
* GRE
* IPX

Транспортный|

* TCP (Crypt)
* UDP
* SCTP
* DCCP
* RDP/RUDP
* RTP
* SPX
* TLS 1.3

Сеансовый|

* ADSP
* H.245
* iSNS
* NetBIOS
* PAP
* RPC
* L2TP
* PPTP
* RTCP
* SMPP
* SCP
* ZIP
* SDP

Представления|

* XDR
* SSL
* TLS

Прикладной|

* BGP
* HTTP(S)
* DHCP
* IRC
* Gopher
* Finger
* SNMP
* DNS(SEC)
* NNTP
* XMPP
* SIP
* IPP
* NTP
* SNTP
* Электронная почта
* SMTP
* POP3
* IMAP4
* Передача файлов
* FTP
* TFTP
* SFTP
* FTPS
* WebDAV
* SMB
* Удалённый доступ
* rlogin
* Telnet
* SSH
* RDP

Другие прикладные|

* Bitcoin
* OSCAR
* MTProto
* Multicast FTP
* Multisource FTP
* BitTorrent
* Gnutella
* Skype

Список портов TCP и UDP

Компьютерные шины и интерфейсы

Основные понятия|

* Шина адреса
* Шина данных
* Шина управления
* Пропускные способности

Процессоры|

* BSB
* FSB
* DMI
* HyperTransport
* QPI

Внутренние|

* S-100
* AGP
* EISA
* ISA
* LPC
* MBus
* MCA
* NVLink
* NuBus
* PCI
* PCIe
* PCI-X
* Q-Bus
* SBus
* SMBus
* VLB
* XT-Bus
* Zorro II
* Zorro III

Ноутбуки|

* ExpressCard
* MXM
* PC Card

Накопители|

* ST-506
* ESDI
* ATA
* eSATA
* Fibre Channel
* HIPPI
* NVMe
* SAS
* SATA
* SCSI
* SATA Express

Периферия|

* 1-Wire
* ADB
* I²C
* IEEE 1284 (LPT)
* IEEE 1394 (FireWire)
* PS/2
* UART (RS-232, RS-485)
* SPI
* USB
* Игровой порт

Управление оборудованием|

* IEEE-488
* VXI
* FASTBUS
* КАМАК
* Последовательный КАМАК
* SpaceWire

Универсальные|

* Multibus
* Futurebus
* InfiniBand
* Omni-Path
* QuickRing
* SCI
* RapidIO
* VMEbus
* Thunderbolt (Light Peak)
* IEEE 1355
* Ангара

Видеоинтерфейсы|

* VGA
* DVI
* DisplayPort
* HDMI
* Thunderbolt
* USB4

Встраиваемые системы|

* Multidrop bus
* Wishbone
* AMBA