From c1570da16245d60adefcfc059c120b86e3b4bf87 Mon Sep 17 00:00:00 2001 From: wangfq Date: Tue, 21 Jul 2026 10:47:40 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=97=A5=E5=BF=97=20(2026-07-21=20=E9=A1=B9=E7=9B=AE=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96+=E7=A1=AC=E4=BB=B6=E9=80=82=E9=85=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/devlog.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 docs/devlog.md diff --git a/docs/devlog.md b/docs/devlog.md new file mode 100644 index 0000000..cb0c081 --- /dev/null +++ b/docs/devlog.md @@ -0,0 +1,78 @@ +# DLD154Pro 开发日志 + +> MCU: CH591R (RISC-V, BLE) @60MHz | 线圈通道: 1路 | 调试口: RS485 / BLE + +--- + +## 2026-07-21 — 项目初始化:从 DLD110SV4 复制基线 + 按硬件资源文档调整 IO + +### 背景 + +DLD154Pro 是 DLD110SV4 的硬件升级版(同 MCU CH591R),核心变更: +- 继电器 双路→单路(删 RLY2) +- 删除拨码开关(灵敏度改由小程序设置) +- 线圈调频 两级→一级(删 PA13 FLEVEL_L) +- 新增 RS485 接口(PA14/PA15/PA13,协议待定) +- 新增光耦输入(PB10,逻辑待定) +- 指示灯从单色→双色(LEDA 绿 + LEDB 红呼吸灯) +- DEBUG UART0 被 RS485 占用,删除全部 + +### 仓库 + +- 远程: http://118.178.252.17:3000/wangfq/DLD154Pro +- 本地: `/home/wfq/projects/vd_detector/DLD154Pro` +- commit `5f5f697`: init 基线 +- commit `91ba844`: feat 硬件适配 + +### IO 宏重定义 + +| 引脚 | 旧(DLD110SV4) | 新(DLD154Pro) | +|------|--------------|---------------| +| PA8 | RLY1 (存在) | RLY1 (存在,不变) | +| PB23 | RLY2 (功能/脉冲) | **LEDB (红色呼吸灯)** | +| PA12 | FLEVEL_H (33nF) | FLEVEL (33nF,一级) | +| PA13 | FLEVEL_L (10nF) | **UART0_RE (RS485 方向)** | +| PA14 | KEY_SA1 / DEBUG_TX | **UART0_TX (RS485)** | +| PA15 | KEY_SA2 / DEBUG_RX | **UART0_RX (RS485)** | +| PB10 | - | **IN_1 (光耦输入)** | +| PB22 | LEDA (绿色) | LEDA (绿色,不变) | + +### 删除项 + +- `RLY2_ON/OFF` 宏及全部 RLY2 输出逻辑 +- `KEY_SA1/KEY_SA2` 宏及 `poll_sens_key()` 函数 +- `FLEVEL_L_LOW/HIGH`, `FLEVEL_H_LOW/HIGH` → 改为 `FLEVEL_LOW/HIGH` +- `g_flag_output`, `g_xn_counter` 全局变量 +- DEBUG UART0 初始化 (`gpio_uart_init` 中 `#ifdef DEBUG` 块) +- `Main_Circulation` 中 `#ifdef DEBUG` PRINT 块 +- TMR1_ISR 中 `_cnt` / `g_flag_output` DEBUG 定时器 +- TMR0_ISR 中 `g_xn_counter` DEBUG 计数器 +- `para_store_init()` 中频率四档 switch → 双档 if/else + +### 新增/预留 + +- RS485 引脚宏: `RS485_TX_PIN`, `RS485_RX_PIN`, `RS485_RE_PIN`, `RS485_RE_TX()`, `RS485_RE_RX()`(仅初始化引脚,协议待定) +- 光耦输入宏: `OPT_IN1`(仅初始化 PB10 输入上拉,逻辑待定) +- LEDB 宏: `LEDB_ON/OFF`(PB23,低电平有效) +- `g_freq_sens = 2` 默认最高灵敏度(取代 poll_sens_key 拨码逻辑) + +### 继电器输出简化 + +| 模式 | 旧 (双继电器) | 新 (单继电器) | +|------|-------------|---------------| +| case 0: 存在输出 | RLY1 跟随 VD, RLY2 跟随 VD | RLY1 跟随 VD | +| case 1: 进入脉冲 | RLY2=存在, RLY1=进入脉冲 | RLY1=进入脉冲 | +| case 2: 离开脉冲 | RLY2=存在, RLY1=离开脉冲 | RLY1=离开脉冲 | +| default | RLY2=存在 | RLY1=存在 | + +### 保留(协议兼容) + +- `storage.h` 的 `Loop_ACS_Info.relay2_cng/relay2_state` 字段保留,默认值=0 +- `dbn_ble_srv.c:468` 上报字节 relay2 位自动为 0(字段初始化为 0 后无写入) + +### 待办 + +- [ ] RS485 通信协议定义 + UART0 中断/收发实现 +- [ ] 光耦输入逻辑(与其他检测器联动 / 综合判断) +- [ ] IAP/OTA 项目文件中的 DLD110S 引用更新(`592OnlyUpdateApp_*`) +- [ ] `.mrs/` 工作区文件清理(大量 DLD110S 历史快照)