Как выглядит разъем rs 232. Распиновка COM порта(RS232)

Строго говоря, кабель RS-232 - это наименование стандарта, описывающего интерфейс соединения с компьютера с устройством RS - recommended standard, переводится как "рекомендованный стандарт", а 232 - номер типа. Он был разработан еще в 60-х годах прошлого века. Сегодня новая редакция этого стандарта, которую приняли в 1991 году ассоциации телекоммуникационной и носит название EIA/TIA-232-E. Однако большинство людей продолжают использовать название "кабель RS-232", которое намертво "приросло" к интерфейсу.

Указанный выше интерфейс обеспечивает соединение следующих устройств: DTE (Data Terminal Equipment) — ООД (Оконечное Оборудование Данных), и DCE (Data Communications Equipment) — ОПД (Оборудование Передачи Данных). Под ООД обычно подразумевается персональный компьютер, а под ОПД - модем. Хотя кабель RS-232 используется также для подключения к ПЕОМ других периферийных устройств (принтер, мышь и т. д.), а также для соединения с другими компьютерами или контроллерами. Важно помнить обозначения DCE и DTE, так как они используются в наименованиях сигналов интерфейсов и помогают разбираться с описанием требуемой реализации устройства.

Изначально кабель RS-232 имел 25-контактный соединитель типа DB25. Устройство типа DTE оснащалось разъемом-розеткой («мама»). Позднее стали использовать «урезанный» вариант интерфейса с 9-контактными соединителями DB9. Такой вид кабеля распространен и в наши дни.

Распайка кабеля RS-232

Ниже приводится назначение выводов 9-контактнго соединителя типа DB9. Перечень показывает распайку разъема («папа») оборудования обработки данных, например персонального компьютера. Розетка прибора передачи данных распаивается таким образом, что оба разъема стыкуются через кабель или напрямую «контакт в контакт».

1. Carrier Detect - наличие несущей частоты.

2. Received Data - принимаемые данные.

3. Transmitted Data - передаваемые данные.

4. Data Terminal Ready - готовность ООД.

5. Signal Ground - общий.

6. Data Set Read - готовность ОПД.

7. Request To Send - запрос на передачу.

8. ClearToSend - готов передавать.

9. Ring Indicator - наличие сигнала вызова.

Данные передаются по цепям RD и TD. Остальные цепи предназначаются для отображения состояния DTR и DSR устройств, управления передачей CTS и RTS, а также индикации состояния RI и CD линий. Только при подключении к персональному компьютеру внешнего модема используется полный набор цепей. При подключении других таких как контроллеры или мыши, используются выборочные цепи, необходимые для конкретного оборудования. Они зависят от программной и аппаратной реализации устройства.

Описание и технические параметры

Стандарт четко определяет максимально возможную длину кабеля RS-232 - 15 метров со скоростью передачи данных 9600 бит/с. Однако на практике проверено, что устойчивая работа достигается и при большей длине провода. Считается, что при применении неэкранированного кабеля можно увеличить длину до 30 метров, а при использовании экранированного - до 75 метров. И это без потери Если же понизить скорость примерно вдвое, то длина кабеля увеличивается также вдвое. Рекомендуется использовать кабель на основе в таком случае каждый сигнальный провод состоит в паре с общим проводом. Не рекомендуется объединять экран кабеля с общим сигнальным.

Часто можно встретить кабель RS-232- USB. Он представляет собой стандартный интерфейс, на одном из концов которого используется

Существует несколько стандартов RS-232, различающихся буквой в суффиксе: RS-232C. RS-232D. RS-232E и пр. Вдаваться в различия между ними нет никакого смысла- они являются лишь последовательным усовершенствованием и детализацией технических особенностей одного и того же устройства. Все современные порты поддерживают спецификации RS-232D или RS- 232Е. В состав любого порта с интерфейсом RS-232 (в том числе СОМ-порта PC) входит универсальный асинхронный приемопередатчик (Universal Asynchronous Receiver-Transmitter. UART), который потому и носит название "универсального", что одинаков для всех подобных интерфейсов (кроме RS-232, это RS-485 и RS-422 1). Также в RS-232 входит схема преобразования логических уровней UART (это обычные логические уровни 0^5 илн 0+3,3 В) в уровни RS-232, где биты передаются разпополярными уровнями напряжения, притом инвертированными относительно IJART. В UART действует положительная логика, где логическая 1 есть высокий уровень (+3 или +5 В), а у RS-232 наоборот, логическая I есть отрицательный уровень от -3 до -12 В, а логический 0 - положительный уровень от +3 до +12 В.

