2、危害分析与风险评估(HARA):HARA方法论、危害识别、风险评估矩阵、安全目标定义

好,咱们进入功能安全里最核心、也是最考验经验的一步——HARA。

说实话,HARA做得好不好,直接决定了你后续所有工作的地基牢不牢。我见过太多项目,前期HARA草草了事,结果到了验证阶段发现安全目标定得太松或者太紧,回头再改,那成本可就大了去了。

2.1 HARA方法论:到底在干什么?

HARA,全称是Hazard Analysis and Risk Assessment。翻译过来就是危害分析与风险评估。

它的目的很简单:找出系统在故障状态下,会不会对人造成伤害。

你想想看,一个电子助力转向系统,如果它突然自己打方向,会怎么样?一个刹车系统,如果它错误地释放了制动力,又会怎么样?HARA就是系统性地回答这些问题。

我个人习惯把HARA分成三步走:

  1. 场景分析:车在什么情况下运行?高速?低速?停车?
  2. 危害识别:系统出什么故障会导致危险?
  3. 风险评估:这个危险有多严重?发生的概率有多大?

嗯,这里要注意,HARA不是只盯着电子系统本身。你得把车看成一个整体,包括驾驶员的操作、周围的环境、甚至路面的状况。

我的经验: 做HARA时,千万别只坐在办公室里看文档。我建议你至少去试驾一下同类车型,或者跟测试工程师聊聊。有一次我在做ADAS的HARA时,就是跟路试员聊完才发现,某个场景在真实道路上出现的频率远高于我们的假设。

2.2 危害识别:把“鬼”都找出来

危害识别,说白了就是“找茬”。你得把系统所有可能出问题的地方,以及这些问题会引发什么后果,全部列出来。

怎么找?常用的方法有:

  • 头脑风暴:拉上系统、软件、硬件、测试工程师,一起“开脑洞”。
  • 检查表法:基于以往项目的经验,列一个常见故障清单,挨个核对。
  • FMEA(失效模式与影响分析):从底层元器件开始,分析每个失效模式的影响。

举个例子,我们分析一个“电子油门踏板”系统:

功能 故障模式 危害描述
加速 踏板信号卡在高位 车辆非预期加速,驾驶员无法通过松踏板减速
加速 踏板信号丢失 车辆失去动力,可能引发追尾
减速 制动信号与加速信号冲突 车辆动力系统与制动系统“打架”,可能导致失控

我曾经在一个项目中,大家觉得“踏板信号卡在高位”这个故障太极端了,不太可能发生。结果呢?后来在实车测试中,真的因为一个软件bug复现了。所以,不要低估任何故障模式

2.3 风险评估矩阵:给危险“打分”

找出了危害,接下来就是评估它有多“要命”。ISO 26262给了我们一个标准的方法,从三个维度打分:

  • S(Severity)严重度:伤害有多重?轻伤?重伤?致命?
  • E(Exposure)暴露概率:这个危险场景发生的频率高不高?一年一次?还是每天一次?
  • C(Controllability)可控性:驾驶员在危险发生时,能不能通过操作避免伤害?

这三个维度组合起来,就得到了一个ASIL等级(Automotive Safety Integrity Level,汽车安全完整性等级)。

ASIL等级从低到高分别是:QM(质量管理)、ASIL A、ASIL B、ASIL C、ASIL D。

怎么组合?看下面这个矩阵:

C(可控性) S(严重度) E1(极低) E2(低) E3(中) E4(高)
C1(可控) S1(轻伤) QM QM QM QM
S2(重伤) QM QM ASIL A ASIL B
S3(致命) ASIL A ASIL B ASIL C ASIL D
C2(可控性差) S1(轻伤) QM QM ASIL A ASIL B
S2(重伤) QM ASIL A ASIL B ASIL C
S3(致命) ASIL B ASIL C ASIL D ASIL D
C3(不可控) S1(轻伤) ASIL A ASIL B ASIL C ASIL D
S2(重伤) ASIL B ASIL C ASIL D ASIL D
S3(致命) ASIL C ASIL D ASIL D ASIL D
关键点: ASIL等级越高,意味着你需要投入的开发成本和验证工作量就越大。ASIL D的系统,通常需要冗余设计(比如双芯片、双路径)。

2.4 安全目标定义:把“危险”翻译成“要求”

有了ASIL等级,我们就要把每个危害,转化成一个具体的、可验证的安全目标(Safety Goal)

安全目标通常以“系统应避免……事件”的格式来写。它描述的是最高层级的安全要求。

举个例子:

  • 危害:车辆非预期加速。
  • 安全目标:系统应避免在驾驶员未踩下加速踏板时,产生非预期的驱动扭矩。 (ASIL C)

再比如:

  • 危害:制动助力失效,导致制动距离过长。
  • 安全目标:系统应确保在制动助力完全失效的情况下,驾驶员仍能通过机械连接实现车辆减速,且减速度不低于 0.4g。 (ASIL D)
避坑指南: 我曾经见过一个团队,把安全目标写成了“系统应保证安全”。这太模糊了,没法验证。安全目标必须具体、可测量、可测试。比如“在故障发生后100ms内,进入安全状态”就比“系统应快速响应”要好得多。

定义好安全目标后,它就会像“宪法”一样,指导后续所有的系统设计、硬件设计、软件设计以及测试验证。每个功能模块,都要证明自己满足了这个安全目标。

好了,HARA这部分就讲到这里。记住,HARA不是一次性的工作。随着项目深入,你对系统的理解加深,可能会发现新的危害,或者需要调整ASIL等级。所以,保持HARA文档的“活”性,非常重要。