Шина х Назначение и устройство
Шина Х предназначена для обмена сообщениями между двумя любыми платами блока КСМ‑01. Шина может использоваться для следующих целей:
организация полудуплексных каналов передачи данных на шине D[30…0];
передача управляющей информации;
передача информации о текущем состоянии плат в блоке;
передача информации об авариях;
обмен любыми другими сообщениями.
Сообщения передаются в пакетном виде с длиной информационного поля равной 58 байт. В качестве адреса пакета используется либо номер платы (однозначно определяется местом установки платы), либо уникальный 2-х байтный идентификационный номер (задается программно на этапе конфигурации аппаратуры). Все задачи, связанные с проверкой правильности передачи, выполняет контроллер шины Х (обеспечение защиты данных от искажений производится введением контрольной суммы, кроме того, анализируется ответ приемника). Используемая система кодирования сообщений позволяет обнаружить любые трехкратные ошибки в пакете.
В своем составе шина Х содержит как линии передачи данных (см. таблицу 1), так и служебные линии, предназначенные для передачи запросов, ответов и контрольных битов. Контроллеры шины Х, расположенные на платах, синхронизируются от сигналов с кросса. Т.е. шина Х — это синхронная шина с циклом передачи 64 такта (при этом используется цикловая синхронизация блока).
Таблица 1 — Сигналы шины Х
Сигналы 1-й группы |
Сигналы 2-й группы |
Название |
Описание |
1XREQ |
2XREQ |
Request |
Шина запросов на обслуживание и подтверждения приема |
1X[7..0] |
2X[7..0] |
Data |
Данные шины Х |
1XC |
2XC |
Check |
Бит четности |
1XR |
2XR |
Reserve |
Резервный сигнал (не используется) |
XS |
Select |
Выбор группы (1-я или 2-я) |
Контроллер шины Х состоит из двух независимых частей (передатчика и приемника), каждая из которых имеет буфер емкостью 256 байт (4 пакета по 64 байта).
Таким образом, буфер передатчика (равно как и приемника) может вмещать до 4-х пакетов, размером до 64-х байт каждый. Однако надо помнить, что реально осуществляется передача только 61-го байта. Принята следующая структура пакета:
Структура пакета, передаваемого по линиям Х[7..0]
Содержание пакета
Номер байта в пакете |
Назначение |
Размер |
Примечание |
0 |
Тип пакета |
2 бита (старшие) |
Пакеты различаются только по способу адресации. 1-й тип (код 01b): адресация по идентификационному номеру (16-ти битовый адрес); 2-й тип (код 10b): адресация по номеру платы (5-ти битовый адрес, старшие биты – нули); |
0 |
Размер пакета |
6 бит (младшие) |
Это количество передаваемых байтов, не считая нулевого. Значение должно находиться в пределах от 3 до 60 (поле адреса — обязательно) |
1 |
Адрес приемника (ст. байт) |
1 байт |
В случае 2-го типа адресации весь байт равен нулю |
2 |
Адрес приемника (мл. байт) |
1 байт |
В случае 2-го типа адресации 3 старших бита равны нулю |
3…60 |
Данные пакета |
1…58 байт |
Любые 8-разрядные данные. Если данных меньше 58байт, то дополнять их до максимального значения НЕ требуется. Т.е. кол-во передаваемой информации может быть произвольным (для сохранения формата кадра автоматически передаются холостые байты). |
61 |
Контрольная сумма |
1 байт |
Формируется автоматически |
62, 63 |
Резерв |
2 байта |
Не используются |
В соответствии с вышесказанным, каждый пакет должен записываться в следующем обязательномпорядке:
байт, указывающий тип адресации и длину пакета;
старший адресный байт;
младший адресный байт;
собственно данные.