Сама идея передачи по этому интерфейсу заключается в передачи целого байта по одному проводу в аиде последовательных импульсов, каждый ич которых может быть 0 или 1. Если в определенные моменты времени считывать состояние линии, то можно восстановить то. что было послано. Однако эта простая идея натыкается на определенные трудности. Для приемника и передатчика, связанных между собой тремя проводами ("земля" и два сиг нальных провода "туда" и "обратно"), приходится задавать скорость передачи и приема, которая должна быть одинакова для устройств на обоих концах линии. Эти скорости стандартизированы, и выбираются из ряда 1200, 2400. 4800, 9600. 14 400, 19 200. 28 800, 38 400, 56 000, 57 600, 115 200, 128 000, 256 000 (более медленные скорости я опустил) 2 . Число это обозначает количество передаваемых/принимаемых бит в секунду (бод). Проблема состоит в том, что приемник и передатчик - это физически совершенно разные системы, и скорости эти для них не могут быть строго одинаковыми в принципе (из-за разброса параметров тактовых генераторов), и даже если их каким-то фантастическим образом синхронизировать в начале, то они в любом случае быстро "разъедутся". Поэтому такая передача всегда сопровождается начальным (стартовым) битом, который служит для синхронизации. После нею идут восемь (или девять - если используется проверка на четность) информационных битов, а затем стоповые биты, которых может быт ь один, два и более, но это уже не имеет принципиального значения - почему, мы сейчас увидим.

Общая диаграмма передачи таких последовательностей показана на рис. ГИЛ. Хитрость заключается в том, что состояния линии передачи, называемые стартовый и столовый биты, имеют разные уровни. В данном случае стартовый бит передается положительным уровнем напряжения (логическим нулем), а столовый- отрицательным уровнем (логической единицей) 3 , по-

Обычный формат данных, по которому работает львиная доля всех устройств, обозначается 8nl, что читается так: 8 информационных бит, no parity,

тому фронт стартового бита всегда однозначно распознается. В этот-то момент и происходит синхронизация. Приемник отсчитывает время от фронта стартового бита, равное Ъ А периода заданной частоты обмена (чтобы попасть примерно в середину следующего бита), и затем восемь (или девять, если это задано заранее) раз подряд с заданным периодом регистрирует состояние линии. После этого линия переходит в состояние стопового бита и может в нем пребывать сколь угодно долго, пока не придет следующий стартовый бит. Задание минимального количества стоповых битов, однако, производится тоже- для того чтобы приемник знал, сколько времени минимально ему нужно ожидать следующего стартового бита (как минимум, это может быть, естественно, один период частоты обмена, т. е. один стоповый бит). Если по истечении этого времени стартовый бит не придет, приемник может регистрировать так называемый Timeout, т. е. перерыв, по-русски, и заняться своими делами. Если же линия "зависнет" в состоянии логического 0 (высокого уровня напряжения), то это может восприниматься устройством, как состояние "обрыва" линии- не очень удобный механизм, и в микроконтроллерах он через UART не поддерживается. Это не мешает нам, естественно, для установки или определения такого состояния просто отключать UART и устанавливать состояние логического нуля на выводе TxD (что и есть имитация физического "обрыва"), или определять уровень логического 0 на выводе RxD, но серьезных причин для использования этой возможности, я, честно говоря, не вижу (см. на эту тему также замечание в главе 20).

Рис. П4.1. Диаграмма передачи данных по последовательному интерфейсу RS-232

в формате 8N2

1 столовый бит. "No parity" означает, что проверка на четность не производится. Это самая распространенная схема работы такого порта, причем, т. к. никакими тайм-аугами (Timeout) мы также себе голову заморачивать не будем, то нам в принципе все равно, сколько стоповых битов будет, но во избежание излишних сложностей следует их устанавливать всегда одинаково - у передатчика и у приемника. На диаграмме рис. П4.1 показана передача некоего кода, а также, для наглядности, передача байта, состоящего из всеч единиц и из всех нулей в формате, опять же для наглядности, 8п2.

Из описанного алгоритма работы понятно, что погрешность несовпадения скоростей обмена может быть такой, чтобы фронты не "разъезжались" за время передачи/приема всех десяти-двенадцати битов более, чем на полпериода, т. е. в принципе фактическая разница скоростей может достигать 4-5%, но на практике их стараются все же сделать как можно ближе к стандартным величинам.

Приемник RS-232 часто дополнительно снабжают схемой, которая фиксирует уровень не единожды за период действия бита, а трижды, при этом за окончательный результат принимается уровень двух одинаковых из трех полученных состояний линии, таким образом удается избежать случайных помех. Длина линии связи по стандарту не должна превышать 15 м. но на практике это могут быть много большие величины. Если скорость передачи не выбирать слишком высокой, то такая линия может надежно работать на десятки метров (автору этих строк удавалось без дополнительных ухищрений наладить обмен с компьютером на скорости 4800 по кабелю, правда, довольно толстому, длиной около полукилометра). В табл. П4.1 приведены ориентировочные эмпирические данные по длине неэкранированной линии связи для различных скоростей передвчи.

