功能安全介绍
1.什么是功能安全FS?
2.为什么需要功能安全?
3.认识标准《ISO26262》。
4.怎么评估ASIL 等级?
5.功能安全怎么做(措施)?
6.参考资料
1.什么是功能安全FS?
(1)功能安全的发展过程
20世纪以来工业革命给人类的生产和生活带来了天翻地覆的变化,尤其是进入70年代,半导体器件的广泛使用,把世界推入了电气化时代。
工业文明在给人类带来利益的同时,也带来了灾难。全世界每年死于工伤事故和职业病危害的人数约为200万,是人类最严重的死因之一。为了实现安全的生产,各种各样的安全系统应运而生。早期的安全系统基本由继电器组成,随着半导体技术的发展,将PLC等控制器应用于安全相关系统的内在驱动力越来越强。但是,由于对安全相关系统的认识局限,直到九十年代,任然有许多标准中排斥微控制器的使用,如IEC 60204中还要求,不要将电子技术用于机械安全相关系统。
在这种背景下,欧洲与美国分别在两个领域开始了相关的研究与标准制定。其中欧洲是在机械安全领域,美国是在过程工业领域。德国在九十年代发布了标准DIN V “控制技术,测量和控制设备必须考虑的基本安全”,随后发布了标准DIN V VED 0801安全相关系统的计算机原理。美国仪表协会在1996年发布了ISA $ 84.01《过程工业安全仪表系统的应用》,并第一次提出了SIL(安全完整性)概念。
接下来,国际电工委员会(IEC)于1998年发布IEC61508-1,并于2000年完整发布IEC61508,标志着功能安全正式形成共识,成为独立的研究领域。
IEC61508发布后,各个行业随之推出行业内的功能安全标准,包括铁路相关标准EN50126/128/129;过程工业标准IEC61511;机械工业标准IEC62601;核工业标准61513等。
但是,功能安全一直是隐藏在各个产品与系统背后的一门学科,直到近年来由于汽车自动驾驶的飞速发展,自动驾驶系统安全性的问题才将功能安全带入公众的视线。
(2)什么是功能安全(Functional Safety)
Absence of unreasonable risk due to hazards caused by malfunctioning behavior of E/Esystems.
不存在由电子电气系统的故障行为导致的危险所造成的不合理的风险。
定义分解
Risk
Combination of the probability and extent of damage
伤害发生的可能性和伤害程度的综合,既要考虑风险发生的概率又要考虑其带来伤害的严重程度。
Unreasonable
根据有效的社会道德观念,在特定情况下被判定为不可接受的风险。比如车辆在正常行驶时安全气囊弹出,这显然是不合理的风险。
Damage
Harm to persons 对人的伤害
功能安全讨论的伤害是对人身健康及生命造成的伤害。
另外很重要的一点是功能安全讨论的是电子电气系统故障导致的风险,如果是机械问题带来的风险则不是功能安全的范畴。
功能安全是一个复杂而庞大的体系,涉及的内容多而繁杂,而要理解功能安全的端到端、全系统和全生命周期的科学理论与方法,首先了解和掌握上述的基本概念是非常必要的。
2.为什么需要功能安全?
最近几年,汽车功能安全的热度似乎越来越高,一方面体现了我们对汽车安全问题的重视程度越来越高。另一方面,由于汽车上的ECU数量和代码行数与日俱增,整个汽车系统的复杂性也越来越高,功能安全已经成为一个不能忽视的问题。总的来说,引入功能安全有以下几个主要原因:
由于安全问题引起的车辆召回率的快速增长;
新能源车引入的复杂的能量管理系统(复杂系统具有更多的未知性);
大量新技术的使用,传统的机械功能被复杂的ECU所取代;
自动驾驶给车辆安全带来很大的挑战。
3.认识标准《ISO26262》
ISO26262是从电子、电气及可编程器件功能安全基本标准IEC61508派生出来的,主要定位在汽车行业中特定的电气器件、电子设备、可编程电子器件等专门用于汽车领域的部件,旨在提高汽车电子、电气产品功能安全的国际标准。
ISO26262从2005年11月起正式开始制定,经历了大约6年左右的时间,已于2011年11月正式颁布,成为国际标准。中国也正在积极进行相应国标的制定。
安全在将来的汽车研发中是关键要素之一,新的功能不仅用于辅助驾驶,也应用于车辆的动态控制和涉及到安全工程领域的主动安全系统。将来,这些功能的研发和集成必将加强安全系统研发过程的需求,同时,也为满足所有预期的安全目的提供证据。
随着系统复杂性的提高,软件和机电设备的应用,来自系统失效和随机硬件失效的风险也日益增加,制定ISO 26262标准的目的是使得人们对安全相关功能有一个更好的理解,并尽可能明确地对它们进行解释,同时为避免这些风险提供了可行性的要求和流程。
ISO 26262为汽车安全提供了一个生命周期(管理、开发、生产、经营、服务、报废)理念,并在这些生命周期阶段中提供必要的支持。该标准涵盖功能性安全方面的整体开发过程(包括需求规划、设计、实施、集成、验证、确认和配置)。
ISO 26262标准根据安全风险程度对系统或系统某组成部分确定划分由A到D的安全需求等级(Automotive Safety Integrity Level 汽车安全完整性等级ASIL),其中D级为最高等级,需要最苛刻的安全需求。伴随着ASIL等级的增加,针对系统硬件和软件开发流程的要求也随之增强。对系统供应商而言,除了需要满足现有的高质量要求外还必须满足这些因为安全等级增加而提出的更高的要求。
应用
系统安全可以从大量的安全措施中获得,包括各种技术的应用(如:机械,液压,气动,电力,电子,可编程电子元件)。尽管ISO26262是相关于E/E系统的,但它仍然提供了基于其他相关技术的安全相关系统的框架。
ISO26262:
-提供了汽车生命周期(管理,研发,生产,运行,服务,拆解)和生命周期中必要的改装活动。
-提供了决定风险等级的具体风险评估方法(汽车安全综合等级,ASILs)
-使用ASILs方法来确定获得可接受的残余风险的必要安全要求。
-提供了确保获得足够的和可接受的安全等级的有效性和确定性措施。
功能安全受研发过程(包括具体要求,设计,执行,整合,验证,有效性和配置),生产过程和服务流程以及管理流程的影响。
安全事件总是和通常的功能和质量相关的研发活动及产品伴随在一起。ISO26262强调了研发活动和产品的安全相关方面。
ISO26262主要用于安装在最大毛重不超过3.5吨的乘用车上的一个或多个E/E系统的安全相关系统。ISO26262唯一不适用于为残疾人设计的特殊目的车辆的E/E系统。系统研发早于ISO26262出版日期的,也不在标准的要求之内。ISO26262表述了由E/E安全相关系统,包括这些系统的互相影响,故障导致的可能的危险行为,不包括电击,火灾,热,辐射,有毒物质,可燃物质,反应物质,腐蚀性物质,能量释放及类似的危险,除非这些危险是由于E/E安全相关系统故障导致的。
行各业都会制定标准,指导未来发展并限定最低准入门槛。在汽车电子行业,这一标准就是
ISO 26262,它将功能安全定义为:
“避免因电气/电子系统故障而导致的不合理风险”。
不同领域的标准并不完全一致,例如针对电气和电子系统的IEC 61508以及飞行器电子硬件的DO-254都有各自的定义方式。更需值得注意的是,它们都拥有专用术语,并提供了包括目标参数在内的工程研发指导。因此,开始产品研发前确定目标市场并制定合适的流程至关重要,因为中途修改研发流程必然会导致效率低下。图1展示了硅片IP的不同应用标准。实际操作中,如果需要满足多套标准,则可以求同存异,先列出专属需求,再执行质量管理等通用准则;最一开始就要做到安全第一。
4.怎么评估ASIL等级?
了解功能安全,首先要了解失效。以一个控制系统为例,无论它应用在工控领域,轨道交通领域还是汽车领域,控制系统都是由软件和硬件组成。对于硬件,属于实实在在的有形产品,随着时间的推移,它会逐步老化,在这个过程中会产生随机失效,由一个最底层元器件的随机失效,可能引发整个模块、设备、系统层面的失效,最终产生危险输出,发生事故。
对于软件,它属于无形产品,软件人员能力,需求和设计过程,测试的情况都会影响最终软件的质量,这些不可量化的失效统称为系统性失效,世界上没有绝对完美的软件代码,优质的软件也不过每千行代码平均20个左右BUG,这些BUG都像一枚枚炸弹隐藏在软件代码之中,当运行环境、外部或内部条件达到触发条件时,便会一触即发,在系统中造成巨大的负面影响,可能最终导致事故的发生。因此功能安全的使命就是尽可能的降低随机性失效和系统性失效,将风险降到可接受的范围内。
安全完整性等级
风险到底在什么范围内是可接受的呢?功能安全专业上通过安全完整性等级SIL或ASIL来区分。在工控领域、轨道交通领域和汽车领域里安全完整性等级分类定义有所差别:
功能安全包括技术和管理两部分,覆盖产品生命周期的每一个环节。功能安全技术包括逐层细化的功能安全分析,架构层面的功能安全方案设计,硬件的安全设计与随机失效的定量计算,软件的功能安全设计与防护,测试技术的充分运用。功能安全管理包括功能安全管理、配置管理、质量管理、变更管理等内容。
5.功能安全怎么做(措施)?
(1)功能安全相关管理
1、配置管理:功能安全一定要进行完善的配置管理,包括文件管理、版本管理、基线管理。
2、安全管理:在项目之初需要制定安全计划,项目过程中需要执行安全评审、安全认可、安全审计、安全评估、危害的管理、安全应用条件的管理、安全验证与确认的管理等一系列活动,最终需要通过安全例证给出安全性的证明。
3、质量管理:功能安全项目需要通过人员能力保证和开发流程保证确保系统性失效的降低,因此在质量管理过程中需要进行人员资质评估,流程管理,质量审计。
4、变更管理:功能安全产品进行变更时需要进行完善的变更管理,执行变更影响分析,按照规范的变更流程开展变更活动。
(2)功能安全专业技术
1、定性的安全分析:逐层深入的功能安全分析,包括功能、接口、系统设计、硬件、软件、生产和操作层面,可采用HAZOP,FMEA,FTA等专业方法,但每一层面的分析都应深入技术、深入设计之中,定性的安全分析与设计开发是相辅相成的关系,随着设计的深入,安全分析逐步深入,同时安全分析的成果又指导设计执行,让系统实现充分的功能安全防护。
2、定量的安全分析:定量的安全分析主要是对架构和硬件的度量,基于架构计算诊断覆盖率,基于硬件元器件计算失效率,最终计算系统的随机失效是否满足安全目标。
(3)功能安全开发技术
1、系统功能安全技术:系统层面需要从功能安全的角度出发,设计安全的系统架构,继承安全分析输出的安全需求,实现各种防护机制。例如在系统层面上考虑对输出增加独立的监测,发现错误应能够有效切断输出。
2、硬件功能安全技术:在硬件设计上需要考虑功能安全技术要求,在硬件上实现功能安全防护设计。例如在硬件设计上注意功能实现电路与安全机制电路之间的电气独立性,冗余设计之间的物理独立性;在硬件元器件选型时需要考虑功能安全因素,对于独立承担关键安全功能的复杂集成器件,应选择经过第三方安全认证的型号。并且要考虑元器件的随机失效率是否满足要求。
3、软件功能安全技术:考虑功能安全技术要求,在软件设计与实现上进行功能安全防护。例如软件代码编写应采用防御性编程,对入参类型、边界值进行检查;故障时采用向前恢复或向后恢复技术;软件上要对关键安全功能相关内容进行内存保护;对软件任务进行时间保护和顺序监测。
总之,功能安全开发技术是深入到技术中对功能安全进行防护,实现故障导向安全的原则。
(4)功能安全测试技术
1、单元测试:包括软件代码的语句覆盖测试、分支覆盖测试、MC/DC覆盖测试等,要保证对代码的测试充分,降低系统性失效。
2、集成测试与确认测试:针对系统、软件、硬件的功能、接口进行逐层测试,并且考虑功能安全要求,进行充分的故障插入测试,保证系统在各种故障情况下都能够导向一个安全的状态。
(5)功能安全人员角色
功能安全贯穿项目的每一个环节,需要每一个角色人员的参与。在实际功能安全项目中,精通技术研发又精通功能安全专业知识的顶尖人才特别稀少,一般项目都是由精通功能安全的专家与精通技术研发的专家,连同各专业工程师,共同配合一起完成。专业的功能安全人员负责对设计开发内容执行功能安全分析,输出安全需求以供设计开发实现,并对实现过程进行功能安全管理。技术人员负责执行具体的设计开发活动,实现功能安全要求,确保安全防护落实细节正确可靠。
(6)功能安全事故警示
前面介绍了功能安全技术与功能安全管理的全部内容,那么有必要一定按照这些要求执行功能安全相关项目吗?我们先看两个比较典型的功能安全事故:
1、 轨道交通行业7.23甬温线动车相撞事故。
2011年7月23日甬温线温州市境内D301次列车与D3115次列车发生动车列车追尾事故。此次事故造成40人死亡、172人受伤、中断行车32小时35分,直接经济损失19371.65万元。经过国务院“7•23”甬温线特别重大铁路交通事故调查组的调查分析,最终报告指出列控中心设备存在严重设计缺陷,且上道使用审查把关不严,雷击导致设备故障后应急处置不力导致最终事故发生。
2、 汽车行业丰田刹车致死事故
2007年9月,美国一名女士开着自己的丰田凯美瑞载着好朋友在高速公路行驶过程中,汽车失去控制,无法刹车,最终导致车内两人一死一重伤。经过多轮曲折的事故调查,对丰田凯美瑞的28万行软件代码进行深入分析,最终负责事故调查的专家团队给出800页的事故调查分析报告,证明丰田汽车软件代码中存在致命缺陷,从而导致事故的发生。
类似事故举不胜举,这些事故都不是天灾而是人祸,正因为对功能安全的漠视与忽略,最终酿成悲剧的发生,导致无数的无辜生命陨落。
6.参考资料:
1) 史学玲,功能安全标准的历史过程与发展趋势,安全控制技术,2006.2
2) Jatinder (JP) Singh,功能安全的重要性,中国电子商情,2018.10
3) GB∕T 20438.4-2017 电气∕电子∕可编程电子安全相关系统的功能安全 第4部分:定义和缩略语
4) 冯晓升,功能安全技术讲座第一讲功能安全基本概念的建立,仪器仪表标准化与计量,2007.1
5)《ISO26262》
6) 知乎:吴丹丹Dandi