fix(V4B): V4.36.40 — 短路级热切换线圈死锁修复

用户实测: <20µH 短路级强制断开后, 不断电换正常线圈不恢复(拨码不重启), 只能断电.
根因: 强制期 ISR 847 每5ms压 LOOP_OK=0 → vd1_task 停摆 → Origin/LPCNT 冻结在旧短路线圈值;
      recover 用 calc_freq_khz(冻结Origin,LPCNT) 判回窗永远>171k → 死锁.
修复: recover 恢复判定改 TMR3 捕获 ISR 实时 Xn (f=240000/Xn, 每振荡周期新鲜);
      换线圈后 f 回窗连续5s → 实时置档 → ISR 847 停压 LOOP_OK 自然回位 →
      主循环 0→1 沿检测自动发起 reconnect confirmed → 无车判稳门控 → Origin 判稳重建.
spec V2.58 / devlog V2.76
语法0 error, 4测试全绿
This commit is contained in:
wangfq
2026-09-09 11:16:10 +08:00
parent b4aa7402a5
commit 41a4577fa7
4 changed files with 19 additions and 8 deletions
+3 -2
View File
@@ -1,6 +1,6 @@
# DLD154V4B 技术规格书
> 单路线圈车辆检测器 | 固件版本: V4.36.39 | 文档版本: V2.57
> 单路线圈车辆检测器 | 固件版本: V4.36.40 | 文档版本: V2.58
> 本文档面向工程开发、系统集成及故障深度分析
---
@@ -539,7 +539,7 @@ void poll_green_led(void) {
> **V2.55 注:电感低于下限的分级(V4.36.37 方案A,用户拍板)——指示与功能解耦:**
> - **可用级 fault==2156~171kL 20~24µH**:黄灯**一长两短**900/300/100/300/100/700ms 循环,V4.36.38);判定/继电器/绿灯**恒照常**(不随宏)——23µH 类"低但可用"线圈不误杀
> - **短路级 fault==3f>171kL<20µH**:黄灯**快闪 200ms**(与断开同款)——功能随 `COIL_UNDER_MIN_AS_OPEN`(宏作用域 V4.36.37 从 156k 移到 171k):
> - **=1(默认,V4.36.39 用户拍板)**:等同线圈断开完全态——判车暂停(vd1_task 挂起)+ 继电器保持释放 + 绿灯不亮;恢复=coil_monitor_recover 无条件监测,f 回窗 ≤171k 连续 5s → 按当前 f 实时置档+重连确认+判稳
> - **=1(默认,V4.36.39 用户拍板)**:等同线圈断开完全态——判车暂停(vd1_task 挂起)+ 继电器保持释放 + 绿灯不亮;恢复=coil_monitor_recover 无条件监测**V4.36.40 热切换修复**:强制期 Origin 冻结→改用 TMR3 实时 Xn 判回窗 240000/Xn),f 回窗 ≤171k 连续 5s → 实时置档 → LOOP_OK 自然回位 → 上升沿自动发起重连确认+无车判稳重建 Origin → 新线圈正常即全恢复(换线圈不断电 ~6s 自动恢复,无需重启)
> - =0(可选关):仍正常判车,快闪仅作"真短路/损坏"提示
> - 防抖:越界/恢复均 COIL_FAULT_HOLD_TICKS=5005sV4.36.21
@@ -861,3 +861,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
| V2.55 | 2026-09-08 | **V4.36.37 电感分级降级(方案A, 用户拍板)**:低于下限拆两级——156~171k(L20~24µH)=fault2 疾闪100ms(恒判车, 与断开区分)f>171k(L<20µH)=fault3 短路级断开快闪(COIL_UNDER_MIN_AS_OPEN 作用域 156k→171k)recover 回窗≤171k 且恢复实时置档(原清0有5s黄灯空档) |
| V2.56 | 2026-09-08 | V4.36.38: fault2 可用级黄灯指示 疾闪100ms → **一长两短** (900/300/100/300/100/700ms 循环, 用户定节奏) |
| V2.57 | 2026-09-08 | V4.36.39: COIL_UNDER_MIN_AS_OPEN 默认值 0→1 (用户拍板) —— L<20µH 短路级出厂即等同断开(判车停+继电器释放+绿灯灭) |
| V2.58 | 2026-09-08 | V4.36.40 热切换修复: recover 恢复判定改 TMR3 实时 Xn(240000/Xn) —— 原 calc_freq_khz(冻结Origin,LPCNT) 永不回窗致换线圈死锁; 恢复后自然走重连+判稳重建 Origin |