时间:2026-03-30 09:12:44 作者:超级管理员 浏览量:100
开始阅读之前强烈建议参考之前系列文章:
01 - 汽车功能安全(ISO 26262)系列 - 开篇02 - 汽车功能安全系列之概念阶段开发 - Item Definition & HARA03 - 汽车功能安全(ISO 26262)系列: 概念阶段开发 - 功能安全需求及方案(FSR&FSC)
04 - 汽车功能安全(ISO 26262)系列: 系统阶段开发 - 技术安全需求(TSR)及安全机制05 - 汽车功能安全(ISO 26262)系列: 系统阶段开发 - 技术安全方案TSC及安全分析06 - 汽车功能安全(ISO 26262)系列: 系统阶段开发 - 系统安全架构07 - 汽车功能安全(ISO 26262)系列: 硬件开发 - 硬件安全需求,安全设计及安全机制
在硬件安全开发阶段,由于硬件随机失效的存在,除按照传统V模型,对硬件相关的安全需求,安全架构及实现等进行开发外,还需对硬件随机失效进行概率化度量,包括对硬件架构的度量和硬件随机失效的评估这两大方面,它们二者从不同的角度通过概率化分析手段,确保硬件安全机制对系统单独类型和整体随机硬件失效的有效性及导致违背安全目标的残余风险足够低。
针对硬件概率化度量,主要包括以下内容:
· 硬件随机故障基本类型
· 硬件随机失效率
· 硬件架构的度量
· 硬件随机失效的评估
· FMEDA计算
鉴于内容较多,今天我们先聊前四部分,主要是硬件随机失效概率化度量相关的背景及容易误解的知识,具体实施和计算,即FMEDA我们留在下篇继续。
硬件随机故障基本类型
为方便理解,在具体谈硬件概率化度量前,我们先来看看硬件随机失效的基本模式:
由上图可知,ISO 26262将硬件随机故障失效模式,按照发生故障的数目,是否可以被探测以及感知进行了分类,其主要特点总结如下:
单点故障
─ 某个器件单独导致功能失效的故障。
─ 单点故障可直接导致违背安全目标。
─ 单点故障意味着没有任何安全机制,否则不能归类为单点故障。
残余故障
─ 安全机制无法覆盖的那部分故障(没有100%覆盖率的安全机制,如果一个安全机制覆盖率为90%,那剩余的10%则属于残余故障)。
─ 残余故障可直接导致违背安全目标。
─ 残余故障至少存在一个安全机制。
潜在故障
─ 既不被安全机制所探测,又不被驾驶员感知的故障。
─ 系统保持正常工作至所有独立故障发生。
─ 潜在故障可直接导致违背安全目标。
可探测的故障
─ 通过安全机制可探测到的那部分故障。─ 通过安全机制探测到故障并进行显示。
可感知的故障
─ 可以被驾驶员感知的故障。─ 可以有或者无安全机制进行探测。
双点故障
─ 两个独立的故障同时发生才会违背安全目标,则这两独立的故障属于双点故障。
─ 某故障和其对应的安全机制失效属于常见的双点故障。
─ 双点故障又细分为可探测的双点故障、可感知的双点故障以及潜伏的双点故障。
安全故障
─ 不会导致违背安全目标的故障,例如某指示灯显示故障,但不影响其正常功能。
─ 三点及以上的故障通常也被认为是安全故障(一般发生概率较低且所对应的安全机制过于复杂,所以归类为安全故障)。
更多详细介绍可以直接参考ISO 26262-10:2018第8部分。
02
硬件随机失效率
为了对硬件随机失效进行量化,引入了硬件随机失效率λ,其定义为:
失效率是指元器件在单位时间内发生失效的概率,记为λ,一般以小时(h)作为时间计量单位,所以其单位为: 次/h。
考虑到电子元器件失效率极低,所以一般采用FIT (Failures In Time) 来计量,1 FIT=1次失效/10^9 h。
例如: 某电阻失效率λ=2 FIT,即该电阻在10^9 h内存在两次失效。
不知道朋友们有没有想过,既然电子元器件的失效和自身老化相关,那它的失效率为什么是常数,而不是随时间变化的?
为了回答这个问题,我们先来看看电子元器件的生命周期特性。电子元器件的生命周期非常符合浴盆曲线(Bathtub Curve),如下图所示:

