DMX512控制谁懂原理请详细??,....

DMX512控制谁懂原理请详细??,....,第1张

DMX512协议

DMX512协议最先是由USITT(美国剧院技术协会)发展成为从控制台用标准数字接口控制调光器的方式。DMX512超越了模拟系统,但不能完全代替模拟系统。DMX512的简单性、可靠性(假如能够正确安装和使用的话!)以及灵活性使其迅速成为资金允许情况下选择的协议,除了调光器外,一系列不断增长的控制设备就是证据。DMX512仍然是科学上的一个新领域,具有在规则基础上产生的各种奇妙技术。

  EIA485(RS485)

  DMX512是围绕工业标准EIA485接口设计的。EIA485属于接口、电压、电流等的“电”端。

  系统是基于沿着屏蔽导体双绞线的向下对称发送而建立的。这种缠绕结构确保所产生的干扰会同样地作用于两个信号,因此保证了一致的数字定相。所用的导线应该是由一条或两条双绞线、箔片和编织筛所构成的合适的数据导线。对称音频导线则不能完成这个工作。

  通常地,就如任何网段一样,导线两头应该有两个终端。灯光控制台通常在一头作为终端,而另一头应该只有一个120Ω的电阻。EIA485规范只支持“雏菊链”或每段上最多以32个“单元负载”所构成的串行网络。制造商声称每段可以长达1000m。但是,要特别指出的是,中继器的作用应该考虑到700m或800m左右,这样可以防止环境的异常。

  XLR连接器的针口分配(表1)

          针 线 信号           1屏蔽 地/0伏          2内部导体(黒) 数据–          3内部导体(白) 数据+          4内部导体(绿) 备用数据-          5内部导体(红) 备用数据+

   DMX512控制线采用5针XLR(有时候是3针)连接设备(如表1);母接口适用于发送器,而公接口适用于接收器

   规范中建议用一条两对导线(4个连接口)来实现屏蔽,虽然只是需要其中一对。第二对导线用于未指定的可选场合中。必须注意的是一些调光器使用这些线来指示故障和状态信息。如果调光器用第二个信道,则需要专门配置的分路器和中继器。

  把线连接到逻辑电平最安全的方法是使用一个“标准”接口IC—TexasInstruments的SN75176B,如果要实现连接以及隔离,Burr-Brown的ISO485P是好的选择。使用这些接口方法为每个设备提供一个额定的单元负载,这些设备都允许在段上最多安装32个接收器。不推荐通过直接横跨线路来连接高灵敏度光隔离器的直接联机接口方式,它所提供的负载会比正常接收器的负载大5倍左右,从而减少了在段上可安装的接收器数目。另外还会引起失真,增大出错率并导致符合EIA485的接收器出现故障,这些都是坏消息!

  资料

  资料发送基于一种8位异步串行协议,带一个开始位(低电平)和两个停止位(高电平),没有奇偶校验。因此一个资料帧有11位元。由于每一位的宽度是4祍,所以发送一个帧需要44祍的时间。如果线路要发送一个连续的数据流,则会产生250000b/s的资料率,或称250k波特。

  8位字对于每个调光器允许以0到255的范围来发送256个独立级别。

  开始位和停止位用于使发送器和接收器同步。资料线通常处于高电平;实际上它空闲时会处于高电平状态(更多的是处于这种状态)。开始位的出现促使接收器投入工作,后面的8位元资料被扫描且被译码(希望如此)。然后接收器等待停止位到来,停止位过后会再次出现这个过程。我们需要停止位有两个理由:让接收器有充分的时间处理输入的资料;让线路处于高电平的状态,这样下一个“开始”才能被检测到。图1描述了一个帧里面的位电平,这个帧中含有资料“0”和“255”。

  迄今为止已经解释得很清楚了,但是还没有完,DMX512最多可支持512个调光器,现在我们只看到了第1个,那么怎样为所有的调光器处理资料呢?答案是简单的,只是不断重复这个过程!好的,就是那么简单。不过现在的情况可不是那么简单了,我们在段上取得了一个数据流,但是没有办法辨别哪一帧是属于哪一个调光器的。看“DMX包”部分的提示。

  DMX512“包”

