3. 功能安全概念(FSC)与安全目标:安全目标定义、功能安全概念导出、安全状态与容错时间间隔

好,我们进入第三章。这一章是功能安全落地的第一个关键节点——从纸上谈兵到具体设计的桥梁。

说白了,前面我们做了HARA,找到了危害,定了ASIL等级。但接下来呢?你得告诉工程师们:到底要防什么?怎么防?防不住的时候怎么办?

这就是功能安全概念(FSC)要干的事。

3.1 安全目标(Safety Goal)—— 顶层安全需求

安全目标,是HARA的直接输出。每个危害事件,都会对应一个安全目标。

安全目标的定义原则:

  • 一句话说清楚:“避免[危害事件]发生”
  • 必须包含安全状态:“当检测到[故障]时,系统应在[时间]内进入[安全状态]”
  • 继承ASIL等级:安全目标的ASIL直接来自HARA中对应危害的最高ASIL

举个例子:

EPS(电动助力转向)系统的一个危害:非预期转向导致车辆偏离车道。

对应的安全目标:
SG-01:避免EPS产生非预期助力扭矩,ASIL D。
SG-01的安全状态:EPS切断助力,进入“降级助力模式”,驾驶员仍可机械转向。

我个人习惯,在定义安全目标时,会加一个“容错时间间隔”的初步估计。虽然这个值在后续会细化,但早期有个量级概念,对架构设计很有帮助。

安全目标要素 说明 示例(EPS)
危害描述 HARA输出的危害事件 非预期转向
安全目标 避免危害发生的顶层要求 避免EPS产生非预期助力扭矩
ASIL 继承自HARA ASIL D
安全状态 故障时系统应进入的状态 降级助力模式
容错时间间隔 从故障发生到进入安全状态的最大允许时间 ≤ 100ms

避坑指南:我曾经见过一个项目,安全目标写成了“系统应可靠工作”。这等于没写。安全目标必须具体到“避免什么危害”,而不是“系统要可靠”。

3.2 功能安全概念(FSC)—— 把安全目标翻译成系统设计

安全目标是“what”,功能安全概念是“how”。

FSC要做的事:

  1. 分解安全目标:把顶层安全目标,分解到系统的各个功能模块
  2. 定义安全机制:每个子目标,用什么机制来保证
  3. 分配ASIL:如果用了ASIL分解,这里要明确
  4. 定义安全状态:每个故障场景下,系统应该怎么反应
  5. 定义容错时间间隔:每个安全机制必须在多长时间内生效

我建议用表格来管理FSC,清晰且可追溯。

安全目标ID 功能模块 安全机制 ASIL 安全状态 FTTI
SG-01 扭矩传感器 传感器信号合理性检查(范围+斜率) ASIL D 降级助力 ≤ 50ms
SG-01 电机驱动 电机电流监控 + 扭矩监控 ASIL D 切断助力 ≤ 100ms
SG-01 控制器 程序流监控(看门狗) ASIL D 系统复位 ≤ 200ms

我的经验:FSC不要写得太细。它是个“概念”层面的东西,告诉架构师和系统工程师“我们要做什么”。具体怎么实现,那是技术安全概念(TSC)的事。我见过有人把FSC写成详细设计文档,结果评审时大家全在抠细节,反而忽略了顶层逻辑。

3.3 安全状态(Safe State)—— 故障时的“保命模式”

安全状态,是系统在检测到故障后,进入的一种“不会导致危害”的状态。

常见的安全状态类型:

  • 完全关闭:系统彻底断电,比如EPS切断助力
  • 降级模式:系统以受限功能继续运行,比如限速30km/h
  • 维持状态:保持当前输出不变,比如保持当前转向角度
  • 紧急操作:系统执行预设的安全动作,比如自动紧急制动

选择哪种安全状态,取决于危害的严重度和系统的物理特性。

一个真实的案例:

我之前做线控制动系统时,安全状态的选择就很有讲究。

如果直接切断制动助力,驾驶员可能踩不动刹车。所以我们选择了“降级模式”——保留基础助力,但限制最大制动力,同时点亮警告灯。

这个决策,就是在FSC阶段定下来的。

3.4 容错时间间隔(FTTI)—— 与时间赛跑

FTTI(Fault Tolerant Time Interval),是从故障发生到系统进入安全状态的最大允许时间。

这个值怎么定?

  • 从危害分析来:这个故障发生后,多久会导致危害?
  • 从系统响应来:检测故障需要多久?执行安全动作需要多久?
  • 留余量:FTTI必须大于“故障检测时间 + 安全动作执行时间”

我建议在FSC阶段,先给一个保守的FTTI估计。后续在TSC阶段,再通过详细分析来确认。

系统类型 典型FTTI 说明
制动系统 ≤ 100ms 制动响应要求极高
转向系统 ≤ 200ms 驾驶员可短时补偿
动力系统 ≤ 500ms 动力中断容忍度较高
ADAS感知 ≤ 50ms 高速场景下反应时间极短

避坑指南:我曾经犯过一个错误——把FTTI设得太紧。结果硬件团队说“检测时间就要80ms,你让我100ms内完成所有动作?”后来我们重新分析了危害,发现其实200ms也安全。FTTI不是越短越好,而是“刚好够用”就好。

3.5 FSC的导出流程——从安全目标到系统架构

嗯,这里我画了一张图,把整个FSC的导出流程串起来。你一看就明白了。

功能安全概念导出流程 功能安全概念(FSC)导出流程 HARA输出:危害事件 + ASIL 定义安全目标(SG) 分解安全目标到功能模块 定义安全机制 + 分配ASIL 定义安全状态 + 容错时间间隔(FTTI) 输出:功能安全概念(FSC) FSC是安全需求与系统架构之间的桥梁,后续TSC将在此基础上细化实现

这张图把整个流程串起来了。从HARA开始,一步步导出FSC。每个步骤都有明确的输入和输出。

3.6 FSC的评审要点

FSC写完后,一定要评审。我总结了几条评审要点:

  • 完整性:所有安全目标是否都覆盖了?有没有遗漏的危害?
  • 一致性:安全机制之间有没有冲突?比如一个要求切断助力,一个要求保持助力。
  • 可实现性:FTTI是否合理?安全状态是否物理可行?
  • 可追溯性:每个安全机制是否能追溯到安全目标?每个安全目标是否能追溯到HARA?

我的习惯:评审时我会带一张大表,把HARA、安全目标、FSC、安全状态、FTTI全部列在一起。评审专家一眼就能看出哪里缺了、哪里冲突了。这比翻文档高效得多。

好了,这一章的内容就是这些。FSC是功能安全落地的第一步,也是最重要的一步。这一步走稳了,后面的TSC和硬件软件实现就会顺畅很多。