APP下载

在灯光设备中实现RDM

2011-09-19肖志强段永顺

演艺科技 2011年10期
关键词:数据链字节命令

肖志强,段永顺

(1.烟台电视台,山东 烟台 264000;2.佑图物理应用科技发展(武汉)有限公司,湖北 武汉 430056)

1 从DMX512到RDM

1.1 DMX512协议简介

当前,专业的灯光控制系统通常采用DMX(Digital MultipleX,多路数字传输)512协议来传输数字化的灯光控制数据。

DMX512协议是一个关于在控制灯光设备及附件的系统中,数字化控制数据异步串行传输的技术标准,主要内容包括实施控制数据传输的物理平台、信号接口的电气特征、数据链路的拓扑结构、数据链路数据总线上的信号时序、数据包格式等。

该标准最初由USITT(美国戏剧技术学会)于1986年提出,经过不断完善,2004年由ESTA(美国娱乐服务与技术协会)批准,经ANSI(美国国家标准协会)认可并发布正式版本:ANSI E1.11-2004;2008年,中华人民共和国文化部发布了等同采用该标准的《DMX512-A灯光控制数据传输协议》(标准号WH/T32-2008)。虽然在该标准中定义控制数据用于灯光控制,但实际应用中也将这些控制数据引申用于其他类型的控制。

在ANSI E1.11-2004之前的数据链路拓扑结构中,虽然已经定义有一主一辅两条数据链路,但对如何使用辅助数据链路并没有明确的限制,而且大多数传统设备也都只使用主数据链路;为规范对辅助数据链路的使用,在ANSI E1.11-2004的附录B中,定义了4种增强功能的网络拓扑。

在常规定义的DMX512网络拓扑中,主数据链路上的信号流方向实际上是确定的,即控制数据总是从控制设备发出,经由数据总线单向传输至各受控制设备。控制设备通过不断地重复发送控制数据来保证数据的实时性和正确性。由于没有明确定义的信息逆向传输规范,操作者不能通过控制设备本身了解应用系统的组成以及受控制设备的运行状态信息,使实际操作有诸多的限制。

1.2 RDM协议简介

为了让操作者能通过控制设备本身了解应用系统的相关信息,新的RDM(Remote Device Management,远程设备管理)技术标准应运而生。与DMX512-A技术标准的正式出台流程相同,这一标准也是首先由ESTA批准,再经ANSI认可并发布,正式版本为ANSI E1.20-2006。

在ANSI E1.20-2006中明确定义RDM是使用ANSI E1.11中定义的增强功能网络拓扑EF1,允许控制设备通过DMX512网络实现对连接在应用系统数据链路中的中间及终端设备的查找、配置、监视及管理等功能。因此,RDM与DMX512是紧密关联的,传统的灯光应用系统能方便地升级至具备RDM的功能。

2 RDM与DMX512的异同

要在灯光应用系统中实现RDM的功能,相关的设备必须符合RDM的基本要求。与DMX512系统中的设备分类类似,RDM也将应用系统中的设备定义为控制设备、中间设备、受控制设备三大类,其中受控制设备所用的名词(RESPONDER,下称“应答设备”)与在DMX512中所使用的名词(RECEIVER,下称“接收设备”)有明显区别。按照技术标准的要求,具备RDM功能的设备在纯粹的DMX512应用系统中使用时,不应对原DMX512设备造成任何不良影响,也即RDM设备与DMX512设备能无缝对接。

推广应用RDM的目的是为了能够在DMX512网络中完成对设备的远程管理,因此,所有的RDM设备除了新增加的对RDM的支持,都必须具备与其应用特性相同的DMX512设备的全部功能。本文描述中如果没有特别提及DMX512特性,不代表不需要关注DMX512要素。

相对DMX512而言,RDM增加的主要功能是实现设备的远程管理,其信号传输平台与DMX512相同,因此,RDM设备与DMX512设备生产制造成本几乎相当,增加的功能主要由控制软件实现。

RDM使用ANSI E1.11中定义的增强功能网络拓扑EF1,允许主数据链路上半双工通信的建立,因此,在RDM设备中,连接主数据链路通信端口的信号流向应能受控切换。

3 设备中RDM的实现

3.1 概述

在整个灯光控制应用系统中,控制设备是灵魂,掌握着数据传输的主导权;受控制设备(无论是否具备RDM功能)是应用系统实际功能的最终体现者;中间设备则主要为应用系统中各种信息数据的高质量传输或组建大系统提供保障。设备除具备RDM要求的功能外,还必须保证DMX512功能的正常实现。

