音响论坛 门户 查看内容

ESTA “ACN”网络控制协议的初步研究

1970-1-1 08:00| 发布者: | 查看: 1437| 评论: 0

ESTA,全称为Entertainment Services & Technology Association ,是一个非盈利性的商业组织。其成员包括经销商、制造商、维修服务商、生产商、舞台场所、设计师和咨询师等。ESTA协会可以帮助解决大家普遍关注的一些问题,例如技术标准、客户服务、产品质量、商务惯例、保险和资信报告。而且ESTA还在培训和信息交流、会员升级、出席展会、减少成本以及资金帮助等方面为其会员提供广泛的服务。

ACN先进网络控制协议是ESTA组织标准工作办公室的网络控制协议组正在建立一种标准,这一标准允许不同厂家的灯光控制设备之间能够相互通讯和操作。这是一种可以应用于任何支持TCP/IP协议的网络中最通用的协议,通常最普遍的是应用于以太网络。这一项目还没有获得通过,但是大部分协议标准已经粗略编写完成,并且,世界各国的厂商也纷纷制造出灯光网络设备的样机,以支持ACN协议的尽早通过。

【ACN先进网络控制协议应该做些什么? 】
要解释 ACN应该做些什么,我们先来假定一种情况。假定有一台A厂家的500 i调光台 ,一台B厂家的2008H调光台,40个C厂家的T1000 灯和6台D厂家的 D96plus 6K 96-路调光柜 。把这些设备连入一个以太网络,并通电。过了很短一段时间,调光师可以看到网络中所有设备的工作状态,并且调光台会通过屏幕等交互装置询问调光人员一些问题。这样调光师对40个T1000 灯和D96plus 6K 96-路调光柜的操作都可以在500 i和2008H调光台上迅速反映出来。很快调光师就可以在调光台上对成百上千的参数进行操作,而且这些操作有些是独立的,有些是两个调光台共同操作。

进一步假设,如果进行完一系列的预演之后发现并不需要两个调光师,两个调光台。只需一个就足以操作这场演出。可以将一个调光台上的场数据传输到另外一个调光台上控制。多余的调光台就可以放回储藏室了。
调光人员不必进行的操作有哪些?他们:
不必设置多种设备之间的转换网络
不必在每个设备上安装地址开关
不必将控制回路分配到控制器的DMX地址
不必担心一个设备只能在哪个 DMX区域运行
不会因为8位数据而影响到设备性能
不需要在移开第二个调光台之后重新手动编辑场
这个例子主要是让用户了解使用ACN(ACN)系统的好处。当前的调光系统不能提供所有这些功能。其中有些功能某些厂家的网络控制产品可以做到,但仅仅是同一厂家的产品应用于一个网络时才可以做到。不同厂家的产品不能相互通讯,除非通过 USITT的DMX512/1990标准,但它只可以提供一些较低水平的通讯功能。DMX系统几乎总是需要麻烦地手动分配DMX回路和多重数据线路,而且总是很难得到最佳的分配方案。此外,多种厂家设备组成的DMX系统没有远程错误报告功能。

【ACN 的设计目标是什么?】
以下是E1.17(ACN)项目最起码的设计目标:
  
(1)不同厂家产品相互操作
此协议应当能够允许不同厂家的产品互相有效通讯。例如:可以使用某厂家的调光台去控制另一厂家的硅箱或电脑灯。
  
(2)多种控制和被控设备
在同一网络,ACN协议应能支持多个控制数据发送以及多个数据接收设备协同工作.
  
(3)多种独立控制方式
此协议应当可以允许在单一网络支持多种独立控制方式。例如,对大型而复杂的装置,可随意动态配置具有独立地址的副场作为独立的控制区域,等等。此外,可以将音频和灯光控制集成在一个控制器上.虽然这样做要看是否必要,因为两个系统总是独立操作,但是两种操作能够共享一个网络的方法可能会很有用。
  
(4)主流协议
ACN协议应该以主流网络协议为基础。项目并不会去做重复的工作.
  
(5)最大限度地使用现有技术
这类似于前述目的4,但更值得强调.设计本协议应能使用大量的第三方现有网络硬件和软件(路由器,交换机,集线器,协议栈,诊断工具,等等),而且,协议应会不断受益于将来网络技术的现代化发展。
  