Таблица П4.1. Длина кабеля RS-232 для разных скоростей передачи данных

Эти данные ни в коем случае не могут считаться официальными - слишком много влияющих факторов (уровень помех, толщина проводов, их взаимное расположение в кабеле, фактические уровни напряжения, выходное/входное сопротивление портов и т. п.). В случае экранированного кабеля 4 эти величины можно увеличить примерно в полтора-два раза. Во всех случаях использования "несанкционированной" длины кабеля связи следует применять меры по дополнительной проверке целостности данных- контроль четности, и/или программные способы (вычисление контрольных сумм и т. п.), описанные в главе 20.

Для работы в обе стороны нужно две линии, которые у каждого приемопередатчика обозначаются RxD (приемная) и TxD (передающая). В каждый момент времени может работать только одна из линий, т. е. приемопередатчик либо передает, либо принимает данные, но не одновременно (так называемый "полудуплексный режим" - это сделано потому, что у UART-микросхем чаще всего один регистр и на прием и на передачу). Кроме линий RxD и TxD, в разъемах RS-232 присутствуют также и другие линии. Полный список всех контактов для обоих стандартных разъемов типа DB (9- и 25-контактного) приведен в табл. П4.2. Нумерация контактов DB-разъема обычно написана прямо на нем, она также есть на рис. 10.8 в главе 10 (на примере гнезда разъема для игрового порта DB-15F).

Таблица П4.2. Контакты для ОВ-разьемов

Обозначение

Направление

Детектор принимаемого сигнала с линии (Data Carrier Detect)

Принимаемые данные (Receive Data)

Передаваемые данные (Transmit Data)

Готовность выходных данных (Data Terminal Ready)

Общий (Ground)

Готовность данных (Data Set Ready)

Запрос для передачи данных (Request То Send)

Таблица П4.2 (окончание)

Для нормальной совместной работы приемника и передатчика выводы RxD н TxD, естественно, нужно соединять накрест - TxD одного устройства с RxD второго и наоборот (то же относится и к RTS-CTS и т. д.). Кабели RS-232, которые устроены именно таким образом, называются еще нуль-модемными (в отличие от простых удлинительных). Их стандартная конфигурация показана на рис. П4.2. В варианте "с" (справа на рисунке) дополнительные выводы соединены именно так, как описано ранее.

Рис. П4.2. Схемы нуль-модемных кабелей RS-232: a.b - различные полные варианты,

с - минимальный вариант

Выходные линии RTS и DTR иногда могут использовать и для "незаконных" целей - питания устройств, подсоединенных к СОМ-порту. Именно так устроены, например, компьютерные мыши, работающие через СОМ. Позже мы покажем пример устройства (преобразователя уровней), которое будет использовать питание от вывода RTS. А как при необходимости можно установить эти линии в нужное состояние?

В молодости мы легко расстаемся со старыми, привычными вещами в угоду новым, модным и дорогим. Став постарше, мы с удивлением обнаруживаем, что старое, по сути дела, не хуже нового, только проще и дешевле. Примером такого «старого» является интерфейс RS-232, спецификация которого была принята более 30 лет назад, для хайтека – целая эпоха, да, пожалуй, и не одна. Тем не менее, архаичный интерфейс и по сей день является хорошим и надежным инструментом инсталлятора, когда ему требуется передавать данные в условиях с высоким уровнем шумов и помех.

История

В 1969 году ассоциация электронной промышленности США (EIA) опубликовала вариант «С» своего рекомендуемого стандарта (Recommended Standart – RS) за номером 232 «Интерфейс между оконечным оборудованием обработки данных и оконечным оборудованием линии с использованием последовательного обмена данными в двоичной форме».

Сейчас этот стандарт известен просто как стандарт RS-232C. Международный консультативный комитет по телефонии и телеграфии ввел свой собственный вариант этого стандарта в виде стандартов V.24 и V.28, а министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C.

Система передачи данных (передатчик, приемник, соединительные кабели), реализованная в соответствии с техническими условиями стандарта RS-232C, обеспечивает передачу сигнала со скоростями, не превышающими 20 Кбит/с (реально используют на скоростях до 115200 бит/с).

В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E. В ней нет никаких технических изменений, которые могли бы привести к несовместимости с оборудованием, поддерживающим интерфейс RS-232 более ранних версий.

Как это работает

До появления интерфейсов IEEE-1394 и USB‑2 асинхронный последовательный интерфейс был основным устройством, с помощью которого осуществлялось взаимодействие компьютеров. Слово «асинхронный» означает, что при передаче данных специальный синхронизирующий сигнал не используется, и отдельные символы могут передаваться с произвольными временными интервалами.

