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

100 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 主动均衡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 |