(6)支持厂家专用功能
现代娱乐技术设备所需的数据和控制协议子集,最适合制定产业标准化。协议应用一流的方法支持厂家专用功能的扩展。标准化的协议子集并非是孤立的概念,而是自然地符合整体协议。
  
(7)可裁剪性
协议应能充分地满足大规模场所的复杂应用.不仅可满足在最小的剧场或舞厅等最小系统的简单使用,而且它必须能扩展成网络控制,满足如大型宾馆、主题公园等复杂的应用。
  
(8)可扩展性
设计本协议应能简单且容易地可扩展,以满足将来不断发展的应用需求。
  
(9)容易配置
此协议应为网络提供一种简单配置和管理方法。无人工操作,设备应当具有动态的相互发现的能力.在电子消费领域,这种能力被称作"即插即用"。
  
(10)带宽有效使用和可测试
协议应当合理地节省网络带宽。本目标遵循上述目标2,3,7,8的原则,例如,应该尽可能只发送输出值有变化的部分信息,而不是像DMX一样不断的将所有输出值都发送到一个设备。可用网络带宽应可测试,以便新系统设计师能够正确使用该网络。
  
(11)灵活控制子网和路由
为达到可裁剪性和有效使用可用带宽目标,关键是协议不能限制标准的构造网络通讯流量的选择范围.即网络设计师必须可以自由地使用子网编址和路由方法,以适应实际使用的网络结构。通过将复杂网络隔离成多个子网,子网编址提供了限制网络流量的方法。因此,例如协议不能使用子网编址强制特定类型的所有设备安装在相同子网中。
  
(12)容错性
使用ACN协议的应用系统既不允许出现频繁的网络故障,也不能期待用户有高水平的网络专业技术来排除故障。理想情况是,协议会使网络故障尽可能少,如果确实出现故障,以最少的人工操作,网络会完全恢复正常。

【ACN目前的设计成果是什么?】
为实现上述目标,对开发ACN项目,目前巳有以下成果:
  
(1)获取和设置属性
己完成控制设备的定义,即将设备的功能描述成一组变量或属性。由获取其属性值来监测设备状态和设置其属性值来控制设备操作。在ACN协议中这是由设备管理协议DMP(Device Management Protocol)来实现这一最基本的功能,DMP基本信息包括获取属性值(Get_property)和设置属性值(Set_property)。DMP还给这些属性定义了一种寻址方案。(在ACN的一些草案文件中将该协议称作Property Management Protocol (PMP)。正确名称是什么,目前委员会还没有完全确定).
  
(2)标识组件.
在一个复杂的网络环境中,网络接口之间没有一对一的通讯,设备发送和接收数据的操作,需要某些机制去标识和寻址发送器或接收器。同时也需要设备的永久性标识,它不会因网络变化而改变。在ACN协议中,每个发送和接收数据的端点称作一个组件,所有的通讯发生在组件之间。每个组件有唯一的标识符,即CID ,组件标识符不仅在系统中是这样,应当在全世界都通用,而且不会随时间变化而改变。
  
(3)信息包与多点传输.
Get/Set_property信息通常很短,但是使用以太网和TCP/IP协议传输,在传输大批数据的时候效率最高,而传输很小信息包时效率低。为解决这种失衡现象,ACN将大量的简短信息打成一个信息包,并将含多种信息的包一次发送给所有相关设备,这些设备解包并取出自己的信息。将一个信息包发送至一组设备称作“多点传输”。
  
(4)可控组件的特殊功能.
DMP提供一种普通方法去获取和设置组件属性。如果不认识属性所代表的功能,控制器将无法操作。将特殊功能的属性总是具有相同的地址,这种方法也许有用,但这将会很难处理,而且违反了目标7和8(即可裁剪性和可扩展性)的设计原则。在ACN中,由各自设备的描述来反映设备属性和特殊功能。设备描述语言Device Description Language(DDL)定义了这些描述的格式和语言,从而使控制器可找到每种设备属性的功能。DDL模式不仅能使控制器可方便地找出巳知功能的属性,例如亮度或者亮度数,而且有助于设计出更智能的控制器,知道处理以前从来没有控制过的功能。
  
