docs: 调整系统依赖架构图为横向布局(graph LR)以提升显示清晰度

This commit is contained in:
2026-07-09 19:51:36 +08:00
parent 85a01627ee
commit 677356546a

View File

@@ -119,61 +119,62 @@ typedef struct {
### 4.1 系统层级依赖与调用图 ### 4.1 系统层级依赖与调用图
```mermaid ```mermaid
graph TD graph LR
%% 定义层级背景色与分组 %% --- 硬件抽象与时基层 (左侧) ---
subgraph LayerHW ["硬件抽象与时基层 (HW Layer)"]
Timer1["Timer 1 (1ms中断)"]
ADC["ADC (电量检测)"]
Flash["IAP (Flash读写)"]
GPIO["GPIO (引脚中断/控制)"]
end
%% --- 外设驱动层 (中间) ---
subgraph LayerDRV ["外设驱动层 (DRV Layer)"]
KEY["KEY (按键扫描/队列)"]
RF["RF (LR690L收发)"]
PM["PM (功耗电源管理)"]
AMOLED["AMOLED (屏幕绘制)"]
LED["LED (RGB彩灯时序)"]
MOTOR["MOTOR (马达异步震动)"]
end
%% --- 应用逻辑层 (右侧) ---
subgraph LayerAPP ["应用逻辑层 (APP Layer)"] subgraph LayerAPP ["应用逻辑层 (APP Layer)"]
MainScheduler["主循环调度器 (main.c)"] MainScheduler["主循环调度器 (main.c)"]
SysStateMachine["SysState 业务状态机"] SysStateMachine["SysState 业务状态机"]
SoftRTC["软件 RTC 计时器"] SoftRTC["SoftRTC 软件时钟"]
end end
subgraph LayerDRV ["外设驱动层 (DRV Layer)"] %% --- 连线关系:时基与底层输入驱动外设 ---
AMOLED["Truly RM69310 屏幕绘制"] Timer1 ==>|1ms时基中断| KEY
RF["LR690L RF 编解码及发射"] Timer1 ==>|1ms中断分频| MOTOR
KEY["按键检测与队列缓冲"] Timer1 ==>|中断异步控制| LED
PM["极低功耗电源管理"] Timer1 ==>|秒计数器累加| SoftRTC
LED["WS2812B 双彩灯控制"]
MOTOR["振动马达异步时序"]
end
subgraph LayerHW ["硬件抽象与时基层 (HW Layer)"] GPIO -.->|外部中断沿触发| RF
Timer1["Timer 1 (1ms 中断时基)"] GPIO -.->|按键电平读取| KEY
ADC["ADC (12位电量采集)"]
Flash["IAP (内嵌 Flash 读写)"]
GPIO["GPIO (端口控制/中断唤醒)"]
end
%% --- 依赖与调用连线 --- %% --- 连线关系:外设动作驱动与底层交互 ---
PM -->|SHUT引脚开关SGM3833| GPIO
AMOLED -->|SPI接口像素写指令| GPIO
LED -->|P2.6输出彩灯数据| GPIO
MOTOR -->|P2.4输出马达电平| GPIO
%% 硬件时基驱动外设异步处理 (由 ISR 驱动,非阻塞) %% --- 连线关系:主循环轮询输入 ---
Timer1 -->|1ms 中断调度| KEY KEY ==>|压入环形队列 / 主循环读出| MainScheduler
Timer1 -->|分频 10ms 驱动| MOTOR RF ==>|解码成功包 / 主循环获取| MainScheduler
Timer1 -->|中断分频闪烁| LED MainScheduler ==>|喂看门狗| GPIO
Timer1 -->|秒级分频累加| SoftRTC
%% 外设层对硬件抽象层的调用 %% --- 连线关系:状态机控制外设输出 ---
AMOLED -->|SPI 端口操作| GPIO MainScheduler -->|分发事件| SysStateMachine
RF -->|INT2 沿中断捕获| GPIO SysStateMachine -->|读取电量及状态| ADC
KEY -->|引脚高阻上拉输入| GPIO SysStateMachine -->|读写配对防区数据| Flash
PM -->|SHUT 引脚控制 SGM3833| GPIO SysStateMachine -->|休眠判定/深度睡眠控制| PM
LED -->|P2.6 SPI_MOSI 时序| GPIO SysStateMachine -->|Redraw=1 触发重绘| AMOLED
MOTOR -->|P2.4 PWM 电平输出| GPIO SysStateMachine -->|射频包发射| RF
SysStateMachine -->|指示灯闪烁指示| LED
%% 应用层与外设层、硬件层的交互 (事件驱动 & 主循环轮询) SysStateMachine -->|马达震动反馈| MOTOR
MainScheduler -->|1. 轮询读入按键事件| KEY SysStateMachine -->|获取与同步时间| SoftRTC
MainScheduler -->|2. 轮询捕获 RF 数据包| RF
MainScheduler -->|3. 喂看门狗| GPIO
MainScheduler -->|分发事件与控制跳转| SysStateMachine
SysStateMachine -->|重绘标志 Redraw=1 触发| AMOLED
SysStateMachine -->|读取/保存配对配置| Flash
SysStateMachine -->|启动特定防区闪烁/爆闪| LED
SysStateMachine -->|启动特定防区马达震动| MOTOR
SysStateMachine -->|休眠判定与硬件断电睡眠| PM
SysStateMachine -->|主动发射对码/SOS载波| RF
SysStateMachine -->|读取电量及充电状态| ADC
SysStateMachine -->|获取/更新待机时间| SoftRTC
``` ```
### 4.2 架构设计与依赖原则说明 ### 4.2 架构设计与依赖原则说明