Каждый символ должен быть «взят в скобки» т.е. ему должен предшествовать стандартный стартовый сигнал, а заканчиваться его передача должна стоповым сигналом. Стартовый сигнал – это нулевой бит (с уровнем логического 0), который называется стартовым битом. Его предназначение – сообщить принимающему устройству о том, что следующие восемь бит представляют из себя байт данных. После символа передаются один или два стоповых бита, сигнализирующие об окончании его передачи. В принимающем устройстве символы распознаются по появлению стартовых и стоповых сигналов, а не по моменту их передачи. Асинхронный интерфейс ориентирован на передачу символов (байтов), а в передаваемой информации примерно 20% оказывается «лишней», предназначенной только для идентификации начала и конца каждого символа.

Термин последовательный означает, что связь осуществляется по одиночному проводу, а биты передаются последовательно, один за другим.

Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) – ООД (Оконечное Оборудование Данных), второе – DCE (Data Communications Equipment) – ОПД (Оборудование Передачи Данных).

Важно запомнить эти обозначения (DTE и DCE). Они используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.

За и против

К несомненному достоинству RS-232 следует отнести его популярность: все компьютеры РС (но не Mac) оборудованы по крайней мере одним портом RS-232, поэтому приобретение готовых кабелей для него не составляет никакой проблемы. Процессом передачи можно управлять на аппаратном уровне, хотя эту возможность используют нечасто.

Недостатки RS-232 состоят, прежде всего, в том, что он реализует связь типа «точка-точка» с низкой, по современным меркам, скоростью (обычно 9600 бит в секунду), и работает только на небольших расстояниях (до 10-15 м).

Состав линий связи между устройствами DTE и DCE точно не определён. Стандарт описывает функции до 25 соединительных линий, но не указывает, должна или не должна использоваться та или иная линия. Лучше (технологически) обстоят дела в стандарте RS‑422. По этому стандарту связь осуществляется по двум парам проводов, а передаваемый сигнал может приниматься более чем одним устройством. Согласно стандарту RS-485 (улучшенный RS-422) используется одна пара проводов, которая предназначена для передачи или приёма многими устройствами. RS-422/RS-485 может использоваться для многоточечных соединений, из-за высокой помехоустойчивости за счёт использования дифференциальных (балансных) линий, связь возможна на расстояниях до 1,2 км.

В настоящее время RS-422/RS-485 является стандартном де-факто для значительной части вещательной видеоиндустрии.

Типы разъемов


Рис. 1. 25-контактный соединитель типа DB25

Изначально стандарт RS-232 описывал применение 25-контактного соединителя типа DB25 (Рис.1). DTE-устройство должно оснащаться вилкой, DCE-устройство – розеткой. Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9 (рис. 2), наиболее распространенные в настоящее время.

Распайка RS-232


Рис. 2. 9-контактный соединитель DB9

В таблице 1 показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE). Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую, или через кабель, распаянный «контакт в контакт».

Таблица 1. Назначение контактов соединителя DB9

Вывод Сигнал Описание Тип вывода
1. CD (Carrier Detect) Несущая обнаружена Вход
2. RxD (Receive Data) Принимаемые данные Вход
3. TxD (Transmit Data) Передаваемые данные Выход
4. DTR (Data Terminal Ready) Готовность ООД Выход
5. SG (Signal Ground) Сигнальный общий -
6. DSR (Data Set Ready) Готовность ОПД Вход
7. RTS (Request To Send) Запрос на передачу Выход
8. CTS (Clear To Send) Готовность к приему Вход
9. RI (Ring Indicator) Наличие сигнала вызова Вход


Рис. 3. Распайка кабеля RS-232

Для передачи данных предназначены цепи RxD (RD) и TxD (TD). Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI). Набор используемых цепей зависит от аппаратной и программной реализации стыка в контроллере. Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода «перекрещиваются» в соответствии с назначением сигналов. На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства. Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground (рис. 3).

Рекомендуется использовать кабели на основе витой экранированной пары, где каждый из сигнальных проводов свит с общим проводом. Экран кабеля рекомендуется не объединять с сигнальным общим, а подключить к металлической оболочке разъема.

Таблица 2. Назначение контактов соединителя DB25

Вывод Сигнал Описание Тип вывода
1. Корпус
2. TxD (Transmit Data) Передаваемые данные Выход
3. RxD (Receive Data) Принимаемые данные Вход
4. RTS (Request To Send) Запрос на передачу Выход
5. CTS (Clear To Send) Готовность к приему Вход
6. DSR (Data Set Ready) Готовность ОПД Вход
7. SG (Signal Ground) Сигнальный общий
8. CD (Carrier Detect) Несущая обнаружена Вход
9. Токовый выход передатчика (+) Выход
11. Токовый выход передатчика (–) Выход
18. Токовый вход приемника (+) Вход
20. DTR (Data Terminal Ready) Готовность ООД Выход
22. RI (Ring Indicator) Наличие сигнала вызова Вход
25. Токовый вход приемника (–) Вход

