- 归档 DLD154V4_Ver4.01-20251021_Logic.pdf (用户提供), 删除 Ver3.00 - analysis.md: 原理图引用更新; 修正捕获链路错误口径(计数120MHz+输入DIV_2, 等效 240M/Xn; V4.27 曾修 4 倍差: 示波器 30.23k vs 打印 7k) - 测量窗 2.18ms(60M误) → 1.09ms(120M tick) - 文末追加 2026-09-03 硬件变更: R19 拆 + R27 0Ω 旁路三极管 → C_eff 43→68.4 (固件 V4.28 43 作废 → V4.29 COIL_CAL_C_NF=68)
139 lines
8.0 KiB
Markdown
139 lines
8.0 KiB
Markdown
# DLD154V4B 车检器分析
|
||
|
||
> 型号: DLD154V4B | 固件: V2.8(V2.0 架构)| 平台: **AT32F421F8P7**(Cortex-M4, 120MHz, FreeRTOS)
|
||
> 源码: `vd_detector/DLD154V4B/utilities/at32f421_freertos_demo/`(TaskLoop.c 914 行 + main.c)
|
||
> 原理图: `models/DLD154V4B/DLD154V4_Ver4.01-20251021_Logic.pdf`(本仓附件,2026-09-03 由 Ver3.00 更新)
|
||
> ⚠ 本文为基础分析快照(原固件 V2.8 时代);固件最新 V4.29(含 V4.27 频率测量修正/V4.29 C_eff 标定 68)见 DLD154V4B 仓 docs/devlog
|
||
> 硬件前端对比: `docs/hardware-loop-frontend-pd132t-vs-v4b.md`(直连 vs PD132T CD4060 分频)
|
||
> **血缘:M1H 的现代实现**——灵敏度表/映射/IIR 系数继承,M4 优化(快 tick/确认/斜率限幅)是 8051 时代做不到的增量。
|
||
|
||
## 1. 平台与工程
|
||
|
||
| 项 | 值 |
|
||
|----|-----|
|
||
| MCU | AT32F421F8P7(Cortex-M4 @120MHz, 64KB Flash) |
|
||
| RTOS | FreeRTOS(loop_task_function 主任务) |
|
||
| 工具链 | Keil MDK / AT32 标准库 |
|
||
| 看门狗 | **IWDT ≈1.64s**(V2.10 新增,双保险喂狗) |
|
||
| 通信 | 无 RS485;TTL 调试口 9600 8N1 |
|
||
|
||
## 2. 硬件资源
|
||
|
||
| 引脚 | 功能 |
|
||
|------|------|
|
||
| PA7 | LP 线圈捕获(TIM3_CH2,输入 DIV_2 = 每 2 信号沿捕获一次;计数器 tick=120MHz) |
|
||
| 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):计数器 tick = **120MHz**(sclk,APB1÷1),通道输入 **DIV_2**(每 2 信号沿捕获 1 次)
|
||
- ⚠ V4.27 修正(2026-09-03):旧实现 calc_freq 按 60MHz 假设且未补偿 DIV_2 → f 打印/估算低 4 倍(示波器 30.23kHz vs 打印 7kHz);修正后 **Xn 等效采样率 = 240MHz/信号频率**,f_kHz = 240000×LPCNT/CAPVD
|
||
- 归一化:`LPCNT = MEASUREMENT_BASE(131072) / Xn`(**BASE=2^17**),累加 LPCNT 个周期得 Value ≈ 131072
|
||
- 测量窗 ≈ 131072/(120MHz tick) = **1.09 ms**(Value=Σ Xn 计数,1 计数=1/120M s)
|
||
|
||
### 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`
|
||
- 离开:**简单滞回 3 次防抖**(V2.9 起默认,`(Origin−dlt)<CAPVD` 且 `cnt_release≥3`);平坦性三条件(CN200910309382)代码保留在 `#if USE_FLATNESS_EXIT` 内,**默认禁用**(现场实测不理想,2026-08-28)
|
||
- 离开阈值 `dlt = Origin×SensTable_1[SENS]>>16`(V2.11 起分档 {60,32,21,14},对齐 PD132T SENUP 标贴 OFF=出厂默认)
|
||
|
||
### 3.5 灵敏度表(M1H 继承,V2.8/V2.11 调整)
|
||
|
||
```
|
||
SensTable[4] = {300, 60, 32, 21} // 进入 (Δf/f: 0.46%…0.032%, V2.11 全档与 PD132T 完全一致)
|
||
SensTable_1[4] = { 60, 32, 21, 14} // 离开分档(V2.11 与 PD132T SensTable1 完全一致;原 {108,72,18,14})
|
||
```
|
||
|
||
- `SENS = 3-(sw&0x03)`(拨码反码,与 M1H 一致)
|
||
- ⚠ V2.8(2026-08-27):SENS=3 最高档 10→20、9→14——现场广告杆落杆误触发(落杆机械/电磁扰动越过 0.015% 阈值)
|
||
- ⚠ V2.11(2026-08-28):① 进入表 216/108/36/20→**300/60/32/21**(0.33%/0.16%/0.055%/0.031%→0.458%/0.092%/0.049%/0.032% Δf/f)——PD132T 客户现场替换,**全档完全一致**;② 离开表 {108,72,18,14}→{60,32,21,14}(与 PD132T SensTable1 完全一致,SENUP 标贴 OFF=出厂默认态;若现场 SENUP 拨 ON 需改恒 14 表)
|
||
|
||
## 4. 时序/速率/周期速查(2026-08-27)
|
||
|
||
> V4B 是**混合节拍**架构,与所有参考型号的单节拍不同:
|
||
|
||
| 量 | 值 | 说明 |
|
||
|----|-----|------|
|
||
| 检测主循环 | **10 ms** | FreeRTOS vTaskDelay(10),vd1_task 由 CAP_OK 门控 |
|
||
| 测量窗 | 1.09 ms | 131072/120MHz(CAPVD 原始值节拍;V4.27 修正自 60MHz 误口径) |
|
||
| **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 |
|
||
| 离开判定 | 简单滞回 3 次防抖(平坦性 #if 禁用,V2.9 起) | + 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 |
|
||
| 看门狗 | IWDT ≈1.64s(V2.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 | **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} | {300,60,32,21}/{60,32,21,14}(V2.11 全档与 PD132T 一致) |
|
||
| IIR | ALFA 79 @32.8ms τ=106ms | ALFA 79 @10ms **τ=32ms**(快 3.3×) |
|
||
| 进入 | 单次越线 | **3 次确认 + 斜率限幅** |
|
||
| 离开 | 简单阈值 | **简单滞回 3 次防抖**(平坦性 #if 禁用,V2.9 起) |
|
||
| 看门狗 | WDT_CONTR | **IWDT ≈1.64s**(V2.10 双保险) |
|
||
| 时序 tick | 50ms | 检测 10ms + 时序 50ms(混合) |
|
||
|
||
## 7. 设计特点
|
||
|
||
1. **混合节拍**是本型号最大特色:检测(IIR/基线/判据)在 10ms 快循环,时序状态机(进入/离开/脉冲/超时)在 50ms tick——两者解耦,响应快且时序参数与 M1H 直接对齐
|
||
2. **基线三重保护**:有车冻结 + 冻结超时(10s)+ 稳定性检查(±2%)——比参考型号多一层环境自适应
|
||
3. **看门狗 V2.10 补齐**:此前"无看门狗"是全产品线例外项;V2.10 新增 IWDT(超时≈1.64s,TMR15 ISR 计数 + 主循环 poll_wdg 双保险喂狗,对齐 154Pro WWDG 方案)——与 154Pro 的 WWDG 558ms / 960 的 IWDG 策略对齐
|
||
4. 平坦性离开判定(专利 CN200910309382)曾用于解决大车多峰频率曲线误触发,是参考型号没有的——**V2.9 起默认关闭**(现场实测不理想),切回简单滞回 3 次防抖(与 154Pro 一致),代码保留可开
|
||
|
||
---
|
||
|
||
## 2026-09-03 硬件变更:拨码电容开关旁路三极管(原理图 Ver4.01)
|
||
|
||
**准确改动**(用户确认):
|
||
- **R19 取下**(拆除)
|
||
- **R27 补焊 0Ω**(原空贴)
|
||
- 效果 = 拨码开关**不再经过三极管电路**,通过 0Ω 电阻**直接控制第二颗 33nF 电容**
|
||
|
||
**原因/效果**(2026-09-03 现场标定):
|
||
- 原电路(拨码经三极管控电容):低频档(66nF 名义)实测等效谐振电容 **C_eff≈43nF**(2 台 5 组反推),第二颗 33nF 只等效并入 ~8.6nF
|
||
- 旁路后(0Ω 直控):**C_eff=68.1~68.9nF(均值 68.4)≈ 名义 66nF**,电容全量并入
|
||
- 固件关联:DLD154V4B V4.28 `COIL_CAL_C_NF=43` 作废 → V4.29 `COIL_CAL_C_NF=68`
|
||
- 33nF(高频)档标定 34(旧板数据),0Ω 板待复测
|
||
|