基于CC2430的無線傳感器網(wǎng)絡(luò)系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機看文章
當(dāng)今世界通信技術(shù)迅猛發(fā)展,隨著微機電系統(tǒng)、片上系統(tǒng)、無線通信和低功耗嵌入式技術(shù)的飛速發(fā)展,孕育出無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN),并以其低功耗、低成本、分布式和自組織的特點帶來了信息感知行業(yè)的一場變革?;诖?,設(shè)計實現(xiàn)了一種以CC24 30為核心的無線傳感器網(wǎng)絡(luò)。其中,傳感器模塊包括有溫濕度傳感器SHTll、紅外傳感器BS520、光照度傳感器PGM5506。
1 無線傳感器網(wǎng)絡(luò)系統(tǒng)總體結(jié)構(gòu)
無線傳感器網(wǎng)絡(luò)是對周圍環(huán)境的溫度、濕度、光、加速度等信息進行監(jiān)控和管理的技術(shù)。這種無線傳感器節(jié)點中內(nèi)置了傳感器、傳感器控制電路、CPU、無線通信模塊、天線、電源裝置等,通過Ad-Hoc通信技術(shù),可以與周圍的傳感器節(jié)點一起把數(shù)據(jù)傳輸?shù)絽R聚節(jié)點。本文介紹的無線傳感器網(wǎng)絡(luò)由一個匯聚節(jié)點和多個傳感器節(jié)點組成,通過匯聚節(jié)點上傳到遠(yuǎn)程主機。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
2 硬件電路的設(shè)計
CC2430是Chipcon公司推出的用來實現(xiàn)嵌入式ZigBee應(yīng)用的片上系統(tǒng)。CC2430只需要很少的外接元件就可以運行,其內(nèi)部已集成了大量必要的電路,因此采用較少的外圍電路即實現(xiàn)信號的收發(fā)功能。圖2為CC2430基本電路設(shè)計。
圖2中C1,C2為22pF的電容,連接32 MHz的晶振電路,此石英晶振用于正常工作使用。C3,C4為15 pF的電容,連接32.768 kHz的晶振電路,此石英晶振用于休眠時工作,從而降低功耗。C5=O.1μF,用于去除一些雜波干擾,防止單片機錯誤復(fù)位。C6~C8分別為100 nF,220n F,220 nF,用作濾波,去除雜波干擾使電壓更穩(wěn)定。C9=5.6 pF,電路中非平衡變壓器由電容C9和電感L1,L2,L3以及一個PCB微波傳輸線組成,整個結(jié)構(gòu)滿足RF輸入/輸出匹配電阻(50 Ω)的要求,L1,L2,L3分別為8.2 nH,22 nH,1.8 nH。C10,C11,C12,C13,C14為去耦合電容,用于電源濾波,以提高芯片工作的穩(wěn)定性。偏置電阻器R1,R2分別為43 kΩ,56 kΩ,R1用于為32 MHz晶體振蕩器設(shè)置精密偏置電流。
由于CC2430芯片具有低功耗的特性,選用2節(jié)2 800 mAh的干電池為節(jié)點機供電。天線選用外置天線。
CC2430與溫濕度傳感器SHTll,光照度傳感器PGM5506,紅外傳感器BS520連接原理圖如圖3所示,其中P0.O,P0.1,P0.6,P1.2和P1.3為CC2430的I/O端口。
SHTll采用兩線串行線和處理器進行數(shù)據(jù)通信,SCK數(shù)據(jù)線負(fù)責(zé)處理器和SHTll的通訊同步;DATA三態(tài)門用于數(shù)據(jù)的讀取。為避免信號沖突,微處理器應(yīng)驅(qū)動DATA在低電平。需要一個外部的上拉電阻將信號提拉至高電平,圖3顯示CC2430的引腳P1.2用于SCK,P1.3用于DATA。
光照度傳感器PGM5506實際就是一個光敏電阻,隨著周邊環(huán)境的光量而改變電阻值,從而輸入3 V電壓受到隨著光量而變化的光敏電阻的影響,因而輸出電壓值改變。在測定輸出電壓值的LIGHTOUT中,可以根據(jù)變化的電壓量感知光量。圖3顯示CC2430的引腳P0.0連接LIGHT OUT。紅外傳感器BS520,隨著紅外線的強弱輸出A/D也變化,因此CC2430處理器可以根據(jù)輸入的電流變化量來測定紅外線值。圖3顯示CC2430的引腳PO.1連接INFRARED ADC。
3 網(wǎng)絡(luò)節(jié)點軟件的設(shè)計
網(wǎng)絡(luò)節(jié)點的軟件包括傳感器的數(shù)據(jù)采集及無線通信。數(shù)據(jù)采集包括溫濕度傳感器、光照度傳感器、紅外傳感器,由于光照度傳感器、紅外傳感器數(shù)據(jù)的采集就是直接將輸入的模擬量轉(zhuǎn)化為數(shù)字量,軟件設(shè)計相對簡單,下面只以溫濕度傳感器SHTll為例介紹數(shù)據(jù)采集軟件。無線通訊采用ZigBee技術(shù)將采集到的數(shù)據(jù)發(fā)送給協(xié)調(diào)器以及協(xié)調(diào)器接收數(shù)據(jù)。
3.1 溫濕度數(shù)據(jù)采集模塊
溫濕度傳感器SHTll采用串行接口,但是在傳感器信號的讀取及電源損耗方面,都做了優(yōu)化處理。SCK用于CC2430與SHTll之間的通訊同步,DATA雙向串行通信線可寫命令和讀數(shù)據(jù)??刂屏鞒虉D如圖4所示。首先進行數(shù)據(jù)傳輸?shù)某跏蓟?,然后發(fā)送一組測量命令。SHTll接收命令測量數(shù)據(jù)后處理器來讀取數(shù)據(jù)。
3.2 無線通信模塊
ZigBee網(wǎng)絡(luò)支持三種拓?fù)浣Y(jié)構(gòu),即星狀、樹狀和網(wǎng)狀拓?fù)?。本系統(tǒng)采用的協(xié)議棧為TI協(xié)議棧。對協(xié)議棧進行了適當(dāng)?shù)男薷暮驮鰷p以適應(yīng)硬件電路的實際應(yīng)用,組成樹狀傳感器網(wǎng)絡(luò)。
網(wǎng)絡(luò)協(xié)調(diào)器程序流程圖如圖5所示,首先初始化CC2430,之后初始化協(xié)議棧,然后創(chuàng)建一個新網(wǎng)絡(luò),并確定PANID與頻道選擇。打開全局中斷之后程序開始進入應(yīng)用程序,監(jiān)測空氣中有無ZigBee信號,如果有節(jié)點申請加入網(wǎng)絡(luò),網(wǎng)絡(luò)協(xié)調(diào)器給節(jié)點分配網(wǎng)絡(luò)地址。同樣如果終端設(shè)備發(fā)送來的是傳感器測試數(shù)據(jù)值,并從串口發(fā)送給遠(yuǎn)程主機。
傳感器節(jié)點程序流程圖如圖6所示,程序同樣首先初始化CC2430,之后初始化協(xié)議棧,并打開全局中斷。開始發(fā)送加入網(wǎng)絡(luò)信號,等待協(xié)調(diào)器響應(yīng),如果加入網(wǎng)絡(luò)成功,傳感器進入休眠狀態(tài),如果不成功就繼續(xù)申請加入網(wǎng)絡(luò)。加入網(wǎng)絡(luò)成功之后,溫濕度采集節(jié)點就定時采集數(shù)據(jù)并向協(xié)調(diào)器發(fā)送,如果發(fā)送成功,系統(tǒng)進入休眠狀態(tài),如果發(fā)送失敗,繼續(xù)發(fā)送當(dāng)前溫度值。
4 實驗結(jié)果
系統(tǒng)的各個節(jié)點硬件采用模塊化設(shè)計,CC2430底板模塊實物如圖7所示,傳感器模塊如圖8所示。在天氣晴朗空曠的地方,測得ZigBee節(jié)點之間的傳輸距離能達到50~70 m,工作在室內(nèi)條件下有效傳輸距離能達到30 m左右。通過主機上的串口收發(fā)軟件監(jiān)視采集到的實時溫度信息,能夠很好地實現(xiàn)溫度信息的讀取。監(jiān)視到的溫度如圖9所示。
5 結(jié)語
通過對無線傳感器網(wǎng)絡(luò)系統(tǒng)的設(shè)計和對CC2430的了解,ZigBee技術(shù)未來的應(yīng)用前景被看好。未來的幾年里,它將在工業(yè)控制、汽車自動化、樓宇自動化、消費電子等多個領(lǐng)域?qū)崿F(xiàn)應(yīng)用。