ПРОТОКОЛ DMX512. ПРИНЦИПЫ РАБОТЫ И ОСОБЕННОСТИ.
Передача данных по протоколу DMX512 (Digital Multiplex) был разработан в 1986 году комитетом USITT (U.S. Insnitute of Theatre Tecnology) для управления диммерными каналами со световой консоли (пульта) при помощи стандартного интерфейса. До появления протокола DMX контроль над диммерами осуществлялся либо по отдельным несущим проводам, либо при помощи разнообразных цифровых или мультиплексных аналоговых соединений.
Стандарт DMX512 позволяет управлять по одной линии связи одновременно 512 каналами, (канал-это не приемный прибор). Несколько включенных одновременно приборов, поддерживающих DMX512, позволяют создавать световые картины и элементы оформления самой различной сложности, как внутри помещений, так и снаружи. По одному каналу передаётся информация для управления одним параметром прибора, например в какой цвет окрасить луч прожектора или на какой угол повернуть зеркало по горизонтали в данный момент чтобы изменить направление лазерного луча.
Протокол DMX512 имеет ряд преимуществ и недостатков, но он получил широкое распространение и сейчас де-факто является главным стандартом создания большинства светотехнических систем. Он отличается простотой и универсальностью.
Основа протокола связи DMX – множественность кодов. Каждый код – это уникальная последовательность высоких и низких уровней сигнала, которые называются битами и посылаются через определенные интервалы времени (4 µs для DMX512). Все коды в DMX512 содержат 8 бит. Группа из 8 бит называется байтом. Байт содержит 256 различных кодов от 0 до 255. Для определения начала байта, к нему добавляется 3 бита – стартовый (логический 0), и 2 стоповых (логическая 1). Если по линии не передается никакой информации, то она находится в состоянии с высоким уровнем (логическая 1). Чтобы переслать байт информации передатчик посылает стартовый бит, сообщающий приемнику о начале обмена. Приемник считывает биты с интервалом в 4 µs до тех пор, пока не примет все 8, а затем сканирует линию, ожидая высокого сигнала для принятия стоповых битов. В конце второго стопового бита линия может перейти в состояние ожидания (уровень у нее уже высокий), либо новый стартовый бит начнет передачу следующего байта. Если передача информации в линии происходит непрерывно без промежутков между кадрами, то интервал в 4 µs позволяет передать 250 000 бит в секунду.
Стандарт передачи данных DMX512 реализуется асинхронным протоколом (кадры могут быть посланы в любой момент времени, когда линия находится в состоянии ожидания). На практике, большинство световых устройств делают промежутки между кадрами, потому что быстродействие консоли не позволяет подготовить к передаче следующий кадр к моменту отправки предыдущего.
Протокол dmx512 содержит 512 каналов, последовательно пересылающих данные, начиная с канала 1 и заканчивая самым большим номером канала (512), содержащимся в данном устройстве. Не допускается более 512 связанных каналов. Устройства, способные работать с более чем 512 диммерными выходами (декодерами), имеют больше одного порта DMX512. Каналы DMX512 нельзя путать с каналами устройства или диммера. Канал приемника (декодера) может использовать несколько каналов DMX512 или ни одного.
Для определения приемным устройством информации, предназначенной для первого канала, в линию посылается специальный сигнал – прерывание (все 256 кодов отведены для определения уровней). Условие наступления прерывания – продолжительный сигнал низкого уровня длительностью не менее 88 µs (два полных кадра), являющийся сигналом для принимающего устройства о начале передачи пакета данных.
После окончания сигнала прерывания линия переходит на некоторое время в состояние высокого уровня сигнала. Этот промежуток времени называется “метка после прерывания” (Mark-after-break). После сигнала “метка после прерывания” посылается специальный код. В протоколе DMX512 первый байт, посланный после прерывания, называется стартовым кодом. Для декодера уровень данных этого байта имеет нулевое значение. Стартовый байт с нулевым значением говорит о том, что передаваемые далее байты будут содержать 8-битную информацию об уровнях диммера. Стартовый байт также называют байтом режима, кодом типа, заглавным байтом или заголовком пакета. Остальные 255 возможных стартовых кодов в DMX512 не используются, хотя некоторые из них зарезервированы. Ряд производителей использует ненулевой стартовый код, чтобы сообщить дополнительную информацию, уникальную для конкретных приборов.
Изначально стандарт DMX512 был разработан для управления диммерами. Но в настоящее время широко используется для управления движущимися и интеллектуальными приборами и скроллерами. По существу, не имеет значения чем управлять в системе «передатчик-приемник» протокола DMX512, потому что на декодер можно подключить любую нагрузку.
Использование DMX512 позволяет объединять приборы в линии с рекомендуемой максимальной длиной до 1 км. Практически же следует ограничить длину линии до 500 м или использовать усилители сигнала (повторители). Для длинных сетей очень важно качество кабеля. Его сопротивление должно позволять получать не менее 0.2 В на терминирующем резисторе 120 Ом на удаленном конце линии при напряжении 2 В на передающем устройстве. Сечение кабеля должно быть не менее 0,22 мм кв. Сопротивление постоянному току должно находиться в согласовании с характеристическим импедансом (не более 200 Ом на жилу). Во избежание интерференционных процессов и различного рода ошибок все линии DMX512 должны быть изолированы от влияния силового кабеля и не должны пролегать в трубопроводах или объединяться в жгуты с силовыми кабелями.
Все приборы, декодирующие сигнал протокола DMX512, за исключением тех, которые принимают все 512 каналов, имеют средства определения адреса (адресов), на которые данный прибор будет реагировать. Наиболее часто используемый метод адресации – базовый. Выбранный адрес является первым адресом блока последовательно пронумерованных каналов, которые будет воспринимать данное устройство.
На рис. 1 приведен пример передачи пакета данных по протоколу DMX512 для одного канала
Рис. 1. Типичный пакет данных, передаваемый по протоколу DMX512
На рис. 2 приведен пример передачи в пакете данных цифры 255.
Рис.2. Переда пакета данных, содержащего цифру 255
Рис.3. Расположение и порядок следования каналов в пакете данных протокола DMX512