一種分布式節(jié)能測(cè)控網(wǎng)絡(luò)的設(shè)計(jì)
3.1 接收協(xié)議節(jié)能設(shè)計(jì)
CC1101具備WOR功能,使用該功能可以讓CC1101在睡眠態(tài)和接收態(tài)間自動(dòng)輪流切換,如圖2所示,其中Time0為WOR周期,Time1為接收時(shí)間。由于在睡眠態(tài)時(shí),CC1101的接收功耗電流僅為9.8μA,而接收態(tài)時(shí)功耗電流達(dá)16.5 mA,從節(jié)能的角度考慮,在使用WOR功能時(shí),應(yīng)該使睡眠態(tài)的工作時(shí)間占空比盡可能的大。
但當(dāng)CC1101處于睡眠態(tài)時(shí),無(wú)線(xiàn)接收電路不工作,在此時(shí)間間隔內(nèi)無(wú)法收到從無(wú)線(xiàn)信道傳輸?shù)臄?shù)據(jù),影響通信的正確性。因此為保證可靠地接收數(shù)據(jù),必須保證在一個(gè)WOR周期內(nèi),接收態(tài)期間CC1101能收到至少一幀完整的數(shù)據(jù)。
測(cè)控基站從中繼節(jié)點(diǎn)接收的控制命令幀長(zhǎng)度為12字節(jié),當(dāng)CC1101通信速率為250 kbps時(shí),一個(gè)完整命令幀傳輸所需要的時(shí)間為:12×8/250=0.384(ms)。
選定WOR模式的接收態(tài)占空比為0.781%時(shí),假定在接收態(tài)需要保留5個(gè)完整命令幀的接收時(shí)間窗口以確保穩(wěn)定、可靠的收到一個(gè)完整命令幀,那么可以計(jì)算出WOR周期為:5×0.384/0.781%≈246(ms)。
從CC1101的應(yīng)用手冊(cè)上可知,WOR周期與CC1101內(nèi)部相關(guān)寄存器的值具有如下關(guān)系:
式(1)中fosc為CC1101的工作時(shí)鐘頻率,為26 MHz,EVENT0為事件0計(jì)數(shù)器值,WOR_RES為計(jì)數(shù)器分辨率,一般可設(shè)置為0。這樣可以計(jì)算得到當(dāng)WOR周期為246 ms時(shí),EVENT0值為0x2150。
當(dāng)WOR模式的接收占空比為0.781%時(shí),可以根據(jù)接收態(tài)和睡眠態(tài)分別的功耗電流計(jì)算出CC1101總的功耗電流:9.8×10-3×99.219%+16.5×0.781%=0.13(mA)。
若測(cè)控基站使用兩節(jié)容量為2000 mAh的普通5號(hào)干電池供電,可以計(jì)算出在只供CC1101工作的情況下設(shè)備可連續(xù)工作時(shí)間為:2×2000/0.13≈30 770(小時(shí))=3.5(年)。
3.2 接收協(xié)議處理流程
CC1101接收數(shù)據(jù)時(shí)設(shè)定同步頭內(nèi)容為0xEB90,這樣可以保證它只響應(yīng)同步頭為0xEB90的類(lèi)型的數(shù)據(jù)幀,其他類(lèi)型的數(shù)據(jù)幀不會(huì)誤觸發(fā)CC1101,簡(jiǎn)化測(cè)控基站軟件的協(xié)議處理流程。
當(dāng)需要接收命令幀時(shí)測(cè)控基站工作流程如圖3所示。測(cè)控基站默認(rèn)處于等待接收狀態(tài),此時(shí)CC1101工作于WOR模式;當(dāng)收到一個(gè)完整命令幀后,CC1101退出WOR工作模式,進(jìn)入發(fā)送工作模式,同時(shí)測(cè)控基站控制軟件必須通過(guò)幀地址域判斷命令幀是否是發(fā)給本設(shè)備,若命令幀是發(fā)給本設(shè)備,需要執(zhí)行該命令并返回應(yīng)答給中繼節(jié)點(diǎn),然后設(shè)置CC1101重新進(jìn)入WOR工作模式,若命令幀不是發(fā)給本設(shè)備,則直接設(shè)置CC1101進(jìn)入WOR工作模式即可。
圖3 工作流程
需要注意的是由于無(wú)線(xiàn)信道易受干擾,測(cè)控基站在收到中繼節(jié)點(diǎn)的命令幀后必須給中繼節(jié)點(diǎn)回送一個(gè)應(yīng)答幀,確認(rèn)命令幀執(zhí)行情況。為了防止應(yīng)答幀引起其它測(cè)控基站的錯(cuò)誤觸發(fā),應(yīng)答幀同步頭與命令幀同步頭不同,為0x146F。
3.3 發(fā)送協(xié)議處理流程
當(dāng)測(cè)控基站需要反饋控制命令執(zhí)行情況或主動(dòng)上傳測(cè)量數(shù)據(jù)時(shí),必須通過(guò)CC1101向外發(fā)送數(shù)據(jù)。為減少測(cè)控基站對(duì)無(wú)線(xiàn)信道的占用,只有在設(shè)備狀態(tài)產(chǎn)生變化時(shí),測(cè)控基站才主動(dòng)向中繼節(jié)點(diǎn)發(fā)出數(shù)據(jù)幀通知本設(shè)備產(chǎn)生了狀態(tài)變化,需要中繼節(jié)點(diǎn)向中心計(jì)算機(jī)登記該次變化。
為了防止多個(gè)測(cè)控基站同時(shí)共用無(wú)線(xiàn)信道時(shí)發(fā)生沖突,必須對(duì)發(fā)送協(xié)議進(jìn)行防沖突設(shè)計(jì),這通過(guò)CC1101的載波偵聽(tīng)功能實(shí)現(xiàn)。在每次需要發(fā)送數(shù)據(jù)前,CC1101檢測(cè)無(wú)線(xiàn)信道中載波功率電平值,并將電平值反映到RSSI寄存中,當(dāng)測(cè)控基站發(fā)現(xiàn)RSSI電平高于某一閾值時(shí),認(rèn)為無(wú)線(xiàn)信道已被占用,將一直等待直到RSSI值低于閾值時(shí)才使用無(wú)線(xiàn)信道發(fā)送數(shù)據(jù)。
使用載波偵聽(tīng)功能,測(cè)控基站向中繼節(jié)點(diǎn)上傳測(cè)量數(shù)據(jù)時(shí)處理流程如圖4所示。由于需要上傳測(cè)量數(shù)據(jù)的時(shí)間占總工作時(shí)間的比例很小,CC1101不需工作在WOR模式以節(jié)約電能。為防止測(cè)量幀觸發(fā)其他處于接收命令狀態(tài)的測(cè)控基站,測(cè)量幀同步頭設(shè)置為0x1ACF。
圖4 發(fā)送協(xié)議處理流程
評(píng)論