3、危害分类与分级:S、E、C 等级

好,咱们接着聊。上一章我们把危害都识别出来了,列了一长串清单。但问题来了——这么多危害,哪个该优先处理?哪个可以放一放?

这就需要一个统一的尺子去量。ISO 26262 给了我们三把尺子:S(Severity,严重度)E(Exposure,暴露度)C(Controllability,可控度)。说白了,就是看这个危害有多疼、多常见、能不能躲开。

我个人习惯,拿到一个危害后,先问自己三个问题:

  • 真出事了,人会受多重的伤?——这是 S
  • 这种情况发生的概率高不高?——这是 E
  • 驾驶员或者系统能不能及时补救?——这是 C

三个维度一组合,ASIL 等级就出来了。嗯,咱们一个一个拆开讲。

3.1 S 等级:严重度

S 等级衡量的是:危害一旦发生,对人员造成的伤害程度。注意,这里不考虑概率,只考虑后果。

ISO 26262 把 S 分成了 4 级:

S 等级 描述 典型场景
S0 无伤害 轻微刮擦,没人受伤
S1 轻伤(可治疗) 急刹车导致乘客轻微磕碰
S2 重伤(需住院) 碰撞导致骨折、内出血
S3 致命伤 高速碰撞,有生命危险

关键点:S 等级只看最坏情况。哪怕概率只有万分之一,只要后果是 S3,那就按 S3 算。

我在项目中遇到过一件事。有个同事评估一个转向系统的危害,他觉得「驾驶员反应快,应该不会出大事」,就给评了个 S1。我让他重新想:如果驾驶员刚好在打瞌睡呢?如果车速 120 呢?最坏情况是什么?最后改成了 S3。你想想看,这个差别有多大。

3.2 E 等级:暴露度

E 等级衡量的是:车辆在运行过程中,处于可能触发危害的场景中的概率。说白了,就是「这个坑,你有多大概率踩上去」。

E 也分 4 级:

E 等级 描述 典型场景
E0 几乎不可能 车辆在火星上行驶
E1 很少发生 每年几次,比如极端天气
E2 偶尔发生 每月几次,比如夜间行车
E3 频繁发生 每次驾驶都会遇到,比如市区拥堵

我的经验:E 等级最容易低估。我曾经评估一个「高速爆胎」场景,觉得概率低给了 E1。后来查了统计数据,发现高速爆胎事故率其实不低,尤其是老旧轮胎。最后改成了 E2。所以,我建议你多查真实数据,别光凭感觉。

为什么会这样?因为「你觉得不常见」和「实际不常见」是两码事。尤其是嵌入式工程师,天天对着代码,容易忽略真实世界的使用场景。

3.3 C 等级:可控度

C 等级衡量的是:危害发生后,驾驶员或其他人员能否通过合理反应来避免伤害。说白了,就是「出事了,人能反应过来吗」。

C 同样分 4 级:

C 等级 描述 典型场景
C0 完全可控 仪表盘指示灯异常,不影响驾驶
C1 简单可控 油门响应延迟,多数人能应对
C2 一般可控 刹车变软,有经验的司机能处理
C3 难以控制 转向突然失效,几乎无法避免事故

注意:C 等级评估时,要假设驾驶员是「普通驾驶员」,不是赛车手。我曾经见过有人把 C 评得很低,理由是「我反应快,肯定能控制住」。这不对。你得按平均水平来,甚至按最差情况来。

嗯,这里要注意。C 等级和 S 等级有时候会让人混淆。我教你一个区分方法:

  • S 等级:问「撞上了会怎样?」
  • C 等级:问「能不能不撞上?」

举个例子。刹车失灵,S 等级可能是 S3(致命),但 C 等级呢?如果驾驶员可以通过手刹、降档、甚至蹭护栏来减速,那 C 可能只有 C2。但如果连手刹也失效了,那 C 就是 C3。

3.4 三个等级的组合:ASIL 的由来

有了 S、E、C 三个值,我们就可以查表得到 ASIL 等级了。ISO 26262 给了一张标准矩阵:

S E C ASIL
S1 E1 C1 QM
S1 E2 C2 ASIL A
S2 E2 C2 ASIL B
S3 E2 C2 ASIL C
S3 E3 C3 ASIL D

这张表不用死记。你只要记住一个原则:三个维度中,只要有一个是 0,结果就是 QM(无需安全等级)。比如 S0、E3、C3,结果还是 QM。因为不会伤人嘛。

反过来,三个维度都高,那就是 ASIL D,最严格的要求。我做过一个线控制动项目,S3、E3、C3,妥妥的 ASIL D。那开发过程,真是每一步都要反复验证,代码审查恨不得逐行过。

避坑指南:我曾经犯过一个错——把 S、E、C 分开评估,然后直接取最大值。比如 S3、E1、C2,我直接给了 ASIL D。后来发现不对,得查表。S3+E1+C2 其实只到 ASIL B。所以,一定要用标准矩阵,别自己发明公式。

3.5 实战小技巧

最后,分享几个我常用的方法:

  • 先评 S,再评 E,最后评 C。 因为 S 最直观,E 需要数据支撑,C 最需要经验。
  • 多找几个人一起评。 一个人容易有偏见。我一般会拉上系统工程师、测试工程师、甚至产品经理一起讨论。
  • 记录评估理由。 别光写个 S3 就完了。要写清楚为什么是 S3,依据是什么。这样以后审查时,别人能看懂你的思路。

好了,S、E、C 这三个等级,说白了就是给危害「打分」。分打完了,下一步就是根据 ASIL 等级去制定安全措施。下一章咱们就聊这个。