DMX512包是这个标准的核心,它由一个包含深层同步信息的帧集合构成,其中的深层信息也就是一个“Break”和一个“Mark-after-break”。就是这个信息使接收器能够检测到一个帧的开始,因此能够处理接收到的资料。帧定时检验显示了线路处于低电平的最长时间是4祍(开始位)+8×4祍(资料位)=36祍,但是一个“Break”包含至少88祍的“低电平”,这两者的不同很容易被检测到,可用于调光器的同步。"Mark-after-break”在线路上是“高”状态,至少8祍时间的宽度,“Mark-after-break”是必需的,因为这样才能检测到“Break”,否则帧的开始位会紧随“Break”,使线路一直陷入低电平状态。此时将会非常混乱!一个描述“包”的图2有助于说明以上问题。

“0”数值表示后面的帧包含调光器级别的信息。另外的255个代码在规范中没有定义,但是一些制造商却使用了其它代码来发送产品的特殊信息。一个接收了非零开始码的调光器“将会”忽略包余下的部分,不过要小心,它不会总被检验到!

定时总结(表2)最小 最大Break 88μs1秒Mark-after-break 8μs1秒Inter-frame-time 0μs1秒

“Inter-frame-time”用于减低资料率。有些调光器不能处理高速运行的资料,或者在控制台处理其它任务的同时用于“插入”发送过程。它的数值可以在0到1秒之间。

规范中对于定时设置了一些限制。

从表2可以看出,资料率有很大的扩展性,但是要注意的是,不允许线路状态持续处于“高”或“低”状态超过一秒的时间,而且此时应该考虑出错的条件。

差不多DMX512系统中出现的所有误 *** 作都是源于系统知识的缺乏。引起问题的一个地方是在信号分离中。记住,系统以段终结的方式运行。简单地把线路分离(看上去是符合逻辑的)会由于欧姆量的反复变化而不能工作。这样做容易导致信号的破坏。

在某些特定场合,需要在某些时刻实现风扇开启,关闭,调节风速等功能。要实现PC上对其轻松控制。

作者简单概括一下,DMX512就是在485总线上实现一些舞台相关的控制协议,所以在开发控制时,以开发串口设备的思路来解决问题。

通过阅读Manual了解DF500风扇的DMX512接口为5Pin的XRL接头。 国内使用的XRL接头一般为三口接头。这里需要大家注意一下,线序对比如下图。

既然需求是PC上对其控制,接口就需要是PC支持的接口,笔者在淘宝上搜了一下,USB和RJ45(udp转DMX512)接口的设备都有。我们这里选择USB设备。

DMX512控制,重要的是搞清楚控制信道和指令,具体描述在参考资料里,都有详细描述。 这里一定要搞清楚:确定地址是多少,几个通道控制,每个通道是什么作用,就可以用下面的软件模拟控台 *** 作了。

我们需要准备一个 控制模拟器 ,界面如下图所示:

上一步获得控制指令后,可以通过程序编写发送指令,实现最后效果。

python参考链接: pySimpleDMXA beginners guide to programming DMX512 in Python.

可以控制170个灯具,信号衰减了的话,中间可以加信号放大器。所谓DMX512控制器,指的是基于DMX512协议的控制器。DMX512是一个协议,这个协议规定了,一次发送512组数据,每个数据的固定格式。

每个灯具的智能芯片在接受到这个信号后,转化为所需要变化的颜色,其实虽说有512组数据,其实也是一瞬间就发送出去了,很快,人眼根本感觉不到。

512信号放大器特点

与其他协议相比,DMX512协议具有以下特点:

1、信号是基于差分电压进行传输的,抗干扰能力强;

2、采用RS-485总线收发器,信号可以进行长距离传输;

3、数据刷新快,不论调光器的输出是否需要改变,主机都必须发送控制信号,数据帧与数据帧之间的时间小于1s,如果调光器在1s内没有收到新的数据帧,便可知数据已经丢失;

4、实现简单,不需要专门的硬件设备支持。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8650459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存