Rs 232 напряжение. Распиновка COM порта(RS232). Описание и технические параметры


Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом 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.


Под обозначениями 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 Серый (или белый)

Тверской государственный технический университет

В.В. Лебедев, А.Н. Васильев, А.Р. Хабаров

Периферийные устройства ЭВМ

Учебное пособие

Издание первое

Допущено Учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности 230101 Вычислительные машины, комплексы системы и сети.

УДК 681.327.8(075.8)

ББК 32.973.26-04я7

Лебедев, В.В. Периферийные устройства ЭВМ: учебное пособие / В.В. Лебедев, А.Н. Васильев, А.Р. Хабаров. 1-е изд. Тверь: ТГТУ, 2009. 176 с.

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

Предназначено для студентов специальности 230101 Вычислительные машины, комплексы, системы и сети для изучения данной дисциплины, при курсовом и дипломном проектировании.

Рецензенты: заведующий кафедрой ЭВМ Тверского государственного технического университета, доктор технических наук, профессор В.А. Григорьев; Федеральное государственное унитарное предприятие «Центральное конструкторское бюро транспортного машиностроения» (ведущий инженер Д.В. Суринский).

ISBN 978-5-7995-0427-4 © Тверской государственный

технический университет, 2009


Введение

Современные компьютеры представляют собой сложный аппаратно-программный комплекс, предназначенный для автоматической обработки информации в процессе решения вычислительных и информационных задач. Благодаря принципу открытой архитектуры, существует возможность подключения к системному блоку компьютера широкого спектра дополнительных периферийных устройств различного назначения. С помощью периферийных устройств осуществляется связь с различными источниками (поставщиками) и получателями (потребителями) информации. Функции периферийных устройств достаточно разнообразны, однако среди них можно выделить две основные: хранение информации на различных носителях данных и преобразование ее согласно функции, выполняемой внешним устройством. К периферийным устройствам относятся устройства ввода-вывода и внешняя память; к аппаратным средствам ввода информации в компьютер – клавиатура, различного рода манипуляторы (мышь, трекбол, джойстик), сканер и другие устройства; к аппаратным средствам вывода информации из компьютера – мониторы, принтеры, графопостроители, синтезаторы речи. Модемы используются как для передачи, так и для приема информации. Устройства внешней памяти компьютера выполняют функции двустороннего обмена информацией и служат для постоянного хранения программ и данных.

Коммуникация компьютера с периферийными устройствами осуществляется посредством портов ввода-вывода или интерфейсов. Под интерфейсом понимается совокупность правил и средств, устанавливающих единые принципы взаимодействия устройств. Интерфейс периферийного устройства включает в себя техническое исполнение, наборы передаваемых сигналов и правила обмена информацией с компьютером. Существуют два основных класса: последовательные и параллельные интерфейсы. Чисто теоретически параллельные всегда должны выигрывать по скорости у последовательных, но на практике оказывается, что и последовательные имеют свои плюсы, благодаря чему они заняли свою нишу.

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

В учебном пособии рассмотрены принципы работы одного из самых широко применяемых интерфейсов – RS-232C или COM-порта. Его изучение позволит достаточно быстро освоить принципы функционирования последовательных интерфейсов, протоколов работы электронных схем передачи последовательных сигналов, и перейти к освоению других последовательных интерфейсов: USB и FireWire.

Рассмотрены различные периферийные устройства, такие как модем, клавиатура, принтер и монитор. Особое внимание уделено рассмотрению их интерфейсов. Дан большой объем справочной информации.

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

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

Интерфейс RS-232C

Интерфейс RS-232C – CОМ-порт

Последовательный интерфейс для передачи данных в одном направлении использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Английские названия интерфейса и порта Serial interface и Serial port иногда неправильно переводят как «серийные». Последовательная передача позволяет сократить количество сигнальных линий и добиться улучшения связи на больших расстояниях.

