AT 工程:https://github.com/espressif/esp-at
AT 文档:https://docs.espressif.com/projects/esp-at/zh_CN/latest/
睡眠模式介绍
ESP32 支持 5 种预设功耗模式,可以覆盖绝大多数应用场景。因此,用户在自行调整各个电源控制信号前,应首先尝试这 5 种功耗模式能否满足要求,具体包括:
Active模式:芯片射频处于工作状态。芯片可以接收、发射和侦听信号。Modem-sleep模式:CPU可运行,时钟可被配置。Wi-Fi/蓝牙基带和射频关闭。Light-sleep模式:CPU暂停运行。RTC存储器和外设以及ULP协处理器运行。任何唤醒事件(MAC、
主机、RTC定时器或外部中断)都会唤醒芯片。Deep-sleep模式:CPU和大部分外设都会掉电,只有RTC存储器和RTC外设处于工作状态。Wi-Fi
和蓝牙连接数据存储在RTC中。ULP协处理器可以工作。Hibernation模式:内置的8MHz振荡器和ULP协处理器均被禁用。RTC内存恢复电源被切断。只有
1 个位于低速时钟上的RTC时钟定时器和某些RTC GPIO在工作。RTC时钟定时器或RTC GPIO可
以将芯片从Hibernation模式中唤醒。
默认情况下, ESP32 系统复位后将进入 Active 模式。当 CPU 不需要一直工作时,比如当等待外部活动唤醒时,系统可以进入多种低功耗模式。
睡眠模式功耗
设备在不同的功耗模式下有不同的电流消耗.
在 Wi-Fi 开启的场景中,芯片会在 Active 和 Modem-sleep 模式之间切换,功耗也会在两种模式间变化。
Modem-sleep模式下,CPU频率自动变化,频率取决于CPU负载和使用的外设。
Deep-sleep模式下,仅ULP协处理器处于工作状态时,可以操作GPIO及低功耗I2C。
睡眠唤醒源
可以使用多种来源唤醒睡眠模式,当任何一种唤醒源被触发,芯片都会醒来。
对于 Modem sleep 模式,可以被任意中断唤醒,而对于 deep sleep 模式,可以通过 RTC GPIO(注意:仅有 RTC GPIO 可以作为唤醒源,而非数字 GPIO),RTC 计时器,touch 以及协处理器来唤醒
睡眠命令使用
ESP32 AT 包含了 model sleep、light sleep 和 deep sleep 三种睡眠模式,用户可以根据自己的要求自定义 AT 命令来实现定制化睡眠方案。
1. AT+GSLP—进入 Deep-sleep 模式
设置指令
AT+GSLP=<time>
响应
<time>
OK
参数说明
time: 设置ESP32的睡眠时长,单位: 毫秒。
ESP32会在休眠设定时长后自动唤醒。
目前AT对于sleep模式只提供了定时唤醒这一种唤醒方法,设置的参数即睡眠时长。
2.AT+SLEEP—设置 sleep 模式
设置指令:
指令
AT+SLEEP=<sleep mode>
响应
OK
<sleep mode>:
参数说明
- 0: 禁用休眠模式
- 1:
Modem-sleep模式 - 2:
Light-sleep模式 - 3:
Modem-sleep listen interval模式
示例:
AT+SLEEP=0
modem sleep可以被任意中断唤醒,所以需要在使用中很有可能会出现睡眠一会就又被唤醒到Active模式的情况。
本文介绍了ESP32支持的五种预设功耗模式,包括Active、Modem-sleep、Light-sleep、Deep-sleep及Hibernation模式,并详细阐述了每种模式的特点、功耗情况以及唤醒方式。此外,还提供了如何通过AT命令配置这些模式的方法。
1314

被折叠的 条评论
为什么被折叠?



