HARA — Hazard Analysis & Risk Assessment

功能安全L2别名 HARA · hazard analysis · risk assessment · 危害分析与风险评估 · 风险评估

本质与导读

本质 HARA 把"这个 item 出错会伤人"的模糊直觉,变成可论证的 Safety Goal + ASIL——靠 S(Severity)× E(Exposure)× C(Controllability) 三维评分查 ISO 26262-3 表 4。它从功能/场景起、不绑实现;一旦漏 hazard 或 ASIL 评低一档,整条 FuSa 链(FSC→TSR→硬件→V&V)都建在错前提上,中后期返工代价是数量级。

主线坐标:横轨 · 功能安全(跨站) · ↑ 全景主线

1. HARA 在 V 模型里的位置

HARA ISO 26262 概念阶段的第 2 步——前承 Item Definition(定义 item 是什么),后接 FSC(Functional Safety Concept,把 SG 拆成具体功能安全需求)。理解这个位置决定 HARA 输出对接什么

HARA 在 V 模型位置 — 1 Item Def → 2 HARA (caramel) → SG + ASIL (coral) + Safe State + FTTI → 3 FSC → 4 TSR · 缺 SG 回退迭代 Item Def

输入HARA 三步输出
Item Definition(系统功能 / 边界 / 接口 / 运行情境)危险识别 → S/E/C → ASILSafety Goals + ASIL + Safe State + FTTI

关键认知:HARA 不是从硬件起,是从功能 / 用户场景起——"司机踩油门但车不加速"是危险事件,不论这是软件 bug 还是 MOSFET 失效引起。HARA 的输出是功能层面的安全目标,不绑定实现。


2. 三步流程

HARA 走三个串行步骤——每步缺失或潦草都让最终 ASIL 不可信。下面分别展开。

HARA 三步流程 — 1 危险识别 (cream 驾驶情境×失效模式) → 2 S/E/C 评分 (amber 0-3 三维) → 3 ASIL 查表 (caramel ISO 26262-3 Table 4)

动作关键输出
1 危险识别列出 item 在所有 driving situation 下可能产生的危险事件hazard 清单(20-100 条)
2 S/E/C 评分每个 hazard 按严重度 / 暴露率 / 可控性打 0-3 分三维评分表
3 ASIL 查表用 ISO 26262-3 Table 4 查 (S, E, C) → ASILhazard → ASIL 映射

3. 第 1 步:危险识别

危险识别走"驾驶情境 × 失效模式"二维笛卡尔积——任一组合都可能产生危险事件。漏一个组合 = 漏一个 hazard。

3.1 输入 / 输出

危险识别输入有 4 类——Item Definition 给定边界、driving situation 库给情境清单、历史 FMEA 给失效模式、跨职能脑暴补漏。这 4 类输入交叉才能产出完整 hazard 清单。

输入来自哪里
Item Definition上一步的输出
Driving SituationsSAE J2980 等列了 30+ 标准情境
已有 FMEA / 历史数据失效模式库
头脑风暴跨职能 review(系统 + 软件 + 硬件 + 测试)

输出:hazard 清单,每条至少含:

  • 危险事件描述:用户视角("车辆突然加速 / 转向失控 / 制动失败")
  • 触发条件:item 内部什么失效模式
  • 运行情境:发生在什么 driving situation

3.2 EPS 危险事件清单(部分)

EPS(Electric Power Steering)是最常被研究的 HARA 案例——下面 5 条是 ASIL D EPS 项目的标准 hazards。

#危险事件触发情境
H1自转向(unintended steering)控制环错误转矩高速直行
H2失去助力(loss of assist)系统断电 / 故障低速大角度转弯
H3转向过冲助力比例错误低速调头
H4卡滞(jam)机械 / 电气 stuck任意速度
H5反向助力(reverse assist)极性错高速变道

3.3 主驱(Traction Inverter)危险事件清单

主驱几个核心 hazards——每个对应 FTA 顶事件。

