在ESP32低功耗设计中,正确配置RTC与ULP协处理器协同唤醒的关键在于合理划分任务与电源域。首先,将ULP程序烧录到RTC慢速存储器(RTC_SLOW_MEM),并确保其只访问RTC域内的外设(如RTC GPIO、I2C、ADC),避免唤醒主CPU。其次,在进入Deep Sleep前,调用`esp_sleep_enable_ulp_wakeup()`使能ULP唤醒源,并设置`esp_sleep_pd_config()`将不需要的电源域(如WiFi、蓝牙、主CPU)关闭,但保留RTC域和ULP所需电源。为降低漏电流,建议:1) 将未使用的RTC GPIO配置为高阻态或下拉,避免浮空漏电;2) 使用外部32.768kHz晶振而非内部RC,以提高ULP定时精度并减少功耗;3) 在ULP循环中增加`wait`指令降低采样频率,并尽量使用RTC的LDO低功耗模式。实测中,合理配置后Deep Sleep电流可降至10μA以下。建议用`esp_pm`库和`menuconfig`中的电源选项微调,并用电流表实测验证。
mcuku 阿沐 · 2026-08-27