(5)可靠性.
如果一个设置属性(Set_property)信息丢失或者到达顺序错乱,设备将处于不正常状态。DMX512协议可以忽略这一问题,因为在设计时就已假定,随后将会有另外一个信息很快到达,因此不正常状态只会持续很短的时间。这种连续的数据发送不仅使网络带宽使用效率很低,而且如果传输媒质不完善,也就无法解决设置属性信息丢失问题。更好的方法就是采用一种可靠的传输方式,确保信息的次序正常,或者如果出现错误,控制器知道是什么样的错误。最简单的方法是让接收设备反馈已经收到每个信息包,但是在多点传输协议中却不可行,因为发送出去的信息包可能到达数以百计的设备上,如果它们都反馈收到信息包,那么网络可能会被反馈信息包占满而堵塞。因此,需要一种可靠的多点传输技术。ACN的SDT(Session Data Transport protocol)就是一种可靠的多点传输技术。
  
(6)发现
容易配置(设计目标9)意味着操作人员不必告诉控制器什么设备已在网上和如何控制这些设备。控制器能够自动找到设备,并配置设备进而作出怎样控制这些设备,被称作发现。ACN的发现分成几个步骤:首先,控制器必须找到哪些ACN组件在网络上;第二,控制器必须识别出组件的类型。第三,控制器必须找到设备的属性结构,以便需要时能够控制这些设备。步骤一使用互联网标准的服务定位协议SLP(Service Location Protocol )来完成设备查找,符合设计目标5原则(最大限度地使用现有技术),步骤二使用DMP协议来完成设备识别,而步骤三则通过检测DDL协议对特殊设备的描述来完成设备控制。
  
(7)分层.
根据设计目标3,6和8,从获取/设置设备属性(Get/Set_property)协议中分离出可靠的多点传输技术是有利的。这就是将SDT,DMP和DDL分离为三种协议的原因。这种分离方式允许改变该协议用于其它场合(例如,各自的协议功能,场控制,时间编码,文件传输和信息流动)时获得由SDT协议提供的可靠性和成组管理功能。如果SDT模式不能满足需要(例如,在ACN系列EIA-485通讯协议上运行DMX512协议),可使用DMP协议来解决。最后也是最重要的是,将协议分层可以简化ACN协议集的设计和实施,因为每一层仅涉及其相关的并能容易作出很好定义的部分。
  
(8)通用的包格式。
SDT和DMP两种协议中的信息有很多相似点。通过使用适合所有ACN协议的通用信息格式,编码和解码信息可以在不同的信息类型中共享。因此,ACN定义了一个通用的信息格式:协议数据单元PDU(Protocol Data Unit)。
可以优化网络协议的是信息包大小、处理速度或处理编码的难易程度,但是所有这些优化都涉及到平衡问题。设计目标10是有效利用带宽。ACN PDU格式可以将大量的优化信息打包成单独的信息包以适合使用网络最高效率的最优化信息包.这样虽然会稍为增加信息处理的复杂性,但是通过实际分析表明,包的信息量传输效率却会增加四倍以上。通过使用PDU的通用格式和各层协议所获得数据传输的高效率足以抵消因处理信息而小小增加的复杂性。在DMP协议层,寻址机制和使用寻址范围以及快速执行命令将令大量的属性值可用最小的系统代价来传输。因此就增加了ACN带宽的使用效率。
  
