esp的深度睡眠关机功耗很高,一般软件方面应该查哪里?

一般先从这几处查,软件侧最常见:

  1. 先确认真的进了 Deep Sleep

    • 看日志是不是已经执行到 esp_deep_sleep_start()

    • 上电后打印 esp_sleep_get_wakeup_cause(),确认不是刚睡下又被立刻唤醒

    • 如果功耗是 mA 级,很多时候不是深睡眠没进去,就是反复唤醒了

  2. 查唤醒源是不是配错

    • 定时器、GPIO、触摸、UART、ULP 有没有误开

    • GPIO 唤醒脚是否悬空、极性是否配反,导致一进睡眠就醒

    • 先只保留一个最简单的唤醒源测试,比如只开 timer

  3. 睡前有没有把外设都关干净

    • Wi-Fi / BT:esp_wifi_stop()esp_bt_controller_disable()esp_bluedroid_disable()

    • UART、ADC、I2C、SPI、LED、传感器电源控制脚是否还在工作

    • 某些任务/定时器/中断如果还在跑,说明根本没真正进入深睡

  4. 查 RTC 电源域有没有被保留

    • 重点看有没有显式保留:

      • ESP_PD_DOMAIN_RTC_PERIPH

      • ESP_PD_DOMAIN_RTC_SLOW_MEM

      • ESP_PD_DOMAIN_RTC_FAST_MEM

      • ESP_PD_DOMAIN_XTAL

    • 如果不需要,尽量关掉,例如:

      复制代码

      esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);

      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);

  5. 查 GPIO 状态

    • 睡前 GPIO 电平是否导致外部电路漏电

    • 某些 IO 内部上下拉没关,或者外部上下拉打架,会明显增大功耗

    • 特别查:

      • 接 MOS 管使能脚

      • 传感器 EN 脚

      • 电平转换芯片 OE 脚

      • 外挂 Flash / PSRAM / 屏幕背光 / LDO EN

  6. 查是否用了 GPIO hold / RTC IO 配置不当

    • gpio_hold_en() / gpio_deep_sleep_hold_en() 有时能稳住电平省电

    • 但配错也可能让外围一直处于耗电状态

    • RTC IO 如果作为唤醒脚,注意其上下拉和方向配置

  7. 查日志和调试配置

    • 串口日志本身不会让 deep sleep 一直高很多,但如果程序在睡前还卡在打印、flush、等待事件,就会误以为"睡了"

    • 先用最小代码验证:

      复制代码

      void app_main(void)

      {

      esp_sleep_enable_timer_wakeup(10 * 1000000ULL);

      esp_deep_sleep_start();

      }

    • 如果这个版本功耗正常,说明问题就在你业务初始化/外设/唤醒配置里

  8. 查有没有"反复重启"而不是"持续休眠"

    • 很多板子看起来是深睡高功耗,实际上是:

      • 睡下去

      • 被错误唤醒

      • 又启动一遍

      • 再睡

    • 这样平均电流就很高

    • 先做一个最小 deep sleep 示例 测功耗

      再一项项加回:

    • 先加唤醒源

    • 再加 GPIO 配置

    • 这样最快定位。

    • 再加外设初始化

    • 最后加 Wi-Fi / BLE

相关推荐
FreakStudio11 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘16 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484916 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150016 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼16 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi16 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘16 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展16 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司16 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑16 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习