- 对外通信 = 网口(TCP JSON/MQTT) + 蓝牙(小程序/OTA) + 扩展TTL串口(预留4G上云, RFU) - 内部双 MCU 经 UART TTL 互联 (0x7F @192000) - 修正范围: README/CHANGELOG/技术规格书/产品手册/硬件资源文档概述 - acceptance-standard 中 RS-485 为通用验收检查项, 保留
73 lines
3.7 KiB
Markdown
73 lines
3.7 KiB
Markdown
# CHANGELOG — vd_960 (DLD960)
|
||
|
||
本文件记录 DLD960 整机(双 MCU 配套)的版本发布历史。
|
||
单侧固件的细粒度演进见 `vd960Loop/docs/devlog.md` 与 `vd960DBN/docs/devlog.md`。
|
||
|
||
---
|
||
|
||
## V1.0.0 — 2026-07-16(首个正式发布)
|
||
|
||
**配套版本矩阵**
|
||
|
||
| 组件 | 版本 |
|
||
|------|------|
|
||
| vd960Loop 固件 (AT32F421) | 1.0 |
|
||
| vd960DBN 固件 (CH32V208, DLD960GA) | 1.0 |
|
||
| DLD960Loop 串口协议(MCU 间 0x7F) | V1.05 |
|
||
| DLD960 串口通信协议(TTL) | V1.01 |
|
||
| DLD960 TCP JSON 协议(:5960) | V1.01 |
|
||
| DLD960 IoT MQTT 协议 | V1.05 |
|
||
|
||
> ⚠ 自协议 V1.05 起,Loop 固件与 DBN 固件必须同版本配套刷写,禁止混跑(variation 字段宽度变更导致帧格式不兼容)。
|
||
|
||
### vd960Loop(检测 MCU,AT32F421)
|
||
|
||
**检测算法**(自 DLD154V4B 移植并四通道化,针对 M4 优化)
|
||
- 主循环 tick 50ms → **10ms**,单路 IIR(ALFA_CAP1=79,τ≈32ms,较 8051 时代快 5 倍)
|
||
- 斜率限幅 MAX_SLOPE_RATE=5%(含低基值 floor=100 防锁死)
|
||
- 进入确认 ENTRY_CONFIRM=3(连续 3 次低于阈值才判有车,抗尖峰误触发)
|
||
- 基线冻结超时 10s + ±2% 稳定性检查:温漂/换线圈可自适应,慢速进车不误吸收
|
||
- 稳定期(上电 128 样本)旁路 IIR/限幅,窗口 100 快速收敛;常态基线窗口 500(5s 更新,噪声抑制 22×)
|
||
- 每通道可配置 hold_time(有限存在)与 relay_delay(继电器延时);有限存在超时执行**全通道重启**重建基线
|
||
|
||
**串口上报(0x7F 协议,UART @192000)**
|
||
- 0xC0 传感数据主动上报:频率、variation(**3B 有符号**,`Origin − CAPVD`,V1.05)、车状态
|
||
- 时间量(通过时间/车间距)统一 **50ms 单位**;上电 3 秒抑制主动上报
|
||
- 继电器输出次数上报;0x4A 版本查询(CAPVD→实际频率 uint64 精确换算)
|
||
|
||
### vd960DBN(通信 MCU,CH32V208)
|
||
|
||
**TCP JSON 服务(:5960,协议 V1.01)**
|
||
- 鉴权状态机 + 15 条命令;服务异常自动重启(3 条件 + 3 次限额 + 10min 冷却)
|
||
- event_report 客户端必答:5s 超时重发同 msg_id/原始 ts ×3
|
||
|
||
**IoT MQTT(协议 V1.05)**
|
||
- 双主题 `dld960/{sn}/srv` + `dld960/{sn}/dev`,消息类型由 `cmd` 区分
|
||
- 上电 initialize 上线消息(dev_serial/model/hard_ver/soft_ver)
|
||
- loop_data 三档调度:空闲按配置间隔 / 活动 300ms / **car_state 翻转沿立即上报**
|
||
- event_report 平台必答 + 16 深环形队列,ACK 后出队;不受 report_config.enable 门控
|
||
- 设备时钟同步方案B:平台经 report_config 下发 Unix ts,设备无 RTC 也能上报真实时间
|
||
- 稳定性修复:mqtt_publish 缓冲溢出发垃圾包致 broker RST 风暴(现场 P0)、packet_id=0 断连、PINGREQ 保活、分批发送(MSS=576,Publish≤500B)
|
||
- loop_data 陈旧快照修复:0xC0 帧双消费路径统一摄取,事件与缓存同源
|
||
|
||
**基础设施**
|
||
- BLE 小程序配置 + OTA;Loop MCU ISP 串口透传升级
|
||
- WCHNET TCP/IP(listen=N / data=N+1)、simple_json 解析器 6 项 bug 修复
|
||
|
||
### 文档与工具
|
||
- 四份协议文档 + 硬件资源文档齐套(见 README 协议矩阵)
|
||
- DBNetClient(TCP JSON 测试)、DBNMQTTool(MQTT 双主题测试)
|
||
- 双 MCU devlog、验收标准、variation 分析报告、现场事故归档
|
||
|
||
### 已知约束
|
||
- 设备无 RTC,时钟同步依赖平台下发(校准前 ts 为上电秒数)
|
||
- CH32V208 栈资源紧张:2KB 任务栈内勿连续 PRINT,勿随意扩大全局 BSS
|
||
|
||
---
|
||
|
||
## 版本号规则
|
||
|
||
- 整机发布 tag:`vX.Y.Z`(本仓库 git tag + Gitea Release)
|
||
- 固件版本:两侧 `cmcng.h` 的 `FIRMWARE_VER`,随整机版本同步
|
||
- 协议文档版本:各文档内修订记录表独立演进,发布时在配套矩阵中锁定
|