趙 奎,朱倪瑤,邢陽陽
(1.海軍工程大學 電子工程學院,湖北 武漢 430033;2.中國人民解放軍91439 部隊,遼寧 旅順 116041)
由于使用無線傳感器網絡系統(tǒng)能夠彌補有線網絡系統(tǒng)需要進行大量布線、成本高,且在惡劣的環(huán)境中無法進行布線的缺點。目前已廣泛應用在工業(yè)、農業(yè)、醫(yī)院、家庭等領域。
德州儀器推出了一系列系統(tǒng)級芯片。其中CC2530 是一款兼容IEEE 802.15.4 的片上系統(tǒng),集成了增強型8051 內核,結合TI Z-STACK 協議棧可方便地組建自己的無線通信網絡[1-4]。系統(tǒng)通過構建Zig-Bee 樹狀網絡測量同一時刻,同一地點,不同高度條件下的大氣壓參數,其系統(tǒng)總結構如圖1 所示。
圖1 系統(tǒng)總結構圖
ZigBee 協議結構是建立在IEEE 802.15.4 標準基礎上的[2]。IEEE 802.15.4 標準定義了ZigBee 的物理層(PHY)和媒體訪問控制層(MAC);ZigBee 聯盟則定義了ZigBee 協議的網絡層(NWK)[3]、應用層(APL)和安全服務規(guī)范。圖2 所示為ZigBee 協議棧的結構圖。
圖2 ZigBee 協議棧模型
CC2530 是一個片上系統(tǒng)解決方案。CC2530 芯片的RF 性能佳、閃存容量大、封裝尺寸小、協議支持也多樣。在該芯片基礎上設計的剖面大氣壓參數采集節(jié)點,在室外的最高傳輸距離可達300 m。
BMP085 包含電阻式壓力傳感器、A/D 轉換器和控制單元。控制單元包括E2PROM 和I2C 接口。E2PROM存儲了176 位單獨的標準數據,這些數據主要用于溫度補償等。
BMP085 數據傳輸采用I2C 總線技術,有4 種測量模式,分別為極低功耗模式、標準模式、高分辨率模式、超高分辨率模式。氣壓輸出字長為19 位,溫度輸出字長為15 位。
實驗中利用BMP085 氣壓傳感器通過I/O 口模擬I2C 總線協議進行氣壓參數測量獲取,在利用I2C 總線與BMP085 進行數據通信時,首先由主機發(fā)送啟動信號(SCL 在高電平期間SDA 出現下降沿)來啟動I2C總線。接著向BMP085 發(fā)送命令,具體包括:
(1)發(fā)送尋址信號。在主機發(fā)送完啟動信號后即需要發(fā)送尋址信號。尋址信號的結構是:設備地址(高7 位)+方向位(最低位)。方向位為0 則表明接下來主機對從器件進行寫操作;方向位為1 則表明接下來主機對從器件進行讀操作,尋址字節(jié)的定義如圖3 所示。發(fā)送命令時尋址信號為從器件地址+0,讀取數據時尋址信號為從器件地址+1。
圖3 尋址字節(jié)的定義
(2)發(fā)送寄存器地址。
(3)發(fā)送需寫入寄存器的值。從BMP085 讀取數據,當數據讀取完畢后,主機發(fā)送停止信號(SCL 在高電平期間SDA 出現上升沿)來停止I2C 總線。具體包括:1)發(fā)送尋址信號(從器件地址+0)。2)發(fā)送寄存器地址。3)重新開始數據傳輸。4)發(fā)送尋址信號(從器件地址+1)。5)取測量值高低各8 位。
在模擬I2C 總線傳輸過程中需要注意以下幾點問題:(1)I2C 總線協議規(guī)定,總線上每傳送一個字節(jié)數據之后,接收設備均需產生一個應答信號(在SCL 信號為高電平期間SDA 拉低為低電平)以確認收到數據。(2)數據傳輸要在主機向從器件發(fā)送尋址信號并得到從器件應答之后,數據傳輸時每次一個字節(jié),每次傳輸都應在得到應答信號后再進行下一字節(jié)的傳輸。(3)當主機為接收設備時,不應答最后一個Byte,以向發(fā)送設備表示數據傳送結束。
氣壓參數采集節(jié)點上BMP085 的工作流程如圖4所示。
圖4 BMP085 工作流程
終端節(jié)點和路由節(jié)點大氣壓采集流程為:終端節(jié)點和路由節(jié)點接收到來自協調器節(jié)點的采集指令后,將BMP085 傳感器定期采集的大氣壓數據進行預處理[9],然后通過無線網絡與協調器節(jié)點進行通訊。
軟件設計主要分為終端節(jié)點軟件、路由節(jié)點軟件及協調器節(jié)點軟件設計[4-5]。協調器節(jié)點上電后,會按照編譯時給定的參數,選擇合適的信道、合適的網絡號,建立ZigBee 無線網絡。終端節(jié)點和路由節(jié)點上電后,會進行硬件電路初始化,然后搜索是否有ZigBee 無線網絡[10],若有ZigBee 無線網絡時,終端節(jié)點和路由節(jié)點申請加入網絡,協調器節(jié)點準許加入并分配一個16位的網絡短地址,等待采集的大氣壓數據命令,然后將接收的所有數據包通過串口通信發(fā)送到PC 機上,以便更容易地進行氣壓數據分析和數據存儲[11]。協調器節(jié)點、路由節(jié)點和終端節(jié)點工作流程如圖5 所示。
圖5 節(jié)點工作流程圖
搭建好硬件環(huán)境后,在本系統(tǒng)中,終端節(jié)點每隔1 min采集一次氣壓數據并通過路由節(jié)點轉發(fā)給協調器節(jié)點,而路由節(jié)點每隔1 min 采集到的氣壓數據直接發(fā)送給協調器節(jié)點,協調器節(jié)點再通過RS232 串口總線將數據發(fā)送到PC 機上,串口設置為COM1,波特率設置為115 200 bit·s-1。在實驗過程中每個模塊均采集了大量數據,同時用Vaisala 公司的WXT520 移動氣象儀來對比本系統(tǒng)測得的氣壓數據。其中同一地點某個節(jié)點和氣象儀從時間段10:00 ~10:19 每隔1 min測得的氣壓數據對比圖如圖6 所示。通過氣壓絕對誤差曲線圖7 可發(fā)現,氣壓傳感器BMP085 的測量值與移動氣象站測得的氣壓誤差在-0.1 ~+0.1 hPa 之間,符合實驗測量誤差值范圍。
圖6 氣壓對比曲線圖
圖7 氣壓絕對誤差曲線
從以上測試結果對比曲線可得出,系統(tǒng)大氣壓參數采集節(jié)點的穩(wěn)定性較好;從絕對誤差曲線可看出,本系統(tǒng)大氣壓參數采集節(jié)點的測量誤差范圍較小,系統(tǒng)的精度也達到了一定要求。
本文主要介紹了基于ZigBee 網絡的剖面大氣壓測量系統(tǒng)的結構及相關軟件流程,使用該系統(tǒng)進行實地測量,并與移動氣象儀測得的數據進行對比。結果證明該方案構建合理,能夠同時測量多點氣壓參數,具有測量精度較高且功耗較低的優(yōu)點,可將其在便攜式氣象數據采集領域進行推廣。
[1] Chen Lingjyh,Sun Tony,Liang Niachiang.An evaluation study of mobility support in ZigBee networks[J].Journal Signal Process System,2010(59):111-122.
[2] Andrew Wheeler,Ember Corporation.Commercial applications of wireless sensor networks using ZigBee[J].IEEE Communications Magazine,2007(7):70-77.
[3] Farihah Shariff,Nasrudin Abd Rahim,Hew Wooi Ping.Zigbee-based data acquisition system for online monitoring of grid-connected photovoltaic system[J].Expert Systems with Applications,2015(42):1730-1742.
[4] Wan-Ki Park,Intark Han,Kwang-Roh Park.ZigBee based dynamic control scheme for multiple legacy ir controllable digital consumer devices[J].IEEE Transactions on Consumer Electronics,2007,53(1):172-177.
[5] Khusvinder Gill,Yang Shuanghua,Yao Fang,et al.A ZigBee-based home automation system[J].IEEE Transactions on Consumer Electronics,2009,55(2):422-430.
[6] Choy C S.An infrared remote control system designed for universal control[J].IEEE Transactions on Consumer Electronics,1995,41(6):1089-1094.
[7] Lubomir Mraz,Vladimir Cervenka,Dan Komosny,et al.Comprehensive performance analysis of ZigBee technology based on real measurements[J].Wireless Pers Communication,2013(71):2783-2803.
[8] Alex Moschevikin,Roman Voronov,Alexandr Galov,et al.Using pressure sensors for floor identification in wireless sensors networks[C].Offenburg,Germany:IEEE International Symposium on Wireless Systems within the Conferences on Intelligent Data Acquisition and Advanced Computing Systems,2012:20-21.
[9] 張金燕,劉高平,楊如祥.基于氣壓傳感器BMP085 的高度測量系統(tǒng)實現[J].技術與方法,2014(6):64-67.
[10]陳銘治,李精明,王侯清.基于CC2530 的ZigBee 無線氣壓測量模塊設計和實現[J].電腦知識與技術,2014,10(29):58-60.
[11]王悅,王春雨.基于大氣折射指數的多點數據采集系統(tǒng)設計[J].電子科技,2013,26(10):76-78.