SafeState Manager + 二级保护 — 软件 + 独立硬件双 (B(D)+B(D)) 实现 ASIL D
本质与导读
系统级整合 → EV 上下电系统级 FSM 深度 本页讲 Safe State 维持机制 + B(D)+B(D) 双路径。系统级 FSM 把 Safe State 定位为每个状态的 fallback 出口,ACTIVE → SAFE_STATE 三级递进(PWM=0 → driver disable → EMR open + AD),5 条 power-down 路径对应不同 Safe State 入口,全部 handoff 时序在 FSM deep。
本质 EV 主驱 ASIL D 靠两个独立通道:1st-level SafeState Manager 在 Application Core 上按优先级表 + FSM 仲裁多路输入,输出 STO/ASC/限扭;2nd-Level Protection 跑在 SBC + 独立 ADC + 看门狗上、完全绕过主 MCU,一旦 1st-level 失效就直拉 STO 硬件 pin。这就是 B(D)+B(D) 分解,前提是两层物理 + 共因 + 软件三层独立(DFA 6 项确认)。
1. SSM + 2nd-Level 双层架构
ASIL D 是"两个独立 ASIL B(D) 通道联合"的工程化 — 主 MCU 上跑 SSM(1st-level)做正常路径下的全功能仲裁,SBC + 独立硬件(2nd-level)做"主 MCU 自己挂了 / 软件 bug / lockstep trap"这一类故障路径下的兜底,两层任何一层触发都能让 inverter 进 safe state。下图把两层 + 输入 + 输出 + 命令路径一次画清,后面的章节都是这张图的子模块展开。
2. ① 1st-Level — SSM (软件层 B(D))
SSM 是主 MCU 上实时收集所有故障源 + 优先级仲裁 + 决定 safe state 的中央调度模块。
2.1 输入源 (典型 8 类)
主驱 ASIL D 的 SSM 通常收 8+ 路输入:
- DESAT / OC fault — 来自栅极驱动 IC,fault pin
- 过流 / 短路 — 来自相电流 sensor + 阈值比较器
- 过温 — NTC 测的 Tj > 150℃
- 过压 / 欠压 — DC bus 电压超阈值
- Resolver fault — 位置传感器丢信 / 错误
- CAN timeout — VCU 心跳丢
- Cell V / T / IR (BMS) — 5 套 SG 状态
- 接触器粘连 — K1 检测
每类 fault 都有 latching / non-latching 属性 + retry 策略。
2.2 优先级仲裁 (FSM)
SSM 用有限状态机 + 优先级表仲裁:
- Normal — 正常工作
- Warning — 单 fault non-critical (DTC 记 + 通知 VCU 但不限扭)
- Reduce — 多 fault / critical-but-recoverable (限扭 50% + 告警)
- Safe State (STO/ASC) — 一击致命 fault (DESAT / 过流 / Tj > 175℃) → 立即进 safe state
优先级表(典型):
- 硬件 fault (DESAT, OC) → 立即 STO/ASC,不经 Warning
- Tj > 175℃ → 立即 ASC (热保护)
- Resolver fault → 立即 ASC (位置丢失不能 STO)
- 通讯丢 → 5s 内进 limp home
2.3 输出
SSM 仲裁后给出 4 类输出指令,层级从重 (safe state) 到轻 (告警)。STO/ASC 跨硬件层执行;其余三类经 CAN / 软件接口生效:
- STO / ASC 命令 (跨硬件层执行)
- 限扭命令 → VCU
- DTC + CAN frame → VCU + 4S 店
- 状态 LED / dashboard
3. ② 2nd-Level — 独立硬件 (B(D))
2nd-Level 是 ASIL D 的最后一道防线 — 主 MCU 本身可能失效 (CPU hang / lockstep trap / 软件 bug),所以必须有完全独立的硬件路径绕过 MCU 直接进 safe state。
3.1 监视对象
2nd-Level 不复制 1st-Level 的功能,而是用少量、独立、易判别的信号反向监视主 MCU 是否健康。监视对象类别如下:
3.2 触发条件
任一以下条件 → SBC 直接拉 STO 硬件 pin:
- MCU 看门狗 timeout (典型 10-50 ms 窗口)
- Lockstep trap 信号触发
- SBC 测电压 / 电流与主 MCU 报告偏差 > 10%
- 主 MCU 报 ASIL D fault (主驱不能继续工作)
3.3 FTTI
2nd-Level 快保护场景 FTTI ~5 μs(如直通的容忍窗);其内响应(FDTI 检测 + FRTI 反应,即"故障检测到栅极关断")必须 < 5 μs:
- SBC fault 检测 1-2 μs
- STO 硬件 pin 拉低 200 ns
- 栅极驱动 IC 响应 1 μs
- 栅极电压跌到 0 1-2 μs
4. STO vs ASC — 主驱 Safe State 选择
EV 主驱有两种 safe state,按车速动态选:
4.1 STO (Safe Torque Off)
STO 是最简单的 safe state — 6 个开关全部关断,栅极直接电压拉低。它在低速时安全可靠,但高速下电机内部反电动势会通过 SiC 体二极管反向给 DC link 充电,所以必须配合速度判断使用:
- 关所有栅极 → 6 SW 全 off
- 电机自由旋转,内部反电动势驱动
- 风险:线-线反电动势峰值 > Vdc 时(等价相反电动势峰值 > Vdc/√3 ≈ 0.58 Vdc;注意区分相/线)→ 六管续流二极管整流给电池充电 → 大电流冲击 + 电池过压
- 适用:低速 (线反电动势峰值 < Vdc,典型 < 50 km/h)
4.2 ASC (Active Short Circuit)
ASC 把电机绕组人为短路成发电机内阻,转矩立即清零、反电动势被绕组内部消化掉。代价是绕组承担大电流,长时间 ASC 会烧绕组,所以是一个"短时高速 safe state":
- 下三管全开,上三管全关
- 电机绕组短路成发电机内阻,转矩 → 0
- 电机靠摩擦自然减速
- 风险:绕组大电流 → 长时间 ASC 烧绕组
- 适用:高速 (线反电动势峰值 > Vdc,典型 > 50 km/h)
4.3 动态选择策略
SSM 拿到 fault 后判当前车速:
- < 50 km/h → STO
-
50 km/h → ASC
- 切换间安全阈值 ±10 km/h hysteresis
50 km/h 不是通用常数,要按电机反推:切换阈速由"线反电动势峰值 = Vdc"反解 ( 相反电动势常数 Vs/rad, 折线值),再乘传动比 + 轮径换车速。 大(高极对 / 强磁钢)→ 低速即触顶 → 阈速可能 30 km/h; 小则 70+ km/h。每个电机 + 母线电压组合单独标定——50 km/h 仅典型 400V 主驱量级,直接套数会在高 ke 电机上让 STO 区间踩到电池过压。
链接深页:Torque safety / ASC HSS LSS
5. ③ DFA — 独立性 6 项硬约束
ASIL D = B(D) + B(D) 必须做 DFA (Dependent Failure Analysis,Part 9 §7)。
6 项独立性确认:
- 共享电源 — 1st-level (MCU 3.3V) vs 2nd-level (SBC 独立) 是否物理分离
- 共享时钟 — 主 MCU 时钟源 vs SBC 时钟独立
- 共享接地 — Star ground + single-point connect
- 共享 IO — STO pin 独占 (不经 SPI 等共享 bus)
- 共享 Bus — heartbeat 信号不与正常通讯共线
- 共享软件库 — SBC firmware 独立开发 (不同 toolchain / 团队 / RTOS)
每项必有独立性论证 + 测试证据 in DFA 报告。
6. SSM 实施 — Code 框架 (伪代码)
SSM 在 ASIL B(D) MCU 上的代码骨架不复杂,但优先级表的顺序 + early return 的位置决定了它是否真的"严格分级"。下面是工程上典型的实现 — 10ms 周期跑,优先级表枚举 ≥ 20 行 case,严重故障立即 return不让后续 case 干扰:
// 主 MCU 上 10ms 周期跑
void SSM_arbitrate(void) {
fault_t fault = collect_inputs(); // 收 8 路 fault 输入
// 优先级表评估
if (fault.desat || fault.oc) {
request_safe_state(SAFE_STATE_STO_OR_ASC, vehicle_speed);
return; // 立即退出,后面 case 不评估
}
if (fault.tj_high) {
request_safe_state(SAFE_STATE_ASC, vehicle_speed);
return;
}
if (fault.resolver_fail) {
request_safe_state(SAFE_STATE_ASC, vehicle_speed); // 失位置必上 ASC
return;
}
if (fault.tj_warn) {
request_torque_derate(50);
}
if (fault.can_timeout) {
request_limp_home();
}
// ... 其它
}
void request_safe_state(safe_state_t target, int speed_kmh) {
if (target == SAFE_STATE_STO_OR_ASC) {
target = (speed_kmh < SAFE_SWITCH_KMH) ? STO : ASC;
}
set_safe_state_request(target);
record_dtc(...);
send_can_to_vcu(...);
}
7. 主流 MCU + SBC 组合 (2026)
到 2026 EV 主驱 ASIL D 实施已经收敛到几个标准组合 — 每对组合对应明确的供应商 ecosystem 和工具链。TC397 + TLF35584 是德系 + 中系主流,S32K3 + FS65 是欧系 + 美系主流。下表汇总当前主流组合:
| MCU (1st-level) | SBC (2nd-level) | EV OEM 实例 |
|---|---|---|
| Aurix TC397 lockstep | Infineon TLF35584 | 比亚迪 / 蔚来 / Bosch SIC400 |
| NXP S32K358 lockstep | NXP FS65 | 雷诺 / 福特 / Lucid |
| Renesas RH850/F1KM | TPS65381 | 丰田 / 日产 / 雷克萨斯 |
| Aurix TC367 | TLF35584 经济款 | 国产中端 EV |
8. SSM + 2nd-Level 验证 — Fault Injection Test
ISO 26262 Part 5 §11 要求fault injection test 验证 SM 覆盖率:
- 硬件 FI:在 DESAT pin / OC pin / Tj pin 注入虚假 fault → 验 SSM 响应
- 软件 FI:在 MCU 内存中翻转 bit / 卡 watchdog → 验 2nd-level 响应
- 共因 FI:同时给 1st + 2nd 注 fault → 验独立性
- 量产前 100+ fault scenarios:DESAT 模拟 / OC 模拟 / Tj overshoot / lockstep mismatch / CAN bus-off / power supply dropout 等
覆盖率指标 (Part 5):
9. 5 个常见陷阱
SSM + 2nd-level 设计失败往往不在算法,而在独立性证明 + 优先级表 + 验证覆盖率。下表是工程师反复踩的 5 个坑:
| 陷阱 | 描述 | 预防 |
|---|---|---|
| 优先级表少了一档 | 多 fault 同时进 → 进错 safe state | 表枚举 ≥ 20 行 case |
| STO / ASC 选择不分速度 | 高速 STO → 电池过压 | 速度阈 + hysteresis |
| 2nd-level 共主 MCU 电源 | 主 MCU 挂 SBC 也挂 | SBC 独立 LDO |
| DFA 报告不完整 | 评审拒 → 量产延期 | 6 项全覆盖 + 测试证据 |
| Fault injection 不全 | 量产后才发现盲区 | 100+ scenario 覆盖 |
核心要点
- ASIL D EV 主驱 = SSM (软件 1st-level B(D)) + 2nd-Level (独立硬件 B(D)) 联合实现。
- SSM 收 8+ 路 fault 输入,按优先级 FSM 仲裁输出 STO/ASC/限扭/DTC。
- 2nd-Level 完全绕过主 MCU,通过 SBC + 看门狗 + 独立 ADC 直接拉 STO 硬件 pin。
- 2nd-Level FTTI < 5 μs;1st-Level FTTI < 100 ms 即可。
- STO (低速) vs ASC (高速) 按反电动势 / 速度动态选,典型阈值 50 km/h ± hysteresis。
- DFA 6 项独立性确认:电源 / 时钟 / 接地 / IO / Bus / 软件库,缺一不可。
- 主流组合:TC397 + TLF35584 或 S32K3 + FS65,2 套 ecosystem 主导。
- Fault Injection Test 必上 100+ scenario,SPFM ≥ 99% / LFM ≥ 90% / PMHF < 10 FIT。
缩写表
只列本页用到的工业标准缩写;通用英语…
只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的
层/Lxtag 不列。覆盖不到的术语见正文 inline 注释。
| 缩写 | 全称 | 中文 / 备注 |
|---|---|---|
| STO | Safe Torque Off | 安全转矩关闭 (IEC 61800-5-2) |
| ISO | International Organization for Standardization | 国际标准化组织 |
| AURIX | Audio Realtime Infineon X-architecture | Infineon TriCore 多核车规 MCU 系列 |
| NXP | NXP Semiconductors | 恩智浦半导体 |
| SAE | Society of Automotive Engineers | 美国汽车工程师学会 |
| FSC | Functional Safety Concept | 功能安全概念(part 3) |
| ASIL | Automotive Safety Integrity Level | ISO 26262 安全完整性等级 QM→A→B→C→D |
| PWM | Pulse Width Modulation | 脉冲宽度调制 |
| EV | Electric Vehicle | 电动车 |
| MCU | Microcontroller Unit | 微控制器(本页多指车规多核 MCU) |
| CAN | Controller Area Network | 控制器局域网 |
| DTC | Diagnostic Trouble Code | 诊断故障码(ISO 14229 / SAE J2012) |
| SBC | System Basis Chip | 系统基础芯片(电源 + 收发器 + 监控集成) |
| ADC | Analog-to-Digital Converter | 模数转换器 |
| FTTI | Fault Tolerant Time Interval | 容错时间间隔 |
| DFA | Dependent Failure Analysis | 相关失效分析(ISO 26262-9) |
| SG | Safety Goal | 安全目标(ISO 26262-3) |
| DC | Diagnostic Coverage | 诊断覆盖率 (功能安全语境) |
| VCU | Vehicle Control Unit | 整车控制器 |
| BMS | Battery Management System | 电池管理系统 |
| SPI | Serial Peripheral Interface | 串行外设接口 |
| RTOS | Real-Time Operating System | 实时操作系统 |
| OEM | Original Equipment Manufacturer | 整车厂 / 主机厂 |
| SM | Safety Mechanism | 安全机制 |
| SPFM | Single-Point Fault Metric | 单点失效度量 |
| LFM | Latent Fault Metric | 潜伏故障度量 |
| PMHF | Probabilistic Metric for Hardware Failures | 硬件随机失效概率指标 |
| FIT | Failures In Time | 1e9 小时失效率单位 (1 FIT = 1 failure / 1e9 h) |
| LDO | Low Dropout Regulator | 低压差线性稳压器 |
| FDTI | Fault Detection Time Interval | 故障检测时间间隔 |
| FRTI | Fault Reaction Time Interval | 故障反应时间间隔 |
Cross-references
- ← 索引
- 功能安全工程师指南 hub — V-cycle + 8 大主题
- FTTI 时间预算分解 — §3.3 的 FTTI < 5 μs / < 100 ms 怎么拆成 FDTI + FRTI 账本
- ASIL 分解深度 — D = B(D) + B(D)
- 栅极驱动保护链 — STO 执行末端
- 低压辅助电源 — SBC 供电
- BMS overview — BMS 也用类似 SSM
- Torque safety
- Aurix TC3xx ASIL D
- SafeState Manager 简要版