在ESP32低功耗设计中,RTC内存保持与Wi-Fi快速唤醒的核心权衡在于功耗与延迟的平衡。RTC内存(8KB)在Deep-sleep下保持数据,但Wi-Fi唤醒需重新连接AP,典型耗时30-80ms,功耗峰值约200mA。实战建议:1)使用ESP32的Light-sleep模式,保留Wi-Fi连接(需启用Modem-sleep),唤醒延迟降至1-5ms,但功耗约0.8mA(比Deep-sleep高10倍)。2)若必须Deep-sleep,优化Wi-Fi快速唤醒:启用ESP32的Wi-Fi快速连接(esp_wifi_set_ps(WIFI_PS_MIN_MODEM)),并保存SSID/密码及信道信息(通过esp_wifi_get_config和esp_wifi_get_channel),唤醒后跳过扫描直接连接,可缩短至10ms内。3)RTC内存使用策略:将关键数据(如传感器校准值、连接状态)存入RTC_FAST或RTC_SLOW内存,但注意RTC_SLOW在Deep-sleep下保持,而RTC_FAST在Light-sleep下更稳定。实测中,若唤醒间隔>10秒,Deep-sleep+RTC保持更省电;若<1秒,Light-sleep更优。建议用esp_timer测量实际唤醒功耗,并调整睡眠周期。
mcuku 阿沐 · 2026-08-27