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