4. 概念阶段:从零到HARA,再到功能安全概念
概念阶段,说白了就是回答三个问题:我们要做什么?会出什么危险?怎么防止危险?
我见过不少团队,一上来就急着写代码、画原理图。结果做到一半,发现ASIL等级定错了,安全目标没对齐,整个项目推倒重来。嗯,这种坑,踩一次就够了。
4.1 项目定义:把边界画清楚
项目定义不是写个产品名称就完事。你得把功能、系统边界、运行场景、已知风险全列出来。
| 项目定义要素 | 内容示例 | 我的经验 |
|---|---|---|
| 系统功能 | 电动助力转向(EPS) | 别漏掉“非安全功能”,比如诊断模式 |
| 运行模式 | 正常驾驶、泊车、紧急避让 | 每种模式都要单独分析 |
| 系统边界 | 传感器→ECU→执行器 | 接口定义越细,后面HARA越顺 |
| 外部依赖 | CAN总线、电源、驾驶员输入 | 我曾经漏了“驾驶员误操作”,后来补了3版 |
我的习惯:项目定义阶段,我会拉上系统工程师、硬件负责人、软件负责人一起过一遍。哪怕花半天时间,也比后面返工强。
4.2 安全生命周期启动:不是走流程,是定基调
安全生命周期启动,很多人觉得就是开个kick-off会议,签个字。其实不然。
我个人习惯在启动阶段做三件事:
- 确认安全计划模板——每个阶段交付物、评审节点、责任人
- 对齐ASIL分解策略——如果项目涉及多个ASIL等级,提前规划
- 建立安全档案——所有安全相关文档的版本管理、变更流程
避坑指南:我曾经在一个项目里,安全生命周期启动只开了半小时会。结果做到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实战步骤
我一般按这五步走:
- 列出所有功能——包括正常功能和故障模式
- 识别危害事件——每个功能在每种场景下可能出什么问题
- 评估S、E、C——用表格打分
- 确定ASIL等级——查表得出
- 定义安全目标——每个危害事件对应一个安全目标
举个例子,电动助力转向的“非预期转向”危害:
- 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 概念阶段知识体系总览
下面这张图,是我自己总结的概念阶段核心流程。每次做新项目,我都会贴墙上对照。
4.6 概念阶段常见问题与避坑
- 问题1:项目定义太粗——导致HARA场景不全。我建议至少列出10个以上运行场景。
- 问题2:HARA打分主观——同一个危害,不同人打分可能差一个等级。我的做法是:拉上3个人背靠背打分,取交集。
- 问题3:FSC与HARA脱节——安全目标写得很漂亮,但FSC里找不到对应措施。每一条安全目标,必须有一条FSC需求对应。
- 问题4:忽略非安全功能——比如诊断模式、刷写模式,这些场景也可能触发危害。
总结一句话:概念阶段做扎实了,后面设计、验证、生产阶段才能顺。我见过太多项目,概念阶段赶进度,结果在认证阶段补了3个月的窟窿。