Opened 5 years ago
Closed 5 years ago
#484 closed улучшение (готово)
Плата УМ-02, поддержка протокола PLC v2
Reported by: | vlad | Owned by: | san |
---|---|---|---|
Priority: | major | Component: | MC04-DSL-3U и его платы |
Keywords: | Cc: | andrei |
Description (last modified by )
Сделать(ДОБАВИТЬ) поддержку протокола PLC v2 для отображения платы в ПО PLC_Monitor.
Платe УМ-02 необходимо доработать (разъем кросса):
- A3 отрезать от GLOBAL_1
- B3 соединить с GLOBAL_1
В кросс-плате PLC v1 "B3" электрически не соединён ни с одной цепью (в воздухе)
В кросс-плате PLC v2 "B3" соединён с цепью 0V.
Таким образом, при старте плата определяет, по какому протоколу будет работать:
- GLOBAL_1 =1 cross PLC v1
- GLOBAL_1 =0 Cross PLC v2
Протокол Cross PLC_v2 описан в документе plc_interface.txt п.1, п.3.1-3.4
Ниже привожу только выдержки.
Идентификаторы плат/каналов:
0xa - плата первого усилителя прд;
0xc - плата второго усилителя прд;
Сообщения должны ограничиваться с обеих сторон символами 'Flag' 0x7E.
Передача должна выполняться с замещением символов:
0x7E ('Flag') - последовательностью 0x7D, 0x5E;
0x7D ('Esc') - последовательностью 0x7D, 0x5D.
Формат сообщений определён в разделе 1.
Плата МД выдаёт сообщения в цепь "Tx" по мере их появления.
При отсутствии сообщений для передачи плата передаёт маркеры, заполняя паузы
ожидания после передачи очередного маркера флагами. Маркер - однобайтовое сооб-
щение, состоящее из одинаковых ниблов, содержащих идентификаторы платы/канала,
определённые в разделе 1. Маркер предоставляет право занятия цепи "Rx" соответ-
ствующей плате.
После получения маркера (последовательности Флаг-Маркер-Флаг) адресуемая плата может передавать произвольное количество сообщений произвольной длины.
Если адресуемая плата намерена передавать, она должна начать передачу не позже
двух символьных интервалов (2*86.8мкс) после конца передачи постмаркерного фла-
га и обеспечивать паузы между передаваемыми символами меньше одного символьного
интервала (86.8мкс).
При обнаружении передачи по цепи "Rx" после передачи маркера, плата МД за-
держивает передачу следующих сообщений до завершения передачи по цепи "Rx".
Иначе передача следующего сообщения начинается после передачи шести флагов.
Плата, занявшая цепь "Rx", должна непрерывно контролировать активность в це-
пи "Tx" и при обнаружении передачи по цепи символов-нефлагов максимально быстро
освобождать цепь "Rx".
Цикл формирования маркеров: 55-88-66-aa-77-bb-55-cc-66-dd-77-ee.
Структура сообщений: <Указатель><Маршрут><Данные><Контроль>
Указатель занимает один байт:
бит 7 (старший) - значение 0/1, если передается команда/ответ;
бит 6 - резервный, должен быть 0;
биты 5..0 - номер активного элемента в поле машрута.
Маршрут представляется списком элементов, каждый из которых занимает половину
байта и является идентификатором платы/канала или блока по пути продвижения со-
общения. Перед идентификаторами блоков вставляется элемент со значением 0. Если
сообщение адресовано блоку, после идентификатора этого блока следует элемент со
значением 0 (признак конца списка). Остаток последнего байта маршрута должен
заполняться 0 и при приеме должен игнорироваться.
Поле данных может иметь произвольное количество байтов в пределах возможности
передачи через Ethernet сеть.
Сообщение должно завершаться контрольным байтом. Значение байта вычисляется
аналогично DARPA IP протоколу: сумма всех байтов сообщения и возникающих при
сложении переносов должна быть 0xFF.
При формировании команды указателю присваивается значение 0. В процессе про-
движения команды по очередному узлу ветвления определяется направление по ак-
тивному элементу списка, элемент списка модифицируется для формирования марш-
рута ответного сообщения, инкрементируется указатель и корректируется контроль-
ный байт.
При формировании ответного сообщения должны использоваться указатель и марш-
рут, полученные в команде. В процессе продвижения ответа по узлам ветвления
указатель должен декрементироваться и должен формироваться маршрут к иточнику
ответного сообщения.
Сообщения для плат УМ-02 Команда Комментарий 0x01 Запрос версии Запрос: Число данных не имеет значения Ответ: [8 байт] [0] CMD(0x01) [1] Ver [2] Subver [3..6] Уровень ПРД, дБ [float] [7] Бит 0 -резерв Аварии, бит 1,2,3,4: 'Обрыв линии','Отказ/обрыв ФПРД', 'Нет сигнала на входе УМ', 'Высокая температура' Бит 7 : 0-УМ-01, 1-УМ-02 [8] T, °C
Добавить команду 0х02 (+регистр адреса, регистр данных) для записи параметров, которые нужно отобразить индикаторе - аналогично PLCv1
Change History (4)
comment:1 by , 5 years ago
Description: | modified (diff) |
---|
comment:2 by , 5 years ago
Cc: | added |
---|
comment:4 by , 5 years ago
Resolution: | → готово |
---|---|
Status: | new → closed |
Сделано в версии v.5
Сообщения для плат УМ-02
Команда | Комментарий |
0x01 | Чтение/запись |
Запрос: Если есть данные, это запись, если данных нет - чтение.
Запись: 1 байт: бит 0 - признак двух УМ в блоке, остальные биты=0(резерв);
Ответ: на чтение и запись одинаковый [4 байт или больше]
0 | CMD(0x01) |
1 | статус : Бит 0 -резерв, Аварии, бит 1,2,3,4:'Обрыв линии','Отказ/обрыв ФПРД', 'Нет сигнала на входе УМ', 'Высокая температура'; бит 6 - признак двух УМ в блоке ;бит 7 : 0-УМ-01, 1-УМ-02 |
2 | Уровень ПРД, дБ [uint8_t] |
3 | T, °C |
Андрей, с тебя нужно задание на доработку.