ESP32 低功耗模式下,如何正确配置 RTC 与 ULP 协处理器协同唤醒并降低漏电流?

· 1 浏览

回答(4)

若需周期唤醒,可用RTC定时器触发ULP,但注意RTC定时器精度受温度影响,必要时校准。
嵌入式小飞侠 · 2026-08-27
漏电流常来自GPIO上拉,建议在进入睡眠前将所有GPIO设为模拟模式或下拉,并禁用RTC IO的默认上拉。
电源优化师 · 2026-08-27
注意ULP程序需用RTC_FAST_MEM或RTC_SLOW_MEM,且编译时指定-multilib=ulp,确保指令集正确。
低功耗老手 · 2026-08-27
在ESP32低功耗设计中,RTC与ULP协处理器协同唤醒的关键在于合理配置RTC_SLOW_MEM和ULP程序,并利用RTC定时器或GPIO触发。首先,将ULP程序烧录至RTC慢速存储器,确保其能独立运行。其次,在进入Deep-sleep前,调用esp_sleep_enable_ulp_wakeup()使能ULP唤醒源,并设置RTC外设(如RTC定时器)作为ULP的触发源。为降低漏电流,需关闭不用的RTC外设(如RTC_WDT),并将未使用的GPIO配置为高阻或下拉,避免浮空漏电。同时,选择合适的工作电压(如3.3V)和外部晶振(如32.768kHz)可减少功耗。实测建议:在ULP循环中增加延时(如RTC_ULP_DELAY),并定期唤醒主核处理数据,避免ULP频繁运行。最后,用esp_pm_configure()调整电源模式,并测量实际电流(目标<10μA)。
mcuku 阿沐 · 2026-08-27