#危险事件触发情境
H1危险扭矩输出(unintended torque)控制链算错 / 误转向静止 / 低速
H2失去扭矩(loss of propulsion)关键器件失效高速过弯
H3加速 stuck油门信号 stuck任意
H4异常制动(unintended regen)再生制动失控高速
H5高压暴露HVIL / 绝缘失效维修 / 事故

4. 第 2 步:S / E / C 评分

每个 hazard 三维评分——S(Severity 严重度) × E(Exposure 暴露率) × C(Controllability 可控性)。每维 0-3 分(S 例外,从 S0 = 无伤害到 S3 = 致命)。

4.1 Severity(S0-S3)

S 是伤害严重度——衡量 hazard 真正发生时,人受伤多严重。

级别含义
S0无伤害仪表显示乱码
S1轻伤(可恢复)低速擦碰挫伤
S2中重伤(可能后遗症)中速碰撞骨折
S3致命或严重不可逆伤害高速失控、高压触电

关键判定原则:S 评的是最严重可信场景,不是平均场景——高速失控可能擦边过去,但可信(reasonable)的最坏后果是致命,所以 S3。

4.2 Exposure(E0-E4)

E 是司机 / 用户处于该危险情境的概率——衡量"这种危险什么时候发生"出现频率。

级别含义量化区间
E0不发生不可能在该情境运行
E1极低< 1% 运行时间
E21-10% 运行时间
E310-50% 运行时间
E4> 50% 运行时间

: 高速直行 E4(大量时间)、高速过弯 E3、停车泊车 E2、维修工况 E1。

4.3 Controllability(C0-C3)

C 是司机 / 用户能否在 hazard 发生后避免伤害——衡量"通常能不能 escape"。

级别含义判定
C0通常可控> 99% 司机能避险
C1简单可控90-99% 司机能避险
C2中等可控困难但有经验司机能避险
C3难以控制 / 不可控< 90% 司机能避险

:高速失控 C3(几乎无法救)、低速 stuck C1(简单松油门)、轻微转向偏差 C0(司机自然修正)。

4.4 评分协作

S/E/C 评分必须由跨职能 team 共同 review——单一职能(尤其 Hardware engineer 单独)容易评偏。建议:

  • System engineer 主持,定义 driving situation
  • Software engineer 评失效行为
  • Hardware engineer 评失效模式
  • Test engineer 评 Controllability(实测过类似场景)
  • OEM 代表 复核,因为 OEM 有更多车队数据

5. 第 3 步:ASIL 查表

S/E/C 三维 → ASIL 不是公式,是 ISO 26262-3 Table 4 的查表——下面是简化版。

5.1 ASIL 查表

完整查表 ISO 26262-3 Table 4。下面是高频组合的简化:

SECASIL
S3E4C3ASIL D(最严)
S3E4C2ASIL C
S3E3C3ASIL C
S3E3C2ASIL B
S2E4C3ASIL C
S2E3C2ASIL A
S1E4C3ASIL A
S1E3C3QM(质量管理即可)
S0**QM
*E0*QM
**C0QM(部分情况)

5.2 一维下降的代价

理解"为什么 S/E/C 错评一档代价那么大"——三维任一下降一级,ASIL 都可能下降一档(D → C → B → A → QM)。

反向也成立:漏识别一个 hazard 等于把它当 QM,到中后期发现实际是 ASIL D,整个 FSC 推倒重来——这是 HARA 错误的最大代价。


6. 输出:Safety Goal

Safety Goal(SG)是 HARA 的最终交付物——每个 ASIL ≥ A 的 hazard 对应1 个 SG。SG 描述"避免什么危险 + 安全状态是什么 + 反应时间约束(FTTI)"。

6.1 SG 标准模板

Safety Goal 必须包含 4 个元素——避免危险描述、ASIL、Safe State、FTTI。任何 1 个缺失都让后续 FSC 无法落地。

