Назад

NMRA STANDARD

Communication Standards

For Digital Command Control

All Scales

Adopted July 2004    S 9.2

 

 

Этот стандарт описывает формат передачи данных от Цифровой командной станции к цифровым декодерам. Цифровые командные станции передают информацию цифровым декодерам путем передачи последовательности битов согласно стандарту NMRA S 9.1, описывающему цифровой сигнал. Эта последовательность битов, называемая далее пакет, используется для кодирования инструкций, которые в последствии исполняются декодером. Пакеты должны быть точно определены, обеспечивая при этом кодирование и достоверное декодирование.

 

А. Общий формат пакета

 

Приведенная ниже последовательность битов представляет собой NMRA пакет. Любая последовательность, которая не соответствует формату NMRA, не является пакетом. Цифровым декодерам запрещается выполнять инструкции, которые содержатся в последовательностях бит не соответствующими формату NMRA1. Примечание: биты помещенные в тексте в квадратные скобки [ ] должны передаваться один или несколько раз.

 

Формат пакета:

 

Преамбула:               Преамбула пакета содержит последовательность единичных бит. Декодер не должен реагировать на преамбулу, содержащую менее чем 10 единичных бит, либо воспринимать как преамбулу последовательность из не менее 12 единичных бит. Командная станция должна передавать как преамбулу последовательность из минимум 14 единичных бит.

 

Старт бит пакета:           Стартовый бит пакета – первый бит со значением «0», следующий непосредственно за преамбулой. Стартовый бит пакета является разделителем преамбулы и адресного байта, следующего в пакете после преамбулы.

 

Байт адреса:            Первый байт данных пакета содержит восемь бит информации об адресе2. Первый передаваемый бит в байте адреса является старшим значащим битом. Байты адреса со значениями 00000000, 11111110, 11111111 являются зарезервированными для специальных операций и не должны передаваться за исключением случаев, описанных в данном Стандарте 9.2 или соответствующих ему  Практических рекомендациях.

 

