驱动-MCU 握手协议深度 — 信号 / SPI boot / fault 锁存 / 双路径回报

驱动L1别名 驱动-MCU 接口 · 驱动握手协议 · PWM EN nFLT · SPI boot 时序 · fault 锁存清除 · ASIL D 双路径回报

本质与导读

本质 栅极驱动 IC 与 MCU 不是一根 PWM 线,而是一组握手信号,核心是 SPI boot 必须先配阈值过 CRC、driver 才置 RDY 放 PWM,且故障到安全动作走两条独立路径:硬件保护自主软关断 + nFLT 硬线,与 MCU 读 SPI 状态命令动作,互相覆盖回报链的单点故障,这是 ASIL D 的硬约束。

主线坐标:第 5 站 · 逆变器(栅驱 + 功率模块) · ↑ 全景主线

1. 接口信号清单

驱动-MCU 之间一组信号各司其职,控制走快通道、配置/诊断走 SPI、故障走专线 + 软状态双份:

驱动-MCU 接口信号 map:PWM/EN 控制、nFLT/RDY 状态、SPI 配置诊断

信号方向作用
PWM INMCU → driver栅极开关控制,走最快通道(直连定时器);死区/最小脉宽AoU 硬约束
EN / EnableMCU → driver使能输出(与 RDY 配合做上电门控)
nFLT / FAULTdriver → MCU故障专线,开漏低有效,硬件最快回报
RDY / READYdriver → MCU就绪(UVLO 清 + 配置完),MCU 据此放 PWM
RST / nRESETMCU → driver复位 / 清锁存故障
SPI(CSB/SCLK/SDI/SDO)双向配阈值(DESAT/OC/UVLO/VGD)+ 读诊断(故障寄存器/Tdie/ADC)

控制(PWM)与诊断(SPI)分离是关键:PWM 不能等 SPI,SPI 也不该挤占实时路径。


2. 上电 + SPI boot 时序

driver 上电不是直接能开关,而是一段握手:先进安全态、配阈值、校验、就绪,才允许 PWM。次序错就出竞态或带错阈值跑。

上电 + SPI boot 时序:VCC→UVLO→默认安全态→SPI 配阈值→CRC→RDY→放 PWM

  • ① VCC 上电 → 达 UVLO — 之前输出强制关(默认安全态),不响应 PWM
  • ② 默认/复位态 — 寄存器为安全默认值(保护全开、最保守阈值)
  • ③ MCU 经 SPI 写配置 — DESAT 阈/blanking、OC 阈、UVLO 档、VGD 驱动强度、保护使能/Safe State 映射
  • ④ CRC / checksum 校验 — 配置寄存器回读 + CRC,确认写对(防 SPI 误码带错阈值跑)
  • ⑤ driver 置 RDY — 配置有效 + 无故障
  • ⑥ MCU 拉 EN + 放 PWM — 进入正常运行

硬约束:PWM 必须在 RDY 之后才放;boot 未完就来 PWM = 带默认/错误阈值开关,可能误触发或失保。


3. 故障锁存 → nFLT → 定位 → 清除 闭环

故障处理是 driver 自主 + MCU 协同的闭环,driver 先硬件兜底、MCU 再软件决策:

  • 检测 + 自主软关断 — DESAT/OC/OT/UVLO 命中,driver 不等 MCU:内部比较器 ~百 ns 检出 + 软关断 数 μs 放电(或拉 STO),整链远快于 MCU 软件中断响应(数十 μs),故必须硬件自主
  • 周期诊断 + 心跳 — 除被动报故障,MCU 还周期性轮询 SPI 诊断帧 + 与 driver/SBC 跑 watchdog Q&A 心跳(10–100 ms),平时就确认 driver 还活着(不只"出事才报")
  • 锁存 + nFLT — 故障写进锁存寄存器(防瞬态丢失)+ 拉低 nFLT 专线通知 MCU
  • 读状态定位 — MCU 经 SPI 读故障寄存器,区分是 DESAT / OC / OT / UVLO 哪类(nFLT 只说"有故障",SPI 才说"哪类")
  • 命安全态 — MCU 据故障类型命整车安全态(切相 / 降扭 / STO/ASC)+ 记 DTC
  • 清除 — 经 nRESET / SPI 写清锁存;只在故障根因消失后清,否则反复 trip(chattering)

