Структура соединения локальных подсистем
Все сопрягаемые локальные подсистемы должны подключаться к магистральному каналу, через который осуществляется обмен информацией.
Для сопряжения локальных подсистем с магистральным каналом в их составе должны быть предусмотрены контроллеры связи. Контроллеры связи должны осуществлять:
преобразование информации из формы представления, принятой в локальной подсистеме, в форму, которая требуется для передачи по магистральному каналу;
добавление и выделение знаков синхронизации;
распознавание и прием сообщений, адресованных данной локальной подсистеме;
формирование и сравнение контрольных кодов для определения достоверности принимаемых сообщений.
Обмен сообщениями между локальными подсистемами должен быть организован в виде циклов. Под циклом понимается процедура передачи в магистральный канал одного сообщения формата 1 или 2. Несколько взаимосвязанных циклов образуют процесс передачи.
Процесс передачи должен быть организован по асинхронному принципу: на посылаемые в магистральный канал вызовы локальная подсистема должна получать ответы (за исключением групповых операций).
ФУНКЦИИ ИНТЕРФЕЙСА
Интерфейс устанавливает следующие виды функций, отличающиеся по уровням управления, которые занимают локальные подсистемы в процессе обмена сообщениями:
пассивный прием (низший уровень);
прием и ответ;
децентрализованное управление магистральным каналом;
запрос захвата магистрального канала;
центральное управление магистральным каналом.
Состав интерфейсных функций, реализуемых локальной подсистемой, определяется составом задачи, решаемой данной подсистемой и ее функциональными характеристиками.
Тип локальной подсистемы определяется функцией наиболее высокого уровня из числа предусмотренных. Локальная подсистема считается активной относительно той функции, которую она исполняет в текущем цикле.
В соответствии с составом реализуемых интерфейсных функций различаются следующие типы локальных подсистем:
пассивная управляемая подсистема;
управляемая подсистема;
управляющая подсистема; '
инициативная управляющая подсистема, ведущая подсистема.
Пассивная управляемая подсистема выполняет только опознание и прием адресованных ей сообщений.
Управляемая подсистема осуществляет прием адресованных ей сообщений и| формирует ответное сообщение в соответствии с принятым кодом функции.
Управляющая подсистема должна обладать способностью:
принимать управление обменом по магистральному каналу;
формировать и передавать сообщения по магистральному каналу;
принимать и анализировать ответные сообщения;
возвращать управление магистральным каналом после окончания процесса передачи.
Инициативная управляющая подсистема помимо функции по п. 4.4.3 должна обладать способностью формировать сигнал запроса для захвата магистрального канала, принимать и посылать соответствующие сообщения при выполнении процедуры поиска запрашивающей подсистемы.
Ведущая подсистема координирует работу всех локальных подсистем, сопряженных магистральным каналом. Она осуществляет:
арбитраж и передачу управления магистральным каналом одной из управляющих локальных подсистем;
центральное управление всеми локальными подсистемами;
контроль работы активной управляющей локальной подсистемы;
передачу сообщений с общим адресом для всех (или нескольких) локальных подсистем.
К магистральному каналу может быть подключена только одна подсистема, имеющая активную функцию ведущей.
ПОРЯДОК ОБМЕНА СООБЩЕНИЯМИ
Каждый цикл передачи сообщения по магистральному каналу должен начинаться с синхронизации всех сопряженных по интерфейсу подсистем.
Для выполнения синхронизации ведущая или активная управляющая подсистема должна передать в магистральный канал синхронизирующий байт СН. Допускается передавать последовательно несколько синхронизирующих байтов. Дополнительные синхронизирующие байты в формат сообщения не включаются.
После выполнения синхронизации всех подсистем ведущая или активная управляющая подсистема передает в магистральный канал сообщение формата 1 или 2, включая их собственные байты СН.
Все байты, за исключением контрольных КБ1 и КБ2, передаются в магистральный канал, начиная с младшего разряда.
Байты КБ1, КБ2 передаются со старшего разряда.
Для исключения из передаваемого в магистральный канал сообщения последовательности битов, совпадающих с кодом байта СН, каждое сообщение должно быть преобразовано таким образом, что после 5 следующих друг за другом символов «1» должен включаться один дополнительный символ «О». Принимающий подсистемой этот символ должен соответственно исключаться из сообщения.
После передачи сообщения, включая оконечный байт СН, передающая подсистема должна передать еще не менее 2 байтов СН для завершения операций приема, после чего цикл передачи заканчивается.
Координация взаимодействия подсистем, сопряженных посредством интерфейса, должна осуществляться ведущей подсистемой. Координация выполняется при помощи процедур управления магистральным каналом.
Процедура управления магистральным каналом предусматривает выполнение функции передачи управления магистральным каналом и функции возврата управления магистральным каналом.
При передаче управления магистральным каналом ведущая подсистема назначает активную управляющую подсистему для выполнения процесса передачи сообщений. Для этого ведущая подсистема должна направить выбранной управляющей подсистеме сообщение формата 1 с кодом функции КФ6.
Управляющая подсистема после принятия сообщения с кодом функции КФ6 должна стать активной и может выполнить в одном процессе передачи несколько циклов обмена сообщениями. Количество циклов обмена должно контролироваться и ограничиваться ведущей подсистемой.
После выполнения передачи управления магистральным- каналом ведущая подсистема должна активизировать в себе функцию пассивного приема и включить контрольный отсчет времени. Если в течение установленного времени (время ожидания ответа не должно быть более 1 мс) назначенная активной подсистема не начинает передачу сообщений по магистральному каналу, ведущая подсистема повторно направляет управляющей подсистеме сообщение формата 1 с кодом функции КФ6 и признаком повторной передачи.
В случае, если и при повторном обращении управляющая подсистема не начинает передачу сообщений (не становится активной), ведущая подсистема определяет ее как неисправную и реализует предусмотренные для такой ситуации процедуры.
По окончании процесса передачи активная управляющая подсистема должна выполнить функцию возврата управления магистральным каналом. Для этого она должна направить ведущей подсистеме сообщение с кодом функции КФ7 или КФ8.
Передача управления магистральным каналом может быть организована как по инициативе ведущей подсистемы, так и по запросам от инициативных управляющих подсистем.
При передаче управления магистральным каналом по инициативе ведущей подсистемы последовательность процедур управления магистральным каналом с целью активизации управляющих подсистем определяется только ведущей подсистемой.
Передача управления магистральным каналом по запросам может быть организована только для инициативных управляющих подсистем. При этом возможны два способа организации поиска подсистемы, запрашивающей доступ к магистральному каналу — централизованный и децентрализованный.
При централизованном опросе ведущая подсистема должна последовательно опросить все подключенные к магистральному каналу инициативные управляющие подсистемы. Ведущая подсистема должна направить каждой инициативной управляющей подсистеме сообщение формата 1 с кодом функции КФ5.
Инициативная управляющая подсистема должна направить ведущей подсистеме ответное сообщение с одним из кодов функции КФ21—КФ24 в зависимости от своего внутреннего состояния. Последовательность операций в процедуре централизованного опроса приведена на черт. 4.
Децентрализованный опрос обеспечивает быстрый процесс определения инициативных управляющих подсистем, установивших запрос доступа к магистральному каналу. Ведущая подсистема должна обратиться только к первой по очереди инициативной управляющей подсистеме с сообщением формата 1 и кодом функнии КФ9.
Каждая инициативная управляющая подсистема должна воспринимать адресованное ей сообщение и посылать в магистральный канал свое сообщение, адресованное следующей по очереди подсистеме. В формируемом сообщении должен передаваться один из кодов функции КФ9—КФ 12, характеризующий состояние данной подсистемы. Процедура децентрализованного опроса иллюстрируется черт. 5.
Ведущая подсистема после запуска децентрализованного опроса активизирует функцию пассивного приема и принимает все сообщения, посылаемые инициативными управляющими подсистемами. Это позволяет ведущей подсистеме после окончания децентрализованного опроса иметь информацию о запросах до-Стр. 10 ГОСТ 26139—84
Подсистема f (ведущая)
ГОСТ 26139—84 Стр. 11
процесе децентрализованного опроса подсистемы
Черт. 5
Подсистема 2 (инициативная управляющая)
Подсистема 3 (инициативная управляющая)
Подсистема в (инициативная управляющая)ступа к магистральному каналу у всех инициативных управляющих подсистем.
Последняя в цепи децентрализованного опроса инициативная управляющая подсистема должна адресовать свое сообщение ведущей подсистеме, что означает конец процедуры децентрализованного опроса.
В случае, если какая-либо подсистема не выдает сообщения в магистральный канал после обращения к ней, ведущая подсистема должна активизироваться и послать ей повторное сообщение, идентичное предыдущему. В случае отсутствия ответа (или ошибок) на повторный вызов ведущая подсистема запускает децентрализованный опрос со следующей по очереди подсистемы, а данная подсистема из опроса исключается.
Процедура передачи данных может выполняться в виде одного из следующих процессов:
групповой записи;
записи:
чтения;;
записи-чтения.
Групповая запись должна выполняться ведущей подсистемой. При выполнении групповой записи ведущая подсистема выдает в магистральный канал сообщение формата 2, в котором в качестве адреса АВ записан код 11111111 (255) и код функции КФ1.
Все подсистемы, реагирующие на групповой адрес, должны принять сообщение из магистрального канала и зафиксировать состояние, означающее, что сообщение с общим адресом принято. Ответные сообщения при групповой записи принимающими подсистемами не выдаются.
Подтверждение приема группового сообщения осуществляется в процессе централизованного или децентрализованного опроса, а также при возврате управления магистральным каналом, для чего в коды функций КФ7, КФ8, КФ9 — К.Ф12 и КФ21 — КФ24 включен бит соответствующего состояния.
В процессе записи ведущая подсистема или активная управляющая подсистема посылает в магистральный канал сообщение формата 2 с кодом функции КФ2, предназначенное для приема конкретной управляемой подсистемой, адрес которой указан в байте АВ. После выдачи сообщения активная управляющая подсистема включает контрольный отсчет времени и ждет ответное сообщение.
Адресованная подсистема опознает свой адрес и принимает посылаемое ей сообщение. В том случае, если сообщение принято без ошибки, принимающая подсистема должна выдать в магистральный канал ответ в виде сообщения формата 1 с кодом функции КФ 18.В случае, если в принятом сообщении обнаружена ошибка, принимающая подсистема не должна выдавать ответ.
Активная управляющая подсистема при отсутствии ответа в течение интервала контрольного времени должна повторно выполнить передачу того же сообщения.
При отсутствии ответа на повторное сообщение данная подсистема считается неисправной и активная управляющая подсистема должна выполнить предписанную для такой ситуации процедуру (включение сигнализации, исключение подсистемы из ■обращения, включение резерва и т. д.).
Диалог управляющей и управляемой подсистем должен постоянно контролироваться ведущей подсистемой, выполняющей в это время функцию пассивного приема сообщений.
Процесс чтения должен начинаться посылкой активной управляющей подсистемой сообщения формата 1 с кодом функции КФЗ.
Подсистема, которой адресовано это сообщение, в случае исправного его приема, должна выдать ответное сообщение формата 2 с кодом функции КФ 19.
В случае, если вызываемая подсистема не может выдать данные в течение установленного времени ожидания, то она должна после принятия сообщения с функцией чтения зафиксировать признак занятости подсистемы и приступить к формированию массива данных для выдачи.
Данная управляемая подсистема должна запомнить адрес обратившейся к ней активной управляющей подсистемы (для которой готовятся данные) и в ответных сообщениях другим управляющим подсистемам устанавливать признак занятости.
Для считывания подготовленных данных активная управляющая подсистема должна вновь обратиться к управляемой подсистеме с сообщением формата 1 с кодом функции КфЗ. Если данные к этому времени подготовлены, то управляемая подсистема должна выдать ответное сообщение формата 2 с кодом функции КФ 19.