🔋 BMS 软件架构
状态机开发
从零构建专业BMS · 30章 实战课程
📘 共
30
章 · 点击卡片跳转章节
1
BMS系统概述
BMS是什么?核心功能:监测、保护、均衡、通信;电动汽车与储能应用。
2
BMS软件架构总览
分层架构(应用层/中间件/驱动层),模块划分,数据流与任务调度。
3
嵌入式RTOS基础
FreeRTOS任务创建/管理,优先级,信号量,消息队列,事件组。
4
BMS驱动层设计
ADC/电压、NTC/DS18B20温度、霍尔/分流器电流、SPI/I2C隔离通信。
5
BMS中间件层设计
中值/卡尔曼滤波,SOC估算(安时积分/EKF),SOH估算(内阻/容量)。
6
BMS应用层设计
状态机框架,故障诊断,均衡策略,CAN/RS485协议栈。
7
状态机基础理论
FSM概念:状态、事件、转移、动作,状态机图与转移表。
8
BMS主状态机设计
初始化/待机/运行/充电/放电/故障/休眠状态。
9
BMS子状态机设计
充电子状态机(CC/CV/浮充),放电,均衡子状态机。
10
状态机实现方法
switch-case,函数指针表,状态模式,事件驱动状态机。
11
状态机事件与动作
定时器/外部中断/CAN事件,进入/退出/转移动作设计。
12
状态机嵌套与并发
层次状态机(HSM),状态嵌套,并发处理与任务调度结合。
13
状态机测试与验证
单元测试(状态转移/事件覆盖),HIL集成测试,覆盖率分析。
14
BMS故障诊断状态机
阈值/变化率检测,去抖确认,自动/手动恢复,故障等级。
15
BMS均衡策略状态机
被动均衡,主动均衡(飞渡电容/变压器),开启条件与电流控制。
16
BMS通信协议栈设计
CAN2.0/CAN FD,J1939,自定义CAN,UDS诊断协议。
17
BMS数据管理
EEPROM/Flash存储,参数配置,黑匣子记录,CRC校验。
18
BMS安全机制
ISO 26262功能安全,ASIL等级,双MCU冗余,看门狗/心跳。
19
BMS低功耗设计
休眠/唤醒源,低功耗状态机,外设电源管理,时间与功耗平衡。
20
BMS Bootloader设计
Bootloader与APP分区,CAN/串口升级,校验与回滚机制。
21
BMS实时性分析
任务执行时间测量,WCET分析,优先级优化,中断延迟。
22
BMS软件调试技巧
日志(UART/RTT),断言,J-Link/ST-Link在线调试,性能分析。
23
BMS软件版本管理
Git Flow/Trunk Based,代码审查,CI与自动化测试。
24
BMS软件文档编写
需求/架构/详细设计,测试报告,Doxygen API文档。
25
BMS软件模块化设计
模块接口定义,依赖注入解耦,复用性,可测试性设计。
26
BMS软件配置管理
配置项(电池参数/保护阈值),配置工具,版本控制与在线更新。
27
BMS软硬件协同设计
HAL设计,引脚映射/复用,外设初始化,硬件故障模拟测试。
28
BMS软件性能优化
循环展开/查表法,栈深度/内存池,O3/LTO,定点数运算。
29
BMS软件可靠性设计
IWDG/WWDG,数据备份与恢复,ECC,软件容错设计。
30
BMS软件项目实战
需求分析,架构评审,编码规范,集成测试,项目复盘。