SafeState Manager + 二级保护 — 软件 + 独立硬件双 (B(D)+B(D)) 实现 ASIL D

功能安全L1别名 SafeState Manager · SSM · 二级保护 · 2nd-level protection · STO ASC · SafeState arbitration

本质与导读

系统级整合 → 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。下图把两层 + 输入 + 输出 + 命令路径一次画清,后面的章节都是这张图的子模块展开。

SSM + 2nd-Level Protection — 两层联合实现 ASIL D


2. ① 1st-Level — SSM (软件层 B(D))

SSM 是主 MCU 上实时收集所有故障源 + 优先级仲裁 + 决定 safe state 的中央调度模块。

2.1 输入源 (典型 8 类)

主驱 ASIL D 的 SSM 通常收 8+ 路输入:

每类 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

优先级表(典型):

  1. 硬件 fault (DESAT, OC) → 立即 STO/ASC,不经 Warning
  2. Tj > 175℃ → 立即 ASC (热保护)
  3. Resolver fault → 立即 ASC (位置丢失不能 STO)
  4. 通讯丢 → 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 是否健康。监视对象类别如下:

  • MCU heartbeat — 主 MCU 定期 (10-100ms) 喂 SBC 看门狗,超时即 fault
  • Lockstep trap — 主 MCU 双核 lockstep 触发 trap → 通过专用 GPIO 通知 SBC
  • 独立电压 / 电流采样 — SBC 内置 ADC 独立采 bus V / phase I → plausibility check
  • SBC 自身 voltage 监SBC 电源 rail 监,确保自身健康

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 项独立性确认:

  1. 共享电源 — 1st-level (MCU 3.3V) vs 2nd-level (SBC 独立) 是否物理分离
  2. 共享时钟 — 主 MCU 时钟源 vs SBC 时钟独立
  3. 共享接地 — Star ground + single-point connect
  4. 共享 IO — STO pin 独占 (不经 SPI 等共享 bus)
  5. 共享 Bus — heartbeat 信号不与正常通讯共线
  6. 共享软件库 — 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 lockstepInfineon TLF35584比亚迪 / 蔚来 / Bosch SIC400
NXP S32K358 lockstepNXP FS65雷诺 / 福特 / Lucid
Renesas RH850/F1KMTPS65381丰田 / 日产 / 雷克萨斯
Aurix TC367TLF35584 经济款国产中端 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):

  • SPFM ≥ 99% (ASIL D)
  • LFM ≥ 90% (ASIL D)
  • PMHF < 10 FIT

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 + TLF35584S32K3 + FS65,2 套 ecosystem 主导。
  • Fault Injection Test 必上 100+ scenario,SPFM ≥ 99% / LFM ≥ 90% / PMHF < 10 FIT

缩写表

只列本页用到的工业标准缩写;通用英语…

只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的 层/Lx tag 不列。覆盖不到的术语见正文 inline 注释。

缩写全称中文 / 备注
STOSafe Torque Off安全转矩关闭 (IEC 61800-5-2)
ISOInternational Organization for Standardization国际标准化组织
AURIXAudio Realtime Infineon X-architectureInfineon TriCore 多核车规 MCU 系列
NXPNXP Semiconductors恩智浦半导体
SAESociety of Automotive Engineers美国汽车工程师学会
FSCFunctional Safety Concept功能安全概念(part 3)
ASILAutomotive Safety Integrity LevelISO 26262 安全完整性等级 QM→A→B→C→D
PWMPulse Width Modulation脉冲宽度调制
EVElectric Vehicle电动车
MCUMicrocontroller Unit微控制器(本页多指车规多核 MCU)
CANController Area Network控制器局域网
DTCDiagnostic Trouble Code诊断故障码(ISO 14229 / SAE J2012)
SBCSystem Basis Chip系统基础芯片(电源 + 收发器 + 监控集成)
ADCAnalog-to-Digital Converter模数转换器
FTTIFault Tolerant Time Interval容错时间间隔
DFADependent Failure Analysis相关失效分析(ISO 26262-9)
SGSafety Goal安全目标(ISO 26262-3)
DCDiagnostic Coverage诊断覆盖率 (功能安全语境)
VCUVehicle Control Unit整车控制器
BMSBattery Management System电池管理系统
SPISerial Peripheral Interface串行外设接口
RTOSReal-Time Operating System实时操作系统
OEMOriginal Equipment Manufacturer整车厂 / 主机厂
SMSafety Mechanism安全机制
SPFMSingle-Point Fault Metric单点失效度量
LFMLatent Fault Metric潜伏故障度量
PMHFProbabilistic Metric for Hardware Failures硬件随机失效概率指标
FITFailures In Time1e9 小时失效率单位 (1 FIT = 1 failure / 1e9 h)
LDOLow Dropout Regulator低压差线性稳压器
FDTIFault Detection Time Interval故障检测时间间隔
FRTIFault Reaction Time Interval故障反应时间间隔

Cross-references