Разработка распределенной системы повышения отказоустойчивости сетей протокола DMX512
Боровцов Евгений Геннадьевич - научный руководитель
С каждым годом количество массовых мероприятий и концертов с использованием специального управляемого светотехнического оборудования растет. К тому же увеличивается и количество светоизлучающих приборов, которое используют светорежиссеры на площадках. Кроме того, следует принимать во внимание тот факт, что управляемые светоизлучающие устройства все больше и больше находят применение в архитектурном и городском оформлении.
Таким образом, с ростом количества оборудования, применяемого на мероприятиях, зданиях или улицах, увеличивается количество и длина сигнальных линий, а следовательно, увеличивается вероятность сбоев и отказов оборудования.
Наиболее популярным в архитектурной подсветке и фактически единственным в концертной деятельности является управляющий протокол DMX512, передающий пакеты данных от светового пульта до светоизлучающих приборов.Во время работы оборудования, нередкими бывают ситуации, когда часть светоизлучающих приборов на линии или вся линия перестают получать пакеты DMX512 на неопределенное время. Как правило, причинами этого могут выступать частичное повреждение кабеля, неплотное прилегание контактов разъема кабеля к контактам светоизлучающего оборудования, окисление контактов из-за воздействия климатических условий, выход из строя выходного каскада сплиттера. В этом случае, светоинженеру необходимо добраться до неисправного участка сети DMX512 с целью устранения неисправности, что не всегда представляется возможным. (Пример на слайде 5)
Решить данную проблему можно, продублировав передачу данных со стороны терминатора, что позволит при одинарном обрыве цепи сохранить работоспособность группы светоизлучающих приборов, расположенных на данной линии технологической сети DMX512.
Для проверки проходимости дискретного сигнала в технологической сети протокола DMX512 устройство тестирования должно представлять из себя распределенную систему, поскольку сеть протокола может иметь ветвления, организованные с помощью специальных сплиттеров двоичного сигнала.
Для выявления отсутствия проходимости управляющей последовательности протокола DMX512, предлагается использовать идею протокола Heartbeat, который используется в вычислительных сетях. Принцип обнаружения отсутствия сигнала на конце линии заключается в следующем: если в течении периода, превышающего максимальный временной интервал «Break» (низкий уровень сигнала), состояние сети DMX512 не измениться на «Mark after break» (высокий уровень сигнала), можно утверждать, что информационный пакет протокола не достигнет конца линии.
Пример подключения светотехнического оборудования и распределенной системы тестирования технологической сети DMX512, состоящей из узла управления (Main node) и узлов линий (Node line), приведен на слайде 6. Подключение узлов выполняется кабелем, используемым для коммутации светотехнической аппаратуры. Входы и выходы LINK предназначены для обмена служебными сообщениями между узлом управления и узлами линий.
На слайде 7 приведена диаграмма состояний распределенной системы, состоящей из узла управления и узлов линий. Причем, количество узлов линий может быть изменено в соответствии с количеством линий сети DMX512. При отсутствии сигнала на последнем светоизлучающем приборе в цепи, узел линии отправляет запрос на узел управления для отправки пакета протокола по резервному пути.
Для взаимодействия между узлами был выбран интерфейс RS485, который используется в протоколе DMX512.
Для сборки прототипа были выбраны микроконтроллеры ESP32 и модули преобразования TTL в RS485 на микросхеме MAX485, способный работать в полудуплексном режиме. На слайде представлена принципиальная схема узла управления и узлов линий.
Для узла управления мы задействуем три универсального асинхронного приёмопередатчика микроконтроллера : первый для приема пакетов DMX512 от светового контроллера, второй для отправки пакетов DMX512 до светоизлучающих приборов, третий для взаимодействия между узлами распределенной системы по общей шине; для узла линии мы задействуем два UART’а: первый для контроля наличия управляющей последовательности протокола DMX512 на конце линии, второй для взаимодействия с узлом управления по общей шине.
Программный код реализован на языке С++ в среде разработки Visual Studio Code с помощью фреймворка Espressif IDF.
Подход к резервной передаче пакетов протокола DMX512:
- позволит нивелировать обрыв сигнальной цепи на каждой линии;
- увеличит надежность функционирования светотехнической системы;
- защитит репутацию компании.
распределенную систему, поскольку сеть протокола может иметь ветвления, организованные с помощью специальных сплиттеров двоичного сигнала.
Чтобы не модифицировать текущий протокол, то для обнаружения отсутствия сигнала на конце линии использовалась идея протокола Heartbeat. В качестве ключевого импульса, с помощью которого определяется целостность сигнальной линии используется переход в временного интервала «Break» (низкий уровень сигнала), на «Mark after break» (высокий уровень сигнала). Данный ключевой импульс происходит несколько раз в секунду перед началом отправки пакета данных.
- проверили работоспособность прототипа системы на выявление и нивелирование проблем в технологической сети;
- высоко оценили простоту использования прототипа.