ZD-BMS-CH/ZDBMS/主从通讯协议.md

100 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

2025-03-15 01:41:28 +00:00
# 主动均衡BMS主从机通讯协议
> 暂定采用MODBUS协议
>
> 主CPU当主机从CPU为从机
>
> 从机收到蓝牙数据后直接传给主机
>
> 从机除了蓝牙数据以外不会主动向主机发送数据,只响应主机指令,如读取数据等;
>
> 从机主动工作内容为读取V1/V2电压监测电池掉线监测电池电压监测均衡电流获取GPS开关桥驱动
>
> 从机被动工作内容为蓝牙收发数据电容充放电均衡LCD显示。
## 1.主从通讯协议内容
### 1.1从机直接发送给主机
1. 蓝牙模块数据
### 1.2主机从从机读取数据
1. V1/V2电压
2. 掉线监测状态
3. 电池电压状态
4. 均衡电流
5. GPS数据
### 1.3主机发送指令给从机
1. 发送蓝牙数据
2. 电容开关充电
3. 电容开关放电
4. 桥驱动电源开关
5. LCD数据
### 1.4主机发送配置数据给从机
1. 蓝牙开关
2. BUCK占空比
3. BOOST占空比
## 2.协议帧格式
> 采样MODBUS协议
>
> 相关定义如下:
>
> 起始码0x53
>
> 读数据0x03
>
> 发指令0x06
>
> 发数据0x10
>
> 结束码0x4C
### 2.1主机读取从机数据
发送:
| 起始码 | 功能码 | 地址 | 数据高位 | 数据低位 | 校验低位 | 校验高位 |
| ------ | ------ | ----- | -------- | -------- | -------- | -------- |
| 0x53 | 0x03 | 00-FF | 0x xx | 0x xx | 0x xx | 0x xx |
响应:
| 起始码 | 功能码 | 地址 | 寄存器数量 | 数据1高位 | 数据1低位 | ... | 校验低位 | 校验高位 |
| ------ | ------ | ----- | ---------- | --------- | --------- | ---- | -------- | -------- |
| 0x53 | 0x03 | 00-FF | 0x xx | 0x xx | 0x xx | | 0x xx | 0x xx |
### 2.2主机发送命令给从机
发送:
| 起始码 | 功能码 | 命令号 | 校验低位 | 校验高位 |
| ------ | ------ | ------ | -------- | -------- |
| 0x53 | 0x06 | 00-FF | 0x xx | 0x xx |
响应:
| 起始码 | 功能码 | 命令号 | 执行结果 | 校验低位 | 校验高位 |
| ------ | ------ | ------ | -------- | -------- | -------- |
| 0x53 | 0x06 | 00-FF | 0x xx | 0x xx | 0x xx |
### 2.3主机发送数据给从机
发送:
| 起始码 | 功能码 | 起始地址 | 寄存器数量 | 数据1高位 | 数据1低位 | ... | 校验低位 | 校验高位 |
| ------ | ------ | -------- | ---------- | --------- | --------- | ---- | -------- | -------- |
| 0x53 | 0x10 | 00-FF | 0x xx | 0x xx | 0x xx | | 0x xx | 0x xx |
响应:
| 起始码 | 功能码 | 起始地址 | 寄存器数量 | 发数据结果 | 校验低位 | 校验高位 |
| ------ | ------ | -------- | ---------- | ---------- | -------- | -------- |
| 0x53 | 0x10 | 00-FF | 0x xx | 0x xx | 0x xx | 0x xx |