数字调光协议之 DMX512/RDM (下)

Hello 大家好,这里是陈不来的工业频道。上一篇说到 DMX 的数据帧以及信息包的结构,本文继续介绍 DMX 的工作原理。 

DMX512 协议的基本作用机理

 

先前有介绍过, DMX512 信息包(Packet)中有 512 个数据帧,每一个数据帧可以称为一条信号通道(DMX Channel)。一个或多个通道控制一项功能,具体功能根据产品来定义,如电脑灯的调光、调色等控制就是由一个个通道的信息来实现的。

图 1 三合一电脑灯产品图

  

我们以 DMX512 电脑灯的最基础的操作通道为例,给大家参考:

 

图 2 电脑灯 DMX 通道表

 

图 2 中的 DMX 数值用十进制数表示,0 ~ 7 对应 8 位控制数据的二进制组合为0000 0000 ~ 0000 0111。

232~255 对应的二进制组合为1110 1000 ~ 1111 1111,其他以此类推。

将 DMX 协议中某一指令帧的部分或全部 8 位二进制组合形成电脑灯某一功能转换或状态变化的这一过程即解码与控制。

从 DMX 通道表中可以清楚地看出电脑灯功能、通道数及其对应关系,是计算一个 DMX 接口所带单元负载数目及设置起始地址编码的重要依据。

比如,像这种只有 8 个通道的电脑灯,一个 DMX 接口可以控制的数量为 64 台 ( 512/8=64 )。如果另一类电脑灯的 DMX 通道数为 20,那么一个 DMX 接口可以控制的数量则为 25 台(512/20=25.6,舍去余数)。

 

DMX512 控制协议的若干应用问题

 

应用 DMX512 协议控制数字灯光设备时,还需要对 DMX 接口的应用特点、起始地址码、单元负载及信号终端器等问题有所了解。

DMX接口的应用特点

DMX512 标准规定 DMX 接口用 5 芯卡侬口(CANNON),其中 1 芯接地,2,3 和 4,5 芯传输控制信号(2,4 为反相端,3,5 为同相端),4,5 芯原打算传输灯光设备的状态及错误检测等信息,后来闲置不用。

之所以要求用 5 芯卡侬接口而不是更为常见的 3 芯卡侬接口,是为了防止不小心和专业音响上常用的 3 芯卡侬接口产生误连接。因为音响设备上连接电容话筒的 3 芯卡侬口可对外提供 48 v 的幻像电压,这种错误连接,极易烧坏内部电路。尽管如此,很多电脑灯还是采用了 3 芯卡侬口,如出现两种卡侬口并存的情况,要用转接器予以正确转接。

所有数字化灯光设备均有一个 DMX 输入接口和一个 DMX 输出接口,DMX512 控制协议允许各种灯光设备混合连接,在使用中可直接将上一台设备的 DMX 输出接口和下一台设备的输入接口连接起来。不过需要清楚的是,这种看似串联的链路架构,对 DMX 控制信号而言其实是并联的。因为 DMX 控制信号进入灯光设备后“兵分两路”(见图 3),一路经运放电路进行电压比较并放大、整形后,对指令脉冲解码,然后经驱动电路控制步进电机完成各种控制动作;另一路则经过缓冲、隔离后,直接输送到下一台灯光设备。另外,从图 3 中运放所具有的电压比较作用不难得出这样一个结论:利用运放电路很高的共模抑制能力,可以极大地提高 DMX 控制信号的抗干扰能力,这就是为什么 DMX512 控制信号采用平衡传输的原因。


图 3  灯光设备 DMX 接口简化电路

起始地址码

基于 DMX512 控制协议的每台灯光设备都需要被赋予一个数字启动地址编号,这个地址编号即该灯光设备的地址码。地址码用于 DMX512 控制信号的寻址,以保证设备只对属于“自己的”控制信号产生反应。

地址码其实是灯光设备控制通道的起始序号。