Начиная с первых моделей, в PC имелся последовательный порт – CОМ-порт (Communication Port – коммуникационный порт). Этот порт обеспечивает асинхронный обмен по стандарту RS-232C. Синхронный обмен в PC поддерживают лишь специальные адаптеры, например SDLC или V.35. CОМ-порты реализуются на микросхемах универсальных асинхронных приемопередатчиков (UART), совместимых с семейством i8250/16450/16550. Они занимают в пространстве ввода-вывода по 8 смежных 8-битных регистров и могут располагаться по стандартным базовым адресам 3F8h (CОМ1), 2F8h (CОМ2), 3E8h (CОМ3), 2E8h (CОМ4). Порты могут вырабатывать аппаратные прерывания IRQ4 (обычно используется для CОМ1 и CОМ3) и IRQ3 (для CОМ2 и CОМ4). С внешней стороны порты имеют линии последовательных данных передачи и приема, а также наборы сигналов управления и состояния, соответствующие стандарту RS-232C. CОМ-порты имеют внешние разъемы-вилки (male) DB25P или DB9P, выведенные на заднюю панель компьютера. Гальваническая развязка отсутствует – схемная земля подключаемого устройства соединяется со схемной землей компьютера. Скорость передачи данных может достигать 115 200 бит/с.

Компьютер может иметь до четырех последовательных портов CОМ1 – CОМ4 (для машин класса AT типично наличие двух портов) с поддержкой на уровне BIOS. Сервис BIOS Int 14h обеспечивает инициализацию порта, ввод и вывод символа (без прерываний) и опрос состояния. Через Int 14h скорость передачи программируется в диапазоне 110-9600 бит/с (меньше, чем реальные возможности порта). Для повышения производительности широко используется взаимодействие программ с портом на уровне регистров, для чего требуется совместимость аппаратных средств CОМ-порта с программной моделью i8250/16450/16550.

Название порта указывает на его основное применение – подключение коммуникационного оборудования (например, модема) для связи с другими компьютерами, сетями и периферийными устройствами. К порту могут непосредственно подключаться и периферийные устройства с последовательным интерфейсом: принтеры, плоттеры, терминалы и т.д. CОМ-порт широко используется для подключения мыши, а также организации непосредственной связи двух компьютеров. К CОМ-порту подключаются и электронные ключи.

Практически все современные системные платы (еще начиная с PCI-плат для процессоров 486) имеют встроенные адаптеры двух CОМ-портов. Один из портов может использоваться и для беспроводной инфракрасной связи с периферийными устройствами (IrDA). Существуют карты ISA с парой CОМ-портов, где они чаще всего соседствуют с LPT-портом, а также с контроллерами дисковых интерфейсов. «Классический» CОМ-порт позволяет осуществлять обмен данными только программно-управляемым способом, при этом для пересылки каждого байта процессору приходится выполнять несколько инструкций. Современные порты имеют FIFO-буферы данных и позволяют выполнять обмен данных по каналу DMA, существенно разгружая CPU.

