Формат кадра асинхронной передачи
Последовательные коммутационные порты персонального компьютера поддерживают асинхронную бит-ориентированную передачу. Каждый байт данных в этом случае передается последовательно, бит за битом, начиная с младшего разряда. Для обеспечения верного приема байты дополняются служебными битами, образуя кадры передачи. На рисунке представлен формат такого кадра и уровни передачи для интерфейса 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.
|