Распиновка COM порта(RS232). Распиновка COM порта(RS232) Rs 232 интерфейс что

  • Tutorial

Вместо вступления

Как обычно я предлагаю заняться странным - попробовать подключить несколько старых RS232 устройств, через один USB порт с помощью синей изоленты и смекалки. Статья не будет большой, скорее это описание что где взять и зачем вообще все это делать.

Зачем?

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

Как правило «мозгами» такого комплекса является компьютер у которого 100500 выходов RS232. Из примеров могу привести место кассира в супермаркете, банкоматы и тому подобное. С первым случаем столкнулся я.

Эти компьютеры не блещут мощностью, но отличаются космической стоимостью. Естественно он перестает отвечать требованиям современных технологий и многим приходит в голову идея заменить их на обычный ПК и получить приличную мощность по адекватной цене, однако быстро выясняется что RS232 на новых ПК вымер как класс. Теперь этот интерфейс стал сугубо специализированным. Соответственно надо или самостоятельно прикручивать кучу RS232 или искать уже готовое спец решение.

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

Люди не посвященный в тему сразу радостно покупают пучок китайских USBtoRS232 переходников, а дальше все идет очень печально. Лучше этого не делать. Вторым вариантом является покупка специализированной платы расширения с кучей RS232. Этот вариант уже лучше и имеет право на жизнь, но тоже имеет свои недостатки. Например стоимость и проблемы с дровами если используется не Windows или не та версия. Так же не маловажным фактором является доступность в будущем, так как что-то выходит из строя и парк может расширятся в будущем. Потом оказывается что конкретная модель уже не выпускается или не постановляется в конкретную местность и т.д. В общем привязывать себя к конкретному устройству это всегда опасно, особенно если можно этого не делать.

Пробуем что-то сделать

Может показаться странным что примитивные RS232 устройства так сложно и дорого подключить по нормальному если по сути там обычно простые протоколы и примитивный физический уровень. А все потому что обычно подобные аппаратные комплексы используются в коммерческих доходных сферах и покупка оборудования по таким ценам оправдана, а само оборудование уже перешло в разряд специального. Спец оборудование = спец цена вопроса.

Однако все это не мешает попробовать собрать свой бюджетный велосипед. Бонусом получим возможность менять поведение такого своеобразного RS232 мультиплексора и полностью обойдем проблему написания USB драйверов. HID профиль поддерживается почти везде.

High level

Вторая часть софта это примеры и тесты собранные в сумбурный проект на Java написанный IDE IDEA. Предполагается что работа с устройством интегрируется в софт высокого уровня используя различные обертки по работе с USB стеком в зависимости от языка на кортом этот софт пишется. Сейчас сложно найти такой ЯП чтобы под него не существовало таких оберток. Отдельно для староверов отмечу что java и usb совместимы если готовить правельно, это доказано практикой и используется в коммерческом проекте.

В процессе тестирования выяснилось что работа в Linux и Windows с USB HID несколько отличается, работа отлаживалась через две библиотеки usb4java и hid4java. Работа через последнюю используется в Linux (Raspberry Pi 3).

Разница заключается в том что в Windows можно обратится напрямую к USB устройству даже если оно зарегистрировано как HID и писать\читать его конечные точки (endpoint). В Linux же приходится работать с hid устройством. То есть устанавливается стандартный драйвер hid и всё, работайте только с ним пожалуйста. Работа таким образом происходит немного медленнее чем напрямую, но напрямую тоже возможно если убедить систему не ставить драйвера. Это реально.

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

Заключение

Представленное устройство это лишь одни из примеров как довольно легко можно приобщится к процессу создания нативных USB устройств и перестать наконец использовать переходники.

Не забываем плюсовать

В молодости мы легко расстаемся со старыми, привычными вещами в угоду новым, модным и дорогим. Став постарше, мы с удивлением обнаруживаем, что старое, по сути дела, не хуже нового, только проще и дешевле. Примером такого «старого» является интерфейс 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 В.

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

