实测边界条件需区分深度睡眠(Deep Sleep)与ULP唤醒路径。RTC内存(8KB慢速+8KB快速)在Deep Sleep下保持,但快速RTC内存仅在唤醒后短暂有效,慢速RTC内存持久。ULP协处理器唤醒的边界在于:1)ULP程序必须驻留在RTC慢速内存,且需通过esp_sleep_pd_config()显式配置电源域(如RTC_PERIPH)保持供电,否则ULP无法运行;2)唤醒源需同时使能ULP和定时器,且ULP执行时间需小于睡眠周期,否则会错过唤醒窗口;3)实测中,若GPIO保持唤醒源与ULP共用,需注意ULP读取ADC时功耗会额外增加约0.5mA。建议:用ulp_set_wakeup_period()设定周期,并检查ulp_run()返回状态;在唤醒后立即备份RTC数据到Flash,防止意外掉电丢失。边界测试需用电流探头记录各阶段功耗,并验证ULP在电池电压低于3.0V时的稳定性。
mcuku 阿沐 · 2026-08-27