RS-232
RS-232 (, другое название EIA232) — стандарт физического уровня для асинхронного интерфейса (UART). Устройство, поддерживающее этот стандарт, широко известно как последовательный порт персональных компьютеров. Исторически стандарт имел широкое распространение в телекоммуникационном оборудовании. В настоящее время используется для подключения к компьютерам широкого спектра оборудования, нетребовательного к скорости обмена, особенно при значительном удалении его от компьютера и отклонении условий применения от стандартных. В компьютерах, занятых офисными и развлекательными приложениями, практически вытеснен интерфейсом USB.

RS-232 обеспечивает передачу данных и некоторых специальных сигналов между терминалом (, DTE) и коммуникационным устройством (, DCE) на расстояние до 15 метров на максимальной скорости (115200 бод). Так как этот интерфейс известен не только простотой программирования, но и неприхотливостью, в реальных условиях это расстояние увеличивается во много раз с примерно пропорциональным снижением скорости.

Протокол интерфейса предполагает два режима передачи данных — синхронный и асинхронный, а также два метода управления обменом данных — аппаратный и программный. Каждый режим может работать с любым методом управления. В протоколе также предполагается вариант управления передачей данных по специальным сигналам, устанавливаемым хостом (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 регламентировал ряд необязательных вспомогательных линий для аппаратного управления потоком и специальных функций.

Соединители 

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

Так, 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 и др.

Стандарт 
Стандарт RS-232 был предложен в 1962 году американской Ассоциацией электронной промышленности (EIA). Стандарты EIA изначально имели префикс «RS» (, «рекомендованный стандарт»), но сейчас обозначаются просто «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

Примечания

Ссылки 
 Описание интерфейса 
 The Serial Programming Guide for POSIX Operating Systems  (русский перевод)
 Serial Communications (MSDN) 
 Английское описание стандарта RS-232 
 
 Java Simple Serial Connector  — библиотека для работы с последовательными портами из 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  — Стандарт RS-232

232
Последовательные шины
Промышленные сети
Компьютерная диагностика автомобиля