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 | 一般可控 | 通常情况下可控(危害分析中少用,几乎不评 C0) |
| C1 | 简单可控 | ≥ 99% 司机能避险 |
| C2 | 正常可控 | 90–99% 司机能避险 |
| 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 B |
| S1 | E3 | C3 | ASIL A(1+3+3=7→A;比 S1/E4/C3 降一档 B→A) |
| 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: 200 ms(100 km/h × 200 ms = 5.56 m 行驶距离,超过此距离驾驶员无法纠正意外扭矩;见 HV 逆变器 ISO 26262 概念页 §SG-01)
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 给的窗 | EPS ≈ 50-100 ms;主驱 SG-1 = 200 ms(见 §6.3) |
关键约束:SM 反应慢于 FTTI 就废了——以 EPS 为例:纯软件 SM(100 ms 反应)在 FTTI = 50 ms 的 EPS 项目里完全没用,必须硬件 SM(< 5 ms)。主驱 SG-1(FTTI = 200 ms)理论上允许纯软件 SM,但 100kW EV 逆变器实务仍选硬件 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 严重度反向:反向扭矩 200 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 对应分支。
14. OBC 端到端 HARA Worked Design — 22kW V2G 双向车载充电机
HARA 最难教的部分是「S/E/C 三个维度各自的认知边界」——E 是工况频率不是故障频率、S 评最严可信后果不是平均后果、C 评司机/用户逃逸能力不是系统设计预期。本节用一台真实的 22kW 双向 OBC(V2G 能力、单相/三相、输入 AC 220/380V、输出 DC 350–800V、接 BEV 高压电池包)走一遍完整 HARA,在每个 HE 上逐维给出「为什么这么打分」——这比只看分数表更重要。
14.1 Item Definition 摘要
HARA 的输入是 Item Definition;这里给关键字段。
| 字段 | 内容 |
|---|---|
| Item 名称 | 22kW 双向 OBC(含 AC 滤波 + PFC + ISOP DC/DC + HV 继电器 + ISO 监测) |
| 功能边界 | AC 电网侧 inlet → HV 母线(350–800V);含充电(G1G)、V2G 反馈(G2V)、电池均衡辅助电源 |
| 接口 | 上行:BMS(CAN/ETH,charging profile)、VCU(CAN,mode command)、EVSE(PLC,IEC 61851)、用户(CP/PP 信号);下行:HV 继电器 K1/K2、PFC 驱动、DC/DC 驱动、温度传感器链 |
| 不含 | 电池 BMS 内部保护、充电桩侧 RCCB/保护 |
| 运行模式 | 充电(G1G)、V2G 反馈(G2V)、空闲/待机、故障关断 |
14.2 Operational Situation Catalog(运行情境目录)
HARA 的情境不再是「驾驶情境」而是「运行情境」——OBC 不在行驶时工作,但其运行情境同样需要系统化枚举。
14.3 危险事件清单(Hazard × OS → HE)
以下 8 条 HE 覆盖 OBC 的主要危害路径。
| HE ID | 危险事件描述 | 失效模式 | OS | S/E/C | ASIL |
|---|---|---|---|---|---|
| HE-1 | 充电中 HV 母线对底盘短路 → 用户触碰车身受 HV 电击 | HV 继电器 K1/K2 焊死 + ISO 监测失效 | OS-1 | S3/E4/C3 | D |
| HE-2 | AC 侧 L-PE 短路 → 用户手持充电枪受 220V 交流电击 | 输入 EMI 滤波失效 + PFC 整流桥故障 | OS-4 | S3/E1/C3 | A |
| HE-3 | 超压充电 → 电池过充 → 热失控/起火 | DC/DC 输出电压调节环路失控(duty stuck high) | OS-1 | S3/E4/C3 | D |
| HE-4 | 过流充电 → 电池过热/热失控 | 电流控制环路失控 + 断路器未动作 | OS-1 | S3/E4/C3 | D |
| HE-5 | V2G 反馈无法停止 → 电网端过流/RCCB 动作 → 用户车场受影响 | G2V 模式指令通路被 stuck,VCU 停止命令未响应 | OS-2 | S2/E2/C2 | QM |
| HE-6 | ISO 监测失效 → HV 绝缘泄漏未检出 → 用户接触缓慢漏电 | ISO 监测 ADC/RC 链故障,OBC 不上报 | OS-1 | S3/E4/C3 | D |
| HE-7 | 充电中温度失控 → OBC 起火损毁充电桩周围财产/人员 | 散热失效(风扇 stuck)+ 温度传感器失效 + 过温关断无效 | OS-1 | S3/E4/C2 | C(封闭车库场景升 D,见 §16 Corner-2) |
| HE-8 | 碰撞后 HV 继电器无法断开 → 救援人员遭 HV 暴露 | K1/K2 焊死 + 碰撞信号通路断开 | OS-6 | S3/E1/C3 | A |
上表 8 条 HE 的 ASIL 均已按 ISO 26262-3:2018 Table 4 核实:S3/E4/C3 = D、S3/E4/C2 = C、S3/E1/C3 = A、S2/E2/C2 = QM,与查表一一对应。
14.4 S/E/C 详细推导(以 HE-1 为例,全源论证)
HE-1 的 S3/E4/C3 不是拍脑袋——以下逐维给出工程理由。
S3 — 理由:HV 母线 400–800V DC 一旦暴露于车身,用户接触时人体(手到手阻抗按 IEC 60479-1 大面积干接触约 1–2 kΩ)上流过的电流约 200–400 mA;此电流-时间组合落入 IEC 60479-1 直流时间/电流区的 DC-4 区(持续超过一个心动周期即有心室颤动风险),后果 = 致命或永久性心脏损伤,S3 成立。关键判定:S 评的是「如果出事,最严重可信后果」,而不是「每次出事的平均后果」——哪怕单次发生概率极低(百万分之一量级),只要致命后果在物理上可信(电压+能量已越过人体安全阈值),就 S3。
E4 — 理由:OBC 家充每天持续约 2–8h,车辆不行驶时大量时间处于 OS-1;按 SAE J2980 对暴露的分级,持续/高频运行情境归 E4。E 是车辆处于该运行情境的时间占比,是客观运行 profile,与元件可靠性无关,E4 成立。
C3 — 理由:用户无法感知 HV 直流漏电(无声无光无振动,400V DC 体感阈值远高于工频 AC),且充电中继电器闭合、HV 已接入底盘,断枪不能立即解除危险(K1/K2 断开需 SM 动作,而 SM 此时已失效)。用户几乎无逃逸手段,C3 成立。与「C 评乐观」反模式的对比:若工程师假设「用户能听到报警就拔枪」而把 C 降到 C2,就犯了在故障场景下仍假设 SM(报警)可用的错——评 C 不能假设触发 HE-1 的那个 SM 还能正常报警(SM 失效正是 HE-1 发生的前提)。
ASIL D 查表:S3, E4, C3 → ASIL D(经 ISO 26262-3:2018 Table 4 核实:S3 行 E4 段 C3 列 = D,即三维极值组合)。
14.5 Safety Goal 推导(HE-1、HE-3、HE-4、HE-6)
每个 ASIL ≥ A 的 HE 对应一个 Safety Goal。
SG-1(源自 HE-1、HE-6)…
SG-1(源自 HE-1、HE-6): OBC shall prevent hazardous voltage (> 60V DC) on the vehicle chassis from persisting longer than FTTI = 100 ms after detection of an isolation failure.
- ASIL: D
- Safe State: HV relays K1/K2 open(高压完全与底盘断开)
- FTTI: 100 ms(见 §14.6 推导)
SG-2(源自 HE-3): OBC…
SG-2(源自 HE-3): OBC shall not deliver voltage exceeding the BMS-commanded upper limit + 5V margin for more than FTTI = 200 ms.
- ASIL: D
- Safe State: Charging suspended, K1/K2 open
- FTTI: 200 ms(Li 电芯可耐受轻度短暂过压,持续超约 200 ms 后 SEI 分解/析锂加速;具体阈值随电芯化学与 SOC 变,量产需电芯厂 spec 校核)
SG-3(源自 HE-4): OBC…
SG-3(源自 HE-4): OBC shall not deliver current exceeding 1.1× BMS-commanded limit for more than FTTI = 50 ms.
- ASIL: D
- Safe State: Charging suspended
- FTTI: 50 ms(电流失控温升速率约 1–5°C/s,初期可逆,数十 ms 后进入不可逆热累积区;50 ms 为保守工程取值,需热-电化学模型细化)
14.6 FTTI 时序拆分(以 SG-1 为例)
FTTI = 100 ms 被分配给三段(各段时间由架构设计师定,需在 TSR/FSC 中落地)。
| 时序段 | 含义 | 典型分配 |
|---|---|---|
| tdetect | ISO 监测从绝缘阻抗恶化 → MCU 触发告警 | ≤ 20 ms(取 ISO 检测周期快端,需系统定) |
| treact | MCU 告警 → 触发 K1/K2 断开驱动信号 | ≤ 5 ms(软件任务周期 1–5 ms) |
| tsafe | K1/K2 线圈失电 → 物理断开 | ≤ 30 ms(HV 继电器机械动作典型 10–30 ms;需 K1/K2 器件 datasheet 核) |
| 合计 | tdetect + treact + tsafe | ≤ 55 ms < 100 ms FTTI,裕量 45 ms |
工程含义:若 ISO 监测周期用到最慢的 100 ms,则 tdetect 超标、整链超 FTTI——这就是 ISO 监测周期必须 ≤ 20 ms 的硬约束来源。它反过来决定 MCU 任务规划(不得把 ISO 监测塞进低优先级 50 ms 任务)。
15. Gotcha 链(7 条 — 功能安全 HARA 域高频陷阱)
HARA 的 gotcha 与开关电源的不同——大多数错误在评审流程和概念混淆层,而非公式推导层。以下 7 条是从真实 OEM/Tier1 项目中归纳的高频错误链。
Gotcha-1: S 评「设计可信度」而非「物理后果」。工程师对自己的设计有信心,会把 S 评低:「我们的 HV 继电器双冗余,焊死概率极低,所以 S2 够了」。根本错误:S 评的是危险事件真实发生时的后果严重度,与发生概率无关(概率是 E 和故障率的工作)。一旦 HV 暴露,无论继电器多好,物理后果都是 S3。把低发生概率混入 S 评,会系统性地把整个 ASIL 降一到两档,导致 SM 投入严重不足。修法:S 评论证时明确只讨论「如果这个危险事件发生,最严重可信后果是什么」,把「多低概率」从这一栏完全隔离出去。
Gotcha-2: E 评用故障率而非运行概率。工程师查 FIT 数据:「我们的传感器 FIT = 10,非常可靠,所以 E 只需 E1」。根本错误:E 是车辆处于该 operational situation 的时间占比(SAE J2980),不是元件故障率。OS-1(充电中)每天持续 4–8h,E4 是客观运行数据,与传感器好坏无关。ISO 26262-3:2018 §6.4.3 明确把 E 定义为运行情境的暴露概率,不能用 FIT 替代。把 FIT 当 E,会把 ASIL 降级,而 SM 要求也随之宽松——刚好在最危险的高频场景留下保护空洞。
Gotcha-3: C 评「系统 safe 后」而非「故障瞬间」。工程师说:「我们有报警系统,用户听到警告后会拔枪,C2 足够」。隐蔽逻辑错误:报警系统是一个安全机制,HARA 阶段评 C 时,该 SM 可能已经失效(正是你在分析的故障场景)。C 评必须在**「SM 也失效」或「SM 无法工作」**的前提下评用户可控性。正确做法:把「报警响应」作为 FSC 阶段的 SM 加入,在 SM 独立失效率和有效性中论证,而不是在 HARA 的 C 评中预先计入。
Gotcha-4: n/a 格留白让审计判 NC。工程师跳过了「HE-5 V2G 反馈在 OS-1 充电中」这个组合,认为「V2G 模式不会在 OS-1 下发生,不用填」。审计问题:空格等于「未分析」,审计员会标 Not Conformant。正确做法:即使是 n/a 组合,也必须填写「n/a — 因为 OS-X 和 HazY 物理上互斥(理由)」,作为 Safety Case 的 completeness evidence。
Gotcha-5: BMS 已保护所以 OBC ASIL 可降。工程师说:「过充由 BMS 保护,BMS 已 ASIL D,OBC 不需要重复达到 ASIL D」。根本问题:HARA 是 item-level 分析,OBC 是独立 item。在 OBC 的 HARA 里,不能假设另一个 item(BMS)会提供保护(那是 FSC 里的 SM apportionment 工作,且需要 DFA 验证 BMS 和 OBC 无共因失效)。HARA 中写 OBC HE 的 ASIL,不能因「BMS 有 SM」而降档。只有在 FSC 阶段做正式 apportionment 并论证 BMS SM 独立性后,才能降 OBC 架构的 ASIL 要求。
Gotcha-6: FTTI 与充电控制周期混淆。工程师设 FTTI = 10s,理由是「充电控制 PID 周期 10s 足够响应」。根本混淆:FTTI 是物理/人体安全的时间约束(从故障到伤害发生的物理时间窗),而不是控制响应时间。电化学热失控一旦开始,10s 内会进入不可控相(见 §14.5 SG-3 的 50 ms 推导)。用控制周期代替 FTTI,会让 SM 的响应时间预算完全错误——SM 必须快得多。
Gotcha-7: HARA 冻结后从不更新(Living doc 失守)。HARA 在 M3 写完归档,项目后期 OBC 增加了 V2G 双向功能(M8 ECO)。工程师认为「功能只是增加了,安全性更好了」,未触发 HARA 更新。实际后果:V2G 引入了反向电流路径,产生了新的 HE(如 HE-5,G2V 无法停止导致电网侧过流)。漏识别该 hazard 让其 ASIL 默认等于 QM,而实际应分析。触发规则:任何 Item Definition 变更(新功能/模式/接口/OS 范围)都必须触发 HARA 影响分析,有变化必须更新 HARA,并重审所有受影响的 SG/FTTI。
16. Corner 分析(3 条 — 边界工况下 HARA 判断如何变化)
边界工况不是例外,而是 HARA 必须覆盖的设计点——S/E/C 在边界处的变化直接决定 ASIL 是否降档。
Corner-1: 商用车/卡车 vs 乘用车。同一台 OBC 装到卡车,运行 profile 变:卡车每日充电频率较低、更多时间在行驶,OS-1(充电中)的暴露可能从 E4 降到 E3——则 HE-1 变 S3/E3/C3,经 Table 4 查得 ASIL C(D 降一档到 C)。另一方向,卡车维修工况 OS-5 的司机多为职业人员、对 HV 更有意识,C 可能从 C3 降到 C2,对应 HE 也随之降档。结论:不同应用场景 HARA 不能共用,必须分开做(或在 Item Def 里明确声明 intended vehicle class)。若 OBC 作为 SEooC 认证,其 AoU(Assumptions of Use,ISO 26262-10 SEooC 指南)必须包含 vehicle class 的 E 前提。
Corner-2: 封闭车库充电 vs 开放空间充电。HE-7(OBC 过热起火)在封闭车库(烟气积累 + 无法快速逃离)的 C 评应从 C2 升到 C3,则 S3/E4/C3 查表得 ASIL D,比开放空间的 S3/E4/C2 = ASIL C 高一档。若只按「开放空间」评 C2,则封闭场景的用户保护被系统性低估。正确处理:在 OS catalog 中把充电地点拆分(OS-1a 开放充电桩 / OS-1b 地库/封闭停车场),分别评 C,取最严 ASIL 作为 SG。
Corner-3: 紧急救援人员的 Exposure。碰撞后(OS-6),HE-8 的 E 通常评 E1(事故罕见)。但若 item 装在救援车辆(消防 EV)上,救援人员在 OS-6 中的暴露可能更高(日常接触事故车辆),E 可能从 E1 升到 E3;同时救援人员受过培训,C 可能从 C3 降到 C1。两者变化方向相反:E 上升让 ASIL 趋高、C 下降让 ASIL 趋低,合计影响取决于具体 S/E/C 三维组合(如 S3/E3/C1 与 S3/E1/C3 经 Table 4 同为 ASIL A)。通用原则:若 item 的用户群体超出「普通驾驶员」(如专业维修工、消防员),必须在 HARA 中单独建 OS 并评 C。
核心要点
- 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 分支自动检查
- 22kW V2G OBC 端到端 worked design(§14):8 条 HE 的 S/E/C 逐维论证 + Table 4 核实(HE-1 S3/E4/C3=D、HE-5 S2/E2/C2=QM、HE-2/HE-8 S3/E1/C3=A);SG-1 FTTI=100 ms 拆成 tdetect ≤ 20 / treact ≤ 5 / tsafe ≤ 30 ms
- 7 条 HARA gotcha + 3 条 corner(§15/§16):S 混概率、E 用 FIT、C 假设 SM 可用、BMS 降 OBC ASIL、FTTI 混控制周期是最高频错;封闭车库把 HE-7 从 C 升 D(C2→C3)
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