feat(DLD154V4B): V2.9 平坦性离开判定默认关闭(现场实测不理想)+ 全量文档同步
- TaskLoop.h: USE_FLATNESS_EXIT 1→0,离开判定切回简单滞回 3 次防抖 (与 DLD154Pro 一致);平坦性代码保留 #if 内可一行开启 - technical-spec: 模式1标默认(V2.9起)/模式2标禁用;修正模式1伪代码 方向错误(CAPVD<Origin+dlt → (Origin-dlt)<CAPVD);延迟/误检率表同步 - product-manual/release-notes: 离开判定口径改'滞回+连续确认(平坦性可选)', 最高档灵敏度 0.015%→0.031%(V2.8 残留);版本历史补 V2.7/V2.8 缺行 - roadmap: V2.6→V2.9 行更新 + 突破表离开判定 - devlog: 置顶 2026-08-28 条目(背景/决定/同步清单)
This commit is contained in:
@@ -4,6 +4,35 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-08-28 — 平坦性离开判定默认关闭(现场实测不理想)
|
||||
|
||||
### 背景
|
||||
|
||||
同一现场(广告杆/道闸)与 V2.8 SENS=3 调档同源。广告杆落杆误触发排查中发现,平坦性三条件离开判定(CN200910309382,V1.4 移植)在真实场景**响应不理想**:
|
||||
|
||||
- 平坦性依赖"第一上升坡面"动态计算 Δ2/Δ3,车辆离开缓慢/多次驻留时,坡面特征不稳定,Δ2/Δ3 失真
|
||||
- 三条件(|f-fb|<dlt && |f'|<Δ2 && |f''|<Δ3)对离开过程平坦度要求苛刻,现场车辆(半挂、缓慢通过)离开确认滞后/不触发
|
||||
- 与简单 cnt_release 防抖对比实测,平坦性未体现出大车防误触优势,反而引入离开延迟
|
||||
|
||||
### 决定
|
||||
|
||||
```c
|
||||
// TaskLoop.h
|
||||
#define USE_FLATNESS_EXIT 0 // V2.9 默认: 简单 cnt_release 防抖
|
||||
```
|
||||
|
||||
- 离开判定切回**滞回 + 连续 3 次确认**(`(Origin-dlt) < CAPVD` 且 `cnt_release>=3`),与 DLD154Pro 当前行为一致
|
||||
- 平坦性代码完整保留在 `#if USE_FLATNESS_EXIT` 内,可一行开启做现场对比
|
||||
- 全部平坦性状态变量/初始化/进入重置均带 `#if` 包裹,改 0 直接编译剔除,无残留引用
|
||||
|
||||
### 同步文档
|
||||
|
||||
- `technical-spec.md` §4.3.3:模式 1 标为默认(V2.9 起),模式 2 标"默认禁用(#if 0,代码保留)";修正模式 1 伪代码方向错误(`CAPVD < Origin + dlt` → `(Origin - dlt) < CAPVD`)
|
||||
- `product-manual.md` / `release-notes.md` / `roadmap.md`:离开判定口径统一为"滞回 + 连续确认(平坦性可选)"
|
||||
- 版本历史补 V2.7/V2.8(此前 release-notes/product-manual 缺行),本次记 **V2.9**
|
||||
|
||||
---
|
||||
|
||||
## 2026-06-23 — 跳出框框:去掉 >>6 精度浪费
|
||||
|
||||
### 背景
|
||||
@@ -539,6 +568,7 @@ if (dev >= dlt_ORG × 4) {
|
||||
|
||||
| 版本 | 时间 | 说明 |
|
||||
|------|------|------|
|
||||
| V2.9 | 2026-08-28 | 平坦性离开判定默认关闭(现场实测不理想),切回简单 cnt_release 防抖 |
|
||||
| V2.8 | 2026-08-27 | 灵敏度最高档 SENS=3 阈值 10→20、离开 9→14(防误触发);清理 g_input_div 重复定义 |
|
||||
| V2.7 | 2026-06-30 | 验收标准 + 发展路线图文档 |
|
||||
| V2.6 | 2026-06-29 | 架构简化: 单路 IIR ALFA_CAP1=79, WINDOW_ORIGIN=500, 稳定期100 |
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
## 1. 产品概述
|
||||
|
||||
DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈车辆检测器**。通过实时监测埋地线圈的 LC 振荡频率变化,精确检测车辆的存在与离开。产品采用专利级平坦性离开判定算法(CN200910309382),有效解决大车通行时频率多峰导致的误触发问题。
|
||||
DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈车辆检测器**。通过实时监测埋地线圈的 LC 振荡频率变化,精确检测车辆的存在与离开。离开判定采用滞回阈值 + 连续确认防抖,可选平坦性离开判定算法(CN200910309382,默认关闭)。
|
||||
|
||||
### 1.1 核心特性
|
||||
|
||||
- **高精度频率测量**:自适应窗口脉冲计数,归一化基线 ≈ 131072,保留全部采样精度
|
||||
- **专利离开判定**:频率 + 一阶导数 + 二阶导数三条件平坦性判定,防大车误检
|
||||
- **离开判定**:滞回阈值 + 连续 3 次确认防抖,可选平坦性算法(CN200910309382,默认关闭)
|
||||
- **上电稳定期**:128ms 线圈振荡稳定窗口,避免上电误判
|
||||
- **线圈重连保护**:断开期间保持有车状态,重连后快速恢复,误判率极低
|
||||
- **诊断黄灯**:断开/重连次数编码闪烁,现场故障一目了然
|
||||
- **灵敏度 4 级可调**:通过 DIP 开关配置,0.015% ~ 0.33% 频率变化检测
|
||||
- **灵敏度 4 级可调**:通过 DIP 开关配置,0.031% ~ 0.33% 频率变化检测
|
||||
- **双输出模式**:存在输出 / 脉冲输出可选
|
||||
- **宽频率范围**:支持 30 ~ 200 kHz 线圈频率
|
||||
|
||||
@@ -105,7 +105,7 @@ DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈
|
||||
↓
|
||||
车辆离开 → f ↓ → f ≈ f₀
|
||||
↓
|
||||
平坦性三条件确认 → 判定"无车"
|
||||
滞回 + 连续 3 次防抖确认 → 判定"无车"
|
||||
```
|
||||
|
||||
### 4.2 灵敏度配置
|
||||
@@ -117,7 +117,7 @@ DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈
|
||||
| ON (1) | ON (1) | **低** | 0.33% | 大车 / 高底盘车辆 |
|
||||
| ON (1) | OFF (0) | **中** | 0.16% | 普通轿车 |
|
||||
| OFF (0) | ON (1) | **高** | 0.055% | 摩托车 / 小轿车 |
|
||||
| OFF (0) | OFF (0) | **最高** | 0.015% | 高灵敏度场景 |
|
||||
| OFF (0) | OFF (0) | **最高** | 0.031% | 高灵敏度场景 |
|
||||
|
||||
> **注**:DIP 拨向 ON = 1。灵敏度越高,检测越灵敏,但也越容易受环境干扰。建议从"中"灵敏度开始调试。
|
||||
|
||||
@@ -222,7 +222,7 @@ DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈
|
||||
| 绿灯从不亮 | 灵敏度太低 / 线圈 Q 值过低 | 提高灵敏度 / 更换线圈 |
|
||||
| 红灯不亮 | 电源故障 | 检查供电电压 |
|
||||
| 频繁误触发 | 电磁干扰 / 灵敏度太高 | 降低灵敏度 / 屏蔽干扰源 |
|
||||
| 大车通过时多次触发 | 旧版固件 / 平坦性未开启 | 升级 V1.4+ 固件 |
|
||||
| 大车通过时多次触发 | 灵敏度太高 / 环境干扰 | 降低灵敏度 / 排除干扰源;必要时固件开启平坦性判定(USE_FLATNESS_EXIT=1) |
|
||||
| 安全复位后不恢复 | 线圈频率异常 | 检查线圈电感是否在范围内 |
|
||||
|
||||
---
|
||||
@@ -242,6 +242,9 @@ DLD154V4B 是一款基于 ARM Cortex-M4 微控制器的**单通道环形线圈
|
||||
| V2.2 | 2026-06-26 | 稳定期绕过 IIR/斜率限幅,基线收敛更准确 |
|
||||
| V2.3~2.5 | 2026-06-29 | 基线冻结超时自动恢复(10s),含稳定性检查 |
|
||||
| V2.6 | 2026-06-29 | 架构简化: 单路 IIR ALFA_CAP1=79, WINDOW_ORIGIN=500 |
|
||||
| V2.7 | 2026-06-30 | 验收标准 + 发展路线图文档 |
|
||||
| V2.8 | 2026-08-27 | 灵敏度最高档 SENS=3 阈值 10→20、离开 9→14(防误触发) |
|
||||
| V2.9 | 2026-08-28 | 平坦性离开判定默认关闭(现场实测不理想),切回简单防抖 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
+14
-12
@@ -1,6 +1,6 @@
|
||||
# DLD154V4B 产品发布说明
|
||||
|
||||
> 固件版本 **V2.6** | 发布日期 2026-06-29
|
||||
> 固件版本 **V2.9** | 发布日期 2026-08-28
|
||||
> 单路线圈车辆检测器 · ARM Cortex-M4 · 单路 IIR + 智能基线
|
||||
|
||||
---
|
||||
@@ -27,19 +27,18 @@ DLD154V4B 是一款面向道闸控制、车位检测、ETC 收费站等场景的
|
||||
|
||||
线圈直连 MCU (PA7/TIM3_CH2),无 CD4060 分频芯片,120MHz 主频下中断率 < 3% CPU。
|
||||
|
||||
### 2. 专利级离开判定
|
||||
### 2. 离开判定(滞回 + 连续确认)
|
||||
|
||||
基于专利 **CN200910309382**(中山大学),采用频率 + 一阶导数 + 二阶导数**三条件同时满足**才确认离开:
|
||||
有车状态下 CAPVD 回升至距基线不足离开阈值(`SensTable_1`,更小的滞回),**连续 3 次确认**才判定离开,瞬态干扰不落杆:
|
||||
|
||||
```
|
||||
① |f - f_b| < 频率阈值 — 频率回归基线
|
||||
② |f'| < 动态 Δ2 — 一阶斜率近零
|
||||
③ |f''| < 动态 Δ3 — 二阶曲率近零
|
||||
```c
|
||||
dlt_ORG = (Origin * SensTable_1[SENS]) >> 16;
|
||||
if ((Origin - dlt_ORG) < CAPVD) { // 回升至距基线不足 dlt
|
||||
if (++cnt_release >= 3) VD_FLAG = 0; // 连续 3 次确认
|
||||
}
|
||||
```
|
||||
|
||||
Δ2、Δ3 从车辆第一上升坡面**动态计算**,跟随每辆车的实际频率特征。大车通行时的多峰、负波峰不再触发误离开。
|
||||
|
||||
编译开关 `USE_FLATNESS_EXIT` 一行切换回传统 `cnt_release` 防抖,方便现场对比。
|
||||
可选平坦性离开判定(专利 **CN200910309382**,频率 + 一阶导数 + 二阶导数三条件同时满足,Δ2/Δ3 从第一上升坡面动态计算),代码完整保留在 `#if USE_FLATNESS_EXIT` 内——**V2.9 起默认关闭**(现场实测不理想),需要时在 TaskLoop.h 一行开启。
|
||||
|
||||
### 3. 智能诊断指示灯
|
||||
|
||||
@@ -85,7 +84,7 @@ DLD154V4B 是一款面向道闸控制、车位检测、ETC 收费站等场景的
|
||||
|------|-----|
|
||||
| MCU | AT32F421F8P7 (Cortex-M4, 120MHz, 64KB Flash, 16KB SRAM) |
|
||||
| 线圈通道 | 1 路,30~200kHz |
|
||||
| 灵敏度 | 4 级(DIP),0.015% ~ 0.33% |
|
||||
| 灵敏度 | 4 级(DIP),0.031% ~ 0.33% |
|
||||
| tick 周期 | 10ms (M4 优化) |
|
||||
| 进入防抖 | 500ms + 3 次连续确认 |
|
||||
| 离开防抖 | 500ms(SW_4=ON)或 0(SW_4=OFF) |
|
||||
@@ -114,7 +113,7 @@ DLD154V4B 是一款面向道闸控制、车位检测、ETC 收费站等场景的
|
||||
| ON | ON | 低 | 0.33% |
|
||||
| ON | OFF | 中 | 0.16% |
|
||||
| OFF | ON | 高 | 0.055% |
|
||||
| OFF | OFF | 最高 | 0.015% |
|
||||
| OFF | OFF | 最高 | 0.031% |
|
||||
|
||||
---
|
||||
|
||||
@@ -137,6 +136,9 @@ DLD154V4B 是一款面向道闸控制、车位检测、ETC 收费站等场景的
|
||||
| V2.4 | 06-29 | 冻结超时增加稳定性检查(CAPVD 需连续稳定在 ±2% 窗口内) |
|
||||
| V2.5 | 06-29 | 冻结超时 30s→10s |
|
||||
| **V2.6** | **06-29** | **架构简化: 单路 IIR 79@10ms, WINDOW_ORIGIN=500, 稳定期100** |
|
||||
| V2.7 | 06-30 | 验收标准 + 发展路线图文档 |
|
||||
| V2.8 | 08-27 | 灵敏度最高档 SENS=3 阈值 10→20、离开 9→14(防误触发) |
|
||||
| **V2.9** | **08-28** | **平坦性离开判定默认关闭(现场实测不理想),切回简单 cnt_release 防抖** |
|
||||
|
||||
---
|
||||
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@
|
||||
|------|------|------|------|-------|---------|---------|---------|
|
||||
| M1H | 8051 12MHz | CD4060 ÷32 | 50ms | 162ms | 单次阈值 | 单次阈值 | 拨码 |
|
||||
| TLD-110 | 8051 | CD4060 ÷32 | 50ms | 162ms | 单次阈值 | 单次阈值 | 拨码 |
|
||||
| **V4B V2.6** | M4 120MHz | TIM3 ÷2 | **10ms** | **32ms** | **3次确认+斜率限幅** | **平坦性三条件** | 拨码 |
|
||||
| **V4B V2.9** | M4 120MHz | TIM3 ÷2 | **10ms** | **32ms** | **3次确认+斜率限幅** | **简单防抖(平坦性默认关)** | 拨码 |
|
||||
|
||||
### 1.1 V4B 相比 M1H 的核心突破
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
| 测量窗口 | 17.5ms 固定 | **~1ms 自适应** | 17× |
|
||||
| 检测响应 | ~550ms | **~530ms** | 略快,但加了确认更可靠 |
|
||||
| 瞬态抑制 | 无 | **斜率限幅 + 进入确认** | 从无到有 |
|
||||
| 离开判定 | 单阈值 | **平坦性三条件 (专利)** | 大车多峰无忧 |
|
||||
| 离开判定 | 单阈值 | **滞回 + 3 次确认(平坦性可选,默认关)** | 防瞬态误落杆 |
|
||||
| 基线保护 | 无(有车也跟踪) | **冻结 + 10s 超时 + 稳定性检查** | 防污染 + 不死锁 |
|
||||
| 线圈诊断 | 无 | **黄灯断开次数编码** | 现场可排障 |
|
||||
| 代码量 | ~1200 行 (未精简) | **~945 行** | 功能更多,代码更少 |
|
||||
|
||||
+11
-9
@@ -35,7 +35,7 @@ FreeRTOS Kernel (CMSIS-RTOS v2)
|
||||
│ │ ├── 斜率限幅 (MAX_SLOPE_RATE=5%)
|
||||
│ │ ├── 基线跟踪 (500 窗口滑动平均, 5s)
|
||||
│ │ ├── 进入确认 (ENTRY_CONFIRM=3 次)
|
||||
│ │ ├── 离开检测 (平坦性 / cnt_release)
|
||||
│ │ ├── 离开检测 (cnt_release 防抖,平坦性 #if 可选)
|
||||
│ │ ├── 时序状态机 (IN/OUT/PULSE/HOLD)
|
||||
│ │ └── 冻结超时恢复 (10s + ±2% 稳定性检查)
|
||||
│ ├── poll_sw_state() — 拨码去抖
|
||||
@@ -256,11 +256,11 @@ if (CAPVD < Origin - dlt_ORG) {
|
||||
|
||||
#### 4.3.3 离开检测(滞回)
|
||||
|
||||
##### 模式 1:简单防抖 (USE_FLATNESS_EXIT=0)
|
||||
##### 模式 1:简单防抖 (USE_FLATNESS_EXIT=0) — 默认(V2.9 起)
|
||||
|
||||
```c
|
||||
dlt_ORG = (Origin * SensTable_1[SENS]) >> 16; // 更小的离开阈值
|
||||
if (CAPVD < Origin + dlt_ORG) {
|
||||
if ((Origin - dlt_ORG) < CAPVD) { // CAPVD 回升至距基线不足 dlt → 离开
|
||||
if (++cnt_release >= 3) { // 连续 3 次确认
|
||||
VD_FLAG = 0; FLAG_OUT = 1;
|
||||
}
|
||||
@@ -269,10 +269,12 @@ if (CAPVD < Origin + dlt_ORG) {
|
||||
}
|
||||
```
|
||||
|
||||
##### 模式 2:平坦性判定 (USE_FLATNESS_EXIT=1) — 默认
|
||||
##### 模式 2:平坦性判定 (USE_FLATNESS_EXIT=1) — ⚠ 默认禁用(#if 0,代码保留)
|
||||
|
||||
基于专利 **CN200910309382**(中山大学),解决大车通行时频率多峰导致的多次误触发。
|
||||
|
||||
> ⚠ **2026-08-28 现场结论:平坦性算法实测不理想,默认关闭(USE_FLATNESS_EXIT=0)**,离开判定切回简单 cnt_release 防抖(模式 1)。平坦性代码完整保留在 `#if USE_FLATNESS_EXIT` 内,可在 TaskLoop.h 一行开启,现场对比验证用。
|
||||
|
||||
**算法架构:**
|
||||
|
||||
```
|
||||
@@ -641,9 +643,9 @@ DLD154V4B/
|
||||
| 指标 | 值 | 说明 |
|
||||
|------|-----|------|
|
||||
| 进入检测延迟 | < 3 ms (测量) + 3×10ms (确认) + 500 ms (防抖) = **~530 ms** | M4 优化,比旧 550ms 略快 |
|
||||
| 离开检测延迟 | < 3 ms (测量) + 平坦性确认 + 500 ms (防抖) | 含双重确认 |
|
||||
| 离开检测延迟 | < 3 ms (测量) + 3×10ms (防抖确认) + 500 ms (可选延时) | 滞回 + 3 次确认 |
|
||||
| 误检率(单阈值) | — | 基准参考 |
|
||||
| 误检率(平坦性) | 显著降低 | 大车多峰场景 |
|
||||
| 误检率(防抖) | 滞回 + 3 次确认 | 瞬态干扰免疫(平坦性 #if 可选) |
|
||||
| 频率分辨率 | < 0.01% | 取决于线圈 Q 值 |
|
||||
| 温漂补偿 | 自动(100 窗口基线跟踪,更新周期 ~1s) | 仅无车时;冻结超时 10s |
|
||||
| 瞬态抑制 | 5% 斜率限幅 + 3 次进入确认 | EMI/闪电免疫 |
|
||||
@@ -673,8 +675,8 @@ DLD154V4B/
|
||||
```c
|
||||
// TaskLoop.h
|
||||
|
||||
#define USE_FLATNESS_EXIT 1 // 1 = 平坦性离开判定 (CN200910309382)
|
||||
// 0 = 简单 cnt_release 防抖
|
||||
#define USE_FLATNESS_EXIT 0 // 1 = 平坦性离开判定 (CN200910309382)
|
||||
// 0 = 简单 cnt_release 防抖 (V2.9 默认)
|
||||
|
||||
// M4 优化参数
|
||||
#define MAX_SLOPE_RATE 5 // 斜率限幅: 单次最大变化 5%
|
||||
@@ -691,7 +693,7 @@ DLD154V4B/
|
||||
|--------|------|--------|------|
|
||||
| CN200910309382 | 一种防误检环形线圈车辆检测器 | 中山大学 张辉/黄永强/陈古典 | 平坦性三条件离开判定 |
|
||||
|
||||
DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的离开判定,有效抑制频率曲线多峰导致的多次误触发。
|
||||
DLD154V4B V1.4 起实现该专利的整数化版本,用于大车通行时的离开判定,有效抑制频率曲线多峰导致的多次误触发。**V2.9(2026-08-28)起默认关闭(现场实测不理想),代码保留在 `#if USE_FLATNESS_EXIT` 内可一行开启。**
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
* 离开检测模式
|
||||
* 1 = 平坦性三条件判定 (CN200910309382), 0 = 简单 cnt_release 防抖
|
||||
*===========================================================================*/
|
||||
#define USE_FLATNESS_EXIT 1
|
||||
#define USE_FLATNESS_EXIT 0
|
||||
|
||||
#define WINDOW_ORIGIN 500 // 基线跟踪窗口 (500 × 10ms = 5s)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user