第3章 危害分析与风险评估(HARA):从场景到ASIL的完整链路

HARA,全称 Hazard Analysis and Risk Assessment。说白了,就是回答三个问题:系统哪里会出问题?在什么情况下出问题?后果有多严重?

我在多个座舱项目里都发现,很多团队把HARA当成“填表任务”。填完就扔一边,等评审时再翻出来。这是大忌。HARA的结论会直接影响后续所有安全设计,包括安全目标、功能安全概念、甚至硬件架构。

这一章,我带你走一遍完整的HARA流程。从方法论到实战细节,咱们一步步拆开看。

3.1 HARA方法论:三步走框架

ISO 26262-3:2018 第7章给出了HARA的标准流程。我个人习惯把它归纳为三个核心步骤:

  1. 场景定义 —— 搞清楚车辆在什么运行情况下可能出问题
  2. 危害识别 —— 找出系统级的功能失效会带来什么危害
  3. 风险评估与ASIL定级 —— 用S、E、C三个参数算出安全等级

核心原则:HARA必须基于功能,而不是基于实现。你分析的是“中控屏黑屏”这个功能失效,而不是“LCD驱动芯片坏了”这个硬件故障。先有功能,后有实现,顺序不能乱。

下面这张图展示了HARA的完整逻辑链路。我建议你把它贴在工位上,每次做HARA前看一眼。

HARA 三步走流程框架 HARA 核心流程框架 ① 运行场景定义 车辆状态 + 环境 + 用户行为 ② 危害事件识别 功能失效 → 危害 → 事件 ③ ASIL等级确定 S(严重度) × E(暴露率) × C(可控性) 输出:安全目标 + ASIL等级 💡 关键提醒 • HARA 必须在系统定义完成后、功能安全概念开始前完成 • 每个危害事件必须关联到具体的运行场景 • ASIL 等级一旦确定,后续所有安全活动都要对齐

3.2 运行场景定义:别漏掉“阴雨天高速上小孩乱按”

运行场景,就是车辆可能处于的所有状态组合。ISO 26262 要求覆盖正常运行和故障运行两种模式。

我见过最典型的翻车案例:某团队做仪表盘HARA时,只考虑了“白天、正常驾驶”的场景。结果评审时被安全专家追问:“晚上在高速上,仪表突然黑屏,驾驶员怎么知道车速?” 当场哑火。

场景定义需要覆盖三个维度:

维度 典型参数 举例
车辆状态 车速、驾驶模式、转向/制动状态 静止、低速(0-30km/h)、中速(30-80km/h)、高速(>80km/h)
环境条件 光照、天气、路况、时间 白天/夜晚、晴天/暴雨、城市/高速/隧道
用户行为 驾驶员操作、乘客操作、系统交互 正常驾驶、分心操作、儿童误触、语音指令

我的经验:场景定义阶段,拉上系统工程师、测试工程师、甚至产品经理一起脑暴。一个人想不全所有场景。我曾经在评审会上被测试同事一句话点醒:“如果副驾在调空调,同时导航在播报,中控死机了会怎样?” 这个场景我之前完全没想过。

场景定义完成后,输出一份运行场景清单。每个场景要有唯一编号,方便后续追溯。格式参考:

SC-001: 车辆在高速(>80km/h)正常行驶,白天,晴天,驾驶员专注前方
SC-002: 车辆在城市道路(30-50km/h)行驶,夜晚,小雨,驾驶员正在查看导航
SC-003: 车辆静止(P挡),乘客正在使用娱乐系统观看视频
SC-004: 车辆在高速(>80km/h)行驶,突然进入隧道,光照骤变

3.3 危害事件识别:从功能失效到危害的映射

有了场景,下一步就是识别危害事件。注意,这里说的是危害事件,不是单纯的危害。

危害(Hazard)是系统层面的潜在危险源,比如“中控屏显示错误车速”。危害事件(Hazardous Event)是危害在特定运行场景下实际发生的情况,比如“在高速上中控屏显示的车速比实际低20km/h”。

识别步骤:

  1. 列出所有功能 —— 比如导航、仪表显示、空调控制、语音交互
  2. 分析功能失效模式 —— 输出错误、无输出、输出延迟、输出抖动
  3. 关联运行场景 —— 每个失效模式在哪些场景下会变成危害
  4. 形成危害事件 —— 描述格式:[失效模式] + [场景] → [危害后果]

举个例子:

功能 失效模式 运行场景 危害事件描述
仪表盘车速显示 显示值比实际低20km/h 高速行驶(>80km/h),夜晚 驾驶员误判车速,可能导致超速或追尾
360°全景影像 画面延迟超过2秒 倒车入库,后方有行人 驾驶员未发现后方行人,导致碰撞
语音导航 播报错误转弯方向 城市道路,复杂路口 驾驶员急转弯或逆行,引发事故

⚠️ 避坑指南:我曾经在一个项目中,把“中控屏死机”直接写成了危害事件。评审时被指出:死机本身不是危害,死机导致驾驶员无法查看导航、在高速上错过出口、突然变道才是危害。一定要把后果写清楚,否则ASIL定级会偏。

3.4 ASIL等级确定:S、E、C三参数详解

