Особенности последовательной связи


Алексей Полунин

Hits: 21424

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

Формат кадра асинхронной передачи

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

Терминология, описывающая формат кадра, унаследована от телеграфной связи, где впервые была применена последовательная передача.
В исходном состоянии линия последовательной передачи имеет напряжение низкого уровня, которое соответствует логической “1”. Это состояние называется - MARK. Переход напряжения на линии к высокому уровню (логический “0”) означает появление стартового бита кадра передачи. Данное состояние называется - SPACE.
Микросхемы коммутационных портов, универсальные асинхронные приемо-передатчики, для повышения помехоустойчивости анализируют состояние линии в середине длительности принимаемых битов. Переход входного линейного напряжения от низкого уровня к высокому запускает отсчет времени задержки на половину длительности стартового импульса. Величина задержки зависит от установленной скорости обмена. Если по истечению времени задержки высокий уровень еще присутствует, то фиксируется стартовый бит. Далее принимаемые биты фиксируются через задержку, равную полной длительности импульсов и отсчитываемую от середины предыдущего импульса.
Скорость обмена выбирается из стандартного ряда от 110 до 115200 бод. В технике связи общая скорость передачи на линии измеряется в бодах, число тактов несущей в секунду. В общем случае с помощью одного бода можно передавать несколько бит (этот прием используется во многих стандартах передачи), но на выходе коммутационного порта персонального компьютера один бод равен одному биту. Информационная скорость (бит/сек) всегда ниже, так как передаваемый байт “обрастает” служебными битами.
Контрольный бит позволяет обнаруживать некоторые ошибки передачи. Для этого он устанавливается либо в “0”, либо в “1”, в зависимости от числа “0” или “1” в передаваемом байте. Конкретный тип контроля передачи выбирается программированием соответствующего регистра микросхемы коммутационного порта персонального компьютера.
Стоповый бит или биты имеют уровень MARK и завершают кадр последовательной передачи. Промежуток между кадрами можно рассматривать как несколько стоповых битов. Если линия находится в таком состоянии больше определенного времени, то фиксируется сигнал BREAK - сигнал разрыва связи. В настоящее время этот сигнал практически не применяется.

Коммутационный интерфейс компьютера

В коммутационных портах компьютеров используется стандартный интерфейс RS-232C, разработанный американской ассоциацией электронной промышленности (EIA). Международным телекоммуникационным союзом (ITU-T) была принята рекомендация V.24, описывающая набор сигналов обмена для последовательной передачи. Рекомендация V.28 определяет электрические характеристики интерфейса V.24. Совокупность рекомендаций V.24/V.28 является аналогом RS-232C. Они гарантированно поддерживают работу на скоростях до 20000 бод при длине кабеля до 15 метров. На практике можно достигнуть скорости до 115200 бод при коротком низкоемкостном кабеле.
Стандартом RS-232C определяется 25 рабочих цепей. В таблице 1 приведен полный перечень цепей интерфейсов RS-232C/V.24 для разъемов DB25 и DB9.

Таблица 1

Разъем
DB25

Разъем
DB9

Номер цепи
V.24

Мнемоника
RS232C

Название цепи

Направление

1

8

-

AA

Корпус, защитное заземление

-

2

3

103

BA

Передача (TD)

к DCE

3

2

104

BB

Прием (RD)

к DTE

4

7

105

CA

Запрос передачи (RTS)

к DCE

5

8

106

CB

Готов к передаче (CTS)

к DTE

6

6

107

CC

DCE готово (DSR)

к DTE

7

5

102

AB

Сигнальное заземление

-

8

-

109

CF

Детектор принимаемого сигнала (DCD)

к DTE

9

-

-

-

+ 12 В, 20 мА, токовая петля

к DTE

10

-

-

-

- 12 В, 20 мА, токовая петля

к DTE

11

-

126

-

Выбор частоты передачи

к DCE

12

-

122

SCF

Детектор принимаемого сигнала
обратного канала

к DTE

13

-

121

SCB

Обратный канал готов

к DTE

14

-

118

SBA

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

к DCE

15

-

114

DB

Синхронизация элементов
передаваемого сигнала

к DTE

16

-

119

SBB

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

к DTE

17

-

115

DD

Синхронизация элементов принимаемого сигнала (для синхронного режима)

к DTE

18

-

-

-

Не подсоединена

-

19

-

120

SCA

Включить линейный сигнал
обратного канала

к DCE

20

-

108.1/108.2

-/CD

Подсоединить модем к линии /
DTE готово (DTR)

к DCE

21

-

110

CG

Детектор качества сигнала данных

к DTE

22

9

125

CE

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

к DTE

23

-

111

CH

Переключатель скорости
передачи данных

к DCE

24

-

113

DA

Синхронизация элементов принимаемого сигнала (для синхронного режима)

к DCE

25

-

-

-

Не подсоедина

 

