ГОСТ IEC 61142-2011
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ОБМЕН ДАННЫМИ ПРИ СЧИТЫВАНИИ ПОКАЗАНИЙ СЧЕТЧИКОВ, ТАРИФИКАЦИИ И УПРАВЛЕНИИ НАГРУЗКОЙ
Обмен данными по локальной шине
Data exchange for meter reading, tariff and load control. Local bus data exchange
МКС 17.220.20
Дата введения 2013-01-01
Предисловие
Цели, основные принципы и общие правила проведения работ по межгосударственной стандартизации установлены ГОСТ 1.0 "Межгосударственная система стандартизации. Основные положения" и ГОСТ 1.2 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"
Сведения о стандарте
1 ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием "Всероссийский научно-исследовательский институт стандартизации и сертификации в машиностроении" (ВНИИНМАШ) на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в пункте 5
2 ВНЕСЕН Федеральным агентством по техническому регулированию и метрологии
3 ПРИНЯТ Межгосударственным советом по стандартизации, метрологии и сертификации (протокол от 29 ноября 2011 г. N 40)
За принятие стандарта проголосовали:
Краткое наименование страны | Код страны | Сокращенное наименование национального органа по стандартизации |
Беларусь | BY | Госстандарт Республики Беларусь |
Казахстан | KZ | Госстандарт Республики Казахстан |
Киргизия | KG | Кыргызстандарт |
Россия | RU | Росстандарт |
Таджикистан | TJ | Таджикстандарт |
Узбекистан | UZ | Узстандарт |
4 Приказом Федерального агентства по техническому регулированию и метрологии от 13 декабря 2011 г. N 1237-ст межгосударственный стандарт ГОСТ IEC 61142-2011 введен в действие в качестве национального стандарта Российской Федерации с 1 января 2013 г.
5 Настоящий стандарт идентичен международному стандарту IEC 61142:1993* "Обмен данными при считывании показаний счетчиков, тарификации и управлении нагрузкой. Обмен данными по локальной шине" ("Data exchange for meter reading, tariff and load control. Local bus data exchange", IDT).
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .
Международный стандарт разработан Международной электротехнической комиссией (IEC).
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им межгосударственные стандарты, сведения о которых приведены в дополнительном приложении ДА.
Стандарт подготовлен на основе применения ГОСТ Р МЭК 61142-2001
6 ВВЕДЕН ВПЕРВЫЕ
7 ПЕРЕИЗДАНИЕ. Апрель 2020 г.
Информация о введении в действие (прекращении действия) настоящего стандарта и изменений к нему на территории указанных выше государств публикуется в указателях национальных стандартов, издаваемых в этих государствах, а также в сети Интернет на сайтах соответствующих национальных органов по стандартизации.
В случае пересмотра, изменения или отмены настоящего стандарта соответствующая информация будет опубликована на официальном интернет-сайте Межгосударственного совета по стандартизации, метрологии и сертификации в каталоге "Межгосударственные стандарты"
1 Общие положения
1.1 Область применения
Настоящий стандарт описывает процедуру обмена данными по локальной шине в случае, когда несколько тарифных устройств, распределенных в пространстве, соединено специальной шиной. Считывание данных этих тарифных устройств может осуществляться посредством подключения программирующе-считывающего устройства к центральному магнитному разъему.
Стандарт устанавливает требования, предъявляемые к аппаратным средствам и протоколам для локальных систем. Требования для дистанционных систем рассматриваются в другом стандарте.
Настоящий стандарт распространяется на системы с локальной шиной. В этих системах портативное программирующе-считывающее устройство (далее - первичная или управляющая станция/ контроллер) соединяется с несколькими тарифными устройствами, так называемыми вторичными или рабочими станциями, через шину, имеющую гибкую структуру. Контроллер соединяется с шиной с помощью магнитного (индуктивного) разъема. Сама по себе шина пассивна, а все тарифные устройства, количество которых ограничено, электрически изолированы от нее.
В качестве основы протокола принята модель взаимосвязи открытых систем (ВОС) в соответствии с ISO 7498-84, содержащая четыре уровня: физический, канальный, сеансовый и прикладной.
Протокол обеспечивает считывание и программирование тарифных устройств, позволяет обнаруживать и идентифицировать так называемые "забытые" станции, которые не зарегистрированы в базе данных портативного контроллера.
Протокол разработан специально для средств, определяющих качество и количество потребляемой электроэнергии, а также для средств измерения прочности электрической изоляции. Хотя протокол имеет определенную направленность, его применение остается за потребителем. Использование локальной шины данных для систем связи типа "точка - точка" также прерогатива потребителя.
1.2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт. Для датированной ссылки применяют только указанное издание ссылочного стандарта, для недатированной - последнее издание (включая все изменения).
ISO 7498-84
________________
1.3 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
адрес (address): Последовательность двоичных сигналов, определяющая место расположения объекта связи или числовой номер.
двунаправленная передача (bidirectional transmission): Передача данных по цепи в любом (полудуплексном) направлении.
тарифное устройство (tariff device): Фиксированное устройство сбора данных, как правило, соединенное или совмещенное с электрическим счетчиком.
запрос (query): Процесс посылки сигналов для установления связи между станциями.
прямая передача (direct transmission): Передача сигнала определенной частоты без модуляции.
Бод* (Baud): Единица скорости передачи информации (модуляции).
________________
* В системе СИ в с
ДДК (BCD) [двоично-десятичное кодирование]: Кодирование десятичной цифры между 0 и 9 с использованием четырех битов.
бит (bit): Наименование для двоичной цифры.
буфер (buffer): Буферная память.
шина (bus): Проводная система связи, соединяющая станции и позволяющая осуществлять их связь в данный момент времени.
флаг (flag): Символ, используемый для указания специфического статуса устройства или набора данных.
обмен (exchange): Последовательность передач между устройствами нескольких структур, составляющих в целом процедуры считывания данных или программирования, например:
Организация обмена
дистанционный обмен данными (distance exchange by data): Обмен данными между одним или группой тарифных устройств и концентратором данных через коммутационную сеть.
локальный обмен данными (local exchange by data): Обмен данными между одним или группой тарифных устройств или их группой и программирующе-считывающим устройством.
опрос (poll): Процесс, состоящий в последовательном запросе станций на передачу данных.
выборочный запрос (sample inguiry): Процесс, состоящий в запросе одной станции или нескольких станций на прием данных.
опросный список (questionnaire list): Список станций, подлежащих опросу в порядке, в котором они должны быть опрошены.
байт (byte): Набор из восьми значащих битов.
перезапуск (restarting): Процедура, с помощью которой станция пытается разрешить конфликтную или ошибочную ситуацию, возникшую в процессе обмена, посредством повторения невыполненной последовательности посылок и передач.
протокол (protocol): Набор условных процедур, требуемых для обеспечения взаимодействия удаленных устройств с целью инициализации и поддержания обмена данными.
приемник (данных) [receiver (data)]: Часть терминала, принимающая данные из канала связи.
последовательность (sequence): Часть процедуры обмена, включающая структуры запроса и ответа.
различающиеся последовательности (differing sequences): Последовательности, отличные от процедур перезапуска.
Примечание - Структуры, переданные первичной станцией, различаются своими управляющими (как в случае дистанционного программирования) или информационными полями (как в случае многоканального дистанционного считывания).
идентификационные последовательности (identification sequences): Последовательности, соответствующие процедурам перезапуска.
Примечание - В случае ошибки при первом запросе структура, передаваемая первичной станцией для этих последовательностей, является абсолютно идентичной.
источник (данных) [source (data)]: Часть терминала, передающая данные в канал связи.
станция (station): Совокупность функциональных устройств, включая терминал, оборудование для передачи данных и устройства их связи.
первичная станция (primary station): Станция, осуществляющая полное управление каналом связи.
вторичная станция (secondary station): Станция, подчиняющаяся командам в соответствии с процедурой связи.
синхронизация (synchronization): Процедура, осуществляющая взаимодействие процессов в данный момент времени.
программирующе-считывающее устройство (ПСУ) [device for drafting of the program and read-out (HHU, TSP)]: Портативное оборудование для передачи данных к тарифным устройствам или электрическим счетчикам или от них.
время ожидания (waiting time): Задержка, после которой принимается решение, что ожидаемое событие не произошло.
структура (structure): Передача набора последовательных блоков, составляющих полное сообщение для принимающей станции.
поле (блок) (block): Функциональное подмножество из
1.4 Сокращения
В настоящем стандарте использованы следующие сокращения.
- адрес первичной станции (таблица А); | |
- адрес вторичной станции (таблица А); | |
- ключ (таблица А); | |
- общий (главный) адрес; | |
- данные (таблица А); | |
- адрес первичной станции; | |
- адрес вторичной станции; | |
- данные дистанционного программирования (таблица А); | |
- инициирующий запрос; | |
- случайная переменная; | |
- число байтов в поле | |
- предшествующее случайное число (таблица А); | |
- число байтов в таблице А при единичном обмене; | |
- предыдущий запрос; | |
- флаг синхронизации между ПРИКЛАДНЫМ и СЕАНСОВЫМ уровнями; | |
- выход и возврат, характеризующие различающиеся последовательности; | |
- отклонение идентификации (удостоверения подлинности); | |
- кодирование случаев ответа за запрос "забытой" станции; | |
- тип данных (таблица А); | |
- тип операции; | |
- команда идентификации (удостоверения подлинности); | |
- данные (таблица В); | |
- ошибка (таблица В); | |
- окно ожидания N | |
- случайное число (таблица В); | |
- число байтов в диагностическом поле в процессе обмена (таблица В); | |
- число байтов в таблице В при единичном обмене; | |
- число байтов в поле | |
- число идентичных последовательностей (таблица В); | |
- ошибка по времени задержки (таблица В); | |
- флаг ошибки при задержке последовательного опроса станции (таблица В); | |
- флаг ошибки при временной задержке связи (таблица В); | |
- флаг ошибки при задержке передачи (таблица В); | |
- флаг ошибки при задержке КАНАЛЬНОГО уровня (таблица В); | |
- кодирование случаев ответа на запрос "забытой" станции; | |
- Международный консультативный комитет по телеграфной и телефонной связи; | |
- команда; | |
- циклический избыточный код; | |
- флаг запроса "забытой" станции; | |
- данные команд; | |
- стандарт кодирования данных; | |
- флаг команды инициализации шины; | |
- флаг отрицательного подтверждения; | |
- данные; | |
- данные не приняты; | |
- флаг "забытой" станции; | |
- флаг дистанционного программирования; | |
- флаг дистанционного считывания; | |
- ответ - команда; | |
- местоположение; | |
- запрос; | |
- последняя команда программной структуры; | |
- передача/прием; | |
- комбинации | |
- ошибка в ПРИКЛАДНОМ уровне; | |
- ошибка в КАНАЛЬНОМ уровне; | |
- ошибка в протоколе; | |
- ошибка в СЕАНСОВОМ уровне; | |
- оборудование терминала передачи данных; | |
- оборудование терминала обработки данных; | |
- окно передачи; | |
- конец передачи; | |
- конец ФИЗИЧЕСКОГО уровня; | |
- окно приема; | |
- флаг, выставляемый внешним процессом; | |
- высокая частота; | |
- программирующе-считывающее устройство (портативное считывающее устройство ПСУ), также | |
- индикатор окна ожидания для вызовов "забытых" станций; | |
- команда инициализации шины; | |
- взаимосвязь открытых систем (ВОС); | |
- ключ; | |
- флаг синхронизации между КАНАЛЬНЫМ и ФИЗИЧЕСКИМ уровнями; | |
- флаг синхронизации между КАНАЛЬНЫМ и СЕАНСОВЫМ уровнями; | |
- длина; | |
- наименьший значимый бит; | |
- число байтов поля данных; | |
- наибольший значимый бит; | |
- число; | |
- случайное число для ответа "забытой" станции; | |
- случайное число N | |
- закодированное случайное число; | |
- число различных последовательностей; | |
- число дистанционных считываний; | |
- порт инициирующего запроса; | |
- флаг отсутствия ответа; | |
- флаг синхронизации между ФИЗИЧЕСКИМ и КАНАЛЬНЫМ уровнями; | |
- команда дистанционного программирования (записи); | |
- неполучение; | |
- ответ от забытых станций; | |
- прием данных; | |
- флаг синхронизации между СЕАНСОВЫМ и ПРИКЛАДНЫМ уровнями; | |
- флаг синхронизации между СЕАНСОВЫМ и КАНАЛЬНЫМ уровнями; | |
- тип данных (таблица); | |
- совокупное время задержки между байтами; | |
- максимальное совокупное время задержки между байтами; | |
- время инициализирующего запроса; | |
- максимальное время запроса инициализации; | |
- время отсутствия байта; | |
- максимальное время отсутствия байта; | |
- время ожидания первого байта; | |
- время ожидания первого байта (максимальное время задержки первого байта); | |
- таблица программирования данных; | |
- время передачи; | |
- ускорение; | |
- время, связанное с окном передачи; | |
- время, связанное с окном приема; | |
- максимальное время; | |
- время задержки последовательного опроса станции; | |
- максимальное время задержки последовательного опроса станции; | |
- время задержки связи; | |
- максимальное время задержки связи; | |
- время задержки передачи; | |
- максимальное время задержки передачи; | |
- время задержки КАНАЛЬНОГО уровня; | |
- максимальное время задержки КАНАЛЬНОГО уровня; | |
- дистанционное программирование; | |
- дистанционное считывание; | |
- время ответа "забытой" станции; | |
- программирующе-считывающее устройство, также | |
- передача данных; | |
- поле данных считывания и программирования. |
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 Режим передачи
Режим передачи - асинхронный. Передатчик выдает данные независимо от приемника. Начало и конец слова отмечают двумя сигналами, обычно называемыми "старт" и "стоп".
Слово состоит из восьмибитного байта, ограниченного "старт"-битом и "стоп"-битом:
Формат слова
Данные передаются последовательно, за "старт"-битом немедленно следует наименьший значимый бит (
Такой режим передачи проще и выгоден с точки зрения создания экономных аппаратных средств.
Необходимо подчеркнуть, что этот режим передачи не исключает использования более сложных процедур (обнаружение ошибки, альтернативное управление и т.д.).
2.3.2 Скорость передачи
Скорость передачи - 1200 Бод, время передачи бита - 833 мкс и 8,33 мс для передачи байта, ограниченного "старт"-битом и "стоп"-битом.
В соответствии с рекомендациями
2.3.3 Организация сети
Сеть организована как многоточечная асимметричная шина: какая-либо из станций (первичная станция - ПСУ) может брать инициативу связи и "говорить" с любой из
Первичная станция может получать или передавать данные (т.е. быть источником или приемником).
Вторичные станции могут также получать или передавать данные (т.е. быть источником или приемником), но только по инициативе управляющей станции.
Одна и та же физическая линия связи используется для того, чтобы передавать и получать данные, но не одновременно: связь по данным - полудуплексная (чередующаяся), как показано ниже.
Организация связи
Физическая организация связи
Приведенные выше рисунки показывают только двухточечную связь; многоточечная конфигурация может быть получена подсоединением
2.3.4 Доступ к сети
На физическом уровне система состоит из многоточечной шины, которая в большинстве случаев становится двухточечной на более высоком уровне.
Дистанционное программирование
При дистанционном программировании командные функции принадлежат ПСУ, которое в этом случае становится источником данных; первичная станция (ПСУ) инициирует вторичную станцию получить сообщения, которые первичная должна послать.
Связь в этом случае управляется "селективным" запросом (запросом по вызову).
Дистанционное считывание
При дистанционном считывании командные функции принадлежат ПСУ, которое является приемником данных. Первичная станция (ПСУ) инициирует вторичную станцию послать сообщение. Связь в этом случае управляется "голосованием".
Функция "голосования/селекции" объединена с системой адресации, которая позволяет выбрать одну вторичную станцию из
В этом режиме функционирования система не должна иметь спорных ситуаций, так как запросы и ответы совершенно детерминированы.
Особый случай
Особый случай представляет собой обнаружение забытых станций после дистанционного считывания всей шины. Это довольно необычно, поскольку максимальное число забытых устройств на шине не может превышать пяти. Сбой может произойти, только если имеется ошибка в инициализации адресного списка для шины, содержащегося в ПСУ, или если возникла ошибка после изменения адресного списка (списка голосования/селекции).
Используемый метод доступа заключается в передаче ответов от забытых станций в случайные моменты времени, что подразумевает обработку ошибок.
Сосуществование этой опции передачи с методом голосования/селекции подразумевает одинаковую обработку подтверждений для совместимости этих двух принципов.
Необходимо отметить, что метод передачи (со случайным доступом) не может быть применен к шине в целом без значительного увеличения сложности протокола или без существенного увеличения времени дистанционного считывания или программирования до такой степени, чтобы это стало ненужным и бесполезным.
2.4 Общая организация структур и обменов
2.4.1 Формат структуры
Структура состоит из шести полей, которые могут быть функционально сгруппированы.
2.4.1.1 Контрольное поле
Эти контрольные элементы позволяют приемнику проверить, что структура была передана без ошибок.
2.4.1.2 Поле адреса
Значение этого адреса в десятичном представлении находится между 0
В ПСУ при обращении к вторичной станции это поле заполняется ПСУ в зависимости от станции(й), с которой(ыми) оно "хочет" связаться.
Во вторичной станции при обращении к ПСУ это поле заполняется аппаратными средствами вторичной станции своим собственным внутренним адресом (помещенным в энергонезависимую память при инициализации каждого устройства).
Примечание - Нулевое значение
Значение, принимаемое этой переменной, находится (в десятичном представлении) между 0
При обращении ПСУ к вторичной станции это поле заполняется ПСУ, которое вставляет свой специфический или общий адрес (
Примечание - Адрес
2.4.1.3 Поле команды
Команды, которые могут быть переданы ПСУ:
Команды, которые могут быть переданы вторичной станцией:
- дистанционное считывание (
- дистанционное программирование (
2.4.1.4 Поле данных
Поле переменной длины в зависимости от используемой структуры и типа запрашиваемых данных.
Данные частично зависят от конкретного применения и поэтому не охвачены настоящим стандартом. Однако при дистанционном считывании, дистанционном программировании и вызове забытых станций используются фиксированные поля (длина и положение в структуре), и при конкретном применении необходимо это учитывать, чтобы обеспечить системную совместимость. Рассматриваемые поля включают: поле идентификации (
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).
Максимальное число идентификаторов
2.4.4.3 Пример идентификации
2.4.5 Формат обмена при дистанционном программировании
Пример передачи без ошибок
Указанный обмен состоит из четырех структур, передаваемых последовательно за время передачи. В поле данных первые 16 байтов сохранены для целей идентификации. Детали идентификации описываются в 2.9.3.1. Далее, если спецификация предполагает двунаправленную идентификацию и используется DES-система кодирования, необходимо не менее трех структур, чтобы выполнить эту функцию.
Первая структура содержит данные дистанционного программирования, которые записываются во вторичной станции без проверки правильности и посылаются обратно в следующей структуре Р2. Затем структура Р3 передается для завершения двунаправленной идентификации.
Случаи, когда вторичная станция получает Р3:
- если идентификация правильна и данные дистанционного программирования, записанные при посылке Р1, подтверждаются, положительное подтверждение (
- если идентификация неправильна или данные дистанционного программирования не подтверждаются, возвращается отрицательное подтверждение - структура Р4 (
Двусмысленность, однако, сохраняется, если Р3, полученная вторичной станцией, подтверждает данные. Если при этом структура Р4, переданная этой станцией, получена с ошибкой, ПСУ воспринимает это, как если бы данные не были приняты (даже после нескольких попыток повторить Р3 без правильного ответа). В этом случае за обменом в режиме дистанционного программирования будет следовать обмен в режиме дистанционного считывания для исключения двусмысленности.
2.4.6 Идентичность обмена при дистанционном считывании/программировании
Пример перезапуска после ошибки
Проводимый обмен должен состоять из одного или большего числа последовательностей запрос-ответ со структурами идентичного формата:
Для первичной станции (ПСУ) за запросом типа дистанционного считывания или дистанционного программирования должен следовать ответ, рассматриваемый как положительное подтверждение или как уведомление об ошибке в типе переданных данных (никакой перезапуск не предусмотрен в этом случае).
Обнаружение ошибки от вторичной станции, связанной с неполной передачей данных, интерпретируется как отсутствие ответа, что составляет отрицательное подтверждение для ПСУ. Тогда по инициативе ПСУ предпринимается перезапуск путем повторения запроса невыполненной последовательности.
Ошибка, обнаруженная в структуре ответа, полученного ПСУ, инициирует ту же самую процедуру перезапуска для неправильно обработанной последовательности.
Перезапуски проводятся ПСУ. Максимальное число перезапусков - два. Если обмен неудачен, несмотря на эти попытки, ПСУ останавливает обмен со станцией и выдает сигнал ошибки.
2.4.7 Конец обмена - физическое отключение
Конец обмена обнаруживается вторичной станцией, если не принята никакая другая структура после структуры ответа (типа R2 или Р4) в течение времени, определенного для ФИЗИЧЕСКОГО уровня временем
2.4.8 Инициализация шины и запросы к забытым станциям
Эти два режима не используют селективную адресацию по принципу запрос-ответ, а основаны на принципе передачи без ответа в случае инициализации шины и возможных ответов в случайные моменты времени в случае опроса забытых станций.
2.4.8.1 Принцип считывания всей шины
Посредством последовательного считывания всей шины ПСУ после считывания всех известных устройств может установить, что более не имеется забытых или не содержащихся в каталогах ПСУ устройств.
Схематическая диаграмма используемой последовательности
2.4.8.2 Формат структуры инициализации шины
Данная структура имеет тот же самый базовый формат, как и другие. Поле адреса вторичной станции теперь служит для того, чтобы адресовать все устройства на шине без исключения, и называется общим адресом (значение от 0 до 12 цифр). Все устройства, связанные с шиной и подтверждающие первичный адрес
Действие команды инициализации шины заключается в переустановке флага в этих устройствах в ноль (
После структуры инициализации каждое опрашиваемое устройство, получая структуру R1, относящуюся к ней (что определяется присутствием ее адреса в поле
За командой инициализации шины никогда не следует ответ.
2.4.8.3 Формат запроса к забытой станции и соответствующий ответ
В конце последовательности дистанционного считывания ПСУ может искать забытые устройства (максимум 5 из 100). Это может быть возможным, только если принята предшествующая последовательность "Инициализации и последовательных чтений".
Вызов забытой станции, которому предшествует инициализирующий запрос, включает общий адрес
Если флаг
Если флаг
Такая передача запроса подразумевает, что несколько ответов может быть послано в ПСУ.
Чтобы минимизировать спорные ситуации между структурами ответов, у каждой забытой станции имеются три момента времени для ответа. Каждая станция выбирает момент времени случайным образом. Случайный выбор изменяется от одного запроса к другому, длина промежутка времени определена в соответствии со временем передачи ответа.
Структура ответа подчиняется общему формату структуры, приведенному выше. 7-байтное поле данных содержит первый
ПСУ открывает три контролирующих временных окна, которые могут быть сопоставлены с любой из следующих ситуаций:
- никакой ответ не поступил по трем контролирующим окнам, ПСУ знает, что никакое устройство не было забыто на этой шине;
- по крайней мере, один ответ (без ошибки) поступил по одному из окон, ПСУ записывает адрес забытого устройства и продолжает читать его в процессе последовательного обмена, чтобы отличить его от группы забытых устройств;
- ответ с ошибкой по одному из окон, ПСУ не может действовать на ответ, но оно знает, что на шине имеются забытые устройства. Поэтому оно выполняет еще один вызов забытой станции в предположении, что изменение в процедуре случайного выбора позволит ответам быть переданными без ошибок.
Эта передача продолжается, пока все забытые устройства не будут считаны.
2.4.9 Адресация. Начало и окончание связи
При получении структуры инициализации обмена все устройства - на шине находятся в режиме ожидания для записи и интерпретации полученной структуры. После идентификации, которая, как мы предполагаем, свободна от ошибок, анализируется адрес, чтобы переключить связь в следующие режимы.
Номинальный режим - двухточечная связь посредством подтверждения определенного адреса (селективная адресация) в случае дистанционного считывания или программирования.
Все устройства, не опознающие свой специфический адрес, "отключаются" немедленно после этой структуры (отмена протокола).
Другие режимы:
- многоточечная связь со случайным доступом посредством подтверждения общего адреса в случае вызова забытых станций (многоточечная связь, ограниченная максимум пятью устройствами);
- многоточечная связь без ответов в случае инициализации шины.
2.5 Общая организация протокола
2.5.1 Краткий обзор
Протоколы обычно следуют правилам построения, которые дают им определенную универсальность и позволяют использоваться в других системах. Была подготовлена эталонная модель взаимосвязи открытых систем (ВОС); эта архитектурная модель открывает фактически неограниченные возможности и, в частности, допускает произвольное число уровней информационного обмена.
Считывание по локальной шине не требует всех уровней, специфицированных в этой эталонной модели, но сущность четырех из них использована для определения архитектур в рассматриваемом приложении - это ФИЗИЧЕСКИЙ, КАНАЛЬНЫЙ, СЕАНСОВЫЙ и ПРИКЛАДНОЙ уровни.
Возможности этого иерархического децентрализованного формата должны:
- облегчить проектирование и построение протокола из существующих базовых элементов при уменьшении затрат на его установку;
- упростить его действие, предлагая формальные правила;
- гарантировать приемлемую надежность системы, в частности, посредством строгого разделения функций, и, таким образом, избежать распространения ошибок;
- обеспечить возможность модернизации, расширения и обслуживания, благодаря модульному принципу;
- оптимизировать производительность.
Таким образом, представленная архитектура не определяет ни аппаратных средств, ни программного обеспечения, но представляет концепцию организации аппаратного и программного обеспечения, используя преимущества иерархического и структурного подхода.
2.5.2 ФИЗИЧЕСКИЙ уровень
Уровень тесно связан с используемыми аппаратными средствами и определяет:
- физические характеристики среды передачи;
- характеристики соединений между устройствами обработки информации (DPTE) и модемами (ETCD), а также характеристики интерфейса, связанного с шиной;
- способ выполнения физического установления и прерывания связи;
- полудуплексную обработку;
- способ представления двоичных разрядов (0, 1): уровни сигналов на линии, продолжительность, интерпретация кода и т.д.
2.5.3 КАНАЛЬНЫЙ уровень
Назначение уровня состоит в том, чтобы двоичные разряды (сгруппированные в байты), представленные ФИЗИЧЕСКИМ уровнем, преобразовывать в свободные от ошибок структуры для связи со следующим уровнем.
Это включает в себя:
- проверку структуры циклическим избыточным кодом (
- преобразование многоточечной физической связи в двухточечное соединение посредством селективной адресации.
Ошибки связи возникают в случае отсутствия ответа после ожидания
2.5.4 СЕАНСОВЫЙ уровень
Уровень обрабатывает команды в последовательных структурах и представляет данные ПРИКЛАДНОГО уровня.
На этом уровне принимается, что все проблемы обнаружения ошибок, связанных с КАНАЛЬНЫМ уровнем, были разрешены. СЕАНСОВЫЙ уровень должен интерпретировать действия, которые требуются от него (дистанционное считывание, дистанционное программирование счетчиков, вызов забытых станций, инициализация шины и т.д.), представлять любые данные, которые нужно передать ПРИКЛАДНОМУ уровню и инициировать процедуру ответа, направляя данные в соответствии с командой к нижним уровням.
2.5.5 ПРИКЛАДНОЙ уровень
Самый высокий уровень. Его задача - пересылать три типа данных:
- данные идентификации, чтобы в некоторых случаях удостовериться, что определенные обработки запросов безопасны и закрыты для доступа;
- данные, определяющие характер требуемой информации, или тип данных в следующих полях;
- чистые данные, относящиеся к дистанционному считыванию устройства, или данные для дистанционного программирования.
2.5.6 Межуровневое взаимодействие
Выполнение протокола проводится на каждом уровне в соответствии с флагом синхронизации.
Стадии "приема-передачи" следуют друг за другом в зависимости от развивающегося обмена. Уровень не передает флаг синхронизации к следующему, более высокому или более низкому уровню до тех пор, пока задача, возложенная на него, не будет выполнена.
Любая ошибка на стадии приема (на стороне вторичной станции) транслируется выставлением флага ошибки, принадлежащего уровню, на котором она произошла (флаги
Синхронизацией управляет ФИЗИЧЕСКИЙ уровень так, чтобы запрещение одного уровня не привело к необратимым ситуациям.
Порядок следования и синхронизация номинальных уровней в последовательности "запрос-ответ"
Продвижение от одного уровня к другому может сопровождаться передачей параметров и "буферов данных", известных, например, по их местоположению в памяти (адресу) и длине (числу байтов). Такая информация может быть явной или неявной.
Пример передачи структуры совместно с блоками данных
Таблицы параметров могут посылаться непосредственно от уровня к уровню или путем определения адресов и длин всех составляющих таблиц.
Поэтому параметры занимают определенную позицию и всегда состоят из одного и того же числа байтов при передаче от одного уровня к другому.
2.6 ФИЗИЧЕСКИЙ уровень
2.6.1 Краткий обзор аппаратных средств. Блок-схема приемопередатчиков
Несущая ВЧ, непрерывно генерируемая генератором, поступает на один из входов схемы совпадения, а на другой вход которой поступает сигнал
На стороне первичной станции система не должна обнаруживать общие запросы.
На стороне вторичной станции программный или аппаратный общий запрос должен обнаруживаться.
Детальное описание аппаратных компонентов, используемых в модемах, и характеристики среды связи представлены в разделе 4.
2.6.2 Характеристики инициирующего запроса
Инициирующий запрос - это определенная последовательность сигналов, задачей которой является установление функции последовательного приема информации микропроцессором в режиме ожидания.
Указанная последовательность состоит из непрерывной несущей частоты, генерируемой в течение 100 мс (время инициирующего запроса -
2.6.2.1 Представление на шине
2.6.2.2 Принцип обнаружения. Устойчивость к помехам
За концом общего запроса должен следовать первый байт структуры после временной задержки
где
Примечание - После окончания инициирующего запроса вторичная станция имеет максимум времени
В течение общего запроса любая помеха, прерывающая несущую более чем на 100 мс, реинициализирует параметры обнаружения общего запроса.
Поэтому присутствие несущей в течение 50-150 мкс без помех, по длительности не превышающих 100 мкс, интерпретируется как инициирующий запрос и "приводит в готовность" вторичную станцию для приема байтов следующих структур.
2.6.3 Характеристики последовательностей передачи/приема
В соответствии со схемой, приведенной ниже, характеристики последовательности передачи/приема определены далее.
2.6.4 Временная диаграмма (номинальная)
2.6.4.1 Комментарии
Уровни передачи/приема на шине определяются в разделе 4.
Первой структуре, переданной первичной станцией, предшествует общий запрос номинальной длительности 100 мс. Этот сигнал генерируется последовательным портом передачи, используемым (
Байты в каждой структуре, передаваемой первичной или вторичной станцией, передаются в обратной логике:
- логический уровень 1 от
- логический уровень 0 от
После того как структура и стоп-бит последнего байта переданы, на шине более не будет несущей; аналогично задержки между байтами будут кодироваться отсутствием несущей на шине.
Стоп-сигналы принимаются каждый раз, когда обнаруживается конец структуры. Критерий обнаружения - это неполучение байтов в течение заданного времени
Модем может быть переключен на передачу, как только обнаружен конец структуры (и прием закончен) или только когда структура начинает передаваться. Оба эти факта должны быть возможными и необходимыми, чтобы протокол в целом работал должным образом.
Когда конец структуры обнаружен в режиме приема, первый байт структуры должен быть передан в течение времени, требуемого для верхних уровней, чтобы обработать полученную информацию и подготовить структуру ответа. Это время названо "временной задержкой КАНАЛЬНОГО уровня" (
Модем переключается с передачи на прием логически после передачи стоп-бита последнего байта в структуре. Эта длина фактически известна программному обеспечению передачи, которое и определяет момент переключения на прием.
2.6.5 Состояния на ФИЗИЧЕСКОМ уровне
2.6.5.1 Схема состояний на ФИЗИЧЕСКОМ уровне
2.6.5.2 Описание состояний на ФИЗИЧЕСКОМ уровне
Общие принципы
Всеми состояниями на уровне, связанном со временем выполнения, управляют "задержки", маркированные
Задержки, маркированные
Различные временные интервалы отсчитываются часами (таймерами), частота которых выбирается таким образом, чтобы быть согласованной с операциями синхронизации, определяемыми в приложении. Часы отсчитывают время параллельно с действиями ФИЗИЧЕСКОГО уровня.
ФИЗИЧЕСКИЙ уровень приводится в готовность и синхронизируется, если общий запрос обнаружен логически или физически, при условии, что критерии подтверждения общего запроса выполнены.
Однако в зависимости от типа разрабатываемого устройства возможно оставить ФИЗИЧЕСКИЙ уровень в постоянном ожидании; запуск будет активирован только при общем запросе; эта опция зависит от устройства, которым должны управлять вне протокола чтения по локальной шине.
Диаграмма и относящиеся к ней пояснения предполагают, что ФИЗИЧЕСКИЙ уровень полностью отключен от локальной шины для чтения по локальной шине.
Состояние 0
Общая инициализация протокола. Все переменные на всех уровнях, требуемые для выполнения обмена в целом, инициализируются в этом состоянии. Стартует таймер задержки связи
Состояние 1
Переинициализация
Прием байтов. Каждый полученный байт сохраняется в буфете, который будет посылаться к верхним уровням для обработки.
Состояние 2
Флаг синхронизации
Состояние 3
Передача байтов. Верхний уровень подготовит буфер или набор буферов, которые нужно передать. Их местоположение и длина переданы ФИЗИЧЕСКОМУ уровню для этого состояния передачи.
Состояние 4
По истечении времени
Состояние 5
Закрытие физической связи. ФИЗИЧЕСКИЙ уровень отключает все верхние уровни и отключается сам.
Все уровни протокола, таким образом, дезактивируются.
2.6.5.3 Описание событий на ФИЗИЧЕСКОМ уровне
А - сигнал несущей был обнаружен в течение времени
а1 - превышение времени отсутствия байтов
Это событие является стандартным выходом из состояния 1, когда не было обнаружено превышения никакой временной задержки, и обмен при этом не закончен.
b1 - превышение времени задержки для первого байта
Событие указывает, кроме всего прочего, что рестарта не произошло, и протокол может быть прерван (например после передачи структуры дистанционного считывания).
с1 - превышение времени задержки последовательного опроса станций (типа "пулемет") (
Примечание - Проверку времени можно заменить контролем над максимальным числом байтов, которые могут быть переданы в структуре, что дает эквивалентный результат.
d1 - превышение времени установки таймера связи
а2-b2-с2-f2 - возвращение верхних уровней к синхронизации посредством
Эти события затем дифференцируются в зависимости от состояния трех параметров
- проводится расшифровка команды
- обнаружен адрес
- команда
- обнаруживается первичный
а2 - событие
b2 - событие
с2 - событие
d2 - превышение времени задержки связи
е2 - превышение времени задержки КАНАЛЬНОГО уровня
f2 - событие
а4 - временная задержка
b4 - превышение времени задержки связи
а3 - выход после передачи структуры, где
b3 - выход после конца передачи структуры, где
Устройство не должно возвращаться в состояние 1 так, чтобы не принимать структуры, переданные другими станциями.
с3 - временная задержка передачи (
d3 - превышение времени задержки связи
Примечание -
В - самоотключение ФИЗИЧЕСКОГО уровня после выключения всех уровней протокола.
2.6.5.4 Схема нескольких примеров состояний
Дистанционное считывание. Типовой пример
Дистанционное программирование. Типовой пример
Инициализация шины. Типовой пример
Схема также применима в случае, если запрос забытой станции адресует не забытое устройство, и в случае дистанционного считывания или дистанционного программирования, инициирующего станцию, чей адрес не совпадает с адресом первичного запроса
Пример перезапусков, за которыми следует правильное дистанционное считывание при ошибке, обнаруженной вторичной станцией в верхних уровнях.
2.6.6 Схемы разделения времени
2.6.6.1 Типовые примеры (приведены со стороны вторичной станции)
2.6.6.2 Пример ошибки при приеме (приведен со стороны вторичной станции)
Пример соответствует событиям е2 и f2 на схеме ФИЗИЧЕСКОГО уровня, соответствующим превышению времени задержки КАНАЛЬНОГО уровня или ошибке на верхних уровнях (
Пример события е2 (
Время повторного запроса ПСУ после передачи:
Пример события f2 (
Время перезапуска ПСУ после передачи:
Для вышеупомянутых двух примеров время перезапуска должно быть в интервале:
160 мс
Необходимо отметить, что в соответствии с приведенным выше неравенством
Если ни одна из ожидаемых структур не приходит после того, как передана структура запроса, первичная станция должна выполнить перезапуск в окне разделения времени, определяемом
2.6.6.3 Пример запроса забытой станции
Станция после запроса забытой станции может ответить в трех временных позициях (окнах). Начало передачи структуры размещается в окне FE1, FE2 или FE3, если случайное число
Время
Если
Предполагается, что для ПСУ время задержки КАНАЛЬНОГО уровня эквивалентно задержке КАНАЛЬНОГО уровня устройства. Аналогично для максимального времени отсутствия байтов (
(
Через 500 мс после передачи первичная станция может определить три окна приема FR1, FR2 или FR3 с соответствующими параметрами:
Эти окна определены так, чтобы быть полностью синхронизированными с ответом забытой станции во всех случаях, которые могут возникнуть.
Ввиду теоретической возможности наличия структуры
Примечание - При структуре
2.6.6.4 Общие комментарии и детали измерений параметров
Время контролируют с точностью ±1% (с минимальной точностью ±10 мс).
Необходимо отметить, что время общего запроса ПСУ будет передано с точностью ±10 мс на любой стороне при номинальном значении 100 мс.
ПСУ должно оставлять достаточно времени между двумя последовательными обменами, чтобы первое вызванное устройство могло отключиться после обмена, в котором оно было задействовано, до вызова следующего устройства (это время должно быть больше, чем
2.7 КАНАЛЬНЫЙ уровень
2.7.1 Открытие-закрытие КАНАЛЬНОГО уровня
КАНАЛЬНЫЙ уровень, как только он активируется, находится в состоянии ожидания флага синхронизации (
Вторичная станция в режиме приема анализирует поступающую структуру, перед тем как сигнализирует верхнему уровню (СЕАНСОВОМУ) флагом синхронизации
Верхний уровень (СЕАНСОВЫЙ), в свою очередь, передает флаг
Флаг
Разъединение связи может происходить в любом из следующих четырех случаев, управляемых непосредственно КАНАЛЬНЫМ уровнем:
- ошибка при синтаксическом контроле (событие b12);
- полученный адрес не соответствует заданному адресу устройства или общему адресу (событие b13);
- конец формирования структуры ответа (событие а15);
- обратная связь СЕАНСОВОГО уровня с ERSES-ошибкой или флагом
Все прерывания связи переустанавливают КАНАЛЬНЫЙ уровень в состояние ожидания ФИЗИЧЕСКОГО уровня.
КАНАЛЬНЫЙ уровень отключается ФИЗИЧЕСКИМ уровнем только при нормальном завершении обмена или при истечении одной из допустимых временных задержек.
2.7.2 Формат получаемой структуры. Область действия КАНАЛЬНОГО уровня
2.7.2.1 Синтаксические проверки и проверки достоверности передачи
Они включают в себя:
-
- сравнение содержимого первого байта в структуре, представляющей число байтов, переданных первичной станцией, с числом байтов, фактически полученных вторичной станцией;
- проверку синтаксиса и достоверности по байту
- проверку синтаксиса и достоверности по байту
- проверку синтаксиса и достоверности по байту
Если какие-либо ошибки обнаружены вторичной станцией в процессе проверок, КАНАЛЬНЫЙ уровень отключается и возвращается в состояние ожидания любой процедуры перезапуска от ФИЗИЧЕСКОГО уровня.
Если никаких ошибок нет, КАНАЛЬНЫЙ уровень выполняет проверку поля адреса.
2.7.2.2 Проверка адресных полей
В зависимости от действия, которое нужно предпринять, поле
Поле
Когда вторичная станция распознает как свой
В противном случае КАНАЛЬНЫЙ уровень отключается, продолжая оставаться в режиме ожидания ФИЗИЧЕСКОГО уровня и посылая флаг синхронизации
2.7.3 Формат передаваемой структуры. Область действия КАНАЛЬНОГО уровня
На стадии возврата верхних уровней, в режиме передачи байтов вторичной станцией, КАНАЛЬНЫЙ уровень, который находился в режиме ожидания СЕАНСОВОГО уровня, получает флаг синхронизации
Чтобы минимизировать число параметров, "путешествующих" между уровнями, можно передавать только длину
Данные, которые должны быть переданы | Таблица, передаваемая в КАНАЛЬНЫЙ уровень |
После этой синхронизации обратной связи от верхних уровней, КАНАЛЬНЫЙ уровень проинструктирован, чтобы вставить поля
Первичный адрес
Байт
Таким образом, структура ответа включает набор буферов. Физическая процедура передачи, в свою очередь, ищет каждый из этих буферов, местоположение и длина которых известны. Точное число буферов выбирается проектировщиком в зависимости от имеющихся в его распоряжении аппаратных средств и ресурсов памяти, при условии, что он будет твердо придерживаться времени передачи.
2.7.4 Действия по формированию цепочки последовательностей
После свободной от ошибок последовательности "запрос-ответ" КАНАЛЬНЫЙ уровень вторичной станции переустанавливается в режим ожидания ФИЗИЧЕСКОГО уровня для возможного перезапуска или приема следующей структуры.
Даже при дистанционном считывании протокол позволяет считывать данные из нескольких последовательных структур "ответа", когда данные превышают максимальную длину структуры, без необходимости производить дальнейший общий запрос. Априори именно терминал ПСУ для ввода данных берет на себя инициативу считывания данных в нескольких последовательностях "запрос - ответ". Единственное ограничение состоит в полном времени связи, которое не должно превышать задержку времени связи
Формат дистанционного считывания нескольких последовательностей
2.7.5 Состояния КАНАЛЬНОГО уровня
2.7.5.1 Схема состояний КАНАЛЬНОГО уровня
2.7.5.2 Описание состояний КАНАЛЬНОГО уровня
Этот уровень может быть отключен только ФИЗИЧЕСКИМ уровнем.
Состояние 0
КАНАЛЬНЫЙ уровень, как только он активизируется, находится в состоянии ожидания синхронизации от ФИЗИЧЕСКОГО уровня. Выход из этого состояния ожидания осуществляется подключением КАНАЛЬНОГО уровня для фактического выполнения предписанных ему действий.
Как только его работа выполнена, КАНАЛЬНЫЙ уровень возвращается в состояние ожидания (разъединение).
Состояние 1
Это состояние включает инициализацию переменных, требуемых для надлежащего прохождения последовательности "запрос-ответ". Переменные
Состояние 2
Соответствует двум проверкам - синтаксической и правильности полученной структуры (см. 2.7.2.1). Ошибка, обнаруженная при любой из этих проверок, обуславливает выставление флага ошибки
Состояние 3
Соответствует проверке адресных полей
Состояние 4
Ожидание обратной связи по флагу синхронизации
Состояние 5
Построение структуры ответа (см. 2.7.3).
Состояние 6
Отключение КАНАЛЬНОГО уровня и передача синхронизации к более низкому уровню посредством
2.7.5.3 Описание событий КАНАЛЬНОГО уровня
AL - установка флага синхронизации
al1 - инициализация завершена, безусловный переход к состоянию 2.
al2 - различные синтаксические проверки, выполненные в состоянии 2, правильны, и выход из условия 2 с
bl2 - по крайней мере одна ошибка обнаружена в состоянии 2 и передается посредством
al3 - проверка адресного поля правильна; выход из состояния 3 с
bl3 - поле адреса неправильно; выход из состояния 3 с
al4 - установка флага синхронизации от СЕАНСОВОГО уровня (
bl4 - установка
cl4 - установка
al5 - передача КАНАЛЬНЫМ уровнем флага синхронизации в ФИЗИЧЕСКИЙ уровень посредством
BL - возвращение КАНАЛЬНОГО уровня к ожиданию ФИЗИЧЕСКОГО уровня после того, как КАНАЛЬНЫЙ уровень отключен и флаг
2.7.5.4 Схема нескольких примеров состояний
Дистанционное считывание. Типовой пример
Дистанционное программирование. Типовой пример
Инициализация шины
Пример перезапусков после ошибки при синтаксической проверке (
Пример перезапусков после ошибки и на СЕАНСОВОМ уровне (
2.8 СЕАНСОВЫЙ уровень
2.8.1 Открытие и закрытие СЕАНСОВОГО уровня
СЕАНСОВЫЙ уровень, как только он приведен в готовность, переходит в состояние ожидания флага синхронизации
Главная функция СЕАНСОВОГО уровня - интерпретировать содержание поля команды в полученной структуре, чтобы затем предпринять соответствующее действие и передать флаг синхронизации ПРИКЛАДНОМУ уровню. При возврате от ПРИКЛАДНОГО уровня СЕАНСОВЫЙ устанавливает командный байт, специально приготовленный для ответа, который нужно передать, и синхронизирует выполнение более низкого КАНАЛЬНОГО уровня.
СЕАНСОВЫЙ уровень отключается, когда он посылает флаг синхронизации
СЕАНСОВЫЙ уровень отключается только ФИЗИЧЕСКИМ уровнем при нормальном завершении обмена или истечении одной из допустимых временных задержек.
2.8.2 Поле команды в режиме приема
Возможные команды в начальной последовательности запрос-ответ это:
В последующих последовательностях, в зависимости от соответствующего выполнения, а не от типа обмена, команды могут быть:
-
-
-
Если команда
Любое неправильное формирование цепочки последовательностей генерирует ошибку СЕАНСОВОГО уровня посредством
2.8.3 Поле команды в режиме ответа
Любая команда запроса, полученная устройством (см. 2.8.2), систематически ассоциируется с командой ответа (кроме
Тип команды | Поле | |
Запрос | Ответ | |
Дистанционное считывание | ||
Дистанционное программирование | ||
Инициализация шины | - | |
Запрос забытой станции |
Эта команда ответа помещается в передаваемый(е) буфер(а), возвращаемый(е) от ПРИКЛАДНОГО уровня (
Если идентификатор
-
-
2.8.4 Возможные примеры интерпретации команды
Чтобы интерпретировать команды, необходимо знать, первая ли это или последующая последовательность. Для этой цели предназначена переменная
-
-
-
-
Еще одна переменная
Поле команды в режиме приема
Все флаги (
Переменная
Таблица в 2.10.2 показывает набор уровней для каждого флага и один из них, который его использует.
Все эти переменные позволяют составить блок-схемы алгоритмов с различными возможностями интерпретации команд.
Алгоритм состояния 2
1) Если
- установить
- установить
- подготовить командный байт
- синхронизировать ПРИКЛАДНОЙ уровень посредством
- ожидать ПРИКЛАДНОЙ уровень.
2) Если
- установить
- установить
- подготовить командный байт
- синхронизировать ПРИКЛАДНОЙ уровень посредством
- ожидать ПРИКЛАДНОЙ уровень.
3) Если
- установить
- установить
- подготовить байт ответа
- синхронизировать ПРИКЛАДНОЙ уровень посредством
- ожидать ПРИКЛАДНОЙ уровень.
4) Если
- установить
- установить
- синхронизировать ПРИКЛАДНОЙ уровень
- ожидать ПРИКЛАДНОЙ уровень.
5) Если
-
- синхронизировать КАНАЛЬНЫЙ уровень посредством
- ожидать КАНАЛЬНЫЙ уровень.
1) Если
a) то (рестарт дистанционного чтения или запрос новых таблиц данных) следует:
- подготовить командный байт ответа:
- синхронизировать ПРИКЛАДНОЙ уровень посредством
- ожидать ПРИКЛАДНОЙ уровень;
b) в других случаях (неправильная цепочка - ошибка) необходимо:
- установить
- синхронизировать КАНАЛЬНЫЙ уровень посредством
- ожидать КАНАЛЬНЫЙ уровень.
2) Если
a) то (рестарт дистанционного чтения на первой последовательности запрос-ответ) следует:
- подготовить командный байт ответа:
- синхронизировать ПРИКЛАДНОЙ уровень посредством
- ожидать ПРИКЛАДНОЙ уровень;
b) в других случаях (неправильная цепочка - ошибка) необходимо:
- установить
- синхронизировать КАНАЛЬНЫЙ уровень посредством
- ожидать КАНАЛЬНЫЙ уровень.
3) Если
то при
a) первый
- подготовить командный байт ответа:
- установить запрос-ответ (
- синхронизировать ПРИКЛАДНОЙ уровень посредством
- ожидать ПРИКЛАДНОЙ уровень;
b) в других случаях (перезапуск по
- при
- при
- или (последний
- подготовить командный байт ответа
- установить поле данных "пусто",
- синхронизировать КАНАЛЬНЫЙ уровень посредством
- ожидать КАНАЛЬНЫЙ уровень.
В других случаях (неправильная цепочка команд - ошибка) следует:
- установить
- синхронизировать КАНАЛЬНЫЙ уровень посредством
- ожидать КАНАЛЬНЫЙ уровень.
4) Если
-
- синхронизировать КАНАЛЬНЫЙ уровень посредством
- ожидать КАНАЛЬНЫЙ уровень.
2.8.5 Состояния СЕАНСОВОГО уровня
2.8.5.1 Схема состояний СЕАНСОВОГО уровня
2.8.5.2 Описание состояний СЕАНСОВОГО уровня
Этот уровень может быть отключен только ФИЗИЧЕСКИМ уровнем.
Состояние 0
Как только он приведен в готовность, СЕАНСОВЫЙ уровень самопереводится в состояние ожидания флага синхронизации от КАНАЛЬНОГО уровня.
Состояние 1
Инициализация параметров
Состояние 2
Поле команды интерпретируется в соответствии с различными параметрами, как упоминалось в 2.8.4, чтобы определить тип действия, которое нужно предпринять.
В этом состоянии также подготавливается командный байт ответа для перехода в состояние 4.
Состояние 3
Ожидание синхронизирующей обратной связи от ПРИКЛАДНОГО уровня.
Состояние 4
Установка команды ответа, подготовленной в состоянии 2 и модифицированной по
Состояние 5
СЕАНСОВЫЙ уровень отключается, и синхронизация перемещается на более низкий уровень посредством
2.8.5.3 Описание событий СЕАНСОВОГО уровня
As - получение флага синхронизации
as1 - безусловный переход из состояния 1 в состояние 2.
as2-bs2-cs2 - переходы, являющиеся различными интерпретациями команды; в то же самое время флаг
as2 - интерпретация команды правильна для выполняемой последовательности и для предыдущих последовательностей (
bs2 - интерпретация команды отлична от ожидаемой (
cs2 - ответ на перезапуск при второй последовательности запрос-ответ от средств дистанционного программирования: посылается тот же самый ответ, что и для первого вызова.
as3 - флаг синхронизации
bs3 - флаг синхронизации
as4 - безусловный переход после установки команды (состояние 4) к состоянию 5 вместе с установкой флага синхронизации для более низкого КАНАЛЬНОГО уровня (
Bs - возврат к состоянию ожидания КАНАЛЬНОГО уровня для следующей последовательности запрос-ответ после отключения и передачи
2.8.5.4 Схема нескольких примеров состояний
Дистанционное считывание. Типовой пример
Дистанционное программирование. Типовой пример
Инициализация шины
Вызов забытой станции, адресованный к забытой станции
Вызов забытой станции, адресованный к незабытой станции
2.9 ПРИКЛАДНОЙ уровень
2.9.1 Открытие-закрытие
После открытия в начале протокола ПРИКЛАДНОЙ уровень устанавливается в состояние ожидания флага синхронизации от СЕАНСОВОГО уровня. Если более низкие уровни выполняют свои задачи правильно, флаг
ПРИКЛАДНОЙ уровень отключается, как только установлен флаг для более низкого СЕАНСОВОГО уровня.
ПРИКЛАДНОЙ уровень может быть отключен только ФИЗИЧЕСКИМ уровнем.
2.9.2 Действия, связанные с ПРИКЛАДНЫМ уровнем в режиме дистанционного считывания
Структура, поступающая во вторичную станцию, включает 1 байт данных
Если тип
2.9.3 Действия, связанные с ПРИКЛАДНЫМ уровнем в режиме дистанционного программирования
Первые 16 байтов поля данных предназначены для идентификационных параметров.
2.9.3.1 Принцип дуплексной идентификации
Идентификация выполняется посредством обмена случайными числами, закодированными с использованием секретного ключа, специфического для каждого устройства (
Эта дуплексная идентификация налагается на структуры Р1, Р2 и Р3 следующим образом:
Ключ
Случайное число
При поступлении во вторичную станцию поле
Возвращаемая структура Р2 содержит случайное число
При получении Р2 ПСУ декодирует поле
После правильной идентификации вторичной станции ПСУ кодирует случайное число
Вторичная станция декодирует поле
Структура Р4 передается вторичной станцией, чтобы показать, что дуплексная идентификация была подтверждена и что она также была в состоянии проверить правильность данных дистанционного программирования, сохраненных после структуры Р1.
Принцип такого обмена, следовательно, обеспечивает защиту от предпринимаемого постороннего вмешательства при дистанционном программировании.
Принцип обмена при дистанционном программировании с идентификацией должен использоваться всякий раз, когда любой элемент данных в вызываемой вторичной станции изменяется (переустановка в нуль, изменение во внутренних параметрах и т.д.). Следовательно, дистанционное считывание никогда не изменяет данные, переданные вторичной станцией.
2.9.3.2 Действие, связанное с полем данных
Это поле содержит собственно данные дистанционного программирования; оно передается в структуре Р1 для сохранения вторичной станцией, ожидающей подтверждения.
Оно отражается вторичной станцией в структуре Р2. После проверки идентификационных полей ПСУ проверяет, что ответные данные соответствуют данным, переданным в Р1. Если имеется несоответствие, оно повторяет дефектную последовательность; другими словами, оно повторяет свой запрос Р1 с другим случайным числом
При получении структуры Р3 вторичная станция проверяет идентификацию первичной станции. Если проверка положительна, то предварительно сохраненные данные могут быть декодированы и может быть проверена их достоверность.
Когда последняя операция успешно завершена, структура Р4 с командой
Если возникают какие-либо проблемы декодирования с данными программирования, они не подтверждаются, и ПРИКЛАДНОЙ уровень вторичной станции устанавливает флаг
2.9.3.3 Описание поля данных
Поле данных
- поле
- поле
2.9.4 Действия, связанные с запросами забытых станций
При запросе забытой станции простого факта получения флага
ПРИКЛАДНОЙ уровень устанавливает переменную
2.9.5 Состояние ПРИКЛАДНОГО уровня
2.9.5.1 Схема состояний ПРИКЛАДНОГО уровня
2.9.5.2 Описание состояний ПРИКЛАДНОГО уровня
Этот уровень может быть отключен только ФИЗИЧЕСКИМ.
Состояние 0
Ожидание СЕАНСОВОГО уровня. Как только он приведен в готовность, ПРИКЛАДНОЙ уровень переводит себя в состояние ожидания синхронизации от СЕАНСОВОГО уровня.
Состояние 1
Инициализация последовательности запрос-ответ. Каждая последовательность начинается инициализацией определенных параметров
Состояние 2
Интерпретация флагов, указывающих тип полученной команды, которая позволяет переход в состояния 3, 5, 7, 8 или 11.
Состояние 3
Дистанционное считывание: интерпретация байта
Состояние 4
Дистанционное считывание: подготовка ответной таблицы данных в соответствии с полученной
Состояние 5
Запрос забытой станции: проверка наличия известного
Состояние 6
Запрос забытой станции: подготовка ответа посредством установки вторичного адреса станции и первого известного
Состояние 7
Дистанционное программирование. Первая последовательность: поле данных ответа принимает то же самое случайное число
Состояние 8
Дистанционное программирование. Вторая последовательность: поле данных содержит закодированное число
Состояние 9
Дистанционное программирование. Вторая последовательность: декодирование данных дистанционного программирования и связанные определяемые задачей действия.
Состояние 10
ПРИКЛАДНОЙ уровень отключается, и синхронизация переходит к более низкому уровню посредством
Состояние 11
Инициализация шины. Инициализация флага забытой станции (
2.9.5.3 Описание событий
Аа - получение флага синхронизации
аа1 - безусловный переход от состояния инициализации 1 к состоянию 2.
аа2 - флаг, посылаемый СЕАНСОВЫМ уровнем (
ba2 - флаг, посылаемый СЕАНСОВЫМ уровнем (
са2 - флаг, посылаемый СЕАНСОВЫМ уровнем (
da2 - флаг, посылаемый СЕАНСОВЫМ уровнем (
еа2 - флаг, посылаемый СЕАНСОВЫМ уровнем (
аа3 -
bа3 -
аа4 - безусловный переход из состояния 4 в состояние 10.
аа5 -
ba5 -
- либо вторичная станция не была забыта (
- либо пересечение между списком
аа6 - безусловный переход к состоянию 10. Переменная
аа7 - безусловный переход к состоянию 10.
аа8 -
ba8 -
аа9 -
ba9 -
аа11 - безусловный переход к состоянию 10. Переменная
Ва - после отключения и установки
2.9.5.4 Возможное упрощение
Эти состояния представляют только минимум действий, которые должны быть предприняты в отношении всевозможных применений, использующих протокол чтения по локальной шине. Только для дистанционного считывания (без дистанционного программирования) они могут быть упрощены.
Фактически для этого типа применений команда
В этом случае ПРИКЛАДНОЙ уровень никогда не синхронизируется и не встречается c
На диаграмме состояний ПРИКЛАДНОГО уровня поэтому можно удалить все состояния и действия, связанные с
2.10 Краткое описание и взаимодействия между уровнями
2.10.1 Упрощенная общая схема состояний
Примечание - Временные задержки не показаны.
2.10.2 Флаги синхронизации и параметры
Глобальная инициализация | ||||||
Уровень | ФИЗИЧЕСКИЙ | КАНАЛЬНЫЙ | СЕАНСОВЫЙ | ПРИКЛАДНОЙ | ||
Инициализация | ||||||
Флаги синхронизации и передаваемые параметры | ||||||
Буфера | Буфера | Буфера | ||||
Переменная, присваиваемая при условиях и действиях | ||||||
Флаги синхронизации и передаваемые параметры |
|
|
| |||
Таблица не содержит управление переменными времени. | ||||||
Примечание - Флаги ошибки |
В представленной ранее операции подразумевается, что посылка
Для ФИЗИЧЕСКОГО уровня простая проверка
2.10.3 Упрощенная общая диаграмма, охватывающая несколько примеров
2.10.4 Общие комментарии
Целью настоящего стандарта является определение протокола для вторичных станций (называемого вторичным протоколом). Протокол первичной станции по своей природе является дополнительным и может быть выведен из вторичного протокола. Все, что необходимо для его создания, может быть логически получено из пунктов, рассмотренных выше.
Следовательно, все диаграммы, рисунки и пояснения должны быть соответствующим образом интерпретированы, сохраняя "в уме" протокол вторичной станции.
2.10.5 Реализация протокола
Представление различных уровней информационного обмена предлагает не более чем основу (каркас) для его разработки и реализации. Окончательная реализация может сгруппировать или разбить некоторые состояния в зависимости от легкости программирования, используемого языка и выбранной архитектуры. Для обеспечения совместимости всех разработок в рамках этого протокола важно, чтобы идентичные события производили идентичные эффекты и были выдержаны временные ограничения.
Что касается метода программирования, то начальный подход может привести проектировщика к разработке протокола в чисто последовательной логике в предположении, что каждый уровень представляет собой перекрытие подпрограмм. Другой подход мог бы реализовать разработку, связанную с многозадачным монитором (или супервизором). В этом случае каждый уровень мог бы рассматриваться как одна задача.
3 Обмен данными по локальной шине со стороны первичной (управляющей) станции - контроллер
3.1 Введение
В настоящем стандарте определены правила, которым надо следовать при реализации протокола, рассматриваемого со стороны ПСУ. В дальнейшем часто приводится ссылка на раздел 2, который определяет функциональные возможности протокола, общую организацию структур и обменов и различные уровни вторичной станции (запрашиваемого устройства).
Нижеприведенные пункты настоящего раздела удовлетворяют следующим требованиям:
- 3.2 и 3.3 - содержат общие сведения вместе с дополнительной информацией, существенной для понимания системы;
- 3.4 - определяет принципы интерфейсного взаимодействия протокола с внешним процессом, связанным с ПСУ. Краткое описание содержания таблиц данных, которыми обмениваются при активации и завершении протокола, дает возможность разъяснить обмены с ПСУ;
- 3.5-3.8 - описывают различные уровни, составляющие протокол чтения по локальной шине, относительно первичной станции;
- 3.9 - описывает взаимодействие между различными уровнями протокола.
3.2 Общие положения
3.2.1 Функциональные возможности протокола
Протокол, предназначенный для передачи информации между вторичными станциями и первичной станцией, должен поддерживать три существенные функции - дистанционное считывание информации, дистанционное программирование и обнаружение забытых станций, подключенных к шине (см. раздел 2).
3.2.2 Основные принципы
См. определения в 1.3.
Общие характеристики, относящиеся к обмену, описаны в разделе 2.
Различные ситуации, касающиеся общей организации структур и обменов, общее строение структур и определения различных составляющих их блоков, как и детальная структура для каждого случая дистанционного считывания, дистанционного программирования и вызова забытой станции, подчиняются спецификациям, приведенным в разделе 2.
3.2.3 Структура протокола
Для соответствия общим правилам, управляющим реализацией и архитектурой протокола, чтение по локальной шине ранжировано на четыре уровня (ФИЗИЧЕСКИЙ, КАНАЛЬНЫЙ, СЕАНСОВЫЙ, ПРИКЛАДНОЙ).
Такая организация доказала свои преимущества во многих отношениях, особенно в простоте представления и возможности понимать систему протокола, таким образом подразумевая меньшую сложность при проектировании, реализации и обслуживании.
Архитектура, представленная здесь, тем не менее, является только основой выполнения (реализации) для протокола первичной станции. Мелкие детали этой основы представлены в настоящем стандарте только для того, чтобы лучше определить предусмотренные функциональные возможности работы системы.
В этом отношении окончательная реализация в соответствии с упомянутыми деталями могла бы организовать автоматические режимы, описанные ниже, по-другому, группируя, разделяя или модифицируя некоторые состояния. Тем не менее, для того чтобы обеспечить необходимую совместимость между различными реализациями одного и того же протокола, существенно, чтобы все функции выполнялись в полном объеме, все описанные события производились с идентичным эффектом и чтобы принимались во внимание ограничения по разделению времени.
Необходимо также учитывать, что представление протокола в настоящем стандарте, даже если оно основано на многозадачной архитектуре, не должно исключать другие принципы программирования, такие, например, как чисто последовательные.
3.3 Таблица данных А - прием и таблица данных В - передача
Таблица А, доступная для протокола в начале его работы, делает возможным недвусмысленно определить основную операцию (действие), соответствующую обмену, который должен быть осуществлен по шине.
Таблица В, созданная протоколом и доступная в конце его работы, позволяет узнать результат выполнения основной операции.
Основные операции подразделяют на четыре категории:
- инициализация шины
- запрос забытой станции
- дистанционное считывание вторичной станции
- дистанционное программирование вторичной станции
3.3.1 Таблица данных А - прием
Полная информация о результате выполнения основной операции состоит из информации о следующих параметрах, которые необходимы и адекватны для управления протоколом в целом:
- адрес вызываемой вторичной станции
- адрес вызывающей первичной станции
- тип операции
- данные
Для более простой обработки этой информации с ней связываются дополнительные параметры при составлении таблицы А:
-
-
3.3.2 Таблица данных В - передача
Полная информация о результате выполнения основной операции состоит из информации о следующих параметрах:
- диагностика выполнения протокола;
- для каждой последовательности (
- для каждой идентичной последовательности (
ошибка из-за временной задержки
ошибка в уровнях
результирующие данные выполняемой операции
Таблица В конструируется из этой информации, связанной с дополнительными параметрами, позволяющими простую обработку:
-
значение (
-
значение
-
3.3.3 Организация таблиц формата байтов
Общая организация таблиц представлена ниже.
В поле наименьшие значимые байты находятся вверху, а наибольшие значимые - внизу.
3 | |
3 |
Для того чтобы сделать их понятными для любого 7- или 8-элементного кода ИСО, например N 5
Пример -
3 | 0 | |
3 | 1 | |
3 | 2 | |
3 | 3 | |
3 | 4 | |
3 | 5 |
Кодирование полей
То же самое относится к
3.3.3.1 Таблица А
Примечание - Значения в круглых скобках - десятичные, все остальные - шестнадцатеричные.
Значения, принимаемые
Дистанционное считывание в различных посылаемых и возвращаемых | (1) | (2) | (3) | (4) | (5) | |||||
3 | 2 | 3 | 4 | 3 | 6 | 3 | 8 | 3 | А | |
3 | 0 | 3 | 0 | 3 | 0 | 3 | 0 | 3 | 0 | |
3 | 6 | 3 | 8 | 3 | А | 3 | С | 3 | Е | |
3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 |
3.3.3.2 Таблица В
3.3.3.3 Детали таблицы В
Значения в круглых скобках - десятичные, остальные - шестнадцатеричные.
3.3.3.4 Деталь окна
Тип ответа | 1 | 2 | 3 | ||
Поле | 3 | 0 | 3 | F | |
3 | 0 | 3 | F |
3.3.3.5 Деталь полей
Деталь кодирования временных задержек | Деталь кодирования | ||||||
2 | 1 | 0 | Значение | 1 | 0 | Значение | |
0 | 0 | 0 | Задержка не инициирована | 0 | 0 | Нет ошибок | |
0 | 0 | 1 | Задержка передачи - | 1 | 0 | Отклоненные данные ( | |
0 | 1 | 0 | Задержка начала - | 0 | 1 | Отклоненная идентификация ( | |
1 | 0 | 0 | Задержка КАНАЛЬНОГО уровня - | 1 | 1 | Ошибка в ПРИКЛАДНОМ уровне ( | |
1 | 1 | 1 | Задержка пулемет" - |
3.3.3.6 Инициализация таблицы В
В случае переполнения при задержке
Для подготовки к возможному прекращению обмена в случае превышения временной задержки таблица В инициализируется следующим образом.
3.3.4 Таблицы А и В, связанные с инициализацией шины
3.3.4.1 Получаемая таблица А
Инициализация шины всегда выполняется надо всей шиной в целом, следовательно, поле
Поле
Поле данных
Первичная станция помещает свой адрес в поле
Число байтов в этой таблице постоянно и равно 20.
3.3.4.2 Возвращаемая таблица В
Теоретически за инициализацией шины не следуют ответы со стороны вторичной станции, поэтому поле
При этой операции не выполняется никакой процедуры перезапуска, которая определяет значения, содержащиеся в полях
Бит
3.3.5 Таблицы А и В, связанные с запросом забытых станций
3.3.5.1 Получаемая таблица А
Запрос забытой станции посылается ко всей или части шины в зависимости от содержания
После обработки, как и в предыдущем параграфе,
Содержание различных полей, следовательно, выводится из этих факторов. Поле
Поле
Первичная станция будет указывать свой адрес в поле
3.3.5.2 Возвращаемая таблица В
Результат операции запроса забытой станции имеет несколько форм. Фактически, если нет забытых станций, то никакая станция не должна отвечать. Если станции являются забытыми, они отвечают в одном из трех случайных окон разделения времени. Результирующая Таблица В должна показывать, что произошло в каждом из этих окон.
Тип 1 - отсутствие ответа в начальном окне FEi: поле BFEi будет в нуле (30Н).
Тип 2 - понятный ответ в окне FEi: поле BFEi, соответствующее этому окну, содержит адрес отвечающей станции (
Тип 3 - непонятный ответ в окне FEi: поле, соответствующее этому окну, содержит FF...FF (3FH).
Каждое из трех полей BFEi состоит из 12 байтов, поэтому поле
Поле
После правильного обмена байты
- нет ответа;
- правильный ответ;
- неопределенный ответ.
Таблица В всегда состоит из 54 байтов (36Н).
3.3.6 Таблицы А и Б, связанные с дистанционным считыванием
3.3.6.1 Получаемая таблица А
При дистанционном считывании обмен может состоять из нескольких последовательностей, соответствующих последовательным дистанционным считываниям различных данных; эта возможность предлагается протоколом, чтобы позволить считывание данных, содержащих более 116 байтов (см. детали этой операции дистанционного считывания несколькими последовательностями в разделе 2).
Максимальное число последовательностей - пять, что позволяет считывание данных, содержащих до116
Для определения числа и порядка этих следующих друг за другом последовательностей таблица А включает в поле данных
В таблице А, следовательно, поля
3.3.6.2 Возвращаемая таблица В
Данные, считываемые в различных последовательностях, восстанавливаются в различных полях
Поле
Если в каждой из трех последовательностей запрос-ответ связь происходила с ошибкой, данные, относящиеся к этой связи, не появятся в таблице В, но результаты других связей, тем не менее, являются доступными, если они выполнены нормально.
Если обмен имел место с ошибкой для последовательности и ее двух повторений, то данные, связанные с этой последовательностью, не появляются в таблице В, но результат любой другой последовательности по-прежнему доступен, если они прошли без ошибок.
3.3.7 Таблицы А и В, связанные с дистанционным программированием
3.3.7.1 Получаемая таблица А
При дистанционном программировании необходимая информация для выполнения обмена состоит из обычных данных
Ключ включает 64 бита в структурах протокольного обмена; он кодируется 16 байтами в таблице А аналогично числу
Примечание - Для обеспечения защиты ключа рекомендуется передавать закодированную версию его применений в таблице А интерфейсу первичной станции.
Максимальная длина данных дистанционного программирования - 202 байта в таблице А (т.е. 101 фактический байт в протоколе). Это значение определяет длину поля
3.3.7.2 Возвращаемая таблица В
Возвращаемая таблица для дистанционного программирования включает 16-байтовое поле данных, соответствующее случайному числу
Поле
3.4 Инициализация протокола и последовательность действий при обмене
3.4.1 Инициализация
Протокол ПСУ инициализируется внешней процедурой, которая ожидает возврата переменной
Для того чтобы исключить некоторые неопределенности, которые могут возникнуть при выполнении протокола, ПСУ всегда играет роль первичной станции при любом виде обслуживания.
3.4.2 Последовательность действий при дистанционном программировании
За каждым обменом дистанционного программирования следует обмен дистанционного считывания, позволяющий проверить согласованность информации, запрограммированной в адресованном устройстве и содержащейся в ПСУ.
Запрограммированные данные должны быть автоматически удобочитаемыми одной или несколькими последовательностями с помощью одного или нескольких
Для того чтобы упростить управление таблицами в ПСУ, когда обмены дистанционного считывания и дистанционного программирования должны выполняться по одной и той же шине, ПСУ в первую очередь осуществляет все обмены дистанционного считывания (возможно, связанные с процедурой запроса забытой станции, как определено ниже), а затем обмены дистанционного программирования требуемых устройств.
Последовательность действий при дистанционном программировании
3.4.3 Последовательность действий при обращении к забытым станциям
В случае запроса забытой станции, если возвращаемая таблица В включает один или несколько опознанных адресов в одном из трех окон BFEi полей, ПСУ в следующем обмене будет инициировать считывание идентифицированной забытой станции. Если возвращаемая таблица содержит одно или несколько окон FF...FFH полей, ПСУ обновит запрос забытой станции в следующем обмене.
Эта последовательность объясняется на нижеследующей блок-схеме. Запрос забытой станции заканчивается, когда все забытые станции были обнаружены или когда номер запроса забытой станции принимает значение, которое будет установлено ПСУ в соответствии с ожидаемой вероятностью успеха.
В конце этой последовательности ПСУ будет иметь доступ ко всей необходимой информации относительно забытых станций; помимо всего другого оно может определить, имеются ли еще какие-либо забытые станции после нескольких санкционированных обменов.
Блок-схема запроса забытой станции
3.4.4 Время, разделяющее два обмена
Принимая во внимание функциональные характеристики протокола, максимальное время между двумя последовательными обменами должно быть определено, чтобы гарантировать, что протокол вторичной станции закончен, прежде чем возобновить новый обмен. Это время должно быть больше, чем время, оставляемое вторичной станцией для возможной процедуры перезапуска, следовательно, минимальное время между концом протокола первичной станции и ее стартом для следующего обмена составляет 200 мс.
3.4.5 Время обмена, определяемое внешним процессором
Если протокол ведущей станции (контроллер) терпит неудачу так, что ответа нет (возврат таблицы Б и флага
Перед реинициализацией внешний процесс должен снова инициализировать уровни протокола.
3.5 ФИЗИЧЕСКИЙ уровень
3.5.1 Общие положения
Основные схемы для системы посылки/приема для первичной станции или вторичных станций приведены в разделе 2.
ФИЗИЧЕСКИЙ уровень активируется событием вне инициативы ПСУ, начиная с общей инициализации, необходимой для всех уровней протокола, и активации других уровней протокола: КАНАЛЬНОГО, СЕАНСОВОГО и ПРИКЛАДНОГО.
Во время обмена первичная станция берет на себя инициативу, генерируя инициирующий запрос в течение номинального периода 100 мс, подробности см. в разделе 2.
Когда сделан инициирующий запрос, ФИЗИЧЕСКИЙ уровень ожидает установку структуры более высокими уровнями в соответствии с различными параметрами, содержащимися в таблице А. Когда первая структура, которая должна быть передана по шине, полностью установлена, ФИЗИЧЕСКИЙ уровень получит флаг синхронизации от непосредственно следующего за ним уровня (КАНАЛЬНОГО), чтобы начать передачу рассматриваемой структуры. В конце передачи активируется пауза ответа продолжительностью 40 мс -
С этого момента вторичная станция, если она отвечает, должна предпринять действие в течение времени, меньшего
Далее возможны два случая. Либо в течение выделенного времени поступает ответ, тогда первичная станция сохраняет всю структуру до тех пор, пока не возникает условие "нет байтов", указывающее на конец структуры (
Условие неполучения (
После интерпретации полученной структуры (
При выполнении операций на ФИЗИЧЕСКОМ уровне особый случай возникает при запросе забытой станции. За созданием такой структуры следуют возможные ответы в трех ясно определенных окнах разделения времени. Переменная
3.5.2 Состояния ФИЗИЧЕСКОГО уровня
3.5.2.1 Схема состояний
3.5.2.2 Описание состояний
Общие принципы
Время выполнения для каждого состояния контролируется переменной, называемой временной задержкой. Каждый раз, когда состояние становится доступным, его задержка переустанавливается и затем увеличивается до тех пор, пока состояние является активным. Превышение этого времени приводит к более раннему выходу из рассматриваемого состояния.
Для контроля полного времени обмена счетчик времени
Этот ранний выход в случае превышения временной задержкой связан с установкой флага переполнения в поле
Время ожидания
Эти различные временные счетчики управляются таймером, период которого должен выбираться так, чтобы удовлетворить критерию измерения времени, определенному ниже. Этот таймер осуществляет управление параллельно с действиями ФИЗИЧЕСКОГО уровня.
При инициализации параметры
Детали этой операции даны при описании ПРИКЛАДНОГО уровня.
Состояние 0
Общая инициализация протокола. Старт таймера задержки связи
Верхние уровни КАНАЛЬНЫЙ, СЕАНСОВЫЙ и ПРИКЛАДНОЙ приводятся в состояние готовности.
Состояние 1
ФИЗИЧЕСКИЙ уровень генерирует инициирующий запрос (см. 2.6.2).
Когда время инициирующего запроса достигает номинального значения, активируется пауза ответа
Раздел 2 определяет, что за инициирующим запросом должен следовать первый байт в структуре спустя минимум
По окончании задержки ответа ФИЗИЧЕСКИЙ УРОВЕНЬ путем установления флага синхронизации
Состояние 2
Переход в состояние ожидания флага синхронизации
Состояние 3
Посылка байтов: верхние уровни сформировали буфер или набор буферов для передачи; их положение и длина посланы ФИЗИЧЕСКОМУ уровню так, что он может выполнить передачу байтов, составляющих буфер(а).
За этим состоянием следует ожидание (
Состояние 4
Прием байтов. ФИЗИЧЕСКИЙ уровень переводит модем в состояние приема и сохраняет получаемые байты в буфере, который будет послан верхним уровням для обработки.
В случае запроса забытой станции с
Состояние 5
Случай запроса забытой станции (0
Состояние 6
Конец ФИЗИЧЕСКОГО уровня, который завершает все более высокие КАНАЛЬНЫЙ, СЕАНСОВЫЙ и ПРИКЛАДНОЙ уровни и переводит себя в состояние окончания работы после передачи посредством
3.5.2.3 Описание переходов
Ар - приведение в готовность и активация процесса на ФИЗИЧЕСКОМ уровне внешним процессом.
а0 - безусловный переход из состояния 0 в состояние 1.
а1 - после инициирующего запроса и 40 мс ожидания безусловный переход из состояния 1 в состояние 2.
а2 - событие
b2 - событие
с2 - событие
- в начале первого окна
- в начале второго окна
- в начале третьего окна
d2 - переполнение
f2 - событие
е2, с3, d4, b5 - задержка передачи, отсчитываемая после инициирующего запроса, проверяется после каждого состояния 2, 3, 4 и 5; ее превышение обуславливает переход в состояние 6, соответствующее остановке протокола.
а3 - нормальный выход из состояния 3, если задержки
b3 - превышение задержки передачи
а4 - первичная станция не получает никакого байта, что приводит к превышению времени ожидания первого байта (
Это событие соответствует случаю отсутствия ответа от вторичной станции; следовательно, работа протокола является ошибочной, если он включает обмены дистанционного считывания или дистанционного программирования, но может соответствовать нормальному случаю, если он имеет дело с запросом забытой станции или инициализацией шины.
b4 - событие
с4 - превышение задержки
а5 - во время запроса забытой станции три окна контролируются по времени таймером; переполнение этого таймера (таймер
Вр - состояние 6 связано с прекращением протокола в целом и посылкой флага синхронизации (
3.5.2.4 Схема состояний, иллюстрирующая несколько примеров
В этих различных случаях не предусматривается превышение задержки.
Дистанционное считывание. Типовой случай
Дистанционное программирование. Типовой случай
Инициализация шины. Типовой случай
Запрос забытой станции. Случай наличия ответа только во втором окне
3.5.3 Схемы разделения времени
3.5.3.1 Типовой случай (рассматривается со стороны первичной станции)
Следует сравнить временную диаграмму с диаграммой, приведенной в разделе 2 (типовой случай, рассмотренный со стороны вторичной станции). Работа первичной станции на уровне разделения времени в точности соответствует работе вторичной станции.
Время
3.5.3.2 Другие случаи. Факторы, имеющие отношение к точности определения времени
Диаграммы, в случае ошибки после приема и вызова забытой станции, могут быть получены из диаграмм раздела 2.
Время контролируют с точностью ±1% (±10 мс).
Следовательно, время инициирующего запроса, что касается первичной станции, находится в диапазоне от
3.6 КАНАЛЬНЫЙ уровень
3.6.1 Общие положения
КАНАЛЬНЫЙ уровень приводится в готовность ФИЗИЧЕСКИМ уровнем при активации последнего. Затем он находится в состоянии ожидании флага синхронизации (
При получении этого флага он выполняет свои действия до передачи сигнала верхнему уровню (СЕАНСОВОМУ) посредством флага синхронизации
Затем он переводится в режим ожидания возврата флага синхронизации (
Этот процесс синхронизации может быть представлен следующим образом.
Отключение (возврат в состояние ожидания ФИЗИЧЕСКОГО уровня) может происходить при различных событиях, которые будут описаны в диаграмме состояний.
КАНАЛЬНЫЙ уровень отключается только ФИЗИЧЕСКИМ уровнем в нормальном конце обмена или при переполнении одной из временных задержек.
3.6.2 Поля операций КАНАЛЬНОГО уровня
Действие КАНАЛЬНОГО уровня для первичной станции совершенно аналогично действию КАНАЛЬНОГО уровня для вторичной станции (см. раздел 2).
Проверки синтаксиса и достоверности передачи при приеме включают в себя:
- синтаксическую проверку байта
- проверку посредством
- синтаксическую проверку и проверку достоверности управляющего поля (
- синтаксическую проверку и проверку достоверности первичного поля адреса (
- соответствие между первичным
При передаче КАНАЛЬНЫЙ уровень будет получать от верхнего уровня буфер, соответствующий данным для передачи, связанной с полем управления. Затем он составляет полную структуру, посланную ФИЗИЧЕСКИМ уровнем по шине, вставляя байты из полей
Значение числа
Буфера, полученные от СЕАНСОВОГО уровня | Буфер, составленный КАНАЛЬНЫМ уровнем |
КАНАЛЬНЫЙ уровень получает от СЕАНСОВОГО уровня буфер или набор буферов, сопровождаемых их стартовым адресом полей и длиной.
Чтобы минимизировать число параметров, передаваемых между уровнями, возможно передавать только длину и местоположение таблицы, содержащей набор стартовых полей и значений длин.
Это замечание применимо ко всем уровням, включая представленный случай передачи буферов между СЕАНСОВЫМ и КАНАЛЬНЫМ уровнями, а также между КАНАЛЬНЫМ и ФИЗИЧЕСКИМ уровнями.
3.6.3 Состояния в КАНАЛЬНОМ уровне
3.6.3.1 Схема состояний
3.6.3.2 Описание состояний
Состояние 0
После приведения в готовность КАНАЛЬНЫЙ уровень принимает состояние ожидания ФИЗИЧЕСКОГО уровня (флаг синхронизации
Состояние 1
Состояние инициализации запроса или ответа. Оно включает переустановку переменных, требуемых для управления последовательностью (
Состояние 2
Синтаксическая проверка и проверка достоверности полученной структуры. Проверка поля
Конец этого состояния сопровождается установкой флага синхронизации (
Состояние 3
Ожидание возврата флага синхронизации
Состояние 4
Установка структуры посредством обработки буферов, полученных от СЕАНСОВОГО уровня, как определено в 3.6.2.
Состояние 5
Отключение КАНАЛЬНОГО уровня и переход синхронизации к нижнему ФИЗИЧЕСКОМУ уровню посредством установки
3.6.3.3 Описание переходов
AL - установка флага
al1 - после инициализации, если это первый раз, когда КАНАЛЬНЫЙ уровень системы входит в состояние 1 (
bl1, cl1 - если это не первый раз, когда система входит в состояние 1, то начальная структура уже была передана (
bl1 - если никакого ответа не было в результате первой передачи (
cl1 - ответ на этот первый запрос был дан (
al2 - если по крайней мере одна ошибка выявляется в процессе проверок, сделанных в состоянии 2, система будет переходить в состояние 3 с установкой переменной
bl2 - если никаких ошибок не обнаружено в состоянии 2, система будет переходить в состояние 3 без установки переменной
al3, bl3 - установка флага синхронизации
al3 - установка
bl3 - установка
al4 - когда структура была составлена, система будет выполнять безусловный переход в состояние 5.
BL - отключение КАНАЛЬНОГО уровня связано с переходом ФИЗИЧЕСКОГО уровня в состояние ожидания 0 после установки флага
3.6.3.4 Диаграмма состояний, иллюстрирующая несколько примеров
В этих различных случаях не предусматривается, что будут иметь место превышения временных задержек на ФИЗИЧЕСКОМ уровне.
Дистанционное считывание. Типовой случай
Дистанционное программирование. Типовой случай
Инициализация шины. Типовой случай
Запрос забытой станции. Только один ответ во втором окне
3.7 СЕАНСОВЫЙ уровень
3.7.1 Общие положения
СЕАНСОВЫЙ уровень приводится в готовность ФИЗИЧЕСКИМ уровнем при старте протокола. После чего он находится в состоянии ожидания флага синхронизации (
Процесс синхронизации СЕАНСОВОГО уровня со смежными уровнями представлен ниже.
СЕАНСОВЫЙ уровень отменяется ФИЗИЧЕСКИМ уровнем только в конце нормального обмена или при превышении одной из временных задержек.
Основная функция СЕАНСОВОГО уровня - контролировать и управлять последовательностью команд в последовательных структурах.
Для начальной последовательности (
Флаги устанавливаются в зависимости от полученной команды (см. 3.7.2), чтобы передать требуемый сервис ПРИКЛАДНОМУ уровню.
ПРИКЛАДНОМУ уровню затем предлагается подготовить возможный буфер данных, который наращивается СЕАНСОВЫМ уровнем из поля команды, подготовленным прежде, чем он будет представлен более низким уровням для передачи по шине.
После этого запроса, в соответствии с типом действия и последовательностью протокола, ожидается ответная структура от вторичных станций (в случаях дистанционного считывания, дистанционного программирования, ответа в окне запроса забытой станции), которая затем интерпретируется. Затем СЕАНСОВЫЙ уровень проверяет последовательность без ошибок в командах на правильное сочленение структур и подготавливает возможную команду для следующей последовательности.
Таблица сочленения команд (рассматривается со стороны первичной станции)
Событие | Запрос | Ответ |
Дистанционное считывание | ||
Дистанционное программирование | ||
| ||
Инициализация шины | / | |
Запрос забытой станции |
Если одна из структур ответа не достигает первичной станции или приходит неправильно, осуществляется процедура перезапуска для ошибочной последовательности, кроме случая структуры
3.7.2 Возможные случаи интерпретации команд
Переменная
-
-
-
-
Эти флаги устанавливаются во время подготовки первой команды для первой структуры обмена (см. состояние 2 на диаграмме состояний).
Переменная
Алгоритм состояния 3
1) Если
- при
- при
2) Если
- при
- при
3) Если
- при
- при
4) Если
- при
- при
5) Если
6) При
1) Если
- при
- при
2) Если
- при
- при
- в других случаях
3) Если
- при
если (
- в других случаях
- при
4) Если
- при
- при
5) Если
- при
- при
6) Если
Примечание - Протокол никогда не будет инициировать никаких процедур перезапуска при запросе забытой станции, вне зависимости от ответа.
3.7.3 Состояния в СЕАНСОВОМ уровне
3.7.3.1 Схема состояний
3.7.3.2 Описание состояний
Состояние 0
Ожидание флага синхронизации
Состояние 1
Инициализация запроса или ответа
В этом состоянии СЕАНСОВЫЙ уровень начинает работу посредством идентификации одного из двух случаев: если это первый раз, когда СЕАНСОВЫЙ уровень подключается во время обмена (
Состояние 2
Подготовка начальной команды.
СЕАНСОВЫЙ уровень подготовит командный байт для ввода в первую структуру в соответствии с содержимым поля
Состояние 3
Интерпретация команды и подготовка следующей команды в соответствии с алгоритмом, представленным ранее.
Состояние 4
Ожидание возврата синхронизации от ПРИКЛАДНОГО уровня (
Состояние 5
Ввод команды, подготовленной в течение состояний 2 и 3, в буфер, возвращаемый от ПРИКЛАДНОГО уровня. Эта команда модифицируется, если
Состояние 6
Отключение СЕАНСОВОГО уровня, сопровождаемое переходом синхронизации к более низкому уровню (
3.7.3.3 Описание переходов
As - получение флага синхронизации
as1 - это первый раз, когда СЕАНСОВЫЙ уровень подключается в процессе обмена (
bs1 - случай, когда
cs1 - случай, когда
ds1 - случай, когда
Если дополнительно
es1 - случай, когда
fs1 - случай, когда
gs1 - случай, когда
hs1 - случай, когда
as3 - если при интерпретации команды не возникает ошибок,
bs3 - если при интерпретации команды возникает ошибка, устанавливается
as4 - возврат синхронизации, приходящий от ПРИКЛАДНОГО уровня (
bs4 - возврат синхронизации, приходящий от ПРИКЛАДНОГО уровня (
as5 - безусловный переход из состояния 5 в состояние 6.
Bs - отключение СЕАНСОВОГО уровня, связанное с передачей флага синхронизации (
Примечание - Переменная
-
-
-
-
Значение, принимаемое
3.7.3.4 Схема состояний, иллюстрирующая несколько примеров
Дистанционное считывание. Типовой случай
Дистанционное программирование. Типовой случай - ответ во втором окне
Инициализация шины. Типовой случай
Запрос забытой станции. Типовой случай - ответ во втором окне
3.8 ПРИКЛАДНОЙ уровень
3.8.1 Общие положения
ПРИКЛАДНОЙ уровень приводится в готовность ФИЗИЧЕСКИМ уровнем при старте протокола. Затем он ожидает флаг синхронизации (
Процесс синхронизации ПРИКЛАДНОГО уровня со смежным СЕАНСОВЫМ представлен на рисунке.
При дистанционном программировании данные, посылаемые соответствующей вторичной станции, выбираются из таблицы А. При обмене этого типа выполняется процедура идентификации с помощью кодирования случайных чисел ключом
Поле в структуре, обработанное ПРИКЛАДНЫМ уровнем
В приложении D приводится принцип генерирования случайного числа (
При инициализации первое и таким образом сгенерированное случайное число в строке получается комбинацией ключа и данных дистанционного программирования, связанных с коэффициентами полиноминального генератора
ПРИКЛАДНОЙ уровень отменяется ФИЗИЧЕСКИМ уровнем при окончании протокола.
3.8.2 Операции, связанные с ПРИКЛАДНЫМ уровнем
ПРИКЛАДНОЙ уровень ответственен за управление полем данных в структурах в целом. На начальной стадии он заполняет это поле в зависимости от типа обмена и обрабатываемой последовательности; при получении он интерпретирует и обрабатывает это поле.
В соответствии с четырьмя возможными типами обменов таблица А, получаемая от внешнего процесса, содержит необходимую информацию для управления полем данных каждой структуры.
При запросе забытой станции первая структура, передаваемая по шине, включает в поле данных один или несколько байтов
При обмене в случае дистанционного считывания структуры, передаваемые по шине первичной станцией, включают в поле данных байт
Пример дистанционного считывания четырьмя последовательностями
Последующие случайные числа генерируются тем же способом путем замены ключа
где
Данные
ПРИКЛАДНОЙ уровень также составляет таблицу В при возврате к внешнему процессу.
3.8.3 Состояния в ПРИКЛАДНОМ уровне
3.8.3.1 Схема состояния
3.8.3.2 Описание состояний
Состояние 0
Ожидание флага синхронизации
Состояние 1
Инициализация переменных, необходимых для управления ПРИКЛАДНЫМ уровнем (переустановка
Состояние 2
Установка первой структуры, включающая подготовку буфера с байтами приложения и длиной
Данные поступают из таблицы А, переданной протоколу, число
Это состояние также включает переустановку переменной
Состояние 3
В этом состоянии осуществляется управление инициализацией шины с подготовкой таблицы В для посылки внешнему процессу (см. описание содержимого таблицы В ниже).
В конце этого состояния устанавливается переменная
Состояние 4
Управление дистанционным считыванием. Число различных последовательностей, требуемых для этого считывания (
Для того чтобы определить, когда обмен должен продолжаться для считывания других данных, каждый переход в этом состоянии увеличивает переменную
Переменная
Переменная
-
-
Повторная передача (идентичной последовательности) выполняется, если
Другая последовательность генерируется, если 1
-
-
При каждом переходе в это состояние Таблица В переустанавливается в соответствии с результатом обрабатываемой последовательности.
Состояние 5
Управление в случае дистанционного программирования:
- при первой последовательности (переменная
Если нет ошибок СЕАНСОВОГО или КАНАЛЬНОГО уровней (
Аналогично ответные данные (в поле Р2
Если никаких проблем не обнаружено в первой последовательности (Р1, Р2), что характеризуется
Если в последовательности (Р1, Р2) возникает проблема, отличная от
Переменная
- при второй последовательности (переменная
Если флаг
Если никаких ошибок не обнаружено в этой последовательности (Р3, Р4), что характеризуется посредством
Если
Если
Если ошибка обнаружена в этой последовательности (Р3, Р4) и три идентичные запроса еще не сделаны, система будет готовиться начать тот же самый запрос снова посредством увеличения переменной
Переменная
При каждом переходе в это состояние таблица В заново обновляется в соответствии с обрабатываемой последовательностью.
Состояние 6
Управление в случае запроса забытой станции
В зависимости от переменной
Для
Для
Для
Каждый раз, когда ПРИКЛАДНОЙ уровень переходит в это состояние (следовательно, для каждого окна ожидания в случае запроса забытой станции), он увеличивает переменную
Переменная
При каждом переходе в это состояние Таблица В обновляется.
Состояние 7
Разъединение ПРИКЛАДНОГО уровня и переход к более низким уровням посредством
3.8.3.3 Описание переходов
Аа - получение флага синхронизации
аа1 - при первом переходе (
ba1 - после инициализации, если
са1 - после инициализации, если
da1 - после инициализации
еа1 - после инициализации
аа2 - безусловный переход из состояния 2 к состоянию 7 разъединения ПРИКЛАДНОГО уровня.
аа4 - переход в состояние 7 по завершении нормального дистанционного считывания
еа4 - переход в состояние 7 с ошибкой после трех перезапусков последней последовательности (
da4 - переход в состояние 7 при ошибке после трех перезапусков последовательности, которая не является последней, система должна продолжать обработку следующей последовательности (
ba4 - безошибочная последовательность дистанционного считывания (
са4 - последовательность дистанционного считывания с ошибкой (
fa4 - переход в состояние 7. Это последняя последовательность, переменная
ga4 - переход в состояние 7. Инициализируется новая другая последовательность (
аа5 - переход в состояние 7 в конце нормального дистанционного программирования (
ba5 - переход в состояние 7 после первой последовательности (Р1-Р2) без ошибки. Система устанавливается для второй последовательности (Р3-Р4).
ca5 - переход в состояние 7 с ошибкой (
da5 - переход в состояние 7 с ошибкой (
ea5 - переход в состояние 7 с ошибкой идентификации первичной станции вторичной станцией (
fa5 - переход в состояние 7 с отклонением данных дистанционного программирования вторичной станцией (
ga5 - переход в состояние 7 с идентификацией вторичной станции (
aa6 - три окна ожидания переданы (
ba6 - переход в состояние 7, три окна ожидания еще не переданы (
aa3 - безусловный переход в состояние 7 с установкой переменной
Ва - отключение ПРИКЛАДНОГО уровня, связанное с переходом флага синхронизации (
3.8.3.4 Схема состояний, иллюстрирующая несколько примеров
Дистанционное считывание. Типовой случай
Дистанционное программирование. Типовой случай
Инициализация шины
Запрос забытой станции. Ответ только во втором окне ожидания
3.8.4 Формирование таблицы В
3.8.4.1 Случай запроса забытой станции
При выходе из состояния 6 для обновления таблицы В выполняются следующие операции. Выход по событию ba6 или aa6:
- установка
- результат последовательности сохраняется в
- обновление поля
Следующие дополнительные операции выполняются только при выходе по событию ba6:
- увеличение переменной
- увеличение содержимого
- создание новых полей
- обновление полей
3.8.4.2 Случай инициализации шины
При выходе из состояния 3 таблица В обновляется: установка
3.8.4.3 Случай дистанционного считывания
При выходе из состояния 4 таблица В обновляется следующим образом.
Выход по событиям ca4, da4 или ea4 (включающим случай ошибки в одном из уровней)
da4:
- установка
- увеличение переменной
- создание новых полей
- обновление
ca4:
- установка
- увеличение переменной
- увеличение содержимого
- создание новых полей
- обновление полей
ea4 - установка
Выход по событию fa4 или ga4 (таблица данных неизвестна вторичной станции)
fa4 - установка
ga4:
- установка
- увеличение переменной
- создание новых полей
- обновление полей
Выход по событию aa4 или ba4 (включающим случай без ошибок в уровнях)
aa4:
- установка
- результат последовательности сохраняется в
- обновление полей
Следующие дополнительные операции выполняются только при выходе по событию ba4:
- увеличение переменной
- создание нового поля
- обновление полей
3.8.4.4 Случай дистанционного программирования
При выходе из состояния 5 Таблица В обновляется.
Выход по событию ca5 или da5 (случай ошибки в уровнях)
da5 - установка
ca5:
- установка
- увеличение переменной
- увеличение содержимого
- создание новых полей
- обновление полей
Выход по событиям ea5 и ga5 (отклоненная идентификация): установка
aa5 - установка
ba5:
- установка
- увеличение переменной
- создание нового поля
- обновление полей
3.9 Краткое описание и взаимодействия между уровнями
3.9.1 Упрощенная схема состояний
3.9.2 Параметры и флаги синхронизации
4 Аппаратная реализация локальной шины обмена данными
4.1 Общие положения
Протокол описывает обмен данными между первичной станцией и вторичными станциями, связанными параллельно по аппаратной шине. Первичная станция связана с шиной пассивным магнитным разъемом.
Этот раздел описывает следующее:
а) характеристики сигнала;
b) характеристики кабеля шины;
c) магнитный разъем;
d) первичную станцию;
e) вторичную станцию.
4.2 Общие требования
4.2.1 Характеристика передачи:
а) передача двоичных данных;
b) двунаправленная, полудуплексная;
c) скорость передачи информации: 1200 Бод ±1%;
d) одинаковая продолжительность битов "0" и "1" от 820 до 840 мкс;
e) амплитудная модуляция сигнала (АМС) 50 кГц ±3% несущей;
f) полярность: 0 - присутствие несущей.
4.2.2 Характеристики сигнала
Сигнал определяется огибающей несущей, изображенной на рисунке 1.
Примечания
1
2
3
4
5
6
7 В течение
8 В течение промежутка от
9 Общее гармоническое искажение сигнала в течение непрерывной передачи волны - менее 15%.
10 Все напряжения определены в пиковых значениях.
Рисунок 1 - Огибающая сигнала на шине
4.3 Спецификация шины
4.3.1 Общие характеристики:
a) специальная поддержка для дистанционного считывания и программирования;
b) топология шины не важна и может быть линейной или в виде звезды, или дерева без петли при условии, что общая длина кабеля не превышает 500 м;
c) шина пассивна и не требует никакого источника энергии;
d) обеспечивается гальваническая изоляция между шиной и всей электроникой передатчиков и приемников с номинальными значениями напряжения, которые требуются в стандартах, применяемых для вторичных станций;
e) от 1 до 100 вторичных станций может быть присоединено параллельно к шине;
f) одна из этих вторичных станций может в некоторый момент оказаться в режиме низкого импеданса (передачи), без прерывания связи;
g) связь с ПСУ осуществляется через магнитный разъем (единственный);
h) шина должна противостоять случайным соединениям с сетью напряжением 230 В.
4.3.2 Характеристики кабеля
Внутренний телефонный кабель типа:
- отдельная витая пара с алюминиевым экраном в виде оплетки;
- проводник из твердой луженой медной проволоки диаметром 0,5 мм;
- изоляция PVC (поливинилхлоридная).
Электрические характеристики:
- сопротивление цепи постоянного тока при 20 °С - от 176 до 192 Ом/км;
- переменный ток частотой 50 кГц при температуре от минус 15°С до плюс 45°С;
a) сопротивление линейной цепи переменного тока - от 154 до 220 Ом/км;
b) индуктивность линейной цепи переменного тока - от 500 до 800 мкГн/км;
c) общая емкость линейной цепи переменного тока - от 80 до 130 нФ/км;
d) коэффициент потери емкости - максимум 5%;
e) дисбаланс емкости провода к экрану - не более 5%;
f) комплексная характеристика импеданса - от 74 до 115 Ом;
g) линейный фазовый сдвиг (при частоте 50 кГц) - не более 150 °/км.
Вышеупомянутые характеристики приведены для симметричного источника, изолированного от экрана с импедансами Z и Z' свыше 1000 Ом при частоте 50 кГц.
4.3.3 Требования к прокладке проводов:
a) соединение вторичных станций должно гарантировать непрерывность дренажного провода (например, три терминальные распределительные коробки);
b) одна точка дренажного провода должна быть соединена с землей, при ее наличии, или с эквивалентным эталонным потенциалом;
c) никакого импеданса (кроме кабельного) менее 1000 Ом при частоте 50 кГц не должно быть подключено между проводами шины и экраном или землей.
Примечание - Использование кабелей слегка отличается от вышеупомянутых спецификаций:
1) кабель с более высокой линейной емкостью или сопротивлением нуждается в меньшей длине. Отношение длин приблизительно обратно пропорционально отношению линейной емкости или сопротивления;
2) кабель с более низкой линейной емкостью или сопротивлением мог бы дать превышение напряжения на входах приемника при длинной пустой шине. Это может быть преодолено присоединением между проводами шины около конца, противоположного магнитному разъему, демпфирующего резистора (от 330 до 1000 Ом, мощностью 0,25 Вт, в зависимости от отношения превышения напряжения). Если для шины требуется устойчивость к случайному соединению с сетью напряжением 230 В, последовательно с этим резистором должен быть соединен конденсатор емкостью 47 нФ соответствующего напряжения.
4.4 Магнитный разъем
4.4.1 Функциональное назначение
Магнитный разъем фактически состоит из подвижной части (первичной) и стационарной части - гнезда (вторичной).
Когда две половины соединены, магнитный разъем передает сигналы между ПСУ, связанным с разъемом, и шиной, связанной с гнездом, в обоих направлениях.
Каждая часть состоит из половины ферритового трансформатора (преобразователя) с воздушным зазором в магнитной цепи.
Для того чтобы компенсировать высокую последовательную и низкую параллельную индуктивности такого трансформатора (преобразователя), резонансный конденсатор и демпфирующий резистор с обеих сторон преобразуют этот трансформатор в полосовой фильтр четвертого порядка, с основной частотой около 50 кГц, с Q-фактором менее трех.
Это позволяет использовать простой источник сигналов прямоугольной формы для передачи и устраняет низкочастотные переходные процессы.
4.4.2 Механические характеристики
См. рисунок 2
Ферритовый сердечник FP 36х22
Рисунок 2 - Ферритовые "стакан" и катушка
Каждая половина магнитного разъема включает в себя катушку в половине "стакана" ферритового сердечника, расположенные в твердой пластиковой оболочке. При соединении катушки ферритовые сердечники являются почти коаксиальными и симметричными относительно центральной плоскости с:
а) магнитным воздушным зазором
в) максимальной ошибкой коаксиальности около средней точки 0,25 мм.
Обмотки должны иметь, насколько это возможно:
a) диаметр катушки по меди
- в гнезде - от 25,5 до 27,8 мм,
- в разъеме - от 24,5 до 26,8 мм;
b) число витков:
- в гнезде - 68 витков при диаметре провода 0,50 мм,
- в разъеме - 38 витков при диаметре провода 0,63 мм.
Когда все смонтировано и соединено, ферритовые сердечники и катушки должны быть зафиксированы или выдвинуты ближе к средней плоскости. Например, осевой зазор между катушкой и сердечником благодаря допускам размеров должен быть внутри катушки.
Ферритовые наконечники должны быть стандартного типа для максимальной частоты до 100 кГц:
- начальная (магнитная) проницаемость - более 1800 Гн/м;
- тангенс угла потерь максимум при 100 кГц - около 1%;
- отсутствие поглощающей способности (насыщенности) благодаря полям утечки (на практике насыщенность около 0,4 Тл).
4.4.3 Электрические характеристики
Магнитный разъем состоит из двух самоиндуктивностей
а)
b)
c)
Для бесконечного воздушного зазора
d)
Примечание - Значения, приведенные выше, даны для воздушного зазора 4,5 мм плюс дополнительный воздушный зазор 0,15 мм для пыли, краски и т.п. на гнезде.
4.4.4 Составные части
См. рисунок 3.
Рисунок 3 - Составные части магнитного разъема
4.4.4.1 В гнезде, со стороны шины, имеются:
a) последовательный конденсатор
- емкость 27 нФ ±5%, пластиковая пленка Mylar,
- тангенс угла потерь менее 2% при частоте 50 кГц,
- номинальное значение напряжения для прямого соединения с сетью 230 В;
b) параллельный демпфирующий резистор
- сопротивление 150 Ом ±5%,
- мощность от 0,5 до 1 Вт;
c) конденсатор
- емкость 100 нФ ±20%, пластиковая пленка Mylar,
- тангенс угла потерь менее 2% при частоте 50 кГц,
- номинальное значение подходящего напряжения для прямого соединения с сетью 230 В.
4.4.4.2 В ПСУ, связанном с разъемом, имеются:
a) последовательный конденсатор
- емкость 82 нФ ±5%, пластиковая пленка Mylar,
- тангенс угла потерь менее 2% при частоте 50 кГц;
b) последовательный демпфирующий резистор
- сопротивление от 14 до 18 Ом,
- мощность 2 Вт;
c) источник частотой 50 кГц, который может быть источником сигналов прямоугольной формы, дающий пики от ±4 до ±4,4 В при токе 120 мА, с динамическим импедансом от 1 до 3 Ом (пара PNP/NPN, подключенная общими эмиттерами на выходе и общими базами к источнику электропитания напряжением ±5 В через CMOS буфер (
Выходное напряжение может быть подобрано с помощью
d) цепь приемника (демодуляция и выделение прямоугольного сигнала) связана с узлом
e) в режиме приема выходной импеданс источника на частоте 50 кГц должен составлять менее нескольких омов, даже для низкого напряжения, чтобы гарантировать демпфирование первичной цепи.
Примечание - Требования 4.4.3 и 4.4.4 рекомендуемые. Обязательные требования приведены в 4.5 и 4.6.
4.5 Функциональные характеристики передатчика первичной станции
Передатчик ПСУ состоит из передающего источника первичной станции (4.4.4) и магнитного разъема.
Сигнал, передаваемый на выходы шины, должен находиться в пределах, определенных в 4.2.2, во всем температурном диапазоне:
a)
b)
Для разомкнутой цепи на выходе шины:
с)
d)
С резистором 100 Ом вместо шины:
e)
f)
С конденсатором емкостью 31,8 нФ вместо шины:
g)
h)
Кроме того, выходы терминалов должны представлять разомкнутую цепь или соответствовать сопротивлению 100 Ом при емкости 31,8 нФ;
j) шум, передаваемый к выходу шины, при всех условиях и на всех частотах до 1 мГц, после затухания переходных процессов, не должен превышать 10 мВ в диапазоне частот 1 кГц - 1 мГц;
k) пиковое превышение напряжения при переключении с режима передачи на режим приема или реверс не должно превышать пика 0,25 В при всех условиях.
4.6 Функциональные характеристики приемника первичной станции
Приемник ПСУ состоит из принимающей цепи первичной станции (демодуляция и выделение прямоугольного сигнала) и магнитного разъема.
Приемник должен правильно функционировать (с долей ошибок при приеме структуры менее 10
Упомянутый сигнал подают на терминалы шины магнитного разъема через последовательные импедансы:
a)
Через резистор сопротивлением 100 Ом:
b)
с)
d)
Через конденсатор емкостью 31,8 нФ:
e)
f)
g)
Кроме того, приемник при условии b) (последовательное включение 100 Ом) должен быть нечувствителен к:
h) непрерывному волновому сигналу с максимальной интенсивностью 0,1 В в диапазоне частот 1 кГц - 1 мГц;
j) прямоугольному импульсу с амплитудой 20 В и продолжительностью 5 мкс;
k) прямоугольному импульсу с амплитудой 3,5 В и продолжительностью 200 мкс.
4.7 Функциональные характеристики передатчика вторичной станции
Сигнал, передаваемый на выходы шины, должен находиться в пределах, определенных в 4.2.2, во всем диапазоне температур:
a)
b)
При сопротивлении 100 Ом вместо шины:
с)
d)
С конденсатором емкостью 31,8 нФ вместо шины выходной сигнал (измеренный через резистор 1 Ом, подключенный последовательно с конденсатором, и значением, умноженным на 100) должен быть:
е)
f)
Примечание - Измерение напряжения через конденсатор дает ненормальное усиление низкочастотных (LF) переходных процессов, которые обычно фильтруются магнитным разъемом.
Кроме того, при подключении двух терминалов к шине сопротивлением 100 Ом или емкостью 31,8 нФ:
g) при переключении с режима передачи на режим приема кратковременная импульсная помеха не должна превышать пикового значения 0,75 В при любых условиях;
h) шум, передаваемый на выход шины, при любых условиях и на всех частотах до 1 мГц после затухания переходных процессов не должен превышать 10 мВ в диапазоне частот 1 кГц - 1 мГц,
а также:
j) максимальный ток замкнутой цепи - пиковое значение 26 мА;
k) передатчик должен допускать постоянно замкнутую цепь (короткое замыкание) и соединение терминалов шины с сетью напряжением 230 В;
l) максимальная емкость помехи общего вида между входами шины и другими входами равна 15 пФ.
4.8 Функциональные характеристики приемника вторичной станции
Приемник должен функционировать правильно (с долей ошибок при приеме битов менее 10
a)
С незначительным импедансом, например от тестового оборудования:
b)
c) 2 В;
d)
Кроме того, приемник должен быть нечувствителен к:
е) постоянному сигналу с максимальным значением 0,25 В в диапазоне частот 1 кГц - 1 мГц;
f) импульсному сигналу с амплитудой 20 В и продолжительностью 5 мкс. Входной импеданс при частоте 50 кГц:
g) входной импеданс, вне зависимости от того, включен приемник или нет, при пике до 5 В, должен состоять из сопротивления, соединенного параллельно с индуктивностью:
сопротивление свыше 20 кОм;
индуктивность свыше 20 кОм (60 мГн). Емкостной компонент должен быть менее 30 пФ.
h) внутренняя блокировка может происходить при пике свыше 5 В при условии, что динамический импеданс выше напряжения блокировки более 200 Ом при частоте 50 кГц;
j) минимальный входной импеданс при частоте 50 кГц с выходом, заблокированным в состоянии передачи логического уровня 1 (нет сигнала на шине), равен 200 Ом;
k) приемник должен допускать постоянное соединение терминалов шины с сетью напряжением 230 В;
I) максимальная емкость помехи общего вида между входами шины и другими входами равна 15 пФ.
Примечание - Все импедансы должны измеряться с точностью 1%.
Приложение А
(справочное)
Циклический избыточный код CRC 16
Проверка ошибки передачи с использованием циклического избыточного кода CRC в каждой структуре была выбрана как наиболее эффективная, в отличие от простой проверки бита четности.
Структуры содержат максимум 128 байтов, и прогнозируемая доля ошибок оказывается менее 10
Благодаря своему полиноминальному генератору (CRC 16), 16-битный CRC может обнаружить одиночные, двойные и тройные ошибки в структуре со 128 байтами и все ошибки в 16-битных пакетах. 8-битный CRC не был бы так эффективен для обнаружения ошибок в структурах размера, рассматриваемого в этом протоколе. Вероятность
Используемый физический канал позволяет ожидать вероятности появления ошибки порядка 10
Вообще, в противоположном варианте протокола, определенного в настоящем стандарте, структуры достаточно редко будут достигать максимальной длины в 128 байтов; поэтому при той же вероятности ошибки эффективность передачи будет больше, чем упомянуто выше.
Используемый 16-позиционный полиномиальный генератор кода (CRC 16) представляет собой
Реализация
Передача происходит следующим образом.
В представленном CRC "исключающее ИЛИ" (XOR) относится к слову А0 01, соответствующему (MSB/LSB) коэффициентам полиноминального генератора (кроме наибольшего значимого бита).
Выборочные результаты
Приложение В
(справочное)
DES - кодирование
В.1 Введение
Система кодирования состоит из двух алгоритмов: первого, именуемого алгоритмом кодирования, позволяющего понятный текст превратить в непонятный (закодированный), и второго, именуемого алгоритмом декодировки, выполняющего обратную операцию.
Эти алгоритмы, состоящие из весьма сложных и даже особенных правил, должны быть сохранены в тайне, и поэтому не могут быть обнародованы в виде стандарта.
Хотя сказанное выше было справедливо несколько лет тому назад (до 1970 г.), недавние разработки в области криптографии позволили применять алгоритмы, содержащие параметр (называемый ключом), значение которого пользователь может выбрать из огромного числа возможных (2
Создание DES
С 1968 по 1975 гг. IBM в лице H.Feistel разработала процедуру кодирования и декодирования (LUCIFER), состоящую из последовательности подстановок и перемещений, управляемых ключом.
Этот алгоритм, улучшенный и упрощенный, был принят как американский стандарт Национальным бюро стандартов (NBS) 15 июля 1977 г. под названием СТАНДАРТ КОДИРОВАНИЯ ДАННЫХ (DES). Недавно он был предложен в качестве стандарта ИСО (Международная организация по стандартизации) под названием DEAI (ИСО 1983).
В.2 Алгоритмы кодирования и декодирования
В.2.1 Алгоритм кодирования
Открытый алгоритм кодирования состоит из трех основных частей:
- кодирование элемента данных
- вычисление функции
- вычисление индивидуальных ключей
Понятный текст должен сначала быть переведен в двоичный и затем разбит на блоки по 64 бита (восемь символов, если используется двоичный код ASCII), чтобы создать элемент данных
Блок-схема алгоритма кодирования DES
В.2.1.1 Кодирование элемента данных
Входной
Таблица В.1 - Начальная перестановка (
58 | 50 | 42 | 34 | 26 | 18 | 10 | 2 |
60 | 52 | 44 | 36 | 28 | 20 | 12 | 4 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
64 | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
57 | 49 | 41 | 33 | 25 | 17 | 9 | 1 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 3 |
61 | 53 | 45 | 37 | 29 | 21 | 13 | 5 |
63 | 55 | 47 | 39 | 31 | 23 | 15 | 7 |
Результирующий блок (
- результирующий блок делится на два 32-битных блока: левый (
- блок (
- два блока (
Аналитически это дает, если блок
Для
Для
где
Обратная перестановка (
Таблица В.2 - Конечная перестановка (
40 | 8 | 48 | 16 | 56 | 24 | 64 | 32 |
39 | 7 | 47 | 15 | 55 | 23 | 63 | 31 |
38 | 6 | 46 | 14 | 54 | 22 | 62 | 30 |
37 | 5 | 45 | 13 | 53 | 21 | 61 | 29 |
36 | 4 | 44 | 12 | 52 | 20 | 60 | 28 |
35 | 3 | 43 | 11 | 51 | 19 | 59 | 27 |
34 | 2 | 42 | 10 | 50 | 18 | 58 | 26 |
33 | 1 | 41 | 9 | 49 | 17 | 57 | 25 |
В.2.1.2 Вычисление функции
32-битный блок (
Таблица В.3 - Выбор битов
32 | 1 | 2 | 3 | 4 | 5 |
4 | 5 | 6 | 7 | 8 | 9 |
8 | 9 | 10 | 11 | 12 | 13 |
12 | 13 | 14 | 15 | 16 | 17 |
16 | 17 | 18 | 19 | 20 | 21 |
20 | 21 | 22 | 23 | 24 | 25 |
24 | 25 | 26 | 27 | 28 | 29 |
28 | 29 | 30 | 31 | 32 | 1 |
48-битный блок
Каждый 6-битный блок (
Если
Каждая матрица (S.Box) формирует нелинейную функцию подстановки с шестью входами и четырьмя выходами. Восемь функций (
Таблица В.4 - Функции выбора (SiBoxes)
Колонка | |||||||||||||||||
Ряд | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 14 | 4 | 13 | 1 | 2 | 15 | 11 | 8 | 3 | 10 | 6 | 12 | 5 | 9 | 0 | 7 | |
1 | 0 | 15 | 7 | 4 | 14 | 2 | 13 | 1 | 10 | 6 | 12 | 11 | 9 | 5 | 3 | 8 | |
2 | 4 | 1 | 14 | 8 | 13 | 6 | 2 | 11 | 15 | 12 | 9 | 7 | 3 | 10 | 5 | 0 | |
3 | 15 | 12 | 8 | 2 | 4 | 9 | 1 | 7 | 5 | 11 | 3 | 14 | 10 | 0 | 6 | 13 | |
0 | 15 | 1 | 8 | 14 | 6 | 11 | 3 | 4 | 9 | 7 | 2 | 13 | 12 | 0 | 5 | 10 | |
1 | 3 | 13 | 4 | 7 | 15 | 2 | 8 | 14 | 12 | 0 | 1 | 10 | 6 | 9 | 11 | 5 | |
2 | 0 | 14 | 7 | 11 | 10 | 4 | 13 | 1 | 5 | 8 | 12 | 6 | 9 | 3 | 2 | 15 | |
3 | 13 | 8 | 10 | 1 | 3 | 15 | 4 | 2 | 11 | 6 | 7 | 12 | 0 | 5 | 14 | 9 | |
0 | 10 | 0 | 9 | 14 | 6 | 3 | 15 | 5 | 1 | 13 | 12 | 7 | 11 | 4 | 2 | 8 | |
1 | 13 | 7 | 0 | 9 | 3 | 4 | 6 | 10 | 2 | 8 | 5 | 14 | 12 | 11 | 15 | 1 | |
2 | 13 | 6 | 4 | 9 | 8 | 15 | 3 | 0 | 11 | 1 | 2 | 12 | 5 | 10 | 14 | 7 | |
3 | 1 | 10 | 13 | 0 | 6 | 9 | 8 | 7 | 4 | 15 | 14 | 3 | 11 | 5 | 2 | 12 | |
0 | 7 | 13 | 14 | 3 | 0 | 6 | 9 | 10 | 1 | 2 | 8 | 5 | 11 | 12 | 4 | 15 | |
1 | 13 | 8 | 11 | 5!* | 6 | 15 | 0 | 3 | 4 | 7 | 2 | 12 | 1 | 10 | 14 | 9 | |
2 | 10 | 6 | 9 | 0 | 12 | 11 | 7 | 13 | 15 | 1 | 3 | 14 | 5 | 2 | 8 | 4 | |
3 | 3 | 15 | 0 | 6 | 10 | 1 | 13 | 8 | 9 | 4 | 5 | 11 | 12 | 7 | 2 | 14 | |
0 | 2 | 12 | 4 | 1 | 7 | 10 | 11 | 6 | 8 | 5 | 3 | 15 | 13 | 0 | 14 | 9 | |
1 | 14 | 11 | 2 | 12 | 4 | 7 | 13 | 1 | 5 | 0 | 15 | 10 | 3 | 9 | 8 | 6 | |
2 | 4 | 2 | 1 | 11 | 10 | 13 | 7 | 8 | 15 | 9 | 12 | 5 | 6 | 3 | 0 | 14 | |
3 | 11 | 8 | 12 | 7 | 1 | 14 | 2 | 13 | 6 | 15 | 0 | 9 | 10 | 4 | 5 | 3 | |
0 | 12 | 1 | 10 | 15 | 9 | 2 | 6 | 8 | 0 | 13 | 3 | 4 | 14 | 7 | 5 | 11 | |
1 | 10 | 15 | 4 | 2 | 7 | 12 | 9 | 5 | 6 | 1 | 13 | 14 | 0 | 11 | 3 | 8 | |
2 | 9 | 14 | 15 | 5 | 2 | 8 | 12 | 3 | 7 | 0 | 4 | 10 | 1 | 13 | 11 | 6 | |
3 | 4 | 3 | 2 | 12 | 9 | 5 | 15 | 10 | 11 | 14 | 1 | 7 | 6 | 0 | 8 | 13 | |
0 | 4 | 11 | 2 | 14 | 15 | 0 | 8 | 13 | 3 | 12 | 9 | 7 | 5 | 10 | 6 | 1 | |
1 | 13 | 0 | 11 | 7 | 4 | 9 | 1 | 10 | 14 | 3 | 5 | 12 | 2 | 15 | 8 | 6 | |
2 | 1 | 4 | 11 | 13 | 12 | 3 | 7 | 14 | 10 | 15 | 6 | 8 | 0 | 5 | 9 | 2 | |
3 | 6 | 11 | 13 | 8 | 1 | 4 | 10 | 7 | 9 | 5 | 0 | 15 | 14 | 2 | 3 | 12 | |
0 | 13 | 2 | 8 | 4 | 6 | 15 | 11 | 1 | 10 | 9 | 3 | 14 | 5 | 0 | 12 | 7 | |
1 | 1 | 15 | 13 | 8 | 10 | 3 | 7 | 4 | 12 | 5 | 6 | 11 | 0 | 14 | 9 | 2 | |
2 | 7 | 11 | 4 | 1 | 9 | 12 | 14 | 2 | 0 | 6 | 10 | 13 | 15 | 3 | 5 | 8 | |
3 | 2 | 1 | 14 | 7 | 4 | 10 | 8 | 13 | 15 | 12 | 9 | 0 | 3 | 5 | 6 | 11 |
________________
* Текст документа соответствует оригиналу. -
Восемь 4-битных блока
Таблица В.5 - Перестановка
16 | 7 | 20 | 21 |
29 | 12 | 28 | 17 |
1 | 15 | 23 | 26 |
5 | 18 | 31 | 10 |
2 | 8 | 24 | 14 |
32 | 27 | 3 | 9 |
19 | 13 | 30 | 6 |
22 | 11 | 4 | 25 |
В.2.1.3 Вычисление индивидуальных ключей
Порядок вычисления ключа
Каждая итерация
Ключ
Таблица В.6 - Перестановка по ключу
57 | 49 | 41 | 33 | 25 | 17 | 9 |
1 | 58 | 50 | 42 | 34 | 26 | 18 |
10 | 2 | 59 | 51 | 43 | 35 | 27 |
19 | 11 | 3 | 60 | 52 | 44 | 36 |
63 | 55 | 47 | 39 | 31 | 23 | 15 |
7 | 62 | 54 | 46 | 38 | 30 | 22 |
14 | 6 | 61 | 53 | 45 | 37 | 29 |
21 | 13 | 5 | 28 | 20 | 12 | 4 |
Результат
Эти блоки
- если
где
Таблица В.7 - Ключевая таблица левых сдвигов
Итерация | Число левых сдвигов ( |
1 | 1 |
2 | 1 |
3 | 2 |
4 | 2 |
5 | 2 |
6 | 2 |
7 | 2 |
8 | 2 |
9 | 1 |
10 | 2 |
11 | 2 |
12 | 2 |
13 | 2 |
14 | 2 |
15 | 2 |
16 | 1 |
Два 28-битных блока (
где
Таблица В.8 - Ключ перестановки
14 | 17 | 11 | 24 | 1 | 5 |
3 | 28 | 15 | 6 | 21 | 10 |
23 | 19 | 12 | 4 | 26 | 8 |
16 | 7 | 27 | 20 | 13 | 2 |
41 | 52 | 31 | 37 | 47 | 55 |
30 | 40 | 51 | 45 | 33 | 48 |
44 | 49 | 39 | 56 | 34 | 53 |
46 | 42 | 50 | 36 | 29 | 32 |
Примечание - Хотя первоначальный ключ состоит из 64 битов, он уменьшается до 56 битов, данных при начальной операции, которая позволяет затем вычислить ключи |
В.2.2 Алгоритм декодирования
Декодирование выполняется 64-битными блоками, использующими тот же самый алгоритм, как и при кодировании, за исключением того, что ключ
Это возможно потому, что, с одной стороны, функция перемещения
Чтобы получить индивидуальный ключ
Таблица В.9 - Число правых сдвигов
Итерация | Число правых сдвигов ( |
1 | 0 |
2 | 1 |
3 | 2 |
4 | 2 |
5 | 2 |
6 | 2 |
7 | 2 |
8 | 2 |
9 | 1 |
10 | 2 |
11 | 2 |
12 | 2 |
13 | 2 |
14 | 2 |
15 | 2 |
16 | 1 |
Вычисление индивидуальных ключей
В.3 Режимы работы DES
DES - алгоритм может использоваться в четырех режимах:
- ЕСВ (Электронная кодовая книга);
- СВС (Кодированная цепь блоков);
- CFB (Кодированная обратная связь);
- OFB (Выходная обратная связь).
Эти режимы отличаются способом, которым 64 входные биты DES-алгоритма образуются из понятного текста и предварительно закодированного текста, и способом, которым закодированный текст производится из понятного текста и 64 выходных битов DES-алгоритма.
В.3.1 ЕСВ режим
В этом режиме закодированный текст является выходом DES; входным является 64-битный блок понятного текста.
В.3.2 СВС режим
Выходом DES является закодированный текст, входом DES - сумма по модулю 2 ("исключающее или") 64-битного блока понятного текста и 64 битов закодированного текста (предыдущий выход DES).
В.3.3 CFB режим
В этом режиме закодированный текст - сумма по модулю 2 битов понятного текста с
В.3.4 OFB режим
Закодированный текст - сумма по модулю 2 битов понятного текста и
В.4 Выбор режима работы
При рассмотрении структуры DES и, в частности, восьми нелинейных функциональных S-пакетов
Это неудобство, которое встречается во всех трех режимах ЕСВ, СВС и CFB, исключено из режима OFB. DES используется в этом режиме как псевдослучайный генератор 64-битных ключей, которые суммируются по модулю 2 бит за битом с 64 битами понятного текста, чтобы закодировать последний.
Таким образом, в то время как полученный закодированный текст содержит одну ошибку вне одного бита, декодированный текст будет содержать только одну ошибку вместо 64 ошибок в других режимах. Режим OFB поэтому рекомендуется в цифровых системах коммуникаций.
Текст, закодированный DES в режиме ЕСВ, мог бы быть весьма легко декодирован посторонним, не знающим секретного ключа
Что касается протокола, кодирование только касается одного 64-битного (8-битного) сообщения (случайного числа). По определению, это сообщение является высокоэнтропийным, и поэтому DES использует режим ЕСВ, единственно применимый для потребителей.
В.5 Разработка и испытания
Стандарт DES не упоминает о какой-либо специфической тестовой процедуре, которую нужно выполнить. Однако соответствие результатов может быть проверено относительно существующих. Также могут быть выполнены следующие два теста.
Тест программной обратимости
Закодируйте текст и после этого немедленно декодируйте, используя ту же самую программу; в конце сравните декодированный текст с оригиналом.
В то время как этот тест показывает, действительно ли реверсивен запрограммированный алгоритм (годен для кодирования и декодирования), это не доказывает, насколько закодированный текст является действительно таким, что может быть обеспечено стандартом DES. Поэтому была создана персонифицированная версия DES.
Тест программного соответствия
Тест показывает, соответствуют ли закодированные тексты стандарту, используя три стандартных примера, которые в предыдущем тесте не используются. Три стандартных примера заключаются в следующем (в шестнадцатеричном коде):
Пример 1 | |
- понятный текст: | 4E.6F.77.20.69.73.20.74 |
- закодированный текст: | 3F.A4.0E.8A.98.4D.48.15 |
Пример 2 | |
- понятный текст: | 68.65.20.74.69.6D.65.20 |
- закодированный текст: | 6A.27.17.87.AB.88.83.F9 |
Пример 3 | |
- понятный текст: | 66.6F.72.20.61.6C.6C.20 |
- закодированный текст: | 89.3D.51.EC.4B.56.3B.53 |
С ключом в шестнадцатеричном коде.
Приложение С
(обязательное)
Генерация случайных чисел (NAO) для ответа от забытого устройства
Принцип
Чтобы достичь оптимального различия чисел, генерируемых различными устройствами, для вычислений выбирают два параметра внутри каждого устройства.
Они представляют собой индивидуальные адреса каждого устройства (этому параметру свойственны различия от устройства к устройству) и один из индексов потребления, выбираемый из пяти доступных внутри каждого устройства.
Комбинация этих двух параметров позволяет сгенерировать последовательность из 60 взаимосвязанных переменных (12
Определенный адрес более чем 12 цифр (6 байтов) от
Последовательность генерируется посредством последовательного вычисления номеров, соответствующих сумме
Выбор чисел 12 и 5 позволяет сгенерировать последовательность из 60 случайных чисел для каждого устройства.
Общая формула, управляющая вычислением этих случайных чисел
Дистанционно читаемые индексы
Приложение D
(обязательное)
Генерация случайных чисел для идентификации
Цель состоит в том, чтобы добавлять 64-битное случайное число в процессе обмена дистанционного программирования, чтобы обеспечить дуплексную идентификацию.
Решением этой проблемы является относительно простой метод, основанный на сдвиге, за которым следует сложение (по модулю 2) последовательностей правильно инициализируемых битов.
Принцип
64-битный регистр
64-битное число, помещенное в
Если наиболее значимый бит
В противном случае
Таким образом мы получаем первое случайное число
Значение полиномиального генератора
Блок-схема
Приложение Е
(обязательное)
Кодирование блоков
Кодирование
Пример кодирования
Данные:
- поле
- поле
- поле
- поле
- пустое поле данных (специфическое для применений), кодируемое в зависимости от применения.
Реализация представления байта
Представление байта
В течение передачи биты передаются в возрастающем порядке.
Представление данных, содержащих несколько байтов
В течение передачи биты передаются в возрастающем порядке.
Приложение F
(обязательное)
Возможные варианты полей BERREUR (I,J) и BTIMOUT (I,J)
Возможные варианты | Возможные варианты | Действие | |||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | С | С | Е2 | С, тип 2 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Е | Е | С | С, тип 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | Е2 | Е1 | Е1 | Е1 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Е2 | Е2 | Е2 | Е2 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Е2 | Е2 | Е2 | Е2 |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | Е2 | Е2 | Е2 | Е2 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Е | Е | Е2 | С, тип 3 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Е | Е | Е2 | С, тип 3 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Е1 | |||
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Е1 | Е1 | ||
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | Е | Е | С, тип 3 | |
С - правильно; С, тип 1 - правильно, нет ответа от устройств; С, тип 2 - правильно, понятный ответ от устройства; С, тип 3 - правильно, непонятный ответ. Ошибка КАНАЛЬНОГО, СЕАНСОВОГО или ПРИКЛАДНОГО уровней; Е - ошибка, приводящая к процедуре перезапуска; Е1 - ошибка, не приводящая к процедуре перезапуска или к новому обмену; Е2 - ошибка, приводящая к новому обмену. |
Приложение G
(справочное)
Соответствие шестнадцатеричного (HEX) и ASCII кодов
Двоичный | HEX | ASCII | Десятичный | Двоичный | HEX | ASCII | Десятичный | ||
0110000 | 30 | 0 | 48 | 0111000 | 38 | 8 | 56 | ||
0110001 | 31 | 1 | 49 | 0111001 | 39 | 9 | 57 | ||
0110010 | 32 | 2 | 50 | 0111010 | 3А | : | 58 | ||
0110011 | 33 | 3 | 51 | 0111011 | 3В | ; | 59 | ||
0110100 | 34 | 4 | 52 | 0111100 | 3C | < | 60 | ||
0110101 | 35 | 5 | 53 | 0111101 | 3D | = | 61 | ||
0110110 | 36 | 6 | 54 | 0111110 | 3Е | > | 62 | ||
0110111 | 37 | 7 | 55 | 0111111 | 3F | ? | 63 |
Приложение ДА
(справочное)
Сведения о соответствии ссылочных международных стандартов межгосударственным стандартам
Таблица ДА.1
Обозначение ссылочного международного стандарта | Степень соответствия | Обозначение и наименование соответствующего межгосударственного стандарта |
ISO 7498-84, доп.1-84 ISO 7498-84 | MOD | ГОСТ 28906-91 (ИСО 7498-84, доп.1-84) "Системы обработки информации. Взаимосвязь открытых систем. Базовая эталонная модель" |
Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов: |
УДК 621.317.785:006.354 | МКС 17.220.20 |
Ключевые слова: обмен данными, считывание показаний, счетчики, тарификация, управление нагрузкой, локальная шина, тарифные устройства, специальная шина, считывание данных, программирующее устройство, магнитный разъем, средства аппаратные, протоколы, системы локальные, портативное устройство, программирующе-считывающее устройство, первичная станция, управляющая станция, контроллер |
Электронный текст документа
и сверен по:
, 2020