APP下载

sACN协议支持下的舞台灯光控制网络的研究

2012-07-25李笳平卜方玲孟凡荣

计算机工程与设计 2012年7期
关键词:舞台灯光以太网延时

李笳平,卜方玲,孟凡荣,刘 航

(1.武汉大学 电子信息学院,湖北 武汉430079;2.中国科学院研究生院 光电研究所,北京100190)

0 引 言

20世纪80年代中期,美国剧场技术协会提出了只要一对线路就可以传输512路灯光亮度数据的DMX512(digital multiplex with 512pieces of information)协议标准[1],图1是传统的DMX512协议舞台灯光控制模型[2]。随着舞台灯光控制的规模不断扩大,而且为了追求更绚丽的效果而使用如换色器、烟雾器、吊挂器等其它类型设备,使得灯光控制系统需要提升规模和性能。以以太网为代表的网络技术不仅具有可扩展性、传输速度快、规模大等优点,而且网络配置简单[3-4],因此基于网络的灯光控制协议如ACN、sACN正在被研究和发展[5-6]。本文在研究和实现sACN协议的基础上,分析了共享介质以太网服务端发送sACN数据包可支持的客户端规模。由于sACN协议服务器端(sACN灯光控制台)依靠连续不停的发送灯光数据以避免丢包,导致网络负载加重,不利于网络扩展,为了提高网络资源利用率,而且为了在舞台灯光控制中sACN服务端能监测到sACN客户端 (接收灯光数据的调光模块)的数据收发状态和设备性能状态等有用信息,本文设计了一种sACN舞台灯光应答帧格式,用于客户端在收到sACN协议数据后回复应答帧给服务端。如果大量的客户端向服务端回复应答帧,在传统的共享介质以太网中,会产生信号冲突,CSMA/CD机制在网络负载重时会导致网络延时增大,不能满足舞台灯光控制的实时性要求[7],因此,本文提出了一种顺序应答机制的冲突避免机制,并设计了以交换机为中心节点的星型舞台灯光控制网络,达到在多客户端回复应答帧时网络延时最小化的目的,提高舞台灯光控制网络的数据传输和资源利用的效率。

1 基于sACN协议数据包的网络时延分析

1.1 sACN协议

sACN (streaming ACN)协议标准是由美国娱乐服务和技术协会 (ESTA)在制定 ACN (architecture control network)协议后制定的介于DMX512和ACN之间的过渡协议。它通过使用ACN整体协议中的一部分用于在TCP/IP网络中传输DMX512数据包,利用单播或多播地址传输数据链 (universe)来控制调光器。sACN协议在UDP/IP上定义了三层结构用于封装DMX512数据包,分别是:DMP Layer、Framing Layer、Root Layer。如图2所示为sACN协议模型图。

图2 sACN协议层次结构

sACN协议数据包基本长度为638字节,其中包括513字节的DMX512灯光数据和125字节的报头数据。

1.2 sACN数据包传输时延分析

时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间,它包括了发送时延、传输时延 (传播时延包含在内)、节点处理时延、排队时延 (即等待时延)[8]。一般情况下,发送时延与报文长度有关,报文越长发送时延越大。本文所研究的时延限制在局域网中,所指的时延是局域网中点与点之间的时延。

发送时延——Tsend;传输时延——Tts;处理时延——Trev;排队时延——Twait,网络时延数学表达式为

首先分析舞台灯光控制网络的服务端发送sACN协议数据包可支持的客户端数量。sACN协议中,在UDP/IP、数据链路层、物理层之上的三层——DMP Layer、Framing Layer、Root Layer的数据包长度为638字节,UDP、IP、数据链路层都有各自的封装头长度。定义应用层 (即sACN协议上3层)一路数据包长为LsACN,UDP头长为LUDP,IP头长为LIP,数据链路层头长为LDLL(data link layer)这些量的单位都是字节 (Byte),则在网络上传输的数据包总长为

式 (1)是针对一路数据的,而当在同一以太网线上传输n路sACN数据时,公式为

当n为1时,网上传输Ltotal长度的一帧的时间为τtotal,网络的带宽为V,单位为Mbps(这里V是指在局域网情况下,一般是10/100Mbps,常用的是100Mbps,如果是在公网上,V是受电信运营商限制的),所以在网络带宽V完全利用的情况下,得到最小传输时间τ,关系为 (式 (4)乘以8是由于1Byte=8bit)

