2. 危害分析与风险评估(HARA)
HARA,全称是 Hazard Analysis and Risk Assessment。说白了,就是回答三个问题:系统会不会出危险?出了危险有多严重?我们能不能控制住?
我刚开始做功能安全那会儿,总觉得HARA就是个走流程的文档工作。直到有一次,我负责的一个ADAS项目,因为低估了某个场景的暴露概率,差点导致ASIL等级定低了。嗯,从那以后,我再也不敢小看这个环节了。
2.1 HARA方法论:从场景到风险
HARA的核心思路,其实不复杂。你想想看,一个系统要出事故,得满足三个条件:
- 有危险事件发生(比如刹车失灵)
- 有人暴露在这个危险中(比如驾驶员正在路上开)
- 驾驶员来不及或无法控制(比如反应时间不够)
所以HARA的流程,就是把这些场景一个个拎出来分析。我个人习惯按以下步骤走:
- 功能定义:先搞清楚系统到底要干什么。比如“自动紧急制动(AEB)系统”。
- 场景识别:列出所有可能的运行场景。高速、城市、雨天、夜晚……
- 危害识别:功能失效会带来什么危害?比如“该刹车时没刹车”。
- 风险评估:评估严重度(S)、暴露度(E)、可控度(C)。
- ASIL定级:根据S、E、C查表,确定安全等级。
核心原则:HARA不是一次性的工作。项目过程中如果功能变了、场景变了,一定要回头重新评估。我见过太多项目因为“懒得改”而埋下隐患。
下面这张图,是我自己总结的HARA核心逻辑。你看一眼,基本就明白整个框架了。
2.2 严重度(S)评估:后果有多严重?
严重度,就是衡量危险事件对人员造成的伤害程度。ISO 26262把它分成了4个等级:
| S等级 | 描述 | 典型场景举例 |
|---|---|---|
| S0 | 无伤害 | 轻微刮擦,无人受伤 |
| S1 | 轻伤(可治疗) | 碰撞导致轻微擦伤、扭伤 |
| S2 | 重伤(需住院) | 骨折、内出血,但无生命危险 |
| S3 | 致命伤 | 高速碰撞导致死亡或永久性残疾 |
我的经验:评估严重度时,别只看最坏情况。比如AEB失效,最坏可能是高速追尾致死(S3)。但如果你只考虑低速泊车场景,可能只有S1。所以一定要结合具体场景来评估。
2.3 暴露度(E)评估:发生的概率有多大?
暴露度,指的是危险事件发生的概率。注意,不是失效的概率,而是场景出现的概率。
举个例子:AEB在高速上失效,和AEB在停车场失效,暴露度完全不同。高速场景每天可能遇到,停车场场景每周才几次。
| E等级 | 描述 | 典型场景举例 |
|---|---|---|
| E0 | 几乎不可能 | 车辆被陨石击中 |
| E1 | 很少发生 | 每年一次或更少 |
| E2 | 偶尔发生 | 每月几次 |
| E3 | 频繁发生 | 几乎每次驾驶都会遇到 |
| E4 | 持续存在 | 整个驾驶过程中都存在 |
避坑指南:我曾经犯过一个错误——把“失效概率”当成了“暴露概率”。这是两码事!暴露度只关心场景出现的频率,跟系统本身可不可靠没关系。比如“雨天行驶”这个场景,暴露度是E3,但系统在雨天失效的概率是另一回事。
2.4 可控度(C)评估:驾驶员能救回来吗?
可控度,就是当危险发生时,驾驶员或其他人员有没有能力避免伤害。说白了,就是“能不能刹得住、躲得开”。
| C等级 | 描述 | 典型场景举例 |
|---|---|---|
| C0 | 完全可控 | 仪表盘灯光失效,驾驶员可以靠感觉驾驶 |
| C1 | 简单可控 | 转向助力失效,但驾驶员仍可手动转向 |
| C2 | 一般可控 | 刹车助力失效,驾驶员需用力踩刹车 |
| C3 | 难以控制 | 刹车完全失效,驾驶员无法减速 |
这里有个关键点:可控度评估的是“普通驾驶员”的能力,不是专业赛车手。你想想看,一个普通司机在高速上突然刹车失灵,他能做什么?基本什么都做不了。所以C3的判定要谨慎。
2.5 ASIL等级确定:三要素的最终组合
有了S、E、C三个值,就可以查表确定ASIL等级了。ISO 26262给出了一个标准矩阵:
| 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 |
关键解读:
- QM:Quality Management,即按常规质量管理即可,无需额外安全措施。
- ASIL A → D:安全等级递增,D是最严格的。
- 同一个危害,在不同场景下可能得到不同的ASIL等级。取最高等级作为最终要求。
举个例子:AEB系统在高速上失效(S3, E3, C3)→ ASIL D。但在停车场失效(S1, E2, C2)→ QM。那最终AEB系统就要按ASIL D来开发。为什么?因为高速场景的风险太高了,必须覆盖。
我的建议:做HARA时,别急着定等级。先把所有场景列全了,再逐个评估。我习惯用Excel表格把每个场景的S、E、C都记下来,最后统一查表。这样不容易漏掉某个高风险场景。
好了,HARA的核心内容就这些。记住一句话:HARA不是走过场,它是整个功能安全工作的地基。地基没打好,后面盖的楼再漂亮也是危楼。
公众号:蓝海资料掘金营,微信deep3321