2b1e888a733be0a3c7adf6345a8e651e8c68630f
三处 char data_json[2048] (sensor_report×2 + loop_param_query×1) 改用头文件宏 TCP_JSON_DATA_BUF_LEN, 默认 1024。 容量核验: format_sensor_json 4通道~660B / format_loop_param_json~920B 均 < 1024, format 函数有 snprintf 溢出保护; 最终帧受 MAX_FRAME=800 截断。 附带: 栈上缓冲 2048→1024 每处省 1KB
vd_960 — DLD960 四通道车辆检测器(双 MCU 架构)
当前发布版本:V1.0.0(2026-07-16)· 变更历史见 CHANGELOG.md
产品概述
DLD960 是一款基于环形线圈检测原理的四通道车辆检测器,支持网口(TCP JSON / IoT MQTT)、蓝牙(小程序配置 + OTA)、4G 扩展(RFU),面向停车场出入口控制、流量计数、会车控制等场景。
产品型号:DLD960GA
硬件架构(双 MCU)
┌─────────────────────────────────────────┐
线圈1~4 ──────────► AT32F421 (vd960Loop) │
(TMR3 输入捕获) │ · 四路线圈驱动/频率采样 │
继电器1~4 ◄───────│ · 车辆检测算法(IIR/斜率限幅/基线跟踪) │
└───────────────┬─────────────────────────┘
│ UART 0x7F 协议 @192000
┌───────────────▼─────────────────────────┐
蓝牙(小程序) ◄────► CH32V208 (vd960DBN) │
网口 ETH ◄────►│ · TCP JSON :5960 / IoT MQTT 双主题 │
4G(RFU) ◄────►│ · BLE 配置 + OTA、Loop MCU ISP 透传 │
│ · 参数/日志外部存储 │
└─────────────────────────────────────────┘
| 芯片 | 型号 | 主频 | Flash | SRAM | 职责 |
|---|---|---|---|---|---|
| 检测 MCU | AT32F421 (Cortex-M4) | 120MHz | 64KB | 16KB | 四路线圈信号采集与车辆检测算法 |
| 通信 MCU | CH32V208 (RISC-V) | 144MHz(实际 120MHz) | 128KB | 64KB | 蓝牙、网口、双路 TTL 串口(内部互联 + 4G 扩展)、外部存储 |
- 四路线圈、四个双路继电器,每路线圈两级调频电容(33nF/10nF)。
- 支持 OTA:CH32V208 经蓝牙小程序 OTA;AT32F421 经 CH32V208 串口透传 ISP 升级。
- 地感配置存储于 AT32F421,可经 小程序↔BLE↔CH32V208↔UART↔AT32F421 链路读写。
子项目
| 子项目 | 目录 | MCU | 固件版本 | 功能 |
|---|---|---|---|---|
| vd960Loop | vd960Loop/ |
AT32F421 | 1.0 | 线圈驱动、频率采样、车辆检测算法、0x7F 串口上报 |
| vd960DBN | vd960DBN/ |
CH32V208 | 1.0 | 蓝牙管理、TCP/IP(WCHNET)、MQTT、串口桥接、4G 扩展(RFU) |
⚠ 发布约束:自协议 V1.05 起(variation 2B无符号 → 3B有符号),Loop 固件与 DBN 固件必须同版本配套发布,禁止混刷。
产品文档(docs/)
| 文档 | 版本 | 说明 |
|---|---|---|
| DLD960_产品手册.md | V1.00 | 面向安装调试与使用:接口、指示灯、线圈施工、配置、故障排查 |
| DLD960_技术规格书.md | V1.00 | 完整技术参数:检测规格、灵敏度、算法机制、接口、协议矩阵 |
协议文档(docs/)
| 文档 | 版本 | 适用层 | 说明 |
|---|---|---|---|
| DLD960Loop_串口通信协议.md | V1.05 | Loop MCU ↔ DBN MCU | 0x7F 帧、0xC0 传感主动上报、variation 3B 有符号 |
| DLD960_串口通信协议.md | V1.01 | 整机 TTL 串口 | 设备管理、参数配置、数据上报 |
| DLD960_TCP_JSON协议.md | V1.01 | 以太网 TCP :5960 | 鉴权 + 命令 + event_report 客户端必答 |
| DLD960_IoT_MQTT协议.md | V1.05 | 云平台 MQTT | 双主题 {sn}/srv+{sn}/dev、initialize、event_report 平台必答、设备时钟同步 |
| DLD960硬件资源.md | — | 硬件 | 双 MCU IO 分配、继电器、指示灯、拨码 |
开发文档
| 文档 | 说明 |
|---|---|
| vd960Loop/docs/devlog.md | 检测算法开发日志(IIR、斜率限幅、基线冻结、时间量单位演进) |
| vd960DBN/docs/devlog.md | 通信固件开发日志(WCHNET、MQTT 稳定性、event_report 可靠上报) |
| vd960Loop/docs/acceptance-standard.md | 检测算法验收标准 |
| vd960Loop/docs/variation-analysis.md | variation 上报量分析报告(基线 vs 当前值三时钟关系) |
| vd960DBN/docs/incidents/ | 现场事故分析归档 |
配套工具
| 工具 | 目录 | 说明 |
|---|---|---|
| DBNetClient | DBNetClient/ |
TCP JSON 协议桌面测试工具(Python + tkinter,零第三方依赖) |
| DBNMQTTool | DBNMQTTool/ |
IoT MQTT 协议测试工具(Python + PySide6 + paho-mqtt,双主题 UI) |
开发环境
- vd960Loop:Keil MDK / AT32 IDE(ARM Cortex-M4,ARMCC V5)、FreeRTOS V10.4.3
- vd960DBN:MounRiver Studio(RISC-V)、WCH BLE 协议栈 + WCHNET
- 调试口:Loop MCU TTL Tx(3.3V 9600 8N1);DBN 侧 PRINT 串口
版本发布流程
- 确认
vd960Loop与vd960DBN固件按同一协议版本联调通过; - 更新两侧
cmcng.h的FIRMWARE_VER; - 更新
CHANGELOG.md与各 devlog 修订记录; - 打 tag(
vX.Y.Z)推送 Gitea,并在 Gitea Releases 挂发布说明与固件产物(hex/bin)。
Releases
4
vd960DBN V1.02.05(DBN 单侧发布)
Latest
Languages
C
98.1%
Python
0.9%
Assembly
0.6%
CMake
0.2%
Linker Script
0.2%