在程序设计中,应用层的数据包发送间隔可以通过代码控制 (如sleep()函数),定义为Tival(interval,单位为ms)。根据DMX512协议灯光照明标准定义,DMX512数据同一路数据 (如相同的接收机接收到第n路数据和下一次接收到第n路数据)之间传输时延最大为22.5ms(用T表示,单位为ms),最小传输速率为250kbps(用vmin)。Tival通过程序控制,范围为 [0,22.5)。

发送时延为Tival,传输时延为传输Ltotal长度的时间(这里不考虑传播时延,因为传播时延太小,可以忽略不记)。理想情况下,在不考虑排队时延 (不考虑竞争的情形下)和接收处理时延 (CPU处理速度非常快和缓存非常大,此处时延忽略不记)的情况下,研究达到T标准(22.5ms)的数据发送服务器所支持的理想最大传输路数(n)。理想情况下不等关系为

由于在传输中sACN数据包长度相比整个包的IP头大很多,为简单起见,在不考虑LUDP、LIP、LDDL报头长度的情况下,有

定义传输LsACN长度的时间为τ,有

式 (7)代入不等式 (6)有

对于通常使用的以太网局域网,V为100Mbps,又LsACN为638Byte,代入得到τ=51.04μs,为使n取得最大值,取Tival为0,不等式取等号,有

又T为22.5ms,所以得到n的最大值为440.83,舍去小数点后值为440。对于普通的支持256个IP地址的以太网来说,除去数据服务器和路由器 (或集线器、交换机等),最大支持254个数据接收机,从440这个结果来看支持254个接收机是可以达到延时要求,但这只是在理想情况下,因为并没有考虑的底层的这些头长以及排队时延这种重要因素,拥塞对网络带宽又有很大限制,V是受其影响的,满足要求的数据接收机的数量事实上小于440这个上限,但是可以支持254个数据接收机。

1.3 舞台灯光控制网络架构设计

从1.2节的分析可知,对于支持256个IP地址的共享介质的总线型以太网而言,虽然可以满足服务端所支持的sACN协议数据包传输客户端数量要求,但是,在舞台灯光控制中,出故障的节点需要快速定位并进行处理,以减小设备性能损坏对灯光控制的影响,总线型网络的故障诊断和隔离是比较困难的。

此外,sACN协议在数据传输中依靠不停的发送灯光数据来抑制数据丢包造成的影响,但是这种数据传输模式造成网络负载加重,不利于网络扩展。本文针对sACN协议的缺点对其功能进行了扩展,设计了舞台灯光应答帧。客户端回复应答帧的过程中,总线型网络使用的CSMA/CD机制会导致冲突过多,对实时性要求很高的舞台灯光系统来说是不能容忍的。

相比总线型网络,星型网络不仅和总线型以太网一样可以支持sACN协议数据传输的客户端数量要求,而且对于出故障的节点也能迅速定位处理。传统的使用集线器的星型网络在逻辑上仍然属于总线型网络 (共享介质),因此本文在进行sACN舞台灯光控制网络设计时,选择以交换机为中心节点的星型网络作为舞台灯光控制网络的拓扑结构,在进行多客户端节点向服务器回复应答信号过程中,采用顺序应答机制的软件控制方法发送舞台灯光应答帧,在实现sACN协议数据传输的同时,能通过应答信号的信息来反映工作节点的状态及确认信息,同时,减小数据冲突,对sACN协议的功能进行了扩展,为舞台灯光控制网络的未来发展提供一种思路[9]。

2 舞台灯光控制网络冲突避免机制

由于sACN协议使用不可靠的UDP传输机制传输灯光数据,不保证所有的数据包都被接收,服务端总是向客户端不停的发送灯光数据来抑制或消除数据包丢失的影响,这样会使网络负载加重。本节首先定义了一种舞台灯光应答帧格式,当客户端接收到sACN协议数据后向服务端回复应答帧,告知其收发状态、仪器性能等。当多客户端都发送应答帧时,传统的CSMA/CD机制会导致客户端等待时间延长,效率降低,本文提出了顺序应答机制来避免回复时的数据冲突,提高传输效率[10]。

2.1 舞台灯光应答帧设计

