基于ZigBee協議的溫濕度監測系統設計與實現
環境溫濕度是影響工農業生產的重要因素,而傳統的溫濕監測系統多以人為主體,不僅費時費力,且在某些監測系統中,危險系數也較高。近年來,通過無線傳感器網絡對工農業生產環境實時地監測、監控已成為行業研究的熱點。由于采用了無線網絡,使得數據采集系統的設計更加安全、可靠和智能化。ZigBee作為一種低功耗、低成本、易于開發和應用的無線通信技術,被廣泛應用于無線數據采集系統的設計中。但實際應用中,基于ZigBee的數據采集系統仍不同程度的面臨以下問題:傳輸距離短;可擴展性差,若終端節點增加其他用途的測量傳感器,多需重新設計連接電路;為增加傳輸距離而引入的射頻前端占用主控芯片的引腳資源等。
本文引用地址:http://www.104case.com/article/201610/308910.htm為實現對工農業生產環境中的溫濕度進行實時、準確地監測,及時為生產策略的調整提供更多、更具價值的數據分析依據,文中設計了以CC2530和RFX2401C為射頻單元、SHT 71為傳感節點的ZigBee監測網絡。
1 系統設計
該監測系統主要由一個直接與上位機相連的ZigBee協調器,兩個SHT71傳感器數據采集節點組成。為實現ZigBee數據采集網絡,分別進行系統的軟硬件設計:系統硬件主要負責采集周圍環境的溫濕度數據信息;系統軟件則負責數據信息的傳遞與處理等功能。
2 系統硬件設計
協調器和傳感器終端節點的核心為CC2530F256芯片。CC2530F256是TI公司生產的一款片上系統(System On a Chip,SOC)解決方案,應用于2.4 GHz頻段,支持IEEE802.1 5.4、ZigBee和RF4CE。該芯片結合了領先的RF(Radio Frequency,RF)收發器的優良性能、工業增強型8051 MCU內核、系統內256 kB可編程閃存Flash、8 kB RAM、支持CSMA/CA功能、多種工作模式以滿足低功耗系統的需求。CC2530芯片系列尺寸更小,價格普遍低于CC2430/CC2431芯片,傳輸距離更遠,支持目前普遍使用的ZigBee-2007/PRO協議。Zig Bee 2007/PRO相對于以前的協議棧具有更好的互操作性、節點密度管理、數據負荷管理、支持網狀網絡等特點。同時,與CC2430相比,CC2530片上通用I/O口,均具有獨立的中斷請求能力,設計者可自定義中斷請求引腳。基于以上優點,運用CC2530設計出的節點通信距離更遠,組網性能更穩定可靠,且性價比更高,適用于系統設計。但CC2530本身具有的射頻功能只適用于小功率傳感網絡,為增加節點的傳輸距離,采用RFX2401C作為射頻前端,以放大輸出功率。RF射頻模塊電路如圖1所示。RFX2401C只需2個控制引腳,P1.1和P1.4,RXEN為高電平時,TXEN決定數據的收發。與采用CC2591的射頻前端放大電路相比,連接、控制簡單,節省引腳資源。在室外測試環境中,引入RFX2401C的ZigBee網絡,通信距離平均增加了約60 m。
2.1 協調器節點硬件設計
協調器為全功能設備(Full Function Device,FFD),是ZigBee傳感器網絡的中心,負責網絡的組建、維護、管理及協調各傳感器節點的工作。協調器節點硬件電路主要由RF射頻模塊、RS232串口模塊和電源模塊組成。射頻模塊如圖1所示,主要負責無線傳輸數據,增加RFX2401C芯片以提高傳輸距離,P0.2、P0.3用作串口通信引腳;RS232串口模塊用于協調器與上位機通信,使用SP3223E完成RS232與TTL間的電平轉換,電路連接如圖2所示;5 V電源通過TPS79533低壓穩壓器輸出穩定的3.3 V工作電壓,對ZigBee射頻模塊和SP3223E供電。


2.2 傳感器節點硬件設計
傳感器節點多為簡化功能設備(Reduce Function Device,RFD),其功能簡單,無需進行復雜的數據處理,且接口外設較少。該節點的射頻模塊設計與協調器節點相同,采用的傳感器為數字溫濕度傳感器SHT71。SHT71內部包括電容式聚合體測濕部件及能隙式測溫部件、校驗存儲器等,與一個14位的A/D轉換器和二線雙向串行接口電路在同一芯片上實現無縫連接。默認測量分辨率為14 bit(溫度)、12 bit(濕度),在高速或超低功耗的應用中可將分辨率分別降至12 bit和8 bit。該傳感器工作性能穩定、可靠,與MCU之間以二線雙向串行接口方式通信,連接電路如圖3所示。此外,電源引腳(Vdd,GND)之間還封裝了一個100 nF的去耦濾波電容。

