戳我有驚喜!!!
随着科技的發展,越來越多的便攜式設備也如雨後春筍般地誕生,但便攜式設備都會面臨同樣的難題——續航,影響着續航的兩大因素就是電池容量和設備功耗。電池容量通常跟設備體積相關聯,電池容量越大同時意味着設備體積越大。因此在同樣電池容量下,提高續航能力就意味着降低設備低功耗,WOR(Wake On Radio)技術就是為了低功耗設備量身定制的技術。
空中喚醒
WOR(Wake on Radio)技術是通過減少接收端射頻處于接收狀态時間,其餘時間工作處于深度睡眠模式來降低設備整體功耗,同時還能保證設備能正常接收,但發送端需要發送更長的時間來保證接收端被喚醒。
WOR接收電流示意圖如下所示:
而通常處于接收模式的電流消耗圖如下所示:
若一般模式下的接收電流為15mA左右,休眠電流為5uA左右,T1為1000ms(WOR周期),T2(深度睡眠模式時間)為970ms,T3(接收模式時間)為30ms,則功耗隻有正常接收電流的3%左右,能大幅度降低整體功耗。
LoRa(Long Range)是一種基于CCS(線性調制擴頻技術)的長距離無線電,其封包格式如下所示:
WOR(空中喚醒)最重要的一點是如何确認空中是否有需要的數據存在,Semtech旗下的LoRa産品一般都會有前導碼檢測中斷,有了前導碼檢測中斷的硬件基礎,便可通過外部MCU周期性喚醒LoRa芯片進入接收模式并檢測前導碼中斷是否被觸發。
- 若前導碼中斷未被觸發,則一段時間後(T3)再次進入深度睡眠模式(T2);
- 若前導碼中斷被觸發,則可在前導碼中斷中繼續延長接收時間(T3)來保證接收完整包數據,接收并處理完成數據後整個系統再次進入深度睡眠模式,其時序圖如下圖所示。
為了保證接收端能穩定的收到數據,發送端的前導碼長度必須大于一個WOR周期,時間過短會導緻接收方丢包。
WOR角色一般分為發送方和接收方:
發送方(TX):發送數據前添加一個WOR周期長的前導碼來喚醒接收方;
接收方(RX):周期性進入接收模式,其餘時間處于深度睡眠以減少耗電。
單點喚醒然而上述的WOR方式在同信道下前導碼會被所有設備無差别識别,導緻範圍内所有的設備全部被喚醒,直到發送端發送完數據才能再次進入深度睡眠模式。為了解決這一難題,E330-400T13S提出了單點喚醒來解決這個問題。
與上述的WOR方式不同,單點喚醒在喚醒時不會持續喚醒非目标設備,E330-400T13S采用FSK/GFSK調制,故其封包和LoRa有所不同,最重要的是FSK/GFSK具有同步字(SYNCWORD)過濾機制。将地址設置為同步字,當同步字不一樣時數據會直接被硬件過濾導緻無法通信。
單點喚醒不再采用LoRa發送很長的前導碼,因為在同一信道下發送前導碼一定會喚醒同類型的所有設備,且會保持喚醒狀态,導緻整個網絡雖然不應該接收數據,但卻一直被強制性的喚醒進入接收模式。
單點喚醒在此點上做出了優化,選擇使用“短前導碼 同步字 0(DATA)形式”的短封包取代很長的前導碼,如下圖所示,短封包發送時間也應是大于一個WOR周期。
不同之處在于,單點喚醒利用了硬件同步字過濾的功能:
- 當同步字不同時,直接丢棄後續數據并進入休眠模式,等待下個周期進入接收模式;
- 當同步字相同時,會自動延長接收時間,直到接收完整包數據。
如上圖時序圖所示:
當發送端發送的同步字和接收端相同時,接收端表現與LoRa的WOR喚醒是一緻的;
但當發射端發送的同步字與接收端不同時,接收端會立刻再次進入休眠模式,直到下個周期再次進入接收模式才能接收到其他的數據。
盡可能休眠,最大限度降低功耗,節點能盡可能及時地收發無線數據,空中喚醒做到了。如果說低功耗為産品插上了想象的翅膀,空中喚醒則使想象成真。
,