100 lines
2.8 KiB
Markdown
100 lines
2.8 KiB
Markdown
# 主动均衡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 |
|