有图可知,电子元器件整个生命周期大致可以分为三个阶段:
· 第一阶段: 早期故障期,即磨合期,该阶段故障多属于系统性故障,和设计,制造相关,故障率相对较高。
· 第二阶段: 偶然故障期,即有用寿命期,该阶段是电子元器件正常使用周期,持续时间长,失效率低且较稳定,设计无法消除,属于随机硬件故障,ISO26262 中硬件量化指标就是针对该阶段失效率的评估。
· 第三阶段: 耗损故障期,上随着电子元器件使用寿命到期,故障率随之上升。
因此,在ISO 26262中查到的是恒定值,而不是一个时间函数。
那么怎么获取电子元器件的失效率呢?一般来讲可以通过以下三种方式获得:
1 历史数据: 根据已有或相似产品,预估新产品的失效率,但全新的产品没有历史数据可参考。
2 测试: 属于最真实和最准确的数据来源。但测试周期长,成本高。
3 行业公认的标准: 根据SN29500, IEC 62380等行业公认的标准和指南中提供的可靠性预估算法计算。
硬件的架构度量
硬件架构的度量, 用于评估相关项架构应对单独类型的随机硬件失效的有效性。由于硬件随机故障中,单点故障、残余故障和潜伏故障会直接导致安全目标的违背或实现有显著影响,所以硬件架构概率度量包含以下两个方面:
· 单点故障度量(single-point fault metric):
1 单点故障度量反映硬件安全机制或设计对单点和残余故障的覆盖是否足够。
2 高单点故障度量值表示相关项硬件单点和残余故障所占比例低,系统可靠性高。
计算公式:

即: SPFM=1 - (单点故障总和+残余故障总和) / (所有和安全相关失效率总和)
其中:
─ λSPF: 单点故障失效率,λRF,est: 估算的残余故障的失效率,λDC,RF: 残余故障的诊断覆盖率。
· 潜伏故障度量(latent-fault metric-LFM):
1 潜伏故障度量反映硬件安全机制和设计对潜伏故障的覆盖是否足够。
2 高潜伏故障度量值表示硬件潜伏故障所占比例低,系统可靠性高。
计算公式:

即: LFM=1 - (所有潜伏故障总和) / (所有和安全相关失效率总和 - 单点故障总和 - 残余故障总和)
其中:
─ λMPF,L,est: 潜伏故障的估算的失效率,λDC,MPF,L: 潜伏故障的诊断覆盖率。
─ 由于λ=λSPF+λRF +λMPF +λS,所以残余故障多为双点或多点故障MPF。
此外,硬件架构度量取决于相关项的整体硬件,都应符合规定的硬件架构度量的目标值:
针对ASIL (B)、C或D的安全目标,对于每一个安全目标,“单点故障度量”的定量目标值应基于下列参考目标值来源之一:

针对ASIL (B)、(C)或D的安全目标,对于每一个安全目标,“潜伏故障度量”的定量目标值应基于下列参考目标值来源之一:

需要注意的是:
1 硬件架构的度量是针对于相关项的整体硬件,非一个单独的硬件部件,需要考虑所有相关硬件的失效率。
2 度量指标,即SPFM和LFM,均属于相对值,即百分值%。
硬件随机失效的评估
随机硬件失效的评估旨在从硬件整体设计的角度,即综合考虑不同类型硬件随机失效,确保硬件系统安全机制和设计的有效性。ISO 26262对这一评估推荐了两个方法:
· 方法一: 使用概率的绝对值的度量, 即随机硬件失效概率度量(probabilistic metric for random hardware failures, PMHF),通过使用定量分析方法计算PMHF,其结果与目标值相比较的方法,评估是否违背所考虑的安全目标。
· 方法二: 独立评估每个单点和残余故障及每个双点故障是否导致违背所考虑的安全目标。
一般在实际应用中都采用第一种方法,即PMHF。关于PMHF计算公式网上有很多误解,在ISO 26262-10:2018,第8.3章节增加了有关PMHF计算的进一步解释。一般来讲,PMHF通用化计算公式如下:
PMHF=∑λSPF + ∑λRF + ∑λDPF_det × λDPF_latent × TLifetime
其中:
─ λSPF: 单点故障的失效率,λRF: 残余故障的失效率,λDPF_det: 双点故障的可探测失效率,λDPF_latent: 双点故障的潜伏失效率。
─ TLifetime: 车辆生命周期。
需要注意的是:
1 PMHF表示在汽车运行周期中每小时平均失效概率,包括了对单点失效,残余失效,可探测的以及残余的双点失效的综合量化衡量。
2 PMHF单位为FIT,属于失效率绝对值度量,而硬件架构度量指标SPFM,LFM单位为%,属于相对值度量。
3 除基本硬件随机基本故障的失效率以外,PMHF还需要考虑车辆生命周期(TLifetime)。
4 对于双点故障(A,B),最常见的组合是功能故障A和对应的安全机制B,当故障A发生且不被安全机制B探测,并不会立刻违背安全目标;但如果安全机制B也发生故障,将违背安全目标。
很对朋友搞不清楚为什么双点故障失效率计算是λDPF_det, λDPF_latent, TLifetime这三个因素的乘积?
其实该公式已经属于简化后的计算公式,在ISO 26262-10:2018对典型的双点故障不同的失效模式进行了分析,一共包含了4个Patterns,功能发生故障A且对应的安全机制B潜伏这种Pattern下,双点故障会在整个车辆生命周期永久潜伏,影响最大,因此故障A和故障B组合违背安全目标的每小时平均失效概率为λDPF_det, λDPF_latent, TLifetime这三个因素的乘积,双点故障失效计算因此也简化为该Pattern下的失效率,具体见ISO 26262-10:2018。
如果这部分数值较小,则可忽略,这也是为什么在很多计算中没有考虑这部分的原因。
此外,虽然失效率λ和PMHF单位均为FIT,属于绝对值度量,但二者意义完全不同,主要体现在以下几点:
· 针对级别不同
─ 失效率: 单个硬件组件。
─ PMHF: 整个相关项硬件。
· 代表意义不同
─ 失效率: 表示单位时间内单个硬件组件或零部件发生故障的次数或概率。
─ PMHF: 用于衡量硬件安全设计是否足够有效。具体来讲就是,相对于指定的ASIL等级要求,由于相关项的随机硬件故障而导致的安全目标被破坏的风险是否足够低。PMHF并不显示随机硬件故障发生的频率。即便一个硬件组件的故障率很高,但由于良好的硬件架构,包括安全机制,整体的PMHF也可能较低。
此外,随机硬件失效度量取决于相关项整体硬件,需要分析计算不同安全目标对应的PMHF值,并且符合规定的随机硬件失效率度量目标值:针对ASIL (B)、C或D的安全目标,必须为随机硬件失效导致违背每个安全目标的最大可能性定义定量目标值,其使用来源包括以下a)、b)或c):
a) 来自表6;或
b) 来自值得信赖的相似设计原则的现场数据;或
c) 来自应用于值得信赖的相似设计原则中的定量分析技术。