元素内容例(EPS H1)
避免危险简短描述避免自转向(unintended steering)
ASILHARA 输出ASIL D
Safe State失效后的安全状态切换至机械备份(无助力)
FTTI失效到 safe state 的最大允许时间100 ms

6.2 EPS 实例 SG

SG-1:The EPS shall…

SG-1:The EPS shall not provide unintended steering torque exceeding ±0.5 Nm.

  • ASIL: D
  • Safe State: Mechanical fallback (no electric assist)
  • FTTI: 100 ms

6.3 主驱实例 SG

SG-1:The traction…

SG-1:The traction inverter shall not produce unintended torque exceeding ±20 Nm at the wheels in any drive condition.

  • ASIL: D
  • Safe State: Active Short Circuit (ASC) or Free-wheeling (depending on vehicle speed)
  • FTTI: 50 ms

7. FTTI 的物理意义

FTTI(Fault Tolerant Time Interval)是 HARA 给硬件设计的最强约束——比 ASIL 等级更直接。它定义"从故障发生到必须进 safe state 的最长时间",这个时间在硬件层面分成三段:

FTTI 三段拆分 — fault occurs (coral) → detected (1-10 ms) → safe reaction (1-5 ms) → safe state (5-50 ms),total FTTI ≤ HARA 给的窗 (50-100 ms)

含义典型值(EPS / 主驱)
fault → detect检测时间(SM 反应)1-10 ms
detect → reaction决策 + 触发响应1-5 ms
reaction → safe state物理动作完成(STO 关栅、ASC 启动)5-50 ms
total FTTI必须 ≤ HARA 给的窗50-100 ms

关键约束:SM 反应慢于 FTTI 就废了——用纯软件 SM(100 ms 反应)在 FTTI = 50 ms 的项目里完全没用,必须硬件 SM(< 5 ms)。


8. 5 个 HARA 反模式

HARA 失败集中在 5 个反模式——这 5 个让 ASIL 评估"看起来合理"但实际有系统性盲区。

反模式表现修法
漏识别情境只考虑高速直行,漏掉变道 / 倒车 / 雨天 / 维修工况用 SAE J2980 标准情境清单逐个核对
S 评低把"严重失控"评 S2 因为"大多数情况擦边"S 评的是最严重可信场景,不是平均
E 评高(把 ASIL 拉上去)给 stable 工况 E4,实际只 E2用车队数据 / 真实运行 profile 校核
C 评乐观假设司机能反应,实际 100 ms 内根本反应不了实测!或参考 ADAS UI 测试数据
HARA 不收敛反复 review 改评分,数月不出 ASIL设 tighter timebox,有争议挂 issue 走 OEM 仲裁

8.1 S 评低的隐蔽危险

最常见也最危险的反模式:工程师对自己设计有信心,觉得"实际不会那么严重",把 S 评低 → ASIL 评低 → 后续 SM 投入不足 → 真实失效场景下确实出事。修法:S 评严重度,不评概率(那是 E 的工作)。

8.2 HARA 不收敛的隐蔽成本

HARA 是工程协作活动,容易被无穷无尽的"corner case"卷入。设 timebox(如 4 周)+ 仲裁机制(OEM 决断分歧)是必须的。否则整个 FuSa 项目卡在概念阶段。


9. HARA vs STPA-PHA vs SOTIF — 三种危害分析

ISO 26262 HARA 是最常用但不是唯一的危害分析方法。SAE J3187 推荐的 STPA-PHA、ISO 21448 SOTIF 各有侧重,三者并行覆盖不同范围。

HARA / STPA-PHA / SOTIF 三角

方法覆盖范围何时必做
HARA(ISO 26262)E/E 故障引发的危害 — 单点 / 多点 / 共因所有 ASIL ≥ A 项目
STPA-PHA(SAE J3187)系统级控制结构 — UCA / Loss ScenarioL3+ ADAS / AD 项目
SOTIF(ISO 21448)规约缺陷 / 感知误判 — 无故障也出事L2+ 驾驶辅助 / 智能驾驶

