3.1 KiB
3.1 KiB
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/HIGHg_flag_output,g_xn_counter全局变量- DEBUG UART0 初始化 (
gpio_uart_init中#ifdef DEBUG块) Main_Circulation中#ifdef DEBUGPRINT 块- TMR1_ISR 中
_cnt/g_flag_outputDEBUG 定时器 - TMR0_ISR 中
g_xn_counterDEBUG 计数器 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字段保留,默认值=0dbn_ble_srv.c:468上报字节 relay2 位自动为 0(字段初始化为 0 后无写入)
待办
- RS485 通信协议定义 + UART0 中断/收发实现
- 光耦输入逻辑(与其他检测器联动 / 综合判断)
- IAP/OTA 项目文件中的 DLD110S 引用更新(
592OnlyUpdateApp_*) .mrs/工作区文件清理(大量 DLD110S 历史快照)