当客户端节点接收到sACN协议数据后,如果向服务器回复反馈信息,首先就需要确定服务器的位置,而在回复信息中又需要包含自己的位置信息和一些状态信息——如本机是否运行正常、是否接收到服务器的sACN数据等。

在以太网局域网中,服务器和每一个客户端都会分配到一个IP地址,在局域网中,每一个设备的IP地址都是不同的,因此在局域网中可以使用其32位IP地址来确定各自的位置。而如果控制规模扩展到多个局域网,服务器收到的IP地址信息就不能确定客户端是属于哪一个局域网。在ACN协议中,每一个灯光设备都有一个唯一的标识符 CID (component identifier)[11], 由 于 sACN 协 议 使 用ACN整体协议的一部分,sACN是支持CID使用的。无论是在单局域网内还是多局域网内,CID都可以准确定位到客户端的位置。如图3所示,是设计的舞台灯光应答帧格式。Sequence Number是表示该应答帧的序列号;A(ACK)指示是否收到sACN协议数据,1代表收到,0代表没收到;S(State)表示客户机的状态,1代表功能正常,0代表异常;Options为以后的功能做预留;Length表示该应答帧的长度;CID指客户机的唯一设备标识符。每一个服务端都有一个CID的映射表,记录了服务端所管理的所有客户端的信息如CID、状态信息。当服务端接收到应答帧时,根据应答帧中的CID来查询服务端中的映射表,读取S状态信息来实时修改客户端状态;根据A信息来判断客户端收发sACN灯光数据的情况,用以确定是否需要重新发送灯光数据。

图3 舞台灯光应答帧格式

2.2 CSMA/CD机制

CSMA/CD机制是以太网中使用最多的冲突避免机制之一。以太网局域网中的节点是通过广播信道进行互联的,因此当一个节点发送一个以太网帧时,局域网上的所有节点都会接收到该帧。传统的共享介质以太网中,节点使用CSMA/CD机制来竞争信道的使用权。CSMA/CD的工作原理是:在发送数据前,先监听信道是否空闲,如果空闲就立即发送数据;在发送数据时,继续监听信道,如果监听到信道冲突,就立即停止发送数据,等待一段随机时间后再重新尝试发送[12]。

CSMA/CD的发送控制流程如图4所示。常用的退避算法是截断的二进制指数退避算法[13],即当一个节点发现线路忙时,要等待一个延时时间M,然后再进行监听工作。延时时间M由以下算法决定:M=0到2k-1之间的一个随机数乘以512比特时间 (例如对于10Mbps以太网,1比特时间为0.1μs),k为冲突 (碰撞)的次数,M的最大值为1023,即当k=10及以后M始终是0到1023之间的一个随机值与512比特时间的乘积,当k增加到16时,就发出错误信息。

图4 CSMA/CD发送控制流程

若少量客户端进行竞争信道待发送舞台灯光应答帧时,CSMA/CD机制有其灵活的优点。但是在舞台灯光领域,控制的客户端规模巨大,在此情形下,若依然使用CSMA/CD机制去竞争信道,必然会由于网络负载加重导致回复时节点冲突增多,延时增加,效率下降。若CSMA/CD在冲突处理中使用的二进制指数退避算法会导致某一节点退避次数过多造成节点发送延时较大甚至发送失败。

2.3 顺序应答机制

本文提出了这样一种顺序应答机制来解决网络高负载下的冲突处理问题。本文设计舞台灯光控制网络结构是单服务器多客户端。顺序应答机制是一种软件冲突避免方法,其原理是:对N个客户端节点进行排序,即第1、2、3……N个客户端节点,在sACN灯光网络中,当服务器向客户端发送sACN数据帧时,客户端被动的使用条件触发机制,即在固定时间τ内收到sACN数据后才会启动顺序应答的服务过程,若超出τ表示没有收到sACN数据包同时也会启动顺序应答的服务过程,此时应答帧中回复没有收到数据的信息,根据其排序位置来确定发送回复帧的延时间隔,单位延时时间为舞台灯光应答帧从客户端到服务端的传输时间,可适当延长,编号为1的客户端等待1个单位延时T后发送应答帧,编号为2的客户端等待2个单位延时T后发送,以此类推。这样N个客户端经过N×T的总延时后都向服务器回复了应答信息。