Таблица 3. Соответствие выводов между 9 и 25-контактным разъемами

9-контактный разъем 25-контактный разъем
1 8
2 3
3 2
4 20
5 7
6 6
7 4
8 5
9 22

Все сигналы в интерфейсе потенциальные, с номинальными уровнями +12В и –12В относительно общего провода (Signal Ground). Логической единице соответствует уровень –12В, логическому нулю соответствует +12В.

Как уже говорилось, RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (–12В). Скорость передачи данных стандартом не нормируется, но обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами. Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности (может отсутствовать), стопового бита. Биты байта данных передаются, начиная с младшего бита.

Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности, длина стопового бита (1, 1.5 или 2).

При точных расчётах времени на передачу массива байтов наряду с битами данных следует учитывать все служебные биты.

На рис. 4 показан вид одного фрейма RS-232 при следующих настройках: 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит. Стартовый бит всегда идет с уровнем логического нуля, стоповый – единицы. Состояние бита четности определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space).


Рис. 4. Вид фрейма RS-232

Как преодолеть ограничения стандарта RS-232

Наиболее существенными недостатками стандарта RS-232 являются небольшое расстояние, на которое можно передавать сигнал и возможность соединения только двух устройств по типу «точка-точка».

Для их преодоления используют специальные устройства – удлинители линии и расширители портов.

Удлинитель линии связи Range Extender

Предназначен для преодоления ограничений по расстоянию для приборов, имеющих управление через RS-232.

Осуществляет преобразование в интерфейс RS-422, а затем назад, в RS‑232, что позволяет использовать в качестве физического носителя две пары проводов. Удлинитель линии может быть использован для увеличения расстояния связи для любого нуль-модемного соединения RS-232, для управления оборудованием через интерфейс RS-422, либо в качестве преобразователя общего назначения из RS-232 в RS-422 и обратно.