Хотя такие интерфейсы, как Ethernet, FireWire и USB, все отправляют данные в виде последовательного потока, термин «последовательный порт» обычно идентифицирует аппаратное обеспечение, более или менее совместимое со стандартом RS-232, предназначенное для взаимодействия с модемом или с аналогичной связью Устройства.

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

Распиновка COM порта(RS232)

Существует 2-е разновидности com порта, 25-и пиновый старый разъем и сменившей его более новый 9-и пиновый разъем.

Ниже приведена схема типового стандартного 9-контактного разъема RS232 с разъемами, этот тип разъема также называется разъемом DB9.

  1. Обнаружение несущей(DCD).
  2. Получение данных(RXD).
  3. Передача данных(TXD).
  4. Готовность к обмену со стороны приемника(DTR).
  5. Земля(GND).
  6. Готовность к обмену со стороны источника(DSR).
  7. Запрос на передачу(RTS).
  8. Готовность к передаче(CTS).
  9. Сигнал вызова(RI).

RJ-45 к DB-9 Информация о выводе адаптера последовательного порта для коммутатора

Консольный порт представляет собой последовательный интерфейс RS-232, который использует разъём RJ-45 для подключения к управляющему устройству, например ПК или ноутбуку. Если на вашем ноутбуке или ПК нет штыря разъема DB-9, и вы хотите подключить ноутбук или ПК к коммутатору, используйте комбинацию адаптера RJ-45 и DB-9.

DB-9 RJ-45
Получение Данных 2 3
Передача данных 3 6
Готовность обмену 4 7
Земля 5 5
Земля 5 4
Готовность обмену 6 2
Запрос на передачу 7 8
Готовность к передаче 8 1

Цвета проводов:

1 Черный
2 Коричневый
3 Красный
4 Оранжевый
5 Желтый
6 Зеленый
7 Синий
8 Серый (или белый)

Последовательный интерфейс RS-232 — это промышленный стандарт для последовательной двунаправленной асинхронной передачи данных. Ранее использовался в персональных компьютерах для подключения принтеров, модемов, мыши и пр. В настоящее время активно вытесняется пришедшим ему на смену интерфейсом USB, однако в микроконтроллерных системах — это один из наиболее часто встречающихся интерфейсов.

Спецификации RS-232C не огpаничивают максимальнyю длинy кабеля, но огpаничивают максимальное значение его емкости величиной 2500 пф. Емкость интеpфейсных кабелей pазлична, однако общепpинятой длиной yдовлетвоpяющей данной спецификации считается длина 15 метров (до 20000 бод) Чем выше скоpость пеpедачи, тем больше искажения сигнала, вызванные емкостными хаpактеpистиками кабеля.

Выпyскаются специальные интеpфейсные кабели пpямой связи RS-232C низкой емкости, котоpые yдовлетвоpительно pаботают со скоpостью 9600 бод на pасстоянии до 150 м.

Число подключаемых пpиемников и пеpедатчиков подключаемых к одной линии — 1/1, (в отличие от стандаpтов RS-422 1 передатчик/ 10 пpиемников или RS-485 32/32).

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

Последовательная передача данных

Последовательный поток данных состоит из битов синхронизации и собственно битов данных. Формат последовательных данных содержит четыре части: стартовый бит, биты данных (5-8 бит), проверочный и стоповый биты; вся эта конструкция иногда называется символом . На рисунке изображен типичный формат последовательных данных.

Формат последовательных данных, формируемых UART

Когда данные не передаются, на линии устанавливается уровень логической единицы. Это называется режимом ожидания . Начало режима передачи данных характеризуется передачей уровня логического нуля длительностью в одну элементарную посылку. Такой бит называется стартовым . Биты данных посылаются последовательно, причем младший бит — первым; всего их может быть от пяти до восьми. За битами данных следует проверочный бит, предназначенный для обнаружения ошибок, которые возникают во время обмена данными. Последней передается стоповая посылка, информирующая об окончании символа. Стоповый бит передается уровнем логической единицы. Длительность стоповой посылки — 1, 1.5 или 2 тактовых интервала. Электронное устройство, которое генерирует и принимает последовательные данные, называется универсальным асинхронным приемопередатчиком (Universal Asynchronous Receiver Transmitter, или UART).

