Магия Электроники

Протоколы передачи


Протокол передачи RS-232

RS-232 - популярный протокол, применяемый для связи компьютеров с модемами и другими периферийными устройствами. В данном обзоре представлен комплект полезной и справочной информации, представлена распиновка стандартных разъемов, описано что такое квитирование (HANDSHAKING) и применение микросхем MAX232 фирмы MAXIM.

Что это такое RS-232

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

Назначение RS-232

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

Соединители

Устройства для связи по последовательному каналу соединяются кабелями с 9-ю или 25-ти контактными разъемами типа D. Обычно они обозначаются DB-9, CANNON 9, CANNON 25 и т.д. Расположение выводов представлено ниже.

Стандарт

Ассоциация электронной промышленности (EIA) развивает стандарты по передаче данных. Стандарты EIA имеют префикс "RS". "RS" означает рекомендуемый стандарт, но сейчас стандарты просто обозначаются как "EIA" стандарты. RS-232 был введен в 1962 г. Стандарт развивался и в 1969 г. была представлена третья редакция (RS-232C). Четвертая редакция была представлена в 1987 (RS-232D, известная также под EIA-232D). RS-232 идентичен стандартам МККТТ (CCITT) V.24/V.28, X.20bis/X.21bis и ISO IS2110.

Обозначения устройств

 

Уровни сигналов

В RS-232 используется два уровня сигналов: логические 1 и 0. Логическую 1 иногда обозначают MARK, логический 0 - SPACE . Логической 1 соответствуют отрицательные уровни напряжения, а логическому 0 - положительные. Соответствующие значения напряжений представлены в таблице.

Уровни сигналов данных

Уровень
Передатчик
Приемник
Логический 0 От +5 В до +15 В От +3 В до +25 В
Логический 1 от-5 В до -15 В От -3 В до -25 В
Не определен От -3 В до +3 В

Уровни управляющих сигналов

Сигнал На выходе устр-ва (Driver) На входе устр-ва (Terminator)
"Off" От -5 В до -15 В от -3 В до -25 В
"On" От 5 В до 15 В от 3 В до 25 В

Ослабление сигнала

Сигналы после прохождения по кабелю ослаюляются и искажаются. Ослабление растет с увеличением длины кабеля. Этот эффект сильно связан с электрической емкостью кабеля. По стандарту максимальная нагрузочная емкость составляет 2500 пФ. Типичная погонная емкость кабеля составляет 130 пФ, поэтому максимальная длина кабеля ограничена примерно 17 м.

Проблемы с источником питания

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

 

Контакты разъемов


DB25 Розетка (мама)
Контакт
Обозн.
Направление
Описание
1 SHIELD --- Shield Ground - защитная земля, соединяется с корпусом устройства и экраном кабеля
2 TXD --> Transmit Data - Выход передатчика
3 RXD <-- Receive Data - Вход приемника
4 RTS --> Request to Send - выход запроса передачи данных
5 CTS <-- Clear to Send - вход разрешения терминалу передавать данные
6 DSR <-- Data Set Ready - вход сигнала готовности от аппаратуры передачи данных
7 GND --- System Ground - сигнальная (схемная) земля
8 CD <-- Carrier Detect - вход сигнала обнаружения несущей удаленного модема
9-19 N/C - -
20 DTR --> Data Terminal Ready - выход сигнала готовности терминала к обмену данными
21 N/C - -
22 RI <-- Ring Indicator - вход индикатора вызова (звонка)
23-25 N/C - -



DB9 Розетка (мама)
Контакт
Обозн.
Направление
Описание
1 CD <-- Carrier Detect
2 RXD <-- Receive Data
3 TXD --> Transmit Data
4 DTR --> Data Terminal Ready
5 GND --- System Ground
6 DSR <-- Data Set Ready
7 RTS --> Request to Send
8 CTS <-- Clear to Send
9 RI <-- Ring Indicator



RJ-45
Контакт
Обозн.
Направление
Описание
1 RI <-- Ring Indicator
2 CD <-- Carrier Detect
3 DTR --> Data Terminal Ready
4 GND --- System Ground
5 RxD <-- Receive Data
6 TxD --> Transmit Data
7 CTS <-- Clear to Send
8 RTS --> Request to Send

Соединения коннектора RJ-45 не стандартизовано. Данный вариант один из возможных.

 

Кабели подключения

Нуль модемные кабели RS-232

3-проводный минимальный

3-проводный минимальный

Совместимость

Рассмотрим сначала DSR сигнал (конт.6). Этот вход сигнала готовности от аппаратуры передачи данных. В схеме соединений вход замкнут на выход DTR (конт.4). Это означает, что программа не видит сигнала готовности другого устройства, хотя он есть. Аналогично устанавливается сигнал на входе CD (конт.1). Тогда при проверке сигнала DSR для контроля возможности соединения будет установлен выходной сигнал DTR.

Это соответствует 99% коммуникационного программного обеспечения. Под этим подразумевается, что 99% программного обеспечения с этим нуль-модемным кабелем примут проверку сигнала DSR.

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

7-проводный полный

7-проводный полный

Совместимость

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

Этот кабель не разрешает использовать предыдущий метод контроля предачи данных. Основная несовместимость перекрестное соединение сигналов RTS и CTS. Первоначально эти сигналы использовались для контроля потоком данных по типу запрос/ответ. При использовании полного нуль-модемного кабеля более нет запросов. Эти сигналы применяются для сообщения другой стороне есть ли возможность соединения.

Особенность

