diff --git a/docs/devlog.md b/docs/devlog.md index 7050548..2a3cef3 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -4,6 +4,16 @@ --- +## 2026-09-03 — 高Q 档抑制窗 0→100ms(固件 V4.36.6) + +> **固件版本:V4.36.6**(cmcng.h:FIRMWARE_VER="4.36.6",REV=6)。devlog 修订 V2.40。 + +V4.36.5 中高Q(≤80kHz) 为 0ms 不抑制;用户要求高Q 也保留 100ms 兜底窗 +(覆盖插头接触/轻瞬态,虽实测 136/210µH 无问题)。 +改动:`RECONNECT_BLANK_Q_HI_MS 0 → 100`;分档 else 分支引用该宏。 + +**Q 分档终值**:高Q(f≤80k) **100ms** / 中Q(80~100k) **200ms** / 低Q(f>100k) **400ms** + ## 2026-09-03 — 重连起振抑制窗 按 Q 分档(固件 V4.36.5) > **固件版本:V4.36.5**(cmcng.h:FIRMWARE_VER="4.36.5",REV=5)。devlog 修订 V2.39。 @@ -1639,6 +1649,7 @@ if (dev >= dlt_ORG × 4) { | 版本 | 时间 | 说明 | |------|------|------| +| V2.40 | 2026-09-03 | V4.36.6 高Q 抑制窗 0→100ms(短兜底), 分档终值 100/200/400ms | | V2.39 | 2026-09-03 | V4.36.5 重连起振抑制按Q分档(f>100k低Q 400ms/80~100k中Q 200ms/≤80k高Q 0ms), 进入确认挂起 | | V2.38 | 2026-09-03 | V4.36.4 绿灯=RLY1 继电器实际输出状态(吸合亮/释放灭), 删断开强制灭分支; 自检期慢闪不变 | | V2.37 | 2026-09-03 | V4.36.3 有车断开继电器保持 RELAY_HOLD_MS=500ms(ISR计时/宏可调); 无车断开立即释放不变 | diff --git a/docs/technical-spec.md b/docs/technical-spec.md index 8a99f78..0a7d95e 100644 --- a/docs/technical-spec.md +++ b/docs/technical-spec.md @@ -1,6 +1,6 @@ # DLD154V4B 技术规格书 -> 单路线圈车辆检测器 | 固件版本: V4.36.5 | 文档版本: V2.21 +> 单路线圈车辆检测器 | 固件版本: V4.36.6 | 文档版本: V2.22 > 本文档面向工程开发、系统集成及故障深度分析 --- @@ -787,3 +787,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的 | V2.19 | 2026-09-03 | **V4.36.3 有车断开继电器保持 RELAY_HOLD_MS=500ms**:断开前 VD_FLAG=1 → RLY 保持不释放;500ms 内重连+有车 → 无缝续持;重连+无车 → vd1_task 判离释放;超时仍断 → 强制释放(宏可调) | | V2.20 | 2026-09-03 | **V4.36.4 绿灯=继电器状态指示**:稳定后绿灯镜像 RLY1(PA6) 实际输出——吸合亮/释放灭;删除断开时绿灯强制灭分支(与保持逻辑一致,消除"拔线绿灯灭=误判继电器释放");自检/判稳期仍 200ms 慢闪 | | V2.21 | 2026-09-03 | **V4.36.5 重连起振抑制按 Q 分档**:低Q(高频小L 46~50µH)起振慢前几窗偏差大→假有车跳输出;按空场频率 f 分档抑制——f>100k 低Q 400ms / 80~100k 中Q 200ms / ≤80k 高Q 0ms(136/210µH 实测无需);抑制期仅挂起进入确认累计 | +| V2.22 | 2026-09-03 | **V4.36.6 高Q 档抑制窗 0→100ms**:高Q(≤80kHz 大L) 增加 100ms 短兜底窗(覆盖起振/插头瞬态),分档完整为 高Q 100ms/中Q 200ms/低Q 400ms | diff --git a/utilities/at32f421_freertos_demo/inc/cmcng.h b/utilities/at32f421_freertos_demo/inc/cmcng.h index 8c76026..5f951ab 100644 --- a/utilities/at32f421_freertos_demo/inc/cmcng.h +++ b/utilities/at32f421_freertos_demo/inc/cmcng.h @@ -14,11 +14,11 @@ #define __CMCNG_H__ #define PRODUCT_MODEL "DLD154" -#define FIRMWARE_VER "4.36.5" // ..޶ (2026-09-03 : СĶֻ REV; MAIN/SUB ɲƷ) +#define FIRMWARE_VER "4.36.6" // ..޶ (2026-09-03 : СĶֻ REV; MAIN/SUB ɲƷ) #define HARDWARE_VER "3.00" #define FIRMWARE_VER_MAIN 4 #define FIRMWARE_VER_SUB 36 -#define FIRMWARE_VER_REV 5 +#define FIRMWARE_VER_REV 6 #define HARDWARE_VER_MAIN 3 #define HARDWARE_VER_SUB 0 diff --git a/utilities/at32f421_freertos_demo/src/TaskLoop.c b/utilities/at32f421_freertos_demo/src/TaskLoop.c index 30e2a69..ef64497 100644 --- a/utilities/at32f421_freertos_demo/src/TaskLoop.c +++ b/utilities/at32f421_freertos_demo/src/TaskLoop.c @@ -62,13 +62,13 @@ uint32_t loop1_freeze_ref; * 超时仍断开才释放(防瞬时断开误释放/防砸); * 保持期内重连且有车 → 输出无缝续持 */ -/* V4.36.5: 重连起振抑制窗 — 按线圈 Q 分档 (Q∝1/f, 用空场频率代理) +/* V4.36.5/6: 重连起振抑制窗 — 按线圈 Q 分档 (Q∝1/f, 用空场频率代理) * 低Q(高频小L): 起振慢/幅度弱 → 前几窗测量偏差大 → 假"有车"跳输出 - * 高Q(低频大L): 起振快样本干净 → 无需抑制 (136/210µH 实测无问题) + * 高Q(低频大L): 起振快样本干净 → 仅需短兜底窗 (V4.36.6: 100ms) * 分界(实测): 46~50µH→109~113k 必跳 → >100k 归低Q; 80~100k 中Q; <=80k 高Q */ #define RECONNECT_Q_HI_F_KHZ 80 /* f <= 80kHz (L≳92µH@43nF) → 高Q */ #define RECONNECT_Q_MID_F_KHZ 100 /* 80< f <=100kHz → 中Q */ -#define RECONNECT_BLANK_Q_HI_MS 0 /* 高Q: 起振快, 不抑制 */ +#define RECONNECT_BLANK_Q_HI_MS 100 /* V4.36.6: 高Q 短兜底窗(起振/插头瞬态) */ #define RECONNECT_BLANK_Q_MID_MS 200 /* 中Q: 短抑制 */ #define RECONNECT_BLANK_Q_LO_MS 400 /* 低Q(f>100k, L<~59µH): 长抑制 */ @@ -944,7 +944,8 @@ void vd1_task(void) g_reconn_blank_ms = RECONNECT_BLANK_Q_LO_MS; /* 低Q(高频) 长抑制 */ else if (_f > RECONNECT_Q_HI_F_KHZ) g_reconn_blank_ms = RECONNECT_BLANK_Q_MID_MS; /* 中Q 短抑制 */ - /* 高Q(低频) → 0ms 不抑制 */ + else + g_reconn_blank_ms = RECONNECT_BLANK_Q_HI_MS; /* 高Q(低频) 短兜底窗 */ if (g_reconn_blank_ms) PRINT("EVT|reconn_blank %dms f:%d kHz\n", g_reconn_blank_ms, _f);