(9)传输
国际互联网和大部分商用局域网都是使用TCP/IP协议集。人们对TCP/IP协议集的普遍接受说明,存在着大量商用的硬件和软件产品运行在这种网络上。而且,随着商业 需求的不断发展,意味着TCP/IP作为一个平台,在可预见的未来也将持续发展并也会得到ACN支持。基于这些考虑,将会把TCP/IP协议集中适用的子集用作ACN的低层协议。
TCP/IP是用ISO7498开放系统互联模型中低层网络技术软件实现的协议。TCP/IP提供网络的抽象,使通过TCP/IP通讯的应用程序通常并不注意或甚至不必知道什么是低层网络技术。目前支持TCP/IP协议通常使用的技术包括IEEE802.3 (有线以太网),IEEE802.11(无线以太网),IEEE1394(火线Firewire),调制解调器和其它主干分布的连接和高速连接,如ATM,SONET和FDDI等网络结构。随着很多新技术的出现,TCP/IP协议将会适用于这些新技术,用TCP/IP协议通讯的应用也将方便地适用于这些新网络技术。
ACN不是一种以太网协议,而是一种以TCP/IP为基础的协议.ACN不会因为新的网络技术的出现而过时。相反,使用ACN协议的应用将会得益于先进的网络技术。
虽然TCP/IP可以提供大量的网络功能,但还不能提供ACN所需的全部功能。其中UDP(User Datagram Protocol)协议可以提供基本的多点传输寻址功能,但并没有提供任何可靠性或机制,在多点传输组中管理网络通讯流量.更重要的是,TCP/IP协议仅用于普通传输目的,但不会注意所传输数据的意义,它们可以是从视频流到数据库查询等任何数据。而且,在广泛使用的TCP/IP兼容协议中,却没有适用的应用层协议可以定义所控制的信息。而ACN提供这种特殊的应用层协议。
ACN仅使用了TCP/IP协议集中的一个子集,并使其尽可能小和简单。ACN没有使用复杂的传输控制协议TCP(Transport Control Protocol),而是使用了更简单的用户数据包协议UDP来传输数据。因此,ACN不再需要TCP/IP协议栈来支持数据的拆包和打包。
为了得到更好的协议模块设计,ACN和TCP/IP之间接口必须清晰和容易定义。当需要ACN在可选择传输协议上操作的场合,将ACN从TCP/IP中分离出来应是好的方法,这也是可能的。维持这种分离状态将有助于各自版本的更新处理。

【简要介绍ACN是如何工作的?】
在以太网上的设备控制ACN系统,首先由SLP协议发现新设备上网在线,然后由DDL协议分析和设置这些设备各自的功能。控制器发送Get/Set property信息给由DMP定义的设备。这些信息通过SDT协议传送,SDT提供可靠性传送,在线状态和设备组管理等功能。所有的DMP和SDT信息用普通的协议数据单元PDU格式打包成独立的PDUs。然后这些信息包通过UDP协议(TCP/IP协议集的一部分)在以太网上传输。见图1。

【ACN协议集由哪些部分组成?】
以下详细介绍ACN的组成部分,包括:系统组件,协议数据单元,设备管理协议,会话数据传输协议和设备描述语言。
  
(1)组件.
如前所述,数据源和网络接口之间没有一对一的关系。首先,一个设备一般有多个网络接口,因为它可以支持多个网络媒介(例如以太网和调制解调器连接),或者是因为这个设备连接到多个网络段。其次,一台电脑可能用ACN协议运行两种或者更多的独立程序,这些程序互相没有明确的联系,但却要共享同一个网络接口。一个ACN组件就是一个发送和接收ACN数据的终端点。所有的ACN通讯发生在组件之间。
ACN组件都有一个唯一且跨越空间和时间的128位数值的组件标识符(CID)。即,不管网络是否相同或者供电中断,网络中的独一组件总是使用相同的标识符。产生组件标识CID的算法被定义在 ISO/IEC 11578:1996 和DCE 1.1: Remote Procedure Call. (详见 http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt.) 使用该算法,令厂家可不用咨询授权机构或者注册唯一的CID就可以为自己的产品生成CID。这意味着电脑也可以生成自己的CID。这种能力使一种软件(如从互联网下载)不需手动设置单独的标识符,就可自动在很多系统中运行,或者,系统可以生成可变的临时组件来执行某些短暂功能。

(2)协议数据单元PDU(Protocol Data Units).
ACN包格式确保所有ACN协议都能以相同的方式构造各自的信息包。各个ACN命令和信息被编码成包头结构均相同的各自协议数据单元PDU。每个ACN信息包由一个PDU块构成,一个PDU块是一组PDU.有些PDU类型被定义为可包含附加数据和另一个PDU块并可被嵌套(见图
2).PDU的嵌套方式取决于每种协议的各自PDU类型。例如,在SDT的DMP协议中,没有PDU其嵌套深度超过第二层的。
PDU结构和包头格式可以确保命令和数据的有效打包.增加一个新协议或命令仅需简单地在包头相应域里更新其值.标准的包头允许接收设备快速和容易地识别并跳过那些不被支持的特殊协议或命令。
  
