DMX协议和RDM协议
1 DMX协议
1、 DMX512协议特点:
(1)采用RS-485总线收发器,差分电压进行传输的,抗干扰能力强,信号可以进行长距离传输;
(2)不论调光数据是否需要改变,主机都必须发送控制信号。
(3)由于数据帧之间的时间小于1s,所以在1s内没有收到新的数据帧,说明信号已经丢失;
(4)因为是数据是调光用的,使用环境是不做安全要求的设备, 并且是不间断传输的,所以不需要复杂的校验。
2、 波特率:250000
一个bit位 4us
8个位(Slot:x) 4*8=32us,x是从1到512
3、下面是一帧数据的顺序
break 88us(范围是88μs——1ms)
MAB(Mark After Break) 8us 两个bit位的时间,高电平
start bit 4us 是低电平
Start Code(SC) 32us,8个位,是一段低电平,必须要有,串口表现中数据是0,接收时作头的一部分
stop 8us 两位结束,是高电平
MTBP 0-1s(MARK Time aftet slot),一包数据结束到下一包数据Break的时间,(有的控制台是每一个数据间隔的空闲时间,是高电平,可以不要。)
数据头完。
5、 一帧数据包括 start + Slotx: + stop + MTBP = 4+32+8+0=44us
MTBP 空闲时间TX都是高电平,数据停止位也是高电平。
2、RDM协议
2.1 DMX512和RDM异同
协议 | DMX512 | RDM |
---|---|---|
传输方向 | 单向 | 双向 |
Break | 88-352(us) | 176~352(us) |
数据槽0值(起始码SC) | 0×00 | 0×CC |
数据长度 | 定长,513字节 | 不定长,最长257字节 |
2.2 RDM命令格式
RDM数据包第3到8个共6个字节是接收端ID信息(UID),从机通过UID判断是否接收数据。
UID 由2字节制造商ID和4字节设备ID(1~0x7FFF)组成。
第20个数据是命令类型(CC)。
第21和22个数据是参数类型(PID),从机通过CC和PID判断要做的事情。
下面是一帧数据的顺序
Break
MAB(Mark After Break)
start bit
SC(Start Code)
MTBP 一包数据结束到下一包数据Break的时间。
数据:
起始代码
子起始代码
消息长度
目标UID(48位)
源UID(48位)
传输编号(TN)
端口ID/回复类型
队列消息计数
子设备ID(16位)
消息数据块(MDB)
-|命令类型(CC)
-|命令参数ID(PID)
-|参数长度 (PDL)
-|参数值(PD可有可无,最多231字节)
校验码(16位)
RDM 数据帧构成
字节顺序号 | 描述 | 字节数 |
---|---|---|
0 | RDM识别码(SC) | 1 |
1 | RDM数据结构ID(Sub-Start Code) | 1 |
2 | 数据帧长度 | 1 |
3 | 信息接收方ID(destination UID) | 6 |
9 | 信息发送方ID(source UID) | 6 |
15 | 发送序号(transaction Number) | 1 |
16 | 发送端口号/应答类型(Port ID/Response Type) | 1 |
17 | 数据包计数(message Count) | 1 |
20 | 信息数据块MDB(message Data Block) | 4~235 |
nnn | 校验码(checksum) | 2 |
其中:
RDM识别码固定为0xCC
RDM数据结构ID为0x01
数据帧长度,不包括最后2字节的检验码,最小值为24,最大为255。
信息块由4个部分组成,最小4这季节,最大235字节
字节顺序号 描述
20 -命令类型(CC)、
21 -命令参数ID(PID)、
23 -参数长度 (PDL)、
24 -参数值(PD,最多231字节,参数长度为0时可无)
2.3 RDM信时间要求
2.3.1 RDM信号时段要求
Break | MAB | 相邻字节间 | |
---|---|---|---|
最小 | 176(μs) | 12(μs) | 0(μs) |
最大 | 352(μs) | 88(μs) | 2ms(μs) |
全帧数据最大值 [440+(n*44)+((n-1)*76)(μs)
其中,n是数据帧中需要传输的字节总数。
2.3.2 RDM控制设备端口相邻数据帧间隔时间
相邻数据帧类型 | 方向切换 | 最小间隔 | 最大间隔 |
---|---|---|---|
查找命令帧——应答帧 | 是 | 176μs | 2.8ms |
查找命令帧——其它发送帧 | 是 | 5.8ms | 1s |
应答需求RDM命令帧——命令帧 | 是 | 176μs | 2.8ms |
应答帧——任意发送帧 | 是 | 176μs | 1s |
应答需求RDM命令帧——任意帧 | 是 | 3ms | 1s |
无应答需求广播帧 | 无 | 176μs | 1s |
无应答非需求RDM帧 | 无 | 176μs | 1s |
2.3.3 应答设备端口相邻数据帧间隔时间要求
相邻帧数据类型 | 方向切换需求 | 最小间隔 | 最大间隔 |
---|---|---|---|
应答需求RDM命令帧——应答帧 | 是 | 176μs | 2s |
查找命令帧——应答帧 | 是 | 176μs | 2s |
2.4 RDM设备命令响应能力
RDM不要求设备响应所有命令集,但要求必须响应基本控制指令。
要求应答设备响应的指令
PID描述 PID编号 备注
DISC_UNIQUE_BRANCH 0001 应答数据帧特殊定义
DISC_MUTE 0002
DISC_UN_MUTE 0003
SUPPORTED_PARAMETERS 0050 仅在响应本表以外的PID是用
parameter——DESCRIPTION 0051 仅在有自定义PID时用
DEVICE_INFO 0060
SOFTWARE_VERSION_LABLE 00C0
DMX_START_ADDRESS 00F0 在使用DMX512控制时使用
IDENTIFY_DEVICE 0100
参考资料