LoRa模組FSK模式下WOR功耗估算實(shí)例
2024/03/29
瀏覽量:1771

LoRa模組(例如SX127X模組、SX126X模組或者LLCC68模組)不僅支持LoRa調(diào)制模式,也支持FSK調(diào)制模式。
實(shí)際應(yīng)用中有部分使用者硬件使用的是LoRa模組,但是使用的不是該模組的LoRa模式,而是使用的該模組的FSK模式,并需要使用FSK模式下的WOR功能。
在確定使用FSK模式下的WOR功能時(shí)需要先估算功耗是否能滿足使用者的低功耗需求,本文就給有這種需要的使用者提供一種估算WOR功耗的參考方法。
過程
以LLCC68模組為例。
01、確認(rèn)正常通信模式下參數(shù)和WOR模式下參數(shù)
本次舉例以如下參數(shù)為例。
1、正常通信模式下:4字節(jié)前導(dǎo)碼;4字節(jié)同步字;10Kbps空中波特率;0dBm發(fā)射功率(使用0dBm只是為了調(diào)試期間在儀器上看數(shù)據(jù)方便些);可變數(shù)據(jù)包模式;
2、WOR模式下:2字節(jié)前導(dǎo)碼;2字節(jié)同步字;10Kbps空中波特率;0dBm發(fā)射功率(使用0dBm只是為了調(diào)試期間在儀器上看數(shù)據(jù)方便些);固定數(shù)據(jù)包模式;
WOR 模式下選擇如上配置目的是使喚醒包的長度能盡量短一些,實(shí)際使用者可以根據(jù)自己的需要選擇不同的參數(shù),但是最好和正常通信模式做一個(gè)區(qū)分。達(dá)到一個(gè)正常模式下接收的模組收不到喚醒包并且WOR模式下的模組不會被正常模式下的數(shù)據(jù)包喚醒的目的。
02、WOR模式下喚醒包測算
把主機(jī)調(diào)整套WOR模式下的參數(shù)后,讓主機(jī)不停的連續(xù)發(fā)射喚醒短包(2字節(jié)前導(dǎo)碼;2字節(jié)同步字;2字節(jié)負(fù)載),發(fā)送完一個(gè)喚醒短包后加個(gè)20ms延時(shí)后馬上發(fā)送下一個(gè)喚醒短包,這里加入20ms延時(shí)是為了讀取單個(gè)喚醒短包發(fā)送時(shí)間方便而加入的。
WOR模式下10Kbps空中波特率2字節(jié)前導(dǎo)碼;2字節(jié)同步字;2字節(jié)負(fù)載時(shí),每個(gè)喚醒短包發(fā)送時(shí)間應(yīng)該為:1000ms/10Kbps*6字節(jié)*8bit=4.8ms。
實(shí)測一下,發(fā)現(xiàn)和計(jì)算值能夠?qū)Φ蒙稀?/span>
然后把20ms的延時(shí)去掉,改為每發(fā)送完一個(gè)喚醒短包后馬上發(fā)送下一個(gè)喚醒短包,測算能夠充分發(fā)送完兩個(gè)喚醒短包的時(shí)間。
“能夠充分發(fā)送完兩個(gè)喚醒短包得時(shí)間”測算時(shí),需要取一個(gè)比較寬裕的充分值,這里測到的值為15.5ms,我們按照16ms記錄。
測算這個(gè)值的重要性是因?yàn)槊總€(gè)單獨(dú)的喚醒短包實(shí)際發(fā)送時(shí)間雖然能和理論值4.8ms對得上,但連續(xù)發(fā)送狀態(tài)下,有狀態(tài)得轉(zhuǎn)換時(shí)間,有SPI得占用時(shí)間,所以連續(xù)發(fā)送喚醒短包的2包時(shí)間并不是9.6ms(4.8ms*2=9.6ms)。
這個(gè)實(shí)測出的16ms非常重要,因?yàn)樵摃r(shí)間將作為WOR狀態(tài)下接收端的WOR接收窗口的開啟時(shí)間的計(jì)算基礎(chǔ)參數(shù)。
只有WOR狀態(tài)下接收端的WOR接收窗口的開啟時(shí)間大于等于這個(gè)16ms,才能充分保證接收窗口時(shí)間內(nèi),能保證至少有一個(gè)完成得喚醒短包得整個(gè)空中傳輸過程被包含在WOR接收窗口內(nèi)。
WOR功耗計(jì)算
1、接收電流測算。
由模組規(guī)格書可知,LLCC68模組接收狀態(tài)下功耗在5mA左右(3.3V供電下)。
實(shí)測下為4.6mA,就按照5mA計(jì)算(為了計(jì)算的待機(jī)時(shí)間更加充裕穩(wěn)妥所以接收電流按照稍微大點(diǎn)的計(jì)算)
2、SLEEP電流測算。
由規(guī)格書可知,SLEEP功耗在3.3V下在0.6uA左右。
實(shí)測一下為0.6uA左右,按照1uA計(jì)算(為了計(jì)算的待機(jī)時(shí)間更加充裕穩(wěn)妥所以SLEEP電流按照稍微大點(diǎn)的計(jì)算)
3、以WOR周期中每保持4秒得SLEEP狀態(tài)后開啟一次WOR接收窗口為例計(jì)算。
如上可知:WOR接收窗口時(shí)長為16ms,WOR接收窗口電流為5mA(5000uA),WOR得周期SLEEP保持時(shí)間為4s(4000ms),WOR得周期SLEEP功耗為1uA。
模組WOR期間平均功耗為:
(5000uA*16ms+1uA*4000ms)/(16ms+4000ms)=20.92uA
4、以使用者要求平均功耗為30uA,估算每個(gè)WOR周期時(shí)間,計(jì)算如下。
(5000uA*16ms+1uA*Xms)/(16ms+Xms)=30uA
X=2742.1ms
即每保持SLEEP狀態(tài)2742.1ms后開啟一次16ms得WOR接收窗口時(shí),可以達(dá)到WOR的平均功耗為30uA的要求。
結(jié)論
參考如上方法即可估算出LoRa模組在WOR模式下的平均功耗值,或者滿足客戶要求下得WOR周期情況。
需要說明如下幾點(diǎn):
1、單個(gè)喚醒短包的空中發(fā)送時(shí)間長度的2倍不能做為WOR接收窗口的參考時(shí)間,WOR接收窗口的參考時(shí)間需要真實(shí)測試后確定。
2、接收電流和SLEEP電流在測試后取值用來做為估算參考值時(shí)需要稍微取偏大一點(diǎn),為了保證計(jì)算的結(jié)果更加充裕穩(wěn)定。
3、使用者估算電池是否夠用時(shí)不要忘記電池的自放電特性。
4、正常通信模式下和WOR狀態(tài)下的模組的參數(shù)配置最好有所變化(能達(dá)到正常模式下接收的模組收不到喚醒包并且WOR模式下的模組不會被正常模式下的數(shù)據(jù)包喚醒的目的),以減少系統(tǒng)內(nèi)部誤喚醒的概率。