(3)设备管理协议DMP(Device Management Protocol).
DMP是ACN在网络上用作控制和设置组件的协议. 组件在需被控制或需提供状态信息时,用一组属性值来描述其状态. 属性值可以反映任何从放大器增益到网络参数(如会话标识)等信息. 通过获取或设置属性,组件可查询或控制另一组件. 因为这些属性有各种各样的数据类型,几乎任何控制功能都可以用设置属性(Set_property)或获取属性(Get_property)值来描述. 这些获取和设置属性值可单独操作或在某些范围内允许最有效的操作性能和网络带宽。
DMP协议需要一个低层会话传输协议保证所有组件可以接收发送给它们的DMP信息(除非是不可靠的数据),且信息的接收顺序与发送的相同.在TCP/IP协议网络(包括以太网),DMP使用SDT协议.

(4)会话数据传输协议SDT(Session Data Tansport).
SDT是ACN在TCP/IP网络中UDP协议上层使用的一种传输协议,通过建立数据传输会话来提供所需的可靠性。在SDT协议中,一次会话包含一对通讯信道,称作上行流和下行流:会话报头只有二种组件,在会话的下行流发送信息的组件和在上行流发送应答信息的侦听组件.下行流通常是一个多点传输组,它允许一条信息发送至多个相关侦听组件,它也允许非会话组件在硬件中过滤信息(UDP的多点传输地址转换为以太网组地址,大部分以太网控制器都可以在硬件中过滤信息).在上行流上发送应答信息通常是单点传输直接应答发送组件,因为其它组件不会关注这个应答信息.
会话的报头控制信息包的传输,信息包顺序,会话成员和其它特殊网络或会话目的的可调属性.这说明报头需要相当复杂的性能去支持同样复杂的会话目的.在会话中的其它所有的组件,既要侦听发给它们的命令并提供应答给会话报头,又要可能偶而发送一个丢包信息给会话报头.ACN对简易传输机制也有一个规定,称作"连续ACN".设计连续ACN主要用在有限带宽和DMX512协议传输或其他控制器传输的低带宽线路.此时,使用SDT会增加不必要的负担,可能会通过一个合适的连接和物理层来发送DMP. 在这些情况下,在连续的链路上只有一个会话,由链接控制器(即调光台)来引导该会话。

(5)设备描述语言Device Description Language (DDL).
DDL是一种标准语言,它描述什么设备包含了哪些特殊组件,它也建立设备定义去描述设备的属性和功能。DDL使用可扩展标记语言XML(eXtensible Markup Language)的子集,XML是一种描述文件和定义文件模版的标准语言。DDL有望成为一种人人足可看懂的简单语言,那样就可用电脑自动装载并处理设备定义.DDL提供一套设备模型,该模型以突出所需的属性与适用控制之间的关系来构造设备的属性信息.DDL设备可描述组件的所有或部分属性,以便用DDL描述单个DMP组件作单独的设备。 任何设备的类型都可用设备类型标识符 DCID(Device Class ID)来标识,且能从组件中读取.具有相同DCID的设备被确保有相同的属性和功能集,而且被确保是同类设备的唯一标识.因此,当知道一种特殊类型的设备是如何相互作用的任何组件都能够快速识别该类设备.如果不知道设备的DCID,则ACN能在网络上发送DDL描述,从而让相关的组件学会如何与这些设备相互作用。

结束语
近年来,随着国民经济的蓬勃发展,国内大型舞台及电视演播室工程如雨后春笋般涌现,网络灯光控制系统成了灯光师、业主及有关人士的热门话题。大量的项目招、投标、施工、监理 及 验收等工作需要灯光网络的标准的支持。中国人是否需要马上制订自己灯光网络的标准协议。
笔者有幸代表国内灯光企业HDL(2003年ESTA国际会员)与ESTA组织和标准办公室保持紧密接触,并参与策划邀请ESTA标准办公室专家来华交流讲学等活动。笔者认为:自己有责任和义务继续和国内灯光行业的专家一起了解和深入研究ACN先进网络控制协议,并为解决中国灯光行业网络设备标准化问题做出自己的应有贡献!

微信扫码关注公众号