Для обеспечения кодонезависимого режима каждая управляющая последовательность начинается с символа API.
Управляющая последовательность API КТМ посылается устройством при необходимости организации сеанса связи.
Управляющая последовательность API ДА является ответной и посылается как положительное подтверждение на выполнение предписанной функции.
Управляющая последовательность API НЕТ является ответной и посылается как отрицательный ответ на принятую управляющую последовательность или невыполнение предписанной функции.
Управляющая последовательность API НТ используется при передаче сообщений, содержащих байты данных, и указывает, что следующий за ней стартстопный цифровой сигнал является первым байтам передаваемого массива данных (текста).
Управляющая последовательность API КТ передается после передачи последнего байта данных в сообщении и означает, что массив данных в текущем сеансе передан полностью.
Управляющая последовательность API КП передается устройством как команда окончания связи и перехода в нейтральное состояние.Управляющие последовательности и байты данных в составе сообщения передаются в соответствии с форматом, приведенным на черт. 4.
АРІ НТ |
ТКС |
АРІ КТ |
ПП |
ТК.С — текстовая часть сообщения, содержания байты данных; ПП — последовательность проверки
Черт. 4
Для обеспечения кодонезависимой передачи используется дополнительный символ API. При наличии в текстовой части байта данных с кодом, совпадающим с API, к нему при передаче добавляется еще один символ API. Наличие последовательности API API означает, что данная последовательность не является управляющей и один из символов должен быть принят как байт данных, а второй исключен.
Последовательность проверки ПП представляет собой контрольную сумму переданных информационных байтов в составе ТКС. Дополнительные символы АР і в состав контрольной суммы не включаются.
Организация обмена информацией
Обмен информацией осуществляется в соответствии с процедурой управления КПП, которая может быть представлена в виде двух последовательных фаз:
фазы установления связи (ФУ);
фазы передачи сообщения (ФП).
До начала процедуры обмена информацией оба сопряженных по данному интерфейсу устройства — передающее и принимающее находятся в нейтральном состоянии, т. е. в состоянии, в которое приходят устройства после включения электрического питания и завершения внутреннего тестирования.
В фазе ФУ выполняется приведение обоих сопряженных устройств в активное состояние и присвоение им статусов главного (передающего) или подчиненного (принимающего).
В фазе ФП выполняется передача текста сообщения (массива данных) от главного устройства к подчиненному.
Последовательность операций ФУ (блок-схема алгоритма) приведена на черт. 5.
В нейтральном состоянии устройство постоянно контролирует состояние признака (флага) «Передача» и состояние КПП. При инициализации признака «Прием» устройство должно принять из КПП управляющую последовательность API КТМ.
Если приняты коды, отличающиеся от кода указанной последовательности, устройство их игнорирует и продолжает сканирование флагов «Передача» и «Прием».
Если управляющая последовательность API КТМ устройством опознана, то оно должно проанализировать состояние приемных буферов и результаты тестирования, после чего выдать в КПП одну из последовательностей: API ДА (при готовности к приему) или API НЕТ (при неготовности к приему).
Если выдается последовательность API НЕТ, то после ее выдачи устройство возвращается в цикл контроля состояния флагов «Передача» и «Прием» (нейтральное состояние).
Если устройство выдает в КПП управляющую последовательность API ДА, то оно принимает статус подчиненного и переходит в фазу ФП как принимающее.
При переходе устройства в активное состояние в связи с необходимостью передачи данных (установлен флаг «Передача»), оно выдает в КПИ управляющую последовательность API КТМ.
Блок-схема алгоритма обмена данными в фазе установления связи (ФУ)
Черт. 5
После выдачи API КТМ устройство контролирует, не выполнялся ли одновременно с выдачей прием от сопряженного с ним устройства («Встречный вызов»).
Если такая операция не была зафиксирована, устройство включает контрольный отсчет времени («Вкл. т ож ответа») и устанавливает режим ожидания приема из КПИ.
При получении из КПИ управляющей последовательности API ДА устройству присваивается статус главного, и оно переходит в фазу ФП в ранге передающего.Если из КПИ принята управляющая последовательность API НЕТ, устройство устанавливает флаг «Отказ от связи» и возвращается в нейтральное состояние.
В случае, если принятая управляющая последовательность не является ни API ДА, ни АР! НЕТ, устройство повторяет выдачу вызова API КТМ.
Устройство выполняет не более трех попыток подряд для установления связи.
Если в результате трех попыток связи ответная управляющая последовательность не опознана, устройство устанавливает флаг «Связь не установлена» и возвращается в нейтральное состояние. Аналогичные действия выполняются и при отсутствии ответной управляющей последовательности из КПИ по истечении интервала времени т ож ■
Если во время выдачи управляющий последовательности API КТМ. устройство зафиксировало прием из КПИ (встречную инициативу), то оно приступает к разрешению конфликтной ситуации, для чего включает таймер приоритетного интервала Таря и устанавливает режим ожидания.
Таймеры устройств настроены на разные длительности, причем устройство, имеющее более высокий приоритет, имеет меньшую длительность временного интервала Т. В режиме ожидания устройство постоянно контролирует прием информации из КПИ.
При фиксации приема из КПИ до окончания собственного интервала Т устройство отключает свой таймер и переходит к анализу принятой управляющей последовательности.
Если в течение собственного временного интервала Т API КТМ не получена, т. е. данное устройство имеет меньший интервал времени, то оно повторно выдает АР! КТМ и повторяет процедуру установления связи.
Блок-схема алгоритма ФП главного (передающего) устройства приведена на черт. 6.
В фазе ФП главное устройство выдает в КПИ управляющую последовательность АР! НТ, означающую, что следующий за ней байт является первым информационным байтом текста — массива данных.
Количество передаваемых информационных байтов подсчитывается передающим устройством и сравнивается с заданной длиной массива.
Устройство обеспечивает прозрачность передаваемой информации посредством байтстаффинга. Для этого оно анализирует код каждого передаваемого байта информации на совпадение его с кодом API. В случае совпадения кода информационного байта с API устройство выдает дополнительный байт с кодом АР!, а затем приступает к передаче следующего байта массива данных. Дополнительный байт с кодом API не учитывается при подсчете длины массива и подсчете контрольной суммы.
После завершения передачи л-байтов, составляющих массив данных, устройство выдает управляющую последовательность API КТ и затем ПП, представляющую собой подсчитанную контрольную сумму.
Выдав ПП, передающее устройство включает контрольный временной интервал ожидания ответа т ож от принимающего устройства и устанавливается в режим приема из КПИ («Вкл. тОж ответа»).
Если устройство фиксирует прием до окончания временного интервала тож , то оно прекращает отсчет времени и анализирует принятую управляющую последовательность.
Если принятая управляющая последовательность опознана передающим устройством как API ДА (переданная информация воспринята принимающим устройством без ошибок), то передающее устройство устанавливает флаг «Массив передан», передает в КПИ управляющую последовательность API КП и переходит в исходное состояние.
В случае получения управляющей последовательности API НЕТ НЕТ, которая передается принимающим устройством при несовпадении принятой ПП с результатом собственного вычисления контрольной суммы, передающее уст
-
Блок-схема алгоритма обмена данными в фазе передачи (ФП) главного устройства
Черт. 6
ройство устанавливает флаг «Ошибка передачи» и повторяет передачу массива. Максимальное количество повторений передачи — не более трех.
Если в результате трехкратной передачи ответная управляющая последовательность API ДА не принята, то передающее устройство устанавливает флаг «Массив не передан», выдает в КПИ API КП и переходит в исходное состояние.
Если принятая управляющая последовательность не опознана, передающее устройство устанавливает признак «Искажение ответа» и выполняет повторную передачу. Количество повторов — не более трех.
После третьей попытки устройство устанавливает признак «Массив не передан», выдает API КП и переходит в исходное состояние.
При отсутствии приема до конца временного интервала тож передающее устройство устанавливает признак «Нет ответа» и выполняет повторную передачу. Повторы выполняются аналогично выше приведенному описанию.
Блок-схема алгоритма ФП подчиненного (принимающего) устройства приведена на черт. 7.
При переходе в фазу ФП принимающее устройство включает интервал Тож (ожидание приема) из КПП. Если в течение Тож прием из КПП не зафиксирован, то принимающее устройство возвращается в исходное состояние (ФУ).
Если до окончания тож прием из КПИ был зафиксирован, то устройство ДОЛЖНО ВЫКЛЮЧИТЬ контрольный интервал Топ и сравнить принятую управляющую последовательность с API КП. В случае их соответствия принимающее устройство безусловно переходит в исходное состояние (ФУ). Если принятая управляющая последовательность не совпадает с АРГ КП, она сравнивается с кодом АРІ НТ. Если фиксируется несовпадение, то выполняется сравнение с API КТМ.
Если принятая управляющая последовательность является API КТМ, что возможно при неопознании передающим устройством ответа от принимающего, то устройство возвращается в точку А фазы запроса (см. черт. 5) и выполняет предписанные алгоритмом действия.
Несовпадение принттой управляющей последовательности с API КП, API НТ или API КТМ означает искажение в КПИ и устройство возвращается в начало алгоритма (ом. черт. 7).
Если принятая управляющая последовательность является API НТ, то устройство, начиная со следующего байта, начинает выполнять подпрограмму приема байтов текста. При этом каждый принимаемый байт анализируется на соответствие с символом API. Соответствие с символом API фиксируется признаком символа ПС. Если код очередного байта не совпадает с символом API и ПС имеет значение НЕТ, то принимающее устройство записывает принятый бант в массив данных, подсчитывает контрольную сумму и устанавливается на прием следующего байта.
При обнаружении в принимаемом тексте байта с кодом, совпадающим с API, принимающее устройство присваивает признаку символа значение «Да» и переходит к приему следующего байта. За символом API может следовать также символ API, применяемый для обеспечения прозрачности информации (см. п. 4.3.1), либо символ КТ, означающий конец текста, т. е. передается управляющая последовательность.
Если последующий символ является АР1 и признак символа имеет значение «Да», принимающее устройство устанавливает признак символа в состояние «Нет» и заносит код API в массив информации как очередной байт текста.
Если следующий за API байт не API, то принимающее устройство анализирует его на соответствие с КТ (при этом признаку символа также присваивается значение «Нет»). Несоответствие принятого кода символу КТ означает ошибку приема и принимающее устройство возвращается в начало алгоритма
Блок-схема алгоритма обмена данными в фазе передачи (ФП) подчиненного устройства
Черт. 7
(см. черт. 7). Соответствие символу КТ означает, что передача текста завершена и последующие два байта представляют собой ПП.
При равенстве вычисленной принимающим устройством контрольной суммы S к и величины ПП устройство формирует ответную управляющую последовательность API ДА и устанавливается в режим ожидания завершения цикла связи.Если величины контрольной суммы Е к и ПП не совпали, принимающее' устройство формирует ответную управляющую последовательность API НЕТ и возвращается в начало алгоритма ФП.
Признаком завершения цикла связи является получение принимающим устройством управляющей последовательности API КП. При получении API КП принимающее устройство устанавливает признак «Массив принят» и переходит в начало ФУ.ИНФОРМАЦИОННЫЕ ДАННЫЕ
РАЗРАБОТАН И ВНЕСЕН Министерством электротехнической промышленности и приборостроения СССР
РАЗРАБОТЧИКИ:
К. И. Диденко, доктор техн, наук; Ю. В. Розен, А. И. Литкевич, Л. С. Ланина
УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по управлению качеством продукции и стандартам от 29.12.90 № 3641
Срок проверки 1996 г., периодичность проверки — 5 лет