1. ISO26262概述:功能安全背景、标准体系结构与ASIL等级
1.1 为什么我们需要功能安全?
先聊点背景。你想想看,十年前的车,电子系统出个故障,最多是收音机不响了、车窗升不上去。现在的车呢?线控转向、自动紧急刹车、车道保持——电子系统直接控制方向盘和刹车踏板。
这意味着什么?一个软件bug,可能让车在高速上突然刹车,或者在弯道里失去动力。这不是死机重启的问题,这是人命关天的事。
我2015年参与过一个ADAS项目,当时团队对功能安全还没那么重视。结果呢?路试时摄像头误检,车辆在空旷路段突然急刹,后车差点追尾。从那以后,我深刻理解了一件事:功能安全不是锦上添花,是底线。
核心观点:功能安全的目标是——当系统发生故障时,要么把风险降到可接受水平,要么让系统进入安全状态。不是保证不出错,而是保证出错后不出事。
1.2 ISO26262标准体系结构
ISO26262脱胎于工业领域的IEC61508,专门为汽车电子电气系统量身定制。2011年发布第一版,2018年更新到第二版。我个人习惯把它的结构想象成一栋楼:
标准分12个部分。Part 1到Part 9是核心,Part 10到Part 12是补充。我建议你重点吃透Part 3到Part 6,这是产品开发的主线。
我的经验:刚接触ISO26262时别试图一口气读完所有部分。先看Part 3(概念阶段)和Part 6(软件开发),这两个是项目中最常被审计的部分。Part 8和Part 9是工具书,遇到具体问题再翻。
1.3 ASIL等级——功能安全的核心度量
ASIL,全称Automotive Safety Integrity Level,汽车安全完整性等级。说白了,就是给系统的风险程度打分。
ASIL分四个等级:ASIL A、ASIL B、ASIL C、ASIL D。A是最低,D是最高。还有一个QM(Quality Management),意思是风险低到不需要额外安全措施,按普通质量管理做就行。
| ASIL等级 | 风险程度 | 典型应用场景 | 开发工作量(相对) |
|---|---|---|---|
| QM | 可忽略 | 车窗升降、车内照明 | 1x |
| ASIL A | 轻度 | 尾灯、信息娱乐 | 2-3x |
| ASIL B | 中度 | 雨刮、仪表盘 | 4-6x |
| ASIL C | 重度 | 自适应巡航、自动大灯 | 8-10x |
| ASIL D | 极度 | 制动、转向、安全气囊 | 12-15x |
ASIL等级怎么定的?标准里给了三个参数:
- 严重度(Severity, S)——事故造成伤害的程度。分S0(无伤害)到S3(致命)。
- 暴露率(Exposure, E)——危险场景发生的概率。分E0(几乎不)到E4(非常高)。
- 可控性(Controllability, C)——驾驶员能否避免事故。分C0(完全可控)到C3(几乎不可控)。
三个参数组合查表,就得到ASIL等级。举个例子:
- 刹车失灵:S3(致命)、E4(经常遇到)、C3(几乎不可控)→ ASIL D
- 雨刮不工作:S1(轻伤)、E3(偶尔)、C1(容易控制)→ ASIL A
避坑指南:我曾经见过一个团队,把ESP系统的ASIL等级定成了B。理由是“驾驶员可以自己控制”。但仔细分析后发现,在冰雪路面上,ESP失效时驾驶员几乎无法控制车辆。最终改成了D。记住:可控性评估要基于最坏情况,别想当然。
1.4 ASIL分解——把大问题拆小
ASIL D的要求非常高,开发成本也高。有没有办法降低单个模块的等级?有,这就是ASIL分解。
核心思想:把一个高ASIL需求,分解到多个独立元素上。每个元素承担一部分安全责任,等级自然就降下来了。
举个例子:一个ASIL D的刹车系统,可以分解为:
- 主控制器:ASIL C
- 冗余控制器:ASIL C
两个ASIL C加起来,通过独立性保证,可以满足ASIL D的要求。注意:分解的前提是独立性——两个模块不能有共因失效。
| 原始ASIL | 分解方案1 | 分解方案2 | 分解方案3 |
|---|---|---|---|
| ASIL D | ASIL C(D) + ASIL C(D) | ASIL B(D) + ASIL B(D) + ASIL B(D) | ASIL D + QM(D)(不推荐) |
| ASIL C | ASIL B(C) + ASIL B(C) | ASIL A(C) + ASIL A(C) + ASIL A(C) | — |
| ASIL B | ASIL A(B) + ASIL A(B) | ASIL A(B) + QM(B) | — |
| ASIL A | QM(A) + QM(A) | — | — |
我的建议:ASIL分解虽然能降低成本,但会增加系统复杂度。我一般只在ASIL D或C的项目中使用分解。ASIL B以下,直接按原等级开发更省事。分解后的独立性论证,审计时查得很严。
1.5 本章小结
这一章我们聊了三件事:
- 功能安全背景——为什么需要它,它解决什么问题
- 标准体系结构——ISO26262的12个部分怎么组织,重点看哪些
- ASIL等级与分解——怎么定级,怎么拆解