Работает во всех режимах связи (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.

Расширитель портов Port Extender

Предназначен для преодоления ограничения интерфейса RS-232, который может осуществлять только соединения типа «точка-точка». Позволяет осуществлять связь между несколькими устройствами с интерфейсами RS-232.

Данные, которые поступают на любой из портов устройства, пересылаются на остальные 3 порта. Расширитель портов может быть использован для управления коммутатором от 3 устройств DTE (например, компьютеров).

Прибор поддерживает все режимы связи RS-232 (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.

Устранение неполадок при связи через RS-232

Ниже приведены меры, которые могут помочь разрешить проблемы, возникающие при связи с устройствами Kramer через интерфейс RS-232.

  1. Убедитесь, что между устройством (коммутатором, маршрутизатором) и управляющим компьютером (РС) установлено нуль-модемное соединение. Также убедитесь, что на разъёмах нет замятых контактов.

    Проще всего (при использовании 25-контактного порта на РС) использовать нуль-модемный адаптер, прилагаемый к устройству. Подключите такой переходник 25-контактным разъёмом к последовательному порту РС, после чего прямым кабелем – т.е. с распайкой один к одному – соедините 9-контактный разъём адаптера с последовательным портом на устройстве. (Если адаптер используется с неполным кабелем, то необходимо, как минимум, соединить на 9-контактных разъёмах с обоих концов: контакт 2 с контактом 2, 3 – с 3 и 5 – с 5.)

    При непосредственном подключении 25-контактного порта на РС к 9-контактному разъёму на устройстве (т.е. без нуль-модемного адаптера) соедините:

    • Контакт 2 на 25-контактном разъёме – с контактом 2 на 9-контактном;
    • Контакт 3 на 25-контактном разъёме – с контактом 3 на 9-контактном;
    • Контакт 7 на 25-контактном разъёме – с контактом 5 на 9-контактном;
    • Закоротите вместе контакты 6 и 20 на 25-контактном разъёме;
    • Закоротите вместе контакты 4, 5 и 8 на 25-контактном разъёме.

    При непосредственном подключении 9-контактного порта на РС к 9-контактному разъёму на устройстве соедините:

    • Контакт 2 на разъёме РС – с контактом 3 на разъёме устройства;
    • Контакт 3 на разъёме РС – с контактом 2 на разъёме устройства;
    • Контакт 5 на разъёме РС – с контактом 5 на разъёме устройства;
    • Соедините вместе контакты 4 и 6 на разъёме РС;
    • Соедините вместе контакты 1, 7 и 8 на разъёме РС;
  2. Убедитесь, что на устройстве правильно выставлены все DIP-переключатели.
  3. Убедитесь, что установки для скорости передачи данных на РС и на устройстве совпадают, а на РС выбран правильный com-порт.
  4. Если несколько устройств используются одновременно, убедитесь, что все они включены. Если в системе, работающей по схеме «ведущий/ведомый» (master/slave), какое-либо из устройств выключено, обмен в такой системе не будет надёжным.
  5. Если в устройстве имеется функция «DISABLE TXD» (Отключить TXD), убедитесь, что эта функция выключена; аналогично, если для «отключения ответа» используется DIP-переключатель, убедитесь, что ответ разрешён.
  6. Контакт 3 на разъёме RS-232 устройства используется для отправки данных в РС (это TXD устройства и RXD на РС). Контакт 2 на разъёме устройства используется для приёма данных от РС (это RXD устройства и TXD на РС). Может оказаться полезным с помощью цифрового запоминающего осциллографа убедиться в том, что устройство передаёт/принимает данные на указанных контактах.
  7. В большинстве устройств используется «двунаправленный» протокол обмена. Это значит, что один и тот же код используется как для передачи в устройство команды на выполнение определённого действия, так и в качестве ответа от устройства (в РС) при нажатии кнопки на его передней панели для выполнения аналогичного действия. Например, если пользователь нажал кнопки и скоммутировал вход 4 на выход 5, устройство посылает в компьютер шестнадцатеричный код 7В; в то же время при получении устройством кода 7В оно также отработает подключение входа 4 на выход 5. Для такого протокола может оказаться полезным анализировать коды, посылаемые устройством при нажатии кнопок на его передней панели с тем, чтобы разобраться в протоколе обмена.
  8. При устранении неполадок может оказаться полезным применять коммуникационную программу типа Procomm или Viewcom чтобы вначале проанализировать коды, посылаемые устройством. Затем можно попробовать посылать такие коды назад (см. пункт 7), проверяя, что устройство правильно на них реагирует. Наконец, можно послать код, по которому устройство вернёт своё состояние.
  9. Если должна использоваться написанная пользователем программа, по возможности вначале с помощью фирменной программы убедитесь в том, что связь между РС и устройством работает нормально.
  10. Для оборудования, в котором управление через RS-232 предусмотрено в качестве опции и вводится установкой дополнительной аппаратной платы, проверьте, что такая плата правильно установлена (как описано в руководстве).
  11. Некоторые устройства могут получать управление от других элементов оборудования и могут настраиваться на работу через RS-232 с таким оборудованием, а не с компьютером. В этом случае необходимо правильно настроить устройство. Например, матричный коммутатор звуковых сигналов 16X16 настраевается на заводе (по умолчанию) на работу с матричным коммутатором видео 16X16. В этом случае звуковая матрица получает управление от РС через видеоматрицу. Если звуковой матрицей надо управлять независимо, её следует соответственно перенастроить (на работу в режиме устройства, переключающего «только звук»).
  12. Если необходимо выслать несколько команд, то перед отправкой дополнительной команды следует убедиться в том, что устройство отработало предыдущую команду. Для этого дождитесь получения ответа на предыдущую команду перед отправкой следующей.
  13. Убедитесь в том, что для связи с устройством используется настоящий интерфейс RS-232! Некоторое оборудование (например, стандартный последовательный порт Macintosh), хотя и аналогичен RS-232, использует иные режимы обмена данными.
  14. При использовании РС с операционной системой Windows NT4.0 (и ниже) следует принять дополнительные меры. Эта система не имеет функции «plug and play» и поэтому настройка портов компьютера в ней – непростая задача. Обратитесь к документации на Windows NT! Даже если Ваша программа работает на компьютере с иной операционной системой, возможно, что под Windows NT порт не будет правильно инициализироваться.
  15. Учтите, что рабочее расстояние для RS-232 (по определению) не превышает 10 метров! Если требуется большая длина связи, следует использовать «удлинитель линии связи».
  16. По определению, интерфейс RS-232 предназначен для осуществления обмена между 2 портами (в нашем случае это РС и коммутатор). Если надо соединить вместе несколько устройств с интерфейсами RS-232, можно использовать расширитель портов (Port Extender) (например, если коммутатором надо управлять от 2-х компьютеров и контроллера).

ПРИМЕЧАНИЕ: Для некоторых изделий допускается управление несколькими такими устройствами при их последовательном соединении прямыми кабелями – что кажется неправильным в свете вышесказанного. На самом деле устройства настраиваются в режимы «ведущий/ведомый» (master/slave), при этом с компьютером через RS-232 связано только одно, ведущее устройство. При таком включении ведущее устройство передаёт информацию на и от РС к ведомым устройствам, а интерфейсом RS-232 порты оказываются связанными попарно).

Под обозначениями RS-232, RS-422 и RS-485 понимаются интерфейсы для цифровой передачи данных. Стандарт RS-232 более известен как обычный СОМ порт компьютера или последовательный порт (хотя последовательным портом также можно считать Ethernet, FireWire и USB). Интерфейсы RS-422 и RS-485 широко применяются в промышленности для соединения различного оборудования.

В таблице приведены основные отличия интерфейсов RS-232, RS-422 и RS-485.

Название RS-232 RS-422 RS-485
Тип передачи Полный дуплекс Полный дуплекс Полудуплекс (2 провода),полный дуплекс (4 провода)
Максимальная дистанция 15 метров при 9600 бит/с 1200 метров при 9600 бит/с 1200 метров при 9600 бит/с
Задействованные контакты TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND* TxA, TxB, RxA, RxB, GND DataA, DataB, GND
Топология Точка-точка Точка-точка Многоточечная
Макс. кол-во подключенных устройств 1 1 (10 устройств в режиме приема) 32 (с повторителями больше, обычно до 256)

* Для интерфейса RS-232 не обязательно использовать все линии контактов. Обычно используются линии данных TxD, RxD и провод земли GND, остальные линии необходимы для контроля над потоком передачи данных. Подробнее вы узнаете далее в статье.

Информация, передаваемая по интерфейсам RS-232, RS-422 и RS-485, структурирована в виде какого-либо протокола, например, в промышленности широко распространен протокол Modbus RTU.

Описание интерфейса RS-232

Интерфейс RS-232 (TIA/EIA-232) предназначен для организации приема-передачи данных между передатчиком или терминалом (англ. Data Terminal Equipment, DTE ) и приемником или коммуникационным оборудованием (англ. Data Communications Equipment, DCE ) по схеме точка-точка.

Скорость работы RS-232 зависит от расстояния между устройствами, обычно на расстоянии 15 метров скорость равна 9600 бит/с. На минимальном расстоянии скорость обычно равна 115.2 кбит/с, но есть оборудование, которое поддерживает скорость до 921.6 кбит/с.

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

Информация по интерфейсу RS-232 передается в цифровом виде логическими 0 и 1.

Логическому «0» (SPACE) соответствует напряжение в диапазоне от +3 до +15 В.

В дополнение к двум линиям приема и передачи, на RS-232 имеются специальные линии для аппаратного управления потоком и других функций.

Для подключения к RS-232 используется специальный разъем D-sub, обычно 9 контактный DB9, реже применяется 25 контактный DB25.

Разъемы DB делятся на Male – «папа» (вилка, pin) и Female – «мама» (гнездо, socket).

Распиновка разъема DB9 для RS-232

Распайка кабеля DB9 для RS-232

Существует три типа подключения устройств в RS-232: терминал-терминал DTE-DTE, терминал- коммуникационное оборудование DTE-DCE, модем-модем DCE-DCE.

Кабель DTE-DCE называется «прямой кабель», потому что контакты соединяются один к одному.

Кабель DCE-DCE называется «нуль-модемный кабель», или по-другому кросс-кабель.

Ниже приведены таблицы распиновок всех перечисленных типов кабеля, и далее отдельно представлена таблица с переводом основных терминов на русский язык.

Распиновка прямого кабеля DB9 для RS-232

Распиновка нуль-модемного кабеля DB9 для RS-232

Таблица с распиновкой разъемов DB9 и DB25.

DB9 DB25 Обозначение Название Описание
1 8 CD Carrier Detect Обнаружение несущей
2 3 RXD Receive Data Прием данных
3 2 TXD Transmit Data Передача данных
4 20 DTR Data Terminal Ready Готовность оконечного оборудования
5 7 GND System Ground Общий провод
6 6 DSR Data Set Ready Готовность оборудования передачи
7 4 RTS Request to Send Запрос на передачу
8 5 CTS Clear to Send Готов передавать
9 22 RI Ring Indicator Наличие сигнала вызова

Для работы с устройствами RS-232 обычно необходимо всего 3 контакта: RXD, TXD и GND. Но некоторые устройства требуют все 9 контактов для поддержки функции управления потоком передачи данных.

Структура передаваемых данных в RS-232

Одно сообщение, передаваемое по RS-232/422/485, состоит из стартового бита, нескольких бит данных, бита чётности и стопового бита.

Стартовый бит (start bit) - бит обозначающий начало передачи, обычно равен 0.

Данные (data bits) – 5, 6, 7 или 8 бит данных. Первым битом является менее значимый бит.

Бит четности (parity bit) – бит предназначенный для проверки четности. Служит для обнаружения ошибок. Может принимать следующие значения:

  • Четность (EVEN), принимает такое значение, чтобы количество единиц в сообщении было четным
  • Нечетность (ODD), принимает такое значение, чтобы количество единиц в сообщении было нечетным
  • Всегда 1 (MARK), бит четности всегда будет равен 1
  • Всегда 0 (SPACE), бит четности всегда будет равен 0
  • Не используется (NONE)

Стоповый бит (stop bit) – бит означающий завершение передачи сообщения, может принимать значения 1, 1.5 (Data bit =5), 2.

Например, сокращение 8Е1 обозначает, что передается 8 бит данных, используется бит четности в режиме EVEN и стоп бит занимает один бит.

Управление потоком в RS-232

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

Есть аппаратный и программный метод управления.

Аппаратный метод использует выводы RTS/CTS. Если передатчик готов послать данные, то он устанавливает сигнал на линии RTS. Если приёмник готов принимать данные, то он устанавливает сигнал на линии CTS. Если один из сигналов не установлен, то передачи данных не произойдет.

Программный метод вместо выводов использует символы Xon и Xoff (в ASCII символ Xon = 17, Xoff = 19) передаваемые по тем же линиям связи TXD/RXD, что и основные данные. При невозможности принимать данные приемник передает символ Xoff. Для возобновления передачи данных посылается символ Xon.

Как проверить работу RS-232?

При использовании 3 контактов достаточно замкнуть RXD и TXD между собой. Тогда все переданные данные будут приняты обратно. Если у вас полный RS-232, тогда вам нужно распаять специальную заглушку. В ней должны быть соединены между собой следующие контакты:

DB9 DB25 Соединить
1 + 4 + 6 6 + 8 + 20 DTR -> CD + DSR
2 + 3 2 + 3 Tx -> Rx
7 + 8 4 + 5 RTS -> CTS

Описание интерфейса RS-422

Интерфейс RS-422 похож на RS-232, т.к. позволяет одновременно отправлять и принимать сообщения по отдельным линиям (полный дуплекс), но использует для этого дифференциальный сигнал, т.е. разницу потенциалов между проводниками А и В.

Скорость передачи данных в RS-422 зависит от расстояния и может меняться в пределах от 10 кбит/с (1200 метров) до 10 Мбит/с (10 метров).

В сети RS-422 может быть только одно передающее устройство и до 10 принимающих устройств.

Линия RS-422 представляет собой 4 провода для приема-передачи данных (2 скрученных провода для передачи и 2 скрученных провода для приема) и один общий провод земли GND.

Скручивание проводов (витая пара) между собой позволяет избавиться от наводок и помех, потому что наводка одинаково действует на оба провода, а информация извлекается из разности потенциалов между проводниками А и В одной линии.

Напряжение на линиях передачи данных может находится в диапазоне от -6 В до +6 В.

Логическому 0 соответствует разница между А и В больше +0,2 В.

Логической 1 соответствует разница между А и В меньше -0,2 В.

Стандарт RS-422 не определяет конкретный тип разъема, обычно это может быть клеммная колодка или разъем DB9.

Распиновка RS-422 зависит от производителя устройства и указывается в документации на него.

При подключении устройства RS-422 нужно сделать перекрестие между RX и TX контактами, как показано на рисунке.

Т.к. расстояние между приемником и передатчиком RS-422 может достигать 1200 метров, то для предотвращения отражения сигнала от конца линии ставится специальный 120 Ом согласующий резистор или "терминатор". Этот резистор устанавливается между RX+ и RX- контактами в начале и в конце линии.

Как проверить работу RS-422?

Для проверки устройств с RS-422 лучше воспользоваться конвертером из RS-422 в RS-232 или USB (I-7561U). Тогда вы сможете воспользоваться ПО для работы с СОМ портом.

Описание интерфейса RS-485

В промышленности чаще всего используется интерфейс RS-485 (EIA-485), потому что в RS-485 используется многоточечная топология, что позволяет подключить несколько приемников и передатчиков.

Интерфейс RS-485 похож на RS-422 тем что также использует дифференциальный сигнал для передачи данных.

Существует два типа RS-485:

  • RS-485 с 2 контактами, работает в режиме полудуплекс
  • RS-485 с 4 контактами, работает в режиме полный дуплекс

В режиме полный дуплекс можно одновременно принимать и передавать данные, а в режиме полудуплекс либо передавать, либо принимать.

В одном сегменте сети RS-485 может быть до 32 устройств, но с помощью дополнительных повторителей и усилителей сигналов до 256 устройств. В один момент времени активным может быть только один передатчик.

Скорость работы также зависит от длины линии и может достигать 10 Мбит/с на 10 метрах.

Напряжение на линиях находится в диапазоне от −7 В до +12 В.