团队协作与信息交流问题:当前系统和软件开发团队工作相对孤立,信息交流多依赖书面规范,存在局限性。
研究目标:以电池管理系统(BMS)为例,展示通过基于功能模型接口(FMI)的模型作为可执行规范,实现信息有效交流,使双方能在V - 循环不同阶段进行闭环仿真。软件开发者可在虚拟环境更全面测试软件,系统仿真团队无需手动重新实现ECU代码的软件算法即可模拟整个系统,同时基于功能模型单元(FMU)在不同抽象层模拟AUTOSAR电池管理算法源代码,验证算法的故障模式。
本文内容规划:首先在第2节介绍物理电池模型及其示例电池模块,解释电池管理系统的功能和任务,并聚焦于充电状态估计算法(作为整体BMS过程示例)。然后在第3节描述AUTOSAR标准和所用工具链。
2.电池仿真与管理系统相关内容
2.1、电池仿真模型
电池模块参数与应用场景:建模的电池包为48V模块,可用于微混合动力系统车载供电或牵引电池系统,由26个电池(2行并联,每行13个串联)组成,总容量140Ah。
表1.电池的参数。
建模工具与电池模型构成:使用Dassault Systèmes的Battery Library在Modelica中建模,电池模型包含电和热物理域。系统仿真对电池模型要求是提供宏观特性准确信息(如电压、电流、荷电状态)且计算时间合理,等效电路模型可满足要求。电池电压可表示为开路电压与过电位之和,过电位分为欧姆过电位、电荷转移和双电层过电位、扩散过电位,用等效电路网络模拟,其动态行为用RC电路建模,还需热模型考虑温度对电池电气和老化行为的影响(电池内部热量主要由焦耳效应产生,与等效电路电阻功率损耗相关)。
图1.电化学电池的电压特性
模块层面建模考虑因素:在模块层面,可根据性能需求调整电池包(如对电池建模方式及热表示的离散化元素调整,圆形电池用垂直切片计算内部流),且考虑到硬件在环(HiL)平台特性,导出模型时需将数据置于模型内无外部依赖。
2.2、电池管理系统功能与任务
BMS处理传感器数据和车载模型仿真结果以获取电池状态信息,监测电池状态(包括荷电状态SoC、健康状态SoH、电池温度、电压等),确保变量在可接受范围内,若超出限制则向电源管理控制电池发送信号限制功率使用。SoC和SoH需实时监测,SoC异常(过低或过高)会损害电池(低SoC会损坏电极致电压不足,高SoC可能引发热失控致系统失效),因此BMS应包含SoC估计算法。
2.3、电池荷电状态估计方法
仿真模型中的计算方法:在电池仿真模型中,SoC变化可通过平衡充放电电流计算公式:
在电池ECU中实现的复杂性及解决措施:在电池ECU中实现SoC确定更复杂,因为积分操作占用较多车载内存和计算时间,且电流传感器测量有误差(校准误差致电流记录漂移,短行程 可在电池电化学平衡时测量电压校正(此时过电位可忽略,开路电压主导电池电压,开路电压常用于新电池类型初始评级和等效电路电池模型参数化)。文中给出Modelica代码实现示例(包括电荷计数器、SoC估计、根据电流接近零时间校正SoC等操作),并阐述在系统工程验证阶段,需验证BMS是否满足电池安全要求(如正确记录电池状态变量、确定操作限制及正确发出违规信号),本文重点验证充电状态估计算法校正错误电流测量信号的能力(以电荷计数器和电压比较校正为例,探究基于电池电压的估计校正能否确保BMS和驾驶员获得正确充电状态)。
图4.当电流接近于零时的计数时间
3.基于FMI的AUTOSAR兼容控制器软件虚拟测试
3.1、AUTOSAR标准概述
AUTOSAR是开发汽车电子控制单元(ECU)软件的公认标准,定义了分层架构,通过标准化接口分离硬件、应用软件和基础软件。应用软件组件间以及应用软件与基础软件(BSW)间的接口由运行时环境(RTE)处理,RTE实现不同类型通信机制。
3.2、AUTOSAR单元测试
单元测试是AUTOSAR软件开发重要部分,理想测试应无硬件依赖,以便在开发周期尽早进行。AUTOSAR通过虚拟功能总线(VFB)抽象层实现,Dassault Systèmes的AUTOSAR测试环境ASim利用此概念,可在细粒度级别测试软件组件,考虑操作系统(如调度)和RTE(如同步排队和非排队通信)影响,还使用AUTOSAR数据类型处理定点算术。
3.3、基于FMI的虚拟AUTOSAR ECU导出
单元测试通常为开环测试,用户定义测试向量和约束困难且耗时。将软件“模型”集成到通过工厂模型闭环的虚拟环境,可使许多软件组件端口条件设置过时(因端口可直接由连接的工厂模型提供输入),工厂模型还可考虑定时效果和延迟。ASim通过导出FMU(提取虚拟AUTOSAR ECU)实现此功能,FMU可集成到支持FMI标准的其他仿真平台。
3.4、基于FMI的XiL工具方法
Modelica - 基于的仿真工具Dymola支持FMU的导入、导出和仿真,可在不同抽象层进行模型在环(MiL)和软件在环(SiL)测试,也可通过源代码生成能力导出FMU并编译到不同HiL平台。以电池管理为例说明了如何使用FMI标准进行XiL测试(涵盖从MiL到SiL再到HiL的测试过程)。
4.结果与讨论
4.1、模型在环(MiL)测试
测试优势:系统仿真在产品开发中早于软件开发,在MiL测试中,BMS算法和电池模型以模型形式实现,共同评估系统行为和响应算法。Modelica建模常产生高阶微分代数方程系统(DAE),有慢动态(如电池热行为)和快动态(如电池电行为),需隐式求解器(如DASSL),但实时环境需显式固定步长求解器,在建模环境中以匹配采样率的步长测试电池模型可减少实时硬件使用,同时可并行验证电池模型功能,加速设计阶段,允许早期仿真实验。
图6.循环中的模型模拟:SoC(顶部)和功率负荷(底部),以秒为单位。负功率表示电池模块的放电。
测试结果分析:将SoC估计算法与电池模型耦合,施加负载循环(1kW放电、500W立即充电、室温下无应力时间段)和环境条件,因电流传感器 + 0.5A的强制条件偏移误差,充电状态估计输出偏离实际SoC超1个百分点,功率负载停止后,电池电压主要受开路电压影响,校正算法根据测量电压查找SoC值,在250秒时用测量电压校正SoC。对比不同方法的SoC值可知,基于测量电池电压的充电状态不能单独作为信号源,校正前需等待一段时间。测试在高性能工作站进行,17671个Modelica方程在110秒内积分完成,每个GRID间隔CPU时间为0.365毫秒。
4.2、软件在环(SiL)测试
测试过程:BMS算法在MiL测试评估后,用ASim插件导出为FMU并与Dymola中的电池模型耦合进行SiL测试。此阶段先在Dymola中验证ECU代码与电池模型耦合的稳定性,再将FMU再次导入Dymola验证。考虑HiL平台采样时间(1毫秒),测试固定步长求解器下耦合实体运行稳定性。
算法调整与测试结果:为确保在ECU上性能,将用于计算SoC的积分操作改为离散求和操作(累积测量电流)。测试结果表明物理模型和算法系统稳定,结果与MiL测试相似,但Dymola求解器处理FMU时速度变慢,积分时间延长到187秒,每格间隔CPU时间为0.618毫秒。
4.3、硬件在环(HiL)测试
测试平台与实现:充电状态算法验证最后阶段,电池模型从Modelica导出为FMU,BMS算法从AUTOSAR C - 代码导出为FMU,在模拟目标系统ECU硬件的平台(使用dSpace DS1006处理器板)上执行HiL测试,验证软件在实时环境中的稳定性,同时考虑硬件特定影响(如信号传播延迟、内存、缓存和处理速度),AUTOSAR FMU需配备操作系统功能(如调度)。
测试结果分析:将HiL平台上的输出信号与MiL测试结果比较,AUTOSAR导出的BMS FMU和Dymola导出的电池模型FMU组合的周转时间低于0.4毫秒(平台步长1.0毫秒),满足实时要求,表明性能足够快,能在实时环境中稳定运行。
表3.HiL平台CPU
图12.HiL模拟:从HiL平台上输出的组合BMS FMU和从Dymola输出的电池型号FMU的结果。
5.总结
基于Dassault Systèmes Battery Library的详细电池模型可用于实时应用,其衍生系统能通过1毫秒步长的固定步长积分方法求解。在AUTOSAR中开发的电池管理系统(BMS)功能可通过在硬件在环(HiL)平台上的电池模型功能模型(FMU)进行验证,以充电状态估计算法为例,展示了BMS功能从草案到实时验证的全过程(通过功能模型接口FMI在模型在环MiL、软件在环SiL到硬件在环HiL阶段)。
从工具链角度看,当前AUTOSAR Builder中ASim生成的FMU使用虚拟功能总线(VFB)级别,未考虑基本软件或复杂设备驱动程序(CCDs)。下一步可对AUTOSAR基本软件或CCDs部分进行建模并与FMU一起导出,从而考虑基本软件层引起的传播延迟,进一步完善测试和验证过程。