sACN灯光控制网络的顺序应答机制流程图如图5所示。

图5 顺序应答机制流程

3 仿真实验

本文使用OPNET在星型网络结构,分别对CSMA/CD机制和顺序应答机制进行了仿真实验,通过仿真结果说明其在不同负载下的冲突程度和平均延迟时间[14]。共享介质以太网采用CSMA/CD机制,交换式以太网采用顺序应答机制,对不同负载下的平均延时和中心节点流通量进行仿真实验,分析比较这两种机制的性能[15]。

3.1 仿真模型与参数设置

本文创建了4个星型网络,如图6所示,分别是:使用集线器连接的30个节点网络1命名为net_hub_30,位于图中右上,node_267为集线器,hub_30为服务器,其他节点为客户端节点;使用交换机连接的30个节点网络2命名为net_switch_30,位于图中右下,node_236为交换机,switch_30为服务器,其他节点为客户端节点;使用集线器连接的100个节点网络3命名为net_hub_100,位于图中左上,node_100为集线器,hub_100为服务器,其他节点为客户端节点;使用交换机连接的100个节点网络4命名为net_switch_100,位于图中左下,node_202为交换机,switch_100为服务器,其他节点为客户端节点。

使用集线器的星型网络 (net_hub_30和网络net_hub_100)实际上就是共享网络带宽,逻辑上属于总线型网络,机制是CSMA/CD;而使用交换机的星型网络 (网络net_switch_30和网络net_switch_100)是交换式以太网。

仿真中采集的统计量为:服务器的平均延时 (delay)、CSMA/CD机制的数据平均碰撞次数 (collision Count)、集线器和交换机的转发流量 (traffic forwarded)。离散仿真时间为30分钟。

图6 仿真网络模型

3.2 仿真结果分析

(1)数据传输平均碰撞次数

CSMA/CD机制下不同负载时的数据传输平均碰撞次数比较如图7所示。从图中可以看出,客户端节点数为100的负载下比客户端节点为30的负载下的数据碰撞次数高。说明CSMA/CD机制在网络负载大时,数据传输冲突大,网络性能低。

图7 不同负载下CSMA/CD数据传输冲突次数比较

(2)服务器平均延时

图8所示为共享介质以太网和交换式以太网的服务器平均延时比较。

从图8中可以看出,共享介质以太网的服务器平均延时要高于交换式以太网。因此,在舞台灯光控制领域,选择服务器延时更小的交换式以太网更容易达到舞台灯光实时控制的要求,并且易于实现功能扩展。

图8 共享介质以太网和交换式以太网服务器平均延时

(3)中心节点流通量

图9所示为共享介质以太网的中心节点集线器与交换式以太网的中心节点交换机的数据流通量的比较。从图9中可以看出,交换机的数据转发量比集线器大,虽然交换机的工作量相比集线器稍大,但是它的工作量使得交换式以太网的服务器的延时降低,从舞台灯光控制角度来说,服务器的延时要求优先。

图9 共享介质以太网和交换式以太网中心节点流通量

4 结束语

本文设计了一种基于sACN协议的舞台灯光控制网络,对sACN协议的功能进行了拓展,为了提高数据传输的可靠性,减小网络负载,设计了舞台灯光应答帧,为了避免回复应答数据冲突,提出了顺序应答机制冲突避免方法,该方法是以交换机为中心节点的交换式以太网进行sACN协议舞台灯光控制。仿真实验证明,选择交换式以太网和顺序应答机制进行sACN舞台灯光控制比CSMA/CD机制的冲突数量少,延迟时间短,流量高。本文的提出方法将有助于未来的智能灯光控制的研究和发展。

[1]DMX512-A data transmission protocol for stage light controlling[S].Ministry of Culture of the People’s Republic of China,2008 (in Chinese).[WH/T 32-2008.DMX512-A灯光控制数据传输协议 [S].中华人民共和国文化部,2008.]

[2]JU Jie,SUN Ziqiang.RS485based intelligent light control system [C].Shanghai:The 7th Conference on Industrial Instrument and Automation,2006 (in Chinese). [鞠洁,孙自强.基于RS485总线的只能灯光控制系统 [C].上海:第七届工业仪表与自动化学术会议,2006.]