[ Старт бит данных:        Этот бит предшествует байту данных и имеет значение «0».

 

Байт данных:          Каждый бит данных содержит восемь бит информации используемой для адресации,  передачи инструкций, данных или в целях определения наличия ошибок в пакете.

 

Стоповый бит пакета:     Этот бит определяет конец пакета и имеет значение «1»3.

1    

2 Первый байт также может быть использован для обозначения инструкций. Смотри RP-9.2.3 как пример двойного применения.

3                         

 

 

Рис.1 содержит пример командного пакета управления, который содержит три байта данных: адресный, инструкции, байт контроля наличия ошибок в пакете.

 

                                                           Рис 1. пример переданного пакета.

 

Б: Базовые пакеты

 

Базовые пакеты обеспечивают функционирование системы с минимальными возможностями. Пакеты более сложных форматов, которые поддерживают различные типы декодеров, дополнительные функции, адреса и скорости описаны в Практических рекомендациях по применению Пакетов расширенного формата RP-9.2.1. Цель данного стандарта определить следующее: Командная станция должна преобразовать информацию, поступающую от пользователя в пакет, соответствующий правилам построения базового пакета, а декодер должен достоверно распознать и обеспечить управление локомотивом в соответствии   с правилами построения базового пакета. Пакеты ожидания (Idle Packet)  и общие стоповые пакеты  (Broadcast Stop Packet), которые будут описаны ниже, являются возможными при работе командной станции, и их применение определено требованиями применяемых декодеров.

 

Пакет направления и скорости для локомотивных декодеров

 

111111111111 0             0ААААААА   0    01DCSSSS    0   EEEEEEEE      1

Преамбула                             1-й байт            2-й байт            3-й байт

 

Первый Байт :          Байт данных адреса=0ААААААА. Адресный байт содержит адрес требуемого получателя пакета. Каждый декодер должен иметь возможность хранить и опознавать из пакета свой адрес обеспечения работы базового пакета. Локомотивные декодеры должны поддерживать полный диапазон основных адресов, при этом  адрес должен быть легко изменяем пользователем. Допускается, что цифровой декодер может иметь ограничения по допустимым адресам для него при этом данные ограничения должны быть четко и ясно прописаны в прилагаемой к нему инструкции и упаковке.

 

Второй Байт :          Байт инструкции=01DCSSSS. Байт инструкций – байт содержащий информацию о предписываемой скорости и направлении движения для локомотивного декодера. Биты 0-3 содержат четыре бита информации о скорости (S), нулевой бит – младший значащий. Четвертый бит (С) может содержать дополнительную информацию о скорости, который в свою очередь будет являться младшим значащим. Для обратной совместимости этот бит может использоваться для управления прожектором, работа в таком режиме описана в RP-9.2.1. Бит 5 (D) – бит определяющий направление. Когда бит направления (D) имеет  значение «1» локомотив должен двигаться в прямом направлении. Бит направления со значением «0» предписывает локомотиву двигаться в обратном направлении. Биты 6 и 7 содержат значение 01, обозначающему, что данная инструкция содержит сведения о скорости и направлении.

 

 

 

Рис.2. Таблица скоростей определяемых Основным пакетом.

* - Декодер после получения данной команды должен немедленно прекратить подачу питания на двигатели.

 

*(I) – Бит направления может игнорироваться для функций зависящих от  направления движения.

 

Третий Байт:           Байт контроля за наличием ошибок в пакете = ЕЕЕЕЕЕЕЕ. Этот байт используется для вычисления наличия ошибок передачи данных. Содержимое этого байта вычисляется как побитовое исключающее ИЛИ (XOR) содержимого байта адреса и байта данных в пакете. Например результат операции исключающее ИЛИ над нулевым битом байта адреса и нулевым битом байта данных инструкции помещается в нулевой бит третьего байта. Декодер должен произвести побитовую операцию исключающее ИЛИ над байтами адреса и инструкции и ее результат сравнить с байтом контроля наличия ошибок.

В случае несовпадения полученного байта контроля ошибок и вычисленного контроллер должен игнорировать выполнение инструкции содержащейся в байте инструкций.

 

Пакет приведенный на рис.1 содержит инструкцию движения вперед с шагом скорости 6 для локомотива с адресом 55 (0х57).

 

Пакет сброса (Reset Packet) для всех декодеров.

 

111111111111      0 00000000   0  00000000  0  00000000       1

Преамбула                 первый           второй           третий

                                     Байт                байт                байт

 

Трехбайтный пакет, в котором все восемь бит каждого из трех байт содержат «0» - пакет сброса (Digital Decoder Reset Packet). Когда декодер принимает пакет сброса он должен стереть всю свою память команд и т.д. (включая любые данные о скорости и направлении), и вернуться в свое исходное состояние «после подачи питания». Если декодер в данный момент управляет локомотивом, имеющим по предыдущей команде ненулевую скорость и получает пакет сброса, он должен немедленно остановить локомотив.

 

После передачи  пакета сброса командная станция не должна передавать в течении 20мс каких-нибудь пакетов с адресами в диапазоне от 01100100 до 01111111, если не предполагается вход в сервисный режим.

 

Пакет ожидания для всех декодеров

 

111111111111    0              11111111            0         00000000      0    11111111         1             

Преамбула                       Первый байт                 Второй байт         Третий обнаруж. Ошибок

 

Трехбайтный пакет, первый байт которого содержит восемь «1», второй байт которого содержит восемь «0», и третий байт которого содержит восемь «1» - Пакет ожидания (Idle Packet). После приема такого пакета декодер не должен предпринимать никаких действий по его выполнению, но должен обработать этот пакет так, как будто он предназначен для другого декодера.

 

Общий (Broadcast) пакет СТОП для всех декодеров.

 

111111111111          0            00000000      0         01DC000S       0        EEEEEEEE       1

  Преамбула                          Первый байт             Второй байт              Третий байт (ошибок)

 

Трехбайтный пакет, первый байт которого содержит восемь «0», второй байт которого содержит специальную команду СТОП  и третий байт которого содержит байт ошибок идентичный по содержанию второму байту – общий пакет СТОП для всех декодеров. После приема такого пакета, в котором нулевой бит второго байта (S) содержит значение «0», декодеры, управляющие локомотивами должны остановить локомотивы.

 

 

При приеме такого пакета, в котором нулевой бит второго байта (S) содержит значение «1», декодеры, управляющие двигателями локомотивов должны немедленно прекратить подачу энергии на двигатели. Если четвертый бит второго байта (С) содержит значение «1», бит направления – пятый во втором байте (D) может быть игнорирован для всех функций зависимым от направления.

 

С: Частота передачи пакетов

 

Пакеты, передаваемые к декодерам должны передаваться так часто, насколько это возможно, т.к. пакеты могут быть потеряны на приемной стороне из-за плохих контактов между рельсами и колесами и из-за сильных помех. Питание может быть снято с рельсов на период времени между стоповым битом пакета и преамбулой следующего пакета для возможности вставки команд управления альтернативных форматов. Декодер должен обрабатывать составные пакеты адресованные ему, которые размещаются в отрезок времени между стоповым битом первого пакета и стартовым битом второго пакета, которые разделены временным интервалом не менее 5мс. Если декодер принял последовательность битов с потерянным или неверным стартовым битом байта данных, потерянным или неверным стоповым битом пакета, или некорректным содержимым байта обнаружения ошибок, он должен ждать следующую преамбулу как начало нового пакета. Альтернативные форматы команд управления могут располагаться между стоповым битом пакета и следующей преамбулой.

 

Производители декодеров имеют право обеспечивать возможность автоматического преобразования различных сигналов питания и форматов управления в дополнение к NMRA цифровому сигналу (удовлетворяющему S-9.1), обеспечивая при этом возможность отключения этого автоматического преобразования альтернативных сигналов питания. Если автоматическое распознавание разрешено декодер должен оставаться в цифровом режиме  и не переходить на работу в другой режим до тех пор пока период между Стартовыми Битами не превышает 30мс. Если автоматическое распознавание запрещено, цифровой декодер должен оставаться в цифровом режиме независимо  от величины временного интервала между Стартовыми пакетами. Из всего этого следует, что необходимо конфигурировать Командную станцию на передачу так, чтобы минимум один полный пакет передавался каждые 30мс (время указано как интервал между стартовыми битами пакетов).

 

 

 

 



Hosted by uCoz