实战搭配:

  • ICE 主驱 / EPS 项目:HARA 主导,STPA-PHA / SOTIF 选做
  • L2 ADAS(自适应巡航 / 车道保持):HARA + SOTIF 并行
  • L3+ AD(高速领航 / 城市领航):HARA + STPA-PHA + SOTIF 三者必做
  • AI 感知模块:SOTIF 主导(感知误判属"无故障出事"),HARA 配做 E/E 层

三者的输出关系:STPA-PHA 的 UCA 可以反向滋养 HARA 的 hazard 清单;SOTIF 的 trigger condition 给 HARA 提供新的 operational situation 类。好的项目把三者输出统一管理,而不是分三套独立 DB。

10. Operational Situation Catalog

HARA 第 1 步危险识别 = Hazard × Operational Situation 笛卡尔积。OS 不全则 hazard 漏识别——这是上节 §8 反模式"漏识别情境"的根因。

OS Catalog 6 大类

OS 必含 6 大类:道路类型 / 工况 / 天气能见度 / 路面附着 / 交通密度 / 车辆状态。每类有多子项,笛卡尔积组合数指数爆炸(6 类 × 4 子项 = 4^6 = 4096 组合)——所以 OEM 给一个 100-200 条预筛选 list,只跑真实可能发生的组合。

OS 与评分的对应:

  • 道路类型 → E 评分主轴:高速 = E4 / 城市 = E3 / 山路 = E2 / 停车场 = E1
  • 工况 → S 评分主轴:120 km/h 巡航 = S3 / 60 km/h 变道 = S2 / 倒车 = S1
  • 天气 → C 评分修正:雾天 / 夜间降 C 一级(降低可控性)
  • 路面 → 后果严重度修正:冰面 μ=0.1 → controllability 下降
  • 交通密度 → controllability:拥堵下司机反应窗口更短
  • 车辆状态 → actuator 响应:满载 + 高 SoC → 扭矩响应不一样

Item Def 必须文档化 OS 全集,SC 引用 — 不然 HARA 范围被审计员判模糊。

11. Hazard × OS → HE 矩阵 + 评分实战

HE(Hazardous Event)= (Hazard × OS) 笛卡尔积的每个有效格子。HARA 表格的本质就是这张矩阵。

Hazard × OS → HE 矩阵

关键 5 条规则:

  • 同一 Hazard 在不同 OS 下 ASIL 可不同:意外加速 + 高速 = ASIL D,意外加速 + 停车场 = ASIL A,源于 S/E/C 各不一样
  • n/a 格也要写入表:不能简单留空——审计员问"你考虑过 X Hazard 在 Y OS 下吗?",答 "n/a 因为 Z" 是合规的,空白是 NC
  • QM 行也必写入:作为 SC evidence("我们考虑过该 HE,判 QM,处理在 quality 流程")
  • 最高 ASIL HE 决定 item ASIL:主驱表里 ASIL D HE → 整个 item ASIL D
  • 每行有唯一 HE ID:Safety Case GSN 树用 ID 反向追溯

S/E/C 评分实战陷阱:

  • S 评严重度,不评概率——S3 不是"经常出严重事故",是"如果出事最严重可能是致命"
  • E 用车队真实数据——不要拍脑袋,要用 OEM 提供的实际运行 mile profile
  • C 用 ADAS UI 实测——不要假设"司机能反应",要看实际 reaction time 数据
  • 三人独立打分 → 投票——单人评最易偏,跨职能 review 必须

12. 主驱完整 HARA Worksheet

HARA 表格每行完整字段:ID / Hazard / OS / Effect / S / E / C / ASIL / Safety Goal。下图是主驱节选(实际 60-100 行)。

主驱 HARA Worksheet 节选