[3]LI Zhenfeng,LI Haixia.Design of intelligent lighting controller based on ARM [J].Low Voltage Apparatus,2007 (2):28-30(in Chinese).[李振峰,李海峡.基于ARM的智能灯光控制器设计 [J].低压电器,2007 (2):28-30.]

[4]JIANG Wei,JIANG Yujian,REN Hui.Analysis and prospect of control system for stage lighting [C].Yantai:CISP,2010:3923-3929.

[5] [Arch]entertainment technology architecture for control networks,E1.17“ACN”architecture [EB/OL].[2005-10-14].http://www.esta.org/tsp/.

[6] ANSI BSR E1.31-2009.Entertainment technology-lightweight streaming protocol for transport of DMX512using ACN [S].Entertainment Services and Technology Association,2009.

[7]SHEN Qing,GUI Weihua,YANG Tiejun.Real-time control performance analysis based on industrial ethernet [J].Computer Engineering,2007,33 (1):233-235 (in Chinese).[沈青,桂卫华,杨铁军.基于工业以太网的实时控制性能分析[J].计算机工程,2007,33 (1):233-235.]

[8]DANG Anxi,PEI Shaojing,SHANG Yaodong,et al.Simulation and performance analysis of Ethernet delay [J].Computer Engineering and Applications,2009,45 (2):119-121 (in Chinese).[党安喜,裴少婧,尚耀东,等.以太网时延仿真与性能分析[J].计算机工程与应用,2009,45 (2):119-121.]

[9]PENG Jie,YING Qijia.Analysis for switched Ethernet applied into industrial real-time communication [J].Low Voltage Apparatus,2007 (1):33-35 (in Chinese). [彭杰,应启戛.交换式以太网用于工业实时通信的分析 [J].低压电器,2007(1):33-35.]

[10]Ricardo Moraes,Francisco Vasques.Paulo portugal,survey of real-time communication in CSMA-based networks [J].Networks Protocols and Algorithms,2010,2 (1):158-183.

[11]BAI Shilei,REN Hui,JIANG Wei,et al.Research on device identify mechanism in performance light network control system [J].Journal of Communication University of China Science and Technology,2009,16 (2):64-67 (in Chinese).[白石磊,任慧,蒋伟,等.演艺灯光网络控制系统设备识别机制的研究 [J].中国传媒大学学报自然科学版,2009,16(2):64-67.]

[12]HU Jianjun.Research of work theory for CSMA/CD protocol[J].Science Technology and Engineering,2008,8 (24):6622-6624 (in Chinese). [胡建军.以太网 CSMA/CD 工作原理 研 究 [J]. 科 学 技 术 与 工 程,2008,8 (24):6622-6624.]

[13]YU Li,CAO Limin,XIONG Hui.Simulation and analysis of the adaptive binary exponential back off algorithm [J].Journal of Huazhong University of Science and Technology(Natural Science Edition),2007,35 (1):29-31 (in Chinese).[喻莉,曹利敏,熊慧.改进的冲突检测算法仿真与分析[J].华中科技大学学报 (自然科学版),2007,35 (1):29-31.]

[14]ZHEN Li,LIU Ke.Research of emulation for Ethernet based on OPNET modeler[J].Industrial Control Computer,2008,21 (9):35-36 (in Chinese). [甄力,刘克.基于 OPNET Modeler的以太网性能的仿真研究 [J].工业控制计算机,2008,21 (9):35-36.]

[15]GONG Lining,XU Yubin,MU Xiaoguang.Study on realtime performance of switched Ethernet using OPNET simulation [J].Industrial Control Computer,2008,21 (4):60-61(in Chinese).[宫丽宁,徐玉斌,牟肖光.基于OPNET的交换式以太网实时性仿真分析 [J].工业控制计算机,2008,21 (4):60-61.]

猜你喜欢

舞台灯光以太网延时
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于级联步进延时的顺序等效采样方法及实现
怎样将舞台灯光的情感色彩融入剧情之中
日光灯断电关闭及自动延时开关设计
舞台表演中舞台灯光艺术效果的作用
音乐剧中舞台灯光的应用与表现力探析
浅析舞台灯光艺术中的情绪色彩
谈实时以太网EtherCAT技术在变电站自动化中的应用
宋湘延时答妙对
浅谈EPON与工业以太网在贵遵高速公路中的应用