2、危害分析与风险评估(HARA):HARA方法论、危害识别、风险评估矩阵、安全目标定义
好,咱们进入功能安全里最核心、也是最考验经验的一步——HARA。
说实话,HARA做得好不好,直接决定了你后续所有工作的地基牢不牢。我见过太多项目,前期HARA草草了事,结果到了验证阶段发现安全目标定得太松或者太紧,回头再改,那成本可就大了去了。
2.1 HARA方法论:到底在干什么?
HARA,全称是Hazard Analysis and Risk Assessment。翻译过来就是危害分析与风险评估。
它的目的很简单:找出系统在故障状态下,会不会对人造成伤害。
你想想看,一个电子助力转向系统,如果它突然自己打方向,会怎么样?一个刹车系统,如果它错误地释放了制动力,又会怎么样?HARA就是系统性地回答这些问题。
我个人习惯把HARA分成三步走:
- 场景分析:车在什么情况下运行?高速?低速?停车?
- 危害识别:系统出什么故障会导致危险?
- 风险评估:这个危险有多严重?发生的概率有多大?
嗯,这里要注意,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 |
2.4 安全目标定义:把“危险”翻译成“要求”
有了ASIL等级,我们就要把每个危害,转化成一个具体的、可验证的安全目标(Safety Goal)。
安全目标通常以“系统应避免……事件”的格式来写。它描述的是最高层级的安全要求。
举个例子:
- 危害:车辆非预期加速。
- 安全目标:系统应避免在驾驶员未踩下加速踏板时,产生非预期的驱动扭矩。 (ASIL C)
再比如:
- 危害:制动助力失效,导致制动距离过长。
- 安全目标:系统应确保在制动助力完全失效的情况下,驾驶员仍能通过机械连接实现车辆减速,且减速度不低于 0.4g。 (ASIL D)
定义好安全目标后,它就会像“宪法”一样,指导后续所有的系统设计、硬件设计、软件设计以及测试验证。每个功能模块,都要证明自己满足了这个安全目标。
好了,HARA这部分就讲到这里。记住,HARA不是一次性的工作。随着项目深入,你对系统的理解加深,可能会发现新的危害,或者需要调整ASIL等级。所以,保持HARA文档的“活”性,非常重要。