diff --git a/docs/devlog.md b/docs/devlog.md index 9ce59a2..7f47b9e 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -4,6 +4,14 @@ --- +## 2026-09-03 — 频率窗上限 115→125kHz(固件 V4.36.9) + +> **固件版本:V4.36.9**(cmcng.h:FIRMWARE_VER="4.36.9",REV=9)。devlog 修订 V2.43。 + +`COIL_F_OK_MAX_KHZ` 115 → **125**:线圈频率合理窗 **20~125kHz**(43nF 板口径 L≈38µH 起)。 +演进链:120@68nF实验 → 92@68nF → 92@43nF(过严) → 108 → 115 → **125**。 +test_coil_range 边界 125/126 全绿;spec V2.25 / manual 故障表已同步。 + ## 2026-09-03 — 进入/释放确认按 Q 档分档(固件 V4.36.8) > **固件版本:V4.36.8**(cmcng.h:FIRMWARE_VER="4.36.8",REV=8)。devlog 修订 V2.42。 @@ -1703,6 +1711,7 @@ if (dev >= dlt_ORG × 4) { | 版本 | 时间 | 说明 | |------|------|------| +| V2.43 | 2026-09-03 | V4.36.9 频率窗上限 115→125kHz (20~125kHz, 43nF≈38µH起) | | V2.42 | 2026-09-03 | V4.36.8 进入/释放确认按Q档(高3/中4/低5样本), dlt已比例化无需分档 | | V2.41 | 2026-09-03 | V4.36.7 参数: RELAY_HOLD 1s; Q抑制 高200/中300/低400ms | | V2.40 | 2026-09-03 | V4.36.6 高Q 抑制窗 0→100ms(短兜底), 分档终值 100/200/400ms | diff --git a/docs/product-manual.md b/docs/product-manual.md index a379b68..9066064 100644 --- a/docs/product-manual.md +++ b/docs/product-manual.md @@ -179,7 +179,7 @@ DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈 | 故障类型 | 红灯 | 绿灯 | 黄灯 | 说明 | |---------|------|------|------|------| | 线圈断开(当前) | 呼吸 | 灭 | **快闪** (200ms) | 检查线圈连接。**断开前有车:继电器保持 RELAY_HOLD_MS=500ms 后仍断才释放**(防瞬时断开误释放,宏可调) | -| 线圈电感量不合理(V4.26/V4.33) | 呼吸 | 灭(无车) | **一长一短** (300ms亮/100ms灭/100ms亮/700ms灭 循环) | 空场频率出 20~115kHz(默认低频档):L偏大(f<20k)/L偏小(f>115k),检查线圈匝数/尺寸 | +| 线圈电感量不合理(V4.26/V4.33/V4.36.9) | 呼吸 | 灭(无车) | **一长一短** (300ms亮/100ms灭/100ms亮/700ms灭 循环) | 空场频率出 20~125kHz(默认低频档):L偏大(f<20k)/L偏小(f>125k),检查线圈匝数/尺寸 | | 线圈重连,断开 1 次 | 呼吸 | 正常 | **1 短闪** + 1.2s 灭 | 发生过 1 次断开,已恢复 | | 线圈重连,断开 2 次 | 呼吸 | 正常 | **2 短闪** + 1.2s 灭 | 发生过 2 次断开,已恢复 | | 线圈重连,断开 3+ 次 | 呼吸 | 正常 | **3 短闪** + 1.2s 灭 | 多次断开,建议检查接头 | diff --git a/docs/technical-spec.md b/docs/technical-spec.md index fe2d36e..94977eb 100644 --- a/docs/technical-spec.md +++ b/docs/technical-spec.md @@ -1,6 +1,6 @@ # DLD154V4B 技术规格书 -> 单路线圈车辆检测器 | 固件版本: V4.36.8 | 文档版本: V2.24 +> 单路线圈车辆检测器 | 固件版本: V4.36.9 | 文档版本: V2.25 > 本文档面向工程开发、系统集成及故障深度分析 --- @@ -506,7 +506,7 @@ void poll_green_led(void) { |--------|------|------|------|---------| | 1 | `g_disconnect_active == 1` 或 `!g_loop_power_up_state` | **快闪** | 200ms 亮 / 200ms 灭 | 线圈当前断开中 / 从无线圈上电 | | 4 | `g_env_warn` 或 `g_env_resync` | **常亮** | — | 环境异常预判/重校准学习(V4.24/25/31;预判 2s 锁存、累计 7s 触发学习、替换后空闲 2s 灭) | -| 5 | `g_coil_fault`(V4.26/32/36) | **一长一短** | 长亮 300ms / 灭 100ms / 短亮 100ms / 灭 700ms 循环 | 电感量不合理:1=L偏大(f<20kHz) 2=L偏小(f>115kHz) | +| 5 | `g_coil_fault`(V4.26/32/36/9) | **一长一短** | 长亮 300ms / 灭 100ms / 短亮 100ms / 灭 700ms 循环 | 电感量不合理:1=L偏大(f<20kHz) 2=L偏小(f>125kHz) | | 3 | `g_disconnect_count == 1` | **1 短闪** | 80ms 亮 / 200ms 灭 → 1.2s 灭(循环) | 断开 1 次,已恢复 | | 3 | `g_disconnect_count == 2` | **2 短闪** | 同上 | 断开 2 次 | | 3 | `g_disconnect_count >= 3` | **3 短闪** | 同上 | 断开 3+ 次 | @@ -627,7 +627,7 @@ if (!g_loop_stable) { | 线圈断开 | `loop1_RF_FLAG == 0` 持续 | 黄灯快闪 / 继电器释放 | | 线圈短路 | Xn 持续为 0 或极小 | 黄灯快闪 / 继电器释放 | | 电感量不合理(L偏大) | 空场 f 持续 < 20 kHz(默认低频档,V4.26) | 黄灯**一长一短**(g_coil_fault=1)/ 持续监视 1s 防抖 | -| 电感量不合理(L偏小) | 空场 f 持续 > 115 kHz | 黄灯**一长一短**(g_coil_fault=2)/ 持续监视 1s 防抖 | +| 电感量不合理(L偏小) | 空场 f 持续 > 125 kHz | 黄灯**一长一短**(g_coil_fault=2)/ 持续监视 1s 防抖 | ### 10.2 黄灯编码设计 @@ -790,3 +790,4 @@ DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的 | V2.22 | 2026-09-03 | **V4.36.6 高Q 档抑制窗 0→100ms**:高Q(≤80kHz 大L) 增加 100ms 短兜底窗(覆盖起振/插头瞬态),分档完整为 高Q 100ms/中Q 200ms/低Q 400ms | | V2.23 | 2026-09-03 | **V4.36.7 参数调整**:RELAY_HOLD_MS 500→**1000**(有车断开继电器保持);抑制窗 高Q 100→**200** / 中Q 200→**300** / 低Q 400 不变 → 分档 200/300/400ms | | V2.24 | 2026-09-03 | **V4.36.8 Q 档判定参数**:进入确认 ENTRY_CONFIRM 按 Q 档(高3/中4/低5 样本)+ 释放确认同表分档——低Q 抖动大防假进入/输出抖落;dlt 已比例化无需分档;update_q_confirm_need 每样本按空场 f 更新 | +| V2.25 | 2026-09-03 | **V4.36.9 COIL_F_OK_MAX_KHZ 115→125**:频率合理窗 20~125kHz(43nF 板口径 ≈38µH 起) | diff --git a/tests/test_coil_range.c b/tests/test_coil_range.c index 44db358..b82351c 100644 --- a/tests/test_coil_range.c +++ b/tests/test_coil_range.c @@ -2,8 +2,8 @@ * test_coil_range.c — 线圈电感量合理范围监视 gcc 隔离单测 (DLD154V4B V4.26) * * 验证对象: TaskLoop.c coil_monitor() (V4.26 拍板规格) - * 默认低频档口径(43nF 三极管板): 空场频率合理窗 20~115kHz, 出界即判定电感量不合理 - * g_coil_fault: 0=正常 1=L偏大(f<20kHz) 2=L偏小(f>115kHz) + * 默认低频档口径(43nF 三极管板): 空场频率合理窗 20~125kHz, 出界即判定电感量不合理 + * g_coil_fault: 0=正常 1=L偏大(f<20kHz) 2=L偏小(f>125kHz) * 防抖: 越界/恢复均连续 100tick(=1s) 才置位/清除 (调用点=稳定无车空闲) * * 镜像宏与固件一致 (改 COIL_* 时同步此处!) @@ -14,7 +14,7 @@ #include #define COIL_F_OK_MIN_KHZ 20 -#define COIL_F_OK_MAX_KHZ 115 +#define COIL_F_OK_MAX_KHZ 125 #define COIL_DEF_C_NF 66 static uint8_t g_coil_fault = 0; @@ -86,11 +86,11 @@ static void test_boundaries(void) { g_coil_fault = 0; g_coil_bad_cnt = 0; run_ticks(19, 100); assert(g_coil_fault == 1); /* 19 → 偏大 */ - run_ticks(62, 100); assert(g_coil_fault == 0); /* 20~115 正常 */ + run_ticks(62, 100); assert(g_coil_fault == 0); /* 20~125 正常 */ run_ticks(20, 100); assert(g_coil_fault == 0); /* 边界 20 正常 */ - run_ticks(115, 100); assert(g_coil_fault == 0); /* 边界 115 正常 */ - run_ticks(116, 100); assert(g_coil_fault == 2); /* 116 → 偏小 */ - printf("4. 边界 19/20/115/116 OK\n"); + run_ticks(125, 100); assert(g_coil_fault == 0); /* 边界 125 正常 */ + run_ticks(126, 100); assert(g_coil_fault == 2); /* 126 → 偏小 */ + printf("4. 边界 19/20/125/126 OK\n"); } static void test_jitter_no_alarm(void) @@ -111,6 +111,6 @@ int main(void) test_recover(); test_boundaries(); test_jitter_no_alarm(); - printf("\nALL PASS (窗口 20~115kHz, 防抖 1s)\n"); + printf("\nALL PASS (窗口 20~125kHz, 防抖 1s)\n"); return 0; } diff --git a/utilities/at32f421_freertos_demo/inc/TaskLoop.h b/utilities/at32f421_freertos_demo/inc/TaskLoop.h index 084c4d4..d5102d6 100644 --- a/utilities/at32f421_freertos_demo/inc/TaskLoop.h +++ b/utilities/at32f421_freertos_demo/inc/TaskLoop.h @@ -56,7 +56,7 @@ #define ENV_WARN_WAIT 200 // 环境预判 (V4.31): dev>+4dlt 高位连续 ~2s → 黄灯预判锁存(回摆保持) #define ENV_RECOVER_WAIT 200 // 恢复确认 (V4.31): 新基线替换后 环境空闲连续 ~2s 才解除预判, 黄灯灭 #define COIL_F_OK_MIN_KHZ 20 // 线圈频率合理窗 (V4.26): 默认低频档口径, <20kHz → L偏大 -#define COIL_F_OK_MAX_KHZ 115 // 线圈频率合理窗 (V4.36): >115kHz → L偏小 (43nF板口径, ≈44µH; 放行 ~48µH 小线圈) +#define COIL_F_OK_MAX_KHZ 125 // 线圈频率合理窗 (V4.36/9): >125kHz → L偏小 (43nF板口径, ≈38µH) #define COIL_CAL_C_NF 43 // 标定等效谐振电容 nF (V4.34): 三极管库存板 低频档(66nF名义, R19在/R27空)实测 C_eff≈43 (41.3~45.5; 0Ω板68仅实验口径, 产品不用) // 旧43 = 5.1K电阻旧板带病特性(三极管开关未饱和导通, 第二颗33nF未全量并入), 作废 #define COIL_CAL_C_NF_33 34 // 高频档(33nF名义)标定值: 实测 C_eff≈34.4 (33.8~35.0, 3组) — 用33nF档时改 COIL_CAL_C_NF 为34 diff --git a/utilities/at32f421_freertos_demo/inc/cmcng.h b/utilities/at32f421_freertos_demo/inc/cmcng.h index 3201eb0..d571f7b 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.8" // ..޶ (2026-09-03 : СĶֻ REV; MAIN/SUB ɲƷ) +#define FIRMWARE_VER "4.36.9" // ..޶ (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 8 +#define FIRMWARE_VER_REV 9 #define HARDWARE_VER_MAIN 3 #define HARDWARE_VER_SUB 0