CC430F5137的低功耗無線數(shù)據(jù)采集節(jié)點設(shè)計
摘要:隨著無線傳感器網(wǎng)絡(luò)的發(fā)展,無線網(wǎng)絡(luò)數(shù)據(jù)采集節(jié)點的低功耗要求也不斷提高。針對這一要求,利用內(nèi)部集成了射頻模塊的CC430F51 37設(shè)計并實現(xiàn)了一種低功耗無線數(shù)據(jù)采集節(jié)點。利用無線模塊喚醒功能降低了系統(tǒng)功耗,同時根據(jù)載波監(jiān)聽功能改進(jìn)了射頻發(fā)送函數(shù),提高了抗干擾能力。實驗結(jié)果表明,該設(shè)計的低功耗和抗干擾方法是可行的。
引言
隨著集成電路、無線通信技術(shù)和嵌入式技術(shù)的發(fā)展,無線通信網(wǎng)絡(luò)也應(yīng)運而生,無線傳感網(wǎng)絡(luò)具有低功耗、低成本、分布式和自組織的特點。
傳統(tǒng)的無線射頻通信模塊體積大,需要控制芯片來控制射頻模塊,這就增加了設(shè)計的成本,而且可移動性不好。
半導(dǎo)體技術(shù)的不斷進(jìn)步使處理器芯片可以被集成為體積很小的一塊,而價格變得更便宜,專用的無線網(wǎng)絡(luò)芯片和技術(shù)也得到發(fā)展。文中采用了TI公司的CC430F5137設(shè)計并實現(xiàn)了一種應(yīng)用于無線網(wǎng)絡(luò)中的節(jié)點模塊。CC430F5137是一款內(nèi)部集成了射頻核的芯片,它內(nèi)置了CC1101射頻核,使用單顆芯片就可以完成數(shù)據(jù)的采集、處理、發(fā)送與接收,使電路板的體積可以變得更小、更便宜。為了實現(xiàn)網(wǎng)絡(luò)節(jié)點的低功耗
設(shè)計,本文采用了射頻模塊的無線喚醒(WOR)功能。同時,利用射頻核的空閑信道評估(CCA)功能改進(jìn)了射頻發(fā)送的算法,提高了多節(jié)點向中繼器模塊發(fā)送數(shù)據(jù)時的準(zhǔn)確性。
1 總體設(shè)計方案
無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成的網(wǎng)絡(luò)。它是由大量的靜止或移動的傳感器以自組織和多跳的方式構(gòu)成的無線網(wǎng)絡(luò),以協(xié)作的方式感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋地理區(qū)域內(nèi)被感知對象的信息,并最終把這些信息發(fā)送給網(wǎng)絡(luò)所有者。無線傳感器網(wǎng)絡(luò)主要實現(xiàn)了數(shù)據(jù)的采集、處理和傳輸三種功能。
傳感器網(wǎng)絡(luò)節(jié)點一般受到工作環(huán)境的影響,功耗問題是要首先考慮的??紤]到低功耗要求的設(shè)計,節(jié)點設(shè)備的主控MCU選擇CC430F5137,利用它內(nèi)置的射頻通信模塊進(jìn)行射頻通信。由于其低功耗的特點可采用電池供電。軟件部分利用CC1101的無線喚醒功能,能史好地降低系統(tǒng)功耗。
無線傳感器網(wǎng)絡(luò)中可以掛接多個節(jié)點設(shè)備,而每個節(jié)點設(shè)備的地址必須唯一。本文設(shè)計的節(jié)點設(shè)備采用撥碼開關(guān)來設(shè)置每個節(jié)點設(shè)備的地址,確保每個節(jié)點都有一個唯一的地址。通過SPI接口或I2C總線接入傳感器器件,可以靈活地接入不同型號的傳感器器件,以達(dá)到測試不同物理量的要求。節(jié)點的系統(tǒng)結(jié)構(gòu)如圖1所示。
2 節(jié)點硬件設(shè)計
2.1 節(jié)點電路總體設(shè)計
CC430F5137的供電電壓范圍為1.8~3.6 V,選程度用兩節(jié)7號電池來提供3 V的直流電壓。配合軟件的設(shè)置可以最大程度地降低功耗。系統(tǒng)的關(guān)鍵部分是射頻發(fā)送利用一個射頻的天線模塊,可以保證射頻通信的穩(wěn)定性,此無線模塊由芯片的RF_N和RF_P兩個引腳接入。另外根據(jù)射頻發(fā)送的需要,接入一個26 MHz晶振。
CC430F5137的P1.5、P1.6、P1.7引腳可以用于串口通信和SPI通信,使用這三個引腳作為串口調(diào)試,另外P1.1、P1.2、P1.3引腳可以用于SPI和I2C總線通信,這三個接口用來預(yù)留連接傳感器的芯片。系統(tǒng)的主電路圖如圖2所示。
2.2 地址設(shè)定電路
為了使每個節(jié)點的地址唯一,采用8位的撥碼開關(guān)SW進(jìn)行地址設(shè)定。如圖3所示,可以由撥碼開關(guān)來設(shè)定終端節(jié)點的地址,可以設(shè)定255個不同的地址,每一個終端節(jié)點作為從設(shè)備向中繼節(jié)點發(fā)送數(shù)據(jù),然后由中繼節(jié)點發(fā)送到用于網(wǎng)絡(luò)管理的主控MCU,完成無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的傳送。
3 節(jié)點軟件設(shè)計
3.1 程序主流程
在節(jié)點系統(tǒng)軟件的設(shè)計過程中,對幾個重要寄存器進(jìn)行配置,主要進(jìn)行配置的寄存器有載波頻率寄存器、數(shù)據(jù)速率寄存器、載波監(jiān)聽設(shè)置絕對閾值寄存器、射頻發(fā)送和接收的數(shù)據(jù)包長度寄存器和地址檢測開啟寄存器。其他的寄存器配置可以參照TI公司提供的SmartRF Studio
軟件,它是專門用于配置射頻通信相關(guān)的寄存器,本設(shè)計中采用SmartRF Studio 7對CC430F5137的寄存器進(jìn)行配置。配置射頻發(fā)送的載波頻率為433 MHz,通信的數(shù)據(jù)速率為2.4 kbps,并且使能地址檢測功能,每一個節(jié)點部有唯一的地址。當(dāng)節(jié)點接收到的數(shù)據(jù)包中沒有和自身地址相匹配的內(nèi)容,則節(jié)點設(shè)備就不會接收該數(shù)據(jù)包,不對其作處理。只有發(fā)送來的數(shù)據(jù)包與節(jié)點地址相對應(yīng)時,節(jié)點才能接收并處理數(shù)據(jù),這就有效地防止了中繼器節(jié)點向不同的節(jié)點發(fā)送數(shù)據(jù)時會被多個節(jié)點收,可以有效地傳送數(shù)據(jù)。圖4為整個程序的主流程圖。
當(dāng)系統(tǒng)一上電,則會做相應(yīng)的初始化操作,比如串口、I2C總線,并對射頻模塊的各個寄存器進(jìn)行配置,初始化功率放大表等。
系統(tǒng)初始化完畢后,系統(tǒng)會向中繼器節(jié)點主動發(fā)起連接請求,把自己的節(jié)點地址告訴中繼器節(jié)點,為以后的中繼器節(jié)點和終端節(jié)點之間的數(shù)據(jù)傳送做準(zhǔn)備。發(fā)送完請求連接后,節(jié)點會等待中繼器節(jié)點的應(yīng)答,如果沒有應(yīng)答,節(jié)點會繼續(xù)請求連接,直到收到應(yīng)答后再進(jìn)行下一步的處理。
3.2 無線喚醒功能
為了更好地降低系統(tǒng)能量消耗,采用CC1101的無線模塊喚醒功能(WOR),當(dāng)系統(tǒng)請求連接成功后,就會進(jìn)入無線喚醒模式,此時系統(tǒng)處于睡眠狀態(tài)。在此模式下功耗極低,可達(dá)到2.0μA。射頻內(nèi)核可以通過軟件編程設(shè)置每隔一段時間喚醒,醒來后系統(tǒng)處于射頻接收狀態(tài),如果這時檢測到有數(shù)據(jù)包發(fā)送過來,那么系統(tǒng)就會退出無線喚醒狀態(tài),轉(zhuǎn)入正常的狀態(tài)去處理接收到的數(shù)據(jù)包。如果沒有檢測到數(shù)據(jù)包,系統(tǒng)則會繼續(xù)睡眠然后再重復(fù)地醒來檢測,這樣就保證了在不需要數(shù)據(jù)傳送的情況下,最大限度地節(jié)約能量消耗。圖5為系統(tǒng)處于無線喚醒狀態(tài)的程序流程圖。
3.3 射頻發(fā)送函數(shù)的改進(jìn)
CC430F5137內(nèi)嵌的射頻模塊具有空閑信道評估(CCA)功能,當(dāng)開啟空閑信道評估功能時,只有在信道空閑的時候才能進(jìn)入發(fā)送狀態(tài),如果檢測到信道忙,則會一直保持在接收狀態(tài)。
為了確保本節(jié)點向中繼器節(jié)點發(fā)送數(shù)據(jù)的準(zhǔn)確性,以及提高多個中斷節(jié)點同時向中繼器節(jié)點發(fā)送數(shù)據(jù)時的抗干擾性,采用射頻模塊的載波監(jiān)聽功能,并結(jié)合使用空閑信道評估功能改進(jìn)了射頻發(fā)送函數(shù)。改進(jìn)后的發(fā)送函數(shù)如下:
4 實驗驗證與分析
根據(jù)設(shè)計的電路圖,制成電路板后,燒入編寫好的測試程序。為了方便驗證,實驗時采用直流電源供電,為電路板提供3.0 V電壓,然后把萬用表串聯(lián)接入,分別測量休眠、接收和發(fā)送三種狀態(tài)下的電流消耗。表1是測試結(jié)果。
由表1可以看出,系統(tǒng)在休眠狀態(tài)下的電流消耗僅為2.3μA,由于發(fā)送數(shù)據(jù)量的不同,發(fā)送狀態(tài)下的電流消耗會因為數(shù)據(jù)包的長度而不同,發(fā)送數(shù)據(jù)包越大,電流消耗越大。CC430F5137在最大輸出功率時,433 MHz下最大的電流消耗是30 mA。系統(tǒng)從睡眠狀態(tài)轉(zhuǎn)入接收狀態(tài)時的電流消耗為15 mA,從實驗結(jié)果可以看出,采用無線模塊喚醒功能可以有效地降低系統(tǒng)功耗。
結(jié)語
本文利用TI公司的CC430F5137芯片,采用射頻通信技術(shù)設(shè)計的無線數(shù)據(jù)采集節(jié)點,這種設(shè)計可以大大地減小系統(tǒng)的體積。本系統(tǒng)可以采集各種各樣的信號,能將采集到的數(shù)據(jù)安全穩(wěn)定地傳送到中間數(shù)據(jù)采集點。設(shè)計中載波監(jiān)聽功能和信道空閑評估功能改進(jìn)的射頻發(fā)送函數(shù),可以有效地提高多個節(jié)點同時發(fā)送數(shù)據(jù)時的抗干擾性。