关键设计:锁存保证瞬态故障不丢;nFLT(快、粗)+ SPI(慢、细)分工——专线抢时间,SPI 定位因。


4. ASIL D 故障双路径回报

单条回报路径自己也会坏(nFLT 线断、SPI 卡死),所以 ASIL D 要求故障到安全动作走两条独立路径,互为冗余:

  • 路径 A(硬件直通) — driver 内部保护直接驱软关断 / STO,不经 MCU 决策;nFLT 硬线同时通知。这是兜底,μs 级,不依赖软件
  • 路径 B(软件) — MCU 读 SPI 状态 + plausibility(相电流/RDY 超时)+ MCU 命安全态。这是确认与系统级协调
  • 独立性 — A 走硬件比较器 + 专线,B 走 SPI + MCU,两路物理 + 逻辑独立;任一路单点失效,另一路仍能进安全态

注意定位(别和 ASIL 分解混):这条硬件/软件双路径是 driver 回报链上的冗余诊断——对应 FMEDA 里 driver 内置 SM 的 DC + MCU 端系统级 SM 的串联覆盖,它支撑整车 ASIL D,但本身不是 B(D)+B(D) 分解 的两条通道。真正的两条分解通道是主 MCU 的 SSM(B(D))+ 独立 SBC / 2nd-level(B(D))(见 Safe State Manager),driver 是被它们监视/执行的末端。这条"硬件先兜底、软件再确认"的双路径,是主驱 driver 选型必看的 ASIL D capability。


5. 握手陷阱

握手出问题几乎都在"时序竞态"和"故障/清除边界":

  • PWM/EN 上电竞态 — boot 未完(RDY 未置)就放 PWM → 带默认/错阈值开关,误触发或失保;必须 RDY-gated
  • boot 期间来故障 — 配置中若 VCC 抖或线扰触发故障,要能在 boot 流程里处理,不能把 boot 卡死
  • SPI 不校 CRC / 无 CRC 失败 handler — SPI 误码写错阈值(DESAT 阈写飞)→ 保护失效或误触发;配置必回读 + CRC,且 CRC 失败要有明确动作(重写 N 次 → 计数后进 fail-safe / 锁死不放 PWM),不能"校了不处理"
  • nFLT / DOUT 复用配错 — 多功能引脚(nFLT2/DOUT)的 mux 配置错 → 故障漏报或误报;按 datasheet 配准
  • 清故障不等根因消失 — 故障还在就清 → 立即重 trip(chattering);清前先确认根因解除
  • 只信 nFLT 不读 SPI — nFLT 只说"有故障"不说哪类,不读 SPI 定位就无法对症进安全态

核心要点

  • 驱动-MCU 是一组握手信号:PWM/EN(控制)+ nFLT/RDY(状态)+ RST(复位)+ SPI(配阈值/读诊断);控制与诊断分离
  • SPI boot 时序:VCC→UVLO→默认安全态→SPI 配阈值→CRC 校验→RDY→RDY 之后才放 PWM
  • 故障闭环:driver 自主软关断(μs,硬件) + 锁存 + nFLT → MCU 读 SPI 定位 → 命安全态 → 根因消失才清
  • nFLT(快粗)+ SPI(慢细)分工:专线抢时间,SPI 定位因
  • ASIL D 双路径回报:硬件直通(兜底,不依赖软件)+ SPI 软状态(确认),两路物理逻辑独立覆盖单点
  • 陷阱集中在上电竞态(RDY-gated PWM)、SPI CRC、清故障时序

缩写表

缩写全称中文
PWMPulse-Width Modulation脉宽调制(控制信号)
ENEnable使能
nFLTFault (active-low)故障输出(低有效)
RDYReady就绪
RSTReset复位
SPISerial Peripheral Interface串行外设接口
CRCCyclic Redundancy Check循环冗余校验
DESATDesaturation detection退饱和检测(短路保护)
OCOver-Current过流
OTOver-Temperature过温
UVLOUnder-Voltage Lockout欠压锁定
STOSafe Torque Off安全转矩关断
VGDVariable Gate Drive可变栅驱强度
DTCDiagnostic Trouble Code诊断故障码

Cross-references