Rs 232 последовательный. Распиновка COM порта(RS232). Тверской государственный технический университет

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

Общее описание

Интерфейс RS-232, совсем официально называемый "EIA/TIA-232-E", но более известный как интерфейс "COM-порта", ранее был одним из самых распространенных интерфейсов в компьютерной технике. Он до сих пор встречается в настольных компьютерах, несмотря на появление более скоростных и "интеллектуальных" интерфейсов, таких как USB и FireWare. К его достоинствам с точки зрения радиолюбителей можно отнести невысокую минимальную скорость и простоту реализации протокола в самодельном устройстве.

Физический интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M, последний в выпускаемых в настоящее время компьютерах практически не встречается.

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


9-контактная вилка типа DB-9M
Нумерация контактов со стороны штырьков
Направление сигналов указано относительно хоста (компьютера)
Контакт Сигнал Направление Описание
1 CD Вход Обнаружена несущая
2 RXD Вход Принимаемые данные
3 TXD Выход Передаваемые данные
4 DTR Выход Хост готов
5 GND - Общий провод
6 DSR Вход Устройство готово
7 RTS Выход Хост готов к передаче
8 CTS Вход Устройство готово к приему
9 RI Вход Обнаружен вызов

Назначение выводов 25-контактного разъема

Контакт Сигнал Направление Описание
1 SHIELD - Экран
2 TXD Выход Передаваемые данные
3 RXD Вход Принимаемые данные
4 RTS Выход Хост готов к передаче
5 CTS Вход Устройство готово к приему
6 DSR Вход Устройство готово
7 GND - Общий провод
8 CD Вход Обнаружена несущая
9 - - Резерв
10 - - Резерв
11 - - Не используется
12 SCD Вход Обнаружена несущая #2
13 SCTS Вход Устройство готово к приему #2
Контакт Сигнал Направление Описание
14 STXD Выход Передаваемые данные #2
15 TRC Вход Тактирование передатчика
16 SRXD Вход Принимаемые данные #2
17 RCC Вход Тактирование приемника
18 LLOOP Выход Локальная петля
19 SRTS Выход Хост готов к передаче #2
20 DTR Выход Хост готов
21 RLOOP Выход Внешняя петля
22 RI Вход Обнаружен вызов
23 DRD Вход Определена скорость данных
24 TRCO Выход Тактирование внешнего передатчика
25 TEST Вход Тестовый режим

Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные "#2"), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере "широкого" разъема, дополнительные сигналы на нем просто не подключены.

Электрические характеристики

Логические уровни передатчика: "0" - от +5 до +15 Вольт, "1" - от -5 до -15 Вольт.

Логические уровни приемника: "0" - выше +3 Вольт, "1" - ниже -3 Вольт.

входное сопротивление приемника не менее 3 кОм.

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

Описание основных сигналов интерфейса

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

RXD - Линия приема хостом данных от устройства. Подробно описана в разделе "Протокол обмена данными".

TXD - Линия передачи хостом данных к устройству. Подробно описана в разделе "Протокол обмена данными".

DTR - Хост устанавливает этот сигнал, когда готов к обмену данными. Фактически сигнал устанавливается при открытии порта коммуникационной программой и остается в этом состоянии все время, пока порт открыт.

DSR - Устройство устанавливает этот сигнал, когда включено и готово к обмену данными с хостом. Этот и предыдущий (DTR) сигналы должны быть установлены для обмена данными.

RTS - Хост устанавливает этот сигнал перед тем, как начать передачу данных устройству, а также сигнализирует о готовности к приему данных от устройства. Используется при аппаратном управлении обменом данными.

CTS - Устройство устанавливает этот сигнал в ответ на установку хостом предыдущего (RTS), когда готово принять данные (например, когда предыдущие присланные хостом данные переданы модемом в линию или есть свободное место в промежуточном буфере).

