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

1.7 KiB
Raw Blame History

模块拆分 - 电源与供电管理 (Docs/50_module-breakdown/mod-power.md)

本模块负责手环的供电管理以及低功耗休眠/唤醒逻辑。

1. 模块职责说明

  • 职责范围
    1. 系统初始化时使能 SGM3833 PMIC 供电(拉高 SGM_CTRL = 1),使 OLED 屏正常工作。
    2. 维护低功耗状态机。当系统检测到连续 10 秒无任何按键操作时,执行关屏、拉低 SGM_CTRL = 0 彻底切断 SGM3833 供电、挂起外设,使单片机进入 Power-Down停机模式
    3. 配置外部中断:将 5 个按键的 GPIO 口和 LR690L 433MHz 芯片的接收中断引脚配置为唤醒中断源,使手环在处于 Power-Down 挂起状态下能被瞬间唤醒。
    4. 唤醒后,第一时间拉高 SGM_CTRL = 1 恢复 OLED 电源,延时等待 PMIC 稳定后,重新驱动显示并恢复常规时钟计时。

2. 接口与函数设计

  • void Power_Init(void)
    1. 配置 SGM_CTRL(物理引脚 P3.4)为推挽输出模式。
    2. 设置 SGM_CTRL = 1 开启 SGM3833 OLED 供电芯片。
  • void Enter_Low_Power_Sleep(void)
    1. 发送命令关闭 RM69310 AMOLED 屏幕显示。
    2. 拉低 SGM_CTRL = 0 关闭 SGM3833 升压/负压芯片。
    3. 允许按键引脚中断与 433MHz 射频接收中断。
    4. 写入 PCON |= 0x02(或 MCU 挂起控制位 PD = 1)使 CPU 进入深度睡眠 Power-Down 模式。
  • void Wakeup_Restore(void)
    1. 拉高 SGM_CTRL = 1 开启 SGM3833 供电芯片。
    2. 延时约 50ms 等待电压稳定。
    3. 重新初始化 RM69310 屏幕控制器并恢复正常显示。