控制设备的基本功能需求包括:与DMX512相关的全部功能;RDM控制命令的发送;RDM反馈信息的接收;RDM信息的显示。

应答设备的基本功能需求包括:与DMX512相关的全部功能;RDM控制命令的接收;RDM反馈信息的发送。

中间设备的基本功能需求主要是能够保证数据网络中信号的双向传输。

设备中如何实现DMX512的功能,在当前的专业灯光领域都已经非常成熟,本文不再赘述。另外,本文也不讨论在中间设备中实现RDM。

3.2 硬件实现

通过分析各种类型RDM设备的基本要求可以发现,相对于DMX512,要在设备中实现RDM,控制设备主要是需要增加接收RDM反馈信息的能力(对于高端的控制设备,显示装置已是必备,实际上不需要额外的硬件增加);应答设备主要是增加发送RDM反馈信息的能力;中间设备则必须使其具备信号的双向传输能力。

在传统的DMX512系统中,控制设备只需要通过主数据链路单向发送控制数据,因此,主数据链路的通信端口可以不需要具备切换信号流向的能力;而在RDM系统中,控制设备除需发送控制数据外,还需要为完成设备的远程管理而接收系统中其他设备反馈的信息,RDM规定发送的控制数据和反馈的信息数据分时使用主数据链路,因此,控制设备必须能够对主数据链路通信端口的信号流向进行控制切换。在RDM系统中,主数据链路上数据的流向实质是由控制设备确定的。

在控制设备中实际使用的通信端口器件,一般都同时具备发送以及接收信号的能力,由使用者根据实际需要来选择控制具体的工作状态。在DMX512设备中,对这个器件的控制是选择一个固定的状态(发送)就可以。在RDM设备中,只需要将这个状态控制修改为动态选择就可以完成分时的发送或接收信号,达到半双工通信的要求。

同样,在应答设备中,只需要将通信端口的器件状态控制修改为动态选择就可以实现。

因此,对控制设备和受控制设备而言,具备RDM功能的设备和只具备DMX512功能的设备在硬件要求上几乎是完全相同的。要使设备具备RDM的功能,增加功能主要通过加强控制软件的设计来完成。

3.3 软件实现

下文只讨论控制软件中与RDM相关的部分。

3.3.1 控制设备完成RDM流程

在具备RDM功能的应用控制系统网络中,主数据链路上DMX512控制数据的传送仍然是其主要任务,RDM数据的传送只是在DMX512控制数据的传送间隙中穿插进行。RDM控制命令的发送及反馈信息的接收时机都是由控制设备来选择的,只在需要时进行。因此,控制设备的控制软件必须能识别RDM的需求时机,在需要的时候放弃向数据总线的发送。受控制设备则只在接收到相关的控制命令后才会被动地向数据总线发送数据。

控制设备在完成RDM的功能时,一般需要按以下的流程进行:识别RDM需求—等待时机—发送RDM控制命令—接收反馈信息—其他任务。必须注意发送及接收任务的执行只能在两个DMX512控制数据帧的发送间隙中进行,即不能中断当前DMX512控制数据帧的发送,且不能使相邻的两个DMX512数据帧的间隔时间超过限制。

3.3.2 RDM控制命令

控制设备发送的RDM控制命令按ANSI E1.20-2006的定义划分为3类:

(1)设备查找(DISCOVERY_COMMAND);

(2)设备信息收集(GET_COMMAND);

(3)设备设置参数(SET_COMMAND)。

这3类命令中查找及信息收集这两类控制命令是为实现设备的远程管理准备数据,是实现设备远程管理的基础;而改变设备的设置参数则可以视为设备远程管理的具体表现。受控制设备响应控制设备发送的RDM控制命令,必要时发送反馈信息。

3.3.3 RDM数据帧要求

除对查找命令(PID=0x0001)的响应外,其他的RDM数据帧具有相同的结构模式,每数据帧按字节顺序的组成见表1。

表1 RDM数据帧构成

其中第一、二字节内容固定,分别为0xCC、0x01,表明数据帧的特性;数据帧长度内容实际为校验码的起始字节顺序号,最小值24,最大值255;而信息数据块由命令类型(CC)、命令参数ID(PID)、参数字节长度(PDL)、具体参数字节内容(PD)共4个部分组成,其中具体参数内容视具体的命令可有可无,最多231字节,整个信息块的最小长度4字节,最多235字节,尤其是控制设备发出的RDM命令,很多都是参数长度为0的命令。控制设备发送的RDM命令及应答设备发送的反馈信息都需要按照这种格式来组织具体的数据帧内容。