Обычно используется не более 9 цепей интерфейса RS-232C. В первую очередь это объясняется тем, что последовательный порт IBM-совместимого персонального компьютера реализуется на микросхеме 8250 и ее усовершенствованных модификациях 16450, 16550, 16550А фирмы Intel. Данные микросхемы используют только 4 сигнала квитирования (DTR, DSR, RTS, CTS), индикаторы состояния (RI, DCD) и линии приема/передачи (RD, TD). В совокупности с возможностями устройств DCE (модемов) и терминальных программ такой набор цепей интерфейса RS-232C позволяет решить практически любую телекоммуникационную задачу.
Несмотря на стандартизацию, интерфейс RS-232C может иметь варианты реализации как по набору управляющих сигналов, так и по типам разъемов. Будет хорошо, если два устройства с интерфейсами RS-232C, соединенные друг с другом, сразу заработают.
При работе с интерфейсом RS-232C следует помнить, что он был разработан для стыка устройств DTE (оконечное оборудование данных, Data terminal equipment) с устройствами DCE (аппаратура окончания канала данных, Data circuit-terminating equipment). Персональные компьютеры выполняются как терминалы (DTE) и снабжаются штырьковыми разъемами DB25 или, что гораздо чаще - DB9. Модемы относятся к устройствам DCE и имеют гнездовые разъемы DB25 или DB9.
Взаимное соответствие типов разъемов устройств DTE и DCE еще не гарантирует успешной связи, так как следует согласовать управляющие сигналы. Дело в том, что одно устройство может устанавливать и ожидать сигналы квитирования, а другое попросту их игнорировать.
Если связь устанавливается между двумя DTE или двумя DCE, то соединение напрямую соответствующих контактов разъемов бессмысленно, так как цепь приема будет соединена с цепью приема, а цепь передачи с цепью передачи и т.п. Забегая вперед отметим, что при соединении двух одинаковых устройств следует использовать кросс-кабель (нуль-модемный кабель).
Для того чтобы разобраться в правилах соединения интерфейсов RS-232C рассмотрим назначение и особенности использования управляющих сигналов этого интерфейса. В таблице 2 приведены используемые в коммуникационных портах персональных компьютеров цепи интерфейса RS-232C и более употребительная мнемоника.

Таблица 2

Разъем
DB25

Разъем
DB9

Мнемоника RS-232C

Название
цепи

Направление

Пара обмена данными

2

3

TD

Передаваемые данные

к DCE

3

2

RD

Принимаемые данные

к DTE

Пара квитирования

4

7

RTS

Запрос передачи

к DCE

5

8

CTS

Готов к передаче

к DTE

Пара квитирования

20

4

DTR

DTE готово

к DCE

6

6

DSR

DCE готово

к DTE

Индикаторы состояния

8

1

DCD

Детектор принимаемого сигнала

к DTE

22

9

RI

Индикатор вызова

к DTE

Цепи заземления

1

-

FG

Защитное заземление

-

7

5

SG

Сигнальное заземление

-

Название всех сигналов относится к устройству DTE. Эта особенность порой является причиной путаницы и ошибок, так как и со стороны DTE, и со стороны DCE контакт 2 (для DB25) называется цепью передачи. А на самом деле контакт 2 устройства DCE принимает данные. Поэтому при соединении различных устройств следует четко определить какое из них является DTE, а какое DCE.
В общем случае, при соединении устройств DTE и DCE, между ними происходит установление соединения по следующему алгоритму:

  • Для приведения устройства DCE в активное состояние устройство DTE должно установить сигнал DTR (Data Terminal Ready). Ответным сигналом DSR (Data Set Ready) устройство DCE сообщает о своей готовности.
  • В случае поступления сигнала вызова на устройство DCE из канала связи, оно посылает сигнал RI (Ring Indicator) в устройство DTE. При этом устройство DCE не должно начинать процедуру установления соединения с противоположным устройством DCE пока в ответ на сигнал RI не получит сигнал DTR от своего устройства DTE.
  • Сигнал DCD (Data Carrier Detect) устанавливается после вхождения в связь двух устройств DCE. После обмена сигналами DTR, DSR и получения сигнала DCD устройство DTE перед началом передачи устанавливает сигнал RTS (Request To Send) и ожидает ответного сигнала CTS (Clear To Send) от устройства DCE.

Если короче и проще, то вообще-то пара сигналов DTR - DSR используется для определения, что интересующее устройство существует и включено, а пара RTS - CTS разрешает или запрещает передачу. Сигнал DCD информирует об образовании канала связи с удаленной стороной, а сигнал RI о приходящем вызове.
Довольно часто полный алгоритм установления соединения не используется. По прихоти разработчиков аппаратных или программных средств набор используемых цепей может быть сокращен до минимума, например могут быть оставлены только цепи приема и передачи. Игнорирование цепей интерфейса компенсируется различными программными решениями.


Для соединения устройств с различным набором используемых сигналов интерфейса RS-232C применяются следующие виды кабелей:

Для случая полного протокола квитирования

Для случая отсутствия квитирования хотя бы на одной стороне

При таком кабеле устройство, требующему ответные сигналы, “обманывают” его же собственными сигналами.

Для случая полного протокола квитирования


нуль-модемный кабель

Для случая полного протокола квитирования

нуль-модемный кабель

Для случая отсутствия квитирования хотя бы на одной стороне

с имитацией квитирования

Для случая отсутствия квитирования хотя бы на одной стороне

с имитацией квитирования

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

 
   


Комментарии (0):

Добавить комментарий

 
Ваше имя:
Ваш комментарий:
Решите задачку (ответ напишите цифрами):
Один + Два =

 
 
 
Наверх