В спецификациях PC`99 традиционные CОМ-порты не рекомендованы, но еще разрешены для использования. Если они есть, то должны быть совместимыми с UART 16550A и обеспечивать скорость до 115,2 Кбит/с. Устройствам, которые традиционно используют CОМ-порт, рекомендуется переводить на последовательные шины USB и FireWire.

Протокол RS-232C

Стандарт RS-232C описывает несимметричные передатчики и приемники – сигнал передается относительно общего провода – схемной земли (симметричные дифференциальные сигналы используются в других интерфейсах, например, RS-422). Интерфейс не обеспечивает гальванической развязки устройств. Логической единице соответствует напряжение на входе приемника в диапазоне -12 … -3В (рис. 1). Логическому нулю соответствует диапазон +3 … +12В. Диапазон -3 … +3В – зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения порога. Уровни сигналов на выходах передатчиков должны быть в диапазонах -12 … -5В и +5 … +12В для представления единицы и нуля соответственно.

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

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

Рис.1. Уровни сигналов RS-232C на передающем

и принимающих концах линии связи


Рис.2. Схема четырехпроводной линии связи для RS-232C

Назначение контактов разъемов CОМ-портов (и любой другой аппаратуры передачи данных АПД) приведено в табл. 1. У модемов название цепей и контактов такое же, но роли сигналов (вход-выход) меняются на противоположные.

Подмножество сигналов RS-232C, относящихся к асинхронному режиму, рассмотрим с точки зрения CОМ-порта PC. Для удобства будем пользоваться мнемоникой названий, принятой в описаниях CОМ-портов и большинства устройств (она отличается от безликих обозначений RS-232 и V.24). Назначение сигналов интерфейса приведено в табл. 2.

Таблица 1. Разъемы и сигналы интерфейса RS-232C

Обозначение цепи Контакт разъема № провода кабеля выносного разъема PC Направле-ние
CОМ-порт RS-232 V.24 DB-25P DB-9P 1 1 2 2 3 3 4 4 I/O
PG AA (10) (10) (10) -
SG AB -
TD BA O
RD BB I
RTS CA O
CTS CB I
DSR CC I
DTR CD 108/2 O
DCD CF I
RI CE I

Примечания:

1 Ленточный кабель 8-битных мультикарт.

2 Ленточный кабель 16-битных мультикарт и портов на системных платах.

3 Вариант ленточного кабеля портов на системных платах.

4 Широкий ленточный кабель к 25-контактному разъёму.

Нормальная последовательность управляющих сигналов для случая подключения модема к CОМ-порту приведена на рис. 3. Напомним, что положительному уровню соответствует логическое состояние «выключено», а отрицательному – «включено».

Таблица 2. Назначение сигналов интерфейса RS-232C

Сигнал Назначение
PG Protected ground – защитная земля, соединяется с корпусом устройства и экраном кабеля
SG Signal ground – сигнальная (схемная) земля, относительно которой действуют уровни сигналов
TD Transmit data – последовательные данные – выход передатчика
RD Receive data – последовательные данные – вход приемника
RTS Request to send – выход запроса передачи данных: состояние «включено» уведомляет модем о наличии у терминала данных для передачи. В полудуплексном режиме используется для управления направлением – состояние «включено» служит сигналом модему на переключение в режим передачи
CTS Clear to send – вход разрешения терминалу передавать данные. Состояние «выключено» запрещает передачу данных. Сигнал используется для аппаратного управления потоком данных
DSR Data set ready – вход сигнала готовности от аппаратуры передачи данных (модем в рабочем режиме подключен к каналу и закончил действия по согласованию с аппаратурой на противоположном конце канала)
DTR Data terminal ready – выход сигнала готовности терминала к обмену данными, состояние «включено» поддерживает коммутируемый канал в состоянии соединения
DCD Data carrier detected – вход сигнала обнаружения несущей удаленного модема
RI Ring indicator – вход индикатора вызова (звонка). В коммутируемом канале этим сигналом модем сигнализирует о принятии вызова

Рис. 3. Последовательность управляющих сигналов интерфейса RS-232C

Рассмотрим последовательность управляющих сигналов.

1. Установкой сигнала DTR компьютер указывает на желание использовать модем.

2. Установкой сигнала DSR модем сигнализирует о своей готовности к установлению соединения.

3. Сигналом RTS компьютер запрашивает разрешение на передачу и заявляет о своей готовности принимать данные от модема.

4. Сигналом CTS модем уведомляет о своей готовности к приему данных от компьютера и передаче их в линию.

5. Снятием сигнала CTS модем сигнализирует о невозможности дальнейшего приема (например, буфер заполнен) – компьютер должен приостановить передачу данных.

6. Восстановлением сигнала CTS модем разрешает компьютеру продолжить передачу (в буфере появилось место).

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

8. Модем подтверждает снятие сигнала RTS сбросом сигнала CTS.

9. Компьютер повторно устанавливает сигнал RTS для возобновления передачи.

10. Модем подтверждает готовность к этим действиям.

11. Компьютер указывает на завершение обмена.

12. Модем отвечает подтверждением.

13. Компьютер снимает сигнал DTR, что обычно является сигналом на разрыв соединения.

14. Модем сбросом сигнала DSR сообщает о разрыве соединения.

Из рассмотрения этой последовательности становятся понятными соединения DTR-DSR и RTS-CTS в нуль-модемных кабелях.

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

Формат асинхронной посылки позволяет выявлять возможные ошибки передачи: ложный старт-бит, потерянный стоп-бит, ошибку паритета. Контроль формата позволяет обнаружить разрыв линии: при этом принимается логический нуль, который сначала трактуется как старт-бит и нулевые биты данных, потом срабатывает контроль стоп-бита.

Рис. 4. Формат асинхронной передачи

Для асинхронного режима принят ряд стандартных скоростей обмена: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 и 115 200 бит/с. Иногда вместо единицы измерения бит/с используют бод (baud), но при рассмотрении двоичных передаваемых сигналов это некорректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных модемах) в канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.

Количество бит данных может составлять 5, 6, 7 или 8. Количество стоп-бит может быть 1, 1,5 или 2 (полтора бита означает только длительность стопового интервала).

Асинхронный режим является байт-ориентированным (символьно- ориентированным) – минимальная пересылаемая единица информации – байт (символ). В отличие от него синхронный режим (не поддерживается CОМ-портами) является бит-ориентированным – кадр, пересылаемый по нему, может иметь произвольное количество бит.

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

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

КАТЕГОРИИ

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

© 2024 «minomin.ru» — Сайт о компьютерах, и работе в интернете