基于ISO 26262标准的BMS(ASIL C)功能安全设计
2019-12-12刘凌飞李小鹏徐征沈圣智
刘凌飞,李小鹏,徐征,沈圣智
(1.天津职业技术师范大学汽车与交通学院,天津 300222;2.天津动核芯科技有限公司,天津 300350)
0 引言
随着汽车上电子/电气(E/E)系统的复杂性不断提高,系统失效和随机硬件失效的风险也不断增加。据不完全统计,截至2019年上半年,由于动力蓄电池所引发的电动汽车自燃事故已高达40余起。动力蓄电池系统作为新能源汽车的能源系统,承担能量的存储与释放,其内部的电子控制器的功能安全直接影响动力蓄电池的安全性。
为提高汽车的安全性,针对汽车功能安全,国际标准化组织ISO于2018年发布了第二版 ISO 26262道路车辆功能安全标准[1]。电池管理系统(Battery Management System, BMS)作为动力蓄电池的核心电子控制器,在其系统功能安全设计过程中应用ISO 26262标准要求,将有利于提高其安全性。
本文作者根据ISO 26262标准中的危害分析和风险评估方法,介绍了汽车完整性等级(Automotive Safety Integration Level,ASIL)的确定方法,介绍了ASIL分解的原则,并以BMS的等级确定及分解为示例进行介绍。
1 道路车辆功能安全标准ISO 26262
2018年基于IEC 61508安全相关电气/电子/可编程电子系统功能安全,ISO 26262被制定。它是针对公路车辆内的电子/电气系统的汽车开发行业标准[1],包括了汽车电子电气在安全生命周期的开发过程中与安全相关的所有活动的要求。从而确保具备安全功能的电子产品的性能,在车辆使用过程中,即使出现功能性失效的情况,车辆也不会发生危险。
ISO 26262:2018标准体系由12个子标准组成,其中Road vehicles:Functional safety:Part 12是针对摩托车定制的[1]。Part1—Part11的内容如图1所示,其中第4、5、6部分,兼容“V”形开发流程图[4],其结构框图如图1所示。
图1 ISO 26262:2018 标准结构
依据ISO 26262标准进行功能安全设计时,需要进行危害分析和风险评估。根据系统的功能,可采用HAZOP、FMEA、头脑风暴等方法,结合故障可能会出现的情景进行功能故障分析。
功能故障和驾驶场景的组合称作危害事件。危害事件确定后,依据严重度、暴露率和可控性评估危害事件的风险级别——汽车完整性等级(ASIL)。其中,严重度是驾驶员、乘员或者行人等涉险人员在危害事件中遭受伤害的程度;暴露率是指人员处于失效系统所致的危害场景中的概率;可控性是指驾驶员或其他涉险人员通过相应的应急措施,避免事故或伤害的可能性。这3个因子的分类及等级评定如表1所示。
ASIL设置有4个等级,如表2所示。其中D等级的级别最高、A等级最低;QM表示质量管理,表示只需按照质量管理体系进行系统或功能的开发,不再需要考虑其他安全相关的设计[2]。ASIL等级越高,意味着对系统安全性的要求越高。
表1 严重度、暴露率、可控性分类
表2 ASIL等级确定
可将风险R描述为危险事件的功能函数F。风险R与危害事件的发生频率f、通过人的及时反应而避免损害或损伤的可控性C以及潜在的严重程度S有关,其函数可表示为
R=F(f,C,S)
(1)
式中f是危害事件的暴露率E发生概率λ的函数。发生的频率f由以下2个因素确定:(1)需要考虑危害事件的发生频繁度和危害事件涉及的人数,该因素可用危害事件的暴露率E来代替。(2)可能导致危险事件的产品故障率λ,该因素受限于硬件随机故障和系统性故障。其表达式如式(2)所示。
f=Eλ
(2)
2 BMS的等级评定
2.1 市场车型定位
BMS是保护动力电池的使用安全和使用寿命的控制系统。通常具有上电自检,对电压、电流、温度数据进行采样监测,均衡管理,绝缘监控,状态估计(SOC、SOH等),高压回路控制,故障诊断,通信,热管理等功能[3]。BMS需时刻监控电池的状态,通过检测单体电池的电压、电流及温度值,估算动力电池的SOC、SOH等值,以确定动力电池的安全状态。BMS内部的逻辑计算与控制策略可以防止电池出现过度充电和过度放电的现象,缓解电池组的不一致性,提高电池的利用率[4],保障动力蓄电池的使用安全。
动力电池系统的BMS控制模块,可分为数据采集与数据通信、处理模块,如图2所示。该系统由一个主控单元和多个从控单元组成,其中从控单元主要负责单体电压信号采集与均衡处理,主控单元主要负责数据的运算处理、系统高压通断、热管理及与 VCU 进行信息交互等。
图2 电动汽车的动力电池系统
2.2 BMS的危害分析与风险评估
对BMS进行危害分析与风险评估时,可将BMS作为一个独立单元,在不考虑其他整车要素的情况下进行。首先要对BMS的功能及结构进行分析,可以采用概念阶段所定义的安全生命周期的方法来定义BMS的工作环境和工作状况。根据BMS的工作状态,分析其失效或故障状态下可能发生的危害。针对BMS的危害至少确定一个安全目标,再根据BMS的安全目标确定其ASIL等级。安全目标是最高层面的安全要求,也是危害分析和风险评估的结果[1]。
结合BMS在动力电池系统中的工作状态, BMS电子控制器的危险动作主要包含过充、过放、低温充电、过度冷却/加热、接触器非正常断开/接合、过流等。以BMS失效为例,该危险事件的危害有:(1)在行驶过程中,BMS失效出现电池过放,引起电池组内部短路和电池包着火。(2)高速行驶过程中,高压回路被切断,导致车辆失去动力[2]。(3)车辆充电时,由于BMS失效不能保护动力电池,发生过充现象等。高速行驶、充电是每天都会发生的事情。对于不同的失效危害可采取相应的措施,如车辆失去动力后,驾驶员可依靠惯性将车辆驶离主车道,将车辆停靠在路边等待维修处理;车辆充电时着火,驾驶员及乘客可通过门窗逃生等,以保障车辆上人员的生命安全。即使危害相同,在不同场景下发生的风险也是不同的,所以需要对不同的驾驶场景进行针对性分析。为了简化问题,文中仅对“高速行驶过程中,BMS失效引发电池组过放”这种功能故障进行风险评估。根据以上分析,BMS风险评估结果如表3所示。驾驶场景是正常道路高速行驶。对于同一个安全目标,如果出现评估的ASIL等级不同时,要选择最高的ASIL评定值。
城市工况低速行驶时,其ASIL的等级会比高速行驶的评定等级低。通过以上分析,得出BMS系统的安全目标为防止电池过放,ASIL等级为C。安全目标确定后,即可确定BMS在系统级别的安全需求,安全需求需继承安全目标的ASIL等级,并分配至BMS的硬件和软件设计中。根据BMS的ASIL C的等级要求,在其硬件及软件的开发设计过程中,需要继承ASIL C等级的设计需求。
表3 BMS风险评估
3 BMS的ASIL分解
ISO 26262规定,应为每一个安全目标定义至少一项功能安全需求,每条功能安全需求从相关的安全目标继承最高的ASIL,然后将功能安全需求分配给相关项。由于在实际的生产过程中需要考虑生产成本,ASIL的等级越高生产成本越高[5]。为了降低安全目标的实施成本,可将一个高ASIL等级的安全目标分解为两个相互独立的较低级的安全目标。ISO 26262标准的第9部分中提出了在满足安全目标的前提下降低ASIL等级的ASIL分解方法[1]。
3.1 ASIL的分解原则
如果将一个安全需求分解为两个冗余的安全需求,则原来的安全需求的ASIL等级可以分解到两个冗余的安全需求上[1]。由于只有当两个安全需求同时不达标时,才会引发系统失效,所以冗余安全需求的ASIL等级可以比原始的ASIL等级低。ASIL 分解时,分解对象应具有独立性,否则冗余单元需遵循原始的等级进行开发[1]。下面介绍BMS的ASIL 分解过程。
假设BMS的功能实现过程中,将传感器测量到的电压、电流及温度信号作为BMS的输入信号,分别记为S1、S2、S3。这3个输入信号是由相互独立的传感器分别检测出的。MCU将运算后的输入信号,转化为触发信息并发送给执行器。其功能的架构示意如图3所示。假设经过危害分析和风险评估后,BMS的ASIL等级为ASIL C,安全目标为避免非预期触发执行器,那么BMS的各个部分均继承BMS的ASIL,即传感器、MCU、执行器都需要按照ASIL C 的等级开发,如图3所示。
图3 ASIL等级在BMS功能架构上的分配
ASIL的分解可以在功能安全概念、系统设计、硬件设计、软件设计阶段等多个阶段进行。在将一个高ASIL分解为几个较低级的ASIL部分时,分解部分的括号里的字母为原始需求的ASIL等级。例如ASIL C等级分为ASIL B(C)和ASIL A (C)两个分部分,或者ASIL C等级还可以分解为ASIL C(C)和ASIL QM(C)等,如图4所示。ASIL等级可分多次进行分解,比如ASIL C分解为ASIL B(C)和ASIL A(C), ASIL B(C)还可以分解为ASIL B(C)和QM (C)[1],如图5所示。
图4 ASIL C分解原理
图5 ASIL B分解原理
3.2 BMS的ASIL分解
以预防过放功能为例,在动力电池运行过程中,为了防止动力电池出现过放现象,可以通过BMS计算出动力电池的SOC,并判断SOC值是否在安全范围内[4]。如果电池的SOC过低,就存在电池过放的趋势,需要将该信息发送给其他控制单元,以提示整车做出对应措施。除此之外,当BMS检测到电池处于深度放电的状态时,可以断开高压回路,以阻断放电电流。因此,为达到防止电池组中的一个或多个电池深度放电的安全目标,需要达到以下安全需求:
(1)确定电池组的SOC并传达给其他控制器。如果电池组的SOC不在规定的操作范围内,系统需要跟踪到电池的能量流并做出反应。此外,如果超出了电池组SOC的限定值,则应将该信息传达到车辆的其他系统。
(2)如果检测到深度放电状态,则应在较短的时间内切断放电电流。
为保护电池免受损坏并防止深度放电(深度放电可使电池内部短路并导致热事件和火灾)引起的危险后果,如果检测到深度放电状态,系统应切断放电电流。
根据以上需求分析,结合BMS的工作环境及BMS与内、外部部件之间的联系进行需求分配。假设动力电池的负载只有驱动电机,那么BMS需要实现与电池组及电力电子控制单元之间的交流,即处理电池组内电芯的数据,接收电力电子控制单元的信息,根据数据进行决策判断。因此,可将BMS的安全目标分解为断开高压回路和负载需求降为零,且这两个功能安全需求是相互独立的。将BMS的ASIL C等级分别分配至BMS及其他电力电子控制器的功能需求,分解情况如图6所示。
图6 预防过放目标的ASIL分解
经过分解后,较高的ASIL C的BMS安全目标,被分解为按照ASIL B(C)等级设计的BMS功能安全需求及按照ASIL A(C)等级设计的电力电子控制器。通过对功能安全需求的分配与分解,使得BMS功能逻辑及开发变得简单,整体成本得以降低。
4 结语
以BMS为例介绍了ISO 26262标准中安全目标及其ASIL等级确定的方法。如果产品的安全需求的ASIL等级较高,成本高,可通过ASIL分解以降低ASIL等级,降低生产成本。在分解的过程中,遵循安全目标的ASIL等级在被开发阶段的安全需求继承的原则。以BMS预防过放为例,介绍了ASIL的分解原则和步骤。通过对功能及结构进行分析,对系统的架构进行调整,实现了ASIL的分解。为针对ASIL等级高而带来的开发成本高、开发周期长及技术要求高等方面的问题,提供了一种解决方法。