RI - Устройство (обычно модем) устанавливает этот сигнал при получении вызова от удаленной системы, например при приеме телефонного звонка, если модем настроен на прием звонков.

Протокол обмена данными

В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный. Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи. Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).

Аппаратный метод управления реализуется с помощью сигналов RTS и CTS. Для передачи данных хост (компьютер) устанавливает сигнал RTS и ждет установки устройством сигнала CTS, после чего начинает передачу данных до тех пор, пока сигнал CTS установлен. Сигнал CTS проверяется хостом непосредственно перед началом передачи очередного байта, поэтому байт, который уже начал передаваться, будет передан полностью независимо от значения CTS. В полудуплексном режиме обмена данными (устройство и хост передают данные по очереди, в полнодуплексном режиме они могут делать это одновременно) снятие сигнала RTS хостом означает его переход в режим приема.

Программный метод управления заключается в передаче принимающей стороной специальных символов остановки (символ с кодом 0x13, называемый XOFF) и возобновления (символ с кодом 0x11, называемый XON) передачи. При получении данных символов передающая сторона должна соответственно остановить передачу или возобновить ее (при наличии данных, ожидающих передачи). Этот метод проще с точки зрения реализации аппаратуры, однако обеспечивает более медленную реакцию и соответственно требует заблаговременного извещения передатчика при уменьшении свободного места в приемном буфере до определенного предела.

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

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

Один из возможных алгоритмов работы приемника следующий:

  1. Ожидать уровня "0" сигнала приема (RXD в случае хоста, TXD в случае устройства).
  2. Отсчитать половину длительности бита и проверить, что уровень сигнала все еще "0"
  3. Отсчитать полную длительность бита и текущий уровень сигнала записать в младший бит данных (бит 0)
  4. Повторить предыдущий пункт для всех остальных битов данных
  5. Отсчитать полную длительность бита и текущий уровень сигнала использовать для проверки правильности приема с помощью контроля четности (см. далее)
  6. Отсчитать полную длительность бита и убедиться, что текущий уровень сигнала "1".

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

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

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

  • уровень логического 0 около 0 В;
  • уровень логической 1 около 5 В;
  • порог срабатывания входов приблизительно 2,5 В.

Значит, для того чтобы вызвать ложное срабатывание помехе или наводке, достаточно изменить напряжение в контуре передачи на 2,5 В (5 – 2,5 В или 0 + 2,5 В).

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

Общее описание интерфейса RS-232.

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

Как правило, RS-232 присутствует и на современных системных платах. Часто он просто не выведен на заднюю стенку системного блока. Если же на компьютере нет COM порта, то его всегда можно реализовать с помощью простого преобразователя USB-COM, обычно встроенного в кабель.

Схема подключения устройств через RS-232 ничем не отличается от схемы для интерфейсов UART.

В минимальном варианте это два сигнала с общим проводом. Даже названия у сигналов такие же, как у UART.

Единственное отличие это уровни напряжения сигналов. Для RS-232 приняты следующие параметры:

Обычно логическим уровням сигнала 0/1 соответствуют напряжения +12 /- 12 В. Пороги срабатывания приемника четко нормированы: 0/1 соответствуют напряжениям +3 / -3 В. В диапазоне -3 … +3 В состояние сигнала считается неопределенным. Оно остается прежним до тех пор, пока уровень сигнала не достигнет противоположного порога.

При таких параметрах сигналов, для того чтобы вызвать ложное срабатывание помеха должна навести в контур передачи напряжение:

  • + 15 В для состояния логической 1 (-12 В увеличить до + 3 В);
  • - 15 В для состояния логического 0 (+12 В уменьшить до - 3 В).

Сравните с аналогичным значением напряжения помехи для UART, равным 2,5 В. Увеличение амплитуды сигналов и порога срабатывания одинаково благоприятно сказывается на всех видах помех:

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

Все остальные проблемы UART остаются в RS-232:

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

