docs: 调整系统依赖架构图为横向布局(graph LR)以提升显示清晰度
This commit is contained in:
@@ -119,61 +119,62 @@ typedef struct {
|
||||
### 4.1 系统层级依赖与调用图
|
||||
|
||||
```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)"]
|
||||
MainScheduler["主循环调度器 (main.c)"]
|
||||
SysStateMachine["SysState 业务状态机"]
|
||||
SoftRTC["软件 RTC 计时器"]
|
||||
SoftRTC["SoftRTC 软件时钟"]
|
||||
end
|
||||
|
||||
subgraph LayerDRV ["外设驱动层 (DRV Layer)"]
|
||||
AMOLED["Truly RM69310 屏幕绘制"]
|
||||
RF["LR690L RF 编解码及发射"]
|
||||
KEY["按键检测与队列缓冲"]
|
||||
PM["极低功耗电源管理"]
|
||||
LED["WS2812B 双彩灯控制"]
|
||||
MOTOR["振动马达异步时序"]
|
||||
end
|
||||
%% --- 连线关系:时基与底层输入驱动外设 ---
|
||||
Timer1 ==>|1ms时基中断| KEY
|
||||
Timer1 ==>|1ms中断分频| MOTOR
|
||||
Timer1 ==>|中断异步控制| LED
|
||||
Timer1 ==>|秒计数器累加| SoftRTC
|
||||
|
||||
subgraph LayerHW ["硬件抽象与时基层 (HW Layer)"]
|
||||
Timer1["Timer 1 (1ms 中断时基)"]
|
||||
ADC["ADC (12位电量采集)"]
|
||||
Flash["IAP (内嵌 Flash 读写)"]
|
||||
GPIO["GPIO (端口控制/中断唤醒)"]
|
||||
end
|
||||
GPIO -.->|外部中断沿触发| RF
|
||||
GPIO -.->|按键电平读取| KEY
|
||||
|
||||
%% --- 依赖与调用连线 ---
|
||||
%% --- 连线关系:外设动作驱动与底层交互 ---
|
||||
PM -->|SHUT引脚开关SGM3833| GPIO
|
||||
AMOLED -->|SPI接口像素写指令| GPIO
|
||||
LED -->|P2.6输出彩灯数据| GPIO
|
||||
MOTOR -->|P2.4输出马达电平| GPIO
|
||||
|
||||
%% 硬件时基驱动外设异步处理 (由 ISR 驱动,非阻塞)
|
||||
Timer1 -->|1ms 中断调度| KEY
|
||||
Timer1 -->|分频 10ms 驱动| MOTOR
|
||||
Timer1 -->|中断分频闪烁| LED
|
||||
Timer1 -->|秒级分频累加| SoftRTC
|
||||
%% --- 连线关系:主循环轮询输入 ---
|
||||
KEY ==>|压入环形队列 / 主循环读出| MainScheduler
|
||||
RF ==>|解码成功包 / 主循环获取| MainScheduler
|
||||
MainScheduler ==>|喂看门狗| GPIO
|
||||
|
||||
%% 外设层对硬件抽象层的调用
|
||||
AMOLED -->|SPI 端口操作| GPIO
|
||||
RF -->|INT2 沿中断捕获| GPIO
|
||||
KEY -->|引脚高阻上拉输入| GPIO
|
||||
PM -->|SHUT 引脚控制 SGM3833| GPIO
|
||||
LED -->|P2.6 SPI_MOSI 时序| GPIO
|
||||
MOTOR -->|P2.4 PWM 电平输出| GPIO
|
||||
|
||||
%% 应用层与外设层、硬件层的交互 (事件驱动 & 主循环轮询)
|
||||
MainScheduler -->|1. 轮询读入按键事件| KEY
|
||||
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
|
||||
%% --- 连线关系:状态机控制外设输出 ---
|
||||
MainScheduler -->|分发事件| SysStateMachine
|
||||
SysStateMachine -->|读取电量及状态| ADC
|
||||
SysStateMachine -->|读写配对防区数据| Flash
|
||||
SysStateMachine -->|休眠判定/深度睡眠控制| PM
|
||||
SysStateMachine -->|Redraw=1 触发重绘| AMOLED
|
||||
SysStateMachine -->|射频包发射| RF
|
||||
SysStateMachine -->|指示灯闪烁指示| LED
|
||||
SysStateMachine -->|马达震动反馈| MOTOR
|
||||
SysStateMachine -->|获取与同步时间| SoftRTC
|
||||
```
|
||||
|
||||
### 4.2 架构设计与依赖原则说明
|
||||
|
||||
Reference in New Issue
Block a user