观察:

  • HE-1 / HE-7 同样 S3 E4 C3 → ASIL D:意外加速和反向扭矩在高速直行下后果都致命,且 controllability 差
  • HE-10 在高速 = ASIL C / HE-12 在停车场 = QM:同一 Hazard(3 相短路)在不同 OS 下 ASIL 跨 4 档
  • 每个 HE → 1 个 SG:SG-1 防意外扭矩 / SG-2 防反向扭矩 / SG-3 防 HV 短路
  • FTTI 跟 hazard 严重度反向:反向扭矩 50 ms,HV 短路 10 ms(因为短路一旦发生,energy release 极快)

HARA 字段扩展(实务):每行还有 owner / status / verification method / verified date,DOORS / Polarion 维护。

13. HARA Review + Living Lifecycle

HARA 不是"M3 写完归档"。Living document——随项目演进多次更新。

4 级 review 节奏:

  • M3 — 初版 review:Item Def 完成,Safety Engineer + Sys Lead + Functional Mgr 联评
  • M6 — 半 stable review:FSC 完成后回审 HARA,补 corner case
  • M9-M12 — 设计 review:HW/SW 设计阶段发现新 hazard → 触发 HARA 更新
  • M15-M17 — Final review:Sa.Val 阶段实测数据回写 E / C 评分

触发 HARA 重审的 5 类事件:

  • 系统功能变更(增 / 删 / 改 function)
  • 工况范围扩展(新国家上市 / 新车型 derivative)
  • 现场 feedback(已上市车型出现新 hazard)
  • 法规变更(UN R157 / GB 18384 等更新)
  • Sa.Val 阶段发现假设不成立

HARA 与 SC 的同步:任何 HARA 更新 → SG 列表可能变 → Safety Case GSN 树相应分支重写。好项目把 HARA 与 SC 用同一 ID 体系串起来,改 HARA 的 HE-X 自动触发 SC 检查 SG-X 对应分支。


核心要点

  • HARA 是 ISO 26262 概念阶段第 2 步——Item Definition 之后,FSC 之前;输入功能 / 边界 / 情境,输出 SG + ASIL + FTTI
  • 3 步流程:危险识别(笛卡尔积情境 × 失效) → S/E/C 评分 → Table 4 查 ASIL
  • S(0-3)严重度 / E(0-4)暴露率 / C(0-3)可控性 —— 三维必须跨职能 team 共评,单职能容易偏
  • ASIL 查表:S3+E4+C3 = ASIL D,任一下降一级都可能让 ASIL 降一档
  • 漏识别 hazard 等于评 QM,但实际可能是 ASIL D —— 最贵的错误
  • Safety Goal 标准模板:避免危险 + ASIL + Safe State + FTTI
  • FTTI 决定 SM 选型——< 50 ms 的 FTTI 让纯软件 SM 完全没用
  • 5 反模式戒除:漏情境 / S 评低 / E 评高 / C 评乐观 / 不收敛
  • 三种危害分析三角:HARA(E/E 故障)+ STPA-PHA(系统级控制)+ SOTIF(规约 / 感知);ASIL D ADAS 三者并行
  • Operational Situation 必含 6 大类:道路 / 工况 / 天气 / 路面 / 交通 / 车辆;Item Def 必文档化
  • HE = Hazard × OS 笛卡尔积有效格子;n/a 和 QM 也必写入表
  • 同一 Hazard 在不同 OS 下 ASIL 可跨 4 档(主驱 3 相短路:高速 C → 停车场 QM)
  • HARA Living document,4 级 review(M3/M6/M9-12/M15-17),5 类触发事件
  • HARA 与 SC 用同一 ID 体系,HE-X 改 → SG-X GSN 分支自动检查

Engineering Objects

引用此页的结构化 Engineeri…

引用此页的结构化 Engineering Object(v2.0 Copilot 自动生成,不要手动编辑此段)。

  • case · case_sg2_reverse_torque_asil_d — SG2 — 避免反向扭矩 (ASIL D)
  • standard · standard_iso26262_part3_hara — ISO 26262-3 (2018) 概念阶段 / HARA

Cross-references