feat(V4B): V4.36.29 — 低Q 释放容差 REL_LO_TOL=4 (破差1count死锁)

J1 日志(23µH, V4.36.28) 75s 延迟释放完整机理:
- Origin 过冲(拿起板 env 学高→130636/130693), 均值窗 15s 收敛中残留 34 counts
- 过冲残留被 VD=1 冻结(130540 vs 真真空 130506) → 释放线 130499 偏高
- 撤板后真空 CAPVD 130506 距线仅 7 counts, RSM 平滑 130498 差 1 count 不过线 → 卡 75s
- 释放后 Origin 7s 自动收敛回 130506 (均值窗正常)
修复: rel_release_hit 低Q 分支 _line 减 REL_LO_TOL=4 (等效线 Origin-45)
- J1 卡死: RSM>线 立即释放; 板停触发深处不误释放; 正常撤板余量不变
- 回滞 49-45=4 counts (σ1-2 → 2~4σ 安全)
语法0 error, 4测试全绿; spec V2.45 / devlog V2.64
This commit is contained in:
wangfq
2026-09-07 16:01:28 +08:00
parent 40bb1b467f
commit 3ea876b7d9
5 changed files with 25 additions and 3 deletions
+17
View File
@@ -4,6 +4,22 @@
--- ---
## 2026-09-04 — 低Q 延迟释放(75s)根因:Origin 过冲残留 + 平滑差 1 count → 释放容差(固件 V4.36.29
J1 日志(V4.36.28, 23µH):15:46:09 Car_In 后卡 75s15:47:24 才 Car_OFF(用户撤板后"好久才释放")。
**完整机理链**
1. Origin 过冲:每次测试轮次前(拿起板/布置)CAPVD 冲高 → Origin 学高(15:34:46 129123→13063615:41:17→130693),均值窗需 ~15s 降回真实真空 130506
2. 过冲残留被冻结:15:45:55 Origin 130540(偏高 34)未收敛完即试探 → Car_In → VD=1 冻结 Origin
3. 释放带压缩:释放线=130540-41=130499;撤板后真空 CAPVD=130506 距线仅 7 counts;低Q 平滑 RSM=130498 差 1 count 不过线 → 卡死 75s(CAPVD 偶爬高磨过线才释放)
4. 释放后 Origin 7s 收敛回 130506 ✓(均值窗正常,问题只在释放前被冻结)
**修复 REL_LO_TOL=4**(低Q 释放判定容差):等效释放线 Origin-45
- J1 卡死:RSM 130498 > 线 130495 → 立即释放 ✓(模拟验证)
- 板停触发深处(dev-49, RSM≈Origin-49):不误释放 ✓(平滑+5连确认下 4 counts=2~4σ 安全)
- Origin 正确场景:撤板余量不变 ✓
语法 0 error、4 测试全绿;REV 4.36.29spec V2.45 / devlog V2.64。
## 2026-09-04 — 低Q 锁死根因定位:静态带回缺口 → REL_BAND_LO_MULT 180(固件 V4.36.27 诊断版 / V4.36.28 修正版) ## 2026-09-04 — 低Q 锁死根因定位:静态带回缺口 → REL_BAND_LO_MULT 180(固件 V4.36.27 诊断版 / V4.36.28 修正版)
用户对照测试:23µH 出问题、33µH 正常。上传两份日志(V4.36.27 诊断字段 QLO/RSM/RLN/RCN): 用户对照测试:23µH 出问题、33µH 正常。上传两份日志(V4.36.27 诊断字段 QLO/RSM/RLN/RCN):
@@ -2034,6 +2050,7 @@ if (dev >= dlt_ORG × 4) {
| 版本 | 时间 | 说明 | | 版本 | 时间 | 说明 |
|------|------|------| |------|------|------|
| V2.64 | 2026-09-04 | V4.36.29 释放容差 REL_LO_TOL=4: Origin 过冲残留(34)被 VD 冻结→释放线偏高→RSM 差 1 count 卡 75s → 容差破死锁 |
| V2.63 | 2026-09-04 | V4.36.28 低Q 锁死根因: 静态带回缺口(23µH 回摆 Origin-36 vs 线 Origin-34 差2counts) → MULT 150→180(带回41); 诊断字段 V4.36.27 | | V2.63 | 2026-09-04 | V4.36.28 低Q 锁死根因: 静态带回缺口(23µH 回摆 Origin-36 vs 线 Origin-34 差2counts) → MULT 150→180(带回41); 诊断字段 V4.36.27 |
| V2.62 | 2026-09-04 | V4.36.26 低Q 剂量加大: REL_ALFA 30(τ85ms) + 释放后 Origin 均值窗冻结 500ms(治本, 切断 cycle 正反馈) | | V2.62 | 2026-09-04 | V4.36.26 低Q 剂量加大: REL_ALFA 30(τ85ms) + 释放后 Origin 均值窗冻结 500ms(治本, 切断 cycle 正反馈) |
| V2.61 | 2026-09-04 | V4.36.25 电感量三分: 合理窗回 125k; 125~156k 一长一短(修正误归正常); f>156k=L<24µH 快闪; recover 判据同步 | | V2.61 | 2026-09-04 | V4.36.25 电感量三分: 合理窗回 125k; 125~156k 一长一短(修正误归正常); f>156k=L<24µH 快闪; recover 判据同步 |
+2 -1
View File
@@ -1,6 +1,6 @@
# DLD154V4B 技术规格书 # DLD154V4B 技术规格书
> 单路线圈车辆检测器 | 固件版本: V4.36.28 | 文档版本: V2.44 > 单路线圈车辆检测器 | 固件版本: V4.36.29 | 文档版本: V2.45
> 本文档面向工程开发、系统集成及故障深度分析 > 本文档面向工程开发、系统集成及故障深度分析
--- ---
@@ -833,3 +833,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
| V2.42 | 2026-09-04 | **V4.36.25 电感量三分语义修正**(用户设计拍板):合理窗恢复 18~125kHzCOIL_F_OK_MAX_KHZ=125V4.36.22 曾误随下限推到 156);新增 COIL_L_MIN_F_KHZ=156=24µH 下限)——f<18k 或 125k<f≤156k → coil_fault=1 一长一短(出窗但高于下限);f>156kL<24µH)→ coil_fault=2 快闪断开级;coil_monitor_recover 判据同步(回 18~156 解除强制,125~156 由原路径接管为一长一短);test 126→1/156→1/157→2 | | V2.42 | 2026-09-04 | **V4.36.25 电感量三分语义修正**(用户设计拍板):合理窗恢复 18~125kHzCOIL_F_OK_MAX_KHZ=125V4.36.22 曾误随下限推到 156);新增 COIL_L_MIN_F_KHZ=156=24µH 下限)——f<18k 或 125k<f≤156k → coil_fault=1 一长一短(出窗但高于下限);f>156kL<24µH)→ coil_fault=2 快闪断开级;coil_monitor_recover 判据同步(回 18~156 解除强制,125~156 由原路径接管为一长一短);test 126→1/156→1/157→2 |
| V2.43 | 2026-09-04 | **V4.36.26 低Q 发散治理剂量加大(方案A)**REL_ALFA 46→30(τ 50→85ms);带回保持 35(回滞 14 counts 不再压缩);新增 REL_ORIGIN_FREEZE_TICKS=50——释放确认(Car_OFF)后 Origin 均值窗冻结 500ms,切断「释放残余→Origin 学入→释放线漂移」cycle 间正反馈(治本项) | | V2.43 | 2026-09-04 | **V4.36.26 低Q 发散治理剂量加大(方案A)**REL_ALFA 46→30(τ 50→85ms);带回保持 35(回滞 14 counts 不再压缩);新增 REL_ORIGIN_FREEZE_TICKS=50——释放确认(Car_OFF)后 Origin 均值窗冻结 500ms,切断「释放残余→Origin 学入→释放线漂移」cycle 间正反馈(治本项) |
| V2.44 | 2026-09-04 | **V4.36.27/28 低Q 锁死根因定位与带回修正**(23µH/33µH 双日志对照 + 诊断字段 QLO/RSM/RLN/RCN):排除 Origin 漂移(全程恒定)与 g_q_lo(=1 正常)与平滑滞后(RSM 跟随正常)→ 根因=**静态带回缺口**:23µH 板停临界稳态 CAPVD 回摆仅 Origin-36,释放线 Origin-34MULT150)反而更高 2 counts → RCN 永不累计 → 锁死;33µH 回摆 Origin-25 富余 9 → 正常。实测 σ≈1-2 counts(此前 σ25 假设错误)。修正 REL_BAND_LO_MULT 150→180(带回 35→41,线 Origin-41 < Origin-36 稳态,余 4 counts;触发-释放回滞 49-41=8 counts=4~8σ 安全);V4.36.27 为诊断字段过渡版 | | V2.44 | 2026-09-04 | **V4.36.27/28 低Q 锁死根因定位与带回修正**(23µH/33µH 双日志对照 + 诊断字段 QLO/RSM/RLN/RCN):排除 Origin 漂移(全程恒定)与 g_q_lo(=1 正常)与平滑滞后(RSM 跟随正常)→ 根因=**静态带回缺口**:23µH 板停临界稳态 CAPVD 回摆仅 Origin-36,释放线 Origin-34MULT150)反而更高 2 counts → RCN 永不累计 → 锁死;33µH 回摆 Origin-25 富余 9 → 正常。实测 σ≈1-2 counts(此前 σ25 假设错误)。修正 REL_BAND_LO_MULT 150→180(带回 35→41,线 Origin-41 < Origin-36 稳态,余 4 counts;触发-释放回滞 49-41=8 counts=4~8σ 安全);V4.36.27 为诊断字段过渡版 |
| V2.45 | 2026-09-04 | **V4.36.29 低Q 释放判定容差 REL_LO_TOL=4**(J1 日志 75s 延迟释放根因):Origin 过冲残留(拿起板 env 学高 34 counts, 释放后均值窗 7s 收敛)被 VD 冻结 → 释放线偏高 → 撤板后真空 CAPVD 距线仅 7 counts、RSM 平滑差 1 count 卡 75s。容差 4 = 等效释放线 Origin-45(回滞 49-45=4 counts, σ1-2 安全);板停触发深处(dev-49)不误释放;正常撤板余量不变 |
@@ -38,6 +38,9 @@
#define RELEASE_ALFA 21 // 释放慢滤波 α = 21/256 ≈ 0.082 (@10ms → 精确τ≈117ms, V4.04: 对齐 PD132T α79@43.7ms 精确τ≈118ms; 原18→精确τ137ms偏慢) #define RELEASE_ALFA 21 // 释放慢滤波 α = 21/256 ≈ 0.082 (@10ms → 精确τ≈117ms, V4.04: 对齐 PD132T α79@43.7ms 精确τ≈118ms; 原18→精确τ137ms偏慢)
#define REL_ALFA 30 // V4.36.19/26: 低Q 释放平滑 α=30/256≈0.117 (@10ms → τ≈85ms, 46→30): 复刻打印降采样平均效应, 只用于低Q 释放判定抗抖 (V4.36.26 加大剂量 50→85ms) #define REL_ALFA 30 // V4.36.19/26: 低Q 释放平滑 α=30/256≈0.117 (@10ms → τ≈85ms, 46→30): 复刻打印降采样平均效应, 只用于低Q 释放判定抗抖 (V4.36.26 加大剂量 50→85ms)
#define REL_BAND_LO_MULT 180 // V4.36.19/28: 低Q 释放带回加宽 % (dlt_rel×1.8: 23→41@SENS3): 防边界试探锁死 #define REL_BAND_LO_MULT 180 // V4.36.19/28: 低Q 释放带回加宽 % (dlt_rel×1.8: 23→41@SENS3): 防边界试探锁死
#define REL_LO_TOL 4 // V4.36.29: 低Q 释放判定容差 counts (破"平滑差 1~2 counts 死锁"):
// J1 实测 Origin 过冲残留 34 → 释放线偏高 → 撤板后真空 CAPVD 距线 7 counts,
// RSM 差 1 count 卡 75s; 容差 4 = 等效线 Origin-45, 回滞 49-45=4 (σ1-2 → 2~4σ 安全)
// 150(→35)不够: 23µH 现场实测板停临界回摆 Origin-36, 需释放线<Origin-37 才释放; // 150(→35)不够: 23µH 现场实测板停临界回摆 Origin-36, 需释放线<Origin-37 才释放;
// 180(→41)线=Origin-41, 余 4 counts; 触发-释放回滞 49-41=8 counts (实测σ≈1-2, 安全) // 180(→41)线=Origin-41, 余 4 counts; 触发-释放回滞 49-41=8 counts (实测σ≈1-2, 安全)
#define USE_SLOW_RELEASE 0 // 方案A总开关: 1=释放走慢滤波(对齐PD132T) 0=原快滤波释放 #define USE_SLOW_RELEASE 0 // 方案A总开关: 1=释放走慢滤波(对齐PD132T) 0=原快滤波释放
+2 -2
View File
@@ -14,11 +14,11 @@
#define __CMCNG_H__ #define __CMCNG_H__
#define PRODUCT_MODEL "DLD154" #define PRODUCT_MODEL "DLD154"
#define FIRMWARE_VER "4.36.28" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定) #define FIRMWARE_VER "4.36.29" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
#define HARDWARE_VER "3.00" #define HARDWARE_VER "3.00"
#define FIRMWARE_VER_MAIN 4 #define FIRMWARE_VER_MAIN 4
#define FIRMWARE_VER_SUB 36 #define FIRMWARE_VER_SUB 36
#define FIRMWARE_VER_REV 28 #define FIRMWARE_VER_REV 29
#define HARDWARE_VER_MAIN 3 #define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 0 #define HARDWARE_VER_SUB 0
@@ -288,6 +288,7 @@ static uint8_t rel_release_hit(void)
if (g_q_lo) { if (g_q_lo) {
_cmp = g_rel_smooth; _cmp = g_rel_smooth;
_line = loop1_Origin - ((loop1_dlt_ORG * REL_BAND_LO_MULT) / 100); _line = loop1_Origin - ((loop1_dlt_ORG * REL_BAND_LO_MULT) / 100);
if (_line > REL_LO_TOL) _line -= REL_LO_TOL; /* V4.36.29: 容差破死锁(等效线 Origin-45) */
} }
return (_line < _cmp) ? 1 : 0; return (_line < _cmp) ? 1 : 0;
} }