第2章 BMS核心硬件架构:主控板(BMU)设计、从控板(CMU)设计、高压采集板(HVU)设计

做BMS系统这么多年,我始终觉得硬件架构是整车的"骨架"。骨架搭不好,后面软件写得再漂亮也白搭。今天咱们就聊聊BMS里最核心的三块板子:BMU、CMU和HVU。这三兄弟各司其职,配合好了,电池系统才能稳稳当当。

核心观点:BMU是大脑,CMU是神经末梢,HVU是高压安全卫士。三者缺一不可。

BMS核心硬件架构 BMU 主控板 大脑:策略运算、通信管理 CMU 从控板 神经末梢:电压/温度采集 HVU 高压采集板 安全卫士:绝缘/总压检测 CAN/SPI CAN/SPI 电池模组1 电池模组2 电池模组3 电池模组4 BMU CMU HVU

2.1 主控板(BMU)设计——BMS的大脑

BMU,全称Battery Management Unit,是整个系统的决策中心。说白了,它负责"想"——想什么时候均衡、想什么时候报警、想怎么跟整车通信。

我个人习惯把BMU的设计分成三大块:主控芯片选型、电源管理、通信接口。这三块搞定了,BMU就稳了八成。

2.1.1 主控芯片选型

选芯片这事儿,我踩过不少坑。有一次项目赶进度,选了个性能刚够的MCU,结果后期加功能发现Flash不够用,那叫一个难受。所以我的建议是:留足余量

参数 推荐规格 说明
主频 ≥120MHz 保证实时控制与通信处理
Flash ≥1MB 存放Bootloader、应用层、参数配置
RAM ≥128KB 数据缓存、堆栈、中间变量
CAN接口 ≥2路 一路接整车,一路接内部CMU
工作温度 -40℃ ~ 125℃ 车规级要求,没得商量

我的小技巧:选型时多看看同行的BOM表。我一般会选市面上用量大的型号,比如NXP的MPC57xx系列或Infineon的TC2xx系列。量大意味着稳定,也意味着好买。

2.1.2 电源管理设计

BMU的电源设计,核心就一句话:宽压输入、低功耗、高可靠性。整车电源环境很恶劣,12V系统实际波动可能到9V~16V,甚至更高。

我曾经遇到过一台样车,BMU在冷启动时频繁复位。查了两天才发现,是电源芯片的欠压保护阈值设得太高了。后来换了一颗支持4.5V~36V输入的DCDC,问题就解决了。

// 电源监控伪代码示例
void PowerMonitor_Task(void)
{
    uint16_t vBat = GetBatteryVoltage();
    
    if (vBat < LOW_VOLTAGE_THRESHOLD) {
        // 进入低功耗模式
        EnterSleepMode();
        // 保存关键数据到EEPROM
        SaveCriticalData();
    } else if (vBat > HIGH_VOLTAGE_THRESHOLD) {
        // 过压保护,关闭非必要外设
        DisableNonCriticalPeripherals();
        SetAlarmFlag(ALARM_OVER_VOLTAGE);
    }
}

2.2 从控板(CMU)设计——电池的神经末梢

CMU,Cell Monitoring Unit,负责采集每一节电芯的电压和温度。你想想看,一个电池包少则几十节,多则上百节电芯,CMU就是那个"摸脉搏"的角色。

CMU设计的难点在于:精度要高、速度要快、成本要低。这三者往往互相矛盾,怎么平衡就看功力了。

2.2.1 电压采集方案

目前主流方案有两种:分立式运放+ADC专用AFE芯片。我个人更推荐AFE方案,比如TI的BQ79616或ADI的LTC6811。

  • 分立方案:灵活性高,但PCB面积大,调试周期长。我记得第一次做12串采集板,光调运放就花了两周。
  • AFE方案:集成度高,自带均衡功能和诊断功能。说白了,就是"开箱即用",省心很多。

关键指标:电压采集精度要求≤±5mV,温度采集精度要求≤±1℃。达不到这个标准,SOC估算就别想了。

2.2.2 均衡策略

均衡分两种:被动均衡主动均衡。被动均衡就是给电压高的电芯并联一个电阻放电,简单粗暴。主动均衡则是把能量从高电压电芯转移到低电压电芯,效率高但电路复杂。

我在项目里一般这样选:

  1. 小容量电池包(≤50Ah):被动均衡就够了,成本低,控制简单。
  2. 大容量电池包(>50Ah):建议上主动均衡,否则均衡时间太长,用户等不起。

注意:被动均衡的散热设计一定要做好。我曾经见过一块CMU板,均衡电阻焊盘太小,大电流放电直接把板子烧了个洞。嗯,从那以后我设计均衡电阻时,焊盘面积至少留够3倍余量。

2.3 高压采集板(HVU)设计——安全最后一道防线

HVU,High Voltage Unit,负责检测电池包的总电压、绝缘电阻和高压互锁。这块板子直接跟高压回路打交道,安全要求最高。

说白了,HVU就是BMS的"安全卫士"。它不参与日常控制,但一旦检测到异常,必须第一时间切断高压。

2.3.1 绝缘检测原理

绝缘检测的常用方法是电桥法。在正极和负极之间分别接入已知电阻,然后测量对地电压,通过计算得出绝缘电阻值。

// 绝缘电阻计算简化公式
// R_iso = (R1 * R2 * (V_bat - V1 - V2)) / (R2 * V1 - R1 * V2)
// 其中 R1、R2 为已知电阻,V1、V2 为对地电压

float CalculateInsulationResistance(float vBat, float vPos, float vNeg)
{
    float rIso;
    // 标准要求:绝缘电阻 > 500Ω/V(国标)
    rIso = (R_KNOWN * (vBat - vPos - vNeg)) / (vPos - vNeg + 0.001);
    return rIso;
}

2.3.2 高压互锁(HVIL)设计

高压互锁,说白了就是一根检测线,贯穿所有高压连接器。只要有一个连接器没插好,这根线就断了,HVU立刻检测到并报警。

我建议HVIL电路采用双冗余设计:一路检测回路通断,一路检测回路电阻。这样即使其中一路失效,另一路还能工作。

HVIL状态 回路电阻 系统动作
正常 < 5Ω 允许高压上电
异常 > 10Ω 立即断开高压继电器
开路 无穷大 禁止高压上电,报警

避坑指南:HVU的采样电路一定要做隔离。我曾经在实验室测试时,没注意隔离,结果高压窜到低压侧,烧了一块BMU板。从那以后,我所有HVU设计都强制要求光耦或数字隔离器。

2.4 三块板子的协同工作

BMU、CMU、HVU不是各自为战的。它们通过CAN总线或SPI总线连接,形成一个完整的系统。

  • CMU → BMU:上报每节电芯的电压、温度数据
  • HVU → BMU:上报总电压、绝缘电阻、HVIL状态
  • BMU → CMU/HVU:下发均衡指令、休眠唤醒指令

通信协议的设计也很关键。我一般会定义好帧ID的优先级:故障帧优先级最高,数据帧次之,配置帧最低。这样即使总线负载高,关键信息也能第一时间传出去。

总结一下:BMU负责决策,CMU负责感知,HVU负责安全。三块板子各司其职,又紧密配合。设计时既要考虑单板的功能完整性,也要考虑系统级的通信可靠性和故障诊断能力。

好了,这一章的内容就到这里。硬件架构是BMS的根基,根基扎得深,后面的软件和算法才能站得稳。下一章咱们聊聊BMS的软件架构设计,到时候我会分享一些实际项目中的代码架构经验。


公众号:蓝海资料掘金营,微信deep3321