ГОСТ Р МЭК 61142-2001
Группа П32
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
ОБМЕН ДАННЫМИ ПРИ СЧИТЫВАНИИ ПОКАЗАНИЙ СЧЕТЧИКОВ, ТАРИФИКАЦИИ И УПРАВЛЕНИИ НАГРУЗКОЙ
Обмен данными по локальной шине
Data exchange for meter reading, tariff and load control. Local bus data exchange
ОКС 17.220.20
ОКП 42 2800
Дата введения 2003-01-01
Предисловие
1 РАЗРАБОТАН И ВНЕСЕН Техническим комитетом по стандартизации ТК 232 "Аппаратура для измерения электрической энергии и контроля нагрузки"
2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта Российской Федерации от 24 декабря 2001 г. N 557-ст
3 Настоящий стандарт содержит полный аутентичный текст международного стандарта МЭК 61142-93 "Обмен данными при считывании показаний счетчиков, тарификации и управлении нагрузкой. Обмен данными по локальной шине"
4 ВВЕДЕН ВПЕРВЫЕ
5 ПЕРЕИЗДАНИЕ. Февраль 2007 г.
1 Общие положения
1 Общие положения
1.1 Область применения
Настоящий стандарт описывает процедуру обмена данными по локальной шине в случае, когда несколько тарифных устройств, распределенных в пространстве, соединено специальной шиной. Считывание данных этих тарифных устройств может осуществляться посредством подключения программирующе-считывающего устройства к центральному магнитному разъему.
Стандарт устанавливает требования, предъявляемые к аппаратным средствам и протоколам для локальных систем. Требования для дистанционных систем рассматриваются в другом стандарте.
Настоящий стандарт распространяется на системы с локальной шиной. В этих системах портативное программирующе-считывающее устройство (далее - первичная или управляющая станция/контроллер) соединяется с несколькими тарифными устройствами, так называемыми вторичными или рабочими станциями, через шину, имеющую гибкую структуру.
Контроллер соединяется с шиной с помощью магнитного (индуктивного) разъема. Сама по себе шина пассивна, а все тарифные устройства, количество которых ограничено, электрически изолированы от нее.
В качестве основы протокола принята модель взаимосвязи открытых систем (ВОС) в соответствии с ГОСТ 28906, содержащая четыре уровня: физический, канальный, сеансовый и прикладной.
Протокол обеспечивает считывание и программирование тарифных устройств, позволяет обнаруживать и идентифицировать так называемые "забытые" станции, которые не зарегистрированы в базе данных портативного контроллера.
Протокол разработан специально для средств, определяющих качество и количество потребляемой электроэнергии, а также для средств измерения прочности электрической изоляции. Хотя протокол имеет определенную направленность, его применение остается за потребителем. Использование локальной шины данных для систем связи типа "точка - точка" также прерогатива потребителя.
1.2 Нормативные ссылки
В настоящем стандарте использована ссылка на ГОСТ 28906-91 (ИСО 7498-84, Доп.1-84, ИСО 7498-84) Системы обработки информации. Взаимосвязь открытых систем. Базовая эталонная модель
1.3 Определения
В настоящем стандарте используют следующие определения:
адрес: Последовательность двоичных сигналов, определяющая место расположения объекта связи или числовой номер.
двунаправленная передача: Передача данных по цепи в любом (полудуплексном) направлении.
тарифное устройство: Фиксированное устройство сбора данных, как правило, соединенное или совмещенное с электрическим счетчиком.
запрос: Процесс посылки сигналов для установления связи между станциями.
прямая передача: Передача сигнала определенной частоты без модуляции.
Бод*: Единица скорости передачи информации (модуляции).
____________________
* В системе СИ в с.
ДДК (двоично-десятичное кодирование): Кодирование десятичной цифры между 0 и 9 с использованием четырех битов.
бит: Название для двоичной цифры.
буфер: Буферная память.
шина: Проводная система связи, соединяющая станции и позволяющая осуществлять их связь в данный момент времени.
флаг: Символ, используемый для указания специфического статуса устройства или набора данных.
обмен: Последовательность передач между устройствами нескольких структур, составляющих в целом процедуры считывания данных или программирования, например
дистанционный обмен данными: Обмен данными между одним или группой тарифных устройств и концентратором данных через коммутационную сеть.
локальный обмен данными: Обмен данными между одним или группой тарифных устройств или их группой и программирующе-считывающим устройством.
опрос: Процесс, состоящий в последовательном запросе станций на передачу данных.
выборочный запрос: Процесс, состоящий в запросе одной станции или нескольких станций на прием данных.
опросный список: Список станций, подлежащих опросу в порядке, в котором они должны быть опрошены.
байт: Набор из восьми значащих битов.
перезапуск: Процедура, с помощью которой станция пытается разрешить конфликтную или ошибочную ситуацию, возникшую в процессе обмена, посредством повторения невыполненной последовательности посылок и передач.
протокол: Набор условных процедур, требуемых для обеспечения взаимодействия удаленных устройств с целью инициализации и поддержания обмена данными.
приемник (данных): Часть терминала, принимающая данные из канала связи.
последовательность: Часть процедуры обмена, включающая структуры запроса и ответа.
различающиеся последовательности: Последовательности, отличные от процедур перезапуска. Структуры, переданные первичной станцией, различаются своими управляющими (как в случае дистанционного программирования) или информационными полями (как в случае многоканального дистанционного считывания).
идентификационные последовательности: Последовательности, соответствующие процедурам перезапуска. В случае ошибки при первом запросе структура, передаваемая первичной станцией для этих последовательностей, является абсолютно идентичной.
источник (данных): Часть терминала, передающая данные в канал связи.
станция: Совокупность функциональных устройств, включая терминал, оборудование для передачи данных и устройства их связи.
первичная станция: Станция, осуществляющая полное управление каналом связи.
вторичная станция: Станция, подчиняющаяся командам в соответствии с процедурой связи.
синхронизация: Процедура, осуществляющая взаимодействие процессов в данный момент времени.
программирующе-считывающее устройство (ПСУ): Портативное оборудование для передачи данных к тарифным устройствам или электрическим счетчикам или от них.
время ожидания: Задержка, после которой принимается решение, что ожидаемое событие не произошло.
структура: Передача набора последовательных блоков, составляющих полное сообщение для принимающей станции.
поле (блок): Функциональное подмножество из байтов в структуре.
1.4 Сокращения
В настоящем стандарте используют следующие сокращения.
AADP | - адрес первичной станции (таблица А); | |||
AADS | - адрес вторичной станции (таблица А); | |||
ACLE | - ключ (таблица А); | |||
ADG | - общий (главный) адрес; | |||
ADON | - данные (таблица А); | |||
ADP | - адрес первичной станции; | |||
ADS | - адрес вторичной станции; | |||
ADTP | - данные дистанционного программирования (таблица А); | |||
AG | - инициирующий запрос; | |||
ALEA | - случайная переменная; | |||
ANA | - число байтов в поле ADON (таблица А); | |||
ANAP | - предшествующее случайное число (таблица А); | |||
ANECHAU | - число байтов в таблице А при единичном обмене; | |||
APREC | - предыдущий запрос; | |||
APSES | - флаг синхронизации между ПРИКЛАДНЫМ и СЕАНСОВЫМ уровнями; | |||
AR | - выход и возврат, характеризующие различающиеся последовательности; | |||
ARJ | - отклонение идентификации (удостоверения подлинности); | |||
ASO | - кодирование случаев ответа за запрос "забытой" станции; | |||
ATAB | - тип данных (таблица А); | |||
ATYPE | - тип операции; | |||
AUT | - команда идентификации (удостоверения подлинности); | |||
BDON | - данные (таблица Б); | |||
BERREUR | - ошибка (таблица Б); | |||
BFEx | - окно ожидания N (таблица Б); | |||
BNA | - случайное число (таблица Б); | |||
BNDEROW | - число байтов в диагностическом поле в процессе обмена (таблица Б); | |||
BNECHAU | - число байтов в таблице Б при единичном обмене; | |||
BNR | - число байтов в поле BDON (таблица Б); | |||
BNSEQI | - число идентичных последовательностей (таблица Б); | |||
BTIMOUT | - ошибка по времени задержки (таблица Б); | |||
BTOB | - флаг ошибки при задержке последовательного опроса станции (таблица Б); | |||
BTOCO | - флаг ошибки при временной задержке связи (таблица Б); | |||
BTOE | - флаг ошибки при задержке передачи (таблица Б); | |||
BTOL | - флаг ошибки при задержке КАНАЛЬНОГО уровня (таблица Б); | |||
CASO | - кодирование случаев ответа на запрос "забытой" станции; | |||
CCITT | - Международный консультативный комитет по телеграфной и телефонной связи; | |||
COM | - команда; | |||
CRC | - циклический избыточный код; | |||
DASO | - флаг запроса "забытой" станции; | |||
DAT | - данные команд; | |||
DES | - стандарт кодирования данных; | |||
DIB | - флаг команды инициализации шины; | |||
DNA | - флаг отрицательного подтверждения; | |||
DON | - данные; | |||
DRJ | - данные не приняты; | |||
DSO | - флаг "забытой" станции; | |||
DTP | - флаг дистанционного программирования; | |||
DTR | - флаг дистанционного считывания; | |||
ECH | - ответ-команда; | |||
EMP | - местоположение; | |||
ENQ | - запрос; | |||
EOS | - последняя команда программной структуры; | |||
E/R | - передача/прием; | |||
ER | - комбинации ERLI, ERSES; | |||
ERAP | - ошибка в ПРИКЛАДНОМ уровне; | |||
ERLI | - ошибка в КАНАЛЬНОМ уровне; | |||
ERREUR | - ошибка в протоколе; | |||
ERSES | - ошибка в СЕАНСОВОМ уровне; | |||
ETCD | - оборудование терминала передачи данных; | |||
ETTD | - оборудование терминала обработки данных; | |||
FE | - окно передачи; | |||
FINEMI | - конец передачи; | |||
FINPHI | - конец ФИЗИЧЕСКОГО уровня; | |||
FR | - окно приема; | |||
FROMEXT | - флаг, выставляемый внешним процессом; | |||
HF | - высокая частота; | |||
HHU | - программирующе-считывающее устройство (портативное считывающее устройство ПСУ), также TSP; | |||
IASO | - индикатор окна ожидания для вызовов "забытых" станций; | |||
IB | - команда инициализации шины; | |||
ISO/OSI | - взаимосвязь открытых систем (ВОС); | |||
К | - ключ; | |||
LIPHI | - флаг синхронизации между КАНАЛЬНЫМ и ФИЗИЧЕСКИМ уровнями; | |||
LISES | - флаг синхронизации между КАНАЛЬНЫМ и СЕАНСОВЫМ уровнями; | |||
LON | - длина; | |||
LSB | - наименьший значимый бит; | |||
LSUP | - число байтов поля данных; | |||
MSB | - наибольший значимый бит; | |||
N | - число; | |||
NAO | - случайное число для ответа "забытой" станции; | |||
NAx | - случайное число N ; | |||
NAxK | - закодированное случайное число; | |||
NSEQD | - число различных последовательностей; | |||
NTR | - число дистанционных считываний; | |||
PAG | - порт инициирующего запроса; | |||
PAREP | - флаг отсутствия ответа; | |||
PHILI | - флаг синхронизации между ФИЗИЧЕСКИМ и КАНАЛЬНЫМ уровнями; | |||
REC | - команда дистанционного программирования (записи); | |||
RECNU | - неполучение; | |||
RSO | - ответ от забытых станций; | |||
RxD | - прием данных; | |||
SESAP | - флаг синхронизации между СЕАНСОВЫМ и ПРИКЛАДНЫМ уровнями; | |||
SESLI | - флаг синхронизации между СЕАНСОВЫМ и КАНАЛЬНЫМ уровнями; | |||
TAB | - тип данных (таблица); | |||
TACEO | - совокупное время задержки между байтами; | |||
TACEOM | - максимальное совокупное время задержки между байтами; | |||
TAG | - время инициализирующего запроса; | |||
TAGM | - максимальное время запроса инициализации; | |||
TAO | - время отсутствия байта; | |||
TAOM | - максимальное время отсутствия байта; | |||
TAIO | - время ожидания первого байта; | |||
TAIOM | - время ожидания первого байта (максимальное время задержки первого байта); | |||
TDP | - таблица программирования данных; | |||
ТЕ | - время передачи; | |||
TEMPO | - ускорение; | |||
TFE | - время, связанное с окном передачи; | |||
TFR | - время, связанное с окном приема; | |||
TIMAX | - максимальное время; | |||
TOB | - время задержки последовательного опроса станции; | |||
TOBM | - максимальное время задержки последовательного опроса станции; | |||
TOCO | - время задержки связи; | |||
TOCOM | - максимальное время задержки связи; | |||
TOE | - время задержки передачи; | |||
TOEM | - максимальное время задержки передачи; | |||
TOL | - время задержки КАНАЛЬНОГО уровня; | |||
TOLM | - максимальное время задержки КАНАЛЬНОГО уровня; | |||
TP | - дистанционное программирование; | |||
TR | - дистанционное считывание; | |||
TRO | - время ответа "забытой" станции; | |||
TSP | - программирующе-считывающее устройство, также HHU; | |||
TxD | - передача данных; | |||
ZDT | - поле данных считывания и программирования. |
2 Обмен данными по локальной шине со стороны вторичной (рабочей) станции
2.1 Общие положения
Протокол считывания по локальной шине предназначен для пересылки данных по физической среде от одного устройства или большего числа устройств, называемых вторичными станциями, к устройству ввода данных, называемому первичной станцией или программирующе-считывающим терминалом, или программирующе-считывающим устройством (далее - ПСТ и ПСУ).
Среда передачи является проблемно ориентированной средой; другими словами, она используется только для передачи данных, определенных в настоящем стандарте. Ни при каких обстоятельствах она не может быть распространена на распределенные линии связи (DLC) или телефонные коммуникации без существенной переработки общих принципов, изложенных здесь. Однако все общие принципы (направление передачи, кодирование данных и т.д.) соответствуют действующим стандартам.
2.1.1 Функции считывания показаний по локальной шине
Считывание показаний по локальной шине обеспечивает связь между отдельными устройствами или устройствами, расположенными на общей шине.
Протокол должен поддерживать несколько типов обработок запросов:
- дистанционное считывание данных. ПСУ собирает данные, содержащиеся в устройствах;
- дистанционное программирование. ПСУ посылает данные к устройству, чтобы изменить все характеристики или их часть, или стереть данные. Для обеспечения защиты данных от несанкционированного доступа каждая акция дистанционного программирования должна сопровождаться двойным подтверждением с помощью кодирования типа DES (см. приложение Б);
- обнаружение забытых устройств для последующего считывания показаний. Независимо от типа обработки запросов, используемого для дистанционного считывания станций на шине, протокол должен обеспечивать условия обнаружения нескольких устройств, связанных с шиной, даже если они неизвестны ПСУ и устройствам более высоких уровней (содержащих каталоги файлов) так, чтобы данные считывались с этих устройств на более поздней стадии. Однако в общем случае считается, что устройства на шине известны ПСУ. Забытые устройства, таким образом, не являются характерными и не должны существенным образом усложнять простоту принципов, используемых при нормальных обстоятельствах.
Допускается, что максимум пять устройств могут быть неизвестны ПСУ.
2.2 Общие требования
2.2.1 Тип устройства и адресация
Устройства, связанные с шиной, могут иметь различные функции (например, измерение только электроэнергии, только газа или др.).
Обнаружение забытых устройств должно быть селективным, т.е. таким, чтобы адресовать только определенные типы устройств, связанных с шиной, а не все устройства, связанные с этой шиной.
Каждому устройству, связанному с шиной, дают определенный адрес. Каждому ПСУ также дают функциональный адрес, чтобы различать несколько возможных уровней доступа.
2.2.2 Готовность
Физическая связь ПСУ с шиной с целью выполнения любого из вышеуказанных типов обработки запросов является мгновенной; выбранный протокол должен поэтому обеспечивать немедленную готовность шины после начала связи и отсутствие запрета обработки запроса по отношению к каждому отдельному устройству и всем устройствам на шине.
2.2.3 Совместимость
Число устройств, связанных с шиной и независимо распределенных по физической среде передачи, может варьироваться от 1 до 100.
Могут иметься различные типы устройств дистанционного считывания или программирования; протокол должен быть понятен для устройства любого типа вплоть до уровня приложений. Некоторые устройства могут, среди других функций, понимать и принимать обработку запросов только одного типа (например, дистанционное считывание). Протокол для этих устройств должен во всех случаях быть совместим с протоколом, указанным ниже, и не должен допускать каких-либо сбоев.
Должно также быть принято во внимание, что устройства определенных типов, связанные с шиной, могут быть сложными, реализующими функцию дистанционного считывания среди других собственных функций; поэтому устройство не может постоянно "слушать" шину. Протокол должен поэтому включать функцию физического входа в устройства перед обработкой запросов.
Используемый протокол должен допускать простую установку его в устройства различных типов без существенного увеличения их цены. Размер памяти программы и данных, требуемых для установки протокола, должен поэтому быть как можно меньше.
2.2.4 Защита
Используемый уровень защиты и контроля тесно связан с физическими характеристиками среды передачи. Эти характеристики определены в разделе 4.
2.2.5 Для справок
Согласно современным требованиям в области передачи данных по локальной шине объем данных, которые нужно передавать, редко превышает несколько сот байтов, передаваемых в одном блоке, если это возможно, или в нескольких блоках, если этого требует протокол или длина данных превышает максимально разрешаемый размер для блока. Во всех случаях, однако, предусмотрены условия для типов обработки запросов, которые превышают эту установленную структуру.
2.3 Основные принципы
2.3.1 Режим передачи
Режим передачи - асинхронный. Передатчик выдает данные независимо от приемника. Начало и конец слова отмечают двумя сигналами, обычно называемыми "старт" и "стоп".
Слово состоит из восьмибитного байта, ограниченного "старт"-битом и "стоп"-битом:
Формат слова
Данные передаются последовательно, за "старт"-битом немедленно следует наименьший значимый бит (LSB), и слово заканчивается наибольшим значимым битом (MSB).
Такой режим передачи проще и выгоден с точки зрения создания экономных аппаратных средств.
Необходимо подчеркнуть, что этот режим передачи не исключает использования более сложных процедур (обнаружение ошибки, альтернативное управление и т.д.).
2.3.2 Скорость передачи
Скорость передачи - 1200 Бод, время передачи бита - 833 мкс и 8,33 мс для передачи байта, ограниченного "старт"-битом и "стоп"-битом.
В соответствии с рекомендациями CCITT по скорости передачи информации допуск должен составлять ±1%.
2.3.3 Организация сети
Сеть организована как многоточечная асимметричная шина: какая-либо из станций (первичная станция - ПСУ) может брать инициативу связи и "говорить" с любой из станций, подключенных к шине (вторичные станции).
Первичная станция может получать или передавать данные (т.е. быть источником или приемником).
Вторичные станции могут также получать или передавать данные (т.е. быть источником или приемником), но только по инициативе управляющей станции.
Одна и та же физическая линия связи используется для того, чтобы передавать и получать данные, но не одновременно: связь по данным - полудуплексная (чередующаяся), как показано ниже.
Организация связи
Физическая организация связи
Приведенные выше рисунки показывают только двухточечную связь; многоточечная конфигурация может быть получена подсоединением вторичных станций к первичной станции.
2.3.4 Доступ к сети
На физическом уровне система состоит из многоточечной шины, которая в большинстве случаев становится двухточечной на более высоком уровне.
Дистанционное программирование
При дистанционном программировании командные функции принадлежат ПСУ, которое в этом случае становится источником данных; первичная станция (ПСУ) инициирует вторичную станцию получить сообщения, которые первичная должна послать.
Связь в этом случае управляется "селективным" запросом (запросом по вызову).
Дистанционное считывание
При дистанционном считывании командные функции принадлежат ПСУ, которое является приемником данных; первичная станция (ПСУ) инициирует вторичную станцию послать сообщение.
Связь в этом случае управляется "голосованием".
Функция "голосования/селекции" объединена с системой адресации, которая позволяет выбрать одну вторичную станцию из станций, подключенных к шине.
В этом режиме функционирования система не должна иметь спорных ситуаций, так как запросы и ответы совершенно детерминированы.
Особый случай
Особый случай представляет собой обнаружение забытых станций после дистанционного считывания всей шины. Это довольно необычно, поскольку максимальное число забытых устройств на шине не может превысить пять. Сбой может произойти, только если имеется ошибка в инициализации адресного списка для шины, содержащегося в ПСУ, или если возникла ошибка после изменения адресного списка (списка голосования/селекции).
Используемый метод доступа заключается в передаче ответов от забытых станций в случайные моменты времени, что подразумевает обработку ошибок.
Сосуществование этой опции передачи с методом голосования/селекции подразумевает одинаковую обработку подтверждений для совместимости этих двух принципов.
Необходимо отметить, что метод передачи (со случайным доступом) не может быть применен к шине в целом без значительного увеличения сложности протокола или без существенного увеличения времени дистанционного считывания или программирования до такой степени, чтобы это стало ненужным и бесполезным.
2.4 Общая организация структур и обменов
2.4.1 Формат структуры
Структура состоит из шести полей, которые могут быть функционально сгруппированы.
2.4.1.1 Контрольное поле
N - число, использующее 1 байт (двоичный), устанавливаемое передатчиком, чтобы показать число байтов в посылаемой структуре.
CRC - циклический избыточный код, использующий 2 байта (двоичных), устанавливаемый передатчиком и вычисляемый для всех (N-2) предшествующих байтов (см. характеристики CRC, используемого в приложении А).
Эти контрольные элементы позволяют приемнику проверить, что структура была передана без ошибок.
2.4.1.2 Поле адреса
ADS - адрес вторичной станции, использующий 6 байтов (закодированный в двоично-десятичном коде (BCD)) - две цифры на байт (см. приложение Д).
Значение этого адреса в десятичном представлении находится между
0ADS999999999999 (12 цифр).
В ПСУ при обращении к вторичной станции это поле заполняется ПСУ в зависимости от станции(й), с которой(ыми) оно хочет связаться.
Во вторичной станции при обращении к ПСУ это поле заполняется аппаратными средствами вторичной станции своим собственным внутренним адресом (помещенным в энергонезависимую память при инициализации каждого устройства).
Примечание - Нулевое значение ADS зарезервировано как общий адрес и далее называется ADG.
ADP - адрес первичной станции, использующий первый байт (закодированный в двоично-десятичном коде (BCD) - две цифры на байт).
Значение, принимаемое этой переменной, находится (в десятичном представлении) между 0 ADP 99.
При обращении ПСУ к вторичной станции это поле заполняется ПСУ, которое вставляет свой специфический или общий адрес (ADP = 0). В противоположном направлении, если вторичная станция отвечает, она функционирует с адресом ADP, который был в ней запрограммирован.
Примечание - Адрес ADP = 0 может использоваться для определения, в соответствии с каким ADP вторичная станция была запрограммирована.
2.4.1.3 Поле команды
СОМ - команда (закодированная первым байтом), сообщающая приемнику тип действия, которое должно быть предпринято.
Команды, которые могут быть переданы ПСУ:
ENQ - запрос - дистанционное считывание;
REC - принять - дистанционное программирование;
AUT - структура идентификации - дистанционное программирование;
IB - инициализация шины - переустановить флаги забытых станций (DSO) устройств, подключенных к шине с целью запроса забытых станций;
ASO - запрос забытой станции.
Команды, которые могут быть переданы вторичной станцией:
DAT - положительный ответ на голосование - дистанционное считывание (ENQ);
DRJ - отрицательный ответ на голосование:
- дистанционное считывание (ENQ), если TAB(i) неизвестно,
- дистанционное программирование (AUT), если программные данные не приняты;
ЕСН - ответ на выбор - дистанционное программирование (REC);
EOS - последний положительный ответ после команды AUT - дистанционное программирование;
ARJ - последний отрицательный ответ после команды AUT - дистанционное программирование;
RSO - ответ от забытой станции.
2.4.1.4 Поле данных
Поле переменной длины в зависимости от используемой структуры и типа запрашиваемых данных.
Данные частично зависят от конкретного применения и поэтому не охватываются настоящим стандартом. Однако при дистанционном считывании, дистанционном программировании и вызове забытых станций используются фиксированные поля (длина и положение в структуре), и при конкретном применении необходимо учитывать это, чтобы обеспечить системную совместимость. Рассматриваемые поля включают: поле идентификации (ZA1, ZA2) - для дистанционного программирования, поле для определения типа запрашиваемых или передаваемых данных (TAB) - для дистанционного считывания и поле для представления списка TAB(i) с целью ускорения розыска устройств при запросах забытых станций.
2.4.1.5 Длина структуры
С учетом известных в настоящее время и предполагаемых в будущем применений, имея в виду желательную эффективность передачи в целом, максимальная длина структуры составляет 128 байт. Структуры имеют переменную длину. Только поле данных может изменяться от 0 до 117 байтов (128-11).
Тем не менее протокол предусматривает последовательную передачу нескольких структур данных, если максимальная длина не может быть твердо выдержана.
2.4.2 Принцип инициирующего запроса - физическое открытие связи
Перед любым обменом по шине ПСУ по своей собственной инициативе посылает инициирующий запрос, предназначенный для приведения в готовность системы связи каждого устройства, подключенного к шине. Необходимо отметить, что некоторые из этих многофункциональных устройств могут использовать всю свою коммуникационную систему или ее часть для других применений и связей, которые не имеют абсолютно ничего общего со считыванием данных по локальной шине.
Инициирующий запрос состоит из определенной последовательности, которая детализирована в 2.6.2.
2.4.3 Принцип обнаружения конца структуры
Приемник обнаруживает конец структуры, когда никакие байты не обнаруживаются на ФИЗИЧЕСКОМ уровне в течение заданного промежутка времени (ТАОМ). Тогда приемник переключается из режима приема в режим ожидания, в котором он анализирует полученную структуру и готовит структуру ответа. Когда структура ответа готова, станция переключается в режим передачи.
2.4.4 Формат обмена при дистанционном считывании
2.4.4.1 Типовой пример передачи, свободной от ошибок
2.4.4.2 Пример передачи данных несколькими структурами
ПСУ способно считывать данные последовательно согласно формату обмена, определенному выше. Единственный инициирующий запрос необходим в начале обмена.
Обмены должны быть согласованы с полным временем связи и временем передачи структуры и ответа (подробно см. в 2.6).
Максимальное число идентификаторов TAB(i), генерируемых в течение обмена, - пять.
2.4.4.3 Пример идентификации TAB(i) неизвестной вторичной станции
2.4.5 Формат обмена при дистанционном программировании
Пример передачи без ошибок
Этот обмен состоит из четырех структур, передаваемых последовательно за время передачи. В поле данных первые 16 байтов сохранены для целей идентификации. Детали идентификации описываются в 2.9.3.1. Далее, если спецификация предполагает двунаправленную идентификацию и используется DES-система кодирования, необходимо не менее трех структур, чтобы выполнить эту функцию.
Первая структура содержит данные дистанционного программирования, которые записываются во вторичной станции без проверки правильности и посылаются обратно в следующей структуре Р2. Затем структура Р3 передается для завершения двунаправленной идентификации.
Когда вторичная станция получает Р3:
- если идентификация правильна и данные дистанционного программирования, записанные при посылке Р1, подтверждаются, положительное подтверждение (СОМ = EOS) - структура Р4, завершающая обмен, посылается в ПСУ;
- если идентификация неправильна или данные дистанционного программирования не подтверждаются, возвращается отрицательное подтверждение - структура Р4 (СОМ = ARJ или СОМ = DRJ).
Двусмысленность, однако, сохраняется, если Р3, полученная вторичной станцией, подтверждает данные. Если при этом структура Р4, переданная этой станцией, получена с ошибкой, ПСУ воспринимает это, как если бы данные не были приняты (даже после нескольких попыток повторить Р3 без правильного ответа). В этом случае за обменом в режиме дистанционного программирования будет следовать обмен в режиме дистанционного считывания для исключения двусмысленности.
2.4.6 Идентичность обмена при дистанционном считывании/ программировании
Пример перезапуска после ошибки
Проводимый обмен должен состоять из одного или большего числа последовательностей запрос-ответ со структурами идентичного формата:
Для первичной станции (ПСУ) за запросом типа дистанционного считывания или дистанционного программирования должен следовать ответ, рассматриваемый как положительное подтверждение или как уведомление об ошибке в типе переданных данных (никакой перезапуск не предусмотрен в этом случае).
Обнаружение ошибки от вторичной станции, связанной с неполной передачей данных, интерпретируется как отсутствие ответа, что составляет отрицательное подтверждение для ПСУ. Тогда по инициативе ПСУ предпринимается перезапуск путем повторения запроса невыполненной последовательности.
Ошибка, обнаруженная в структуре ответа, полученного ПСУ, инициирует ту же самую процедуру перезапуска для неправильно обработанной последовательности.
Перезапуски производятся ПСУ. Максимальное число перезапусков - два. Если обмен неудачен, несмотря на эти попытки, ПСУ останавливает обмен со станцией и выдает сигнал ошибки.
2.4.7 Конец обмена - физическое отключение
Конец обмена обнаруживается вторичной станцией, если не принята никакая другая структура после структуры ответа (типа R2 или Р4) в течение времени, определенного для ФИЗИЧЕСКОГО уровня временем ТА1ОМ (см. 2.6.2.2). Если не принята никакая другая структура, обнаружение конца обмена переключает систему связи в режим ожидания, и она может использоваться для других применений. Никакой дальнейший обмен не может в этом случае быть выполнен, если ему не предшествует последовательность инициирующего запроса.
2.4.8 Инициализация шины и запросы к забытым станциям
Эти два режима не используют селективную адресацию по принципу запрос-ответ, а основаны на принципе передачи без ответа в случае инициализации шины и возможных ответов в случайные моменты времени в случае опроса забытых станций.
2.4.8.1 Принцип считывания всей шины
Посредством последовательного считывания всей шины ПСУ после считывания всех известных устройств может установить, что не имеется более забытых или не содержащихся в каталогах ПСУ устройств.
Схематическая диаграмма используемой последовательности
| Инициализация шины |
| Последовательное считывание известных устройств на рассматриваемой шине |
Ответ от забытых устройств |
2.4.8.2 Формат структуры инициализации шины
Эта структура имеет тот же самый базовый формат, как и другие. Поле адреса вторичной станции теперь служит, чтобы адресовать все устройства на шине без исключения, и называется общим адресом (значение от 0 до 12 цифр). Все устройства, связанные с шиной и подтверждающие первичный адрес ADP, являются, таким образом, устройствами, способными воспринимать адресацию.
Действие команды инициализации шины заключается в переустановке флага в этих устройствах в ноль (DSO - флаг забытой станции).
После структуры инициализации каждое опрашиваемое устройство, получая структуру R1, относящуюся к ней (что определяется присутствием ее адреса в поле ADS), показывает свой DSO (DSO = 1), если TAB известен, и тогда более не рассматривается как забытая станция.
За командой инициализации шины никогда не следует ответ.
2.4.8.3 Формат запроса к забытой станции и соответствующий ответ
В конце последовательности дистанционного считывания ПСУ может искать забытые устройства (максимум 5 из 100). Это может быть возможным, только если принята предшествующая последовательность "Инициализации и последовательных чтений".
Вызов забытой станции, которому предшествует инициализирующий запрос, включает общий адрес ADG в поле адреса вторичной станции. Все станции на шине, воспринимающие ADP полученной структуры, интерпретируют команду ASO.
Если флаг DSO станции установлен в ноль и адрес ADP подтвержден, чтобы разрешить ответ вторичной станции, станция считается забытой и отвечает на этот запрос, если она распознает по крайней мере один из параметров TAB(i) в списке своих возможных TAB(i).
Если флаг DSO станции выставлен (DSO = 1), станция не отвечает и остается в состоянии ожидания на шине.
Такая передача запроса подразумевает, что несколько ответов может быть послано в ПСУ. Чтобы минимизировать спорные ситуации между структурами ответов, каждая забытая станция имеет три момента времени для ответа. Каждая станция выбирает момент времени случайным образом; случайный выбор изменяется от одного запроса к другому, длина промежутка времени определена в соответствии со временем передачи ответа.
Структура ответа подчиняется общему формату структуры, приведенному выше; 7-байтное поле данных содержит первый TAB(i), опознанный из списка, посланного в структуре ASO, и 6 байтов адреса забытого устройства, которое отвечает.
ПСУ открывает три контролирующих временных окна, которые могут быть сопоставлены с любой из следующих ситуаций:
- никакой ответ не поступил по трем контролирующим окнам, ПСУ знает, что никакое устройство не было забыто на этой шине;
- по крайней мере один ответ (без ошибки) поступил по одному из окон, ПСУ записывает адрес забытого устройства и продолжает читать его в процессе последовательного обмена, чтобы отличить его от группы забытых устройств;
- ответ с ошибкой по одному из окон, ПСУ не может действовать на ответ, но оно знает, что на шине имеются забытые устройства. Поэтому оно выполняет еще один вызов забытой станции в предположении, что изменение в процедуре случайного выбора позволит ответам быть переданными без ошибок.
Эта передача продолжается, пока все забытые устройства не будут считаны.
2.4.9 Адресация. Начало и окончание связи
При получении структуры инициализации обмена все устройства на шине находятся в режиме ожидания для записи и интерпретации полученной структуры. После идентификации, которая, как мы предполагаем, свободна от ошибок, анализируется адрес, чтобы переключить связь в следующие режимы.
Номинальный режим - двухточечная связь посредством подтверждения определенного адреса (селективная адресация) в случае дистанционного считывания или программирования.
Все устройства, не опознающие свой специфический адрес, "отключаются" немедленно после этой структуры (отмена протокола).
Другие режимы:
- многоточечная связь со случайным доступом посредством подтверждения общего адреса в случае вызова забытых станций (многоточечная связь, ограниченная максимум пятью устройствами);
- многоточечная связь без ответов в случае инициализации шины.
2.5 Общая организация протокола
2.5.1 Краткий обзор
Протоколы обычно следуют правилам построения, которые дают им определенную универсальность и позволяют использоваться в других системах. Была подготовлена эталонная модель взаимосвязи открытых систем (ВОС); эта архитектурная модель открывает фактически неограниченные возможности и, в частности, допускает произвольное число уровней информационного обмена.
Считывание по локальной шине не требует всех уровней, специфицированных в этой эталонной модели, но сущность четырех из них использована для определения архитектур в рассматриваемом приложении - это ФИЗИЧЕСКИЙ, КАНАЛЬНЫЙ, СЕАНСОВЫЙ и ПРИКЛАДНОЙ уровни.
Возможности этого иерархического децентрализованного формата должны:
- облегчить проектирование и построение протокола из существующих базовых элементов при уменьшении затрат на его установку;
- упростить его действие, предлагая формальные правила;
- гарантировать приемлемую надежность системы, в частности, посредством строгого разделения функций, и, таким образом, избежать распространения ошибок;
- обеспечить возможность модернизации, расширения и обслуживания, благодаря модульному принципу;
- оптимизировать производительность.
Таким образом, представленная архитектура не определяет ни аппаратных средств, ни программного обеспечения, но представляет концепцию организации аппаратного и программного обеспечения, используя преимущества иерархического и структурного подхода.
2.5.2 ФИЗИЧЕСКИЙ уровень
Уровень тесно связан с используемыми аппаратными средствами и определяет:
- физические характеристики среды передачи;
- характеристики соединений между устройствами обработки информации (DPTE) и модемами (ETCD), а также характеристики интерфейса, связанного с шиной;
- способ выполнения физического установления и прерывания связи;
- полудуплексную обработку;
- способ представления двоичных разрядов (0, 1): уровни сигналов на линии, продолжительность, интерпретация кода и т.д.
2.5.3 КАНАЛЬНЫЙ уровень
Назначение уровня состоит в том, чтобы двоичные разряды (сгруппированные в байты), представленные ФИЗИЧЕСКИМ уровнем, преобразовывать в свободные от ошибок структуры для связи со следующим уровнем.
Это включает в себя:
- проверку структуры циклическим избыточным кодом (CRC), проверку правильности длины структуры и содержимого определенных полей;
- преобразование многоточечной физической связи в двухточечное соединение посредством селективной адресации.
Ошибки связи возникают в случае отсутствия ответа после ожидания TOLM (времени задержки), что будет воспринято как отсутствие подтверждения и обработано ПСУ или вторичной станцией в зависимости от порядка следования исходных структур.
2.5.4 СЕАНСОВЫЙ уровень
Уровень обрабатывает команды в последовательных структурах и представляет данные ПРИКЛАДНОГО уровня.
На этом уровне принимается, что все проблемы обнаружения ошибок, связанных с КАНАЛЬНЫМ уровнем, были разрешены; СЕАНСОВЫЙ уровень должен интерпретировать действия, которые требуются от него (дистанционное считывание, дистанционное программирование счетчиков, вызов забытых станций, инициализация шины и т.д.), представлять любые данные, которые нужно передать ПРИКЛАДНОМУ уровню и инициировать процедуру ответа, направляя данные в соответствии с командой к нижним уровням.
2.5.5 ПРИКЛАДНОЙ уровень
Самый высокий уровень. Его задача - пересылать три типа данных:
- данные идентификации, чтобы в некоторых случаях удостовериться, что определенные обработки запросов безопасны и закрыты для доступа;
- данные, определяющие характер требуемой информации, или тип данных в следующих полях;
- чистые данные, относящиеся к дистанционному считыванию устройства, или данные для дистанционного программирования.
2.5.6 Межуровневое взаимодействие
Выполнение протокола производится на каждом уровне в соответствии с флагом синхронизации.
Стадии "приема-передачи" следуют друг за другом в зависимости от развивающегося обмена.
Уровень не передает флаг синхронизации к следующему, более высокому или более низкому уровню до тех пор, пока задача, возложенная на него, не будет выполнена.
Любая ошибка на стадии приема (на стороне вторичной станции) транслируется выставлением флага ошибки, принадлежащего уровню, на котором она произошла (флаги ERLI, ERSES), останавливая продвижение процесса по уровням и повторно передавая флаги синхронизации к более низким уровням для сигнализации об ошибке.
Синхронизацией управляет ФИЗИЧЕСКИЙ уровень так, чтобы запрещение одного уровня не привело к необратимым ситуациям.
Порядок следования и синхронизация номинальных уровней в последовательности "запрос-ответ"
Продвижение от одного уровня к другому может сопровождаться передачей параметров и "буферов данных", известных, например, по их местоположению в памяти (адресу) и длине (числу байтов); такая информация может быть явной или неявной.
Пример передачи структуры совместно с блоками данных
Таблицы параметров могут посылаться непосредственно от уровня к уровню или путем определения адресов и длин всех составляющих таблиц.
Поэтому параметры занимают определенную позицию и всегда состоят из одного и того же числа байтов при передаче от одного уровня к другому.
2.6 ФИЗИЧЕСКИЙ уровень
2.6.1 Краткий обзор аппаратных средств. Блок-схема приемопередатчиков
Несущая ВЧ, непрерывно генерируемая генератором, поступает на один из входов схемы совпадения, на другой вход которой поступает сигнал TxD, модулирующий несущую ВЧ. Выходной порт на микропроцессоре терминала ETTD позволяет модему ETCD переключаться на передачу или прием. В режиме ожидания модем переключен на прием (посредством E/R), вентиль закрыт; поэтому модулированный сигнал, передаваемый по шине, постоянно поступает на вход процессора RxD. Программное обеспечение блокирует последовательный порт ETTD и не дает подтверждения на прием (последовательный порт не работает в полном дуплексном режиме).
На стороне первичной станции система не должна обнаруживать общие запросы.
На стороне вторичной станции программный или аппаратный общий запрос должен обнаруживаться.
Детальное описание аппаратных компонентов, используемых в модемах, и характеристики среды связи определяются в разделе 4.
2.6.2 Характеристики инициирующего запроса
Инициирующий запрос - это определенная последовательность сигналов, задачей которой является установление функции последовательного приема информации микропроцессором в режиме ожидания.
Эта последовательность состоит из непрерывной несущей частоты, генерируемой в течение 100 мс (время инициирующего запроса - TAG).
2.6.2.1 Представление на шине
TAGm - минимальное время инициирующего запроса, равное 50 мс,
TAGM - максимальное время инициирующего запроса, равное 150 мс.
2.6.2.2 Принцип обнаружения. Устойчивость к помехам
За концом общего запроса должен следовать первый байт структуры после временной задержки ТА1О так, чтобы
ТА1OmТА1OТА1OМ,
где ТА1Om = 30 мс, ТА1OМ = 160 мс.
Примечание - После окончания инициирующего запроса вторичная станция имеет максимум времени ТА1Om для перехода в режим приема.
В течение общего запроса любая помеха, прерывающая несущую более чем на 100 мс, реинициализирует параметры обнаружения общего запроса.
Поэтому присутствие несущей в течение 50-150 мкс без помех, по длительности не превышающих 100 мкс, интерпретируется как инициирующий запрос и "приводит в готовность" вторичную станцию для приема байтов следующих структур.
2.6.3 Характеристики последовательностей передачи/приема
В соответствии со схемой, приведенной ниже, характеристики последовательности передачи/приема определены далее.
2.6.4 Временная диаграмма (номинальная)
2.6.4.1 Комментарии
Уровни передачи/приема на шине определяются в разделе 4.
Первой структуре, переданной первичной станцией, предшествует общий запрос номинальной длительности 100 мс; этот сигнал генерируется последовательным портом передачи, используемым (TxD), и затем модулируется несущей частотой.
Байты в каждой структуре, передаваемой первичной или вторичной станцией, передаются в обратной логике:
- логический уровень 1 от TхD или RxD (отсутствие несущей на шине);
- логический уровень 0 от TxD или RxD (присутствие несущей на шине), что переводится в следующие сигналы для передачи одного байта
После того как структура и стоп-бит последнего байта переданы, на шине более не будет несущей; аналогично задержки между байтами будут кодироваться отсутствием несущей на шине.
Стоп-сигналы принимаются каждый раз, когда обнаруживается конец структуры. Критерий обнаружения - это неполучение байтов в течение заданного времени ТАОМ=40 мс (максимальное время отсутствия байтов). Обнаружение конца структуры вызывает интерпретацию полученной структуры и связанные с этим действия, выполняемые на более высоких уровнях протокола. Логически это делает невозможным последовательный прием. Этот критерий обнаружения означает, что никакая подобная последовательность не должна вмешиваться в передачу структуры прежде ее окончания. Кроме того, анализ продолжительности обменов показывает, что максимальное время для суммы задержек между байтами в структуре должно быть: ТАСЕОМ=30 мс (максимальная совокупная задержка между байтами). Этот параметр будет обеспечиваться только передатчиком и не проверяется при получении.
Модем может быть переключен на передачу, как только обнаружен конец структуры (и прием закончен) или только когда структура начинает передаваться. Оба эти факта должны быть возможными и необходимыми, чтобы протокол в целом работал должным образом.
Когда конец структуры обнаружен в режиме приема, первый байт структуры должен быть передан в течение времени, требуемого для верхних уровней, чтобы обработать полученную информацию и подготовить структуру ответа. Это время названо "временной задержкой КАНАЛЬНОГО уровня" (TOL), максимальное значение которого TOLM=100 мс. Оно не включает время передачи первого байта, но дополняется временем до начала первого переданного байта.
Модем переключается с передачи на прием логически после передачи стоп-бита последнего байта в структуре. Эта длина фактически известна программному обеспечению передачи, которое и определяет момент переключения на прием.
2.6.5 Состояния на ФИЗИЧЕСКОМ уровне
2.6.5.1 Схема состояний на ФИЗИЧЕСКОМ уровне
2.6.5.2 Описание состояний на ФИЗИЧЕСКОМ уровне
Общие принципы
Всеми состояниями на уровне, связанном со временем выполнения, управляют "задержки", маркированные ТОХХХ. По определению "задержка" происходит параллельно с выполнением действий, соответствующих состоянию. Она переустанавливается всякий раз, когда рассматриваемое состояние достигнуто, кроме задержки связи ТОСО, которая управляет полной продолжительностью обмена и работает параллельно со всеми состояниями, начиная с состояния "Принять байты", достигаемого при событии "обнаружение общего запроса".
Задержки, маркированные ТАХХХ, исполняются последовательно с выполнением действий рассматриваемого состояния. Они переустанавливаются и подтверждаются в момент завершения действия.
Различные временные интервалы отсчитываются часами (таймерами), частота которых выбирается таким образом, чтобы быть согласованной с операциями синхронизации, определяемыми в приложении. Часы отсчитывают время параллельно с действиями ФИЗИЧЕСКОГО уровня.
ФИЗИЧЕСКИЙ уровень приводится в готовность и синхронизируется, если общий запрос обнаружен логически или физически, при условии, что критерии подтверждения общего запроса выполнены.
Однако в зависимости от типа разрабатываемого устройства возможно оставить ФИЗИЧЕСКИЙ уровень в постоянном ожидании; запуск будет активирован только при общем запросе; эта опция зависит от устройства, которым должны управлять вне протокола чтения по локальной шине.
Диаграмма и относящиеся к ней пояснения предполагают, что ФИЗИЧЕСКИЙ уровень полностью отключен от локальной шины для чтения по локальной шине.
Состояние 0
Общая инициализация протокола. Все переменные на всех уровнях, требуемые для выполнения обмена в целом, инициализируются в этом состоянии. Стартует таймер задержки связи ТОСО.
Состояние 1
Переинициализация PHILI.
Прием байтов. Каждый полученный байт сохраняется в буфере, который будет посылаться к верхним уровням для обработки.
Состояние 2
Флаг синхронизации LIPHI от КАНАЛЬНОГО уровня переводится в состояние ожидания.
Состояние 3
Передача байтов. Верхний уровень подготовит буфер или набор буферов, которые нужно передать. Их местоположение и длина переданы ФИЗИЧЕСКОМУ уровню для этого состояния передачи.
Состояние 4
По истечении времени TRO=NAOTE (NAO - случайное число от 0 до 2, поступающее от верхних уровней). Время TE фиксировано. В этом состоянии модем находится в режиме приема. ТЕ установлено равным 500 мс.
Состояние 5
Закрытие физической связи. ФИЗИЧЕСКИЙ уровень отключает все верхние уровни и отключается сам. Все уровни протокола, таким образом, дезактивируются.
2.6.5.3 Описание событий на ФИЗИЧЕСКОМ уровне
А - сигнал несущей был обнаружен в течение времени TAG в диапазоне TAGm-TAGM, что позволяет всем уровням протокола перейти в состояние ожидания, а ФИЗИЧЕСКОМУ уровню активироваться посредством перехода в состояние 1 "прием байтов". Это событие также связано с полной инициализацией протокола и инициализацией временной задержки ТОСО.
а1 - превышение времени отсутствия байтов ТАО означает, что это может быть идентифицировано как конец приема структуры. Событие тогда обуславливает выполнение КАНАЛЬНОГО уровня посредством замены флага синхронизации PHILI = 1.
Это событие является стандартным выходом из состояния 1, когда не было обнаружено превышения никакой временной задержки, и обмен при этом не закончен.
b1 - превышение времени задержки для первого байта ТА1О останавливает протокол посредством перехода в состояние 5. Это событие означает, что за переключением модема на прием не последовала ожидаемая структура.
Событие указывает, кроме всего прочего, что рестарта не произошло, и протокол может быть прерван (например после передачи структуры дистанционного считывания).
с1 - превышение времени задержки последовательного опроса станций (типа "пулемет") (ТОВ) позволяет отключить прием, если задержка продолжительнее времени передачи для максимального числа байтов, включая структуру (128 байтов) плюс совокупную задержку между байтами (ТАСОМ) и 10%-ный допуск, чтобы учесть погрешности измерения времени.
,
ТОВМ=1360 мс.
ТОВ контролирует последовательный опрос станций ПСУ.
Примечание - Проверку времени можно заменить контролем над максимальным числом байтов, которые могут быть переданы в структуре, что дает эквивалентный результат.
d1 - превышение времени установки таймера связи ТОСО, это обуславливает переход в состояние 5. Этот таймер инициализируется только один раз во время полной инициализации протокола.
a2 - b2 - c2 - f2 - возвращение верхних уровней к синхронизации посредством LIPHI = 1 указывает тем самым, что их действия закончены, и обуславливает переход к состоянию 1, 3, 4 или 5.
Эти события затем дифференцируются в зависимости от состояния трех параметров PAREP (отсутствие ответа), ALEA (случайное) и ERLI (ошибка КАНАЛЬНОГО уровня). PAREP предписывает ФИЗИЧЕСКОМУ уровню переход в состояние конца протокола без передачи структуры и без ожидания перезапуска.
PAREP устанавливается верхними уровнями, когда:
- проводится расшифровка команды IB (инициализация шины);
- обнаружен адрес ADS, не являющийся адресом устройства;
- команда ASO (вызов забытых станций) адресует устройство, которое не было забыто или к которому не обращались;
- обнаруживается первичный ADP адрес неизвестный вторичной станции.
ALEA устанавливается верхними уровнями, когда обнаружена команда ASO. Она сообщает устройству, вне зависимости от того, было ли оно забыто или нет, что не ожидается никакого перезапуска после передачи им структуры ответа.
а2 - событие LIPHI = 1, связанное с состоянием (PAREP = 0 и ALEA = 0), указывает, что ответ должен быть передан и ожидается перезапуск.
b2 - событие LIPHI = 1, связанное с состоянием (PAREP = 1), когда никакой ответ не должен передаваться.
с2 - событие LIPHI = 1, связанное с состоянием (PAREP = 0 и ALEA = 1), когда ответ должен быть передан с задержкой (состояние 4).
d2 - превышение времени задержки связи ТОСО.
е2 - превышение времени задержки КАНАЛЬНОГО уровня TOL, которое фактически контролирует время выполнения на всех верхних уровнях после того, как был обнаружен конец структуры и установлен флаг синхронизации PHILI = 1 между ФИЗИЧЕСКИМ и КАНАЛЬНЫМ уровнями с установкой в ответ флага синхронизации LIPHI = 1. Это связано с переинициализацией всех верхних уровней (КАНАЛЬНОГО, СЕАНСОВОГО и ПРИКЛАДНОГО) - в состоянии 0.
f2 - событие LIPHI = 1, связанное с ERLI = 1 (ошибка КАНАЛЬНОГО уровня), означает, что ошибка была обнаружена на верхнем уровне. При этих состояниях устройство возвращается в состояние 1 "прием байтов" для ожидания перезапуска от первичной станции.
а4 - временная задержка TRO = NAOxTE достигнута и разрешает переход в состояние 3 для передачи структуры ответа забытой станции в одно из разрешенных временных окон.
b4 - превышение времени задержки связи ТОСО.
а3 - выход после передачи структуры, где ALEA = 0 (структура, которая только что была передана, не является ответом на запрос забытой станции). ФИЗИЧЕСКИЙ уровень возвращается в состояние 1 для получения любой последующей структуры.
b3 - выход после конца передачи структуры, где ALEA = 1 (переданная структура является ответом на запрос забытой станции). ФИЗИЧЕСКИЙ уровень знает, что не ожидается никакого перезапуска или структуры. Он может поэтому переключиться в состояние 5 для разъединения.
Устройство не должно возвращаться в состояние 1 так, чтобы не принимать структуры, переданные другими станциями.
с3 - временная задержка передачи (TOE) останавливает передачу, если она продолжительнее ТОЕМ.
,
ТОЕМ=1100 мс.
d3 - превышение времени задержки связи ТОСО.
Примечание - ТОСО будет обнаружена с точностью, ограниченной максимальной продолжительностью последовательности "запрос-ответ"; поэтому она может быть проверена только в начале состояния 1.
В - самоотключение ФИЗИЧЕСКОГО уровня после выключения всех уровней протокола.
2.6.5.4 Схема нескольких примеров состояний
Дистанционное считывание. Типовой пример
Дистанционное программирование. Типовой пример
Инициализация шины. Типовой пример
Схема также применима в случае, если запрос забытой станции адресует не забытое устройство, и в случае дистанционного считывания или дистанционного программирования, инициирующего станцию, чей адрес не совпадает с адресом первичного запроса ADP.
Пример перезапусков, за которыми следует правильное дистанционное считывание при ошибке, обнаруженной вторичной станцией в верхних уровнях.
2.6.6 Схемы разделения времени
2.6.6.1 Типовые примеры (приведены со стороны вторичной станции)
TAG=100 мс; ТАОМ=40 мс; ТА1ОМ=160 мс; TOLM=100 мс; ТАСЕОМ=30 мс; ТОСОМ=15 с; ТОЕМ=1100 мс; ТОВМ=1360 мс.
2.6.6.2 Пример ошибки при приеме (приведен со стороны вторичной станции)
Пример соответствует событиям е2 и f2 на схеме ФИЗИЧЕСКОГО уровня, соответствующим превышению времени задержки КАНАЛЬНОГО уровня или ошибке на верхних уровнях (ERLI = 1).
Пример события е2 (TOL > TOLM)
Время повторного запроса ПСУ после передачи:
TREPRmin = ТАОМ + TOLM;
Пример события f2 (ERLI = 1)
Время перезапуска ПСУ после передачи:
TREPRmin = ТАОМ + TOL при минимальном TOL = 0;
TREPRmin = ТАОМ;
TREPRmax = ТАОМ + (ТА1ОМ - продолжительность 1 байта).
Для вышеупомянутых двух примеров время перезапуска должно быть в интервале:
MAX(TREPRmin)TREPRmin(TREPRmax);
ТАОМ + TOLMTREPRТАОМ + TOL + (ТА1ОМ - длительность 1 байта);
ТАОМ + TOLMTREPRTAOM + (TA1Om - длительность 1 байта);
160 мсTREPR170 мс.
Необходимо отметить, что в соответствии с приведенным выше неравенством ТА1ОМ не может быть меньше, чем TOLM.
Если ни одна из ожидаемых структур не приходит после того, как передана структура запроса, первичная станция должна выполнить перезапуск в окне разделения времени, определяемом TREPRmin и TREPRmax. Время перезапуска (после переустановки его в ноль) отсчитывается всякий раз с момента, когда первичная станция переключается в режим прием
а.
2.6.6.3 Пример запроса забытой станции
Станция после запроса забытой станции может ответить в трех временных позициях (окнах). Начало передачи структуры размещается в окне FE1, FE2 или FE3, если случайное число NAO равно 0, 1 или 2 соответственно.
Время ТЕ, разделяющее два окна FE, - это максимальное время, в течение которого забытое устройство должно ответить, добавленное к максимальному времени, в течение которого первичная станция может интерпретировать и сохранить полученную структуру.
Если TRAMOU представляет собой время передачи для байтов, включая структуру ответа, то ТЕ должно выбираться так, чтобы
Предполагается, что для ПСУ время задержки КАНАЛЬНОГО уровня эквивалентно задержке КАНАЛЬНОГО уровня устройства. Аналогично для максимального времени отсутствия байтов (ТАОМ):
TOLM = TOLM' = 100 мс;
ТАОМ = ТАОМ' = 40 мс;
ТАСЕОМ = 30 мс;
150 мс.
(NOCT = 18 для структуры ответа забытого устройства).
ТЕ > 420 мс.
Через 500 мс после передачи первичная станция может определить три окна приема FR1, FR2 или FR3 с соответствующими параметрами:
TFR1 = 40 мс;
TFR2 = 540 мс;
TFR3 = 1040 мс.
Эти окна определены так, чтобы быть полностью синхронизированными с ответом забытой станции во всех случаях, которые могут возникнуть.
Ввиду теоретической возможности наличия структуры ASO, включающей 40 различных TAB(i), максимальная полная продолжительность запроса забытой станции должна быть равна
,
,
Т = 2305 мс.
Примечание - При структуре ASO, включающей только одну TAB(i), максимальная полная продолжительность запроса забытой станции составляет 2 с.
2.6.6.4 Общие комментарии и детали измерений параметров
Время контролируют с точностью ±1% (с минимальной точностью ±10 мс).
Необходимо отметить, что время общего запроса ПСУ будет передано с точностью ±10 мс на любой стороне при номинальном значении 100 мс.
ПСУ должно оставлять достаточно времени между двумя последовательными обменами, чтобы первое вызванное устройство могло отключиться после обмена, в котором оно было задействовано, до вызова следующего устройства (это время должно быть больше, чем ТА1ОМ).
2.7 КАНАЛЬНЫЙ уровень
2.7.1 Открытие-закрытие КАНАЛЬНОГО уровня
КАНАЛЬНЫЙ уровень, как только он активируется, находится в состоянии ожидания флага синхронизации (PHILI), передаваемого более низким уровнем (ФИЗИЧЕСКИМ).
Вторичная станция в режиме приема анализирует поступающую структуру, перед тем как сигнализирует верхнему уровню (СЕАНСОВОМУ) флагом синхронизации LISES, указывая, что он может начать выполнение своих действий.
Верхний уровень (СЕАНСОВЫЙ), в свою очередь, передает флаг SESLI в конце своей работы; этот ответ соответствует передаче всей информации или "буферов", требуемых для передачи структуры ответа.
Флаг LIPHI затем передается более низкому уровню (ФИЗИЧЕСКОМУ) для физической передачи любой структуры ответа.
Разъединение связи может происходить в любом из следующих четырех случаев, управляемых непосредственно КАНАЛЬНЫМ уровнем:
- ошибка при синтаксическом контроле (событие b12);
- полученный адрес не соответствует заданному адресу устройства или общему адресу (событие b13);
- конец формирования структуры ответа (событие а15);
- обратная связь СЕАНСОВОГО уровня с ERSES-ошибкой или флагом PAREP, указывающая, что не следует передавать никакого ответа (b14 и с14).
Все прерывания связи переустанавливают КАНАЛЬНЫЙ уровень в состояние ожидания ФИЗИЧЕСКОГО уровня.
КАНАЛЬНЫЙ уровень отключается ФИЗИЧЕСКИМ уровнем только при нормальном завершении обмена или при истечении одной из допустимых временных задержек.
2.7.2 Формат получаемой структуры. Область действия КАНАЛЬНОГО уровня
2.7.2.1 Синтаксические проверки и проверки достоверности передачи
Они включают в себя:
- CRC16 - проверку всех байтов в структуре;
- сравнение содержимого первого байта в структуре, представляющей число байтов, переданных первичной станцией, с числом байтов, фактически полученных вторичной станцией;
- проверку синтаксиса и достоверности по байту СОМ (1СОМ11, см. приложение Д);
- проверку синтаксиса и достоверности по байту ADP (0ADP99, см. приложение Д);
- проверку синтаксиса и достоверности по байту N, проверку условия N128 (см. приложение Д).
Если какие-либо ошибки обнаружены вторичной станцией в процессе проверок, КАНАЛЬНЫЙ уровень отключается и возвращается в состояние ожидания любой процедуры перезапуска от ФИЗИЧЕСКОГО уровня.
Если никаких ошибок нет, КАНАЛЬНЫЙ уровень выполняет проверку поля адреса.
2.7.2.2 Проверка адресных полей ADS и ADP
В зависимости от действия, которое нужно предпринять, поле ADS содержит общий адрес, опознаваемый всеми устройствами ADS = ADG, или определенный адрес одной из станций, связанных с шиной.
Поле ADP содержит первичный адрес, на который запрограммирована отвечать вторичная станция, или общий первичный адрес (ADP = 0), который распознается всеми вторичными станциями.
Когда вторичная станция распознает как свой ADP, так и свой ADS, КАНАЛЬНЫЙ уровень остается подключенным и переходит в режим ожидания верхнего СЕАНСОВОГО уровня после посылки ему флага синхронизации LISES = 1.
В противном случае КАНАЛЬНЫЙ уровень отключается, продолжая оставаться в режиме ожидания ФИЗИЧЕСКОГО уровня и посылая флаг синхронизации LIPHI = 1 более низкому уровню. КАНАЛЬНЫЙ уровень также вычисляет длину поля, предназначенного для верхних уровней, и передает им его местоположение.
2.7.3 Формат передаваемой структуры. Область действия КАНАЛЬНОГО уровня
На стадии возврата верхних уровней, в режиме передачи байтов вторичной станцией, КАНАЛЬНЫЙ уровень, который находился в режиме ожидания СЕАНСОВОГО уровня, получает флаг синхронизации SESLI = 1 вместе с буфером или набором буферов, которые определяются началом их поля адреса и длиной (числом байтов).
Чтобы минимизировать число параметров, "путешествующих" между уровнями, можно передавать только длину L таблицы, включающей значения всех начальных точек полей и их длин.
После этой синхронизации обратной связи от верхних уровней, КАНАЛЬНЫЙ уровень проинструктирован, чтобы вставить поля ADS, ADP, N и CRC.
Первичный адрес ADP является копией соответствующего адреса ADP, на который устройство было запрограммировано. Адрес вторичной станции ADS является адресом отвечающей вторичной станции.
Байт N определяется длиной поступающих от верхних уровней буферов, которые нужно передать, следующим образом:
N = (LSUP) + 10 байтов.
Таким образом, структура ответа включает набор буферов. Физическая процедура передачи, в свою очередь, ищет каждый из этих буферов, местоположение и длина которых известны. Точное число буферов выбирается проектировщиком в зависимости от имеющихся в его распоряжении аппаратных средств и ресурсов памяти, при условии, что он будет твердо придерживаться времени передачи.
2.7.4 Действия по формированию цепочки последовательностей
После свободной от ошибок последовательности "запрос-ответ" КАНАЛЬНЫЙ уровень вторичной станции переустанавливается в режим ожидания ФИЗИЧЕСКОГО уровня для возможного перезапуска или приема следующей структуры.
Даже при дистанционном считывании протокол позволяет считывать данные из нескольких последовательных структур "ответа", когда данные превышают максимальную длину структуры, без необходимости производить дальнейший общий запрос. Априори именно терминал ПСУ для ввода данных берет на себя инициативу считывания данных в нескольких последовательностях "запрос-ответ". Единственное ограничение состоит в полном времени связи, которое не должно превышать задержку времени связи ТОСО.
Формат дистанционного считывания нескольких последовательностей
2.7.5 Состояния КАНАЛЬНОГО уровня
2.7.5.1 Схема состояний КАНАЛЬНОГО уровня
2.7.5.2 Описание состояний КАНАЛЬНОГО уровня
Этот уровень может быть отключен только ФИЗИЧЕСКИМ уровнем.
Состояние 0
КАНАЛЬНЫЙ уровень, как только он активизируется, находится в состоянии ожидания синхронизации от ФИЗИЧЕСКОГО уровня; выход из этого состояния ожидания осуществляется подключением КАНАЛЬНОГО уровня для фактического выполнения предписанных ему действий.
Как только его работа выполнена, КАНАЛЬНЫЙ уровень возвращается в состояние ожидания (разъединение).
Состояние 1
Это состояние включает инициализацию переменных, требуемых для надлежащего прохождения последовательности "запрос-ответ". Переменные LIPHI, LISES, PAREP и ERLI переустанавливаются в ноль системой на этом уровне.
Состояние 2
Соответствует двум проверкам - синтаксической и правильности полученной структуры (см. 2.7.2.1). Ошибка, обнаруженная при любой из этих проверок, обуславливает выставление флага ошибки ERLI = 1.
Состояние 3
Соответствует проверке адресных полей ADS и ADP (см. 2.7.2.2). Присутствие определенного адреса ADS или общего адреса ADG в этом поле означает правильную проверку; иначе устанавливается флаг PAREP. Проверка поля ADP предназначена для обеспечения диалога станций с определенными типами малых устройств. Если станция распознает свой адрес ADP или общий первичный адрес (ADP = 0), проверка правильна, в противном случае устанавливается флаг PAREP.
Состояние 4
Ожидание обратной связи по флагу синхронизации SESLI от верхнего уровня (СЕАНСОВОГО).
Состояние 5
Построение структуры ответа (см. 2.7.3).
Состояние 6
Отключение КАНАЛЬНОГО уровня и передача синхронизации к более низкому уровню посредством LIPHI = 1.
2.7.5.3 Описание событий КАНАЛЬНОГО уровня
AL - установка флага синхронизации PHILI = 1 соединяет КАНАЛЬНЫЙ уровень и разрешает доступ к состоянию 1.
a11 - инициализация завершена, безусловный переход к состоянию 2.
а12 - различные синтаксические проверки, выполненные в состоянии 2, правильны, и выход из условия 2 с ERLI = 0 позволяет доступ к состоянию 3.
b12 - по крайней мере одна ошибка обнаружена в состоянии 2 и передается посредством ERLI = 1. Тогда устанавливается флаг синхронизации LIPHI, чтобы сообщить ФИЗИЧЕСКОМУ уровню, что он может возобновить действие. ФИЗИЧЕСКИЙ уровень использует параметр ERLI для выбора типа своего действия (возврат к приему байтов для возможного перезапуска).
а13 - проверка адресного поля правильна; выход из состояния 3 с PAREP = 0; устанавливается флаг синхронизации LISES = 1, верхнему уровню разрешается начать работу. КАНАЛЬНЫЙ уровень устанавливается в состояние ожидания СЕАНСОВОГО уровня (состояние 4).
b13 - поле адреса неправильно; выход из состояния 3 с PAREP = 1, чтобы указать более низкому ФИЗИЧЕСКОМУ уровню, повторно синхронизированному флагом LIPHI = 1, что ему не требуется отвечать на этот запрос, так как он предназначен для ожидающего устройства, и ФИЗИЧЕСКИЙ уровень может отключаться окончательно без ожидания каких-либо перезапусков.
a14 - установка флага синхронизации от СЕАНСОВОГО уровня (SESLI = 1) разрешает переход из состояния 4 в состояние 5 при условии, что ERSES = 0 и PAREP = 0.
b14 - установка SESLI = 1 вместе с передачей ошибки от СЕАНСОВОГО уровня (ERSES = 1) разрешает переход к состоянию 6, таким образом разъединяя КАНАЛЬНЫЙ уровень, который не будет передавать ответ.
с14 - установка SESLI = 1 вместе с PAREP = 1, указывающая, что никакой ответ не должен посылаться, передает управление состоянию 6.
а15 - передача КАНАЛЬНЫМ уровнем флага синхронизации в ФИЗИЧЕСКИЙ уровень посредством LIPHI = 1 как только структура ответа составлена (см. 2.7.3). Поскольку параметры ERLI, ERSES и PAREP находятся в нуле, ФИЗИЧЕСКИЙ уровень будет осуществлять передачу буфера (или буферов) структуры, передаваемого таким образом.
BL - возвращение КАНАЛЬНОГО уровня к ожиданию ФИЗИЧЕСКОГО уровня после того, как КАНАЛЬНЫЙ уровень отключен и флаг LIPHI = 1 послан.
2.7.5.4 Схема нескольких примеров состояний
Дистанционное считывание. Типовой пример
Дистанционное программирование. Типовой пример
Инициализация шины
Пример перезапусков после ошибки при синтаксической проверке (ERLI = 1), за которыми следует правильное дистанционное считывание с третьей попытки.
Пример перезапусков после ошибки на СЕАНСОВОМ уровне (ERSES = 1), за которыми следует правильное дистанционное считывание с третьей попытки.
2.8 СЕАНСОВЫЙ уровень
2.8.1 Открытие и закрытие СЕАНСОВОГО уровня
СЕАНСОВЫЙ уровень, как только он приведен в готовность, переходит в состояние ожидания флага синхронизации LISES от более низкого КАНАЛЬНОГО уровня. Этот флаг разрешает выполнение действий, связанных с СЕАНСОВЫМ уровнем. Когда СЕАНСОВЫЙ уровень синхронизирован с КАНАЛЬНЫМ, подразумевается, что более низкие уровни выполнили свои задачи без обнаружения ошибок или аномалий.
Главная функция СЕАНСОВОГО уровня - интерпретировать содержание поля команды в полученной структуре, чтобы затем предпринять соответствующее действие и передать флаг синхронизации ПРИКЛАДНОМУ уровню. При возврате от ПРИКЛАДНОГО уровня СЕАНСОВЫЙ устанавливает командный байт, специально приготовленный для ответа, который нужно передать, и синхронизирует выполнение более низкого КАНАЛЬНОГО уровня.
СЕАНСОВЫЙ уровень отключается, когда он посылает флаг синхронизации SESLI = 1 более низкому уровню.
СЕАНСОВЫЙ уровень отключается только ФИЗИЧЕСКИМ уровнем при нормальном завершении обмена или истечении одной из допустимых временных задержек.
2.8.2 Поле команды в режиме приема
Возможные команды в начальной последовательности запрос-ответ это: ENQ (дистанционное считывание), REC (дистанционное программирование), IB (инициализация шины), ASO (запрос забытой станции).
В последующих последовательностях, в зависимости от соответствующего выполнения, а не от типа обмена, команды могут быть:
- ENQ (перезапуск или дистанционное считывание нескольких последовательностей);
- REC (перезапуск для дистанционного программирования);
- AUT (только при дистанционном программировании).
Если команда ENQ была распознана в начальной последовательности, следующая последовательность, в случае перезапуска, может содержать только ту же самую команду. Иначе обнаруживается ошибка СЕАНСОВОГО уровня.
Любое неправильное формирование цепочки последовательностей генерирует ошибку СЕАНСОВОГО уровня посредством ERSES = 1. Эта ошибка обуславливает быстрое отключение более низких уровней для последующего перезапуска.
2.8.3 Поле команды в режиме ответа
Любая команда запроса, полученная устройством (см. 2.8.2), систематически ассоциируется с командой ответа (кроме IB).
Тип команды | Поле команды | |
Запрос | Ответ | |
Дистанционное считывание | ENG | DAT или DRJ |
Дистанционное программирование | REC | ЕСН |
| AUT | EOS |
Инициализация шины | IВ | - |
Запрос забытой станции | ASO | RSO |
Эта команда ответа помещается в передаваемый(е) буфер(а), возвращаемый(е) от ПРИКЛАДНОГО уровня (APSES = 1) прежде, чем флаг SESLI = 1 передается к более низкому КАНАЛЬНОМУ уровню.
Если идентификатор TAB(i) структуры ENQ неизвестен вторичной станции и данные дистанционного программирования не подтверждены или если идентификация AUT первичной станции не выполнена, ПРИКЛАДНОЙ уровень устанавливает флаг DNA (флаг отсутствия подтверждения), указывающий, что была передана отрицательная структура подтверждения, включающая команду DRJ (данные отклоняются) или команду ARJ (идентификация отклоняется) соответственно:
- DNA = 1 означает, что должна быть передана DRJ-структура;
- DNA = 2 означает, что должна быть передана ARJ-структура.
2.8.4 Возможные примеры интерпретации команды
Чтобы интерпретировать команды, необходимо знать, первая ли это или последующая последовательность. Для этой цели предназначена переменная APREC (предыдущий запрос). Четыре других флага показывают команду предыдущей последовательности:
- DIB - флаг инициализации шины;
- DASO - флаг вызова забытой станции;
- DTR - флаг дистанционного считывания;
- DTP - флаг дистанционного программирования.
APREC устанавливается в 1 в следующих состояниях: если DIB или DASO, или DTR, или DTP = 1, тогда APREC = 1.
Еще одна переменная AR допускает цепочку последовательностей запрос-ответ, следующих одна за другой при дистанционном программировании, как показано на приведенной ниже схеме "Поле команды в режиме приема". Эта переменная передается ПРИКЛАДНОМУ уровню, чтобы позволить ему в дальнейшем распознать последовательность.
Все флаги (DIB, DASO, DTR, DTP, APREC, AR и DNA) переустанавливаются в 0 при полной инициализации протокола и никогда не сбрасываются СЕАНСОВЫМ уровнем.
Переменная DNA устанавливается ПРИКЛАДНЫМ уровнем и никогда не сбрасывается СЕАНСОВЫМ уровнем.
Таблица в 2.10.2 показывает набор уровней для каждого флага и один из них, который его использует.
Все эти переменные позволяют составить блок-схемы алгоритмов с различными возможностями интерпретации команд.
Алгоритм состояния 2
APREC = 0 (это первая последовательность запрос-ответ)
1) Если СОМ = ENQ (это обмен дистанционного чтения), то следует:
- установить DTR = 1 в режиме дистанционного чтения;
- установить APREC = 1, сигнализируя, что первый запрос был только что получен;
- подготовить командный байт СОМ в режиме ответа: DAT (команда DRJ будет размещена в ответе от ПРИКЛАДНОГО уровня, если DNA = 1);
- синхронизировать ПРИКЛАДНОЙ уровень посредством SESAP = 1;
- ожидать ПРИКЛАДНОЙ уровень.