基于CC2530無線傳感網(wǎng)絡(luò)系統(tǒng)的設(shè)計
掃描二維碼
隨時隨地手機看文章
摘要:提出一種基于ZigBee協(xié)議的用于測量溫度的無線傳感器網(wǎng)絡(luò)方案,方案中使用CC2530無線芯片和溫度傳感器DS18820搭建了一個基于ZigBee協(xié)議棧的無線傳感器網(wǎng)絡(luò)。該網(wǎng)絡(luò)由一個協(xié)調(diào)器充當中心節(jié)點和若干個終端節(jié)點一起,構(gòu)成一個星型網(wǎng)絡(luò),給出了傳感器節(jié)點、協(xié)調(diào)器節(jié)點的硬件設(shè)計原理圖及軟件流程圖。實驗證明節(jié)點性能良好、通信可靠,通信距離明顯增大。
關(guān)鍵字:無線傳感網(wǎng)絡(luò):ZigBee;CC2530;DS18B20
0 引言
無線傳感器網(wǎng)絡(luò)就是由安放在監(jiān)測區(qū)域內(nèi)大量廉價微型傳感器節(jié)點,通過無線通信方式形成的一個自組織網(wǎng)絡(luò),該網(wǎng)絡(luò)應(yīng)用前景廣闊。Z igBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通信技術(shù),可用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時間數(shù)據(jù)傳輸?shù)膽?yīng)用。
1 系統(tǒng)硬件組成與設(shè)計
本文設(shè)計的無線溫度傳感網(wǎng)絡(luò)是由若干個ZigBee終端節(jié)點和一個ZigBee中心節(jié)點(協(xié)調(diào)器)組成,搭建成一個星型無線傳感器網(wǎng)絡(luò),由終端節(jié)點上的溫度傳感器采集環(huán)境溫度信息,協(xié)調(diào)器中心節(jié)點將接收到的信息及時反饋到計算機上,整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.1 微處理器和溫度傳感器
CC2530單片機是一款完全兼容8051內(nèi)核,同時支持IEEE 802.15.4協(xié)議的2.4 GHz無線射頻單片機。最大擁有256 KB的可編程FLASH容量,12個10位精度的A/D轉(zhuǎn)換通道,21個雙向的I/O端口,該款單片機能滿足Z-Stack運行內(nèi)存容量的要求。本文選用DS18B20作為溫度傳感器,能提供9位溫度讀數(shù)、設(shè)置溫度上下限報警值。
1.2 終端節(jié)點硬件組成
無線傳感網(wǎng)絡(luò)節(jié)點是一個微型化的嵌入式系統(tǒng),構(gòu)成無線傳感網(wǎng)絡(luò)的基礎(chǔ)支持平臺。本文設(shè)計的無線傳感網(wǎng)絡(luò)終端節(jié)點硬件組成如圖1所示,主要由CC2530F256片上系統(tǒng)收發(fā)射模塊,電源模塊,下載接口模塊(同時兼顧仿真接口),傳感器模塊,發(fā)光二極管顯示模塊和獨立
按鍵模塊等組成。
電源模塊由自鎖開關(guān)、外部電池接口插針、輸出電壓為3.3 V的AMS1117穩(wěn)壓芯片、若干阻容元件組成。本文的調(diào)試系統(tǒng)終端節(jié)點選用3.6 V大容量充電電池,程序下載為JTAG接口。
傳感器模塊為三位插座接口,分別連接溫度傳感器電源、數(shù)據(jù)和接地管腳。數(shù)據(jù)接口和電源接口直接連接一個5 kΩ的上拉電阻。因為本傳感器終端采用傳感器直接插入方式,線路短,上拉電阻可不用接,如果要測量監(jiān)控環(huán)境惡劣,可用長導(dǎo)線連接傳感器和終端模塊,使發(fā)射模塊處于較良好穩(wěn)定的工作環(huán)境,使處理器正常工作、延長芯片壽命,此時要接上上拉電阻。
發(fā)光二極管顯示模塊由發(fā)光二極管和分壓電阻組成,用于顯示程序的運行狀態(tài)。
獨立按鍵模塊,為四角按鍵,模塊帶上拉電阻,按鍵與發(fā)射模塊靈活連接。本終端模塊中包含兩路獨立按鍵電路,一路用于復(fù)位,一路用于程序調(diào)試。
1.3 協(xié)調(diào)器節(jié)點的硬件組成
本文設(shè)計的無線傳感網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點硬件組成如圖2所示,主要由CC2530發(fā)射系統(tǒng)、電源、下載接口、LCD液晶屏顯示、發(fā)光二極管顯示、獨立按鍵五向?qū)Ш胶蚏S 232串口等模塊等組成。
協(xié)調(diào)器的電源模塊與終端節(jié)點的基本相同,但因協(xié)調(diào)器要根據(jù)需要不停地查詢網(wǎng)絡(luò)中的信息,因此要外接穩(wěn)定的電源,在終端的電源模塊基礎(chǔ)上增加了外部穩(wěn)壓源接口。協(xié)調(diào)器的下載接口、發(fā)光二極管顯示和獨立按鍵等模塊原理圖與終端節(jié)點一樣,只是LED燈為4只,獨立按鍵增加了3只。
LCD液晶模塊,為128x64點陣的液晶,數(shù)據(jù)傳輸模式采用SPI總線傳輸。
RS 232串口模塊是連接單片機與計算機的通信接口,把協(xié)調(diào)器從終端節(jié)點返回的傳感器ID、實時溫度、溫度閾值等信息傳輸?shù)接嬎銠C,由上位機監(jiān)控軟件顯示、分析、存儲。
五向?qū)Ш桨存I采用A/D讀取模式,有上下左右中間五個方向的鍵值,原理圖如圖3所示。
2 軟件設(shè)計與實現(xiàn)
2.1 協(xié)調(diào)器節(jié)點程序
在網(wǎng)絡(luò)中,每個節(jié)點都有一個64位的物理長地址和一個16位的短地址,短地址用于本網(wǎng)絡(luò)的設(shè)備通信,而長地址則可以與本網(wǎng)絡(luò)之外的其他網(wǎng)絡(luò)進行通信。數(shù)據(jù)傳送采用主從節(jié)點方式,與計算機相連作為主節(jié)點(協(xié)調(diào)器),其他節(jié)點作為從節(jié)點(終端節(jié)點),從節(jié)點可以向主節(jié)點發(fā)送中斷請求。
協(xié)調(diào)器端程序流程如圖4所示,協(xié)調(diào)器上電后,首先進行設(shè)備初始化,包括硬件電路初始化,寄存器初始化,協(xié)議棧初始化,操作系統(tǒng)初始化。然后進入到執(zhí)行操作系統(tǒng),進入無限循環(huán)的任務(wù)執(zhí)行程序中。
終端程序的大體流程,終端的初始化過程和協(xié)調(diào)器類似。首先判斷節(jié)點是否加入一個網(wǎng)絡(luò),如果是,則可以發(fā)送所采集的信息。如果沒有加入網(wǎng)絡(luò),則判斷是否作為老節(jié)點加入網(wǎng)絡(luò),如果作為老節(jié)點加入網(wǎng)絡(luò),則終端節(jié)點通過保留以前加入網(wǎng)絡(luò)的地址來加入網(wǎng)絡(luò)。如果作為新的節(jié)點加入網(wǎng)絡(luò),則需要掃描網(wǎng)絡(luò),然后加入其中最優(yōu)秀的一個網(wǎng)絡(luò)。
2.2 組網(wǎng)
組網(wǎng)的過程主要如下:
(1)協(xié)調(diào)器首先上電,完成網(wǎng)絡(luò)的初始化,選擇一個合適的信道,并且為自己的網(wǎng)絡(luò)選擇一個PAN_ID(網(wǎng)絡(luò)標識符),然后周期的向周圍發(fā)送beacon request的數(shù)據(jù)包。
(2)再將終端節(jié)點上電,終端節(jié)點會首先向周圍的環(huán)境做一個信道能量掃描選擇一個能量比較合適的信道進行網(wǎng)絡(luò)搜尋。
(3)當協(xié)調(diào)器接收到終端節(jié)點的beacon request數(shù)據(jù)包之后會發(fā)送一個包含自己IEEE MAC地址的超幀。
(4)終端節(jié)點接收到超幀之后,將協(xié)調(diào)器的MAC地址保存,并利用這個地址向協(xié)調(diào)器發(fā)送一個Association Request的數(shù)據(jù)包,此包目的是尋求加入網(wǎng)絡(luò)。
(5)當協(xié)調(diào)器接收到Data Request之后,首先經(jīng)過NWK層的算法為其分配一個惟一的網(wǎng)絡(luò)短地址,然后向終端節(jié)點發(fā)送一個包含其網(wǎng)絡(luò)短地址的包,這個包是通過MAC地址發(fā)送的。
(6)當終端節(jié)點接收到這個包之后,配置自己的短地址為0xXXXX,此時可用這個短地址和協(xié)調(diào)器進行應(yīng)用層的通信,至此終端節(jié)點已經(jīng)成功加入到網(wǎng)絡(luò)。
2.3 數(shù)據(jù)傳輸
本研究采用了直接尋址(通用單播),用于設(shè)備間的通信。設(shè)備直接尋址必須知道接收方的短地址或者長地址。
當節(jié)點接收到一個單播的消息,其APS層就會激活A(yù)PSDE_DATA_indication原語處理消息。如果接收到的是一個確認幀,則APS層應(yīng)該發(fā)送APSDE_DATA。
Indication原語來接收命令,然后將溫度信息通過APSDE-DATA.request原語發(fā)送回協(xié)調(diào)器,協(xié)調(diào)器同樣通過APSDE-DATA.indication原語來接收信息。如圖5所示。
3 系統(tǒng)測試
對網(wǎng)絡(luò)的測試,主要集中于兩個方面:功能測試,如組網(wǎng),點對點的通信,系統(tǒng)整體測試等;靜態(tài)測試,如節(jié)點的性能指標,程序的實現(xiàn)和數(shù)據(jù)收發(fā)的正確率等。
3.1 功能測試
首先將協(xié)調(diào)器程序燒入一個節(jié)點作為協(xié)調(diào)器;將傳感節(jié)點程序燒入幾個節(jié)點作為傳感器終端。經(jīng)系統(tǒng)測試,所有終端都能加入網(wǎng)絡(luò),并能進行正常的數(shù)據(jù)收發(fā),功能測試顯示系統(tǒng)完好。
3.2 節(jié)點測試
3.2.1 無障礙傳輸距離測試
測試在室外空曠的環(huán)境下進行,打開協(xié)調(diào)器,建立無線網(wǎng)絡(luò)后,再打開一個終端節(jié)點設(shè)備,此設(shè)備作為溫度和電壓信息的參考節(jié)點。最后打開另一個終端節(jié)點,對該節(jié)點加以移動,分別選取5個測試距離,測試移動中該節(jié)點數(shù)據(jù)接收效果,數(shù)據(jù)由計算機保存記錄,測試完畢統(tǒng)計分析數(shù)據(jù)。結(jié)果見表1。
3.2.2 有障礙傳輸距離測試
測試在室內(nèi)隔墻的環(huán)境下進行測試,步驟與無障礙傳輸距離測試方法一樣。打開協(xié)調(diào)器,建立無線網(wǎng)絡(luò)后,在協(xié)調(diào)器一旁打開一個終端節(jié)點設(shè)備,此設(shè)備作為溫度和電壓信息的參考節(jié)點。最后打開另一個終端節(jié)點,對該節(jié)點加以移動,分別選取5個測試距離,測試移動中該節(jié)點數(shù)據(jù)接收效果,數(shù)據(jù)由上位機軟件保存記錄,測試完畢統(tǒng)計分析數(shù)據(jù),如表1所示。
在進行無障礙傳輸距離測試和障礙傳輸距離測試,在有墻相隔的時候信號不強,這與天線設(shè)計有關(guān),本文終端設(shè)備的天線為PCB天線,如果使用帶桿狀天氣的射頻模塊,接收效果就能夠更好。
4 結(jié)論
隨著計算成本的下降以及微處理器體積越來越小,無線傳感器網(wǎng)絡(luò)開始投入使用,如環(huán)境的監(jiān)測和保護、醫(yī)療護理、目標跟蹤,本文所采用的基于CC2530無線傳感網(wǎng)絡(luò)系統(tǒng)設(shè)計方案不失為一種較為高效、節(jié)能、抗干擾能力強的廉價組網(wǎng)方案。提高該無線網(wǎng)絡(luò)的傳輸距離、增強網(wǎng)絡(luò)的自愈能力,提高ZigBee和Wi—Fi及其他2.4 GHz系統(tǒng)的共存時的互不干擾能力,將該方案推向工業(yè)現(xiàn)場是今后研究的重點。