王震华 赵鲁荣 张霞 张鲁兵
潍柴动力股份有限公司电控研究院,山东 潍坊 261061
摘要:功能安全(Functional Safety)的要求是无论零部件或者安全相关控制系统发生的失效是硬件随机失效还是系统失效,都需要使受控设备可靠地进入和维持安全状态,避免对人员或者环境产生危害;本文从电控开发流程角度触发,介绍功能安全流程的建立、要求及方法,并结合标准要求,给出完整的电控开发流程体系。
关键词:功能安全;电控单元;ASIL等级
引言
在过去近40年中,功能安全的理念和技术不断发展,已经在全球范围深入各个行业和领域,成为社会、行业、企业控制各种灾难性事故的有效措施。ISO26262是欧洲多个知名主机厂及供应商共同讨论制定的,于2005年启动,2011年底发布,2018年发布第二版,加入商用车。新版ISO26262标准为实现汽车电子系统全生命周期内的功能安全起到了至关重要的指导作用,但对新版标准的详细解读以及如何将其应用到实际的产品中,目前可供参考的应用案例还很少。因此,以ISO26262新版标准作为指南,进行电控系统的产品开发,对于正确解读和应用ISO 26262 标准具有重大参考意义。
1 标准介绍
2018版的ISO 26262 标准主要包括 12 个部分,其体系结构图如图 1所示[1、2]。
图1 ISO26262标准体系结构
ISO26262标准的第一部分介绍相关术语;第二部分功能安全管理,定义了涉及安全相关系统开发的组织和人员应满足的要求,定义功能安全管理指南及安全计划,建立公司安全文化;第三部分概念阶段,主要是对危害分析和风险评估的描述,导出功能安全目标,确定功能安全相关概念,导出客户需求;第四部分为系统层面的产品开发,完成系统设计及安全分析,并按要求进行系统相关测试,导出系统需求,FMEA及FTA概念;第五部分为硬件层面的产品开发,确定基于ASIL等级的硬件安全指标,包含SPFM,LFM,PMHF指标,完成硬件安全分析及设计;第六部分为软件层面的产品开发,包含软件开发指南、软件需求、软件实现、软件验证计划、软件验证报告;第七部分为生产、运行、服务和报废过程中功能安全相关的要求和建议;第八部分为是对支持过程的归纳;第九部分为基于汽车安全完整性等级(ASIL)和安全的分析,明确ASIL等级的分配原则;第十部分为对整个ISO26262标准的应用导则。相较于原版本,增加了一个新的部分(Part11)来指导如何对汽车领域所应用的半导体应用ISO26262标准,同时新版本对适用范围进行了合理延伸,除了原版本中的不超过3.5吨的乘用车,将卡车、公共汽车、摩托车也涵盖在内,并添加了一个新的部分(Part12)来说明如何应用于摩托车,而对于卡车和公共汽车的特殊要求则穿插于各个章节中。
2 基于ISO26262电控开发流程搭建
功能安全标准同样遵循传统电控开发V流程。其开发大致分为六个阶段,分别为概念阶段,系统设计阶段,软件设计阶段,硬件设计阶段,测试阶段和生产服务报废阶段。
2.1 概念阶段
概念阶段主要包含相关项定义,安全生命周期定义,危害分析和风险评估及客户需求说明,并生成对应的交付物,为下一步的系统开发提供重要输入。
1)相关项定义是定义并描述相关项,及其与环境和其他相关项的依赖性和相互影响;主要包含功能框图,接口,环境条件,法规要求和危害等。
2)安全生命周期指相关性从概念阶段到报废的整个阶段,根据产品是否新开发来决定是否对生命周期进行裁剪。如果产品为新开发产品,按照完整生命周期进行,如果是对已有产品的再次开发,则需要进行影响分析,根据需要对生命周期进行裁减。整个安全生命周期如图2所示。
图2安全生命周期
3)危害分析和风险评估HARA
HARA分析分四个阶段,如表1所示。其目的是识别系统的危害,根据运用工况,得到风险评估,从而得到安全目标及相应的安全等级(ASIL等级)。其中安全目标是最高级别的安全需求,有安全目标导出系统安全需求,再将系统安全需求分配到硬件设计和软件设计。ASIL等级分为A,B,C,D四个等级,其对安全性的要求由低到高排列。安全性要求越高,对应的开发流程及技术要求也越高,相应的开发成本越高。ASIL等级的评定可通过对危害事件的严重程度、暴露概率、可控度这三个因子进行评估得到。
2.2 系统设计阶段
系统设计阶段主要依据客户需求开发相应的技术安全需求,包含系统需求分析,系统架构设计,系统安全分析(FMEA,FTA等),并在每一阶段开展对应的设计评审,评估技术安全需求是否满足功能安全开发要求,是否具有识别和控制系统自身故障的机制,识别和控制其他系统故障的机制,实现或维持安全状态的措施(迁移,容错时间或紧急执行间隔),实施报警及降级的措施等。
2.3 软件设计阶段
软件层面的开发包括软件安全需求,软件架构设计,软件安全分析,软件单元设计和实现,软件单元测试,软件集成及集成测试,嵌入式软件测试等,如图3所示。软件开发过程中语言、方法、工具和划分标准必须在整个软件生命周期中保持一致,并与系统和硬件协调。软件安全验证需要从精准、明确、可实现、一致性、可理解、可验证几个方面考虑。另外,需要考虑是否使用了恰当的标记法。软件架构作为系统架构的逐步细化产物,需要具备模块性、高内聚、低耦合的属性。软件单元设计满足可测试性,可维护性和避免不必要的复杂性等要求。设计方法满足ISO26262PART6相关要求。软件集成和测试分为白盒测试和黑盒测试。白盒测试标准满足函数覆盖要求和调用条件覆盖要求。黑盒测试满足数据覆盖要求,等价类要求,边界分析及故障注入测试。
图3软件开发流程
2.4 硬件设计阶段
硬件层面的开发包含硬件安全需求定义,硬件设计,硬件架构度量评估,单点故障和潜伏故障评估,硬件集成和测试等。其中,硬件安全需求的定义与技术安全概念,系统设计规范及硬件规范一致,与相关软件安全需求一致,并确保正确性、完整性、一致性和可追溯性。硬件设计包含硬件架构设计和硬件详细设计,硬件架构设计应遵循模块化并考虑环境因素,硬件详细设计应考虑安全相关硬件元器件失效的非功能性原因。硬件架构度量的评估,是基于硬件FTA分析,对每一个功能模块对应的元器件的随机硬件失效率进行统计,通过标准规定的方法,计算得出,用于评估硬件设计是否满足预订的功能安全目标PMHF指标要求。同时,硬件设计还需要满足功能安全等级要求的单点故障,潜伏故障的故障诊断覆盖率。硬件故障的分类如图4所示。
图4硬件故障分类
硬件集成和测试,目的是测试验证所开发的硬件是否满足硬件需求。包含测试计划,测试用例设计,测试用例评审及测试报告。
2.5 测试阶段
测试要求在part6和part4两部分中分别要求。按照标准,测试需要分为嵌入式软件测试,软硬件测试,系统测试和整车测试。嵌入式软件测试主要对软件需求的测试,软硬件测试主要对软硬件接口测试和系统需求,系统测试主要对软件需求和系统需求测试,测试工具一般是HIL或者台架,整车测试主要对客户需求和HARA相关风险项的测试,是安全验证的最后一步。
2.6 生产服务报废阶段
生产运行阶段是指电控系统的生产、运行、保养、废弃等。
3 结束语
本文对道路车辆功能安全标准ISO26262进行了介绍,并概述了基于该标准的电控系统开发流程。
参考文献:
[1]ISO26262 Road vehicles-Functional safety-Part1~Part10[Z].
[2]Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units, V ersion 6.0, EGAS Workgroup[Z].
作者简介:王震华(1981-),男,动力机械及工程专业,硕士,主要研究发向为燃气发动机开发。