無線傳感器網絡是由大量微型傳感器節點通過無線自組織方式構成的網絡。它集成了傳感器、微機電和無線通信三大技術,能夠實時地感知、采集和處理網絡覆蓋范圍內的對象信息,并發送給觀察者;具有覆蓋區域廣、可遠程監控、監測精度高、布網快速和成本低等優點,在軍事、環保、醫療保健、空間探索、工業監控、精細農業等領域均有非常良好的應用前景。
1、無線傳感器網絡結構
如圖1所示,無線傳感器網絡系統通常包括若干傳感器終端節點、一個Sink節點和一套后臺監控軟件。其中,傳感器終端節點具有本地數據采集傳輸和轉發鄰節點數據的雙重功能,可以在后臺管理軟件和Sink節點的控制下采集數據,并將數據經過多跳路由傳輸到Sink節點;Sink匯聚節點是網絡的中心,具有協調器和網關的作用,負責網絡的配置、管理和數據的匯集,并負責與用戶PC機后臺管理軟件的通信。
2、系統硬件設計
無線傳感器網絡終端節點的硬件一般包括處理單元、無線傳輸單元、傳感采集單元和電源供應單元。其中,處理單元負責控制傳感器節點的操作以及數據的存儲和處理;傳感采集單元負責監測區域內信息的采集;無線傳輸單元負責節點間的無線通信;電源供應單元負責為節點供電。Sink節點功能更多,除包含上述功能單元以外,還包含與后臺監控通信的接口單元。本文用串口作為Sink節點與后臺監控軟件的通信接口。
本設計中處理單元采用了TI公司的16位低功耗單片機MSP430F1611,無線傳輸單元采用低功耗無線收發模塊CC1100,傳感采集單元采用溫濕度傳感器DHT90,電源模塊采用兩節普通7號電池。此外,考慮到很多數據具有時間相關性,本設計還加入了實時時鐘DS1337構成的時間控制單元。節點組成如圖2所示,節點實物圖如圖3所示。
2.1 處理單元
MSP430F1611突出的特點是可以實現極低的功耗。它有5種可編程的工作模式,其中活動模式下工作電流僅需280μA,LPM4模式下僅需0.1 μA。MSP30F1611內部具有44 KB的Flash存儲器和10 KB的RAM,以及豐富的外設。本文中,MSP430F1611使用I2C接口連接RTC,SPI接口連接無線收發模塊,UART接口連接串口通信單元。
2.2 無線收發單元
無線收發單元選用Chipcon公司的CC1100射頻芯片。該芯片體積小,功耗低,數據速率支持1.2~500 kbps的可編程控制,可以工作在915 MHz、868 MHz、433MHz、315 MHz四個波段,在所有頻段提供-30~10 dBm輸出功率。本文中CC1100工作在433 MHz的頻率上,采用FSK調制方式,數據速率為100 kbps,信道間隔為200kHz。
CC1100與單片機采用SPI接口連接,原理圖如圖4所示。SPI總線接口技術是一種高速、高效率的串行接口技術,主要用于擴展外設和進行數據交換。
下面是利用SPI與MSP430F1611通信的示例代碼。
(1) 往CC1100指定寄存器寫入一個數值
(2) 讀單個寄存器值
圖5和圖6為利用CC1100進行數據收發的流程圖。
2.3 數據采集單元
節點的數據采集單元可以根據實際需要和被監測物理信號特征選擇合適的傳感器,如光照、壓力、振動、溫度、濕度、土壤鹽堿度等。
本文數據采集單元采用了Sensirion公司的數字式溫濕度傳感器DHT90。DHT90集成了溫度/濕度傳感器、信號放大調理器、A/D轉換器和總線接口,能夠進行全校準數字輸出,可以直接提供溫度在-40℃~120℃范圍內、分辨率為14位、濕度在0~100%RH范圍內且分辨率為12位的數字輸出。
2.4 時間控制單元
時間控制單元用于設置、記錄數據采集的時間,以便后臺用戶能夠依靠采集時間對數據進行處理。本文選用Maxim公司的串行實時時鐘芯片DS1337作為時間控制單元。DS1337可以工作在1.8~5.5 V,并且具有很低的功耗,在休眠模式下僅需要15 μA。
2.5電源供應單元
本文采用兩節7號堿性南孚電池為整個節點供電。為了能夠及時獲取節點電池的電量狀況,并根據電池的剩余電量狀況和放電特性來調整節點的通信狀態,本文利用MSP430F1611芯片內部集成的ADC12模塊測量電源正極電平值,并通過將所測電平值與參考電平進行比較,得到轉換數據NADC,最后電源的電壓Vin可以由下式得出:
式中:VR+為參考電壓正極,VR-為參考電壓負極,Vin為ADC12轉換得到的電壓值,NADC為單片機轉換寄存器值。
2.6 串口通信單元
網絡中只有Sink節點才包含串口通信單元,終端節點無需串口通信單元。Sink節點的處理單元MSP430F1611通過串口通信單元與后臺監控主機通信。Sink節點通過串口通信模塊可以將自身收集的全網信息數據傳送給后臺監控主機,研究人員根據監控軟件對收集數據的智能處理結果向傳感器網絡發布數據和命令。
3、協議軟件設計
3.1 拓撲結構
制定網絡協議首先要確定的是網絡的拓撲結構。本文所設計的無線傳感器網絡協議采用簇-樹(cluster-tree)拓撲。簇-樹拓撲是由網絡協調器(coordinator)展開生成樹狀的拓撲結構,適合于節點靜止或者移動較少的場合;不需要存儲路由表,具有路由算法復雜度低、無初始延時等優點。
3.2 通信協議棧
無線通信協議的設計目的是使具體的通信機制與上層的應用分離,為傳感器節點提供網絡通信的功能。為了降低網絡設計的復雜性,采用分層設計,參考OSI模型,將整個協議分為4層:物理層,提供簡單但健壯的信號調制和無線收發技術;MAC層,負責數據成幀、幀檢測、媒體訪問和差錯控制;網絡層,主要負責路由生成和路由選擇;應用層,包括一系列基于監測任務的應用層軟件。系統通信協議構架如圖7所示。
整個系統協議設計包括Sink節點協議設計和終端節點協議設計。由于篇幅有限,本文僅介紹終端節點的軟件協議和系統主程序。
如圖8所示,終端節點在初始化成功后進入信道掃描偵聽狀態,當偵聽到有鄰居節點活動時便向鄰居節點請求時標幀;節點依據接收到的時標幀同步自己的時鐘,節點時鐘同步后進入接入狀態,接人成功后節點進入業務狀態。處于業務狀態的節點,執行后臺和Sink節點發布的命令,進行數據的傳感采集與傳輸,以及對鄰節點數據的中繼轉發。節點為了實現低功耗,必須在業務狀態與休眠狀態之間進行輪換。
4、系統節能問題
在整個網絡系統的設計中,節約能量一直是考慮的重中之重。系統的節能,一靠硬件系統本身的低功耗,二靠軟件協議的低功耗。在硬件方面,本文節點選擇的都是低功耗的芯片,布板也充分考慮了低功耗要求;在軟件方面,除了采用休眠機制以外,還采用了基于電池能量模型的路由協議,使得節點能夠根據電池能量特性來工作,從而延長了電池的使用壽命。
結語
本文主要介紹了一種基于MSP430F1611單片機和CC1100無線收發模塊,能夠實現精確采集環境溫濕度信息的無線傳感器網絡硬件設計和軟件設計方案。在實際組網測試中,筆者構建了19個終端節點和1個Sink節點的演示系統,節點每休眠兩個小時醒來一次,節點醒來之后采集數據并發送給觀察者。實驗表明,采用這種方式構建的無線傳感器網絡系統數據采集及時準確,而且能以極低的功耗進行工作。