Можно привести схему влияния помех на сигналы в линиях связи RS-232. Эта абсолютно та же схема из предыдущего урока для интерфейса UART.

Тем не менее, одно повышение уровня сигналов позволило значительно увеличить максимальную длину линии связи. Стандарт RS-232 нормирует максимально допустимое расстояние между абонентами 15 м. И это для соединения простыми неэкранированными проводами.

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

Параметры интерфейса RS-232.

Есть отечественные, еще советские ГОСТы. В них интерфейс RS-232 назван ”Стык С2”, очевидно из идеологических соображений.

Основные параметры я свел в таблицу.

Параметр Значение
Топология Радиальный интерфейс
Линия связи Сигналы (2-8) с общим проводом
Гальваническая развязка нет
Скорость передачи до 460 кбит в сек
Максимальная длина линии связи 15 м
Приемник
Напряжение логического 0 более + 3 В
Напряжение логической 1 менее – 3 В
Входное сопротивление 3000 … 7000 Ом
Входное напряжение ± 3 … ± 15 В
Входная емкость не более 2500 пкФ
Передатчик
Короткое замыкание и обрыв Допускаются без ограничения во времени
Выходное напряжение в разомкнутой цепи не более ± 15 В
Ток короткого замыкания не более 0,5 А
до 2500 пкФ

Разъемы интерфейса RS-232.

Кроме известных нам сигналов TxD и RxD стандарт на интерфейс описывает еще несколько необязательных сигналов, предназначенных для управления потоком данных. В компьютерном COM порте эти сигналы реализованы. Ими можно произвольно управлять из программы.

Как правило, дополнительные сигналы используются как универсальные входы и выходы. Например, сигнал DTR сбрасывает микроконтроллер плат Ардуино при загрузке программы из Arduino IDE. Я не буду подробно описывать их стандартное назначение.

Первоначально в интерфейсе RS-232 применялись 25 контактные разъемы DB-25. Затем стандартным разъемом стал 9 контактный DB-9.

В настоящее время стандартным разъемом интерфейса RS-232 является DB-9.

В обоих случаях со стороны блочной части используются вилки, а кабельная часть это розетки.

В таблице приведено назначение контактов RS-232 для обоих типов разъемов.

Контакт для DB-25 Контакт для DB-9 Название сигнала Направление Описание
8 1 DCD вход Наличие несущей. Уровень принимаемого сигнала в норме, модем подключен.
3 2 RxD вход Прием данных. Данные от другого устройства.
2 3 TxD выход Передача данных. Данные передаваемые на другое устройство.
20 4 DTR выход Готовность приемника. Сообщает о готовности устройства к приему данных.
7 5 GND Общий провод
6 6 DSR вход Готовность передатчика. Устройство готово для передачи данных.
4 7 RTS выход Запрос на передачу данных. Переводит другое устройство в режим передачи данных.
5 8 CTS вход Готовность передаче. Готовность другого устройства к передаче.
22 9 RI вход Сигнал вызова. Индикатор вызова (телефонного звонка).

Схемотехническая реализация RS-232.

Для того, чтобы из интерфейса UART сделать RS-232 достаточно добавить преобразователи уровней сигналов. Преобразователи не осуществляют никаких логических действий. Они просто конвертируют сигналы логических уровней 0/5 В в уровни +12 / -12 В и наоборот.

Преобразователи можно реализовать на дискретных элементах. Вот схема приемника на базе инвертирующего транзисторного ключа.

Передатчики реализовать на дискретных элементах гораздо сложнее. Требуется двух полярный ключ и два питания к нему + 12 В и – 12 В. Иногда используют транзисторные ключи формирующие выходной сигнал 0 / 5 В. Некоторые приемники RS-232 работают с таким сигналом, некоторые нет. В любом случае нормальная работа интерфейса с такими сигналами не гарантируется.

