3. 功能安全概念(FSC):从目标到文档的完整链路

好,咱们进入功能安全概念(FSC)这个核心环节。说实话,很多工程师觉得FSC就是写写文档,走个过场。但我做了这么多年项目,可以负责任地告诉你——FSC是安全架构的“灵魂”。你后面所有的技术决策,都得从这里找依据。

今天咱们就聊四个关键点:安全目标怎么定、安全状态怎么定义、故障容错时间间隔(FTTI)怎么算,以及FSC文档怎么写。嗯,咱们一个一个来。

3.1 功能安全目标定义:别把目标定成“废话”

安全目标,说白了就是“系统出了某种故障,不能造成什么后果”。比如“转向系统不能因为单点故障导致非预期的转向力矩输出”。

我个人习惯,定义安全目标时一定要问三个问题:

  • 什么故障?(比如传感器失效、通信中断)
  • 什么后果?(比如车辆偏离车道、制动失效)
  • 多严重?(ASIL等级是多少)

我在项目中遇到过一种情况:团队把安全目标写成“系统应可靠工作”。你想想看,这种话说了等于没说。可靠到什么程度?故障了怎么办?完全没讲清楚。

安全目标定义模板(我常用的):
“当[故障描述]发生时,系统应确保[安全行为],以避免[危害事件],达到[ASIL等级]。”

举个例子:

  • 故障:制动踏板位置传感器信号丢失
  • 安全行为:系统应进入降级制动模式,保证至少0.3g的减速度
  • 危害:车辆无法减速导致碰撞
  • ASIL:D

嗯,这样写才叫“可验证的安全目标”。

3.2 安全状态定义:故障来了,系统往哪跑?

安全状态,就是系统检测到故障后,要进入的一个“不会造成危害”的状态。注意,不是所有故障都要立即停车。有时候“降级运行”比“紧急停车”更安全。

我见过一个典型的反面案例:某ADAS系统检测到摄像头故障,直接让车辆急刹。结果呢?后车追尾了。这就是安全状态定义不合理。

常见的几种安全状态:

安全状态类型 描述 适用场景
完全关闭 系统停止所有功能输出 非安全关键功能(如娱乐系统)
降级运行 限制功能范围或性能 转向、制动等关键系统
故障容错运行 使用冗余通道继续工作 线控制动、线控转向
安全停车 受控地减速并停车 自动驾驶系统
我的经验:定义安全状态时,一定要考虑“退出条件”。比如降级运行后,什么时候可以恢复正常?我曾经有个项目,降级后一直不恢复,客户投诉说“车怎么越开越慢”。后来我们加了“故障消失后5秒自动恢复”的逻辑。

3.3 故障容错时间间隔(FTTI):别让系统“反应迟钝”

FTTI,全称Fault Tolerant Time Interval。说白了就是:从故障发生到系统进入安全状态,这段时间不能太长。太长的话,危害已经发生了。

FTTI由两部分组成:

  • 故障检测时间(FDTI):系统发现故障需要多久
  • 故障反应时间(FRTI):系统进入安全状态需要多久

FTTI = FDTI + FRTI

举个例子:制动助力失效,车辆需要在200ms内进入降级制动模式。那么你的故障检测必须在50ms内完成,反应时间控制在150ms内。

注意:FTTI不是拍脑袋定的。它来源于危害分析和风险评估(HARA)。我曾经见过一个项目,团队把FTTI定成1秒,结果分析发现,1秒后车辆已经撞上了。所以,FTTI一定要基于实际的危害场景来推导。

我建议的做法是:

  1. 先确定危害发生的时间窗口(比如从故障到碰撞需要多久)
  2. 留出安全余量(一般取50%的余量)
  3. 分配到检测和反应两个环节

嗯,这里要注意:FTTI不是越短越好。太短了,硬件成本会飙升。你要在安全性和成本之间找平衡。

3.4 功能安全概念文档编写:别写成“天书”

FSC文档,是安全架构的“宪法”。它要回答三个问题:

  • 系统要做什么?(安全目标)
  • 出故障了怎么办?(安全状态、FTTI)
  • 怎么保证这些?(安全机制、冗余策略)

我见过很多FSC文档,写得像天书一样。满篇的“shall”、“should”,但读完了不知道具体怎么实现。说白了,文档是给人看的,不是用来凑字数的。

我常用的文档结构:

章节 内容 示例
1. 范围 系统边界、功能描述 本FSC覆盖EPS系统的转向辅助功能
2. 安全目标 每个安全目标的详细定义 SG-01:避免非预期转向
3. 安全状态 每个安全目标的对应安全状态 SS-01:降级为手动转向模式
4. FTTI 每个安全目标的FTTI分配 SG-01:FTTI ≤ 100ms
5. 安全机制 实现安全目标的具体技术方案 双路传感器冗余、看门狗监控
6. 验证策略 如何验证安全机制有效 故障注入测试、FMEA
避坑指南:我曾经犯过一个错误——把FSC文档写得过于详细,连每个电阻的选型都写进去了。结果评审时,大家只关注细节,忽略了整体安全逻辑。后来我学乖了:FSC只讲“做什么”和“为什么”,具体“怎么做”留给技术安全概念(TSC)去讲。

最后,送你一个写FSC文档的“三字经”:

  • :逻辑清晰,每个安全目标都能追溯到危害
  • :语言简洁,能用一句话说清楚就别用三段
  • :每个安全目标都是可验证的,不能是“系统应可靠”这种废话

好了,FSC这部分就聊到这儿。下一章咱们讲技术安全概念(TSC),到时候会深入聊具体的安全机制设计。嗯,期待一下。