当前位置: 首页 > news >正文

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 压不住 → 额外耗电。

http://www.jsqmd.com/news/349385/

相关文章:

  • AI写专著的秘密武器:实用工具全解析,加速学术成果产出
  • 个人主页(聚合链接)
  • 探索电力系统潮流计算:用Matpower玩转IEEE69节点系统
  • 亲测好用!千笔·专业学术智能体,MBA论文写作神器
  • 防爆气象站:可在易燃易爆环境(如石油化工、煤矿等)中安全运行
  • 学术创作者必看!AI专著写作工具盘点,高效完成专著撰写
  • 深度拆解大模型:原理、实战与避坑指南
  • AI写论文哪个软件最好?2026实测:虎贲等考AI凭3大合规优势碾压同类
  • Java事务ACID解析:深入浅出搞定这4大特性!
  • 用过才敢说 9个降AI率平台 研究生必看的深度测评与推荐
  • 写作压力小了!10个降AIGC平台测评:专科生降AI率必备指南
  • 做客户投诉处理流程指引程序,输入投诉类型,给出标准化处理步骤,话术,标注注意事项,帮客服高效处理投诉,提升客户满意度,减少纠纷。
  • 通过多智能体系统实现的时间序列可视化推理
  • 开题报告被批“无灵魂”?虎贲等考AI:注入学术逻辑,导师直接点头通过
  • 收藏!大模型时代必看8大硬核就业方向,小白/程序员速码,解锁年薪百万捷径
  • AI写论文哪个软件最好?毕业季实测:虎贲等考AI让盲审通过率翻倍
  • 【超全】基于微信小程序的在线购物系统【包括源码+文档+调试】
  • 【建议收藏】AI智能体安全实战:从架构设计到风险防控的全方位解析
  • 【超全】基于微信小程序的在线课堂助手【包括源码+文档+调试】
  • 【收藏】一文搞懂AI Agent与AI Workflow:大模型时代两大应用范式详解,程序员必学指南
  • 零代码也能做高阶分析!虎贲等考AI:让科研数据从“杂乱无章”到“结论可视化”
  • 好写作AI:你的24小时论文顾问——当灵感在凌晨三点敲门,我永远在线
  • 收藏备用!大模型学习路线完整版(小白/程序员入门必看)
  • canvas 优化有哪些具体方法?如何减少内存占用?
  • 如何利用大语言模型的能力进行实体关系抽取
  • 基于深度学习YOLOv12的传送带缺陷识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 67.寻找旋转排序数组中的最小值
  • 发票全生命周期管理:电子发票合规、验真与抵扣闭环
  • git.exe是什么?Git命令行入门与日常使用指南
  • 5D旋转飞行影院|掀起沉浸式娱乐新风潮