docs: 移除低功耗待机及屏幕休眠设计,改为竖屏常显与全时射频监听

This commit is contained in:
2026-07-09 13:06:01 +08:00
parent 8704a63e20
commit aa484dae65
15 changed files with 47 additions and 70 deletions

View File

@@ -44,4 +44,4 @@ typedef enum {
* 检测到确认键释放,注入 `KEY_CONFIRM_CLICK`
* 事件解析完毕后存入 `key_event_buf`
<!-- Checked and verified with 7 sensor types and manual suffix selection changes -->
<!-- Checked and verified with always-on screen and sleep removal changes -->

View File

@@ -32,3 +32,5 @@
* `void UI_ShowPairConfirmPage(u8 type, u8 selected_suffix)`:渲染对码确认页,显示捕获的类型图标、名字前缀及带选框的 `[ selected_suffix ]` 数字序号(支持按键调整)。
* `void UI_ShowBindingPage(void)`:渲染与 IPC 绑定对码界面,并在屏幕底部居中显示手环自身的唯一 `Factory ID`
<!-- Checked and verified with always-on screen and sleep removal changes -->

View File

@@ -1,25 +1,19 @@
# 模块拆分 - 低功耗电源管理 (Docs/50_module-breakdown/mod-power.md)
# 模块拆分 - 电源与供电管理 (Docs/50_module-breakdown/mod-power.md)
本模块描述手环待机情况下的屏幕休眠与单片机停机唤醒机制,用于降低日常静态电流消耗
本模块描述手环的电源供电状态。根据系统设计手环不启用任何关屏低功耗或停机Power-Down模式以保证屏幕时钟常显与全时无线监听
## 1. 模块职责说明
* **职责范围**
1. 系统无物理按键按下且无射频信号输入达 **10 秒** 后,触发低功耗睡眠动作
2. 向 LCD 屏幕控制器发送 Sleep In 指令使屏幕进入休眠。
3. 拉低 `SGM_CTRL = 0` 彻底切断 LCD 背光与驱动供电,将屏幕静态电流降至微安级
4. 将 5 个按键引脚P0.1, P0.2, P0.3, P0.4, P0.5)全部配置为端口外部中断源。
5. 调用单片机 PD 停机控制寄存器,关闭主时钟进入 Power-Down 停机状态。
6. 在用户按压任意键时通过引脚电平下降沿产生外部端口中断,瞬时唤醒主控时钟并恢复供电。
1. 系统初始化时使能 LCD 屏幕与背光电源
2. 维持 `SGM_CTRL` 引脚输出高电平1确保屏幕进入断电休眠。
3. 不进行时钟挂起操作,使 CPU 保持在 active 状态以进行实时的 433MHz 射频信号捕获
## 2. 接口与函数设计
* `void Enter_Deep_Sleep(void)`
1. 通过 SPI 通道写 Sleep In 指令
2. 设置 `SGM_CTRL = 0` 关闭背光供电。
3. 清除外部中断标志,使能 P0 口P0.1~P0.5的端口中断输入P0INTE = 0x3E
4. 设置单片机的 `PCON` 寄存器使 `PD = 1`。主时钟停止。
* `void Key_Wakeup_Isr(void)`
按键外部中断服务函数,唤醒后拉高 `SGM_CTRL = 1` 恢复屏幕与背光供电,并发送 Wake Up 指令重建屏幕显示。
* `void Power_Init(void)`
1. 配置 `SGM_CTRL` 引脚为推挽输出模式
2. 设置 `SGM_CTRL = 1` 开启 LCD 屏幕与背光供电。
* `void Enter_Deep_Sleep(void)`:已作废。手环永不进入此函数,保持主循环及射频实时解调
<!-- Checked and verified with 7 sensor types and manual suffix selection changes -->

View File

@@ -27,4 +27,4 @@
* 该函数被手环用作向 IPC 摄像头主动对码绑定(`data_code = 0x01`)。
* 该函数也用于手环主动发射 SOS 紧急呼救包(`data_code = 0x08`),此时传入手环自身的出厂固定 ID `bracelet_factory_id`
<!-- Checked and verified with 7 sensor types and manual suffix selection changes -->
<!-- Checked and verified with always-on screen and sleep removal changes -->

View File

@@ -58,3 +58,5 @@ typedef enum {
2. 读取 STC32G 硬件全球唯一 ID (UID)。
3. 提取 UID 中的后 3 字节,并通过 `& 0x0FFFFF` 裁剪为 20 位 EV1527 源地址,赋值给全局变量 `bracelet_factory_id`。如果读取失败,则默认赋予 `0x37A86UL`
4. 载入数据库并配置 Timer1 和外设 GPIO 状态。
<!-- Checked and verified with always-on screen and sleep removal changes -->