一、HARA基础概念:什么是HARA、HARA在ISO 26262中的位置、HARA与功能安全的关系

各位工程师朋友,咱们今天聊聊HARA。说实话,我刚入行功能安全那会儿,听到HARA这个词也是一脸懵。后来做了几个项目才明白,这东西说白了就是功能安全的"体检报告"——你得先搞清楚系统哪里会出问题,出问题有多严重,才能对症下药。

1.1 什么是HARA?

HARA的全称是Hazard Analysis and Risk Assessment,中文叫"危害分析与风险评估"。我个人的理解是:它是一套系统化的方法,用来识别电子电气系统的潜在危害,并评估这些危害可能带来的风险

你想想看,一辆车在高速上跑着,突然刹车失灵了——这就是危害。但危害不等于风险。如果这个刹车失灵只发生在停车场的低速挪车场景,那风险就低得多。HARA要做的,就是把"危害"和"风险"这两个东西量化出来。

核心要点:

  • 危害(Hazard):系统或功能失效导致的潜在伤害源
  • 风险(Risk):危害发生的概率 × 危害的严重程度
  • HARA:把模糊的"可能出问题"变成可量化的安全等级

我在项目中遇到过一件事:有个同事觉得HARA就是走个过场,随便填填表格就行。结果评审的时候被安全专家问住了——"你这个危害场景的暴露概率是怎么算的?" 嗯,从那以后他再也不敢糊弄了。

1.2 HARA在ISO 26262中的位置

ISO 26262是汽车功能安全的国际标准,它把整个开发流程分成了多个部分。HARA出现在哪里呢?我直接给你看这张表:

ISO 26262 部分 内容 HARA的角色
Part 3:概念阶段 项目定义、HARA、功能安全概念 核心位置,决定安全目标
Part 4:系统级开发 技术安全概念、系统设计 输入来源,指导安全机制设计
Part 5:硬件级开发 硬件设计、硬件安全要求 提供ASIL等级约束
Part 6:软件级开发 软件设计、软件安全要求 同样受ASIL等级约束

说白了,HARA是ISO 26262概念阶段的核心产出。没有HARA,你后面的安全目标、功能安全概念、技术安全概念全都是空中楼阁。我习惯把HARA比作盖房子的地基——地基没打好,上面盖得再漂亮也没用。

个人经验: 在项目启动阶段,我建议花至少20%的时间在HARA上。很多团队急着写代码、画原理图,结果HARA草草了事,后期返工的成本往往是前期的5-10倍。

1.3 HARA与功能安全的关系

功能安全的核心思想是:当系统发生故障时,要能保证不造成不可接受的人身伤害。而HARA就是实现这个目标的"第一步棋"。

我举个例子你就明白了。假设你设计一个电动助力转向系统:

  • 没有HARA:你直接写代码,做测试,觉得"应该没问题"
  • 有HARA:你先分析——如果转向助力突然消失会怎样?如果转向角度错误会怎样?如果转向卡死会怎样?

然后HARA会告诉你:转向卡死这个危害,在高速场景下严重度是S3(致命级),暴露概率是E4(高频率),可控性是C3(驾驶员几乎无法控制)。最终算出来ASIL D——最高安全等级。这时候你就知道,必须设计冗余的转向路径、故障检测机制、降级策略。

避坑指南: 我曾经见过一个团队,HARA分析时把"转向卡死"的严重度定成了S2(重伤级),理由是"驾驶员可以用力转动方向盘"。结果呢?实际测试中发现,在80km/h的速度下,驾驶员根本掰不动卡死的转向机。这就是典型的低估危害——HARA做不好,后面全是坑。

所以HARA和功能安全的关系,我总结成一句话:HARA是功能安全的"眼睛"——它帮你看到那些看不见的风险,然后告诉你该往哪个方向努力。

1.4 一个完整的HARA输出示例

为了让你更直观地理解,我放一个我实际项目中用过的HARA分析表格片段(已脱敏):

| 危害ID | 功能失效       | 危害事件               | 运行场景       | S | E | C | ASIL |
|--------|----------------|------------------------|----------------|---|---|---|------|
| H-001  | 制动助力丢失   | 车辆无法正常减速       | 高速巡航(120km/h) | 3 | 3 | 3 | D    |
| H-002  | 制动助力丢失   | 车辆无法正常减速       | 低速泊车(5km/h)   | 1 | 3 | 1 | A    |
| H-003  | 转向角度错误   | 车辆偏离预期行驶方向   | 弯道行驶(60km/h)  | 3 | 2 | 3 | C    |
| H-004  | 加速踏板卡滞   | 车辆非预期加速         | 市区拥堵(20km/h)  | 2 | 3 | 2 | B    |

你看,同一个"制动助力丢失",在不同场景下ASIL等级完全不同。这就是HARA的精髓——脱离场景谈危害,都是耍流氓

小技巧: 做HARA时,我习惯先列出所有可能的运行场景(高速、市区、停车场、雨雪天、夜间...),然后再针对每个场景分析危害。这样不容易遗漏。

1.5 总结一下

HARA不是什么高深莫测的东西。说白了就是三件事:

  1. 找危害:系统哪里可能出问题?
  2. 评风险:出问题后果多严重?发生的概率多大?
  3. 定等级:该用多高的安全标准来设计?

在ISO 26262的框架里,HARA是概念阶段的"定海神针"。它决定了你后续所有安全工作的方向和力度。我做了这么多年功能安全,最大的体会就是:HARA做得越细,后面踩的坑越少。别嫌麻烦,这步省下来的时间,后面都会加倍还回去。

下一章,我会带你手把手做一个完整的HARA分析案例。到时候你就知道,这东西其实没那么玄乎,关键是要掌握方法。