第3章 ASIL等级定义:A/B/C/D的划分依据与量化指标

ASIL,全称是Automotive Safety Integrity Level,汽车安全完整性等级。说白了,它就是功能安全里最核心的那个“标尺”。

我经常跟团队里的年轻人讲,ASIL不是拍脑袋定的,它背后有一套严谨的逻辑。你设计的系统到底该做到多安全?不是老板说了算,也不是客户说了算,而是风险说了算。

3.1 ASIL的四个等级

ISO 26262定义了四个等级:ASIL A、B、C、D。还有一个QM(Quality Management),意思是“按质量管理做就行,没有额外安全要求”。

等级越高,要求越严。ASIL D是最严格的,比如刹车、转向这类系统。ASIL A相对宽松,比如一些简单的灯光控制。

等级 风险程度 典型系统举例
QM 无安全风险 信息娱乐系统、车窗升降
ASIL A 低风险 尾灯、内部照明
ASIL B 中等风险 雨刮器、仪表盘显示
ASIL C 较高风险 自适应巡航(ACC)、自动紧急制动(AEB)部分功能
ASIL D 最高风险 线控制动、线控转向、安全气囊
我的经验: 别小看QM。我见过一个项目,把QM的系统随便改了改就往上堆功能,结果触发了安全机制。记住,QM只是“不需要按26262开发”,不代表“可以随便搞”。

3.2 划分依据:三个核心参数

ASIL怎么定?靠三个参数:严重度(Severity)、暴露概率(Exposure)、可控性(Controllability)。合起来叫“SEC”。

你想想看,一个危险事件发生了,后果有多严重?发生的频率高不高?驾驶员能不能躲开?这三个问题回答完,ASIL就出来了。

3.2.1 严重度(S)

指人员受伤的严重程度。分S0、S1、S2、S3四级。

  • S0:无伤害
  • S1:轻伤(比如擦伤、淤青)
  • S2:重伤(比如骨折,但能活)
  • S3:致命伤(生命危险)

3.2.2 暴露概率(E)

指危险场景发生的概率。分E0到E4五级。

  • E0:几乎不可能
  • E1:很少发生(一年几次)
  • E2:偶尔发生(每月几次)
  • E3:经常发生(每周几次)
  • E4:几乎每次驾驶都会遇到

3.2.3 可控性(C)

指驾驶员或其他人员能否控制住局面。分C0到C3四级。

  • C0:完全可控
  • C1:简单可控(多数人能应对)
  • C2:一般可控(部分人可能失控)
  • C3:难以控制(几乎无法避免)
关键点: ASIL等级 = f(S, E, C)。三个参数组合查表,得到最终等级。不是简单相加,是查表。

3.3 ASIL等级查表

ISO 26262第3部分给出了一个矩阵。我把它简化成下面这张表,你一看就明白。

S E C1 C2 C3
S1 E1 QM QM QM
E2 QM QM ASIL A
E3 QM ASIL A ASIL B
S2 E1 QM QM ASIL A
E2 QM ASIL A ASIL B
E3 ASIL A ASIL B ASIL C
S3 E1 ASIL A ASIL B ASIL C
E2 ASIL B ASIL C ASIL D
E3 ASIL C ASIL D ASIL D
避坑指南: 我曾经遇到一个团队,把E4场景直接当E3用,结果ASIL等级定低了。后来FMEA评审时被安全专家揪出来,整个项目返工。记住,暴露概率不能拍脑袋,要有数据支撑。

3.4 量化指标:SPFM、LFM、PMHF

ASIL等级定下来之后,怎么衡量“够不够安全”?靠三个量化指标。

  • SPFM(Single-Point Fault Metric):单点故障指标。衡量系统对单点故障的覆盖能力。
  • LFM(Latent Fault Metric):潜伏故障指标。衡量系统对潜伏故障的检测能力。
  • PMHF(Probabilistic Metric for Random Hardware Failures):随机硬件故障概率指标。单位是FIT(Failures In Time,每10^9小时故障数)。

说白了,SPFM和LFM是“覆盖率”,PMHF是“失效率”。

ASIL等级 SPFM LFM PMHF(FIT)
ASIL A — — ≤ 1000
ASIL B ≥ 90% ≥ 60% ≤ 100
ASIL C ≥ 97% ≥ 80% ≤ 100
ASIL D ≥ 99% ≥ 90% ≤ 10
我的习惯: 做安全分析时,我会先算PMHF。如果PMHF超标,再回头查SPFM和LFM。这样能快速定位问题出在“随机失效”还是“系统覆盖”上。

3.5 ASIL分解

有时候一个功能要求ASIL D,但单个硬件做不到。怎么办?分解。

ASIL D可以分解成:ASIL D(D) + ASIL D(D),或者ASIL C(D) + ASIL B(D),等等。括号里的D表示“继承自ASIL D”。

举个例子:一个ASIL D的刹车信号,可以拆成两个独立通道,一个做ASIL C,一个做ASIL B。两个通道互相冗余,合起来满足ASIL D。

注意: 分解不是“降级”。分解后的每个部分仍然要按自己的ASIL等级开发。只是整体上,通过冗余和独立性,达到更高的安全目标。

3.6 知识结构图

下面这张图,把ASIL的划分逻辑串起来了。我建议你多看几遍,理解SEC参数怎么组合出等级,等级又怎么对应量化指标。

ASIL等级划分逻辑图 ASIL等级划分逻辑 严重度 S S0 ~ S3 暴露概率 E E0 ~ E4 可控性 C C0 ~ C3 SEC组合查表 S × E × C → ASIL等级 ASIL A / B / C / D 或 QM 量化指标:SPFM / LFM / PMHF 不同ASIL等级对应不同目标值 说明:SEC三个参数组合查表得到ASIL等级,再对应到SPFM、LFM、PMHF三个量化指标

3.7 实际项目中的ASIL分配

我参与过一个线控制动项目,目标ASIL D。刚开始团队觉得“D就D呗,按最高标准做”。结果发现成本、开发周期都扛不住。

后来我们做了ASIL分解:主控通道ASIL C,监控通道ASIL B,再加上诊断覆盖。最终整体满足ASIL D,但每个模块的开发难度降下来了。

嗯,这里要注意:分解不是万能的。如果两个通道共用同一个电源、同一个时钟,那独立性就没了。我见过一个案例,两个通道的代码都跑在同一颗MCU上,结果一个故障把两个通道都带崩了。这种分解,等于没分。

避坑指南: 我曾经在评审时发现,有人把ASIL D分解成两个ASIL B,然后两个B模块共用同一个传感器。这不行。分解的前提是“独立性”——硬件独立、软件独立、甚至开发团队独立。

3.8 小结

ASIL等级不是终点,是起点。它告诉你“要做到多安全”,但没告诉你“怎么做”。后面的章节,我们会一步步拆解怎么做。

记住三个关键词:SEC参数、查表、量化指标。这三个东西,贯穿整个功能安全开发流程。