fix(V4B): V4.36.14 — 重连确认窗漏网路径修复 (主循环拍级上升沿)
现场 21µH: 三段重连仅无窗段跳 (无 reconnect/blank 打印直接 Car_In) 根因: 上升沿用 ISR LOOP_OK0(5ms), 断开时主循环 150ms 慢 tick, 插头抖动可致 LOOP_OK0 卡 1 → 恢复漏触发确认窗 → CAPVD 不重置直接判定 → 插回瞬态假有车. 干净断开重连走窗则被抑制(验证 2/3 段无跳) 改动: loop_task while 顶部 g_prev_ok 主循环拍级(10ms)上升沿检测, 任何 0→1 恢复强制进确认窗+blank; 抖动免疫保留; LOOP_OK0 仅供安全复位 语法0 error, 4测试全绿; spec V2.30 / devlog V2.48
This commit is contained in:
@@ -4,6 +4,43 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-03 — 重连确认窗漏网路径修复(固件 V4.36.14)
|
||||
|
||||
> **固件版本:V4.36.14**(cmcng.h:FIRMWARE_VER="4.36.14",REV=14)。devlog 修订 V2.48。
|
||||
|
||||
### 现场复现(用户 21µH/164kHz 线圈, 临时改 LO 抑制 3000ms 测试)
|
||||
|
||||
日志三段重连仅第一段跳:disconnect(cnt=1) → 4s 后 enter_try/Car_In/Car_OFF(1.96s),
|
||||
**前后无 reconnect confirmed / reconn_blank 打印** → 假车没走抑制窗。
|
||||
|
||||
### 根因:确认窗漏网路径(LOOP_OK0 拍级竞态)
|
||||
|
||||
重连上升沿用 ISR(5ms) 维护的 `loop1_LOOP_OK0`,而主循环断开时 150ms 慢 tick:
|
||||
插头抖动(断开↔恢复数拍)可使 LOOP_OK0 停在 1 → 恢复时 `!LOOP_OK0` 不触发
|
||||
→ 跳过 candidate/确认窗/blank → CAPVD 不重置、直接正常判定 → 插回瞬态
|
||||
(CAPVD 大跌 700+ counts) 判假车跳输出。干净断开→干净重连则走窗被抑制(②③无跳)。
|
||||
|
||||
### 改动
|
||||
|
||||
loop_task while 顶部**主循环拍级(10ms)自身上升沿检测**:
|
||||
```c
|
||||
if (loop1_LOOP_OK && !g_prev_ok) { g_prev_ok = 1; candidate=1; cnt=0; }
|
||||
else if (!loop1_LOOP_OK) g_prev_ok = 0;
|
||||
```
|
||||
任何 0→1 恢复(无论 LOOP_OK0 状态)都强制进确认窗 + blank 抑制;
|
||||
确认窗内掉线仍取消候选(抖动免疫保留)。ISR LOOP_OK0 维护保留(供安全复位路径,不再驱动候选)。
|
||||
|
||||
### 验证
|
||||
|
||||
- 语法 0 error;4 组单测全 PASS(重连在主循环,无单测耦合;待板级验证)
|
||||
|
||||
### 待板级验证
|
||||
|
||||
1. 21µH(或 46µH) 快速抖动拔插:每次恢复都应看到 `loop_reconnect confirmed` + `reconn_blank`,
|
||||
无直接 Car_In 跳输出(尤其"断开几拍又恢复"的抖动场景)
|
||||
2. 正常拔插重连:行为同 V4.36.13(100ms 确认 + 分档抑制)
|
||||
3. 抑制窗值:git 基线 LO=1500ms(用户临时 3000 是否转正待定)
|
||||
|
||||
## 2026-09-03 — 一长一短 灭 100→300ms(固件 V4.36.13)
|
||||
|
||||
> **固件版本:V4.36.13**(cmcng.h:FIRMWARE_VER="4.36.13",REV=13)。devlog 修订 V2.47。
|
||||
@@ -1747,6 +1784,7 @@ if (dev >= dlt_ORG × 4) {
|
||||
|
||||
| 版本 | 时间 | 说明 |
|
||||
|------|------|------|
|
||||
| V2.48 | 2026-09-03 | V4.36.14 重连确认窗漏网路径修复: 主循环拍级上升沿检测替代 ISR LOOP_OK0 |
|
||||
| V2.47 | 2026-09-03 | V4.36.13 一长一短 灭 100→300ms (dur 180/60/20/140, 周期2.0s) |
|
||||
| V2.46 | 2026-09-03 | V4.36.12 一长一短长亮 300→900ms (dur 180/20/20/140, 周期1.8s) |
|
||||
| V2.45 | 2026-09-03 | V4.36.11 低Q 重连抑制窗 400→1500ms (分档 200/300/1500ms) |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# DLD154V4B 技术规格书
|
||||
|
||||
> 单路线圈车辆检测器 | 固件版本: V4.36.13 | 文档版本: V2.29
|
||||
> 单路线圈车辆检测器 | 固件版本: V4.36.14 | 文档版本: V2.30
|
||||
> 本文档面向工程开发、系统集成及故障深度分析
|
||||
|
||||
---
|
||||
@@ -795,3 +795,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的
|
||||
| V2.27 | 2026-09-03 | **V4.36.11 低Q 重连抑制窗 400→1500ms**:Q 分档抑制 高200/中300/**低1500**ms |
|
||||
| V2.28 | 2026-09-03 | **V4.36.12 黄灯一长一短 长亮 300→900ms**:dur {60,20,20,140}→{180,20,20,140}(总周期 1.8s),灭100/短亮100/灭700 不变 |
|
||||
| V2.29 | 2026-09-03 | **V4.36.13 一长一短 灭 100→300ms**:dur {180,20,20,140}→{180,60,20,140}=900/300/100/700ms(总周期 2.0s) |
|
||||
| V2.30 | 2026-09-03 | **V4.36.14 重连确认窗漏网路径修复**:主循环拍级自身上升沿检测(g_prev_ok)替代 ISR LOOP_OK0——插头抖动致 LOOP_OK0 卡 1 时恢复不再漏触发确认窗(现场 21µH 无窗直接 Car_In 复现);LO 抑制窗仍 1500ms(用户临时 3000 未入库) |
|
||||
|
||||
Reference in New Issue
Block a user