定义与作用

目标:

在没有任务的时候,微控制器进入极低功耗模式(微控制器关机或进入深度睡眠模式)。通过定时器唤醒,执行短暂任务后,进入低功耗模式。

应用场景:

智能手环:每隔一段时间测试下心率和运动状态

传感器节点:传感器定期采集数据并上传(每隔一个小时采集温度传感器数据)

智能家居:设备在检查到操作前处于低功耗模式,有按键或wifi数据时唤醒

具体实现

硬件基础:

低功耗定时器:独立于主时钟的定时器(lse ),用于定时唤醒

电池管理单元(PMU):控制设备进入低功耗模式(sleep stop standby)

唤醒源:定时器中断:定时器时间到了触发中断唤醒

​ 外部事件:按键,传感器信号 (非定时 )

软件实现:

设置为低功耗模式

​ HAL_PWR_EnterSTOPMode (进入stop模式,仅保留备份寄存器和RTC)

初始化时钟源和唤醒源

​ 使用LSE作为时钟源 32kHz低速时钟,适合低功耗场景

​ 配置RTC定时器,例如每8小时唤醒一次

实现定时唤醒中断处理函数处理

系统 时钟配置 低功耗模式下,主时钟hclk可能关闭,需确保唤醒后时钟正常

注意事项:

时钟稳定性:LSE晶体需要电容滤波,避免频率漂移导致定时误差

电源冗余:stop部分外设如gpio可能会断电,需提前保存状态

唤醒延迟 从低功耗模式唤醒到执行指令要几百ns,要预留时间

优化方案

多级休眠策略:

​ 轻度休眠:保持cpu时钟运行,关闭外设 (如uart,spi)

​ 深度休眠:关闭cpu和主时钟,依赖低功耗定时器唤醒

动态高速周期:根据设备活动状态延长或缩短唤醒间隔,如检测移动后缩短唤醒时间

验证方法

示波器观测:测量设备在低功耗模式下的电流,理想下<1uA

日志记录:通过串口输出唤醒时间错,验证定时 精度 < ±1s

面试时如何回答:

零功耗定时唤醒是一种节能技术,设备通过硬件定时器触发 唤醒,在极低功耗状态下执行任务后再次休眠

在智能家居项目中,我使用stm32的RTC定时 器实现每2小时唤醒一次,通过 LSE晶体 和hal库配置,将待机功耗降至5uA,同时 确保远程控制指令的实时响应。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