此处需要注意的是:
· 表6提供的PMHF定量目标值只是一种可能性,并不是唯一的依据。
· 这些来源于a)、b)或c)的定量目标值没有任何绝对的意义,仅有助于将一个新的设计与已有设计相比较。其目的是生成硬件可靠性设计指导,并获得设计符合安全目标的可用证据。
· 当没有其他来源可以确定随机硬件故障失效目标值,通常会选择表6提供的目标数据。
FMEDA步骤
FMEDA(Failure Modes Effects and Diagnostic Analysis) 是一种评估系统安全架构和实施的强大方法,多用于硬件定量分析。
和FMEA定性分析不同,FMEDA在FMEA 自下而上的方法论基础上增加了对硬件故障定量化的评估内容,包括模式失效率(Failure rate)、故障模式占比(Failure mode distribution)和对应的安全机制诊断覆盖率(Diagnostic coverage),对FMEA进行扩展从而可以完成定量分析,是计算硬件概率化度量指标的有效手段,其具体流程如下图所示:

具体而言,包括以下几个步骤:
步骤1: 计算失效率
首先,需要根据系统硬件架构,罗列所有硬件单元,为了方便分析和计算,可以对硬件单元按照类型进行分组。
然后,根据行业公认的标准(SN29500, IEC 62380),历史或测试数据,查询各硬件单元失效模式以及对应的失效率分布。此过程可以采用手动模式,或者采用利用相关软件,输入系统硬件单元,进行自动化查询及计算。
例如,控制器硬件ALU算术逻辑单元:
· 它的失效率λ=0.348 FIT,即该电阻在10^9 h内平均存在0.348次失效。
· 它存在三种失效模式: FM1, FM2, FM3。
· 三种失效模式对应的失效分布比例:FM1->25%,FM2->25%,FM3->50%。

步骤2: 识别故障模式
对步骤1中列出的硬件单元进行安全分析,根据故障分析流程图,确定其故障模式是否和功能安全相关以及故障的类型:

