1. HARA概述:功能安全背景、ISO26262标准简介、HARA在安全生命周期中的位置

1.1 为什么我们需要功能安全?

说实话,我刚入行那会儿,对功能安全也没啥概念。觉得车能跑就行,搞那么多条条框框干嘛?直到有一次,我参与的一个项目在路试时出了状况——电子助力转向系统在高速上突然失效,驾驶员差点撞上护栏。虽然最后查出来是软件逻辑的边界条件没覆盖到,但那次事故让我彻底明白了:汽车电子系统一旦出问题,是会要人命的

功能安全,说白了就是一套方法论。它帮你系统地识别风险、控制风险。你想想看,现在的车上有几十甚至上百个ECU,线控转向、自动驾驶、制动辅助……这些系统如果乱来,后果不堪设想。

核心观点:功能安全不是“加分项”,而是“保命项”。没有功能安全,智能汽车就是一颗定时炸弹。

1.2 ISO26262标准到底在讲什么?

ISO26262,全称是“道路车辆功能安全标准”。它脱胎于工业领域的IEC61508,但针对汽车行业做了大量定制。我记得第一次翻开这个标准时,看到那几百页的文档,头都大了。但后来我发现,你不需要背下所有条款,关键是理解它的核心逻辑

ISO26262的核心思想就一句话:把风险降到可接受的水平。怎么降?它给了你一套完整的流程:

  • 危害识别:找出系统可能出什么幺蛾子
  • 风险评估:判断这个幺蛾子有多严重
  • 安全目标:定下“不能发生”的底线
  • 安全措施:用硬件、软件、机制来兜底

标准把整个过程分成了几个部分:Part 1到Part 10。其中Part 3(概念阶段)和Part 4(系统级开发)是我们做HARA最常打交道的部分。

我的小建议:别一上来就啃标准原文。先看Part 3和Part 10(指南),把框架搭起来,再回头细看其他部分。我当年就是硬啃,结果一个月没搞明白ASIL到底怎么定。

1.3 HARA在安全生命周期中的位置

好,现在咱们聊聊HARA。HARA的全称是Hazard Analysis and Risk Assessment,中文叫“危害分析与风险评估”。它在安全生命周期里处于什么位置呢?

我习惯把安全生命周期分成三个阶段:

  1. 概念阶段:定义系统、做HARA、定安全目标
  2. 开发阶段:设计、实现、测试
  3. 生产运维阶段:量产、售后、报废

HARA就在概念阶段,而且是第一步。为什么?因为你不先搞清楚“这系统可能怎么死”,后面的设计全是瞎忙活。我见过一个团队,花了大半年把硬件做出来了,结果HARA一做,发现ASIL等级定低了,安全机制不够,整个方案推倒重来……那叫一个惨。

注意:HARA不是做一次就完事的。当系统需求变更、新增功能、或者发现新的失效模式时,HARA需要迭代更新。我曾经在一个项目里,HARA文档改了7版,每次改都像剥一层皮。

1.4 HARA到底产出什么?

HARA的产出,说白了就是三样东西:

产出物 说明 我的经验
危害清单 列出所有可能的危害事件 别漏了“非预期加速”这种常见项
ASIL等级 每个危害的严重度、暴露率、可控性 ASIL D不是终点,能降到B就别硬上D
安全目标 每个危害对应的“不能发生”的陈述 安全目标要写清楚,别含糊

举个例子。你做一个电子制动系统,HARA发现“制动助力突然失效”这个危害。你评估下来:严重度S3(可能致命),暴露率E4(每次开车都可能遇到),可控性C2(驾驶员有一定控制能力)。查表,ASIL等级是C。于是你定下安全目标:“制动助力失效时,系统必须在100ms内切换到机械备份模式,且驾驶员能通过仪表盘获得明确警告。”

嗯,这样写,开发团队就知道该干什么了。

1.5 避坑指南:新手做HARA最容易犯的错

我这些年评审过不少HARA文档,发现几个高频问题:

  • 危害定义太笼统:比如“系统失效”,这等于没说。要具体到“转向助力在车速>80km/h时突然丧失”。
  • ASIL等级拍脑袋:有人觉得“这个功能很重要,直接给ASIL D吧”。不对!ASIL是评估出来的,不是拍出来的。
  • 忽略组合危害:两个不太严重的危害同时发生,可能变成大问题。比如“制动失效”+“警告灯也失效”,那驾驶员就完全蒙了。

我曾经踩过的坑:有一次做HARA,我漏掉了“系统在低温环境下响应延迟”这个危害。结果冬天路试时,制动响应慢了200ms,差点出事。从那以后,我每次做HARA都会专门加一列“环境因素”,把温度、湿度、电磁干扰都考虑进去。

1.6 小结

HARA是整个功能安全工作的起点,也是基石。它决定了你后续所有安全活动的方向和力度。做得好,后面的开发顺风顺水;做得糙,后面全是补丁和返工。

我个人习惯,在项目启动的第一周就把HARA的初稿拉出来。哪怕不完整,也要有个框架。然后边开发边迭代。这样,安全就不是“事后补票”,而是“从一开始就设计进去”。

下一章,咱们会深入讲HARA的具体步骤——怎么识别危害、怎么评估ASIL、怎么写安全目标。到时候我会拿一个真实项目案例来拆解,保证你听完就能上手。