3. 功能安全概念(FSC)开发:安全状态定义、安全机制识别、故障容错时间间隔(FTTI)、安全架构设计原则
好,咱们进入功能安全概念(FSC)开发这个环节。说实话,很多工程师觉得 Hazard Analysis 做完,安全目标一写,后面就是水到渠成的事。其实不然。FSC 才是真正把安全目标「翻译」成工程语言的关键一步。你想想看,安全目标说「电驱不能非预期输出扭矩」,但怎么做到?靠什么机制?多长时间内必须响应?这些才是 FSC 要回答的问题。
我个人习惯把 FSC 开发拆成四个核心模块:安全状态定义、安全机制识别、故障容错时间间隔(FTTI)、安全架构设计原则。咱们一个一个来。
3.1 安全状态定义:出事后,系统该往哪走?
安全状态,说白了就是系统发生故障后,要进入的那个「不会造成危害」的状态。听起来简单,但定义错了,后面全白干。
我在项目中遇到过一件事:某团队把电驱控制器的安全状态直接定义为「下电」。听起来很安全对吧?但实际场景里,高速行驶中突然下电,方向盘助力消失、刹车助力消失,反而更危险。所以安全状态不是越「死」越好,而是要结合车辆动力学来定。
| 安全状态 | 适用场景 | 关键要求 |
|---|---|---|
| 主动短路(ASC) | 逆变器故障、电机失控 | 三相短路,产生制动扭矩,防止飞车 |
| 关断(Shutdown) | 严重过流、过温、通信丢失 | 切断主继电器,进入安全休眠 |
| 降功率运行 | 轻度故障(如传感器漂移) | 限制扭矩输出,维持基本功能 |
| 自由旋转(Freewheel) | 电机侧故障但逆变器正常 | 断开电机与逆变器连接,允许空转 |
这里有个坑:安全状态必须可验证。你不能定义了一个状态,结果发现硬件根本进不去。我曾经见过一个项目,安全状态定义成「进入待机模式」,但待机模式下 MCU 还在跑,看门狗还在喂,结果故障根本没被消除。嗯,后来改成了「硬件强制关断」,直接拉低使能引脚,这才算真正安全。
1. 这个状态真的能消除或减轻危害吗?
2. 系统能在规定时间内进入这个状态吗?
3. 进入这个状态后,会不会引入新的危害?
3.2 安全机制识别:用什么手段来保安全?
安全机制就是用来检测故障、防止故障传播、或者让系统进入安全状态的那些「手段」。说白了,就是你的安全「工具箱」。
我习惯把安全机制分成三类:
- 检测机制:发现故障。比如电压监控、电流传感器自检、通信 CRC 校验。
- 响应机制:故障发生后采取行动。比如触发 ASC、关断 PWM、置位故障码。
- 避免机制:防止故障发生。比如冗余设计、降额设计、物理隔离。
举个例子,电驱控制器里最常见的故障——扭矩监控失效。安全目标是「防止非预期扭矩输出」。那安全机制怎么识别?
- 检测:两个独立扭矩路径(比如旋变 + 电流估算)互相校验,偏差超过阈值则报错。
- 响应:一旦检测到偏差,立即触发主动短路(ASC),同时切断 PWM 输出。
- 避免:扭矩路径的软件跑在不同核上,或者用不同算法实现,避免共因失效。
3.3 故障容错时间间隔(FTTI):你有多长时间来反应?
FTTI,全称 Fault Tolerant Time Interval。这个概念很多人理解偏了。它不是「故障发生后还能撑多久」,而是从故障发生到危害发生之间的时间窗口。换句话说,你必须在 FTTI 内完成「检测 → 判断 → 响应 → 进入安全状态」这一整套动作。
电驱控制器的 FTTI 通常很短。为什么?因为电机转速高,扭矩响应快。一个旋变信号丢失,几十毫秒内就可能产生非预期扭矩。
| 故障场景 | 典型 FTTI | 说明 |
|---|---|---|
| 扭矩监控失效 | 10-50 ms | 取决于车速和电机响应速度 |
| 过流故障 | < 1 ms | 硬件级保护,通常由比较器直接触发 |
| 通信丢失(CAN) | 100-500 ms | 取决于通信周期和超时设定 |
| 过温故障 | 1-10 s | 热惯性大,时间相对充裕 |
这里有个关键点:FTTI 不是由你决定的,而是由危害分析决定的。你算出来 FTTI 是 50 ms,那你的安全机制必须在 50 ms 内完成全部动作。如果硬件响应慢,那就得优化;如果软件调度周期太长,那就得改。
3.4 安全架构设计原则:怎么搭才靠谱?
安全架构设计,不是拍脑袋想出来的。它有一些基本原则,我总结成四条:
- 独立性:安全机制不能依赖它要保护的对象。比如扭矩监控不能和扭矩控制共用同一个传感器。
- 多样性:用不同的方式实现同一个功能,避免共因失效。比如用旋变和霍尔做冗余,而不是两个旋变。
- 故障传播阻断:一个模块故障,不能把其他模块也拖下水。比如电源隔离、信号隔离。
- 可诊断性:安全机制本身也要能被诊断。如果看门狗坏了,你得知道它坏了。
下面这张图是我常用的电驱控制器安全架构逻辑,你可以参考一下:
这个架构的核心逻辑是:两条独立扭矩路径 + 一个独立监控单元。MCU 跑主控制逻辑,SBC(安全基础芯片)做独立监控。两条扭矩路径互相校验,一旦偏差超过阈值,SBC 直接触发硬件级安全响应,不经过 MCU 软件。这样即使 MCU 软件跑飞,安全机制依然有效。
3.5 小结:FSC 开发的核心要点
好了,这一章的内容差不多就这些。我帮你把核心要点再捋一遍:
- 安全状态:不是越「死」越好,要结合车辆动力学定义,且必须可验证。
- 安全机制:检测 + 响应 + 避免,三者缺一不可。别只盯着检测。
- FTTI:从故障到危害的时间窗口,必须把每个环节的时间预算算清楚。
- 安全架构:独立性、多样性、故障阻断、可诊断性,四条原则一个都不能少。