═
Описание протокола обмена телекомплекса Гранит
Общий вид пакета в канале связи:
═ 0101 Меандр 0101 0101 ═ 0111 1110 Флаг начала пакета хххх хххх Номер КП (от 1 до 128) хххх хххх Тип пакета / адрес субблока ═ ═ ═ ═ ═ ═ ═ ═ Данные (до 16 байт) ═ ═ ═ хххх хххх Циклический код защиты хххх хххх по полиному х16+х12+х5+1 0111 1110 Флаг завершения пакета
═
Для обеспечения "прозрачности" данных передаваемых внутри пакета ( между флагами) при передаче после пяти подряд идущих '1' принудительно вставляется "0"(так называемые бит-стаффинги). Приемная сторона должна соответственно удалять эти нули.
В основном пакет формируется по алгоритму стандарта HDLC - флаги, полином защиты, бит-стаффинги. Однако конкретная реализация имеет ряд отличий от стандарта, которые необходимо учитывать при работе с протоколом:
первым при передаче в канал уходит старший бит байтов
подсчет CRC производится по порядку следования битов в канале (т.е. со старшего бита)
предкомпенсация CRC равна нулю
по отношению к стандарту RS-232 сигналы в канале инверсны.
перед флагом начяала пакета в канал засылаются 12 битов (чередующиеся 0-1) необходимые для фазовой подсинхронизации приемопередатчика.
Логика работы канала связи:
Инициатором обмена всегда является ПУ Гранита и если у ПУ есть посылка на передачу он передает ее. Еслы посылок у ПУ нет, он формирует на передачу МЕАНДР (12 битов 0-1). КП принимает МЕАНДР и в ответ передает либо МЕАНДР (если передавать нечего) либо информационный пакет. Пауза между принятым МЕАНДРОМ и ответным составляет четыре бита.
Посылки от КП к ПУ
═
Общий вид пакета с информацией
0111.1110 | xxxx.xxxx | xxxx.xxxx | xxxx.xxxx | ═ | ═ | ═ | ═ | ═ | ═ | ═ | ═ | xxxx.xxxx | xxxx.xxxx | 0111.1110 |
═ | БК..|.ЛУ | Вид.|АФБ | Тип|Ном | ═ | Д | А | Н | Н | Ы | Е | ═ | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | Инф|Грп | ═ | ═ | ═ | ═ | ═ | ═ | ═ | ═ | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | ═ | ═ | ═ | ═ | ═ | ═ | ═ | ═ | ═ | ═ | ═ |
Где
БК - номер (0-15) каркаса пункта управления (ПУ) в котором установлен линейный узел связи с данным КП
ЛУ - адрес (1-15) линейного узла связи в каркасе
N КП - определяется по совокупности БК и ЛУ (число от 1 до 128, уникальное в одном ПУ).
ВидПкт - тетрада определяющая тип пакета
АФБ - адрес функционального блока сформировавшего данный пакет (1-15).Определяется физическим местом установки блока в КП.
Тип Инф - Тип информации (ТС-ТИТ-ТИИ)
НомГрп - Номер информационной группы. Здесь необходимо заметить,что блоки ТС и ТИИ содержат одну информационную группу (ТС-64сигнала \ ТИИ-16параметров) а блок ТИТ содержит две группы по 16 измерений.Номер группы задается с помощью перемычек на блоке. Во многих системах это поле не анализируется (за исключением младшего бита в пакете ТИТ).
═
Пакет от блока ТС
0111.1110 | хххх.хххх | 0100.хххх | *010.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Тип.|Ном | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | Инф.|Грп | Байт ТС | Байт ТС | Байт ТС | Байт ТС | Байт ТС | Байт ТС | Байт ТС | Байт ТС | Инверс | Инверс | Инверс | Инверс | Инверс | Инверс | Инверс | Инверс | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
ПРИМЕЧАНИЕ═
═
Пакет от блока ТИТ
0111.1110 | хххх.хххх | 0100.хххх | 0110.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Тип.|Ном | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | Инф.|Грп | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | Байт ТТ | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
ПРИМЕЧАНИЕ═
═
Пакет от блока ТИИ
0111.1110 | хххх.хххх | 0100.хххх | 0100.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Тип.|Ном | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | Инф.|Грп | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | Байт ТИ | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
ПРИМЕЧАНИЕ
Пакет "Нет Информации"
0111.1110 | хххх.хххх | 1001.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | 1 | 2 | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | ═ | ═ | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
ПРИМЕЧАНИЕ
Этот пакет формируется КП в ответ на посылку ОПРОС в магистральном режиме работы.
Прием данного пакета означает что у КП нет никакой информации для ПУ
Поля АФБ и байты 4 -5 никакого значения не имеют
═
Пакет "ОШИБКА КОНТРОЛЛЕРА КП"
0111.1110 | хххх.хххх | 1010.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | 1 | 2 | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | ═ | ═ | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Этот пакет формируется в ответ на какой-либо пакет от ПУ если:
Поле АФБ заполняется из входного пакета
Байты 4-5 не имеют смысла
Посылки от ПУ к КП
═
Квитанция
0111.1110 | хххх.хххх | 0000.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 |
Посылка формируется в ответ на принятый блок ТС или ТИТ
В поле АФБ заносится адрес блока который д.б. сквитирован
═
Пакет принудительного вызова информации
0111.1110 | хххх.хххх | 0001.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 |
Поле АФБ может принимать значения -
1000 - вызов всех ТС КП
1001 - вызов всех ТИТ КП
1010 - вызов всех ТИИ КП
═
Пакет ОПРОС
0111.1110 | хххх.хххх | 0011.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 |
Данный пакет необходим для организации магистрального канала связи
Поле АФБ не имеет смысла
В ответ на такой пакет КП либо передает один пакет с информацией, либо передает пакет "нет информации"
═
Пакет ТЕЛЕУПРАВЛЕНИЕ
0111.1110 | хххх.хххх | 0001.хххх | 1000.0000 | 0000.0000 | 1000.0000 | 0111.1111 | 1111.1111 | 0111.1111 | 1111.1111 | 0111.1111 | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | Позиционный код | Поз. код | Инв. позиционный | Инв. позиц. код | Инв. поз. | Циклический код | ═ | ||||
ФЛАГ | N КП | Пкт..| | номера группы | обьекта | код АФБ | номера группы | код обьек | защиты═ | ФЛАГ | ||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Поле АФБ принимает значения от 1 до 4 в зависимости от команды ТУ
0001 - команда "включить" для первого блока ТУ
0002 - команда "выключить" для первого блока ТУ
0003 - команда "включить" для второго блока ТУ
0004 - команда "выключить" для второго блока ТУ
Таким образом одно КП может содержать в себе до двух блоков ТУ
Каждый блок может содержать до 16 групп по 8 обьектов
Примечание: Данный пакет дан в примере Вкл для первого блока - первая группа - первый обьект
Позиционные коды заполняются слева на право (т.е.первый бит - старший)
После выполнения команды блок ТУ должен передать пакет "СВОБОДЕН"
0111.1110 | хххх.хххх | 1000.хххх | хххх.хххх | хххх.хххх | хххх.хххх | хххх.хххх | 0111.1110 |
═ | Бк...|.Лу | Тип.|АФБ | 1 | 2 | Цикличе | ский код | ═ |
ФЛАГ | N КП | Пкт..| | ═ | ═ | защиты | ═ | ФЛАГ |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
где поле АФБ содержит адрес блока ТУ в КП (т.е. не тоже что в посылке ТУ)
Байты 4-5 не имеют смысла
═
Конечно есть еще несколько пакетов - вывод на щит ТС и ТИТ сообщения от ЛУ-ретрансляторов и т.п. которые могут заинтересовать только тех кто пишет ПО для ПУ Гранита, однако это уже в прошлом.
Со всеми вопросами можно обращаться к Дмитриеву Дмитрию.