feat(V4B): V4.36.6 — 高Q 抑制窗 0→100ms 短兜底

Q 分档终值: 高Q(f≤80k) 100ms / 中Q(80~100k) 200ms / 低Q(f>100k) 400ms
语法0 error, 4测试全绿; spec V2.22 / devlog V2.40
This commit is contained in:
wangfq
2026-09-04 10:14:42 +08:00
parent ca6b40cd2d
commit 48cf3475be
4 changed files with 20 additions and 7 deletions
+11
View File
@@ -4,6 +4,16 @@
--- ---
## 2026-09-03 — 高Q 档抑制窗 0→100ms(固件 V4.36.6
> **固件版本:V4.36.6**cmcng.hFIRMWARE_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) ## 2026-09-03 — 重连起振抑制窗 按 Q 分档(固件 V4.36.5)
> **固件版本:V4.36.5**cmcng.hFIRMWARE_VER="4.36.5"REV=5)。devlog 修订 V2.39。 > **固件版本:V4.36.5**cmcng.hFIRMWARE_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.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.38 | 2026-09-03 | V4.36.4 绿灯=RLY1 继电器实际输出状态(吸合亮/释放灭), 删断开强制灭分支; 自检期慢闪不变 |
| V2.37 | 2026-09-03 | V4.36.3 有车断开继电器保持 RELAY_HOLD_MS=500ms(ISR计时/宏可调); 无车断开立即释放不变 | | V2.37 | 2026-09-03 | V4.36.3 有车断开继电器保持 RELAY_HOLD_MS=500ms(ISR计时/宏可调); 无车断开立即释放不变 |
+2 -1
View File
@@ -1,6 +1,6 @@
# DLD154V4B 技术规格书 # 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.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.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 0ms136/210µH 实测无需);抑制期仅挂起进入确认累计 | | 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 0ms136/210µH 实测无需);抑制期仅挂起进入确认累计 |
| V2.22 | 2026-09-03 | **V4.36.6 高Q 档抑制窗 0→100ms**:高Q(≤80kHz 大L) 增加 100ms 短兜底窗(覆盖起振/插头瞬态),分档完整为 高Q 100ms/中Q 200ms/低Q 400ms |
+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.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 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 5 #define FIRMWARE_VER_REV 6
#define HARDWARE_VER_MAIN 3 #define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 0 #define HARDWARE_VER_SUB 0
@@ -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): 起振慢/幅度弱 → 前几窗测量偏差大 → 假"有车"跳输出
* 高Q(低频大L): 起振快样本干净 → 无需抑制 (136/210µH 实测无问题) * 高Q(低频大L): 起振快样本干净 → 仅需短兜底窗 (V4.36.6: 100ms)
* 分界(实测): 46~50µH→109~113k 必跳 → >100k 归低Q; 80~100k 中Q; <=80k 高Q */ * 分界(实测): 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_HI_F_KHZ 80 /* f <= 80kHz (L≳92µH@43nF) → 高Q */
#define RECONNECT_Q_MID_F_KHZ 100 /* 80< f <=100kHz → 中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_MID_MS 200 /* 中Q: 短抑制 */
#define RECONNECT_BLANK_Q_LO_MS 400 /* 低Q(f>100k, L<~59µH): 长抑制 */ #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(高频) 长抑制 */ g_reconn_blank_ms = RECONNECT_BLANK_Q_LO_MS; /* 低Q(高频) 长抑制 */
else if (_f > RECONNECT_Q_HI_F_KHZ) else if (_f > RECONNECT_Q_HI_F_KHZ)
g_reconn_blank_ms = RECONNECT_BLANK_Q_MID_MS; /* 中Q 短抑制 */ 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) if (g_reconn_blank_ms)
PRINT("EVT|reconn_blank %dms f:%d kHz\n", PRINT("EVT|reconn_blank %dms f:%d kHz\n",
g_reconn_blank_ms, _f); g_reconn_blank_ms, _f);