在功能安全开发的过程中,为达到相应的ASIL等级的要求,可以采取很多措施提高系统的可靠性和硬件相关的度量指标。这里面包括但不限于系统自检、输入信号有效范围检测、电源电压监测、冗余和看门狗等。更多的措施可以参考ISO26262标准。这里想从采用冗余技术的系统的可靠性计算,来看如何对系统的可靠性进行量化,并对比一下系统冗余和组件冗余的区别。
计算可靠性之前先来看两个概念。首先来看失效率,失效率定义为单位时间(每小时)内失效的元件数与元件总数的比例,一般用λ表示。每个元件都会对应有一个失效率,通常失效率λ是常数。清楚了失效率再来看可靠性。可靠性定义为从t=0时刻到t时刻,这段时间内系统能正常运行的概率。可靠性是个概率值,一般用R(t)表示,其是一个与t有关的变量。可靠性与失效率成指数关系,可以用R(t)=e-λt 来表示。有了这个两个定义就可以进行系统的可靠性计算了。
我们常见的系统主要是由两种基础系统结构组成,即串联系统和并联系统。一个系统最终可细分为多个串联和并联系统的混合,对于系统的可靠性计算也是综合两种系统的结果。为了计算系统的可靠性,首先需要先来看串联系统和并联系统各自的可靠性计算。
图1串联系统的可靠性
串联系统组成如上图。从图中可以看出,串联系统的信息流是以串联的形式贯穿系统的输入到输出的,并且在每个子系统作为其中一个节点。这就是说串联系统正常工作需要其所有的子系统都正常工作。如果有一个子系统出现故障,整个系统就不工作。很容易理解串联系统的可靠性就是各子系统可靠性的乘积,即串联系统的可靠性R=R1*R2*…*Rn。
每个子系统的可靠性都不可能是100%,也就是Ri<1。这样所有子系统可靠性的乘积结果小于每个子系统。也就是说串联系统随着子系统的增加,系统的失效率越来越高,可靠性越来越低。
图2并联系统的可靠性
看并联系统。并联系统的各子系统在系统的同一个节点的位置是并联关系,也就是系统的一个节点上有多个子系统同时工作。对于系统而言,只有并联的所有子系统都发生故障,系统才会不能正常工作。计算并联系统的可靠性,可以先计算系统故障的概率,就是所有子系统都发生故障的概率为(1-R1)*(1-R2)*(1-Rn)。系统的可靠性R=1-(1-R1)*(1-R2)*(1-Rn)。
从公式可以看出,并联系统的子系统数量越多,系统的可靠性就越高。如果数量足够多,系统的可靠性甚至可以接近1。但这样从成本上肯定是不值得的。
有了串联系统和并联系统的计算方法,我们就可以计算混合系统的可靠性了。在前面的文章里提到过系统的冗余有两种方式,分别是系统冗余和组件冗余。用串并联系统分析,系统冗余是两个大的串联系统并联后组成,组件冗余是多个并联子系统串联组成。这样两种系统的可靠性就可以通过最基础的串并联系统的可靠性组合算出。
以下为了简单对比,对子系统的可靠率都取0.9。可以计算出Rsys=0.927,而Rcom=0.97。从这个结果可以看出,相同条件下,组件冗余的可靠性要高于系统冗余。
图3冗余系统可靠性
上面的计算仅是为了有个直观印象进行的单纯理论计算。实际在功能安全开发中,根据不同ASIL等级的要求,同时综合产品成本以及技术难度等,最终采取的系统设计方案也不会是单纯的系统冗余或者组件冗余,而是更复杂的组合,两种设计方法都会综合使用。
对比中我们直接计算了系统的可靠性,通过R(t)=e-λt 也可以看出失效率也可以直接反应同一时间点的系统可靠性。在功能安全开发中,标准对产品硬件指标采取了失效率(PMHF或者割集分析)的指标来衡量系统的可靠性。这个指标是对随机硬件失效导致违反安全目标的残余风险的量化,其基于所有安全相关的最基本硬件元件的失效率,计算过程也是通过可靠性概率的方法。最终得到的是整个系统的随机硬件失效率。
表1 随机硬件失效率目标值
ASIL B |
ASIL C |
ASIL D |
<10-7h-1 |
<10-7h-1 |
<10-8h-1 |
已完成
数据加载中