Для реализации полноценного двухстороннего обмена лучше использовать интегральные преобразователи RS-232. Их существует множество. Я предпочитаю микросхемы MAX232, SP232, ADM232.

Микросхема Производитель Ссылка на документацию
MAX232 Maxim Integrated Products
SP232 Sipex
ADM232 Analog Devices

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

В 16 выводном корпусе реализованы преобразователи уровней для 2 входных и 2 выходных сигналов RS-232. Питаются преобразователи от одного напряжения 5 В. Необходимые для передатчиков напряжения + 12 В и – 12 В вырабатываются на внутренних конденсаторных инверторах. Микросхема требует подключения 5 внешних компонентов, все конденсаторы.

Подключение платы Ардуино через интерфейс RS-232.

Думаю после всего выше написанного подключение платы Ардуино к компьютеру или соединение плат Ардуино между собой через RS-232 не вызовет никаких проблем.

Надо добавит к плате преобразователь уровней RS-232. Можно использовать готовый модуль, например, этот.

Программы из уроков 48 и 49 должны без проблем работать с RS-232. Мы ничего не поменяли в логике работы сети. Изменили только уровни сигналов.

Интерфейс RS-422.

Очень коротко расскажу об этом интерфейсе. Он применяется крайне редко.

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

Способ передачи сигналов, электрические параметры RS-422 полностью соответствуют требованиям интерфейса RS-485. Отличие только в том, что RS-422 радиальный интерфейс, а RS-485 – шинный. Через первый можно связать только 2 устройства между собой, а вторым интерфейсом можно соединить одной линией связи несколько устройств.

Подробно об этом всем я расскажу в уроке про RS-485. А сейчас коротко приведу основные параметры RS-422.

В следующем уроке расскажу об интерфейсе ИРПС, очень простом, но эффективном способе передачи данных.

Про RS-232 (распайка кабелей, разъемов, краткое описание)

Контакты RS-232C

Распайка "модемного" кабеля интерфейса RS-232C

Обмен данными и интерфейс RS-232

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

Контакты RS-232C

Контакты разъема DB-9 интерфейса RS-232C

Распайка "модемного" кабеля интерфейса RS-232C

Распайка "нуль-модемного" кабеля интерфейса RS-232C

Распайка кабеля RS-232C для коммутаторов Kramer

Обмен данными и интерфейс RS-232

При работе в потенциально зашумлённых условиях нам нужны надёжные средства для передачи данных. Самым распространённым стандартом всё ещё остаётся архаичный RS-232C (Recommended Standard 232 Version С), принятый ассоциацией электронной промышленности EIA (Electronic Industries Association) в августе 1969 г.
Достоинства RS-232:
Популярность - все компьютеры РС (но не Mac) оборудованы по крайней мере одним портом RS-232
Лёгкость приобретения готовых кабелей
Возможность применения аппаратного управления процессом передачи (зачастую не используется!)
Недостатки RS-232:
Связь типа «точка-точка» (DTE? DCE)
Низкая, по современным меркам, скорость (обычно 9600 бод [бит в секунду])
Работает только на небольших расстояниях (до 10 м)
Состав линий связи между устройствами DTE и DCE точно не определён. Стандарт описывает функции до 25 соединительных линий, но не указывает, должна или не должна использоваться та или иная линия. Лучше (технологически) обстоят дела в стандарте RS-422. По этому стандарту связь осуществляется по двум парам проводов, а передаваемый сигнал может приниматься более чем одним устройством. Согласно стандарту RS-485 (улучшенный RS-422) используется одна пара проводов, которая используется для передачи или приёма многими устройствами.
Характеристики и преимущества RS-422 / RS-485:
Может использоваться для многоточечных соединений
Является стандартном де-факто для значительной части вещательной видео индустрии!
Может использоваться на расстояниях до 1,2 км
Высокая помехоустойчивость за счёт использования дифференциальных (балансных) линий связи
Удлинитель линии связи KRAMER VP-43 Range Extender:
Предназначен для преодоления ограничений по расстоянию для наших продуктов, имеющих управление через RS-232.
Осуществляет преобразование в интерфейс RS-422, а затем назад, в RS-232, что позволяет использовать в качестве физического носителя две пары проводов.
Может быть использован для увеличения расстояния связи для любого нуль-модемного соединения RS-232.
Также может быть использован для управления нашими изделиями через RS-422, либо к качестве преобразователя общего назначения из RS-232 в RS-422 и обратно.
Расширитель портов KRAMER VP-14 Port Extender:
Предназначен для преодоления ограничения интерфейса RS-232, который может осуществлять только соединения типа «точка-точка». Позволяет осуществлять связь между несколькими устройствами с интерфейсами RS-232.
Данные, которые поступают на любой из портов устройства, пересылаются на остальные 3 порта.
Может быть использован для управления коммутатором от 3 устройств DTE (например, компьютеров).
Работает во всех режимах связи (число битов, скорость, чётность и т. д.) и не требует настройки этих параметров.

