- devlog: 新增 V2.6 架构简化章节 + 两阶段基线策略 - release-notes: V2.5→V2.6, 更新 M4 优化表(双路→单路 IIR) - product-manual: V2.5→V2.6 + 版本历史 - technical-spec: §4.2 重写为单路 IIR ALFA_CAP1=79 @10ms, §4.3.2 去除 CAPVD_fast 引用, §4.4.3 两阶段基线表, §15 新增 V2.1 修订记录
163 lines
6.4 KiB
Markdown
163 lines
6.4 KiB
Markdown
# DLD154V4B 产品发布说明
|
||
|
||
> 固件版本 **V2.6** | 发布日期 2026-06-29
|
||
> 单路线圈车辆检测器 · ARM Cortex-M4 · 单路 IIR + 智能基线
|
||
|
||
---
|
||
|
||
## 产品定位
|
||
|
||
DLD154V4B 是一款面向道闸控制、车位检测、ETC 收费站等场景的**单通道环形线圈车辆检测器**。基于 AT32F421 (Cortex-M4, 120MHz) 平台,继承 M1H、TLD-110 两代产品的检测经验,并引入三项关键创新,形成自主技术路线。
|
||
|
||
---
|
||
|
||
## 核心特性
|
||
|
||
### 1. 全精度频率测量
|
||
|
||
传统方案存在 `<<6` … `>>6` 的精度陷阱——开大测量窗口累积 437 个样本,然后右移 6 位丢弃精度,等效仅用 ~7 个样本。
|
||
|
||
**DLD154V4B** 取消全部右移操作,自适应窗口直接归一化到 `MEASUREMENT_BASE = 131072`:
|
||
|
||
| 指标 | 传统方案 | DLD154V4B |
|
||
|------|---------|-----------|
|
||
| 有效精度 / 窗口 | ~6 样本 | **54 样本** |
|
||
| 测量窗口 | ~17.5ms | **~1ms** |
|
||
| 频率分辨 | < 0.1% | **< 0.01%** |
|
||
|
||
线圈直连 MCU (PA7/TIM3_CH2),无 CD4060 分频芯片,120MHz 主频下中断率 < 3% CPU。
|
||
|
||
### 2. 专利级离开判定
|
||
|
||
基于专利 **CN200910309382**(中山大学),采用频率 + 一阶导数 + 二阶导数**三条件同时满足**才确认离开:
|
||
|
||
```
|
||
① |f - f_b| < 频率阈值 — 频率回归基线
|
||
② |f'| < 动态 Δ2 — 一阶斜率近零
|
||
③ |f''| < 动态 Δ3 — 二阶曲率近零
|
||
```
|
||
|
||
Δ2、Δ3 从车辆第一上升坡面**动态计算**,跟随每辆车的实际频率特征。大车通行时的多峰、负波峰不再触发误离开。
|
||
|
||
编译开关 `USE_FLATNESS_EXIT` 一行切换回传统 `cnt_release` 防抖,方便现场对比。
|
||
|
||
### 3. 智能诊断指示灯
|
||
|
||
三 LED 提供完整现场诊断信息:
|
||
|
||
| 灯 | 颜色 | 模式 | 含义 |
|
||
|----|------|------|------|
|
||
| 红 | 红 | PWM 呼吸 | 系统运行中 |
|
||
| 绿 | 绿 | 慢闪 / 亮 / 灭 | 自检中 / 有车 / 无车 |
|
||
| 黄 | 黄 | 快闪 / 1~3 短闪 / 灭 | 当前断开 / 历史断开N次 / 正常 |
|
||
|
||
黄灯编码比传统均匀闪烁提供更丰富的故障信息——快闪=当前故障需立即处置,N 短闪=历史故障判断偶发还是劣化。
|
||
|
||
### 4. 线圈重连保护
|
||
|
||
断线时**不丢有车状态**,重连时首个样本直锁 IIR(跳过预热),三场景均正确:
|
||
|
||
| 断开前 | 断开期间 | 重连后 | 检测结果 |
|
||
|--------|---------|--------|---------|
|
||
| 有车 | 车仍在 | 车仍在 | VD_FLAG=1,绿灯恢复 ✓ |
|
||
| 有车 | 车离开 | 无车 | cnt_release→3 → VD_FLAG=0 ✓ |
|
||
| 无车 | 车进入 | 有车 | 正常进入检测 ✓ |
|
||
|
||
### 5. M4 核心优化(V2.0+)
|
||
|
||
利用 Cortex-M4 @120MHz 的算力优势,相比 8051 时代设计做了系统性改进:
|
||
|
||
| 改进项 | 8051 旧设计 | M4 优化 (V2.6) | 效果 |
|
||
|--------|-----------|---------|------|
|
||
| **tick 周期** | 50ms | **10ms** | 响应密度 5× |
|
||
| **IIR 滤波** | 单路 α=79/256 @50ms (τ=162ms) | **单路 α=79/256 @10ms (τ=32ms)** | 5× 加速,保持原系数 |
|
||
| **斜率限幅** | 无 | 单次变化 >5% 截断 | 过滤 EMI/闪电尖峰 |
|
||
| **进入确认** | 单次阈值 | 连续 3 次确认 | 瞬态干扰免疫 |
|
||
| **基线窗口** | 100 样本 (5s) | **500 样本 (5s)**,稳定期 100 (1s) | 噪声抑制 2.2×,开机快速就绪 |
|
||
| **基线冻结超时** | 无(永久冻结) | 稳定 10s 后自动更新 | 环境变化免复位 |
|
||
| **冻结稳定性检查** | — | ±2% 窗口验证 | 防止波动值被判为新常态 |
|
||
|
||
---
|
||
|
||
## 技术规格速览
|
||
|
||
| 参数 | 值 |
|
||
|------|-----|
|
||
| MCU | AT32F421F8P7 (Cortex-M4, 120MHz, 64KB Flash, 16KB SRAM) |
|
||
| 线圈通道 | 1 路,30~200kHz |
|
||
| 灵敏度 | 4 级(DIP),0.015% ~ 0.33% |
|
||
| tick 周期 | 10ms (M4 优化) |
|
||
| 进入防抖 | 500ms + 3 次连续确认 |
|
||
| 离开防抖 | 500ms(SW_4=ON)或 0(SW_4=OFF) |
|
||
| 脉冲宽度 | 500ms |
|
||
| 输出模式 | 存在 / 脉冲(SW_3) |
|
||
| 继电器 | 2 路,AC 250V/3A |
|
||
| 调试口 | TTL 电平 Tx (9600,8N1) |
|
||
| 供电 | DC 10~30V 宽压,< 2W |
|
||
| 温度 | -40°C ~ +85°C |
|
||
| CPU 占用 | < 5% @120MHz |
|
||
| 基线冻结超时 | 10s(稳定后自动恢复) |
|
||
|
||
---
|
||
|
||
## DIP 开关一览
|
||
|
||
| 开关 | 功能 | OFF | ON |
|
||
|------|------|-----|-----|
|
||
| SA_1 / SA_2 | 灵敏度 | 见下表 | — |
|
||
| SW_3 | 输出模式 | 存在输出 | 脉冲输出 |
|
||
| SW_4 | 离开延时 | 无延时 | 500ms 延时 |
|
||
| SW_5 | 安全复位 | 正常 | 触发复位 |
|
||
|
||
| SA_2 | SA_1 | 灵敏度 | 阈值 |
|
||
|------|------|--------|------|
|
||
| ON | ON | 低 | 0.33% |
|
||
| ON | OFF | 中 | 0.16% |
|
||
| OFF | ON | 高 | 0.055% |
|
||
| OFF | OFF | 最高 | 0.015% |
|
||
|
||
---
|
||
|
||
## 版本历程
|
||
|
||
| 版本 | 日期 | 里程碑 |
|
||
|------|------|--------|
|
||
| V1.0 | 06-22 | 初版,基于 M1H/TLD-110 参考分析 |
|
||
| V1.1 | 06-23 | 精简重构:1177→706 行(-40%),删除死代码 |
|
||
| V1.2 | 06-23 | 去掉 <<6/>>6 精度陷阱,MEASUREMENT_BASE=131072,TIM3 DIV_2 |
|
||
| V1.3 | 06-23 | 指示灯规范化、上电稳定期 128ms、线圈重连状态保持 |
|
||
| V1.4 | 06-23 | 移植 CN200910309382 平坦性离开判定(整数化适配) |
|
||
| V1.5 | 06-23 | Origin 基线污染保护(4×阈值冻结),USE_FLATNESS_EXIT 开关 |
|
||
| V1.6 | 06-24 | 时序修正:OUT_DELAY/PULSE_DELAY 统一 500ms;RS485→TTL Tx |
|
||
| V1.7 | 06-26 | vTaskDelay 10→50ms 修正,基线更新 1s→5s |
|
||
| V2.0 | 06-26 | **M4 核心优化**:双路 IIR + 斜率限幅 + 进入确认,tick 10ms |
|
||
| V2.1 | 06-26 | CAPVD_fast 初始化修复 |
|
||
| V2.2 | 06-26 | 稳定期绕过 IIR/斜率限幅,直接用 Value 收敛基线 |
|
||
| V2.3 | 06-29 | 基线冻结超时自动恢复(持续偏离后强制更新 Origin) |
|
||
| V2.4 | 06-29 | 冻结超时增加稳定性检查(CAPVD 需连续稳定在 ±2% 窗口内) |
|
||
| V2.5 | 06-29 | 冻结超时 30s→10s |
|
||
| **V2.6** | **06-29** | **架构简化: 单路 IIR 79@10ms, WINDOW_ORIGIN=500, 稳定期100** |
|
||
|
||
---
|
||
|
||
## 文档导航
|
||
|
||
| 文档 | 面向 | 内容 |
|
||
|------|------|------|
|
||
| [产品手册](product-manual.md) | 用户 | 安装、配置、故障排查 |
|
||
| [技术规格书](technical-spec.md) | 工程 | 算法、IO、电气、调试接口 |
|
||
| [开发日志](devlog.md) | 开发 | 设计决策、版本演进 |
|
||
| [参考分析](reference_analysis.md) | 研究 | M1H/TLD-110 完整逆向分析 |
|
||
|
||
---
|
||
|
||
## 知识产权
|
||
|
||
| 类型 | 编号 | 说明 |
|
||
|------|------|------|
|
||
| 专利(引用) | CN200910309382 | 防误检环形线圈车辆检测器(平坦性离开判定) |
|
||
|
||
---
|
||
|
||
> DLD154V4B — 从 8051 到 Cortex-M4,从 2003 到 2026,三代积累,一朝发布。
|