Что такое rs 232. Распиновка COM порта(RS232). Асинхронный режим передачи

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

Хотя такие интерфейсы, как 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 Серый (или белый)

Сигналы и контакты интерфейса RS232
Разъем 9-ти
пиновый #
Разъем 25
пиновый #
Обозначение Полное наименование Направление Что значит
Передача данных (Transmit Data) Передача данных от компьютера
Прием данных (Receive Data) Прием данных компьютером
Запрос на передачу (Request to Send)
Готовность передачи (Clear to Send) Аппаратный контроль передачи данных типа RTS/CTS
Готовность источника данных (Data Set Ready) Я готов для обмена данными
Готовность приемника данных (Data Terminal Ready) Я готов для обмена данными
Наличие несущей (Carrier Detect) Один модем соединен с другим
Сигнал вызова (Ring Indicator) Звонок (вызов) на телефонной линии
Земля

Замечание: DCD иногда маркируется как CD

Сигналы могут иметь другое значение

Только 3 контакта из 9 имеют строго определенное значение: передача, прием и земля. Это аппаратные линии и вы не можете повлиять изменить из предназначение. Но все другие сигнальные линии управляются программно и могут быть (или подразумевается что могут) в большинстве своем другого назначения. Однако они могут прнимать только два состояния: высокое (установленное) (+12 вольт) и низкое (сброшенное) (-12 вольт). Установленное состояние это "включено" и сброшенное состояние это "выключено". Для примера, Advanced Serial Port Monitor (или точнее пользователь программы) может управлять сигналом DTR, в аппаратная часть в свою очередь подает на него напряжение 12 вольт с той или иной полярностью. Модем (или другое устройство) которое принимает сигнал DTR может интерпретировать его по-разному. В одном случае модем (в зависимости от модели и прошивки) может может занять телефонную линию если сигнал DTR сброшен. В другом случае модем проигнорировать сигнал DTR в сброшенном состоянии.

Это применимо ко всем 6-ти сигнальным линиям. Аппаратная часть только посылает и принимает эти сигналы, но действие зависит (если оно вообще есть) от программы (например, Advanced Serial Port Monitor) и конфигурации того оборудоввания, которое вы подключаете к последовательному порту.

Кабельные соединения между последовательными портами

Работа по последовательному интерфейсу имеет свои преимущества. Одна из причин это то, что все сигналы однонаправленные. Если контакт 2 отправляет данные (и не позволяет принимать другие сигналы) то очевидно, что нельзя подсоединить к контакту 2 контакт того же типа. Если вы все же сделаете это, то вы не смоежет не отсылать, ни принимать сигналы по этой линии. Есть два разных способа соединения устройств. Один из них подразумевает соединение двух устройств разного типа, когда контакт №2 одного отсылает данные на контакт №2 второго (который принимает этот сигнал). Это путь, когда вы соединяете компьютер (DTE) и модем (DCE). Также существует второй путь в котором устройства могут быть одного типа: соедините контакт отправки данных №2 с контактом №3, принимающим данные устройства того же типа. Это путь, когда можно соединять два компьютера (DTE-в-DTE). Тип кабеля, использумый в этом случае называется null-modem cable (нуль-модемный кабель) поскольку он соединяет два компьютера без использования модемов. Нуль-модемный также иногда называют перевернутым кабелем, т.к. провода между контактами 2 иd 3 идут наоборот. Пример выше приведен для контактов 25-ти контактного разъема, но также соответственно можно использовать и 9-ти контактный разъем.

Контроль передачи данных типа RTS/CTS и DTR/DSR

Это так называемый "аппаратный" контроль передачи данных. Контроль передачи данных был раскрыт более подробно на другой странице в разедлее "Контроль передачи данных" , однако контакты и сигналы не были описаны. Advanced Serial Port Monitor поддерживает RTS/CTS и DTR/DSR типы аппаратного контроля передачи данных. Только RTS/CTS тип контроля предачи данных будет рассмотрен здесь, поскольку DTR/DSR тип контроля передачи данных функционирует по тому же принципу. Для того, чтобы активировать RTS/CTS контроль передачи данных необходимо только выбрать эту опцию в настройках Advanced Serial Port Monitor .

