DMX协议和RDM协议
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判断要做的事情。
下面是一帧数据的顺序
BreakMAB(Mark After Break)start bitSC(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识别码固定为0xCCRDM数据结构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
参考资料
DMX协议和RDM协议相关推荐
- Bytom BIP-32协议和BIP-44协议解读
我们知道HD(分层确定性)钱包,基于 BIP-32:多币种和多帐户钱包,基于 BIP-44:最近比原社区的钱包开发者对比原的BIP-32和BIP-44协议有疑问,所以我今天就专门整理了一下该协议的内容 ...
- 3.7 PPP协议和HDLC协议
3.7 PPP协议和HDLC协议
- RabbitMQ MQTT协议和AMQP协议
RabbitMQ MQTT协议和AMQP协议 1 序言... 1 1.1 RabbitMq结构... 1 1.2 RabbitMq消息接收... 4 1.3 Ex ...
- 计算机网络(二十)-广域网-PPP协议和HDLC协议
一.广域网 广域网,通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,远距离通信,形成国际性的远程网络. 广域网的通信子网主要使用分组交换技术.广域网的通信子网可以利用 ...
- fx5u mc协议_SLMP协议和MC协议
一.概述 SLMP(Seamless Message Protocol)是在以太网中使用的协议.MC协议则包含了串口以及以太网的通信协议,范围更广. SLMP的3E帧或4E帧(3)的报文格式与MC协议 ...
- 485通讯协议_HART协议和RS485协议有什么区别?
HART协议和RS485协议的区别如下: 1.概念不同 HART协议是采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯: ...
- STM8单片机串口同时识别自定义协议和Modbus协议
在单片机开发中,串口是最常用的和外界交换数据的渠道,要使用串口,那必不可少的就是通信协议,通信协议就是单片机和外界通信的语言,要想正常和其他设备正常交流,首先语言必须相通. 在实际开发过程中由 ...
- nginx websocket wss 连接失败 failed_浅谈WebSocket协议、WS协议和WSS协议原理及关系
现如今,一些游戏,网站,APP,支付行业的网络经常会收到DDOS和CC,因此这个事情也变得不足为奇了.但在防护方案中有多种不同的方案.如,今天有几个同事在针对高防CDN问题讨论的时,谈到WebSock ...
- tcp协议和udp协议区别_TCP和UDP协议有什么区别?
tcp协议和udp协议区别 TCP and UDP are two protocols that are part of the transport layer in a TCP/IP model o ...
- MODBUS ASCII协议和RTU协议的比较 -----和利时PLC采用Modbus RTU
通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易.但 ...
最新文章
- JavaScript—— 前端编程语言
- Opencv实现透视形变
- 教你打包Java程序,jar转exe随处可跑
- 杜新会一个精彩占例之反推
- SPRING CLOUD服务网关之ZUUL
- [转]Velocity脚本摘要
- 使用Guava CharMatcher和Apache Commons Lang StringUtils确定字符串中字符或整数的存在
- sqlserver查看索引_SQL Server页中行物理存储
- 定时执行java程序_如何让Java程序定时运行
- oracle服务器支持ipmi带外管理,ipmi带外管理
- Windows 8 Directx 开发学习笔记(八)要有光
- 机器学习之数据转换(七)——降维
- 【Linux】最常用命令:简单易学,但能解决95%以上的问题
- 基于H5的移动端APP开发框架
- 创建一个基础WDM驱动,并使用MFC调用驱动
- 01.网络工程师常识
- 在Android上使用TensorFlow Lite结果和AI危害检测
- 大学计算机课程教学建议,计算机应用基础课程教学的建议
- prod和probor在matlab,智能控制讲义第六章Matlab在模糊控制中的应用.
- xpath中ends-with无法定位问题的解决办法