SCK用于MCU與傳感器之間的同步通信,DATA三態門用于數據的讀取。通過“啟動傳輸”時序,完成數據傳輸的初始化工作,然后通過傳輸相應的命令指定SHT71的工作方式。測量過程為:微控制器先發一組測量指令,SHT71測量完成后,下拉DATA至低電平表示測量結束,接著傳輸2個字節的測量數據和1 Byte的CRC奇偶校驗,其測量時序如圖4所示。

實驗中,電源電壓為5 V,溫濕傳感器的分辨率分別為12和8位。由于SHT71內部溫度傳感器的線性度較好,直接利用式(1)計算實際溫度值T
T=d1+d2·SOT (1)
其中,d1=-40,d2=0.04,SOT為溫度測量值。而濕度傳感器的線性度較差,為補償濕度傳感器的非線性以獲取準確數據,采用式(2)修正輸出數值RHline

c1=-4,c2=0.648,c3=-7.2×10-4,SORH為濕度傳感器相對濕度測量值。在測量與通信結束后,SHT71自動轉入休眠模式,以減少能耗。
3 系統軟件設計
3.1 ZigBee協議棧
ZigBee協議由IEEE802.15.4定義的物理層(PHY)、媒體訪問控制層(MAC)、ZigBee聯盟定義的網絡層(NWK)、應用層(APL)及安全協議規范組成。協議??蚣苋鐖D5所示。

ZigBee支持星型、樹形和網狀型3種拓撲結構。在星型網絡中,所有的終端設備均只與協調器通信,不同終端的數據交換需通過協調器實現,故星型網為單跳網絡。樹形和網狀網具有在網絡間對數據包路由的功能,因而為多跳網絡。為簡化設計,實驗室中以協調器為中心,組建星型網絡。
軟件設計上,采用符合ZigBee2007規范的ZStack-2.3.0協議棧,可兼容CC2530片上系統解決方案;開發環境為IAR EW,使用C語言編寫應用程序。ZStack協議棧中嵌入了OSAL(Operating System Abstraction Layer)多任務操作系統,以便于對ZigBee協議進行管理。當某事件時間發生后,OSAL根據事件類型將其分配給能處理該事件的具體任務,并對事件加以處理。
協調器負責ZigBee無線傳感網絡的組建。通電后,分別對硬件模塊和OSAL初始化。在周圍空間進行能量檢測和信道掃描,選擇一個合適的信道組建無線網絡。為網絡分配一個PANID標識,并為該ZigBee協調節點分配一個16位網絡短地址(默認為0x0000)。在組網成功后,接收傳感器節點的入網請求并為其分配網絡地址、接收傳感器節點發送的溫濕度數據信息及上位機的控制命令等。協調器主體工作流程如圖6所示。

傳感器終端節點主要負責溫濕度的采集。初始化后掃描空間中是否有ZigBee網絡存在,若有,則申請加入,并周期性發送溫濕度測量數據給協調器,其工作流程如圖7所示。

3.2 上位機監控界面
在Microsoft Visual Stdio 2010開發平臺中,利用C#/.NET。開發上位機用戶監控界面。傳感器節點采集的數據以ZigBee無線方式傳遞給協調器,再由協調器遞交給上位機處理和顯示。圖8為溫濕度實時監測界面,橫軸為測量時間,縱軸為SHT71采集的數據。突變處是人為干預時產生的現象??梢?,SHT71有較好的靈敏度及穩定性。

4 結束語
文中利用CC2530和SHT71,設計并實現了可對溫濕度進行無線采集的監測系統。在射頻前端加入RFX2401C功放單元,有效增加了傳輸距離。系統將傳感器終端節點采集的溫濕信息經ZigBee網絡傳遞給上位機存儲和實時顯示,便于生產人員分析處理。設計中,由于采用星型單跳網絡,ZigBee網絡覆蓋范圍小,可加入的傳感器節點數目有限,滿足實驗中的應用要求,而應用在實際的生產過程中可能存在一定限制。下一步研究的重點是在傳感器節點增加路由功能或引入有路由功能的RFD,組建網狀或樹形網絡,增加ZigBee網絡的覆蓋范圍。另外,設計擁有更多功能的傳感器節點,以采集多種類型的環境因子,使系統更具實用價值。
評論