Files
stc32g128k/Docs/50_module-breakdown/mod-power.md

1.3 KiB
Raw Blame History

模块拆分 - 低功耗电源管理 (docs/50_module-breakdown/mod-power.md)

本模块描述手环待机情况下的屏幕休眠与单片机停机唤醒机制,用于降低日常静态电流消耗。

1. 模块职责说明

  • 职责范围
    1. 在系统无物理按键按下且无射频信号输入达 10 秒 后,触发低功耗睡眠动作。
    2. 向 RM69310 屏幕控制器发送 Sleep In命令 0x10)使 AMOLED 内部关闭。
    3. 拉低 SGM_CTRL = 0 彻底切断 SGM3833 的正负压与 VAVDD 供电,将屏幕静态电流降至微安级。
    4. 将按键引脚KEY_UP P0.1, KEY_SOS P0.2, KEY_DOWN P0.3)配置为外部中断源。
    5. 调用单片机 PD 停机控制寄存器,关闭主时钟进入 Power-Down 停机状态。
    6. 在用户按压任意键时通过引脚电平下降沿产生外部中断,瞬时唤醒主控时钟并恢复供电。

2. 接口与函数设计

  • void Enter_Deep_Sleep(void)
    1. 通过 SPI 通道写指令 0x10
    2. 设置 SGM_CTRL = 0
    3. 清除外部中断标志,使能 P0 口外部中断输入。
    4. 设置单片机的 PCON 寄存器使 PD = 1。主时钟停止。
  • void Key_Wakeup_Isr(void) 按键外部中断服务函数,唤醒后拉高 SGM_CTRL = 1 恢复屏幕高压供电,并发送 Wake Up 指令 0x11 重建屏幕显示。