news 2026/10/16 12:07:51

S3 + Deep-sleep + EXT1 电平唤醒后功耗到 ~130 µA 量级

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
S3 + Deep-sleep + EXT1 电平唤醒后功耗到 ~130 µA 量级

你这个现象(S3 + Deep-sleep + EXT1 电平唤醒后功耗到 ~130 µA 量级)很常见,通常不是“CPU没睡”,而是EXT1 把 GPIO 作为 RTC IO 输入在工作,再叠加IO电平不够“干净”(靠 300k 下拉太弱、落在阈值附近)或某些 IO/外设漏电,就会到 100µA+。

下面给你一套“最有效、最容易验证”的降功耗路线(按收益从大到小):


1) 先确认:是不是 EXT1 把你拉到更高的 Deep-sleep 子模式

ESP32-S3 的 Deep-sleep 有子模式;文档明确提到:当使用“RTC IO 作为输入”等特性时,芯片无法进入更极限的 ultra low 模式,功耗会更高。
而 EXT1 恰好就是用 RTC 控制器监测 RTC IO 输入(并且会在 RTC 外设断电时用 HOLD 锁住管脚状态来保证唤醒仍可用)。

👉 这意味着:如果你必须用 EXT1 电平唤醒,S3 的 deep-sleep 电流比 ESP32 经典款更高是有可能“正常”的,你要靠“把 IO 状态做到最省电”去抠下来。


2) 300k 下拉太弱:很容易把 GPIO6 拉到“半高不高”的模拟阈值区

你自己也测到了:

  • GPIO6 直接短地:130 µA

  • GPIO6 300k 下拉:160 µA(更高)

这非常像管脚在 deep-sleep 时被内部/外部漏电“顶起来”,300k 压不住,电压落在输入阈值附近 →输入缓冲/比较器附近抖动,电流上去。

✅ 建议你直接试两种之一(都很常用):

  • 把外部下拉改成 47k~100k(先用 47k 最稳)

  • 或者不用外部下拉,改用 RTC 内部下拉 + HOLD(见下面代码)


3) 关键软件配置:用 RTC IO 下拉 + HOLD(别只看你贴的 IO DUMP)

你贴的 IO DUMP(Pullup=0 Pulldown=0 InputEn=0…)多半是数字 GPIO 域的状态;而 EXT1 会把 pad 配到RTC IO 域,数字域 dump 往往不代表最终睡眠态。文档也强调 EXT1 会把 IO pad 配成 RTC IO。

你可以按下面方式把 GPIO6 在睡眠前固定成“省电的低电平输入 + 下拉 + HOLD”:

#include "esp_sleep.h"

#include "driver/rtc_io.h"

#define WAKE_GPIO GPIO_NUM_6

void go_sleep(void)

{

// 1) 把 GPIO6 走 RTC IO 配置(EXT1 会用到 RTC IO)

rtc_gpio_init(WAKE_GPIO);

rtc_gpio_set_direction(WAKE_GPIO, RTC_GPIO_MODE_INPUT_ONLY);

// 2) 关上拉、开下拉(让它在睡眠里稳稳为低)

rtc_gpio_pullup_dis(WAKE_GPIO);

rtc_gpio_pulldown_en(WAKE_GPIO);

// 3) EXT1:ANY_HIGH 唤醒

esp_sleep_enable_ext1_wakeup_io(1ULL << WAKE_GPIO, ESP_EXT1_WAKEUP_ANY_HIGH);

// 4) 不需要 RTC memory 的话,关掉(只能省一点点,但建议做)

esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_OFF);

esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_OFF);

esp_deep_sleep_start();

}

文档说明:EXT1 即使 RTC 外设断电也能唤醒,因为 IDF 会在入睡前把唤醒脚状态锁住(HOLD)并在唤醒后解除。
也说明了:关 RTC_PERIPH 时会用 HOLD 维持上下拉,这还“有助于进一步减小睡眠功耗”。


4) 把“其它 IO 漏电”抠掉:rtc_gpio_isolate 很有用

很多时候你看到的 100µA+ 并不是唤醒脚本身,而是其它 IO 还连着外设/电阻网络,睡眠时内部上下拉或外设 ESD 路径形成漏电。

