第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 | 最高风险 | 线控制动、线控转向、安全气囊 |
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:难以控制(几乎无法避免)
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 |
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 |
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。
3.6 知识结构图
下面这张图,把ASIL的划分逻辑串起来了。我建议你多看几遍,理解SEC参数怎么组合出等级,等级又怎么对应量化指标。
3.7 实际项目中的ASIL分配
我参与过一个线控制动项目,目标ASIL D。刚开始团队觉得“D就D呗,按最高标准做”。结果发现成本、开发周期都扛不住。
后来我们做了ASIL分解:主控通道ASIL C,监控通道ASIL B,再加上诊断覆盖。最终整体满足ASIL D,但每个模块的开发难度降下来了。
嗯,这里要注意:分解不是万能的。如果两个通道共用同一个电源、同一个时钟,那独立性就没了。我见过一个案例,两个通道的代码都跑在同一颗MCU上,结果一个故障把两个通道都带崩了。这种分解,等于没分。
3.8 小结
ASIL等级不是终点,是起点。它告诉你“要做到多安全”,但没告诉你“怎么做”。后面的章节,我们会一步步拆解怎么做。
记住三个关键词:SEC参数、查表、量化指标。这三个东西,贯穿整个功能安全开发流程。