ESP-AT 系列: sleep 的使用

睡眠模式介绍

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 开启的场景中,芯片会在 ActiveModem-sleep 模式之间切换,功耗也会在两种模式间变化。

Modem-sleep 模式下,CPU 频率自动变化,频率取决于 CPU 负载和使用的外设。
Deep-sleep 模式下,仅 ULP 协处理器处于工作状态时,可以操作 GPIO 及低功耗 I2C

睡眠唤醒源

可以使用多种来源唤醒睡眠模式,当任何一种唤醒源被触发,芯片都会醒来。
对于 Modem sleep 模式,可以被任意中断唤醒,而对于 deep sleep 模式,可以通过 RTC GPIO(注意:仅有 RTC GPIO 可以作为唤醒源,而非数字 GPIO),RTC 计时器,touch 以及协处理器来唤醒

睡眠命令使用

ESP32 AT 包含了 model sleepdeep sleep 两种睡眠模式,用户可以根据自己的要求自定义 AT 命令来实现定制化睡眠方案。

1. AT+GSLP—进入 Deep-sleep 模式

设置指令

AT+GSLP=

响应

参数说明

  • time: 设置 ESP32 的睡眠时长,单位: 毫秒。

ESP32 会在休眠设定时长后自动唤醒。
目前 AT 对于 sleep 模式只提供了定时唤醒这一种唤醒方法,设置的参数即睡眠时长。

2.AT+SLEEP—设置 sleep 模式

设置指令:
指令

AT+SLEEP=

响应

OK
:

参数说明

  • 0: 禁用休眠模式
  • 1: Modem-sleep 模式

示例:

AT+SLEEP=0

modem sleep 可以被任意中断唤醒,所以需要在使用中很有可能会出现睡眠一会就又被唤醒到 Active 模式的情况。

你可能感兴趣的:(ESP-AT)