3、ASIL等级确定方法:危害分析与风险评估(HARA)

好,咱们进入正题。ASIL等级怎么定?说白了,就是靠一套叫HARA的方法论。全称是Hazard Analysis and Risk Assessment,危害分析与风险评估。

我见过不少团队,一上来就拍脑袋:“这个功能肯定ASIL C,那个功能ASIL B。” 结果评审时被怼得哑口无言。HARA就是用来治这个毛病的——它给你一套标准动作,让你有理有据地说清楚:为什么这个风险等级是C而不是B。

核心逻辑:ASIL等级 = f(严重度S, 暴露概率E, 可控性C)。三个参数各自打分,然后查表得出最终等级。

3.1 HARA方法论:从场景到等级

HARA不是玄学,它是一套流程。我个人习惯把它拆成四步走:

  1. 功能定义 —— 搞清楚你要分析的是什么功能。比如“自适应巡航ACC”。
  2. 场景识别 —— 想清楚这个功能在什么情况下可能出问题。高速、市区、雨天、隧道……
  3. 危害识别 —— 功能失效后会引发什么危害?比如“突然加速”导致追尾。
  4. 风险评估 —— 对每个危害场景,评估S、E、C,算出ASIL等级。

你想想看,如果连场景都没想全,后面的评估就是空中楼阁。我在项目中遇到过,有人只考虑了“正常行驶”场景,忽略了“变道时ACC突然退出”的情况。结果后期测试才发现,补了一堆安全机制,成本翻倍。

3.2 严重度(S)评估

严重度,就是危害发生后,对人员造成的伤害程度。ISO 26262把它分成4个等级:

S等级 描述 典型场景
S0 无伤害 功能降级,但无安全影响
S1 轻伤(可治疗) 低速碰撞,轻微擦伤
S2 重伤(需住院) 中等速度碰撞,骨折
S3 致命伤 高速碰撞,死亡风险

这里有个坑。S等级不是看“最坏情况”,而是看“合理可预见的场景”。我曾经见过有人把“ACC突然加速到200km/h”评为S3,但实际场景中,车辆有最高限速,根本到不了200。所以,评估时要结合系统设计边界。

我的经验:严重度评估时,多问一句“这个场景真的会发生吗?” 别自己吓自己,也别低估风险。

3.3 暴露概率(E)评估

暴露概率,说的是“人员在危害场景中暴露的可能性”。注意,不是“故障发生的概率”,而是“场景出现的频率”。

E等级 描述 典型场景
E0 几乎不可能 车辆在火星上行驶
E1 非常低 每年几次
E2 低 每月几次
E3 中等 每周几次
E4 高 几乎每次驾驶

嗯,这里要注意。E等级和“车辆使用场景”强相关。比如“高速行驶”这个场景,对于天天跑高速的司机来说,E4;对于只在市区代步的车主,可能只有E2。标准要求我们按“最坏合理情况”来评估,但也不能脱离实际。

我建议,评估E时,参考车辆的目标市场和用户画像。别拿出租车司机的使用习惯去评估私家车。

3.4 可控性(C)评估

可控性,就是“驾驶员或其他人员能否通过及时反应,避免危害发生”。说白了,就是“人能不能兜住底”。

C等级 描述 典型场景
C0 完全可控 轻微抖动,驾驶员轻松应对
C1 简单可控 95%以上驾驶员能应对
C2 一般可控 85%以上驾驶员能应对
C3 难以控制 大部分驾驶员无法应对

可控性评估,最容易引发争议。为什么?因为“驾驶员能力”是个模糊概念。我遇到过,有人觉得“方向盘突然变重”是C1,有人觉得是C2。最后怎么定的?我们做了模拟器测试,找了20个不同驾驶经验的司机,统计他们的反应时间。数据说话,比拍脑袋靠谱。

避坑指南:我曾经见过一个项目,把“制动失效”评为C2,理由是“驾驶员可以拉手刹”。但实际测试发现,高速下拉手刹会导致车辆失控,反而更危险。所以,评估可控性时,要考虑“合理的驾驶员反应”,而不是“理论上的最优操作”。

3.5 ASIL等级计算

好,S、E、C都评完了,怎么算ASIL?查表。

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 QM ASIL A ASIL B
E2 ASIL A ASIL B ASIL C
E3 ASIL B ASIL C ASIL D

举个例子:ACC在高速上突然失效(无制动),S=3(高速追尾可能致命),E=4(高速场景几乎每次驾驶都遇到),C=3(驾驶员很难在瞬间接管制动)。查表,S3+E4+C3 = ASIL D。嗯,这个结果很合理,ACC的制动功能确实需要最高等级的安全保障。

反过来,如果ACC在低速拥堵时失效,S=1(低速碰撞轻伤),E=3(拥堵场景每周几次),C=1(驾驶员很容易踩刹车)。查表,S1+E3+C1 = QM。不需要额外安全措施,做好质量管理就行。

关键点:同一个功能,不同场景下ASIL等级可能不同。HARA要对每个场景单独评估,最后取最高等级作为该功能的ASIL目标。

3.6 HARA知识结构图

下面这张图,是我自己总结的HARA核心逻辑。你看一眼,就能把整个流程串起来。

HARA核心逻辑流程图 HARA核心逻辑流程图 功能定义 场景识别 危害识别 风险评估 严重度 S 暴露概率 E 可控性 C ASIL等级 每个场景单独评估 取最高等级作为目标

这张图你看懂了吗?从上到下,先定义功能,再识别场景和危害,最后用S、E、C三个参数算出ASIL等级。每一步都不能跳,跳了就是给自己挖坑。

3.7 常见误区与避坑

  • 误区一:把“故障概率”当成“暴露概率”。E评估的是场景,不是故障。别搞混了。
  • 误区二:严重度只考虑最坏情况。合理可预见才是关键,别钻牛角尖。
  • 误区三:可控性评估过于乐观。驾驶员不是超人,别假设他们能做出完美反应。
  • 误区四:一个功能只评一个ASIL。不同场景下,ASIL可能不同,要分别评估。

我的建议:HARA不是一次性工作。项目过程中,如果功能或场景发生变化,记得回头更新HARA。我见过太多项目,HARA做完就锁进抽屉,结果后期变更时没人管,最后评审被开严重不符合项。