Специфика работы МК бортовых систем по сравнению с локальными вычислительными сетями требует несколько иного подхода к организации управления доступом к каналу. В настоящее время можно выделить четыре основных типа управления передачей данных:
- централизованное управление по опорному таймеру;
- централизованное управление по принципу <команда-ответ>;
- распределенное управление (опрос);
- децентрализованное управление (соперничество).
Система с централизованным управлением по опорному таймеру использует единое устройство отсчета времени, обеспечивающее синхронизацию работы пользователей. При этом каждый абонент передает и принимает данные в течение определенного отрезка времени. При централизованном управлении по принципу <команда-ответ> используется устройство, называемое контроллером, передающее остальным абонентам сигналы управления передачей или приемом. Распределенное управление с опросом организует обмен данными аналогично централизованной системе <команда - ответ>, но использует последовательно несколько контроллеров. При децентрализованном управлении каждый пользователь имеет право на асинхронный захват канала.
Мультиплексные каналы межмодульного обмена не отличаются сверхвысокими скоростями передачи и зачастую содержат большое число простейших устройств (датчики, исполнительные механизмы), не способных осуществлять инициацию обмена в канале. Усложнение аппаратуры терминалов, обслуживающих такие устройства, приводит к снижению надежности работы системы и не является оправданным.
Специфика работы МК определяется самими принципами функ-ционирования бортовой системы. Большинство БССО работают с фиксированным расписанием передачи данных. Требования к этому расписанию определяются объемом решаемых задач с рассмотрением скорости обновления информации и допустимых величин запаздывания. Все это подразумевает наличие центрального управляющего устройства, хранящего программу управления работой системы. Однако такой подход не исключает наличия в системе сложных абонентов, способных принимать на себя управление каналом как с целью повышения живучести системы, так и для обеспечения большей эффективности использования ЛПИ.
Исходя из сказанного, можно отметить, что концепция управления доступом к каналу в виде комбинации централизованного принципа <команда-ответ> и распределенного (опрос), выбранная в ГОСТ 26765.52-87, является достаточно эффективной. Принцип <команда-ответ> позволяет гибко реагировать на изменяющиеся требования к потоку данных, обеспечивает простоту реализации и возможность подвергать изменениям лишь ограниченное число устройств. Немаловажным фактором является и простота обеспечения синхронизации. Предусмотренная возможность передачи управления повышает живучесть системы и эффективность использования канала.
Обобщенная классификация каналов, построенных в соответствии с ГОСТ 26765.52-87, приведена на рис. 2.6.
Концепция стационарного управляющего устройства предполагает наличие в нормально работающей системе одного терминала, выполняющего функции контроллера. Передача управления резервному контроллеру может осуществляться только в случае отказа основного, причем инициализация резервного контроллера может быть проведена и через дополнительные линии связи.
Концепция нестационарного управляющего устройства означает, что в одном МК управление передачей информации могут последовательно осуществлять несколько контроллеров. Стандартом предусмотрен способ передачи управления от активного контроллера потенциальному через специальную команду. Эта команда извещает потенциальный контроллер о предложении передачи управления. Терминал через специальный разряд в ответном слове извещает текущий контроллер о приеме управления. Если терминал отказался от управления и разряд в ответном слове не установлен, инициализацию обмена в канале продолжает осуществлять текущий контроллер. Определение порядка и времени пере┐дачи управления не ограничивается стандартом и устанавливается при проектировании системы. Применяются два основных способа: циклический опрос и <голосование>.
При циклическом опросе используется фиксированный порядок функционирования контроллеров и, как правило, фиксированное максимальное время работы каждого контроллера. Если соблюдается максимальное время работы для каждого контроллера, синхронизация работы системы не нарушается. Равенство времени активной работы всех потенциальных контроллеров не обязательно. Синхронизация работы подсистем в этом случае может осуществляться путем периодической подачи групповой команды с сигналом центрального таймера.
Второй вариант нестационарного управления каналом (<голосование>) предусматривает передачу управления контроллеру, имеющему наивысший приоритет. Существует несколько способов использования этого подхода.
Приведем форматы посылок и типы слов МК. Информация, передаваемая по МК, помимо собственных данных должна содержать и управляющую инструкцию (адрес потребителя, идентификатор длины), синхропосылку (бита, слова, сообщения или кадра), информацию об ошибках.
Специфика мультиплексных каналов определяет выбор формы сообщений. Распространение получили сообщения с фиксирован┐ной длиной слова. Синхронизация осуществляется пословно. В качестве синхроимпульса используется искаженный манчестерский сигнал длительностью 3 бита. Этот способ обеспечивает достаточный уровень помехоустойчивости при минимальных затратах служебных битов.
Информация, передаваемая бортовыми системами, является комбинацией данных, относящихся к управлению системой и технических измерений. Мультиплексный канал пригоден как для осуществления управления бортовыми системами, так и для передачи данных бортовых систем. При передаче информации используются форматы сообщений, показанные на рис. 2.7. Все слова, передаваемые в МК, подразделяются на командные (КС), информационные (D) или ответные (ОС). КС и ОС начинаются с синхроимпульса одной полярности (SYNC С), а информационные-другой (SYNC D). Форматы слов, из которых формируются сообщения, приведены на рис. 2.8, где обозначено:
ADR - адрес ОУ в канале кодируется от 00000 до 11110, что соответствует 1-31;
К-признак прием/передача (<1>-ОУ должно передавать данные, <О> - принимать);
SA/CI - поле подадреса или режима управления;
N/COP - поле числа слов или кода команды;
А - признак ошибки в сообщении (1);
В - аппаратный бит;
С - запрос на обслуживание (1);
D - признак принятия команды группового режима (1);
Е - признак занятости подсистемы (1);
F - флаг неисправности подсистемы (1);
G - признак принятия управления каналом (1);
Н - флаг неисправности терминала (1);
Р - разряд контроля четности (дополнение числа единиц в слове до нечетного);
XXX - резервные разряды.
Кодирование поля SA/CI и коды команд управления в поле N/COP приведены в табл. 2.2 и 2.3 соответственно.
Поскольку синхроимпульсы командного и ответного слов (SYNC С) совпадают, в некоторых системах для их определения используется так называемый аппаратный бит (десятый разряд). В этом случае разрядность поля SA/CI составляет 4 бита, а число подадресов каждого оконечного устройства - 15. При отсутствии в командах аппаратного бита усложняется работа монитора МК, но разрядность поля SA/CI возрастает до 5 бит, а число подадресов - до 30.
Любое из оконечных устройств может выполнять свой список команд, выбранный на этапе проектирования. Рассмотрим некоторые команды и биты признаков в ОС, использование которых может вызвать затруднения. Команды управления <Принять управление каналом>, <Синхронизация> (со словом данных и без него) и <Передать векторное слово> используются при нормальной работе системы, а остальные предназначены, в первую очередь, для обработки ошибок в МК.
Команда <Синхронизация> заставляет ОУ произвести синхронизацию (например, установить в исходное состояние внутренний таймер, начать последовательность действий и т. д.). Зачастую использование этой команды без информационного слова извещает ОУ о завершении очередного малого цикла. Использование команды <Синхронизация> с присоединенным информационным словом (10001) чаще всего означает передачу текущего значения центрального таймера всем потребителям.
Команда <Передать векторное слово> связана с битом запроса на обслуживание в ОС и используется для определения вида обслуживания, если у терминала имеется более одного вида запроса на обслуживание. Присоединенным информационное слово в этом случае может означать, например, конкретный адрес передаваемой или принимаемой информации.
Команда <Передать последнее командное слово> позволяет определить последнюю достоверную команду, принятую и выполненную терминалом до данной команды. Она не изменяет битов ответного слова терминала, что позволяет использовать ее в операциях по обнаружению и исправлению ошибок, не влияя на ОС, что могло бы внести новые ошибки.
Команда <Передать ответное слово> также не изменяет битов ОС и позволяет получить контроллеру обновленные данные о прохождении информации по МК и об оборудовании, влияющем на передачу информации.
По команде <Начать самоконтроль> осуществляется проверка аппаратуры терминала МК. Эта команда может быть использована как при инициализации системы, так и в процедурах восстановления после отказа МК.
Команда <Подавить бит флага терминала> используется для установки соответствующего бита ОС в состояние <исправно>, независимо от действительного состояния адресуемого терминала. Она позволяет предотвратить повторяющиеся прерывания в системе обработки ошибок и восстановления, когда отказ обнаружен и система преобразована. Выдача этой команды блокирует передачу последующих сообщений об ошибке, которые должны были бы возникнуть при использовании признака терминала в каждом последующем ОС.
По команде <Отменить подавление бита флага терминала> снимается действие блокировки, разрешая биту признака неисправности терминала в ответном слове отражать действительное состояние терминала.
Команды <Блокировать передатчик> и <Разблокировать передатчик> используются в системах с двойным резервированием ЛПИ. Получив такую команду по одной ЛПИ, терминал блокирует или снимает блокировку передатчика другой ЛПИ. Ответное слово передается в КК через линию, по которой поступила команда.
<Передать слово встроенного контроля>. Получив такую команду ОУ отвечает ОС с присоединенным D, которое является кодом результата встроенного контроля. Эта команда позволяет КК получить информацию о возможной причине неисправности терминала. Команда не должна использоваться для получения информации о неисправности подсистемы.
Бит <Ошибка в сообщении> ОС устанавливается в единичное состояние, если хотя бы одно информационное слово не удовлетворяет критерию достоверности слова, не выполнен критерий достоверности сообщения или получена команда, запрещенная для данного терминала. Причем в последнем случае, если критерий достоверности слова и сообщения выполнены, то ответное слово выдается.
Все разряды ответного слова, кроме адреса, должны устанавливаться в логический нуль после приема оконечным устройством адресованного ему достоверного командного слова, за исключением команд, оговоренных выше. Если условия, которые определяли содержимое разрядов ОС (например, флаг ОУ), продолжают существовать, биты ОС должны быть снова установлены, а затем переданы в МК.