Обмен информацией с помощью UART происходит следующим образом:

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

Скорость передачи информации в последовательном интерфейсе измеряется в бодах (бод — количество передаваемых битов за 1 секунду). Стандартные скорости равны 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 бод и т.д. Зная скорость в бодах, можно вычислить число передаваемых символов в секунду. Например, если имеется восемь бит данных без проверки на четность и один стоповый бит, то общая длина последовательности, включая стартовый бит, равна 10. Скорость передачи символов соответствует скорости в бодах, деленной на 10. Таким образом, при скорости 9600 бод (см.рисунок выше) будет передаваться 960 символов в секунду.

Проверочный бит предназначен для обнаружения ошибок в передаваемых битах данных. Когда он присутствует, осуществляется проверка на четность или нечетность. Если интерфейс настроен на проверку по четности, такой бит будет выставляться в единицу при нечетном количестве единиц в битах данных, и наоборот. Это простейший пособ проверки на наличие одиночных ошибок в передаваемом блоке данных. Однако, если во время передачи искажению подверглись несколько битов, подобная ошибка не обнаруживается. Проверочный бит генерируется передающим UART таким образом, чтобы общее количество удиниц было нечетным или четным числом в зависимости от настройки интерфейса; приемное устройство должно иметь такую же настройку. Приемный UART считает количество единиц в принятых данных. Если данные не проходят проверку, генерируется сигнал ошибки.

В UART применяются уровни напряжения ТТЛ. Для передачи данных по каналу связи напряжение с помощью специализированных преобразователей конвертируется с инверсией: логическому нулю соответствует диапазон напряжений от +3 до +12В, логической единице — от -3 до -12В.

Разъемы RS-232 и соединение устройств

Основными разъемами, применяемыми с портом RS-232 являются DB-9S и DB-25S. На рисунке показана распиновка разъема DB-9.

Номера пинов 9-контактного разъема

а в таблице показано соответсвие сигналов контактам RS-232 для 9-ти и 25-ти контактных разъемов и их функции на компьютере

25 контактов 9 контактов Наименование Направление Описание
1 PROT Защитное заземление
2 3 TD Выход Передаваемые данные
3 2 RD Вход Принимаемые данные
4 7 RTS Выход Запрос на передачу
5 8 CTS Вход Очищен для передачи
6 6 DSR Вход Готовность внешнего устройства
7 5 GND Сигнальное заземление
8 1 DCD Вход Обнаружение информационного сигнала
20 4 DTR Выход Готовность к обмену данными
22 9 RI Вход Индикатор звонка
23 DSRD Вход/Выход Детектор скорости передачи данных

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

Соединение устройств по протоколу RS-232

В системах с используется второй тип соединения.

Назначение сигналов

Сигнал Назначение
PROT Защитное заземление. Соединяется с металлическим экраном кабеля и корпусом оборудования
GND Линия заземления. Общий провод для всех сигналов
TD Передаваемые данные. Последовательные данные передаются компьютером по этой линии
RD Принимаемые данные. Последовательные данные принимаются компьютером по этой линии
RTS Запрос на передачу. Линия взаимодействия, которая показывает, что компьютер готов к приему данных. Линия управляется со стороны компьютера; если взамодействия не требуется, она может использоваться как двоичный выход
CTS Готовность к передаче. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно готово к передаче данных. Если взаимодействия не требуется, она может использоваться как двоичный вход
DTR Компьютер готов. Линия взаимодействия показывает, что компьютер включен и готов к связи. Линия управляется со стороны компьютера; если взаимодействия не требуется, она может использоваться как двоичный выход
DSR Готовность внешнего устройства. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно включено и готово к связи. Если взаимодействия не требуется, она может использоваться как двоичный вход
КАТЕГОРИИ

ПОПУЛЯРНЫЕ СТАТЬИ

© 2024 «nkld.ru» — Windows. Железо. Интернет. Безопасность. Операционные системы. Ноутбуки