DMX512协议

Posted god-of-death

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DMX512协议相关的知识,希望对你有一定的参考价值。

一、链接拓扑(network topology)
根据后面的协议可以知道,其实就是将所有的slave挂到线上去。(线最长可以多长?)

 技术图片

 

二、协议(protocol)的时序如下图
1) 先说明地址,包的格式是固定的,第一个数据帧就是地址1(说是0也可以),接下来的数据帧,地址逐渐+1。

2) 1 slot 或者叫 1 data frame(数据帧)=1 start bit(低电平) + 8 data bits + 2 stop bits(高电平) = 11bits, 1bit=4us,1slot=44us。(下图右下角的蓝色字体部分)

3) 1 packet (数据包)= 1 break + 1 MAB(mark after break) + 1 SC(start code) + 512 slots + 1 MTBP(mark time between packets) (下图红色字体部分)

1 break 典型值88us
MAB 典型值 8us
SC就是一帧 44us,第0帧
MTBP,高电平有效,0-1s之间
time = 88us + 8us + 44us + 512 * 44us + 0 = 22668us = 22.668ms 发包频率44.11Hz,也就是控制频率了,如果地址用不完,把slot减少,时间也可以节省,然后频率可以更高了。(调光控制台每发送一个信息包,可以对全部512个受控通道形成一次全面的控制。发送一个信息包的时间大约是23 ms,每秒钟将对所有512个受控通道完成44 次控制,即受控光路的刷新频率44 Hz,如果实际受控通道少于512个,那么刷新频率将相应提高。

)

 技术图片

 

 

 

放大右下角的每帧时序

 技术图片

 

 

 

START BIT 为开始位,宽度为一个比特,是受控灯具准备接收并解码控制数据的开始标志;

STOP BITS为结束位,宽度为两个比特,表示一个指令帧的结束;

D0~ D7为8 位控制数据,其电平组合从00000000一11111111 共有256个状态(对应十进制数的0~255),控制灯光的亮度时,可产生256个亮度等级,0000~ (0)对应灯光最暗,11111111(255)对应灯光最亮。

无校验位

 

DMX512指令的位宽(每比特宽度)是4 us,每一个指令帧11位,故指令帧宽度为44 us,传输速率为1/44us = 250 kbps。

 

DMX512 信息包定时表:

 技术图片

 

 

 

一个完整的DMX512信息包(Packet)由一个MTBP位、一个Break 位、一个MAB位、一个SC 和512个数据帧构成。MTBP(Mark TimeBetween Packets)标志着一个完整的信息包发送完毕,是下一个信息包即将开始的“空闲位”,高电平有效。Break为中断位,对应一个信息包结束后的程序复位阶段,宽度不少于两个帧(22 比特)。程序复位结束后应发送控制数据,但由于每一个数据帧的第一位(即开始位)为低电平,所以必须用一个高电平脉冲间隔前后两个低电平脉冲,这个起间隔、分离作用的高电平脉冲即MAB(Mark After Break),此脉冲一到,意味着“新一轮”的控制又开始了。SC(Start Code)意为开始代码帧(图1中的第0帧),和此后到来的数据帧一样,也是由11 位构成,除两个高电平的结束位之外,其他9位全部是低电平,通常将其叫做第0 帧或第0通道,可理解为一个不存在的通道。

 技术图片

 

以上是关于DMX512协议的主要内容,如果未能解决你的问题,请参考以下文章

spi和dmx区别

#: 基于Z-WAVE 协议的LED智能照明系统的研究笔记

逻辑分析仪装64位不能用了

DNS用的是TCP协议还是UDP协议

DNS何时使用TCP协议,何时使用UDP协议?

DNS同时占用UDP和TCP端口53——传输数据超过512时候用tcp,DNS服务器可以配置仅支持UDP查询包