1. 介绍
本文档用于DALI转UART指令介绍
2. 通信方式
- DALI:符合IEC62386-101
- UART:波特率115200,数据位8,停止位1,校验位无
3. 通信协议
3.1 帧格式
| 字节0 | 字节1 | 字节2 | 字节3-字节[LEN-2] | 字节[LEN-1] |
| 帧头识别 HEADER | 帧长度 LEN | 命令 CMD | 数据 DATA | 校验码 CHECKSUM |
帧头识别: 0x51
帧长度:帧的总长度,包括HEADER, LEN, CMD, DATA,不包括CHECKSUM。最长为254。
命令:包含以下命令
| 命令 | 值 |
| 串口询问 | 0x41 |
| 串口应答 | 0x42 |
| 透传:UART到DALI | 0x43 |
| 透传:DALI到UART | 0x44 |
校验码:0x100-((HEADER+LEN+CMD+DATA[0]+...+DATA[LEN-1])%256)
3.2 串口询问与应答指令
| 数据 | 值 |
| 询问版本 | 0x80 |
| 复位 | 0x81 |
3.2.1 询问软件版本
软件版本格式为 主版本.小版本.编译版本,共3字节
询问版本:0x51 04 41 80 EA
应答:0x51 07 42 80 01 02 03 E0, 返回版本1.2.3
3.2.2 复位
复位:0x51 04 41 81 E9
3.3 UART和DALI双向透传
在透传模式下,标准DALI命令和UART命令可以相互透传。数据字节定义如下
| 字节0 | 字节1-N |
| 模式 MODE | DALI指令 |
模式字节为DALI帧状态信息,定义如下:
| BIT[7-4] | BIT[3:2] | BIT[1:0] | |
| 0 |
0: 正常发送 1:发两遍指令 2:无应答 3:异常指令 |
指令位数: 0: 8位 1:16位 2:24位 3:32位 |
|
DALI指令符合IEC62386-101格式,支持8位,16位,24位,32位指令。
示例指令:
| 指令 | DALI命令 | 数据帧 |
| 调光到100% | FE FE, DAPC LEVEL=254 | 0x51 06 44 01 FE FE 68 |
| 关机 | FF 00, OFF | 0x51 06 44 01 FF 00 65 |
| 询问亮度 | FF A0, QUERY ACTUAL LEVEL | 0x51 06 44 01 FF A0 C5 |
| 读memory bank 4 地址5 |
发送:C3 04->A3 05->FF C5, DTR0=4,DTR1=5,READ MEMORY BANK |
0x51 06 44 01 C3 04 9D 0x51 06 44 01 A3 05 BC 0x51 06 44 01 FF C5 A0 |
| 复位 |
FF 20, RESET |
0x51 05 44 05 FF 20 42 |
| 应答 FF |
应答:FF |
0x51 05 43 00 FF 68 |
| 命令无应答 |
命令无应答 |
0x51 04 43 08 60 |
| 异常回答 |
总线异常 |
0x51 04 43 0C 5C |