From 11cd8f15c97a50247608e24d5ad08cc38ca748e5 Mon Sep 17 00:00:00 2001 From: wangfq Date: Thu, 27 Aug 2026 18:18:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(vd-analysis):=20=E5=BD=92=E6=A1=A3=20DLD15?= =?UTF-8?q?4V4B=20=E5=88=86=E6=9E=90=20(=E4=BA=94=E5=9E=8B=E5=8F=B7?= =?UTF-8?q?=E5=AF=B9=E6=AF=94=E6=80=BB=E8=A1=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - models/DLD154V4B/analysis.md: AT32F421 M4+FreeRTOS V2.8 — M1H 的现代实现 关键发现: 混合节拍架构 (检测 10ms 主循环 CAP_OK 门控 + 时序状态机 TMR15 50ms tick); 归一化基数 131072 是参考型号 32768 的 4 倍 (测量窗 2.18ms 快 15x, 精度高 4x); 无看门狗; 平坦性三条件离开 (CN200910309382); V2.8 最高档 10→20 (广告杆落杆误触发) - README/cross-model-comparison: 升级五型号, V4B 列含混合节拍/131072/32ms τ --- README.md | 1 + docs/cross-model-comparison.md | 48 +++++++------- models/DLD154V4B/analysis.md | 117 +++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 24 deletions(-) create mode 100644 models/DLD154V4B/analysis.md diff --git a/README.md b/README.md index 03dc3c3..5d24075 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ | PD132T | MA801AS / 8051 (Keil) | V3.01 (2021-06) | [models/PD132T/analysis.md](models/PD132T/analysis.md) | `reference/PD132T_V3.01-20210623` | | M1H | STC12C5202 (8051) | V1.00 (2008-12) | [models/M1H/analysis.md](models/M1H/analysis.md) | `reference/M1H code` | | TLD-110 | P87LPC762 (8051, 汇编) | V2.33 (2006-07) | [models/TLD-110/analysis.md](models/TLD-110/analysis.md) | `reference/TLD-110(410) code` | +| DLD154V4B | AT32F421 (M4, FreeRTOS) | V2.8 (2026) | [models/DLD154V4B/analysis.md](models/DLD154V4B/analysis.md) | `vd_detector/DLD154V4B`(自研) | ## 目录结构 diff --git a/docs/cross-model-comparison.md b/docs/cross-model-comparison.md index c4e05d5..e30d46b 100644 --- a/docs/cross-model-comparison.md +++ b/docs/cross-model-comparison.md @@ -10,33 +10,33 @@ | PD132T | MA801AS (8051) | V3.01 | [models/PD132T/analysis.md](../models/PD132T/analysis.md) | | M1H | STC12C5202 (8051) | V1.00 | [models/M1H/analysis.md](../models/M1H/analysis.md) | | TLD-110 | P87LPC762 (8051) | V2.33 | [models/TLD-110/analysis.md](../models/TLD-110/analysis.md) | +| DLD154V4B | AT32F421 (M4) | V2.8 | [models/DLD154V4B/analysis.md](../models/DLD154V4B/analysis.md) | -## 四型号核心参数对比(2026-08-27) +## 五型号核心参数对比(2026-08-27) -| 维度 | TLD-110 | M1H | PD132L | PD132T | -|------|---------|-----|--------|--------| -| 年代 | 2003-2006 | 2008 | 2020 | 2021 | -| MCU | P87LPC762 | STC12C5202 | STM8S003F3 | MA801AS | -| 语言 | 汇编 | C | C | C | -| 通道 | 1(代码含双) | 1 | 1 | 1 | -| 测频方式 | **门控脉冲计数** | PCA 周期捕获 | TIM1 周期捕获 | PCA 周期捕获 | -| 归一化基数 | QT(空载计数) | 32768 | 32768 | 32768 | -| 测量累积 | 16 次 | LPCNT 个周期 | LPCNT 个周期 | LPCNT 个周期 | -| IIR 系数 | —(无) | 79(固定) | 79/64 | 79/64 | -| 基线 | 静态原理(QT 学习) | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | -| 灵敏度表 | {70,55,40,20} | {216,108,36,10} | {300,60,32,21} | {300,60,32,21} | -| 阈值换算 | QT×表/40960 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | -| 档位 Δf/f | 0.171%~0.049% | 0.33%~0.015% | 0.92%~0.064% | 0.92%~0.064% | -| 滞回 | 相邻档 | 同档表 | 同档表(SET_ASB 可固定最高) | 同 | -| 看门狗 | WDCON | WDT_CONTR | IWDG+WWDG | WDTCR | -| 复位 | — | ISP_CONTR | WWDG 序列 | ISPCR | -| **测量节拍**(CAPVD 更新) | 门控 32.8ms | **32.8 ms** | **27.3 ms** | **43.7 ms** | -| **基线更新周期** | QT 一次性学习(无滑动平均) | **3.28 s**(100 窗) | **2.73 s** | **4.37 s** | -| IIR 时间常数 τ | —(无 IIR) | 106 ms | 88 ms / 109 ms | 142 ms | -| 进入响应 | 门控结束即判 | ~33 ms | ~27 ms | ~44 ms | -| 上电稳定 | ~1 s(QT 学习) | ~4 s | ~1 s | ~1 s | +| 维度 | TLD-110 | M1H | PD132L | PD132T | DLD154V4B | +|------|---------|-----|--------|--------|-----------| +| 年代 | 2003-2006 | 2008 | 2020 | 2021 | 2026 | +| MCU | P87LPC762 | STC12C5202 | STM8S003F3 | MA801AS | AT32F421 (M4) | +| 语言/系统 | 汇编 | C | C | C | C + FreeRTOS | +| 通道 | 1(代码含双) | 1 | 1 | 1 | 1 | +| 测频方式 | **门控脉冲计数** | PCA 周期捕获 | TIM1 周期捕获 | PCA 周期捕获 | TIM3 周期捕获 | +| 归一化基数 | QT(空载计数) | 32768 | 32768 | 32768 | **131072 (2^17)** | +| 测量窗 | 门控 32.8ms | 32.8ms | 27.3ms | 43.7ms | **2.18ms** | +| IIR 系数 | —(无) | 79(固定) | 79/64 | 79/64 | 79 + 斜率限幅 | +| 基线 | 静态原理(QT 学习) | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | **500 平均 + 冻结超时 10s** | +| 灵敏度表 | {70,55,40,20} | {216,108,36,10} | {300,60,32,21} | {300,60,32,21} | {216,108,36,20} | +| 阈值换算 | QT×表/40960 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | +| 档位 Δf/f | 0.171%~0.049% | 0.33%~0.015% | 0.92%~0.064% | 0.92%~0.064% | 0.33%~0.031% | +| 进入确认 | 无 | 无 | 无 | 无 | **3 次** | +| 离开判定 | 相邻档滞回 | 简单阈值 | 简单阈值 | 简单阈值 | **平坦性三条件** (CN200910309382) | +| 时序 tick | 门控窗 | 50ms | 50ms | 50ms | **检测 10ms + 时序 50ms(混合)** | +| 看门狗 | WDCON | WDT_CONTR | IWDG+WWDG | WDTCR | **无** | +| **测量节拍**(CAPVD 更新) | 门控 32.8ms | **32.8 ms** | **27.3 ms** | **43.7 ms** | **10 ms** | +| **基线更新周期** | QT 一次性学习 | **3.28 s**(100 窗) | **2.73 s** | **4.37 s** | **5 s**(500 窗) | +| IIR 时间常数 τ | —(无 IIR) | 106 ms | 88 ms / 109 ms | 142 ms | **32 ms** | -> ⚠ 时序数值基于 12MHz 晶振假设推导(测量节拍 = BASE/捕获时钟),**待现场验证**;DLD 系 @10ms tick ALFA=79 → τ=32ms 为实测。 +> ⚠ 时序数值基于 12MHz 晶振假设推导(测量节拍 = BASE/捕获时钟),**待现场验证**;DLD154V4B 为实测/代码确认(10ms tick τ=32ms)。V4B 归一化基数 131072 是参考型号 32768 的 4 倍 → 测量窗 2.18ms 快 15×、精度高 4 倍。 > ⚠ 灵敏度表**数值不可跨型号直接比较**:TLD-110 是门控计数域(QT 相对),其余是周期计数域(32768 基数,×65536 比例)。统一换算成 Δf/f 后:**TLD-110 最灵敏档 0.049%,M1H 0.015%,PD132 0.064%**。 diff --git a/models/DLD154V4B/analysis.md b/models/DLD154V4B/analysis.md new file mode 100644 index 0000000..b13324b --- /dev/null +++ b/models/DLD154V4B/analysis.md @@ -0,0 +1,117 @@ +# DLD154V4B 车检器分析 + +> 型号: DLD154V4B | 固件: V2.8(V2.0 架构)| 平台: **AT32F421F8P7**(Cortex-M4, 120MHz, FreeRTOS) +> 源码: `vd_detector/DLD154V4B/utilities/at32f421_freertos_demo/`(TaskLoop.c 914 行 + main.c) +> **血缘:M1H 的现代实现**——灵敏度表/映射/IIR 系数继承,M4 优化(快 tick/确认/斜率限幅)是 8051 时代做不到的增量。 + +## 1. 平台与工程 + +| 项 | 值 | +|----|-----| +| MCU | AT32F421F8P7(Cortex-M4 @120MHz, 64KB Flash) | +| RTOS | FreeRTOS(loop_task_function 主任务) | +| 工具链 | Keil MDK / AT32 标准库 | +| 看门狗 | **无**(V4B 无 IWDG/WWDG——与参考型号均不同) | +| 通信 | 无 RS485;TTL 调试口 9600 8N1 | + +## 2. 硬件资源 + +| 引脚 | 功能 | +|------|------| +| PA7 | LP 线圈捕获(TIM3_CH2,DIV_2 → 捕获时钟 60MHz) | +| PA0 / PA1 | SA1 / SA2 灵敏度拨码 | +| PA2 | SW3 存在/脉冲模式 | +| PA3 | SW4 离开延时开关 | +| PA4 | SW5 安全复位 | +| PA5 / PA6 | RLY2 辅助 / RLY1 主继电器 | +| PA9 / PA10 / PB1 | LEDA 绿 / LEDC 黄 / 红灯(TMR14 PWM 呼吸) | + +## 3. 检测算法 + +### 3.1 频率测量 + +- TIM3_CH2 输入捕获(PA7),捕获时钟 60MHz(DIV_2) +- 归一化:`LPCNT = MEASUREMENT_BASE(131072) / Xn`(**BASE=2^17**),累加 LPCNT 个周期得 Value ≈ 131072 +- 测量窗 ≈ 131072/60MHz = **2.18 ms** + +### 3.2 滤波(M4 优化,区别于参考型号) + +- IIR:`ALFA_CAP1=79` @10ms → **τ≈32ms** +- **斜率限幅**:单次变化 >5% 截断(拒绝 EMI/闪电尖峰) +- **进入确认**:连续 3 次低于阈值才判有车(ENTRY_CONFIRM=3) + +### 3.3 基线 + +- 正常:`WINDOW_ORIGIN=500` 滑动平均(500×10ms = **5s**),有车冻结 +- 稳定期:100 窗 + `STABLE_SAMPLES=128`(1.28s),绕过 IIR/斜率限幅直锁 +- **冻结超时**:`FREEZE_TIMEOUT=1000`(10s)+ ±2% 稳定性窗口,持续偏高且稳定才强制更新基线 + +### 3.4 进入/离开 + +- 进入:`CAPVD < Origin − dlt`(3 次确认),`dlt = Origin×SensTable[SENS]>>16` +- 离开:**平坦性三条件**(CN200910309382,USE_FLATNESS_EXIT=1)——`|f−fb|<Δ1 && |f'|<Δ2 && |f''|<Δ3` 同时满足;或简单 `cnt_release≥3` 防抖 +- 离开阈值 `dlt = Origin×SensTable_1[SENS]>>16`(同档滞回) + +### 3.5 灵敏度表(M1H 继承,V2.8 调整) + +``` +SensTable[4] = {216, 108, 36, 20} // 进入 (Δf/f: 0.33%…0.031%) +SensTable_1[4] = {108, 72, 18, 14} // 离开(滞回 ~50-70%) +``` + +- `SENS = 3-(sw&0x03)`(拨码反码,与 M1H 一致) +- ⚠ V2.8(2026-08-27):SENS=3 最高档 10→20、9→14——现场广告杆落杆误触发(落杆机械/电磁扰动越过 0.015% 阈值) + +## 4. 时序/速率/周期速查(2026-08-27) + +> V4B 是**混合节拍**架构,与所有参考型号的单节拍不同: + +| 量 | 值 | 说明 | +|----|-----|------| +| 检测主循环 | **10 ms** | FreeRTOS vTaskDelay(10),vd1_task 由 CAP_OK 门控 | +| 测量窗 | 2.18 ms | 131072/60MHz(CAPVD 原始值节拍) | +| **CAPVD 更新节拍** | **10 ms** | IIR 消费节拍(vd1_task 在 10ms 循环跑) | +| **基线更新周期** | **5 s**(500 窗) | 稳定期 1s(100 窗) | +| IIR 时间常数 τ | **32 ms** | 10ms × 256/79 | +| 时序状态机 tick | **50 ms** | TMR15 ISR 5ms×10(进入/离开/脉冲/超时) | +| 进入确认 | 3×10ms = 30ms | + 时序 IN_DELAY 500ms | +| 离开判定 | 平坦性三条件 + 防抖 | + OUT_DELAY 500ms(SW4=ON) | +| 脉冲宽 | 500 ms | PULSE_DELAY=10 @50ms | +| 有限存在 | **300 s** | HOLD_TIME=6000 @50ms | +| 安全复位 | **240 s** | LC_HOLD_TIME=4800 @50ms | +| 上电稳定 | 1.28 s | STABLE_SAMPLES=128 × 10ms | +| 看门狗 | 无 | — | + +## 5. 拨码与配置 + +| DIP | 引脚 | ON=1 | OFF=0 | +|-----|------|------|-------| +| SA_1/SA_2 | PA0/PA1 | 灵敏度低位/高位 | `SENS = 3-(sw&0x03)` | +| SW_3 | PA2 | 脉冲输出 | 存在输出 | +| SW_4 | PA3 | 离开延时 500ms | 无延时 | +| SW_5 | PA4 | 安全复位 | 正常运行 | + +拨码去抖:连续 5 次一致才生效。 + +## 6. 与 M1H 的血缘对比(同血统两代) + +| 特征 | M1H (2008) | DLD154V4B | +|------|-----------|-----------| +| 平台 | STC12C5202 (8051, ~12MHz) | AT32F421 (M4, 120MHz) + FreeRTOS | +| 归一化基数 | 32768 | **131072**(2^17,快 4 倍精度) | +| 测量窗 | 32.8ms | **2.18ms**(快 15×) | +| CAPVD 节拍 | 32.8ms | 10ms(快 3.3×) | +| 基线 | 100 窗 3.28s(有车也跟踪) | 500 窗 5s(有车冻结 + 冻结超时) | +| 灵敏度表 | {216,108,36,10}/{108,72,18,9} | {216,108,36,20}/{108,72,18,14} | +| IIR | ALFA 79 @32.8ms τ=106ms | ALFA 79 @10ms **τ=32ms**(快 3.3×) | +| 进入 | 单次越线 | **3 次确认 + 斜率限幅** | +| 离开 | 简单阈值 | **平坦性三条件** (CN200910309382) | +| 看门狗 | WDT_CONTR | 无 | +| 时序 tick | 50ms | 检测 10ms + 时序 50ms(混合) | + +## 7. 设计特点 + +1. **混合节拍**是本型号最大特色:检测(IIR/基线/判据)在 10ms 快循环,时序状态机(进入/离开/脉冲/超时)在 50ms tick——两者解耦,响应快且时序参数与 M1H 直接对齐 +2. **基线三重保护**:有车冻结 + 冻结超时(10s)+ 稳定性检查(±2%)——比参考型号多一层环境自适应 +3. **无看门狗**是例外项:依赖 FreeRTOS + 硬件稳定性,与 154Pro 的 WWDG/960 的 IWDG 策略不同 +4. 平坦性离开判定(专利 CN200910309382)解决大车多峰频率曲线误触发,是参考型号没有的