ESP-IDF 文档明确建议:Deep-sleep 下可以isolate 一些 IO 来进一步降电流,用rtc_gpio_isolate()可以关掉该脚的输入输出/上下拉以避免漏电。

✅ 做法(思路):

  • 除了 GPIO6 以外,把**所有“连到外设/有上下拉/有电平”的 RTC IO(0~21)**逐个 isolate 测电流,找到“罪魁祸首”那几根。

  • 注意别 isolate 你真正需要保持状态的脚(比如电源使能脚)。


5) 兼容性坑:某些 IDF 版本/特定 GPIO 上,EXT1 会让管脚在 deep-sleep 出现“被抬高”导致额外耗电

社区里确实出现过类似现象:升级 IDF 后 deep-sleep 从 ~20µA 变 ~131µA,定位到EXT1 使某个 GPIO 在 deep-sleep 被抬到 ~0.79V/1.12V,如果外部有下拉就会额外耗电。

✅ 你可以快速验证是不是同类问题:

  1. 只保留最小程序:enable ext1 → deep_sleep

  2. deep-sleep 时用万用表量 GPIO6 电压(配 47k 下拉更好观察)

    • 若你看到0.5~1.2V 这种“悬空偏置”,优先:

    • 换一个 RTC IO 做 EXT1(比如 7/8/9…)对比电流

    • 或升级到更新的 ESP-IDF 分支/patch 版本再测


你现在这组数据我会怎么判断

  • 130µA(短地)已经说明:基础电流不低,不只是“300k 下拉电阻的电流”(300k 对 3.3V 也就 11µA)。

  • 300k 下拉更高,强烈暗示:GPIO6 在睡眠态可能被“顶到阈值附近”或有漏电路径,300k 压不住 → 额外耗电。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 12:20:59

为什么现在都说说运维很难?

一、公司内部维护 对SVN、git的每日备份&#xff0c;编写shell自动定期对SVN的账号进行密码更新&#xff0c;并且发送邮件通知。开发数据库和测试数据库的每日按库表备份。 使用markdown&#xff0c;建立小型的wiki&#xff0c;编写公司内部的信息文档&#xff0c;避免重复、无…

作者头像 李华
网站建设 2026/10/14 6:44:32

1行SQL调用AI Agent?用SQL玩转Agent+RAG,彻底打通企业所有系统​

你有没有遇到过这样的场景&#xff1f;凌晨两点被紧急电话吵醒&#xff0c;生产线突然停机&#xff0c;维修团队在飞书里翻找设备手册&#xff0c;客服部门在CRM里查询历史工单&#xff0c;工程师在企业微信群里疯狂所有人——而解决问题的关键文档&#xff0c;正静静地躺在某个…

作者头像 李华
网站建设 2026/10/16 9:53:05

教工平台采购避坑指南:别只看价格,服务价值更重要

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

作者头像 李华
网站建设 2026/10/8 4:50:31

基于深度学习YOLOv12的安检x光危险物识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 针对安检X光图像中危险物品的自动检测需求&#xff0c;本研究提出了一种基于YOLOv12深度学习算法的危险物识别检测系统。该系统能够高效识别18类常见危险物品&#xff0c;包括刀具&#xff08;如Knife、Throwing Knife&#xff09;、工具&#xff08;如Hammer、Sc…

作者头像 李华
网站建设 2026/10/15 21:02:48

RexUniNLU开源大模型部署教程:适配A10/A100/V100的CUDA 11.8环境配置

RexUniNLU开源大模型部署教程&#xff1a;适配A10/A100/V100的CUDA 11.8环境配置 1. 为什么你需要这个部署教程 你是不是也遇到过这样的问题&#xff1a;想快速跑通一个中文NLP大模型&#xff0c;结果卡在环境配置上——显卡驱动版本对不上、CUDA和PyTorch版本不兼容、模型加…

作者头像 李华
网站建设 2026/10/15 23:09:54

收藏备用!大模型学习路线完整版(小白/程序员入门必看)

如今&#xff0c;大模型技术已然成为驱动人工智能产业飞速发展的核心引擎&#xff0c;更是程序员提升核心竞争力、小白入门AI领域的关键突破口。无论你是刚接触AI的编程小白&#xff0c;还是有一定开发经验、想转型大模型方向的开发者&#xff0c;想要系统掌握大模型应用技能&a…

作者头像 李华