Формат HDLC (для синхронных систем)
В большинстве систем управления информация передается асинхронно. Условием начала передачи является исчезновение постоянного тока, протекающего в канале связи, на достаточно длительное время. Однако в некоторых системах передача данных ведется в синхронном режиме.
В синхронных системах можно использовать те же форматы, что и в асинхронных, при обеспечении некоторых условий. Существуют и специфические форматы, ориентированные на использование в синхронных системах. Некоторые из них находятся в стадии разработки. По рекомендации МЭК в синхронных системах сегодня широко используется формат HDLC.
В синхронных системах постоянно передается сигнал определенной формы: длительность импульса такого сигнала равна длительности паузы (меандр). Он используется для поддержания передающего и приемного генераторов в режиме синхронной работы, или, как говорят, для поддержания синхронизма. Начало передачи устанавливается по факту появления слова НАЧАЛО, или открывающего флага. НАЧАЛО имеет постоянную структуру вида 01111110 (содержит шесть единиц подряд). В некоторых случаях предусматривается и закрывающий флаг такой же структуры. Открывающий и закрывающий флаги должны отличаться от информационных слов. Поэтому во всех словах, совпадающих по структуре с флагами, искусственно добавляется еще один бит после появления пяти единиц подряд. Операция введения добавочного бита называется бит-стаффингом.
Если в передаваемом блоке информации присутствует закрывающий флаг, после приема комбинации без бит-стаффинга прием заканчивается. Для введения бит-стаффинга должно быть предусмотрено специальное устройство. На приемной стороне осуществляется операция отделения бита-стаффинга.
Типовая структура формата приведена в таблице.
Табл. 10 Структура формата HDLC
Открывающий флаг |
1-2 байта |
Адресное поле (адрес объекта, которому передается последующая информация) |
1-2 байта |
Управляющая информация (чаще всего указывает число слов L или процедуру диалога) |
… |
Информационные слова |
L |
Контрольная сумма (составляется по различным правилам) |
… |
Закрывающий флаг (если L= const, его можно не предусматривать) |
… |