DMX协议
一、简介
DMX(digital multiplex),协议是由美国舞台灯光协会(USITT)提出了一种数据调光协议,它给出了一种灯光控制器与灯具设备之间通信的协议标准,因其在1990年提出,所以协议的全称是USITTDMX512(1990)。该协议的提出为使用数字信号控制灯光设备提供了一个良好的标准。
虽然灯光控制系统已发展到网络化控制系统,但DMX512信号系统仍是目前应用最广泛的系统,即使是大型的网络化灯光控制系统,控制的末端仍然大量采用DMX512信号控制方式。
DMX512协议适用于一点对多点的主从控制网络系统。根据DMX512数据传输速率的要求以及控制网络分散的特点,其物理层的设计采用RS-485总线收发器,总线用一对双绞线实现调光台与调光器的相接。RS-485总线采用平衡发送和差分接收,接收灵敏度高,而且抗干扰的能力强,信号传输距离可达1000m。如果调光器距离调光台过远,可使用放大器或者信号分离器以增强信号。DMX512协议采用总线型结构,但数据都是从调光台到调光器单向传送,因此不存在各个调光器之间争夺总线使用权而导致信息堵塞的现象。
二、数据格式
DMX512协议对于数据的传输速率有一定的要求,典型的传输速率为250kbps,其对应的每个比特位的持续时间为4us,每个数据帧的时长为44us,并且协议也规定每个DMX512数据包一次最大支持512帧数据的传输。DMX512数据包的格式如下图所示:
DMX512协议规定数据包从传输必须按照规定的格式和传输波特率进行,一个完整的DMX512数据包的格式由一个MTBP信号、一个BREAK信号、一个MAB信号和一个SC信号,以及后面的数据帧组成。其分别的含义如下:
(1)MTBPMTBP(Mark Time Between Packages)标志着一个完整的DMX512数据包的发送完毕,同时也是下一个数据包即将开始是标示位,高电平有效,表示当前传输线处于空闲状态,没有数据传输。
(2)BREAKBREAK是一个DMX512数据包的启示控制信号,对应着一个数据包结束后的复位阶段,复位完成后接着应该发送下一包的数据。协议规定BREAK的信号为低电平有效,并且持续时间不小于两个DMX512的数据帧的长度,即88us。
(3)MABMAB(Mark After Break)是一个数据包开始发送的标识,由于每一个数据帧的第一个位为低电平,故为了区分BREAK的低电平和数据帧的起始位的低电平,加入了MAB信号。协议规定了MAB的典型持续时长为8us,即两个位的时间,高电平有效。
(4)SC(Start Code)SC即起始码,它和一个普通的数据帧一样,但是它的8位数据位均为零,标示数据包中数据帧的开始。
三、特点
与其他协议相比,DMX512协议具有以下特点:
(1)信号是基于差分电压进行传输的,抗干扰能力强;
(2)采用RS-485总线收发器,信号可以进行长距离传输;
(3)数据刷新快,不论调光器的输出是否需要改变,主机都必须发送控制信号,数据帧与数据帧之间的时间小于1s,如果调光器在1s内没有收到新的数据帧,便可知数据已经丢失;
(4)实现简单,不需要专门的硬件设备支持。