news 2026/5/22 7:23:31

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/5/21 4:01:11

LangChain嵌入:从原理到实践

嵌入嵌入&#xff08;Embedding&#xff09;可以将文本转换为向量表示&#xff0c;从而实现文本的语义分析和相似度计算简单来说&#xff0c;就是给每个文本分配一个"数字身份证"&#xff0c;相似的文本会有相似的"身份证号码"应用场景日常我们接触到的实际…

作者头像 李华
网站建设 2026/5/20 7:29:09

AI写论文哪个软件最好?2026实测:虎贲等考AI凭3大合规优势碾压同类

“开题报告改5版仍被打回”“文献综述堆30篇却毫无逻辑”“格式排版耗3天还不符合学校要求”“AI生成内容被AIGC检测标红”——2026年高校AI学术规范全面收紧的背景下&#xff0c;毕业生选AI写作软件的核心诉求已从“快速出稿”转向“合规高效学术达标”。面对市面上五花八门的…

作者头像 李华
网站建设 2026/5/21 12:09:21

亲测好用!千笔·专业学术智能体,MBA论文写作神器

你是否曾为论文选题而焦头烂额&#xff1f;是否在深夜面对空白文档无从下笔&#xff1f;是否反复修改却总对表达不满意&#xff1f;MBA论文写作不仅需要严谨的逻辑&#xff0c;更考验时间与精力的双重管理。对于忙碌的职场人来说&#xff0c;如何高效完成高质量论文成为一大难题…

作者头像 李华
网站建设 2026/5/21 11:59:57

DQN十年演进

DQN (Deep Q-Network) 的十年&#xff08;2015–2025&#xff09;&#xff0c;是从“深度强化学习的开山之作”向“超高效、高可靠的工业级决策引擎”演进的十年。 2015 年&#xff0c;DeepMind 在《Nature》上发表了 DQN&#xff0c;首次证明了 AI 可以仅凭像素输入在雅达利&a…

作者头像 李华
网站建设 2026/5/21 11:39:55

好写作AI:你的24小时论文顾问——当灵感在凌晨三点敲门,我永远在线

导师的回复在“48小时内”&#xff0c;图书馆在“22点闭馆”&#xff0c;而你的论文瓶颈&#xff0c;总发生在凌晨2点47分——这个学术世界似乎从未为你调整过时区。写论文最深的孤独感&#xff0c;往往不在于独自研究&#xff0c;而在于当那个关键的疑问、突如其来的灵感或致命…

作者头像 李华