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 三步 | 输出 |
|---|---|---|
| Item Definition(系统功能 / 边界 / 接口 / 运行情境) | 危险识别 → S/E/C → ASIL | Safety Goals + ASIL + Safe State + FTTI |
关键认知:HARA 不是从硬件起,是从功能 / 用户场景起——"司机踩油门但车不加速"是危险事件,不论这是软件 bug 还是 MOSFET 失效引起。HARA 的输出是功能层面的安全目标,不绑定实现。
2. 三步流程
HARA 走三个串行步骤——每步缺失或潦草都让最终 ASIL 不可信。下面分别展开。
| 步 | 动作 | 关键输出 |
|---|---|---|
| 1 危险识别 | 列出 item 在所有 driving situation 下可能产生的危险事件 | hazard 清单(20-100 条) |
| 2 S/E/C 评分 | 每个 hazard 按严重度 / 暴露率 / 可控性打 0-3 分 | 三维评分表 |
| 3 ASIL 查表 | 用 ISO 26262-3 Table 4 查 (S, E, C) → ASIL | hazard → ASIL 映射 |
3. 第 1 步:危险识别
危险识别走"驾驶情境 × 失效模式"二维笛卡尔积——任一组合都可能产生危险事件。漏一个组合 = 漏一个 hazard。
3.1 输入 / 输出
危险识别输入有 4 类——Item Definition 给定边界、driving situation 库给情境清单、历史 FMEA 给失效模式、跨职能脑暴补漏。这 4 类输入交叉才能产出完整 hazard 清单。
| 输入 | 来自哪里 |
|---|---|
| Item Definition | 上一步的输出 |
| Driving Situations | SAE 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) | 极性错 | 高速变道 |
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% 运行时间 |
| E2 | 低 | 1-10% 运行时间 |
| E3 | 中 | 10-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。下面是高频组合的简化:
| S | E | C | ASIL |
|---|---|---|---|
| S3 | E4 | C3 | ASIL D(最严) |
| S3 | E4 | C2 | ASIL C |
| S3 | E3 | C3 | ASIL C |
| S3 | E3 | C2 | ASIL B |
| S2 | E4 | C3 | ASIL C |
| S2 | E3 | C2 | ASIL A |
| S1 | E4 | C3 | ASIL A |
| S1 | E3 | C3 | QM(质量管理即可) |
| S0 | * | * | QM |
| * | E0 | * | QM |
| * | * | C0 | QM(部分情况) |
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) |
| ASIL | HARA 输出 | 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 的最长时间",这个时间在硬件层面分成三段:
| 段 | 含义 | 典型值(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(ISO 26262) | E/E 故障引发的危害 — 单点 / 多点 / 共因 | 所有 ASIL ≥ A 项目 |
| STPA-PHA(SAE J3187) | 系统级控制结构 — UCA / Loss Scenario | L3+ 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 必含 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 表格的本质就是这张矩阵。
关键 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 行)。
观察:
- 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
- ← 索引
- 功能安全
- DFA / FMEDA / FTA 三种核心分析方法 — HARA 是 FTA 顶事件的来源
- ISO 26262 硬件要素三类分类 — HARA 输出 ASIL,决定硬件要素类别选型
- 安全机制目录 — FTTI 决定 SM 选型,ASIL 决定 SM 组合复杂度
- 转矩安全 — EPS / 主驱 HARA 的标准案例
- HV 安全 — 高压暴露 hazard 的 HARA
- 热安全 — TR / 过温 hazard 的 HARA
- 失效模式速查 — 第 1 步危险识别的输入
- FMEA 方法论 — DFMEA/PFMEA 的 S/O/D 评分逻辑可类比 HARA 的 S/E/C
- 电动汽车法规 — UN R100 / GB 18384 引用 ISO 26262 间接要求 HARA