当 DMX512 信息包的通道号(帧序号)与某灯光设备的地址码即所赋予的通道起始序号相同时,设备就开始对DMX512 控制信号进行解码并产生控制动作。与此同时,其他处于同一条链路上的灯光设备对 DMX512 控制信号没有反应。直到 DMX512 信息包的控制通道号过渡到与下一台灯光设备所赋予的通道起始序号相同时,该设备停止受控,同时下一台灯光设备的地址码发挥作用,处于受控状态。

以电脑灯为例,假设某 DMX 控制端口驱动若干台电脑灯,则第一台电脑灯的起始地址码是 001,第二台电脑灯的起始地址码是 001 加第一台灯的 DMX 通道数,以此类推。比如,第一、第二台电脑灯的通道数分别为 16 和20,则第一台电脑灯的起始地址码是 001,第二台电脑灯的起始地址码是 017,第三台电脑灯的起始地址码是037。最后一台电脑灯的起始地址码与其通道数相加不能超过 512,如还有剩余的电脑灯,则应启用控制台的下一个 DMX 控制接口。

数字灯光设备起始地址码的设置方式有数字式和拨码式两种,总体上设置方法比较简单。



电脑灯的单元负载(Units of Load)

根据 DMX512 协议标准,每个 DMX 接口在所控制灯具的总通道数不超过512 个的前提下,最多只能控制 32 个单元负载。当电脑灯、硅箱、换色器或其他支持 DMX512 控制协议的灯光设备多于 32 个,但控制通道总数远未达到 512 个时,可采用 DMX 分配器,将一路 DMX 信号分成多个 DMX 支路,一方面便于就近连接灯架上的各灯光设备,另一方面每个支路均可驱动 32 个单元负载。不过属于同一 DMX 链路上的各 DMX 支路所控制的通道总数仍不能超过 512 个。

DMX 终端器(DMX Terminator)

DMX 终端器是一个接在每一 DMX 支路最后一台灯光设备 DMX 输出接口上的卡侬口连接器,连接器要连接一只阻值 120Ω、功率 1 W  左右的电阻器,使每一 DMX 支路的末端处于闭合状态。由于 DMX 控制脉冲频率较高,当传输线路不通时具有原路返回的天性,这样,原路返回的信号会和后来的信号相叠加,极易造成 DMX 控制指令产生误码,使电脑灯不能正常解码,出现动作错误或控制失灵的现象。

因此,在最后一台电脑灯的 DMX 输出接口上接入一个终端器,有利于保证电脑灯的稳定工作。

 

小结

和传统的模拟调光系统相比,基于 DMX512 控制协议的数字灯光系统,以其强大的控制功能给大、中型影视演播室和综艺舞台的灯光效果带来了翻天覆地的变化。但是 DMX512 灯光控制标准也有一些不足,比如速度还不够快,传输距离还不够远,布线与初始设置随系统规模的变大而变得过于繁琐等,另外控制数据只能由控制端向受控单元单向传输,不能检测灯具的工作情况和在线状态,容易出现传输错误。后来经过修订完善的 DMX512 1A标准支持双向传输,可以回传灯具的错误诊断报告等信息,并兼容所有符合 DMX512标准的灯光设备。另外,有些灯光设备的解码电路支持 12 位及 12 位数据扩展模式,可以获得更为精确的控制。

 

相关推荐

除了上篇说的 NXP LPC804 MCU 以外,NXP 还提供了 DMX512/RDM 相关的 Demo 可以参考调试:

 

图 4 NXP DMX512/RDM master and slave demo board

这套 Demo 有上位机供调试,可以实现多台 slave 控制,如下图所示:

图 5  DMX512 network

具体资料可通过以下链接下载:

https://community.nxp.com/t5/LPC-Microcontrollers-Knowledge/DMX512-Software-Development-Kit/ta-p/1108660

 

参考文献

https://wenku.baidu.com/view/d8945f9b80eb6294dd886ccb.html

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能