1. ISO 26262 概述:功能安全背景、标准发展历程、ASIL等级定义与分解

1.1 为什么我们需要功能安全?

先聊点实际的。你想想看,一辆车上现在有多少个电子控制单元?从几十个到上百个不等。这些ECU控制着转向、制动、动力总成,甚至自动驾驶。如果某个软件bug或者硬件失效导致刹车失灵,后果是什么?

我入行那会儿,功能安全在国内还是个新鲜词。大家更关注“功能能不能实现”,很少有人问“如果它坏了会怎样”。直到2010年前后,丰田的“ unintended acceleration ”事件闹得沸沸扬扬,整个行业才开始认真审视这个问题。

说白了,功能安全就是回答三个问题:

  • 系统会不会失效? —— 概率问题
  • 失效了会怎样? —— 危害分析
  • 怎么防止它失效,或者失效后怎么保证安全? —— 安全机制

核心观点:功能安全不是“不出故障”,而是“故障发生时,系统仍然处于安全状态”。

1.2 ISO 26262 标准发展历程

ISO 26262 这个标准,全称叫“Road vehicles — Functional safety”。它脱胎于工业领域的 IEC 61508,但专门针对汽车行业做了定制。

我记得2011年第一版发布时,很多工程师是懵的。那会儿大家连“ASIL”是什么都搞不清楚。到了2018年第二版,标准成熟了很多,加入了半导体、自动驾驶等新内容。现在第三版也在路上了。

简单梳理一下时间线:

版本 发布年份 主要变化
第一版 (ISO 26262:2011) 2011 覆盖乘用车,10个部分,基础框架建立
第二版 (ISO 26262:2018) 2018 扩展至卡车、巴士、摩托车;新增半导体指南;引入“安全异常”概念
第三版 (预计) 2025+ 聚焦自动驾驶、AI、网络安全与功能安全的融合

我的建议:如果你现在开始做项目,直接按2018版来。但要注意,很多主机厂已经在用第三版的草案做预研了。

1.3 ASIL 等级定义 —— 风险到底有多高?

ASIL,全称 Automotive Safety Integrity Level,汽车安全完整性等级。它不是一个技术指标,而是一个风险等级。

怎么定级?标准给了三个参数:

  • Severity (S) —— 伤害的严重程度。S0(无伤害)到 S3(致命)
  • Exposure (E) —— 暴露于危险场景的概率。E0(几乎不可能)到 E4(非常高)
  • Controllability (C) —— 驾驶员或其他人能否控制住局面。C0(完全可控)到 C3(几乎不可控)

然后查表,得出 ASIL 等级:

严重度 (S) 暴露率 (E) 可控性 (C) ASIL 等级
S3 E4 C3 ASIL D
S3 E3 C2 ASIL B
S1 E2 C1 ASIL A
任何组合不满足 ASIL A/B/C/D QM (质量管理)

举个例子。电动助力转向系统如果失效,车辆可能突然失去转向能力。S 是 S3(高速下致命),E 是 E4(每次开车都可能遇到),C 是 C3(驾驶员几乎无法控制)。所以转向系统通常是 ASIL D。

避坑指南:我曾经见过一个团队,把“驾驶员可以踩刹车”作为可控性高的理由,把C定成了C1。这是典型的错误。可控性评估的是“在危险发生瞬间,普通人能否避免伤害”,而不是“理论上能不能”。

1.4 ASIL 分解 —— 把大目标拆成小目标

ASIL D 的要求非常高。硬件失效率要低于 10 FIT(1 FIT = 10⁻⁹ 失效/小时),软件要满足非常严格的开发流程。很多团队发现,直接做 ASIL D 太痛苦了。

这时候,标准给了你一条路:ASIL 分解。

什么意思?就是把一个 ASIL D 的安全目标,拆成两个独立的安全要求。比如:

  • 要求 A:ASIL C
  • 要求 B:ASIL A

只要这两个要求是相互独立的,并且同时满足,那么整体就达到了 ASIL D 的效果。

分解规则是这样的:

原始 ASIL 分解方案 1 分解方案 2 分解方案 3
ASIL D ASIL C(D) + ASIL A(D) ASIL B(D) + ASIL B(D) ASIL D(D) + QM(D)
ASIL C ASIL B(C) + ASIL A(C) ASIL C(C) + QM(C) —
ASIL B ASIL A(B) + ASIL A(B) ASIL B(B) + QM(B) —
ASIL A ASIL A(A) + QM(A) — —

注意括号里的字母,表示这个分解后的要求源自哪个原始等级。比如 ASIL C(D) 表示这个要求是从 ASIL D 分解出来的,它本身要满足 ASIL C 的开发流程。

关键点:分解不是“降级”。你不能说“反正我分解了,ASIL D 就变成 ASIL C 了”。分解的前提是独立性——两个部分不能有共因失效。否则,分解无效。

1.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。从“为什么要做功能安全”,到“标准怎么发展”,再到“ASIL 怎么定、怎么拆”。

ISO 26262 功能安全知识体系(第1章) 功能安全背景 为什么需要功能安全? 标准发展历程 ASIL 等级定义 危害分析 安全机制 2011 → 2018 → 2025 S / E / C 参数 ASIL 分解 独立性要求 核心逻辑:风险驱动 → 等级定义 → 分解实现 → 独立验证 功能安全不是“加功能”,而是“管理风险”

1.6 本章小结

这一章我们聊了三件事:

  1. 功能安全背景 —— 为什么汽车电子必须考虑失效场景
  2. 标准发展历程 —— ISO 26262 从 2011 到 2018 再到未来的演进
  3. ASIL 等级定义与分解 —— 如何通过 S/E/C 定级,以及如何通过分解降低开发难度

我个人觉得,理解 ASIL 分解是入门功能安全的第一道坎。很多新手会问:“我分解了,是不是就可以少做点测试?” 不是的。分解改变的是开发流程的严格度,而不是安全目标的完整性。该做的验证测试,一个都不能少。

一个小技巧:当你拿到一个安全目标,先别急着分解。先问自己:“这个功能如果失效,最坏情况是什么?” 如果答案是“人员伤亡”,那它至少是 ASIL B 起步。别在 QM 上浪费时间。