尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

单芯片BMS实战:新一代汽车电池管理方案设计与避坑指南

单芯片BMS实战:新一代汽车电池管理方案设计与避坑指南 接手这个Single-Chip Battery Management System项目之前我在电池管理方向做了差不多六年的分立方案。说实话一开始我对“单芯片”这三个字是持怀疑态度的——汽车BMS要管的事情太多十几串到上百串电芯的电压温度采样、均衡控制、绝缘检测、功能安全全塞进一颗芯片里靠谱吗做完这个项目之后我的结论是单芯片BMS不仅是靠谱而且正在成为新一代汽车电池管理方案的主流形态。这篇文章就从我的实际项目经历出发聊聊单芯片BMS的设计思路、关键细节和那些不能只在参考手册里看到的坑。1. 为什么汽车BMS要走向单芯片传统方案的三大痛点1.1 电芯采样通道与菊花链通信的复杂度难题先说说传统方案是怎么做的。一套典型的分布式BMS采集端由多颗模拟前端芯片AFE组成每颗负责若干串电芯的电压和温度采样然后通过菊花链或者SPI隔离通信把数据汇总给主控MCU。以96串电池包为例常见的做法是6到8颗AFE串成一串主控侧再加一颗MCU、一颗通信隔离芯片、若干电源芯片、外部看门狗、独立均衡驱动电路。这颗AFE链在实车上带来的问题主要是通信稳定性。菊花链走线一旦经过高压连接器附近或者线束布局不理想就容易出现通信毛刺。严重的会直接导致数据中断轻则报警、重则整车下电。为了处理这些干扰我见过不少团队在菊花链变压器选型、共模电感布局上反复折腾一次EMC整改就是两到三周。单芯片方案的核心思路是把采样通道、均衡驱动、通信控制器、甚至部分安全逻辑都集成到一颗芯片里。对车厂和Tier 1来说意味着采样链路从“AFE链MCU隔离”变成了“一颗芯片走线”系统的复杂度下降不是一点半点。菊花链通信的故障点被大幅压缩数据链路的可靠性和可调试性都上了一个台阶。1.2 功能安全等级与冗余设计的死结汽车BMS通常要求ASIL-C甚至ASIL-D等级这对硬件架构有很具体的要求采样通路要有冗余或诊断机制处理器的单点故障率要控制在极低水平关键路径的潜伏故障要能被及时探测。分立方案要实现这些最直接的办法就是加冗余——主采样通道、副采样通道、交叉校验逻辑、外部看门狗、专用安全MCU一层层叠上去。AVL_List里这么写没问题但实际硬件设计时每一层冗余都意味着PCB面积、成本和调试时间的增加。特别是当采样电路、供电电路、通信电路分散在多个芯片上时做故障注入测试和FMEDA分析非常痛苦你需要分析每个芯片、每个通路、每个引脚的单点故障率器件一多失效模式分析表就变得极其庞大。单芯片方案在功能安全路径上有天然优势关键功能模块在芯片内部就有自检机制比如ADC自检、参考电压自检、通信CRC校验内部模块的失效模式由芯片厂在流片前就做完了分析和验证我们系统厂商需要做的工作量大为减少。以我们用的那颗芯片为例FRC功能冗余控制器和BIST内置自检模块可以在上电和运行过程中周期性地对采样通路做故障注入这在分立方案里要额外做好几颗芯片才能实现。1.3 从成本角度算一笔账很多人觉得单芯片BMS单价高肯定更贵。其实算总账的时候不能只盯着芯片单价。我做个粗略估算96串电池包的BMS采集板分立方案大致需要6颗AFE、1颗MCU、1颗隔离芯片、若干电源芯片、运算放大器、电平转换、外部均衡MOSFET驱动BOM大概在60到90元而单芯片方案如果是可以级联的高压单芯片主芯片加辅助元件BOM大概在50到75元。PCB面积上的差距更明显。分立方案的采集板通常是六层板面积在120x80mm左右单芯片方案用四层板就能实现面积可以压缩到90x60mm甚至更小。别小看这块面积它直接关系到电池包内部线束走向、冷却风道布置和整包能量密度。量产项目里每减少1平方厘米的PCB带来的结构设计灵活性都是实打实的收益。对比项分立AFEMCU方案单芯片BMS方案元器件数量约35-50颗约10-18颗PCB层数/面积6层/约100x70mm4层/约90x60mm菊花链通信节点6-8个1-2个功能安全分析复杂度高中低单板BOM成本参考65-90元50-75元调试和EMC整改周期长短当然单芯片方案的灵活性会比分立方案差一些——想要换一颗不同采样精度的AFE、或者单独升级MCU在分立方案里很容易在单芯片方案里就得换整个平台。所以选不选单芯片取决于项目定义是否足够明确、电池包平台是否足够稳定。如果是主打平台化的新车型单芯片方案的优势会非常明显。2. 单芯片BMS的核心架构一颗芯片怎么把电池包管起来2.1 芯片内部该有哪些模块采样前端、控制核心与通信接口单芯片BMS并不是简单地把AFE和MCU封装在一起它的内部架构是围绕“采样-监控-保护-通信”这条完整链路来设计的。拿我们评估过的两类主流车规芯片来说一类来自TI的BQ79616-Q1系列另一类是ADI的ADBMS6817/6834系列它们的内部结构大致都包含以下几个模块高压模拟采样前端可配置为16通道或12通道支持单体电压测量、电芯内部温度测量和辅助ADC输入内置基准源提供片内高精度参考电压用于ADC校准和自检均衡驱动每个采样通道都带被动均衡MOSFET驱动器可以直接驱动片内MOSFET或外部大电流MOSFET通信控制器采用菊花链接口或者带CRC校验的串行接口支持级联扩展安全监控逻辑电压/电流比较器、看门狗定时器、故障锁存寄存器、CRC和BIST模块电源管理模块内置LDO支持宽压输入承受汽车12V系统的抛负载和瞬态电压。这颗芯片的耐压设计要重点看。电芯包的最高电压是400V的平台芯片的采样输入引脚耐压一般是电芯单体电压量程的若干倍加上输入分压网络可以扩展量程。但芯片对地耐压通常就是80V到110V这个量级所以级联使用时每一颗芯片的地电位必须通过电平移位正确对齐。2.2 采样通道分配与电池包拓扑匹配单芯片方案的通道数量是有上限的所以第一个问题就是你的电池包需要多少通道以常见的乘用车400V平台为例96串电池包通常拆成4个模组每个模组24串。如果选一颗16通道芯片一个模组需要2颗整包需要8颗。如果选24通道芯片一个模组1颗、整包4颗。对于800V平台、192串方案24通道芯片需要8颗16通道芯片则需要12颗。通道分配上有个容易被忽略的细节电池包的后端模组和前端模组之间可能存在很长的线束导致采样线上耦合到不同的共模噪声。单芯片方案虽然信号链短但每个模组内的采样线还是要规划好——正负采样线尽量双绞、贴近走线、远离功率线和高压线束。每一路采样输入都需要并联RC低通滤波器时间常数一般取几十到几百微秒转折频率在几百赫兹到几千赫兹目的是滤除开关电源纹波和电机控制器产生的干扰。2.3 均衡电路的内置与外置边界均衡是被动均衡为主即把高容量电芯的能量通过电阻放掉。单芯片方案的一大便利是每通道都集成了均衡MOSFET可以直接控制外部均衡电阻或内部均衡电流源。内置均衡路径的典型电流能力在50mA到200mA之间。以BQ79616为例片内均衡MOSFET导通后在常温下可以承受约150mA的连续电流但受限于封装散热实际系统上一般把均衡电流限制在60mA到100mA之间。外部均衡路径可以做到300mA以上需要额外增加外部MOSFET和功率电阻并且在PCB布局上做好散热。均衡电流的选择直接影响均衡时间和热管理。一个简单的计算电芯容量100Ah、压差30mV、电芯内阻约0.5mΩ要实现压差收敛均衡电荷量约等于容量差的比例。如果均衡电流是100mA均衡一个百分点的SOC需要大约10小时如果有多个通道同时均衡热积累也不可忽视。所以实际项目里均衡电流不是拉得越大越好要在系统热预算和均衡效率之间取舍。3. 硬件设计的关键采样精度、均衡策略与保护链路3.1 采样精度做到±1mV以内基准、滤波与标定单体电压采样精度是衡量BMS硬件水平的核心指标。电芯的OCV-SOC曲线在平台区变化很缓20mV的电压误差就能带来好几个百分点的SOC偏差。所以车规级BMS的单体电压采样精度目标通常定在±2mV以内优秀的方案能做到±1mV以内。达到这个精度需要从三个层面入手。芯片本身选择低偏置电流、低噪声、内置高精度基准的AFE。BQ79616的采样精度能达到±1.5mV典型值ADBMS6817在-40℃到125℃范围内的极限精度约±3mV但在常温段实测可以稳定在±1mV以内。电路设计采样输入使用开尔文连接直接接到电芯端子上避免采样电流路径与均衡电流路径共用一段走线。滤波电阻和电容要用温漂系数低的类型电容建议用C0G/NPO电阻用金属膜或薄膜电阻。校准量产环节可以做一次单板校准用高精度电压源逐一校正每个通道的增益误差和偏置误差。校准完后把每通道的偏移系数写入芯片EEPROM或存储在外部Flash中软件在采样时做数字补偿。在实测中采样精度的头号敌人是地线噪声。芯片的地电位如果和功率地走在一起均衡电流和电流传感器上的电压降会被直接抬进采样结果里。所以芯片的模拟地、数字地和功率地在单板上要单点汇接或者通过磁珠/0欧电阻分开处理。3.2 均衡策略什么时候均衡、均衡多少、怎么停止均衡策略是BMS软件里最容易写得“看起来对、用起来不对”的部分。均衡的目的是保证电池包内所有电芯在同一时刻的SOC一致而不是让所有电芯电压一致——因为温度不均时同样SOC下电压会有差异只压电压反而会引入新的不一致。常见策略是“静置均衡充电末期均衡”的组合静置均衡车辆休眠一段时间后电芯极化基本消失此时电压能真实反映SOC。若检测到最大压差超过设定阈值通常20mV到30mV就对高电压电芯进行小电流均衡直到压差收敛到10mV以下再停止。充电末期均衡充电接近满电时边充边均衡让SOC偏高的电芯在充电过程中被拉低一些避免个别电芯过早触达截止电压。均衡使能窗口必须在状态机里明确限制。充电过程中均衡电流叠加在充电电流上如果均衡电流过大反而会导致局部过充。所以先进方案是用“充电电流均衡电流”的总和来做保护判断而不是只看充电桩的电流。我们实际遇到过的问题就在这某次台架上做充电测试均衡开启后第23串电压飙升到4.23V触发了过压报警查下来正是因为均衡电流叠加导致局部充电电流过大。均衡的停止条件也要写清楚。我建议至少有三种停止条件压差小于阈值、任意电芯温度超过设定值、系统退出均衡使能窗口。温度和压差条件的优先级要最高一旦触发立即关断所有均衡通道。3.3 保护链路过压/欠压/过温/过流的硬件与固件协同单芯片BMS的保护链路要分两层来实现。第一层是芯片内部的硬件保护比较器电压超阈值后芯片可以在微秒级的时间内触发故障输出不依赖MCU的固件运行状态。第二层是MCU固件里的保护逻辑做更复杂的条件判断比如电压、电流、温度的综合保护曲线以及滞后恢复逻辑。硬件保护比较器的阈值要在上电配置阶段一次性写好。这里有一个很关键的注意事项配置寄存器的写入必须通过带有CRC校验的通信接口并且最好在应用层再做一次回读校验。我们曾遇到过配置丢失导致硬件保护失效的隐患——芯片的寄存器在强干扰下发生翻转保护阈值被改写了。后来解决方案是在每次上电后对关键保护寄存器做回读逐位比对不一致就报故障并重新配置。过流保护的分级处理保护等级触发条件响应动作延迟时间软件预警电流超过额定值110%上报仪表/VCU限功率输出100ms级软件过流电流超过额定值150%断开主继电器记录故障可恢复10-50ms硬件过流电流超过设计极限芯片硬件输出直接关断预充/主继电器不可自动恢复微秒级这里需要强调硬件保护必须独立于MCU。如果只依赖软件做保护MCU死机或程序跑飞时保护就形同虚设。这也是为什么单芯片BMS里一定要有硬件故障输出引脚的原因——它要在MCU失能的情况下仍然能把继电器断掉。4. 软件与算法SOC估算精度从5%到2%的真实调优记录4.1 状态机设计从休眠、唤醒到运行、下电BMS软件的第一部分是状态管理。通常分为睡眠模式Sleep、唤醒模式Wakeup、上电初始化Init、正常运行Active、充电模式Charge、故障模式Fault、下电模式Shutdown。状态的切换条件要和整车电源管理逻辑对齐。以我们项目的实际状态机为例睡眠模式KL30常电供电芯片处于低功耗监听状态整机电流小于100μA。此时BMS不进行采样只监听CAN总线上的唤醒帧或者硬线唤醒信号。唤醒模式收到唤醒信号后BMS开始上电片内LDO输出稳定MCU启动芯片开始初始化配置。初始化芯片配置关键保护寄存器、采样通道、均衡参数。这一步要保证在50ms内完成否则会影响整车上电时序。配置完成的标志是芯片返回“初始化完成”状态位。运行模式周期采样电压温度周期计算SOC/SOH实时监控保护阈值。充电模式充电过程中使能均衡策略运行充电保护逻辑。故障模式检测到不可恢复的故障后进入记录故障码等待维护解锁。状态机逻辑里最容易出问题的是在下电时序上。车辆下电后BMS不能立即断电需要完成最后一轮采样数据存储、故障记录写入EEPROM、均衡通道关断然后才能进入休眠。我们就是在这个环节踩过一个坑下电时均衡通道没来得及关闭导致车辆长时间停放后个别电芯被过度放电。后来在软件里加了“下电前强制扫描均衡状态”的逻辑确保系统进入休眠前均衡全部关闭。4.2 OCV-SOC曲线与安时积分的融合策略SOC估算没有银弹主流方案都是OCV-SOC曲线校正加安时积分Coulomb Counting的组合。原理很简单正常行驶时用电流积分推算SOC变化但电流传感器有零漂和积分误差所以当满足静置条件时用开路电压查OCV-SOC曲线来修正累积误差。问题的关键是“什么时候用OCV修正”。电芯需要静置足够长的时间才能让极化消失通常锂离子电池要静置2小时以上磷酸铁锂可能需要4小时以上。如果静置时间不足OCV读取的电压包含极化成分查出来的SOC反而会把准确值带偏。我在项目里的做法是设置了多级OCV修正条件静置超过2小时允许按修正系数0.3进行修正静置超过4小时修正系数提升到0.7静置超过8小时允许完全修正。这个系数是根据实测极化衰减曲线拟合出来的。如果电池包在静置期间还有均衡动作OCV修正要暂停因为均衡本身会改变电芯端电压。4.3 容量衰减与内阻增长的自学习逻辑SOC估算做得再好如果SOH模型不准确容量衰减后SOC误差还是会慢慢变大。新电池的可用容量是标称容量100%使用两年后可能衰减到90%甚至更低。如果软件还按照标称容量来做安时积分SOC等于100%的时候实际电量可能只有92%显示值的参考意义就下降了。自学习逻辑通常利用“满充满放”窗口来校准。当系统检测到一次完整的充电至充满并放电至低压截止的过程就用这次放电的安时数来更新SOH模型里的实际容量。这种校准机会在实车上不常有所以还要加一种基于充电曲线的容量估算方法在充电过程中用“电压窗口内充入的安时数”与“标准充电曲线中对应窗口的安时数”对比推算容量衰减因子。让我用一个例子说明标准充电曲线中电压从3.6V到4.1V充入了40Ah而实测只充入了35Ah那么容量衰减因子就是35/40等于87.5%。这里要注意温度和充电倍率对曲线的影响需要做二维插值修正。我们把SOH估算误差从初版的8%优化到了3%以内靠的就是这套基于动态窗口的容量估算。5. 从样机到量产EMC整改、热设计和AEC-Q100认证的实战5.1 EMC整改的一次完整记录单芯片BMS的EMC风险点比分立方案少但不是没有。主要干扰源集中在三个地方电源输入端的瞬态干扰、采样线束上的共模耦合、通信接口的辐射。我们第一次做CISPR 25辐射发射测试时在150MHz到300MHz频段出现了明显的超标频点。排查过程很典型先用近场探头扫描单板定位到干扰源在芯片的电源引脚附近再用频谱仪对比不同频段的噪声特征锁定是DC-DC开关噪声通过芯片电源引脚耦合到了采样线束上。整改措施有两条一是把芯片电源引脚的0.1μF去耦电容换成1μF加0.01μF的组合从频域上覆盖更宽的频率范围二是在采样连接器处增加共模磁环吸收线束上的共模电流。整改后复测原来超标的频段下降了12dB以上。这个案例说明单芯片BMS虽然省了外围器件但电源去耦和连接器滤波反而更关键了因为所有信号都汇聚在一颗芯片上任何一个引脚的噪声都可能成为辐射源。5.2 热设计均衡工况下的局部热点均衡电流100mA如果同时均衡10个通道芯片内部的热功率就是电压差乘以电流。以单通道均衡电压3.7V计算单通道耗散0.37W10个通道合计约3.7W。这个热量如果散不出去芯片结温会明显升高进而影响采样精度和芯片寿命。我们实测过一颗封装尺寸为7x7mm的QFN芯片只做10通道均衡时芯片表面温度比环境温度高出25℃左右。如果环境温度是60℃芯片表面就到了85℃结温可能超过110℃。这对于车规芯片来说虽然没到极限但已经进入了降额设计的黄色区域。解决思路是PCB铜皮芯片下方的散热焊盘必须大面积连接到地平面辅以过孔阵列散热。地平面的铜箔面积越大热阻越低。均衡电流降额在高温环境下把均衡电流从100mA降到60mA代价是均衡时间变长但安全性更有保障。布局优化避免把芯片安排在PCB角落或靠近高压功率器件的位置。热设计的验证要在极限工况下做环境温度60℃到70℃、均衡全部打开的台架工况测试至少连续运行4小时以上用热电偶实测芯片表面温度和外壳温度。5.3 AEC-Q100认证的关键项汽车级芯片认证是绕不开的门槛。单芯片BMS芯片需要做全套AEC-Q100认证主要等级是Grade 1或Grade 2。Grade 1的要求是-40℃到125℃环境温度下工作Grade 2是-40℃到105℃。对于乘用车电池包内部的环境温度Grade 1更常见。需要关注的关键测试项温度循环测试TCT-55℃到150℃之间循环一般要求1000次。主要暴露封装和焊接的可靠性问题。我们遇到过一次PCB焊盘设计和封装热膨胀系数不匹配的情况循环后部分引脚出现微裂纹后面通过修改焊盘尺寸解决了。高温工作寿命测试HTOL125℃环境下加电工作1000小时。这个测试周期长至少六周需要提前排好计划。ESD测试HBM人体模型和CDM充电器件模型测试分别验证引脚静电放电耐量。HBM通过通常要求2000V以上。闩锁效应测试Latch-up验证芯片在过流/过压情况下不会发生闩锁。这个测试在芯片选型时就要和芯片厂确认是否已经通过避免投板后再发现。认证的周期一般在3到6个月视芯片厂已有的数据和补充测试的复杂度而定。建议在项目P0阶段就索要芯片厂的AEC-Q100认证报告特别是可靠性测试数据的完整性。如果认证数据不全后面整车厂的OTSOff Tool Sample审核会很难通过。6. 单芯片BMS选型与实测踩坑指南6.1 选型时最容易忽略的几个规格选型的时候大家一般先看通道数、通信接口、均衡能力但这些参数之外有几个容易被忽略的规格到了实际项目里才显形。输入偏置电流芯片采样输入引脚的输入偏置电流如果太大会在外部滤波电阻上产生压降直接造成测量误差。假设外部滤波电阻是1kΩ偏置电流100nA误差只有0.1mV可以忽略但如果滤波电阻是10kΩ、偏置电流1μA误差就到了10mV完全不可接受。漏电流芯片在睡眠模式下的漏电流直接关系到整车的静态电流。整车静态电流要求通常在3mA以内BMS部分预算大约1mA。如果芯片睡眠模式就有几百微安的漏电再加上外围电路很容易超限。高低温漂移25℃下采样精度很好不代表全温区都好。芯片数据手册里的精度通常是分温度区间的选型时要重点看-40℃和85℃附近的极限精度。我们曾经在同一批次的芯片里发现两个批次的温度漂移特性不一致后来确认是芯片内部基准源的批次差异所以除了看数据手册最好再自己做一次高低温摸底测试。通信时序的硬件要求有些芯片对菊花链通信的时序要求非常苛刻需要MCU端做精确的时序控制或者在PCB布线时严格要求走线长度。选型时要把通信接口的容差范围和数据手册上的时序图结合起来评估不要想当然认为SPI就是SPI、菊花链就是菊花链。6.2 实测中踩过的坑这里写三个我们真实遇到过的案例给大家一个参考。第一个是采样跳变的问题。台架测试时第32串电压偶尔从3.71V跳到3.65V再跳回来拍脑袋怀疑是芯片坏了。后来用示波器实测采样线波形发现是相邻的功率线束在大电流变化时产生了大的di/dt通过互感耦合进采样线。处理办法是把采样线束移到远离功率线缆的一侧同时把滤波电容从100nF加大到470nF问题就消失了。这个案例说明芯片精度再高也救不了布线层面的问题。第二个是CRC保护误触发。通信接口配置了CRC校验后发现偶尔会报CRC错误并且锁存故障复位后才能恢复。排查下来是主控侧的CRC计算逻辑有缺陷多字节报文和芯片侧的CRC计算方式不一致导致部分合法报文被判定为错误。解决方案是用芯片厂商提供的参考代码库里的CRC函数而不是自己造轮子。第三个是均衡发热引发的二次效应。某个版本固件里均衡阈值设置得太激进导致长时间均衡后芯片附近局部温升超过10℃进而影响了附近电芯的温度采样。温度采样失真又引发了错误的温差报警。最后把均衡电流降额定到80mA并且把均衡停止温度阈值下调了5℃问题解决。这个案例的教训是均衡策略的参数必须和热设计联动考虑不能只盯着电芯的电压收敛效果。6.3 关于验证方法的建议单芯片BMS的验证要多投入在HIL硬件在环和电芯模拟器上。电芯模拟器可以精确模拟每串电芯的电压和温度能很方便地做故障注入、边界测试和一致性验证。真实电芯的电压变化慢、内阻特性复杂做算法验证时不方便控制变量。我们项目里投入最大的一套测试设备是96通道的电芯模拟器。软件团队每天跑自动化脚本覆盖正常工况、极限电压、温度突变、通信中断、故障注入等几百个用例。说实话很多问题不是手测能发现的必须靠自动化HIL测试批量跑。还有一个容易被忽视的验证环节是长时间老化测试。把板子放在温箱里设置40℃、60℃、85℃三个温度点每一档连续运行72小时期间周期性记录采样精度、通信错误率、均衡电流稳定性。这套测试能发现芯片在长时间连续工作下的性能漂移问题尤其是基准源和电源模块的长期稳定性靠短时间测试根本看不出来。我在整个项目里最深的体会是单芯片BMS是把双刃剑——它把复杂度从板级压缩到了芯片级但系统级的设计责任反而更重了。芯片选型、评估板验证、PCB布局、软件状态机、均衡策略、功能安全分析每一个环节都不能松懈。做完这个项目再看手里的参考手册感觉不是一个清单而是一条完整的责任链。希望这篇分享能给正在评估或正在做单芯片BMS方案的朋友一些参考少走一些我们走过的弯路。
返回列表