Итак, если DTE устройство (такое как компьютер) хочет прекратить передачу данных, оно сбрасывает состояние сигнала RTS. Сброшенный сигнал"Запрос на передачу (Request to Send)" (-12 вольт) означает "не посылать запросы ко мне" (прекратить передачу). Когда компьютер готов для принятия очередного блока данных он устанавливает сигнал RTS (+12 вольт) и поток данных возобновляется. Сигналы контроля передачи данных всегда посылаются в противоположном направлении от потока данных контроль которых они осуществляют. DCE устройства (модемы) работают по тому же принципу, только посылают сигнал на контакте CTS. Поэтому тип контроля передачи даных RTS/CTS использует 2 линии (провода).

Под обозначениями 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 В.


Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях.

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

Порядок обмена по интерфейсу RS-232C

Наименование Направление Описание Контакт
(25-контактный разъем)
Контакт
(9-контактный разъем)
DCD IN Carrie Detect (Определение несущей) 8 1
RXD IN Receive Data (Принимаемые данные) 3 2
TXD OUT Transmit Data (Передаваемые данные) 2 3
DTR OUT Data Terminal Ready (Готовность терминала) 20 4
GND - System Ground (Корпус системы) 7 5
DSR IN Data Set Ready (Готовность данных) 6 6
RTS OUT Request to Send (Запрос на отправку) 4 7
CTS IN Clear to Send (Готовность приема) 5 8
RI IN Ring Indicator (Индикатор) 22 9

Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются возможность передачи на значительно большие расстояния и гораздо более простой соединительный кабель. В то же время работать с ним несколько сложнее. Данные в RS-232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим).

Компьютер имеет 25-контактный (DB25P) или 9-контактный (DB9P) разъем для подключения RS-232C. Назначение контактов разъема приведено в таблице.

Назначение сигналов следующее.
FG - защитное заземление (экран).
-TxD - данные, передаваемые компьютером в последовательном коде (логика отрицательная).
-RxD - данные, принимаемые компьютером в последовательном коде (логика отрицательная).
RTS - сигнал запроса передачи. Активен во все время передачи.
CTS - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
DSR - готовность данных. Используется для задания режима модема.
SG - сигнальное заземление, нулевой провод.
DCD - обнаружение несущей данных (детектирование принимаемого сигнала).
DTR - готовность выходных данных.
RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.

Наиболее часто используются трех- или четырехпроводная связь (для двунапрвленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке 1.1.

Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.

Формат передаваемых данных показан на рисунке 1.2. Собственно данные (5, 6, 7 или 8 бит) соопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определннные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение - не более 10%). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.


Рис.1.1 Схема 4-проводной линии связи для RS-232C

Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис.1.3.). Отметим, что данные передаются в инверсном коде (лоической единице соответствует низкий уровень, логическому нулю - высокий уровень).

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


Рис.1.2 Формат данных RS-232C

Обмен по RS-232C осуществляется с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса 2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3F8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена UART (Universal Asynchronous Receiver/Transmitter), например, i8250, КР580ВВ51.


Этот стандарт соединения оборудования был разработан в 1969 году рядом крупных промышленных корпораций и опубликован Ассоциацией электронной промышленности США (Electronic Industries Association — EIA). Международный союз электросвязи ITU-T использует аналогичные рекомендации под названием V.24 и V.28.

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

Интерфейс RS-232 (стандарт EIA-232) использует 25 контактные разъемы DB и служит для подключения последовательных устройств DTE и DCE (как в синхронном, так и в асинхронном режиме). Существуют также варианты этого интерфейса для 26-контактного разъема UD-26 (EIA-232-E/RS-232E ALT A) и усеченный вариант - для 9-контактного DB-9 (EIA-574) и RJ-45 (EIA-561) наиболее распространенные в настоящее время.

Контакт

Сигнал

От устройства DCE

К устройству DCE

