RS-232
RS-232 (Recommended Standard 232) — стандарт физического уровня для асинхронного интерфейса (UART). Широко известен как последовательный порт персональных компьютеров. Исторически имел широкое распространение в телекоммуникационном оборудовании. В настоящее время всё ещё используется для подключения всевозможного специального или устаревшего оборудования к компьютерам, однако, в основном, уже вытеснен интерфейсом USB.
RS-232 обеспечивает передачу данных и некоторых специальных сигналов между терминалом (Data Terminal Equipment, DTE) и коммуникационным устройством (Data Communications Equipment, DCE) на расстояние до 15 метров.
Назначение
Изначально создавался для подключения телефонных модемов к компьютерам. В связи с такой специализацией имеет рудименты в виде, например, отдельной линии RING («звонок»). Постепенно телефонные модемы перешли на другие интерфейсы (USB), но разъем RS-232 имелся на всех персональных компьютерах и многие изготовители оборудования использовали его для подключения своего оборудования. Например, компьютерные мышки.
В настоящее время чаще всего используется в промышленном и узкоспециальном оборудовании, встраиваемых устройствах. На портативных компьютерах (ноутбуках, нетбуках, КПК и т. п.) RS-232 уже не ставят, однако материнские платы стационарных персональных компьютеров обычно ещё содержат RS-232 — либо в виде разъёма на задней панели, либо в виде внутренней контактной панели, к которой можно подключить шлейф. Также возможно использование переходников-преобразователей.
Принцип работы
RS-232 — проводной дуплексный интерфейс. Метод передачи данных аналогичен асинхронному последовательному интерфейсу.
Информация передается по проводам двоичным сигналом с двумя уровнями напряжения. Логическому «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 | DE-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[1] |
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 |
Соединители
Устройства для связи по последовательному каналу соединяются кабелями с 9 или 25 контактными разъёмами типа D-sub. Обычно они обозначаются DE-yx, где
- x — тип коннектора (либо Р — вилка, либо S — розетка)
- y — количество пинов (25 или 9)
Так, DB25P — вилка с 25 пинами, DB9P — вилка с 9 пинами а DB25S и DB9S соответственно розетки с 25 и 9 пинами. Так же различают ещё CANNON 9, CANNON 25.
Первоначально в RS-232 использовались DB-25, но, поскольку многие приложения использовали лишь часть предусмотренных стандартом контактов, стало возможно применять для этих целей 9-штырьковые разъёмы DE-9 (D-subminiature), которые рекомендованы стандартом RS-574.
Номера основного передающего и принимающего данные контакта для разъемов DE-9 и DB-25 разные! Для DE-9 контакт 2 — вход приемника, контакт 3 — выход передатчика. Для DB-25, наоборот, контакт 2 — выход передатчика, контакт 3 — вход приемника.
Стандарт
Ассоциация электронной промышленности (EIA) развивает стандарты по передаче данных. Стандарты EIA имеют префикс «RS». «RS» означает рекомендуемый стандарт, но сейчас стандарты просто обозначаются как «EIA» стандарты. RS-232 был введён в 1962 году. Стандарт развивался, и в 1969 г.. представлена третья редакция (RS-232C). Четвёртая редакция была в 1987 (RS-232D, известная также под EIA-232D). RS-232 идентичен стандартам МККТТ (CCITT) V.24/V.28, X.20bis/X.21bis и ISO IS2110. Самой последней модификацией является модификация «Е», принятая в июле 1991 г. как стандарт EIA/TIA-232E. В данном варианте нет никаких технических изменений, которые могли бы привести к проблемам совместимости с предыдущими вариантами этого стандарта.
Ограничения
На практике в зависимости от качества применяемого кабеля требуемое расстояние передачи данных в 15 метров может не достигаться, составляя, к примеру, порядка 1,5 м на скорости 115200 бод для неэкранированного плоского или круглого кабеля. Это вызвано применением однофазных сигналов вместо дифференциальных, а также отсутствием требований по согласованию приёмника (и часто также передатчика) с линией. Для преодоления этого ограничения, а также возможного получения гальванической развязки между узлами, можно применить преобразователи интерфейса:
- RS-232—RS-422 (с сохранением полной программной совместимости) или RS-232—RS-485 (с определёнными программными ограничениями). При этом расстояние может быть увеличено до 1 км на скорости 9600 бод и использовании кабеля типа «витая пара» категории 3;
- Внешний преобразователь RS232—Токовая петля для 9-контактного разъёма, или соответствующие цепи 25-контактного разъёма, в случае наличия преобразователя внутри устройств.
См. также
Ссылки
- Описание интерфейса
- The Serial Programming Guide for POSIX Operating Systems (русский перевод)
- Serial Communications (MSDN)
- Английское описание стандарта RS-232
- [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.
- http://sergofan5.narod.ru/spravka/PCport/pc_kabel.html
- ↑ Изначально по стандарту на контакт 1 подключался сигнал CE. Но поскольку CE используется в основном для модемов, то часто на контакт 1 подключается сигнал CC.