# BMS模块 **Repository Path**: fuizi/bms-module ## Basic Information - **Project Name**: BMS模块 - **Description**: 锂电池BMS模块 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-05-29 - **Last Updated**: 2026-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BMS 模块 ## 项目简介 锂电池 BMS(Battery Management System)模块,用于多串锂电池组的监控、保护与管理。项目涵盖底层固件驱动、核心算法、通信协议、硬件设计及上位机调试工具。 ## 项目目录结构 ``` bms-module-1/ │ ├── docs/ # 项目文档 │ ├── datasheet/ # 芯片数据手册(AFE、MCU、通信芯片等) │ ├── schematic/ # 原理图设计说明 │ └── protocol/ # 通信协议文档(CAN矩阵、Modbus表、自定义协议) │ ├── firmware/ # 固件源码 │ ├── core/ # 内核启动代码、中断向量表、系统时钟配置 │ ├── drivers/ # 硬件驱动层(HAL) │ │ ├── adc/ # ADC 采集驱动(电压/电流/温度采样) │ │ ├── can/ # CAN 总线驱动 │ │ ├── i2c/ # I2C 驱动(与 AFE 通信) │ │ ├── spi/ # SPI 驱动(隔离通信) │ │ ├── uart/ # 串口驱动(RS485/RS232 调试) │ │ ├── gpio/ # GPIO 驱动(继电器/均衡开关控制) │ │ └── timer/ # 定时器驱动(PWM、定时采样触发) │ ├── bsp/ # 板级支持包(硬件初始化、外设配置) │ ├── middleware/ # 中间件 │ │ ├── rtos/ # 实时操作系统适配(FreeRTOS / RT-Thread) │ │ └── protocols/ # 通信协议栈(CANopen / J1939 / Modbus) │ ├── application/ # 应用层 │ │ ├── bms_core/ # BMS 核心算法 │ │ │ ├── soc/ # SOC(荷电状态)估算 │ │ │ ├── soh/ # SOH(健康状态)估算 │ │ │ ├── balancing/ # 电池均衡策略(被动/主动均衡) │ │ │ └── protection/ # 保护策略(过压/欠压/过流/短路/过温) │ │ ├── communication/ # 对外通信管理(整车/云平台/上位机) │ │ ├── diagnosis/ # 故障诊断与故障码管理 │ │ └── data_logger/ # 运行数据记录(黑匣子功能) │ └── utils/ # 通用工具(CRC校验、滤波算法、数据转换) │ ├── hardware/ # 硬件设计 │ ├── pcb/ # PCB 设计文件(AD / KiCad / LCEDA) │ └── bom/ # 物料清单(BOM) │ ├── tools/ # 上位机与工具 │ ├── pc_tool/ # PC 端上位机调试软件 │ ├── script/ # 辅助脚本(数据解析、自动测试、产测工具) │ └── flash_tool/ # 固件烧录工具与配置 │ ├── test/ # 测试 │ ├── unit_test/ # 单元测试 │ └── hil_test/ # 硬件在环(HIL)测试 │ ├── .gitee/ # Gitee 平台配置 │ ├── ISSUE_TEMPLATE.zh-CN.md # Issue 提交模板 │ └── PULL_REQUEST_TEMPLATE.zh-CN.md # Pull Request 模板 │ ├── .gitignore # Git 忽略规则 ├── README.md # 项目说明(中文) └── README.en.md # 项目说明(英文) ``` ## 系统架构 ``` ┌──────────────────────────────────────────────────────────┐ │ 应用层 (Application) │ │ SOC/SOH │ 均衡控制 │ 保护策略 │ 通信 │ 诊断 │ 数据记录 │ ├──────────────────────────────────────────────────────────┤ │ 中间件 (Middleware) │ │ RTOS 适配层 │ 通信协议栈 (CAN/Modbus) │ ├──────────────────────────────────────────────────────────┤ │ 驱动层 (Drivers) │ │ ADC │ CAN │ I2C │ SPI │ UART │ GPIO │ Timer │ ├──────────────────────────────────────────────────────────┤ │ 硬件层 (Hardware) │ │ MCU │ AFE 芯片 │ 通信接口 │ 电源 │ 均衡电路 │ └──────────────────────────────────────────────────────────┘ ``` ## 核心功能模块 | 模块 | 功能描述 | |------|---------| | **电压采集** | 单体电芯电压精确采样(±5mV),支持多串级联 | | **电流采集** | 充放电电流实时监测,支持分流器/Hall传感器 | | **温度采集** | 多点 NTC 温度采集,电池包热管理 | | **SOC 估算** | 基于扩展卡尔曼滤波(EKF)/安时积分/Coulomb计数 | | **SOH 估算** | 电池健康度评估,容量衰减与内阻变化跟踪 | | **均衡管理** | 被动/主动均衡策略,提升电池组一致性 | | **保护机制** | 过压/欠压/过流/短路/过温/低温等多级保护 | | **绝缘检测** | 电池包绝缘电阻在线监测 | | **通信接口** | CAN 2.0B / RS485 / UART,支持整车通信与上位机调试 | | **故障诊断** | DTC 故障码管理,故障分级与处理策略 | | **数据存储** | 运行参数、故障记录、循环寿命数据存储 | ## 开发环境 - **MCU 平台**:待定(ARM Cortex-M / RISC-V 等) - **IDE**:Keil MDK / IAR / STM32CubeIDE / VS Code + GCC - **RTOS**:FreeRTOS / RT-Thread - **版本管理**:Git + Gitee - **硬件工具**:逻辑分析仪、CAN 分析仪、电池模拟器 ## 快速开始 1. 克隆仓库 ```bash git clone <仓库地址> ``` 2. 根据目标平台配置 `firmware/bsp/` 下的硬件初始化代码 3. 根据 AFE 芯片型号配置 `firmware/drivers/i2c/` 或 `firmware/drivers/spi/` 驱动 4. 编译固件 ```bash cd firmware make -j ``` 5. 烧录固件,连接调试工具验证 ## 参与贡献 1. Fork 本仓库 2. 新建 `Feat_xxx` 功能分支 3. 提交代码,确保通过单元测试 4. 新建 Pull Request,关联对应 Issue ## 许可证 待定