DLD110SV4 单线圈蓝牙车辆检测器
硬件规格
| 项目 |
参数 |
| MCU |
沁恒 CH591R (RISC-V, BLE 5.1) |
| 主频 |
60MHz (PLL) |
| Flash |
192KB (BLE OTA 三段式布局, 应用区 28KB) |
| RAM |
32KB (应用可用约 18KB, BLE 协议栈常驻) |
| 通道数 |
1 路环形线圈 |
| 对外接口 |
BLE (小程序读写参数 / OTA / 状态上报)、双继电器 |
| 指示灯 |
红色电源灯 (硬件直连)、绿色状态灯 LEDA |
| 灵敏度 |
滑动开关 3 级 + BLE 可配置灵敏度表 |
IO 资源分配
线圈测量
| 引脚 |
标识 |
外设 |
功能 |
| PA9 |
LP |
TMR0 |
线圈信号输入捕获 (FallEdge_To_FallEdge) |
| PA12 |
F1 / FLEVEL_H |
GPIO |
调频电容 33nF (0=接入) |
| PA13 |
F2 / FLEVEL_L |
GPIO |
调频电容 10nF (0=接入) |
频率档位 (loopFreq_Level): 高频 / 中高 / 中低 / 低频, 由两只电容组合切换。
输出与指示
| 引脚 |
标识 |
功能 |
| PA8 |
RLY1 |
功能继电器: 存在 / 进入脉冲 / 离开脉冲 (output_mode 配置) |
| PB23 |
RLY2 |
存在继电器 |
| PB22 |
LEDA |
绿灯: 有车亮 / 无车灭; 稳定期 200ms 快闪; 断线 150ms 快闪 |
滑动开关
| 引脚 |
标识 |
功能 |
| PA14 |
KEY_SA1 |
灵敏度选择 (与 SA2 组合出 3 级) |
| PA15 |
KEY_SA2 |
灵敏度选择 |
SA1=1/SA2=1 → 0 档(低); SA1=0/SA2=1 → 1 档(中); SA1=1/SA2=0 → 2 档(高)。
检测算法 (V2.0, 移植自 DLD154V4B)
- 自适应测量窗:
LPCNT = 2^19 / Xn, 测量窗时长 ~8.74ms @60MHz, 与线圈频率无关, Value = ΣXn ≈ 524288
- 一阶 IIR α=79/256 + 斜率限幅 5% (拒绝 EMI 瞬态尖峰)
- 稳定期: 上电/复位后 128 窗 (~1.1s) 小窗口(100)快速收敛, 绕过滤波
- 基线跟踪: 窗口 500 (~4.4s); 冻结保护: CAPVD 偏离 4×阈值时暂停跟踪, 持续 ~8.7s 且波动 ±2% 以内才强制接受新基线 (温漂/换线圈自适应, 慢速进车不误吸收)
- 进入判定:
CAPVD < Origin - Origin×sens_in/65536, 连续 3 次确认
- 离开判定: 平坦性三条件 (幅值回归 + 一阶平坦 + 二阶平坦, 专利 CN200910309382), 滞回阈值 sens_out
- 有限存在超时 / 线圈断开重连: 全复位重建基线, 继电器保持释放
- 安全复位: loopSafe_Timeout 非 0 时, 有车持续超时后重新初始化基线
工程结构
开发环境
- IDE: MounRiver Studio (wvproj)
- 调试串口: UART0 (PA14 TX, 仅 DEBUG 编译, 230400bps; 与 KEY_SA1 复用)
- 版本: 见
APP/include/cmcng.h (FIRMWARE_VER)
文档
docs/DLD110SV4硬件资源.md — 硬件 IO 说明
docs/devlog.md — 开发日志
docs/CH592DS1.PDF — CH592/591 datasheet