两轮BMS 短路保护策略详解 BMS 短路保护策略详解基于量产 60V BMSSTM32F0 SH367306 AFE拆解短路保护从硬件触发到软件锁定的完整策略。一、短路保护为什么特殊过流保护是软件阈值比较短路保护是硬件直接检测。短路时电流数百A/ms级上升软件 10ms 采样周期根本来不及。所以 AFESH367306内置了专用模拟比较器放电过流保护短路保护检测方式软件阈值比较AFE 硬件比较器响应延时数十ms ~ 秒50µs阈值量级数十A~400A系统动作仅禁止放电同时禁止充放电掩码 0x14二、四层架构硬件层50µs AFE 比较器 → SC 标志 → 硬件自动关断 MOS 驱动层50ms 周期 12/14 投票滤波 → 确认真实短路 故障层10ms 周期 标志触发 → 禁止充放电 → 恢复/锁定状态机 系统层50ms 周期 NVRAM 统计 → 历史记录硬件层AFE 通过分流器压降判断阈值 200mV≈400A持续 50µs 即触发。触发后硬件自动关断放电 MOS——不经过 MCU、不经过 I2C1µs 完成。驱动层MCU 每 50ms 读一次 AFE 状态。采用12/14 多数投票700ms 窗口内 ≥12 次读到 SC 标志才确认短路。作用是过滤容性负载上电瞬间的短脉冲大电流。故障层上游确认后直接置故障标志不做阈值比较。故障响应掩码 0x10 禁止放电。故障恢复条件短路消失后MCU 侧故障并不会立即清除。清除路径有三条FDR.c:1342s_faultClearCondition[ShortCircuitFlt]ShortCircuitFltRecovery()|ChargeCurr_flg|ShortCircuitFltLock_flg;路径 1时间恢复 —— 短路消失后等待 60s短路消失AFE 不再报 SCFaultCode 依然置位。ShortCircuitFltRecovery开始计时等待 60 秒后才允许清除短路消失 → AFE SC 标志停止 → SCStatus 0 → ShortCircuitFltRecovery 计时i → i ShortCircuitRecov_Times 1min × 60 × 10 600 周期 60s → Counter若 Counter 3 → rtvalue true → 故障清除60 秒的等待是为了确保短路真的解除了而不是短暂消失后再次发生。路径 2充电恢复 —— 插上充电器立即清除检测到充电电流current_mA -500mA→ Counter 清零故障立即清除。相当于接入充电柜 安全确认。路径 3锁定后清除Counter ≥ 3 次后ShortCircuitFltLock_flg true此标志本身就是清除条件——故障码清除但forbidDisCharge_flg持续生效直到充电解锁。锁定与解除每次短路恢复 → Counter共 3 个 Counter 槽位 Counter 3 → 允许自恢复可继续用 Counter ≥ 3 → 锁定forbidDisCharge 持续生效 → 必须插充电器 → ChargeCurr_flg true → Counter 清零 锁定解除参数默认值来源AFE 硬件重试32msSH367306 RST[1:0] 寄存器MCU 确认次数12 次驱动层防抖故障恢复等待60sShortCircuitProtectReleaseInterval_Min 1允许自恢复次数3 次ShortCircuitProtectSelfRecoveryTimes锁定解除插充电器ChargeCurr_flg 触发充电解锁延时5sShortCircuitFltLockRec_Cnt 50三、策略要点硬件极速关断50µs 检测 1µs 关断不依赖 MCU。短路能量与时间成正比速度就是一切。AFE 32ms 自动重试AFE 每 32ms 尝试重新打开 MOS——短路消失即恢复无需 MCU 干预。硬件层天然具备自恢复能力。软件防误报12/14 投票过滤容性启动脉冲。如果真是电容充电引起的额外有预充重试机制兜底。故障清除等 60s短路消失后不立即清故障等足一分钟确认并非暂时性解除。这是对短路是否真的没了的审慎判断。3 次锁定允许 3 次自恢复第 3 次锁定。短路是危险事件不能无限重试——每次短路都是对 MOS、电池、线束的一次冲击。充电解锁锁定后只有插充电器才能解除——设计假设接入充电柜是一种安全确认运维人员在场。四、与过流保护的层级关系电流从小到大 放电过流告警 → 只通知不动作 放电过流保护1 → 禁止放电可自恢复锁定机制 放电过流保护2 → 禁止放电更快速响应锁定机制 短路保护 → 硬件直接触发禁止放电3 次锁定充电解锁 响应速度 过流告警/保护 → 秒级软件滤波延时 短路保护 → 微秒级AFE 硬件直连本文基于量产 BMS 代码分析。