E103-W10提供三種睡眠模式,用戶可以結(jié)合具體需求選擇睡眠模式并進行配置。三種睡眠模式分別是Modem-sleep、Light-sleep、Deep-sleep。
1. Modem-sleep
1.1. 特性
E103-W10的Modem-sleep僅工作在Station模式下,連接路由器后生效。E103-W10通過Wi-Fi的DTIM Beacon機制與路由器保持連接。一般情況下,路由器的 DTIM Beacon間隔為100ms~1000ms。
在Modem-sleep模式下,E103-W10會在兩次DTIM Beacon間隔時間內(nèi),關(guān)閉Wi-Fi模塊電路,達到省電效果,在下次Beacon到來前自動喚醒。睡眠時間由路由器的DTIM Beacon時間決定。睡眠同時可以保持與路由器的Wi-Fi連接,并通過路由器接收來自手機或者服務(wù)器的交互信息。
1.2. 測試Modem-sleep功耗
1. 設(shè)置E103-W10為Station模式,如圖所示。
2. 設(shè)置睡眠模式為Modem-sleep,出廠默認(rèn)也是該睡眠模式,如圖所示。
3. 連接到路由器,以Wi-Fi名稱為"E880-IR01",密碼為"JSZXE880"的路由器為例,如圖所示。
4. 連接后,E103-W10自動進入Modem-sleep睡眠模式,也會自動喚醒,如圖所示,最大電流69.8mA,最小電流14.4mA,平均電流17.5mA。
5. 進行TCP client單連接,如圖所示。
6. 此時電流消耗如所示,平均電流增大至19mA。如圖所示。
7. E103-W10進入透傳模式,每隔1秒發(fā)送20字節(jié)的電流消耗,如圖所示。
2. Light-sleep
2.1. 特性
Light-sleep的工作模式與Modem-sleep相似,僅工作在Station模式下,連接路由器后生效。station模式不同的是,除了關(guān)閉Wi-Fi模塊電路以外,在Light-sleep模式下,還會關(guān)閉時鐘并暫停內(nèi)部CPU,比Modem-sleep功耗更低。
在Light-sleep模式下,CPU在暫停狀態(tài)下不會響應(yīng)來自外圍硬件接口的信號和中斷,因此需要通過外部GPIO信號將E103-W10喚醒,硬件喚醒過程大約為3ms。由于Wi-Fi初始化過程需要大約1ms,所以建議用戶5ms之后再對芯片進行操作。
2.2. 測試Light-sleep功耗
1. 設(shè)置E103-W10為station模式,如圖所示。
2. 設(shè)置睡眠模式為Light-sleep,如圖所示。
3. 設(shè)置Light-sleep睡眠模式的喚醒源和喚醒引腳,如圖所示。
相關(guān)指令如下,以GPIO喚醒為例:
AT+SLEEPWKCFG=0,1000 //定時器喚醒,1000ms后喚醒
AT+SLEEPWKCFG=2,12,0 //GPIO 12喚醒,低電平
4. 連接到路由器,以Wi-Fi名稱為"E880-IR01",密碼為"JSZXE880"的路由器為例,如圖所示。
5. 連接成功后,CPU處于空閑狀態(tài)時,會自動進入Light-sleep狀態(tài)。此時發(fā)送AT指令等操作可能失敗。此時的功耗如圖所示,平均電流約8.5mA。
6. 將GPIO 12保持低電平,模塊被喚醒。將GPIO 12保持高電平,模塊會自動進入Light-sleep狀態(tài)。
3. Deep-sleep
3.1. 特性
相對于其他兩種模式,系統(tǒng)無法自動進入deep sleep,需要由用戶發(fā)送AT指令A(yù)T+GSLP來控制。在該模式下,芯片會斷開所有Wi-Fi連接與數(shù)據(jù)連接,進入睡眠模式,只有RTC模塊仍然工作,負(fù)責(zé)芯片的定時喚醒。
3.2. 測試Deep-sleep功耗
1. 先將E103-W10的GPIO 16與RST短接,用于Deep-sleep自動喚醒。
2. 無論E103-W10處于什么Wi-Fi模式,Wi-Fi是否連接,使其進入Deep-sleep,如圖所示。
將AT+GSLP=900000,使模塊長期處于深度睡眠,便于測試,此時功耗如圖所示,平均電流約267uA。
3. 自動喚醒
進入Deep-sleep 10秒后,模塊通過GPIO 16給RST引腳一個低電平脈沖,模塊即可被重啟并被喚醒,如圖所示。
4. 外部喚醒
在Deep-sleep狀態(tài)下,可以通過外部IO在模塊RST引腳上產(chǎn)生一個低電平脈沖,模塊即可被重啟并被喚醒。