Устранение неполадок при связи через 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 предусмотрено в качестве опции и вводится установкой дополнительной аппаратной платы, проверьте, что такая плата правильно установлена (как описано в руководстве). В частности, для серии коммутаторов Х02 проверьте прямой кабель, подключаемый к модулю, и убедитесь, что на разъёмах нет замятых контактов.
11. Некоторые устройства могут получать управление от других элементов оборудования и могут настраиваться на работу через RS-232 с таким оборудованием, а не с компьютером. В этом случае необходимо правильно настроить устройство. Например, модели BC-2216 и BC-2616 (матричные коммутаторы звуковых сигналов 16X16) настраиваются на заводе (по умолчанию) на работу с BC-2516 (матричным коммутатором видео 16X16). В этом случае звуковая матрица получает управление от РС через видеоматрицу. Если звуковой матрицей надо управлять независимо, её следует соответственно перенастроить (на работу в режиме устройства, переключающего «только звук»).
12. Если необходимо выслать несколько команд, то перед отправкой дополнительной команды следует убедиться в том, что устройство отработало предыдущую команду. Для этого дождитесь получения ответа на предыдущую команду перед отправкой следующей.
13. Убедитесь в том, что для связи с устройством используется настоящий интерфейс RS-232! Некоторое оборудование (например, стандартный последовательный порт Macintosh), хотя и аналогичен RS-232, использует иные режимы обмена данными.
14. При использовании РС с операционной системой Windows NT4.0 (и ниже) следует принять дополнительные меры. Эта система не имеет функции «plug and play» и поэтому настройка портов компьютера в ней - непростая задача. Обратитесь к документации на Windows NT! Даже если Ваша программа работает на компьютере с иной операционной системой, возможно, что под Windows NT порт не будет правильно инициализироваться.
15. Учтите, что рабочее расстояние для RS-232 (по определению) не превышает 10 метров! Если требуется большая длина связи, следует использовать наш «удлинитель линии связи» VP-43.
16. По определению, интерфейс RS-232 предназначен для осуществления обмена между 2 портами (в нашем случае это РС и коммутатор). Если надо соединить вместе несколько устройств с интерфейсами RS-232, можно использовать VP-14 (например, если коммутатором надо управлять от 2-х компьютеров и контроллера BC-2000).
(ПРИМЕЧАНИЕ: Для некоторых изделий из нашей линейки допускается управление несколькими такими устройствами при их последовательном соединении прямыми кабелями - что кажется неправильным в свете вышесказанного! На самом деле мы настраиваем устройства в режимы «ведущий/ведомый» (master/slave), при этом с компьютером через RS-232 связано только одно, ведущее устройство. При таком включении ведущее устройство передаёт информацию на и от РС к ведомым устройствам, а интерфейсом RS-232 порты оказываются связанными попарно.)