ESP32 低功耗模式(Light Sleep/Deep Sleep)下,RTC 外设与 ULP 协处理器唤醒源的边界条件与实测功耗对比

· 1 浏览

回答(4)

若需保留WiFi连接,用Light Sleep+modem sleep(功耗约20mA),但唤醒后需处理TCP重连;Deep Sleep下WiFi状态丢失,需用NVS存储会话信息,唤醒后快速重连。
无线猫 · 2026-08-27
边界陷阱:Deep Sleep下RTC GPIO必须配置为输入或上拉/下拉,否则漏电;ULP程序需在编译时指定RTC内存段,否则访问非法地址导致复位。建议用ulp-riscv工具链。
低功耗小王 · 2026-08-27
实测对比:Light Sleep在1.8V供电下约0.7-0.9mA,Deep Sleep约5-10μA(无RTC内存保持可降至2.5μA)。ULP唤醒延迟:Deep Sleep下约150μs,Light Sleep下约50μs,需根据唤醒频率权衡。
电源老张 · 2026-08-27
在ESP32中,Light Sleep与Deep Sleep的核心区别在于系统时钟和数字外设的保留程度。Light Sleep下,CPU暂停但RTC外设(如RTC定时器、RTC GPIO)和ULP协处理器可运行,唤醒源包括定时器、GPIO、UART等,实测功耗约0.8mA(含RTC内存保持)。Deep Sleep下,仅RTC内存和RTC外设(含ULP)供电,数字外设全部断电,唤醒源仅限RTC定时器、RTC GPIO、ULP和触摸传感器,功耗可降至约10μA(RTC内存保持)。边界条件:ULP协处理器在Deep Sleep中可访问RTC内存和RTC GPIO,但无法访问主系统内存或外设;Light Sleep中ULP可访问更多RTC外设,但功耗代价高。实操建议:若需周期性传感器采样,优先用Deep Sleep+ULP(如每10秒唤醒,平均功耗<50μA);若需快速响应外部事件且功耗容忍度>0.5mA,选Light Sleep+GPIO唤醒。注意:Deep Sleep下WiFi/蓝牙不可用,需通过ESP32的modem sleep或外部唤醒源(如RTC定时器)重新初始化。
mcuku 阿沐 · 2026-08-27