Files
CCU621M/app/bms/bms模块说明.md

47 lines
1.7 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 模块说明
> 路径:`app/bms/`
> 返回主说明:[README](../../README.md)
## 1. 模块职责
- 负责 BMS 通信报文收发与协议状态机处理;
- 管理 BMS 充电阶段控制、超时处理与异常状态;
- 提供与流程控制模块对接的 BMS 数据接口。
## 2. 关键文件
- `bms_task.c/h`
- `bms_interface.c/h`
- `sae1939.c/h`
## 3. 功能说明
- 周期接收/发送 BMS 报文并更新运行状态;
- 维护关键定时器(超时、等待、状态切换计时);
- 将 BMS 结果映射为流程层可用的控制/状态数据。
## 4. 调度与对外接口
该模块由 FreeRTOS 任务 `BmsComm` 周期运行(单位:ms),周期来自 `app/app_init/app_init.c`
- `BmsComm``5ms`(任务入口:`v_bms_task(void *arg)`
对外接口(来自 `bms_task.h / bms_interface.h`,列出主要用法入口):
- `uint16_t u16_bms_get_sys_para(U8_T gunNo, E_BMS_GET_PARA_TYPE e_type)`:读取 BMS 系统参数
- `uint16_t u16_bms_put_data(U8_T gunNo, E_BMS_PUT_DATA_TYPE e_type, U8_T u8_dataPara)`:设置/上报 BMS 数据(按 e_type 不同)
- `void v_bms_put_vin_str(U8_T u8_gunNo, U8_T *u8_vin, U8_T u8_len)`:写入 VIN 字符串
- `void v_bms_get_rt_time(Comm_Time *time)`:读取 BMS/系统时间(取决于实现)
- `U8_T u8_bms_get_cst(U8_T gunNo, U8_T *u8_data)`:读取充电阶段/状态相关值
- `void v_bms_get_pile_nun(U8_T *pilenum)`:读取桩侧枚举/数量(命名以代码为准)
## 5. 维护建议
- 修改报文处理流程时需同步校验超时逻辑;
- 与流程控制交互字段应保持枚举/状态码一致。
## 6. 关联文档
- 主索引:[README](../../README.md)