4、功能安全目标与安全状态:安全目标定义、安全状态设计、故障容错时间间隔(FTTI)、安全机制触发条件

好,咱们进入第四章。这一章讲的是功能安全里最核心的几个概念——安全目标、安全状态、FTTI,还有触发条件。说白了,就是回答三个问题:要保什么?保不住时怎么办?多快必须反应?

我在项目里见过不少工程师,把安全目标写得像散文,把安全状态设计得过于理想化。结果一跑FMEA,发现根本实现不了。嗯,咱们今天就把这些坑一个个填上。

4.1 安全目标定义——别写成“系统不能失效”

安全目标(Safety Goal)是功能安全活动的“北极星”。它必须具体、可验证、可分配。

我个人习惯用这个模板来写:

“当[特定故障]发生时,系统应在[FTTI]内进入[安全状态],且[某个危害事件]的发生概率低于[ASIL等级对应的阈值]。”

举个例子,别这么写:

  • ❌ “转向系统不能失效” —— 太模糊,没法验证
  • ✅ “当转向扭矩传感器信号丢失时,系统应在100ms内进入降级模式,方向盘手力不超过5Nm,避免非预期转向”

我在做EPS项目时,遇到过安全目标写的是“转向助力不能突然消失”。结果评审时被安全专家怼了:“突然消失是多久?1ms还是1s?消失到什么程度?” 从那以后,我要求所有安全目标必须带上时间、幅度、边界条件

安全目标三要素:

  • 故障场景:什么故障?什么条件下?
  • 安全状态:进入什么状态?
  • 时间约束:多快必须完成?

4.2 安全状态设计——不是只有“断电”一条路

安全状态(Safe State)是系统在检测到故障后,要进入的一种可接受的风险水平的状态。很多新手以为安全状态就是“关机”,其实不然。

常见的几种安全状态:

安全状态类型 说明 典型应用
完全关闭 系统断电,所有执行器归零 安全气囊ECU
降级模式 部分功能关闭,保留基础功能 制动系统(保留机械备份)
维持输出 保持当前输出值不变 油门踏板位置保持
受限操作 限制功率/速度/扭矩 电机控制器(限速30km/h)

我曾经设计过一个线控制动系统,安全目标要求“制动失效时进入安全状态”。一开始我们设计的是“断电,让制动踏板硬连接”。结果发现,断电后踏板力会突然变重,驾驶员根本踩不动。这反而更危险!

后来我们改成了“保持当前制动压力,同时点亮警告灯,允许驾驶员用更大脚力继续制动”。你看,安全状态不是一刀切,得结合人因工程。

设计安全状态时,问自己三个问题:

  1. 这个状态真的比故障前更安全吗?
  2. 驾驶员/乘客能理解并应对这个状态吗?
  3. 从故障到进入安全状态,会不会引入新的危害?

4.3 故障容错时间间隔(FTTI)——别让安全机制“迟到”

FTTI(Fault Tolerant Time Interval)是从故障发生到系统进入安全状态所允许的最大时间。说白了,就是安全机制的“死线”

FTTI 由两部分组成:

  • 故障检测时间(FDT):从故障发生到被检测到
  • 故障反应时间(FRT):从检测到故障到进入安全状态

公式很简单:FTTI ≥ FDT + FRT

但实际项目中,我经常看到有人把FTTI设得太紧。比如某个项目要求“转向助力丢失后50ms内进入安全状态”。结果一算,传感器诊断周期就要20ms,MCU处理要10ms,执行器响应要15ms,加起来45ms。看起来够,但没考虑余量。一旦温度升高、晶振漂移,就超了。

避坑指南: 我曾经因为FTTI余量留得太少,导致某批次ECU在高温环境下安全机制超时。从那以后,我要求FTTI分配时至少留20%的余量。另外,别忘了考虑多故障叠加的情况——两个故障同时发生,FTTI怎么算?

不同ASIL等级对FTTI的典型要求:

ASIL等级 典型FTTI范围 说明
ASIL A 100ms ~ 1s 非关键系统,如车窗
ASIL B 10ms ~ 100ms 中等关键,如雨刮
ASIL C 1ms ~ 10ms 关键系统,如制动
ASIL D < 1ms 极高安全,如转向、气囊

你想想看,如果安全气囊的FTTI是1ms,那你的诊断电路必须在几百微秒内完成检测。这可不是随便一个MCU能搞定的,得用硬件比较器或者专用ASIC。

4.4 安全机制触发条件——别让误触发害了你

安全机制不是越灵敏越好。触发条件设得太松,故障漏报;设得太紧,误报频发。误触发会导致系统频繁进入安全状态,用户体验极差。

我见过一个项目,因为电压监测阈值设得太窄,每次发动机启动时电压波动都会触发“电源故障”,导致系统重启。后来我们把阈值放宽了10%,并加入了去抖时间(比如连续3次采样超限才触发),问题就解决了。

常见的触发条件设计原则:

  • 阈值+时间窗口:比如“电压低于4.5V且持续超过10ms”
  • 多级触发:轻度故障只报警,严重故障才进入安全状态
  • 冗余确认:两个独立通道同时检测到故障才触发
  • 自恢复机制:某些瞬态故障允许系统自动恢复,不用一直停在安全状态

触发条件设计检查清单:

  1. 是否考虑了噪声和瞬态干扰?
  2. 触发阈值是否覆盖了所有工作温度范围?
  3. 是否有防抖/滤波机制?
  4. 误触发率是否可接受?
  5. 触发后是否有记录(DTC)以便后续分析?

嗯,这一章的内容就这些。安全目标、安全状态、FTTI、触发条件,这四个概念是功能安全设计的基石。你想想看,如果连“要保什么”都没说清楚,后面的安全机制设计就是空中楼阁。

下一章咱们聊聊安全架构——怎么用硬件和软件的组合拳,把这些安全目标落地。