ASIL,Automotive Safety Integrity Level,汽车安全完整性等级。分四个等级:ASIL A、B、C、D,D是最严格的。QM(Quality Management)表示无需安全措施,按普通质量管控即可。

ASIL由三个参数决定:

  • S(Severity)严重度 —— 危害发生时,对人员伤害的严重程度
  • E(Exposure)暴露率 —— 运行场景发生的概率
  • C(Controllability)可控性 —— 驾驶员或其他人员能否控制住局面

每个参数分4个等级(0-3),查表得出最终ASIL。

3.4.1 严重度 S

S等级 伤害程度 典型场景举例
S0 无伤害 娱乐系统音量突然变大,但驾驶员可忽略
S1 轻伤(可治疗) 空调误启动导致驾驶员轻微分心
S2 重伤(需住院) 导航误导导致车辆驶入逆行车道
S3 致命伤 仪表盘显示错误车速导致高速追尾

3.4.2 暴露率 E

E等级 暴露概率 典型场景举例
E0 几乎不可能 车辆在赛道上以200km/h行驶
E1 很少发生(<1% 驾驶时间) 在无人路段倒车
E2 偶尔发生(1%-10% 驾驶时间) 在雨天行驶
E3 频繁发生(>10% 驾驶时间) 在城市道路行驶、在白天行驶

3.4.3 可控性 C

C等级 可控程度 典型场景举例
C0 完全可控 中控屏亮度异常,驾驶员可手动调节
C1 简单可控 导航语音播报错误,驾驶员可凭经验判断
C2 一般可控 仪表盘显示异常,但驾驶员可通过其他方式获取车速
C3 难以控制 高速上仪表盘黑屏,驾驶员无法获知车速

3.4.4 ASIL查表

有了S、E、C三个值,查下表得到最终ASIL等级:

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

实战技巧:定级时,我习惯先定S和E,再讨论C。因为S和E相对客观,C容易有争议。比如“驾驶员能不能控制”,不同人看法可能完全不同。我的建议是:按最坏情况定C。如果评审时有人质疑,再提供数据或引用场景来降级。

3.5 实战案例:中控屏车速显示功能HARA

咱们拿一个真实场景练练手。假设某智能座舱项目中,仪表盘和中控屏都显示车速。中控屏作为辅助显示,仪表盘是主显示。

功能:中控屏显示当前车速
失效模式:显示值比实际车速高20km/h
运行场景:高速行驶(100km/h),白天,驾驶员偶尔扫一眼中控屏确认车速

分析过程:

  • S(严重度):驾驶员看到车速120km/h,实际只有100km/h。他可能减速,但不会造成直接伤害。但如果有其他车辆突然切入,驾驶员基于错误车速判断刹车距离,可能导致追尾。定级:S2(重伤可能)
  • E(暴露率):高速行驶在总驾驶时间中占比约15%-20%。定级:E3
  • C(可控性):驾驶员还有仪表盘作为主参考,中控屏只是辅助。如果发现异常,可以切换看仪表盘。定级:C1(简单可控)

查表:S2 + E3 + C1 = ASIL A

注意:如果这个功能是仪表盘车速显示,同样的失效模式,S和E不变,但C会变成C2甚至C3(因为仪表盘是主参考,驾驶员没有其他可靠来源)。最终ASIL可能升到B或C。同一个失效,放在不同功能上,等级完全不同。这就是为什么HARA必须基于具体功能+具体场景。

3.6 HARA常见错误与避坑

做了这么多年HARA,我踩过不少坑。挑几个最常见的说说:

  • 场景定义太粗 —— 只写“行驶中”,不写车速、路况、环境。评审时会被追问到崩溃。
  • 危害和失效混为一谈 —— 失效是“中控屏不亮”,危害是“驾驶员看不到导航导致走错路”。两者要分开写。
  • ASIL定级凭感觉 —— 没有数据支撑。比如E值,最好有实际驾驶数据或行业参考,而不是拍脑袋。
  • 遗漏组合场景 —— 比如“夜晚+暴雨+高速”,三个低概率事件组合起来,概率可能不低,但容易被忽略。

⚠️ 我曾经犯过的错:在一个项目中,我把“语音助手误唤醒”的ASIL定成了QM,觉得只是烦人而已。结果客户投诉说,在高速上语音助手突然开始播报音乐,分散了驾驶员注意力,差点出事。后来重新评估,改成了ASIL A。所以,不要轻视任何与驾驶员交互的功能。

3.7 HARA输出物清单

HARA做完后,需要交付以下文档:

输出物 内容 格式
运行场景清单 所有定义的运行场景,含编号和描述 Excel 或 需求管理工具
危害事件清单 每个危害事件的完整描述,含关联场景 Excel 或 需求管理工具
ASIL定级表 每个危害事件的S、E、C值及最终ASIL Excel 或 表格
安全目标草案 每个ASIL等级对应的初步安全目标 需求管理工具
HARA报告 方法论、假设、分析过程、结论 Word 或 PDF

嗯,HARA这部分内容比较多,但它是整个功能安全设计的基石。你花在HARA上的每一分钟,都会在后续开发中省回来。别急,慢慢来,把场景想全,把等级定准,后面就顺了。