Контакты 2 и 3 на 9-ти выводном разъеме D типа противоположны этим же контактам на 25-ти контатном разъеме. Поэтому, если соединить контакты 2-2 и 3-3 между разъемами D25 и D9, получится коммуникационный кабель. Контакты сигнальной земли Signal Ground (SG) также должны быть подключены между собой. См. таблицу ниже.

5-проводный с управлением потоком

5-проводный с управлением потоком

Описание

Можно найти или изготовить много типов кабелей для связи по интерфейсу RS-232. В этом нуль- модемном кабеле используется только 5 проводов: сигналы данных TXD, RXD, сигнал GND и управляющие сигналы RTS CTS для управления потоком.

Обозначение кабелей

Все DTE-DCE кабели прямого соединения, контакты соединяются один к одному. Кабели DTE-DTE и DCE-DCE кросс-кабели.

  1. DTE - DCE называется 'прямой кабель'
  2. DTE - DTE называегся 'нуль-модемный кабель'
  3. DCE - DCE называется 'Tail Circuit Cable'

Описание полного нуль-модемного кабеля

Соединение D9- D9

DB9-1
DB9-2
Receive Data
2
3
Transmit Data
Transmit Data
3
2
Receive Data
Data Terminal Ready
4
6+1
Data Set Ready + Carrier Detect
System Ground
5
5
System Ground
Data Set Ready + Carrier Detect
6+1
4
Data Terminal Ready
Request to Send
7
8
Clear to Send
Clear to Send
8
7
Request to Send

Соединение D25-D25

DB25-1
DB25-2
Receive Data
3
2
Transmit Data
Transmit Data
2
3
Receive Data
Data Terminal Ready
20
6+8
Data Set Ready + Carrier Detect
System Ground
7
7
System Ground
Data Set Ready + Carrier Detect
6+8
20
Data Terminal Ready
Request to Send
4
5
Clear to Send
Clear to Send
5
4
Request to Send

Соединение D9-D25

DB9
DB25
Receive Data
2
2
Transmit Data
Transmit Data
3
3
Receive Data
Data Terminal Ready
4
6+8
Data Set Ready + Carrier Detect
System Ground
5
7
System Ground
Data Set Ready + Carrier Detect
6+1
20
Data Terminal Ready
Request to Send
7
5
Clear to Send
Clear to Send
8
4
Request to Send


Заглушка тестирования RS-232

Заглушка для эмуляции терминала

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

DB 9 мама
DB 9 мама

DB 25 мама
DB 25 мама

Кабель контроля (мониторинга) RS-232

Полудуплексная работа

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

 

Расстояния передачи

Длина кабеля

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

Максимальная длина кабеля

Скорость [бод] Макс. длина [футы] Макс. длина [метры]
19 200 50 15
9 600 500 150
4 800 1000 300
2 400 3000 900

Скорость передачи данных

Скорость передачи информации по RS-232 измеряется в Бодах. Эта единица названа в честь Эмиля Бодо (Jean Maurice-Emile Baudot) (1845-1903), французского инженера по телеграфии, изобретателя первого печатающего устройства для телеграфа (телепринтера) , представленного на Международной Телеграфной конференции в 1927 г. Максимальная скорость согласно стандарту 20000 Бод. Однако современное оборудование может работать значительно быстрее. Не имеет значения на сколько быстрое (медленное) ваше соединение - максимальное число чтения за секунду можно установить с помощью используемого программного обеспечения.



Контроль четности

Четность в RS-232 (Parity)

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

Типы четности

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

Mark и Space биты четности

Часто в драйверах доступны еще две опции на четность: Mark и Space. Эти опции не влияют на возможность контроля ошибок. Mark означает, что устройство всегда устанавливает бит четности в 1, а Space - всегда в 0.

Обнаружение ошибок

Проверка на четность - это простейший способ обнаружения ошибок. Он может определить возникновение ошибок в одном бите, но при наличии ошибок в двух битах уже не заметит ошибок. Также такой контроль не отвечает на вопрос какой бит ошибочный. Другой механизм проверки включает в себя Старт и Стоп биты, циклические проверки на избыточность, которые часто применяются в соединениях Modbus.

Пример

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

Примечание: Тактовый сигнал - для асинхронной передачи это внутренний сигнал

Старт бит

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

Стоп бит

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

Установка Стоп бита

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

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



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

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

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

Аппаратное управление потоком

Аппаратный протокол управления потоком RTS/CTS. Он использует дополнительно два провода в кабеле, а не передачу специальных символов по линиям данных. Поэтому аппаратное управление потоком не замедляет обмен в отличие от протокола Xon-Xoff. При необходимости послать данные компьютер устанавливает сигнал на линии RTS. Если приемник (модем) готов к приему данных, то он отвечает установкой сигнала на линии CTS, и компьютер начинает посылку данных. При неготовности устройства к приему сигнал CTS не устанавливается.

Программное управление потоком

Программный протокол управления потоком Xon/Xoff использует два символа: Xon и Xoff. Код ASCII символа Xon - 17, а ASCII код Xoff - 19. Модем имеет маленький буфер, поэтому при его заполнении модем посылает символ Xoff компьютеру для прекращения посылки данных. При появлении возможности приема данных посылается символ Xon и компьютер продолжит пересылку данных. Этот тип управления имеет преимущество в том, что не требует дополнительных линий, т.к. символы передаются по линиям TD/RD. Но на медленных соединениях это может привести к значительному замедлению соединения, т.к. каждый символ требует 10 битов.

 

Hosted by uCoz