ESP32 是設(shè)計(jì)用來應(yīng)對移動設(shè)備、可穿戴電子設(shè)備和物聯(lián)網(wǎng)(IoT)芯片,作為一款超低功耗芯片,具有許多特定,比如精細(xì)的時(shí)鐘門控、節(jié)能模式和動態(tài)電壓調(diào)整等。
在使用超低功耗的IoT傳感器Hub應(yīng)用時(shí),ESP32只有在某些特定情況下才會被周期性喚醒,能夠極大地降低消耗。通過調(diào)整射頻放大器的輸出功率,還能實(shí)現(xiàn)通信距離、數(shù)據(jù)傳輸速度和功耗的最佳平衡。
ESP32先進(jìn)的電源管理技術(shù),可以在不同的功耗模式之間切換,樂鑫目前的ESP系列芯片都支持三種低功耗模式:
Modem-sleep 模式:CPU 可運(yùn)行,時(shí)鐘頻率可配置。Wi-Fi 及 Bluetooth LE 的基帶和射頻關(guān)閉, 但 Wi-Fi 或 Bluetooth LE 可保持連接。
Light-sleep 模式:CPU 暫停運(yùn)行。任何喚醒事件(MAC、主機(jī)、RTC 定時(shí)器或外部中斷)都會喚 醒芯片。Wi-Fi 或 Bluetooth LE 可保持連接。
Deep-sleep 模式:CPU 和大部分外設(shè)都會掉電,只有 RTC 存儲器處于工作狀態(tài)。Wi-Fi 連接數(shù)據(jù) 存儲在 RTC 中。RTC 時(shí)鐘定時(shí)器或RTC GPIO 可以將芯片從 Deep-sleep 模式中喚醒。
01
02
03
04
不同模式下的ESP32功能框圖
其中在 Modem-sleep 模式和 Light-sleep 模式下WiFi、藍(lán)牙可以保持連接(詳細(xì)功耗數(shù)據(jù)可以參考規(guī)格書)以ESP32為例,功耗可以參考下表
Light-sleep 模式下保持連接
硬件準(zhǔn)備
ESP32/ESP32C3/ESP32S3系列模組既支持外置 32.768 kHz 的時(shí)鐘振蕩器作為 RTC 睡眠時(shí)鐘,也支持外 部激勵信號(如有源晶振)作為 RTC 睡眠時(shí)鐘。外置 32.768 kHz 晶振的電路如下圖所示:
32.768 kHz 晶振選擇要求:
等效內(nèi)阻 (ESR) ? 70 K?。
兩端負(fù)載電容值根據(jù)晶振的規(guī)格要求進(jìn)行配置。
并聯(lián)電阻 R18 用于偏置晶振電路,電阻值要求 5 M? < R18 ? 10 M?。
ESP32-D0WD-V3 外接 32.768 kHz 晶振時(shí),并聯(lián)的電阻必須上件;ESP32 系列其他芯片建議預(yù)留。
軟件配置
編譯時(shí)可使用CONFIG_PM_ENABLE選項(xiàng)啟用電源管理功能。
啟用電源管理功能將會增加中斷延遲。額外延遲與多個(gè)因素有關(guān),例如:CPU頻率、單/雙核模式、是否需要進(jìn)行頻率切換等。CPU 頻率為 240 MHz 且未啟用頻率調(diào)節(jié)時(shí),最小額外延遲為0.2 us;如果啟用頻率調(diào)節(jié),且在中斷入口將頻率由40 MHz 調(diào)節(jié)至 80 MHz,則最大額外延遲為 40 us。
通過調(diào)用 esp_pm_configure()函數(shù)可以在應(yīng)用程序中啟用動態(tài)調(diào)頻(DFS) 功能和自動Light-sleep 模式。此函數(shù)的參數(shù) esp_pm_config_t 定義了頻率調(diào)節(jié)的相關(guān)設(shè)置。在此參數(shù)結(jié)構(gòu)中,需要初始化以下三個(gè)字段:
Max_freq_mhz:最大CPU 頻率 (MHz),即獲取 ESP_PM_CPU_FREQ_MAX 鎖后所使用的頻率。該字段通常設(shè)置為 CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ。
Min_freq_mhz:最小CPU 頻率 (MHz),即僅獲取 ESP_PM_APB_FREQ_MAX 鎖后所使用的頻率。該字段可設(shè)置為晶振 (XTAL) 頻率值,或者 XTAL 頻率值除以整數(shù)。注意,10 MHz 是生成 1 MHz 的 REF_TICK 默認(rèn)時(shí)鐘所需的最小頻率。
Light_sleep_enable:沒有獲取任何管理鎖時(shí),決定系統(tǒng)是否需要自動進(jìn)入Light-sleep 狀態(tài) (true/false)。
如果在menuconfig中啟用了CONFIG_PM_DFS_INIT_AUTO選項(xiàng),最大 CPU 頻率將由CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ設(shè)置決定,最小 CPU 頻率將鎖定為 XTAL 頻率。
需要注意的是:
自動 Light-sleep 模式基于FreeRTOS Tickless Idle功能,因此如果在menuconfig 4中沒有啟用CONFIG_FREERTOS_USE_TICKLESS_IDLE選項(xiàng),在請求自動 Light-sleep 時(shí),esp_pm_configure()將會返回 ESP_ERR_NOT_SUPPORTED錯誤。Light-sleep 狀態(tài)下,外設(shè)設(shè)有時(shí)鐘門控,不會產(chǎn)生來自GPIO 和內(nèi)部外設(shè)的中斷。睡眠模式文檔中所提到的喚醒源可用于從 Light-sleep 狀態(tài)觸發(fā)喚醒。
Menuconfig配置
藍(lán)牙還需要配置 Modem-sleep 相關(guān)配置
具體可以參考ESP-IDF下的 power_save 例程
如果您對 樂鑫Light-sleep保持WiFi連接感興趣,或?qū)で笊虡I(yè)項(xiàng)目合作,請后臺私信聯(lián)系。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2910文章
44778瀏覽量
374660 -
ESP32
+關(guān)注
關(guān)注
18文章
971瀏覽量
17367
發(fā)布評論請先 登錄
相關(guān)推薦
TLV320AIC3104上電時(shí)是不是只要控制Register 43與Register 44,將其Mute就可以控制上電爆音了?
aic23b的AD和DA輸入輸出數(shù)據(jù)總在64000左右,AD設(shè)置的是16位,為什么才進(jìn)來的數(shù)都這么大,是不是配置不對?
揭秘貼片功率電感發(fā)燙究竟是不是燒壞了
THS3091放大了脈寬是1ns的脈沖,脈沖的脈寬展寬,是不是THS3091的壓擺率不夠?
放大器工作點(diǎn)過高會引起什么失真
谷景告訴你屏蔽繞線功率電感是不是感量越大性能越好
STM32G0如果只執(zhí)行寫保護(hù)編程時(shí),先擦除選項(xiàng)字節(jié),此時(shí)讀保護(hù)字節(jié)是FF,那是不是就讀保護(hù)生效了?
STVD是不是不支持C99?
請問STM32Cube包含的FATFS例程是不是已經(jīng)支持8G以上的SD卡了?
谷景揭秘貼片疊層電感精度是不是越高越好
RC522寫塊操作是不是有什么限制?
一文看懂插件環(huán)形電感線圈究竟是不是隨便繞的
![一文看懂插件環(huán)形電感線圈究竟<b class='flag-5'>是不是</b>隨便繞的](https://file1.elecfans.com//web2/M00/C3/E0/wKgZomXvEVCAHAw-AABRcrePJbw02.webp)
評論