Files
DLD154Pro/docs/devlog.md
T

79 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 历史快照)