吳遠星,王雪梅,倪文波
(西南交通大學機械工程學院,四川 成都 610031)
保持良好的客車內(nèi)部環(huán)境是提高客車乘坐舒適性的重要內(nèi)容之一[1]。本文所設計的監(jiān)測系統(tǒng)選取了溫度、濕度、氣壓和CO濃度4個環(huán)境參量作為監(jiān)測對象[2-3]。為全面反映車廂內(nèi)部環(huán)境狀況,需檢測、綜合不同空間位置上的環(huán)境參數(shù)[4]。傳統(tǒng)的監(jiān)測方案一般采用EIA485或CAN等有線方式把多個分散的數(shù)據(jù)采集模塊連接起來形成一個分布式的監(jiān)測系統(tǒng)[5]。這種方式的好處是通信可靠性高、成本低廉,但是需要布線,不僅浪費空間,而且限制采集節(jié)點的安放位置選擇。
ZigBee技術是一種新近出現(xiàn)的近距離、低復雜度、自組織、低功耗、低數(shù)據(jù)速率和低成本的無線網(wǎng)絡通信技術[6]。其本身保證的數(shù)據(jù)傳輸速率和可靠性也適用于低速率的、非關鍵性的環(huán)境參數(shù)采集場合。鑒于此,本文研制了基于ZigBee無線傳感器網(wǎng)絡的環(huán)境參數(shù)監(jiān)測實驗系統(tǒng),并將其成功應用于西南交通大學機車車輛實驗室相關實驗中。
系統(tǒng)總體方案的原理框圖如圖1所述。整個監(jiān)測系統(tǒng)由車輛管理計算機(上位機)和一個ZigBee無線傳感器網(wǎng)絡組成。ZigBee無線傳感器網(wǎng)絡中有協(xié)調(diào)器、路由器和終端節(jié)點3種設備。其中協(xié)調(diào)器為網(wǎng)絡的發(fā)起和管理者;路由器負責路由轉發(fā)遠方節(jié)點的信息,從而擴充網(wǎng)絡的覆蓋范圍;終端節(jié)點即數(shù)據(jù)采集模塊。為省去電源線,使用兩節(jié)七號電池給終端采集節(jié)點供電。一個ZigBee網(wǎng)絡中有且僅有一個協(xié)調(diào)器,而路由器或終端節(jié)點則可以有多個。根據(jù)學校機車車輛實驗室的車輛內(nèi)部空間和設備的分布,選擇了樹狀網(wǎng)絡拓撲結構。
車輛管理計算機通過USB接口與ZigBee無線傳感器網(wǎng)絡的協(xié)調(diào)器相互傳遞數(shù)據(jù)。數(shù)據(jù)采集模塊將采集到的環(huán)境參數(shù)直接或者通過路由器發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器再實時轉發(fā)給車輛管理計算機;管理計算機也可通過協(xié)調(diào)器給所有采集模塊發(fā)送命令。
圖1 系統(tǒng)原理框圖
系統(tǒng)硬件電路主要包括實現(xiàn)ZigBee網(wǎng)絡的無線射頻電路和實現(xiàn)環(huán)境參數(shù)采集的傳感器電路。為了節(jié)約成本和提高系統(tǒng)的可靠性,無線射頻電路利用市場上成熟的CC2430無線通信模塊實現(xiàn)。該模塊主要由一顆CC2430微控制器、少量的阻容器件以及天線組成。CC2430芯片內(nèi)部整合了高性能2.4 GHz ZigBee射頻(RF)前端、128 KB的片內(nèi)Flash和一顆加強型8051微控制器。CC2430芯片性能穩(wěn)定且功耗極低,特別適合于那些要求電池壽命非常長的應用。而且芯片硬件支持CSMA/CA功能,無線接收靈敏度高、抗干擾能力強[7]。該模塊數(shù)據(jù)傳輸速率最大250kb/s,完全滿足本系統(tǒng)的無線通信要求。
ZigBee協(xié)調(diào)器電路結構如圖2所示。協(xié)調(diào)器電路由電源、CC2430通信模塊、復位電路、USB通信接口等4部分組成。CC2430模塊本身具有兩個獨立的串口。其中一個串口通過FT232RL芯片轉化為USB接口與車輛管理計算機通信。整個電路模塊從USB總線上獲取電能。
圖2 協(xié)調(diào)器硬件結構框圖
圖3 路由器/終端節(jié)點硬件結構框圖
路由器和終端節(jié)點使用同樣的硬件電路,其電路結構框圖如圖3所示。由于終端節(jié)點使用電池供電,因此必須盡量選用低功耗的傳感器。本文選用了SHT10傳感器來測量溫濕度。SHT10具有穩(wěn)定性好、響應速度快、抗干擾能力強和性價比高等優(yōu)點,其平均功耗僅150μW,并可自動進入待機休眠狀態(tài)。SHT10溫度準確度±0.5℃,相對濕度準確度±4.5%RH,使用兩線制數(shù)字接口。氣壓測量選用MS5540C氣壓傳感器。該傳感器測量范圍為10~1100mbar,平均功耗僅10 μW,可自動轉入休眠狀態(tài)。MS5540C是一款小巧的壓阻式硅微機數(shù)字輸出傳感器,同時可輸出16位的溫度數(shù)字值。MS5540內(nèi)部的可編程存儲器中存有6個補償系數(shù)。根據(jù)這些補償系數(shù)可先后對氣壓測量結果作兩次補償?shù)玫健?.5mbar的氣壓測量精度。MS5540C使用其獨有的三線數(shù)字通信協(xié)議與微控制器通信。CO濃度測量選擇的是ME2-CO傳感器。ME2-CO是一種電化學傳感器,其本身是一個微型化學電池,無需電源,因此功耗極低。該傳感器靈敏度為0.015μA/ppm,測量重復性好,線性度高。圖4為傳感器電路原理圖。
ZigBee協(xié)議棧是指一組可實現(xiàn)ZigBee協(xié)議規(guī)范的代碼,支持ZigBee協(xié)議的應用必須在此基礎上開發(fā)。本系統(tǒng)選用TI公司推出的ZigBee2006協(xié)議棧ZStack-1.4.2。ZStack-1.4.2完整實現(xiàn)ZigBee聯(lián)盟和IEEE 802.15規(guī)定的協(xié)議規(guī)范,具有功能完整、結構清晰、應用廣泛等特點[8],是開發(fā)ZigBee應用的較為不錯的選擇。利用ZStack提供的基本程序框架和接口函數(shù),用戶可很方便地構建自己的ZigBee應用。
ZStack基于一個名為OSAL(operation system abstraction layer)的程序框架實現(xiàn)。OSAL是以實現(xiàn)多任務為核心的某種系統(tǒng)資源管理機制,可看成是一個簡易的基于任務優(yōu)先級的多任務、非搶占型操作系統(tǒng)。ZigBee協(xié)議規(guī)范中各層規(guī)定的原語操作均以具有優(yōu)先級的任務的形式嵌入到OSAL當中實現(xiàn)。每個任務處理函數(shù)由若干個事件處理函數(shù)構成。OSAL以一定的順序不斷地輪詢各層任務,一旦某一層任務有事件發(fā)生時,OSAL便會跳到相應任務處理函數(shù)中的相應事件處理函數(shù)中去完成事件的處理。事件處理完后又從最高優(yōu)先級任務開始輪詢,如此周而復始。當一輪循環(huán)中找不到待處理任務時,系統(tǒng)將進入低功耗模式直到下一個事件發(fā)生。ZStack程序流程圖如圖5所示。
ZigBee協(xié)議規(guī)范把應用抽象為“端點”,端點駐扎在設備對象層(ZDO)上。每個設備最多有1~240個端點,端點0可看做設備本身。不同設備之間的通信實際上是不同設備端點之間的通信。ZigBee協(xié)議規(guī)范使用一種稱為簡單描述符的數(shù)據(jù)結構來描述端點。簡單描述符由端點號、設備號、版本號、簇等描述性信息組成。簇指一組屬性——如溫度、濕度等物理量的集合。簇分為輸入簇和輸出簇,即信息的流入和流出。一個設備上的輸入簇和另一個設備上的輸出簇配對。為使協(xié)調(diào)器能和終端采集節(jié)點或路由節(jié)點相互通信,給協(xié)調(diào)器定義了兩個輸入簇,一個輸出簇:一個輸入簇用于接收采集模塊的采集報告,另一個用于接收其他節(jié)點對協(xié)調(diào)器發(fā)出的命令的響應,輸出簇則用于向終端采集節(jié)點或路由節(jié)點發(fā)送命令。路由器和終端節(jié)點中定義的輸入輸出簇與協(xié)調(diào)器相反。
協(xié)調(diào)器在所有任務層完成初始化后自動建立網(wǎng)絡。之后,在每次操作系統(tǒng)大循環(huán)中協(xié)調(diào)器都要查詢串口。如果上位機有數(shù)據(jù)傳送至協(xié)調(diào)器,將會產(chǎn)生一個發(fā)送給應用層的系統(tǒng)消息,這將觸發(fā)應用層的用戶事件。協(xié)調(diào)器的無線數(shù)據(jù)接收最終觸發(fā)應用層的數(shù)據(jù)接收事件,在該事件處理函數(shù)中對接收到的數(shù)據(jù)作進一步處理。數(shù)據(jù)采集報告在該事件處理函數(shù)中被通過串口發(fā)往上位機。
路由器和終端節(jié)點完成所有層的任務初始化后會自動搜索網(wǎng)絡(掃描信道),并加入?yún)f(xié)調(diào)器發(fā)起的網(wǎng)絡(如果此時協(xié)調(diào)器存在并且成功啟動)中。之后,路由器或終端節(jié)點向協(xié)調(diào)器發(fā)送綁定請求。獲得協(xié)調(diào)器的允許綁定響應后,終端節(jié)點觸發(fā)周期性傳感器報告事件,在該事件中完成環(huán)境參數(shù)的采集并以一定的格式將采集結果無線發(fā)送至協(xié)調(diào)器。
圖4 傳感器電路原理圖
圖5 ZStack程序流程圖
本系統(tǒng)中的ZigBee網(wǎng)絡是一種非信標的網(wǎng)絡。終端節(jié)點和路由節(jié)點周期性地向協(xié)調(diào)器發(fā)送數(shù)據(jù)采集報告,協(xié)調(diào)器根據(jù)應用程序可主動向網(wǎng)絡中的成員廣播或單播命令。終端節(jié)點大部分時間處于休眠狀態(tài),只在有事件發(fā)生時醒來。這使得終端節(jié)點具有很低的功耗。
上位機監(jiān)控程序基于LabVIEW10.0平臺開發(fā)。其主要功能是圖形化顯示各采集模塊采集的數(shù)據(jù),如溫濕度、氣壓、CO濃度、露點(根據(jù)溫濕度算得)、海拔高度(根據(jù)氣壓、溫度算得)、顯示當前網(wǎng)絡成員、CO濃度超限報警、顯示采集模塊電池電壓、歷史數(shù)據(jù)記錄等。此外,上位機還可對協(xié)調(diào)器發(fā)送一些命令,如重新設置傳感器采樣頻率、復位所有采集節(jié)點、獲取并顯示當前網(wǎng)絡拓撲結構等。實驗過程中,系統(tǒng)通信穩(wěn)定,網(wǎng)絡在被暫時阻斷情況下可自行快速修復。
測試過程中,終端采集節(jié)點休眠電流在0.5~7mA的范圍內(nèi)跳動。如果減少單個采集模塊上的傳感器種類,適當降低傳感器采樣頻率,功耗還可進一步減小。實驗時只采用4個終端采集節(jié)點。如果要擴大監(jiān)測范圍,可增加采集節(jié)點和路由器的個數(shù)。這時無須使其他改變,增加上位機顯示單元即可。
本文設計了基于ZigBee無線傳感器網(wǎng)絡的列車車廂內(nèi)部環(huán)境參數(shù)監(jiān)測系統(tǒng),并將其成功應用于西南交通大學機車車輛相應實驗系統(tǒng)中。相對于原先的有線檢測方案,本系統(tǒng)具有通信方式靈活、安裝方便快捷、易于配置和方便增加采集節(jié)點數(shù)量的良好特點;同時針對原系統(tǒng)上位機軟件功能單一、交互性弱的不足,設計了基于LabVIEW虛擬儀器平臺的功能豐富、交互性強的上位機軟件,使得系統(tǒng)的實用性和易用性更強。最后經(jīng)實驗檢驗,系統(tǒng)性能表現(xiàn)良好,達到預期設計的功能要求。
[1]張吉光,王利,史自強,等.空調(diào)客車車內(nèi)空氣品質(zhì)的評價方法[J].鐵道機車車輛,2001,39(3):22-23.
[2]趙恒.空調(diào)列車室內(nèi)微循環(huán)研究現(xiàn)狀綜述[J].鐵道機車車輛,2005,25(1):44-47.
[3]滕廣武,歐陽仲志.鐵路高速動車組空調(diào)試驗和舒適性要求[J].鐵道車輛,2009,37(10):30-32.
[4]兆文忠,曹亞楠,王東屏,等.高速動車組空調(diào)系統(tǒng)數(shù)值仿真及引入UIC標準的評價[J].大連交通大學學報,2011,32(1):7-10.
[5]吳曉娜,王雪梅,倪文波.基于CAN總線的客車車內(nèi)環(huán)境實驗檢測系統(tǒng)設計[J].中國測試,2010,36(6):82-85.
[6]周怡寤,凌志浩,吳勤勤.ZigBee無線通信技術及其應用探討[J].自動化儀表,2005,26(6):5-9.
[7]蔣凌云,馬奧,呂亞超,等.基于CC2430片上溫度傳感器的溫度監(jiān)控系統(tǒng)[J].計算機技術與發(fā)展,2012,22(4):191-194.
[8]馬駿.基于ZigBee技術的嵌入式監(jiān)控系統(tǒng)設計與實現(xiàn)[D].成都:電子科技大學,2009:52-97.