4. 概念阶段:从零到HARA,再到功能安全概念

概念阶段,说白了就是回答三个问题:我们要做什么?会出什么危险?怎么防止危险?

我见过不少团队,一上来就急着写代码、画原理图。结果做到一半,发现ASIL等级定错了,安全目标没对齐,整个项目推倒重来。嗯,这种坑,踩一次就够了。

4.1 项目定义:把边界画清楚

项目定义不是写个产品名称就完事。你得把功能、系统边界、运行场景、已知风险全列出来。

项目定义要素 内容示例 我的经验
系统功能 电动助力转向(EPS) 别漏掉“非安全功能”,比如诊断模式
运行模式 正常驾驶、泊车、紧急避让 每种模式都要单独分析
系统边界 传感器→ECU→执行器 接口定义越细,后面HARA越顺
外部依赖 CAN总线、电源、驾驶员输入 我曾经漏了“驾驶员误操作”,后来补了3版
我的习惯:项目定义阶段,我会拉上系统工程师、硬件负责人、软件负责人一起过一遍。哪怕花半天时间,也比后面返工强。

4.2 安全生命周期启动:不是走流程,是定基调

安全生命周期启动,很多人觉得就是开个kick-off会议,签个字。其实不然。

我个人习惯在启动阶段做三件事:

  1. 确认安全计划模板——每个阶段交付物、评审节点、责任人
  2. 对齐ASIL分解策略——如果项目涉及多个ASIL等级,提前规划
  3. 建立安全档案——所有安全相关文档的版本管理、变更流程
避坑指南:我曾经在一个项目里,安全生命周期启动只开了半小时会。结果做到HARA时,发现项目定义里少了“倒车场景”,整个HARA重做。启动阶段多花1小时,后面省10小时。

4.3 危害分析与风险评估(HARA)实战

HARA是整个概念阶段的核心。它决定了你的系统哪些功能需要安全机制,以及需要多高的ASIL等级。

4.3.1 HARA三要素:S、E、C

ISO 26262把风险量化成三个维度:

  • S(Severity):伤害严重度——S0到S3
  • E(Exposure):暴露概率——E0到E4
  • C(Controllability):可控性——C0到C3

ASIL等级 = S × E × C 的组合结果。QM最低,ASIL D最高。

S E C ASIL
S1 E2 C1 ASIL A
S2 E3 C2 ASIL B
S3 E3 C2 ASIL C
S3 E4 C3 ASIL D
关键点:HARA不是一次性的。项目变更、场景新增、法规更新,都要重新评估。我见过一个项目,因为没更新HARA,导致安全目标与实际情况脱节,最后认证被退回。

4.3.2 HARA实战步骤

我一般按这五步走:

  1. 列出所有功能——包括正常功能和故障模式
  2. 识别危害事件——每个功能在每种场景下可能出什么问题
  3. 评估S、E、C——用表格打分
  4. 确定ASIL等级——查表得出
  5. 定义安全目标——每个危害事件对应一个安全目标

举个例子,电动助力转向的“非预期转向”危害:

  • S = 3(高速失控可能致命)
  • E = 3(每次驾驶都可能发生)
  • C = 2(驾驶员很难快速纠正)
  • ASIL = D
我的经验:HARA表格里,我习惯加一列“备注”,记录评估依据。这样评审时,别人能看懂你的判断逻辑,减少争议。

4.4 功能安全概念(FSC):把安全目标变成具体措施

HARA做完,你有了安全目标。但怎么实现?这就是FSC的事。

FSC的核心是:每个安全目标,至少有一个功能安全措施。措施可以是检测、响应、降级、冗余等。

4.4.1 FSC输出物

  • 功能安全需求——每个安全目标分解成若干条需求
  • 安全机制分配——哪个模块负责检测,哪个模块负责响应
  • 故障容错时间间隔(FTTI)——从故障发生到安全措施生效的最大时间
  • 安全状态定义——系统进入什么状态才算安全(比如:降功率、关断、报警)

4.4.2 FSC示例:EPS非预期转向

安全目标 功能安全需求 安全机制 FTTI 安全状态
防止非预期转向 当检测到扭矩传感器信号异常时,在100ms内切断助力 扭矩传感器自检 + 看门狗 100ms 助力关闭,手动转向可用
防止非预期转向 当电机位置传感器故障时,在50ms内切换到冗余传感器 双传感器冗余 + 交叉校验 50ms 冗余模式运行
避坑指南:我曾经写FSC时,把FTTI设得太理想化。结果硬件实现时发现,传感器采样周期+通信延迟+软件处理时间,根本达不到。后来我学乖了,FSC阶段就和硬件、软件团队对齐时间参数。

4.5 概念阶段知识体系总览

下面这张图,是我自己总结的概念阶段核心流程。每次做新项目,我都会贴墙上对照。

概念阶段知识体系流程图 概念阶段核心流程 项目定义 安全生命周期启动 HARA 功能安全概念(FSC) 说明: 1. 项目定义是基础,边界不清后面全乱 2. HARA输出安全目标,FSC把目标变成具体需求 3. 虚线箭头表示项目定义变更时,FSC需要同步更新

4.6 概念阶段常见问题与避坑

  • 问题1:项目定义太粗——导致HARA场景不全。我建议至少列出10个以上运行场景。
  • 问题2:HARA打分主观——同一个危害,不同人打分可能差一个等级。我的做法是:拉上3个人背靠背打分,取交集。
  • 问题3:FSC与HARA脱节——安全目标写得很漂亮,但FSC里找不到对应措施。每一条安全目标,必须有一条FSC需求对应。
  • 问题4:忽略非安全功能——比如诊断模式、刷写模式,这些场景也可能触发危害。
总结一句话:概念阶段做扎实了,后面设计、验证、生产阶段才能顺。我见过太多项目,概念阶段赶进度,结果在认证阶段补了3个月的窟窿。