Files
vd-analysis/models/DLD154V4B/analysis.md
T
wangfq b5e4cc0493 docs(vd-analysis): PD132T→V4B 交付对齐分析 + 灵敏度表 V2.11 同步
- 新增 docs/pd132t-to-v4b-delivery-alignment.md: 灵敏度对齐(调表方案已定)/
  触发释放手感(存在输出+延时为主, 脉冲不比较)/配置对齐(有限存在搁置)/
  V4B 先进点 7 项/现场待确认清单
- 对比总表+analysis.md: V4B 灵敏度表 {216,108,36,20}→{300,60,36,20}
2026-08-28 10:38:04 +08:00

6.1 KiB
Raw Blame History

DLD154V4B 车检器分析

型号: DLD154V4B | 固件: V2.8V2.0 架构)| 平台: AT32F421F8P7Cortex-M4, 120MHz, FreeRTOS 源码: vd_detector/DLD154V4B/utilities/at32f421_freertos_demo/TaskLoop.c 914 行 + main.c 血缘:M1H 的现代实现——灵敏度表/映射/IIR 系数继承,M4 优化(快 tick/确认/斜率限幅)是 8051 时代做不到的增量。

1. 平台与工程

MCU AT32F421F8P7Cortex-M4 @120MHz, 64KB Flash
RTOS FreeRTOSloop_task_function 主任务)
工具链 Keil MDK / AT32 标准库
看门狗 IWDT ≈1.64sV2.10 新增,双保险喂狗)
通信 无 RS485TTL 调试口 9600 8N1

2. 硬件资源

引脚 功能
PA7 LP 线圈捕获(TIM3_CH2DIV_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) / XnBASE=2^17),累加 LPCNT 个周期得 Value ≈ 131072
  • 测量窗 ≈ 131072/60MHz = 2.18 ms

3.2 滤波(M4 优化,区别于参考型号)

  • IIRALFA_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 dlt3 次确认),dlt = Origin×SensTable[SENS]>>16
  • 离开:简单滞回 3 次防抖V2.9 起默认,(Origindlt)<CAPVDcnt_release≥3);平坦性三条件(CN200910309382)代码保留在 #if USE_FLATNESS_EXIT 内,默认禁用(现场实测不理想,2026-08-28)
  • 离开阈值 dlt = Origin×SensTable_1[SENS]>>16(同档滞回)

3.5 灵敏度表(M1H 继承,V2.8/V2.11 调整)

SensTable[4]   = {300,  60, 36, 20}   // 进入 (Δf/f: 0.46%…0.031%, V2.11 0/1 档对齐 PD132T)
SensTable_1[4] = {108,  72, 18, 14}   // 离开(滞回 ~50-70%
  • SENS = 3-(sw&0x03)(拨码反码,与 M1H 一致)
  • ⚠ V2.82026-08-27):SENS=3 最高档 10→20、9→14——现场广告杆落杆误触发(落杆机械/电磁扰动越过 0.015% 阈值)
  • ⚠ V2.112026-08-28):SENS=0/1 档 216/108→300/600.33%/0.16%→0.46%/0.09% Δf/f)——PD132T 客户现场替换对齐,2/3 档保持

4. 时序/速率/周期速查(2026-08-27

V4B 是混合节拍架构,与所有参考型号的单节拍不同:

说明
检测主循环 10 ms FreeRTOS vTaskDelay(10)vd1_task 由 CAP_OK 门控
测量窗 2.18 ms 131072/60MHzCAPVD 原始值节拍)
CAPVD 更新节拍 10 ms IIR 消费节拍(vd1_task 在 10ms 循环跑)
基线更新周期 5 s500 窗) 稳定期 1s100 窗)
IIR 时间常数 τ 32 ms 10ms × 256/79
时序状态机 tick 50 ms TMR15 ISR 5ms×10(进入/离开/脉冲/超时)
进入确认 3×10ms = 30ms + 时序 IN_DELAY 500ms
离开判定 简单滞回 3 次防抖(平坦性 #if 禁用,V2.9 起) + OUT_DELAY 500msSW4=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
看门狗 IWDT ≈1.64sV2.10 TMR15 ISR 计数 + 主循环 poll_wdg 500ms 喂狗

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 1310722^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} {300,60,36,20}/{108,72,18,14}
IIR ALFA 79 @32.8ms τ=106ms ALFA 79 @10ms τ=32ms(快 3.3×)
进入 单次越线 3 次确认 + 斜率限幅
离开 简单阈值 简单滞回 3 次防抖(平坦性 #if 禁用,V2.9 起)
看门狗 WDT_CONTR IWDT ≈1.64sV2.10 双保险)
时序 tick 50ms 检测 10ms + 时序 50ms(混合)

7. 设计特点

  1. 混合节拍是本型号最大特色:检测(IIR/基线/判据)在 10ms 快循环,时序状态机(进入/离开/脉冲/超时)在 50ms tick——两者解耦,响应快且时序参数与 M1H 直接对齐
  2. 基线三重保护:有车冻结 + 冻结超时(10s)+ 稳定性检查(±2%)——比参考型号多一层环境自适应
  3. 看门狗 V2.10 补齐:此前"无看门狗"是全产品线例外项;V2.10 新增 IWDT(超时≈1.64sTMR15 ISR 计数 + 主循环 poll_wdg 双保险喂狗,对齐 154Pro WWDG 方案)——与 154Pro 的 WWDG 558ms / 960 的 IWDG 策略对齐
  4. 平坦性离开判定(专利 CN200910309382)曾用于解决大车多峰频率曲线误触发,是参考型号没有的——V2.9 起默认关闭(现场实测不理想),切回简单滞回 3 次防抖(与 154Pro 一致),代码保留可开