From 1757674318a8f4f9f36f1ecf3055f1b81a24bd8a Mon Sep 17 00:00:00 2001 From: wangfq Date: Fri, 31 Jul 2026 18:09:56 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20V3.03=20=E6=96=87=E6=A1=A3=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=20(devlog+product-manual+technical-spec)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../APP/include/cmcng.h | 4 ++-- BLE/DLD154Pro_Peripheral_28K/APP/peripheral.c | 1 + .../APP/peripheral_main.c | 18 +++++++++++++---- docs/devlog.md | 20 +++++++++++++++++++ docs/product-manual.md | 4 ++-- docs/technical-spec.md | 5 +++-- 6 files changed, 42 insertions(+), 10 deletions(-) diff --git a/BLE/DLD154Pro_Peripheral_28K/APP/include/cmcng.h b/BLE/DLD154Pro_Peripheral_28K/APP/include/cmcng.h index 9a5b9d1..aee16df 100644 --- a/BLE/DLD154Pro_Peripheral_28K/APP/include/cmcng.h +++ b/BLE/DLD154Pro_Peripheral_28K/APP/include/cmcng.h @@ -17,10 +17,10 @@ */ #define PRODUCT_MODEL "DLD154Pro" -#define FIRMWARE_VER "3.02" +#define FIRMWARE_VER "3.03" #define HARDWARE_VER "3.01" #define FIRMWARE_VER_MAIN 3 -#define FIRMWARE_VER_SUB 2 +#define FIRMWARE_VER_SUB 3 #define HARDWARE_VER_MAIN 3 #define HARDWARE_VER_SUB 1 diff --git a/BLE/DLD154Pro_Peripheral_28K/APP/peripheral.c b/BLE/DLD154Pro_Peripheral_28K/APP/peripheral.c index d30440f..c344918 100644 --- a/BLE/DLD154Pro_Peripheral_28K/APP/peripheral.c +++ b/BLE/DLD154Pro_Peripheral_28K/APP/peripheral.c @@ -729,6 +729,7 @@ static void simpleProfileChangeCB(uint8_t paramID, uint8_t *pValue, uint16_t len g_ble_rcv_buf.buf[3] == 'O' && g_ble_rcv_buf.buf[4] == 'T' && g_ble_rcv_buf.buf[5] == 'A'){ // 0x4F, 0x54, 0x41 // PRINT("jump OTA \n"); + WWDG_ResetCfg(DISABLE); mDelaymS(5); Jump_OTA(); } diff --git a/BLE/DLD154Pro_Peripheral_28K/APP/peripheral_main.c b/BLE/DLD154Pro_Peripheral_28K/APP/peripheral_main.c index eb18c3d..4c6cf40 100644 --- a/BLE/DLD154Pro_Peripheral_28K/APP/peripheral_main.c +++ b/BLE/DLD154Pro_Peripheral_28K/APP/peripheral_main.c @@ -139,7 +139,6 @@ uint32_t mstick(void){ return TimingDelayInc; } -uint32_t u32CountWdt = 0; uint8_t g_loop_cut_last = 0; uint32_t g_loop_cut_amount = 0; @@ -170,6 +169,8 @@ uint8_t Flt_Reg = 0; uint8_t TM1cnt = 0; uint16_t g_hold_time = 0; +uint16_t g_wdg_counter = 0; + /*=========================================================================== * 捕获 & 测量 *===========================================================================*/ @@ -1026,6 +1027,15 @@ static void opt_input_poll(void) } } +void poll_wdg(void) +{ + if(g_wdg_counter >= 100) //500ms + { + g_wdg_counter = 0; + WWDG_SetCounter(0); + } +} + /********************************************************************* * @fn Main_Circulation @@ -1061,7 +1071,7 @@ void Main_Circulation() } } - WWDG_SetCounter(WDOG_TIMEOUT); // 喂狗 + poll_wdg(); // 喂狗 } } @@ -1108,7 +1118,7 @@ int main(void) /* 使能看门狗复位: 超时 ~558ms, 主循环喂狗 */ WWDG_ResetCfg(ENABLE); - WWDG_SetCounter(WDOG_TIMEOUT); + WWDG_SetCounter(0); Main_Circulation(); } @@ -1213,7 +1223,7 @@ void TMR1_IRQHandler(void) } TimingDelayInc++; - u32CountWdt++; + g_wdg_counter++; /*--- LED: 断开中 200ms 快闪; 稳定期 200ms 慢闪 ---*/ if(g_disconnect_active || !g_loop_power_up_state) diff --git a/docs/devlog.md b/docs/devlog.md index cece84e..c747912 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -4,6 +4,26 @@ --- +## 2026-07-31 — 发布 V3.03 + +### 变更摘要 + +| 变更 | 说明 | +|------|------| +| 硬件看门狗 (WWDG) | 使能窗口看门狗,TMR1 ISR 5ms tick 驱动 `g_wdg_counter`,主循环 `poll_wdg()` 每 500ms 喂狗,超时 ~558ms 自动复位 | +| OTA 安全 | 跳转 OTA 前 `WWDG_ResetCfg(DISABLE)` 关闭看门狗,防止 OTA 期间超时复位 | +| 固件版本 | V3.02 → V3.03 | + +### 涉及文件 + +| 文件 | 变更 | +|------|------| +| `peripheral_main.c` | +`poll_wdg()` + `g_wdg_counter`;移除 `u32CountWdt`;`main()` 中 `WWDG_ResetCfg(ENABLE)` | +| `peripheral.c` | OTA 跳转前 `WWDG_ResetCfg(DISABLE)` | +| `cmcng.h` | `FIRMWARE_VER` 3.02→3.03 | + +--- + ## 2026-07-31 — 发布 V3.02 ### 变更摘要 diff --git a/docs/product-manual.md b/docs/product-manual.md index 3c0727f..cea1ef2 100644 --- a/docs/product-manual.md +++ b/docs/product-manual.md @@ -1,6 +1,6 @@ # DLD154Pro 产品说明书 -> 单路线圈蓝牙车辆检测器 | 型号: DLD154Pro | 版本: V3.02 +> 单路线圈蓝牙车辆检测器 | 型号: DLD154Pro | 版本: V3.03 > 适用于停车场、收费站、交通卡口等场景的车辆到达/离开检测 --- @@ -284,7 +284,7 @@ DLD154Pro 支持两种 RS485 协议,通过 BLE 小程序切换: | 版本 | 日期 | 说明 | |------|------|------| -| V3.02 | 2026-07-31 | Modbus RTU 协议实现 + 主动上报;0x2C 复位改为 MCU 全复位;`g_loop_cut_amount` 累加修复;上位机 DLD154Tool | +| V3.03 | 2026-07-31 | 硬件看门狗 (WWDG ~558ms 超时);OTA 安全关闭看门狗 | | V3.01 | 2026-07-28 | 光耦输出融合模式(6 种);LEDA 同步继电器状态 | | V3.00 | 2026-07-21 | 项目初始化:从 DLD110SV4 移植 + 硬件适配 CH591R | diff --git a/docs/technical-spec.md b/docs/technical-spec.md index f6d875c..e8abc02 100644 --- a/docs/technical-spec.md +++ b/docs/technical-spec.md @@ -1,6 +1,6 @@ # DLD154Pro 技术规格书 -> 单路线圈蓝牙车辆检测器 | 固件版本: V3.02 | 硬件版本: V3.01 +> 单路线圈蓝牙车辆检测器 | 固件版本: V3.03 | 硬件版本: V3.01 > 本文档面向工程开发、系统集成及故障深度分析 --- @@ -555,7 +555,8 @@ Magic | Addr/Sub | Len | CMD | Data | XOR | SUM | 版本 | 日期 | 说明 | |------|------|------| -| V3.02 | 2026-07-31 | Modbus RTU 协议实现 + 主动上报;0x2C/HR 0x0012 复位改为 `SYS_ResetExecute()` MCU 全复位;`g_loop_cut_amount` 累加修复;RS485 初始化时序调整 | +| V3.03 | 2026-07-31 | 硬件看门狗 WWDG (~558ms 超时, 5ms tick + 500ms 喂狗);OTA 安全关闭看门狗 | +| V3.02 | 2026-07-31 | Modbus RTU 协议 + 主动上报;0x2C/HR 0x0012 复位改为 `SYS_ResetExecute()`;`g_loop_cut_amount` 累加修复;RS485 初始化时序调整 | | V3.01 | 2026-07-28 | 光耦输出模式完整实现 (6 种融合逻辑 + 状态机);LEDA 同步继电器状态 | | V3.00 | 2026-07-21 | 项目初始化:从 DLD110SV4 复制基线 + 硬件适配 (CH591R) |