Передача (Transmitted Data, TD)

Прием (Received Data, RD)

Запрос на передачу (Request to Send, RTS)

Готовность к передаче (Clear to Send, CTS)

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

Сигнальная " земля " (Signal Gnd/Common Return)

Детектирование несущей (Rcvd. Line Signal Detector, CD, DCD)

Тестовое напряжение (+)

Тестовое напряжение (-)

Не используется

Детектирование несущей, возврат (Rcvd. Line Signal Detector, CD)

Готовность к передаче, возврат (Secondary Clear to Send)

Передача, возврат (Secondary Transmitted Data)

Прием, возврат (Secondary Received Data)

Тактирование приема (Receiver Sig. Element Timing, RSET)

Локальный шлейф (LL)

Запрос на передачу, возврат (Secondary Request to Send)

Готовность терминала (Data Terminal Ready, DTR)

Детектирование качества сигнала (Sig. Quality Detector)

Индикатор вызова (Ring Indicator)

Выбор скорости (Data Sig. Rate Selector (DCE))

Тактирование передачи (Transmitter Sig. Element Timing, TSET)

Не используется

D - данные, C - управление, T - синхронизация

Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи центрального компьютера с терминалом. В настоящее время используется в самых различных применениях.

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

Порядок обмена по интерфейсу RS- 232C

Наименование

Направление

Описание

Контакт
(25-конт. разъем)

Контакт
(9-конт. разъем)

Carrier Detect
(Определение несущей)

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

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

Data Terminal Ready
(Готовность терминала)

System Ground
(Корпус системы)

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

Request to Send
(Запрос на отправку)

Clear to Send
(Готовность приема)

Ring Indicator
(Индикатор)

Интерфейс RS- 232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS- 232C по сравнению с Centronics являются возможность передачи на значительно большие расстояния и гораздо более простой соединительный кабель. В то же время работать с ним несколько сложнее. Данные в RS- 232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим).

Компьютер имеет 25-контактный (DB25) или 9-контактный (DB9) разъем для подключения RS- 232C . Назначение контактов разъема приведено в таблице.

Назначение сигналов следующее:
FG - защитное заземление (экран).
TxD - данные, передаваемые компьютером (логика отрицательная).
RxD - данные, принимаемые компьютером (логика отрицательная).
RTS(Request to Send) - сигнал запроса передачи. Активен во все время передачи.
CTS(Clear to Send) - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
DSR - готовность данных. Используется для задания режима модема.
SG - сигнальное заземление, нулевой провод.
DCD - обнаружение несущей данных (детектирование принимаемого сигнала).
DTR - готовность выходных данных.
RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.

Наиболее часто используются трех- или четырехпроводная связь (для двунапрaвленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке 1.1.

Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.

Формат передаваемых данных показан на рисунке 1.2. Собственно данные (5, 6, 7 или 8 бит) соопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определннные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение - не более 10%). Скорость передачи по RS- 232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.

Рис. 1.1 Схема 4-проводной линии связи для RS- 232C .

Все сигналы RS- 232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис.1.3.). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).

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

Рис. 1.2 Формат данных RS- 232C

Обмен по RS- 232C осуществляется с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса 2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3F8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена UART (Universal Asynchronous Receiver/Transmitter), например, i8250, КР580ВВ51.

Рис.1.3 Уровни сигналов RS- 232C на передающем и принимающем концах линии связи.

Ключевые моменты:

1. Любая программа, способная обращаться к COM-портам c номерами от 5 и выше, скорее всего использует вызовы Windows API и потому есть большая вероятность того, что она будет работать и с USB"шным COM-портом.

2. Прикладная программа, работающая через специфические драйверы, может вызвать проблемы: "заказные" драйверы могут отсылать портам специальные команды, не распознаваемые Windows. Такая ситуация может не позволить обращаться к COM-порту через USB.

3. В случаях, когда прикладное ПО требует от пользователя указать адрес ввода-вывода и IRQ, есть большая вероятность того, что это ПО не распознает адаптер USB / RS232.