· 如果和功能安全无关,则为安全无关的安全故障。
· 如果和功能安全相关,则需要进一步分析,确定其故障的类型,包括单点故障或双点故障等(和功能安全相关的三点及以上的故障也属于安全故障),以及是否存在相应的安全机制。
具体故障类型定义及区别见08篇,不再赘述。
不是所有硬件单元的故障都会导致安全目标的违背,为了方便有效识地识别和功能安全相关的故障以及故障类型,可以采用FTA安全分析方法,对不同安全目标SG进行自上而下的安全分析,识别出违反安全目标的底层事件,根据不同底层事件和安全目标之间的关系,即''与门''和''或门'',就可以基本识别出不同故障类型。
例如,进行最小割集分析,级数为1的最小割集对应的底层事件就是单点故障,级数为2则为双点故障等等,可以由软件直接得到。
当然,也可以将步骤1得到硬件组件的失效率作为FTA底层事件失效数据的输入,利用FTA分析工具,进行故障的识别和后续硬件失效相关的度量计算。
步骤3: 计算诊断覆盖率
根据识别得到的硬件单元实施的安全机制,确定诊断覆盖率数值,在ISO 26262-5:2018附录D中,提供了硬件系统不同组件,包括传感器,连接器,模拟输入输出,控制单元等常见的安全机制以及对应的诊断覆盖率。
一般安全机制诊断覆盖率可以根据相应的公式进行计算,但过程相对比较复杂,所以多采取保守估算方式。
对于给定要素的典型安全机制的有效性,ISO 26262-5:2018附录D按照它们对所列举的故障覆盖能力进行了分类,分别为低、中或高诊断覆盖率。这些低、中或高的诊断覆盖率被分别定义为60%、90%或99%的典型覆盖水平。

继续以ALU为例:
针对故障模式FM2和FM3,在硬件设计中存在相应的安全机制SM1和SM2,其对应的诊断覆盖率分别为90%和60%。
以此方式,计算所有硬件单元的安全机制的诊断覆盖率。
步骤4: 计算量化指标
根据硬件架构度量指标SPFM,LFM以及随机硬件失效评估PMHF计算公式,计算相应的指标。


PMHF=∑λSPF + ∑λRF + ∑λDPF_det × λDPF_latent × TLifetime
具体计算公式见08篇,在此不再赘述。
步骤5: 优化设计
根据步骤4计算结果,对硬件设计可靠性进行综合评估,判定是否满足指定的ASIL等级要求,如果满足则分析结束,否则需要根据计算结果,优化硬件设计,增加新的安全机制或者采用更高诊断覆盖率的安全机制,然后再次进行计算,直至满足安全需求为止。
FMEDA计算实例
虽然在ISO 26262-5:2018附录中已经添加了有关硬件架构度量和随机失效率评估的实例,但由于其过程介绍相对简单,导致很多朋友仍然搞不清楚计算过程,接下来就以其中一个实例为例,介绍如何利用FMEDA进行硬件概率化度量指标的计算过程。
下图为某ECU硬件设计图,针对其安全目标: ''当速度超过 10km/h 时关闭阀1的时间不得长于20 ms''。安全目标被分配为 ASIL C 等级。安全状态为:阀1打开(I61控制阀1)。

针对该安全目标,罗列所有硬件组件,如下表所示,根据FMEDA步骤1至4,分别查询硬件组件失效率,失效模式及分布比例,并计算相应的硬件度量指标。

例如, 对于控制芯片uc而言,其失效率为100 FIT,存在两种失效模式,其分布比例各占50%,只有第一种失效模式和安全相关,第二种失效模式则无需考虑。
由于安全机制SM4的存在,对该硬件组件第一种故障的诊断覆盖率为90%,该硬件组件
单点或残余故障失效率为:
λSPF/RF=100×50%×(1-90%)=5FIT |
由于安全机制SM4还能够对该故障进行探测,防止其成为潜伏故障,其诊断覆盖率为100%,则该硬件组件的双点潜伏故障失效率为:
λDPF_latent=0FIT |
除单点故障,残余故障及双(多)点潜伏故障,剩余的则是可探测双点潜伏故障,则硬件组件的双(多)点故障的可探测失效率为:
λDPF_det=100×50%-λSPF/RF-λDPF_latent=50-5=45FIT |
依此计算所有硬件组件的相关故障失效率,并进行如下统计:
故障失效率 | 数值 |
单点或残余故障总和 | ∑λSPF+∑λRF=5.48FIT |
双(多)点故障潜伏失效率总和 | ∑λDPF_latent=12.8FIT |
双(多)点故障可探测失效率总和 | ∑λDPF_det=69.822FIT |
车辆生命周期 | TLifetime=10000h |
则该ECU硬件整体概率化度量指标计算如下:
SPFM=1-(5.48/157)=96.5% |
LFM=1-[12.8/(157-5.48)]=91.6% |
PMHF=∑λSPF+∑λRF+∑λDPF_latent×λDPF_det×TLifetime=5.48(FIT)+12.80(FIT)x69.822(FIT)×10000(h)=5.489FIT |
根据该安全目标ASIL C,判断其可知,除SPFM没有>=97%外,其他指标均满足相应安全要求,所以该硬件设计基本满足安全目标ASIL C等级需求。当然,也可以对硬件设计进行进一步优化,提高SPFM架构度量值。
