diff --git a/Docs/30_architecture/main.md b/Docs/30_architecture/main.md index ef535fb..7f995e3 100644 --- a/Docs/30_architecture/main.md +++ b/Docs/30_architecture/main.md @@ -14,24 +14,33 @@ 显示端采用 **Truly 0.95寸 AMOLED 屏幕**,物理分辨率为 **120x240 像素**,控制芯片为 **RM69310**。 ### 1.1 GPIO 物理映射表 - -| 引脚号 | 引脚名称 | IO 模式 | 连接外设与功能描述 | -| :--- | :--- | :--- | :--- | -| **P0.0** | `BAT_ADC` | 模拟输入 | 电池电压采样输入端口,对应硬件 ADC 通道 8 (A8) | -| **P0.1** | `KEY_UP` | 高阻输入+上拉 | 侧边按键 ▲ (上移),按下为低电平 | -| **P0.2** | `KEY_SOS1` | 高阻输入+上拉 | 上部按键 SOS 1,按下为低电平 | -| **P0.3** | `KEY_DOWN` | 高阻输入+上拉 | 侧边按键 ▼ (下移),按下为低电平 | -| **P0.4** | `KEY_CONFIRM`| 高阻输入+上拉 | 侧边按键 ■ (确认),按下为低电平 | -| **P0.5** | `KEY_SOS2` | 高阻输入+上拉 | 上部按键 SOS 2,按下为低电平 | -| **P1.1** | `LCD_RST` | 推挽输出 | LCD 屏幕复位引脚 | -| **P1.3** | `LCD_RS` | 推挽输出 | LCD 屏幕 SPI 数据/命令寄存器选择 (D/C) | -| **P1.4** | `LCD_CS` | 推挽输出 | LCD 屏幕 SPI 片选信号 | -| **P1.5** | `LCD_SCL` | 推挽输出 | LCD 屏幕 SPI 时钟信号 | -| **P1.6** | `LCD_SDA` | 推挽输出 | LCD 屏幕 SPI 数据信号 | -| **P2.3** | `WS2812_DI` | SPI MOSI | 连接可编程双级联 RGB 灯珠的 DIN 信号输入 | -| **P2.5** | `MOTOR` | 推挽输出 | 连接振动马达驱动电路。高电平震动,低电平静止 | -| **P2.7** | `USB_DET` | 高阻输入 | USB 插入充电检测引脚,高电平代表正在充电 | -| **P3.4** | `SGM_CTRL` | 推挽输出 | OLED 供电芯片 SGM3833 控制引脚。高电平使能,低电平关闭 | +| 芯片引脚号 | 引脚名称 | 逻辑网络标号 | IO 模式 | 连接外设与功能描述 | +| :--- | :--- | :--- | :--- | :--- | +| **Pin 1** | `P1.0` | `TXD` | 推挽输出 | 串口 1 (UART1) 发送脚 | +| **Pin 2** | `P1.1` | `RXD` | 高阻输入 | 串口 1 (UART1) 接收脚 | +| **Pin 4** | `P1.5` | `+3.3V` | 电源 | 屏幕/系统 3.3V 逻辑供电 | +| **Pin 5** | `P1.6` | `+3.3V` | 电源 | 屏幕/系统 3.3V 逻辑供电 | +| **Pin 6** | `P1.7` | `TP_RST` | 推挽输出 | 触摸屏复位脚 (NC) | +| **Pin 8** | `UCAP` | `TP_INT` | 输入中断 | 触摸屏中断唤醒脚 (NC) | +| **Pin 9** | `P5.4` | `SPI_SDO` | 推挽输出 | Truly AMOLED 屏幕 SPI 串行数据输出 (MISO) | +| **Pin 10** | `Vcc` | `SPI_CS` | 推挽输出 | Truly AMOLED 屏幕 SPI 片选信号 (CS) | +| **Pin 11** | `VREF+` | `SPI_CLK` | 推挽输出 | Truly AMOLED 屏幕 SPI 串行时钟信号 (SCL) | +| **Pin 12** | `GND` | `SPI_SDI` | 推挽输出 | Truly AMOLED 屏幕 SPI 串行数据输入 (MOSI/SDA) | +| **Pin 13** | `P3.0` | `SPI_DCX` | 推挽输出 | Truly AMOLED 屏幕 SPI 数据/指令选择脚 (D/C) | +| **Pin 14** | `P3.1` | `DIS_RST` | 推挽输出 | Truly AMOLED 屏幕复位控制脚 (RESET) | +| **Pin 19** | `P3.6` | `KEY_DOWN` | 高阻输入 + 上拉 | 侧边按键 ▼ (下移),按下为低电平 | +| **Pin 20** | `P3.7` | `KEY_CONFIRM` | 高阻输入 + 上拉 | 侧边按键 ■ (确认/菜单),按下为低电平 | +| **Pin 21** | `P2.0` | `KEY_UP` | 高阻输入 + 上拉 | 侧边按键 ▲ (上移),按下为低电平 | +| **Pin 22** | `P2.1` | `BAT_ADC` | 模拟输入 | 电池电压采样输入端口,对应硬件 ADC 通道 9 (A9) | +| **Pin 23** | `P2.2` | `DET` | 高阻输入 | USB 插入充电检测引脚,高电平代表正在充电 | +| **Pin 24** | `P2.3` | `KEY_SOS` | 高阻输入 + 上拉 | 上部并联 SOS 求救按键,按下为低电平 | +| **Pin 25** | `P2.4` | `MOTOR_PWM` | 推挽输出 | 连接振动马达驱动电路。高电平震动,低电平静止 | +| **Pin 27** | `P2.6` | `LED_RGB` | SPI MOSI | WS2812B 级联双幻彩灯珠 DIN 控制信号 | +| **Pin 28** | `P2.7` | `SHUT` | 推挽输出 | OLED 供电芯片 SGM3833 控制引脚。高电平开启供电,低电平切断 | +| **Pin 29** | `P0.0` | `RF_RX_DATA` | 输入中断 | LR690L 433MHz 射频接收芯片数据输出脚 (INT0/INT2) | +| **Pin 30** | `P0.1` | `RF_TX` | 推挽输出 | LR690L 射频芯片发射使能控制引脚 | +| **Pin 31** | `P0.2` | `RF_RX` | 推挽输出 | LR690L 射频芯片接收使能控制引脚 | +| **Pin 32** | `P0.3` | `RF_TX_DAT` | 推挽输出 | LR690L 射频芯片发射调制数据输入引脚 | --- @@ -109,20 +118,20 @@ typedef struct { ```mermaid graph TD - subgraph Layer3 [应用层 (APP)] + subgraph Layer3 ["应用层 (APP)"] MainScheduler[主循环轮询 & 喂狗] SysStateMachine[SystemState 业务状态机] SoftRTC[软件 RTC 计时器] end - subgraph Layer2 [外设驱动层 (DRV)] + subgraph Layer2 ["外设驱动层 (DRV)"] AMOLED[RM69310 AMOLED 屏幕绘制] - RF[LR690L 编解码 & 接收处理] + RF[LR690L 编解码 & 过滤 0x08 SOS 信号] KEY[按键消抖 & 长按长计时] PM[低功耗休眠与唤醒] LED[WS2812B 级联双彩灯时序] MOTOR[振动马达脉冲时序] end - subgraph Layer1 [硬件抽象与时基层 (HW)] + subgraph Layer1 ["硬件抽象与时基层 (HW)"] Timer1[Timer 1 中断 (1ms 滴答)] ADC[12位电压采集] Flash[IAP 读写]