|
DMX512协议最先是由USITT(美国剧院技术协会)发展成为从控制台用标准数字接口控制调光器的方式。DMX512超越了模拟系统,但不能完全代替模拟系统。DMX512的简单性、可靠性(假如能够正确安装和使用的话!)以及灵活性使其迅速成为资金允许情况下选择的协议,除了调光器外,一系列不断增长的控制设备就是证据。DMX512仍然是科学上的一个新领域,具有在规则基础上产生的各种奇妙技术。 . m! } u) o3 W4 C
EIA485(RS485)
. K* `* D: M# a# n' \1 v DMX512是围绕工业标准EIA485接口设计的。EIA485属于接口、电压、电流等的“电”端。6 \+ m" @7 M+ c; s
系统是基于沿着屏蔽导体双绞线的向下对称发送而建立的。这种缠绕结构确保所产生的干扰会同样地作用于两个信号,因此保证了一致的数字定相。所用的导线应该是由一条或两条双绞线、箔片和编织筛所构成的合适的数据导线。对称音频导线则不能完成这个工作。
! Y- E! R, r8 o+ ]9 ^0 h, U9 z. o P 通常地,就如任何网段一样,导线两头应该有两个终端。灯光控制台通常在一头作为终端,而另一头应该只有一个120Ω的电阻。EIA485规范只支持“雏菊链”或每段上最多以32个“单元负载”所构成的串行网络。制造商声称每段可以长达1000m。但是,要特别指出的是,中继器的作用应该考虑到700m或800m左右,这样可以防止环境的异常。
& h Y, D1 w( v! M# _5 x3 e) A/ [ XLR连接器的针口分配如下:) Z+ \: A, v5 Y; l* g/ X
针 线 信号 ) i8 F7 K+ D2 i& v4 g4 c
1屏蔽 地/0伏$ D9 ?/ A5 O6 Z& c' p
2内部导体(黒\) 数据–
! J$ o! p+ ]1 x' ?$ `2 t 3内部导体(白) 数据+
/ R7 A+ M9 @& S" F* V: e0 l" r; ~6 B* ` 4内部导体(绿) 备用数据-
, @! K6 \% s- m$ ?( E5 i7 c 5内部导体(红) 备用数据+" G% X5 `6 Z. x8 h: f) E$ ^
DMX512控制线采用5针XLR(有时候是3针)连接设备(如表1);母接口适用于发送器,而公接口适用于接收器
" E- q) M M' |; G/ B* R- t+ X, q: X 规范中建议用一条两对导线(4个连接口)来实现屏蔽,虽然只是需要其中一对。第二对导线用于未指定的可选场合中。必须注意的是一些调光器使用这些线来指示故障和状态信息。如果调光器用第二个信道,则需要专门配置的分路器和中继器。
0 A6 o( `, u: s 把线连接到逻辑电平最安全的方法是使用一个“标准”接口IC—TexasInstruments的SN75176B,如果要实现连接以及隔离,Burr-Brown的ISO485P是好的选择。使用这些接口方法为每个设备提供一个额定的单元负载,这些设备都允许在段上最多安装32个接收器。不推荐通过直接横跨线路来连接高灵敏度光隔离器的直接联机接口方式,它所提供的负载会比正常接收器的负载大5倍左右,从而减少了在段上可安装的接收器数目。另外还会引起失真,增大出错率并导致符合EIA485的接收器出现故障,这些都是坏消息!
& X( J& }" C+ V3 J( e% i 资料
$ u' `( P v, L' z0 _ l 资料发送基于一种8位异步串行协议,带一个开始位(低电平)和两个停止位(高电平),没有奇偶校验。因此一个资料帧有11位元。由于每一位的宽度是4祍,所以发送一个帧需要44祍的时间。如果线路要发送一个连续的数据流,则会产生250000b/s的资料率,或称250k波特。
6 e1 ] P9 n- W& ^) r, C& Y/ c+ l 8位字对于每个调光器允许以0到255的范围来发送256个独*立级别。
& u. g& `" T6 d$ N: j( T6 C/ i 开始位和停止位用于使发送器和接收器同步。资料线通常处于高电平;实际上它空闲时会处于高电平状态(更多的是处于这种状态)。开始位的出现促使接收器投入工作,后面的8位元资料被扫描且被译码(希望如此)。然后接收器等待停止位到来,停止位过后会再次出现这个过程。我们需要停止位有两个理由:让接收器有充分的时间处理输入的资料;让线路处于高电平的状态,这样下一个“开始”才能被检测到。图1描述了一个帧里面的位电平,这个帧中含有资料“0”和“255”。
; x8 s8 R5 z$ J 迄今为止已经解释得很清楚了,但是还没有完,DMX512最多可支持512个调光器,现在我们只看到了第1个,那么怎样为所有的调光器处理资料呢?答案是简单的,只是不断重复这个过程!好的,就是那么简单。不过现在的情况可不是那么简单了,我们在段上取得了一个数据流,但是没有办法辨别哪一帧是属于哪一个调光器的。看“DMX包”部分的提示。: Y' ^% i* C# K
DMX512“包”
5 I4 g. s$ x2 S- b DMX512包是这个标准的核心,它由一个包含深层同步信息的帧集合构成,其中的深层信息也就是一个“Break”和一个“Mark-after-break”。就是这个信息使接收器能够检测到一个帧的开始,因此能够处理接收到的资料。帧定时检验显示了线路处于低电平的最长时间是4祍(开始位)+8×4祍(资料位)=36祍,但是一个“Break”包含至少88祍的“低电平”,这两者的不同很容易被检测到,可用于调光器的同步。"Mark-after-break”在线路上是“高”状态,至少8祍时间的宽度,“Mark-after-break”是必需的,因为这样才能检测到“Break”,否则帧的开始位会紧随“Break”,使线路一直陷入低电平状态。此时将会非常混乱!一个描述“包”的图2有助于说明以上问题。( r0 U& q$ g# R) h# z2 j
“0”数值表示后面的帧包含调光器级别的信息。另外的255个代码在规范中没有定义,但是一些制造商却使用了其它代码来发送产品的特殊信息。一个接收了非零开始码的调光器“将会”忽略包余下的部分,不过要小心,它不会总被检验到!
( [: ~& g' a) m( F, [9 G! h) a 定时总结如下:$ @+ ^( g6 m- M# ~6 b& J4 ]2 g3 l8 j1 m
最小 最大! O# ]3 o" G# h' P
Break 88μs 1秒
& Z" L( Z/ @) j# Y Mark-after-break 8μs 1秒
! ?, q: ]' T8 n" |7 Q3 ` Inter-frame-time 0μs 1秒3 ]2 w0 P" R8 I4 ?9 g7 K
“Inter-frame-time”用于减低资料率。有些调光器不能处理高速运行的资料,或者在控制台处理其它任务的同时用于“插入”发送过程。它的数值可以在0到1秒之间。: Q; H9 X% i" K+ x
规范中对于定时设置了一些限制。2 @6 m; f8 S' X
从上面可以看出,资料率有很大的扩展性,但是要注意的是,不允许线路状态持续处于“高”或“低”状态超过一秒的时间,而且此时应该考虑出错的条件。
6 ^: k& V8 v3 T. q' Y 差不多DMX512系统中出现的所有误操作都是源于系统知识的缺乏。引起问题的一个地方是在信号分离中。记住,系统以段终结的方式运行。简单地把线路分离(看上去是符合逻辑的)会由于欧姆量的反复变化而不能工作。这样做容易导致信号的破坏。
; u& H9 I6 Q4 l) e3 T 解决办法是使用“分路器”和“中继器”,通电设备“监听”段上的资料,然后进行广播,或根据需要在下一个段上“重现”。 |
|