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