WH/T 32—2008 DMX512-A灯光控制数据传输协议(三)
2012-05-30张冠华
WH/T 32—2008 DMX512-A灯光控制数据传输协议(三)
说明:WH/T 32-2008《DMX512-A灯光控制数据传输协议》是中华人民共和国文化行业标准,由文化部于2008年4月3日发布,2008年6月1日起实施。
本标准等同采用美国国家标准E1.11-2004《USITT DMX512-A 灯光及附属设备控制的异步串行数据数字传输标准》,英文名称:American National Standard E1.11-2004 Entertainment Technology -USITT DMX512-A Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories。
8 数据传输协议
8.1 数据格式
数据传输采用异步串行格式。DMX512字段应被顺序传输,以第0字段开始,以需传输的最后字段结束,最多可传输512个字段(最大共513字段)。第一个字段传送前,应发送复位序列:复位信号、复位后标记和起始码。在零起始码之后有效的DMX512数据字段值应为十进制0~255。
8.2 字段格式
数据的传输格式如表5所示。注意没有发送校验位。
8.3 复位信号
复位信号表示一个新数据包的开始。
发送器产生的复位信号被定义为占到空再到占的变化,其中空(低电平)的最小时间由表6给出(图5中的1)。接收器应在表7规定的最小时间内识别复位信号(图5中的1),并以此作为新数据包的开始。
8.4 复位后标记
分隔复位信号和起始码的标志定义为复位后标记(图5中的2)。所有的DMX512发送器将产生一个复位后标记,其最小时间和最大时间见表6中的2。对应的接收器应在表7规定的最短时间内,根据复位后标记对数据流作出正确响应。
注:USITT DMX512标准的1986版本曾规定了4μs长的复位后标记。USITT DMX512/1990将该值修改为8μs,并增加了一个选项,如接收器仍能识别4μs长的复位后标记,可予以标明。复位后标记仍为4μs的发送器,将不能与符合本标准的设备一起工作。
8.5 起始码
起始码是复位后标记之后的第一个字段(字段0),起始码具有标识数据包中后续数据性质的功能。
8.5.1 零起始码
零起始码用于标识后续字段为无类型的串行8比特信息。由零起始码标识的数据包是在DMX512网络中发送的默认数据包。USITT标准的早期版本曾假设零起始码数据包只发送调光器类数据。实际上,零起始码数据包已广泛地用于其他设备,本标准认可这一事实。
零起始码数据包中不包括数据类型和地址结构。设备要使用零起始码数据包中的数据必须知道数据在数据包中的位置。
不保证所有零起始码数据包都被传递到所有的设备。使用零起始码数据包的设备应是这样一种类型,即数据包丢失将不会严重影响设备的工作。因此,发送的数据应该是一个参数的当前值,而不是一个执行程序的命令。一旦控制器被设置为一种特定的应用,所有的零起始码数据包应该有相同的字段数。
8.5.2 调光器亮度等级数据
调光器亮度数据应使用零起始码数据包。有效的调光器亮度级别应该在0~255(十六进制00~FF)之间。0表示调光器关闭,255表示调光器最大输出。调光器应该对0~255之间的DMX512字段值作出响应。DMX512字段值与调光器输出之间的精确对应关系不属于本标准范围。
注:零起始码数据包是DMX512网络发送的默认数据包,可能会含有非调光器亮度的数据。
表5 字段格式
8.5.3 其他起始码
为了未来的扩展和使用的灵活性,提供了255个非零起始码(十进制的1~255,十六进制的01~FF),即备用起始码。当需要通过DMX512数据链路发送专用信息时,应使用已经注册的备用起始码。
部分备用起始码被保留,见附录D“保留的备用起始码”。
备用起始码的注册规则见附录E“备用起始码,生产商ID和增强功能的注册”。
8.5.3.1 零起始码数据包的刷新
交替发送零起始码数据包和备用起始码数据包的DMX512发送器,每秒至少发送一次零起始码数据包。
8.5.3.2 备用起始码数据包的时间间隔
为保证中继设备不丢失必要的备用起始码数据,可以采用下述方法降低备用起始码数据包的最大刷新率。
a.将发送备用起始码数据包的最短时间提高10%,以增加两个复位信号之间的传输时间,使之大于8.11定义的最小时间。
b.发送器可交替发送非必要的零起始码数据包和备用起始码数据包。
8.5.3.3 中继设备对备用起始码数据包的处理
DMX512处理设备或任何接收并重传DMX512的设备应在产品手册中说明其产品处理备用起始码数据包的方法。可采用的处理方法是:
a.阻止所有含有特定备用起始码的数据包。被阻止的起始码应公布(也可以是所有的备用起始码)。
b.传输所有含有特定备用起始码的数据包。允许传输的起始码应公布。
c.处理含有特定备用起始码的数据包信息,处理方法应详细说明,供用户来决定设备是否满足其需要。
除非声明了数据的处理算法,DMX512中继转发设备不应时而传输具有特定备用起始码的数据包,时而又阻止含有同样备用起始码的数据包。
8.5.4 起始码的处理
除中继设备外的所有接收设备,都应处理起始码,而且要处理零起始码与备用起始码数据包之间的差异。不应认为接收到的所有数据包都是零起始码数据包而忽略对起始码的处理。
8.6 最大数据字段数
每个数据链路最多传送512个数据字段。当需要传送更多字段时,应使用多个数据链路。
8.7 最小数据字段数
在数据链路上,没有规定最小字段数。只要满足本标准的最小定时要求(见8.10和图5),少于512个数据字段的DMX512数据包都可以发送。
8.8 字段间的数据线状态
数据包中任何两个字段间的空闲时间(图5中的9)可以在表6中9规定的最小值和最大值之间变化。在所有的空闲时间,数据线都应保持在占状态。
8.9 数据包之间的数据线状态(复位前标记)
在数据链路上发送的任意类型起始码、任意长度的数据包,均应以复位序列(图5中12)开始,即复位信号、复位后标记和起始码。一个数据包最后字段的第2个停止位与下一个数据包的复位信号下降沿之间的时间(图5中10)可以在最小和最大值之间变化,见表6中的10。在这个时间内,数据线应保持占状态。因此,发送器不应在数据包之间产生多个复位信号。当数据链路发生错误产生多个复位信号时,接收器应具有恢复接收数据的能力。
8.10 复位信号间的间隔
发送器产生的数据包复位信号下降沿与下一复位信号下降沿之间的时间应不小于表6中13的最小值,且不大于表6中13的最大值。
当接收到的数据包其两个复位信号之间的时间符合表7中13时,接收器应能正常工作。
8.11 时序图——信号+
时间参数应符合时序图(图5)和与之相关的表6和表7的要求。
9 接收器特性
9.1 拒绝接收错误字段
对于所有接收到的字段,接收器不但要检查第一个停止位而且应检查第二个停止位,确定它们是否正确。若没有检测到正确的停止位,应丢弃该字段以及数据包中所有后续字段。
9.2 容错和恢复
在表7列出的复位信号间的最大间隔内,接收器收到前一个复位序列后未接收到下一个复位序列(复位信号、复位后标记和起始码),即视为数据丢失。
表6 时序图参数——发送器
表7 时序图参数——接收器
尽管本标准未规定丢失数据的处理方法,但生产商应说明其丢失数据的处理方法。
注:在无法确认安全或无替换控制数据源的情况下,发生数据丢失时,接收设备应至少维持工作状态60 s,等待DMX512信号的恢复。
9.3 最大刷新率下的接收性能
当接收连续发送的含有任何有效字段数的数据包时,DMX512接收设备应能正常工作。
9.4 数据包处理过程中的延时
某些产品可能提供一些特有功能,对各个连续DMX512数据包进行处理或不进行处理。这样的产品在两数据包之间的数据发生变化时会有一定的延时,生产商应该按照第10章的要求予以声明。
(未完待续)
(编辑 张冠华)