4、危害分析与风险评估(HARA):HARA的目的、HARA的步骤、危害识别、风险评估(严重度、暴露率、可控性)、安全目标定义

好,咱们进入功能安全最核心的一步——HARA

说实话,很多工程师觉得HARA就是填表格、走流程。但我做了这么多年项目,可以负责任地告诉你:HARA的质量,直接决定了整个功能安全开发的成败。你想想看,如果危害都没找全,后面的安全措施做得再好,也是白搭。

4.1 HARA的目的:我们为什么要做这件事?

HARA的全称是Hazard Analysis and Risk Assessment,中文叫危害分析与风险评估。

它的目的其实很简单:找出车辆在运行过程中可能出现的危害,评估这些危害的风险等级,然后为每个危害制定安全目标

我个人习惯把HARA比作「排雷」——在系统还没出问题之前,先把可能炸的雷找出来,然后决定怎么处理它。

核心目的总结:

  • 识别所有与功能相关的潜在危害
  • 评估每个危害的风险等级(ASIL等级)
  • 为每个危害定义安全目标(Safety Goal)

4.2 HARA的步骤:一步一步来,别跳步

HARA的流程,我建议严格按照ISO 26262第3部分的要求来走。跳步?我吃过这个亏,后面会讲。

标准的HARA步骤包括:

  1. 功能定义——搞清楚系统是干什么的
  2. 危害识别——找出所有可能的危害事件
  3. 风险评估——评估严重度(S)、暴露率(E)、可控性(C)
  4. 安全目标定义——为每个危害制定安全目标

嗯,这里要注意:功能定义是HARA的前提。如果功能都没定义清楚,后面的危害识别就是瞎猜。

4.3 危害识别:找全,别漏

危害识别,说白了就是头脑风暴。但这不是随便想想,而是有方法论的。

我常用的方法包括:

  • HAZOP分析(危险与可操作性分析)——用引导词来触发思考
  • FMEA(失效模式与影响分析)——从失效模式反推危害
  • 头脑风暴会议——拉上系统、软件、硬件、测试的人一起聊

举个例子,一个电子助力转向系统(EPS),它的危害可能包括:

  • 非预期的转向助力输出(比如突然打方向)
  • 转向助力丢失(方向盘变重)
  • 转向角度错误(方向盘转了但车轮没转对)

我的经验:危害识别时,一定要考虑车辆运行场景。同一个失效,在高速上和停车场里,风险等级完全不同。我曾经有个项目,团队只考虑了城市工况,结果高速场景下的危害全漏了……嗯,后来补了三个月。

4.4 风险评估:严重度、暴露率、可控性

风险评估是HARA中最「技术」的部分。我们需要对每个危害事件,评估三个参数:

参数 含义 等级范围
S(Severity) 严重度——危害发生时,对人员造成的伤害程度 S0 ~ S3
E(Exposure) 暴露率——危害场景发生的概率(车辆运行中的暴露程度) E0 ~ E4
C(Controllability) 可控性——驾驶员或其他人员能否控制住危害 C0 ~ C3

这三个参数组合起来,就决定了ASIL等级(Automotive Safety Integrity Level,汽车安全完整性等级)。

ASIL等级判定规则:

ASIL = f(S, E, C),具体查ISO 26262的表格。

简单说:S越高、E越高、C越低,ASIL等级越高(从ASIL A到ASIL D)。

如果S、E、C中有一个为0,则危害等级为QM(质量管理级,无需功能安全措施)。

举个例子:

还是那个EPS系统,假设我们识别到一个危害:高速行驶时非预期转向助力输出

  • S(严重度):高速失控可能导致严重伤亡,S = 3
  • E(暴露率):高速行驶是常见场景,E = 3
  • C(可控性):突然转向,普通驾驶员很难控制,C = 3

查表:S3 + E3 + C3 → ASIL D(最高等级)。

避坑指南:我曾经在评估可控性时犯过一个错误——假设「驾驶员反应很快」。结果后来测试发现,在特定场景下(比如雨夜),驾驶员根本来不及反应。所以,可控性评估一定要保守,别高估人的能力。

4.5 安全目标定义:把风险变成可执行的要求

评估完风险,下一步就是定义安全目标

安全目标,说白了就是一句话:「系统必须避免某某危害」

但这句话不能太笼统,要具体到可以验证的程度。

比如,针对上面那个EPS的ASIL D危害,安全目标可以定义为:

安全目标:避免在高速行驶时(车速 > 80 km/h)出现非预期的转向助力输出。
ASIL等级:ASIL D
安全状态:切断转向助力,进入手动模式
容错时间间隔:< 100 ms

你看,这个安全目标包含了:

  • 触发条件(车速 > 80 km/h)
  • 危害描述(非预期转向助力输出)
  • ASIL等级(D)
  • 安全状态(切断助力,手动模式)
  • 容错时间(100 ms内必须响应)

我的习惯:每个安全目标,我都会加一个「安全状态」「容错时间间隔」。这两个参数,是后面做系统设计和验证的关键输入。没有它们,安全目标就是一句空话。

4.6 总结:HARA做得好,后面少烦恼

HARA是整个功能安全开发的地基。地基没打好,上面盖的房子再漂亮,也是危房。

我个人建议:

  • 别赶时间——HARA阶段多花一周,后面可能省下一个月
  • 多拉人参与——系统、硬件、软件、测试、甚至市场的人,都叫来一起讨论
  • 文档要写清楚——每个危害的S、E、C评估理由,都要记录在案,方便后续追溯

好了,HARA的内容就到这里。下一章,我们会讲功能安全概念(FSC)——如何把安全目标变成具体的技术方案。