控制设备中控制信号数据帧及应答设备中反馈信息数据帧在发送过程中主要信号时段的时间要求见表2。控制软件必须保证信号帧中的时间符合这些要求。

表2 信号帧中信号时段要求

表中全数据帧中的n是指数据帧中需要传送的数据字节总数,对RDM类数据,最大值为257,对DMX512类数据,最大值为513;并且要求数据帧中相邻字节间的平均时间值不能超过76 μs。

这个时间要求中,相比ANSI E1.11-2004中的要求定义更加明确,主要是为了保证RDM数据的传输尽可能少地占用数据链路的时间。

为保证RDM数据的正确传输,以及尽可能降低对DMX512控制数据发送的影响,控制软件除了需要严格控制数据帧中的信号时段外,对于数据帧之间的间隔也必须加以关注并加强控制。ANSI E1.20-2006要求控制设备信号端口相邻数据帧之间的时间间隔见表3。

表3 控制设备通信端口相邻数据帧间隔时间要求

对应答设备信号端口相邻数据帧之间的时间间隔见表4。

表4 应答设备通信端口相邻数据帧间隔时间要求

表3及表4中最小时间间隔的规定是为了保证应用系统中各设备的信号端口有足够的时间切换通信器件的信号传输方向。

3.3.4 控制设备识别其他设备的能力

为了实现设备的远程管理,控制设备首先必须具备识别连接在应用系统中其他设备的能力。控制设备识别连接在应用系统中其他设备是通过发送查找命令及处理反馈信息来完成的,查找的依据是设备的UID,ANSI E1.20-2006定义设备的UID由48位二进制编码构成,包括16位的制造商ID及32位的设备ID,因此,应用系统中连接的设备数量理论上限为281 474 976 710 656台。要在数量如此巨大的范围内识别出每一台设备的UID,如果不采取恰当有效的算法,几乎不可能迅速完成。在ANSI E1.20-2006中推荐了一种二分查找的算法,采用这种算法极其有效地加快查找进程,即使是识别应用系统中2个相邻编号的UID,最多也只需要发送49次查找命令。

3.3.5 响应能力

RDM虽然定义有很多的信息收集及设置参数命令,但并没有要求所有的设备都具备响应命令全集的能力。实际上,由于设备功能要求的差异性,对命令全集的响应没有必要,但为了保证设备远程管理基本功能的实现,规定了设备尤其是应答设备对一些基本的控制指令必须予以响应;同时,考虑到不同设备或设备制造商的特殊需求,规定设备制造商可以自行定义一些符合RDM要求的特殊命令。因此,在控制设备发送控制命令的软件设计中,对于RDM命令的组织应该具备足够的灵活性,以保证控制设备的兼容能力。

为保证应用控制系统基本RDM功能的实现,应答设备必须至少能对表5中列出的命令进行响应。

设备中与RDM处理相关的主要流程见图1。

图1 设备中RDM任务流程

控制设备的RDM任务通过操作者的具体功能操作启动,受控制设备的RDM任务启动则是在接收到适宜的RDM命令后自行启动。

经过不断的创新实践,国内有的企业已研制推出了部分支持RDM的设备,如佑图物理应用科技发展(武汉)有限公司的XACT系列智能换色器、XTRA系列机械调光器等,佑图还将在即将推出的大功率的LED聚光灯、成像灯等新产品中植入对RDM的支持。

表5 受控制设备(应答设备)最少要求的命令响应

[1] ANSI E1.11-2004 Entertainment Technology—USITT DMX512-A—Asynchronous Serial digital Data Transmission Standard for Controlling Lighting Equipment and Accessories

[2] ANSI E1.20-2006 Entertainment Technology—RDM—Remote Device Management Over DMX512 Networks

[3] WH/T32-2008 DMX512-A灯光控制数据传输协议.中国演艺设备技术协会演出场馆设备专业委员会编制

猜你喜欢

数据链字节命令
只听主人的命令
No.8 字节跳动将推出独立出口电商APP
多平台通用数据链助力未来战场
高速公路工程项目实施中数据链应用探析
基于深度学习的无人机数据链信噪比估计算法
No.10 “字节跳动手机”要来了?
移防命令下达后
一种无人机数据链信道选择和功率控制方法
简谈MC7字节码
这是人民的命令