吳昊++彭懋磊++張亦梅



摘 要:為了滿足地震臺站觀測環境實時監測的需求,設計了一種基于STM32F407和ZigBee的無線傳感器環境監測系統。系統采用多種傳感器對觀測環境狀態進行實時采集,STM32F407微處理器對采集到的數據進行實時壓縮處理,并通過ZigBee無線網絡實現數據傳輸,最后將多個觀測點的環境監測數據存儲在網關上位機中。文中給出了環境觀測終端采集節點、網關協調器的硬件設計和軟件流程。經實際應用表明,該系統具有易拓展、自動組網、穩定性好等優點,可廣泛應用于多領域的環境監測。
關鍵詞:STM32;ZigBee;CC2530;無線傳感器網絡;LZO
中圖分類號:TN919.72 文獻標識碼:A 文章編號:2095-1302(2016)11-00-03
0 引 言
隨著地震臺站觀測儀器數量的不斷增多,整個地震臺站觀測系統變的越來越復雜,其受環境因素的影響也不容忽視。由于觀測環境潮濕、凝露等原因會導致電力設備絕緣性能下降;溫度變化則會影響電子元件的壽命及金屬材料的機械強度;電磁環境會對儀器的性能、數據質量和解算精度產生影響;而UPS不間斷電源供電的穩定性會影響數據記錄的完整性。為了減小環境因素的不利影響,提高觀測數據的可信度,必須對地震觀測系統所處的環境進行實時監測,為后續補償控制提供依據。
常見的環境監測系統采用有線方式傳輸數據。采用有線方式傳輸監測數據具有可靠性高,實時性好等優點,但該方式通常布設繁瑣,不適合環境惡劣、布線不便的場合,且無法滿足臨時部署、快速部署等要求。針對以上情況,本文設計了一種低功耗多點無線環境監測采集傳輸系統,在硬件方面,整個系統由觀測環境終端采集節點、中繼節點和匯集網關組成。在軟件方面,為了滿足多個采集節點的數據實時傳輸需求,并盡量降低ZigBee通信信道的占用,故采用LZO(Lempel Ziv Oberhumer)算法對采集的數據進行壓縮后傳輸,從而降低ZigBee網絡傳輸信道的數據量[1]。
1 系統整體結構及設計方案
本無線環境監測采集系統以某地震臺站的多個觀測室為背景,實現多點無線環境監測及中繼遠距離數據傳輸。系統總體結構如圖1所示。該系統主要由觀測環境終端采集節點、網關(協調器)、上位機組成,當網關協調器啟動后,觀測環境終端采集節點在網關協調器的配合下自動組網。環境終端采集節點將環境監測數據實時壓縮后通過ZigBee網絡傳輸給網關,當傳輸路徑較遠時可以增加中繼后傳輸給網關。網關協調器將各采集終端節點的數據通過以太網方式傳輸給計算機。
2 系統的硬件設計
系統硬件部分主要包括觀測環境終端采集節點和網關部分的設計,系統總體框架如圖2所示。
觀測環境終端采集節點由環境采集傳感器、微處理器STMF32F407VGT6、ZigBee網絡收發芯片CC2530組成。當系統啟動時,STM32F407首先完成環境采集傳感器及CC2530的初始化,環境采集傳感器將臺站觀測室的環境信息采集后傳遞給微處理器STMF32F407,微處理器STMF32F407將數據進行實時壓縮處理后通過ZigBee網絡傳輸給網關協調器。
網關協調器部分由微處理器STMF32F407VGT6、ZigBee模塊CC2530和以太網W5500模塊組成。主要實現ZigBee網絡組網、數據收發、各觀測采集點數據匯聚并上傳至上位機等功能。
2.1 微處理器模塊
在本系統中,由于ZigBee傳輸信道較窄,在多個終端節點采集節點同時進行數據采集時,需要對采集到的數據進行壓縮后再傳輸,因此采用STM32F407VGT6微處理器完成數據的壓縮處理、A/D轉換以及以太網模塊的控制。STMF32F407VGT6是基于Cortex-M4內核的微處理器,帶有FPU單元,工作頻率為168 MHz,片上包含1 MB程序存儲器,192+4 KB的RAM,具有超低動態功耗。在VBAT模式下,典型RTC小于1 A,適合低電壓或電池供電的應用,僅需少量外圍電路即可正常工作。外圍電路結構如圖3所示。
2.2 以太網模塊
以太網模塊用于網關協調器與上位機通訊,主要由W5500以太網芯片以及網絡變壓器PM4G-100KH組成。W5500通過SPI通訊協議與主控芯片STM32F407通信,除SPI協議所需的MISO、MOSI、SCLK和NSS信號線引腳與主控芯片相連外,還要RESET、INT和PWDN引腳與STM32的普通I/O連接。W5500采用低電平復位方式,需要在其復位引腳至少保持20 ms30 ms的復位時間。網絡變壓器PM4G-100KH用于以太網信號電氣隔離阻抗匹配以及電平耦合,增強以太網信號與延長傳輸距離。其電路設計如圖4所示。
2.3 采集模塊
為精簡硬件,降低硬件成本,提高硬件系統穩定性,采集模塊采用STM32F407VGT6內部自帶A/D模數轉換器,該模數轉換器是一個12位逐次比較趨近型A/D轉換器[2]。STM32F407內部ADC有19個復用通道,可測量16個外部和3個內部信號源。各通道的模數轉換均可采用單次、間斷模式或連續掃描方式執行,通過對掃描方式的選擇,STM32F407可以對多個環境傳感器的模擬量進行快速模數轉換。
2.4 ZigBee模塊
ZigBee網絡有對等結構、樹簇結構、星形結構三種拓撲結構。考慮到星形結構所需的協調器較少,而協調器的功耗通常是終端節點設備功耗的幾十倍,因此本系統采用星形結構來降低環境監測網絡的整體功耗[3]。
ZigBee模塊主要由CC2530芯片及其外圍電路組成。CC2530內部集成了兼容IEEE802.15.4規范的微控制器、存儲器和RF收發器,其工作在主動接收模式下的最低電流為24 mA,主動發送模式在1 dBm輸出功率下的電流為29 mA。CC2530包含3種不同的工作模式,且工作電壓范圍為2 V3.6 V,可以滿足本系統低功耗應用的特殊需求。其外圍電路如圖5所示。
3 系統的軟件設計
本系統軟件采用模塊化設計方式。軟件程序包括LZO壓縮算法子程序、觀測環境終端采集節點的程序設計、網關協調器程序設計以及上位機存儲顯示終端設計。
3.1 LZO算法程序設計
整個系統硬件設計中,考慮到當采集終端節點數量增加時,ZigBee網絡的吞吐率會成為傳輸通道瓶頸,在本設計中采用LZO壓縮算法來減小數據量,從而提高整個系統的傳輸效率。
LZO數據壓縮算法是一種數據無損壓縮算法,進行實時LZO壓縮時需占用64 KB系統內存,同時還需8 KB系統內存作為壓縮級別。LZO壓縮執行時具有較低內存占用、壓縮效率高等特點,適合在Cortex-M4微處理器中實現。此外,LZO解壓縮速度非常快,解壓過程無需占用內存。LZO算法執行流程如圖6所示。
3.2 觀測終端采集節點程序設計
觀測終端節點的主要功能是加入已有的ZigBee網絡,接收ZigBee網絡的控制命令并收發數據,將環境傳感器采集的模擬信號進行實時模數轉換,并對轉換后的數據進行LZO壓縮。
在給觀測終端節點加電后,STM32F407微處理器和ZigBee網絡芯片CC2530會分別進入程序的初始化。STM32F407完成ADC模數轉換的初始化后,通過中斷方式輪詢轉換各通道的模擬量并對采集的數據進行實時壓縮處理。CC2530芯片在初始化協議棧后會試圖加入已有的ZigBee網絡,當無法加入網絡時,會自動轉入低功耗模式以節省電能。加入網絡成功后,會自動獲取網絡ID,等待網關協調器發送讀取數據命令。其程序流程如圖7所示。
圖7 終端采集節點流程
3.3 網關協調器的程序設計
在星形架構的ZigBee網絡中,網關作為中央控制節點,主要完成ZigBee網絡新建、數據收發以及相應控制信號發送等功能。協調器具有自組織功能。在網關協調器上電時,協調器首先進行初始化工作,然后查詢通信信道,查找合適的信道建立ZigBee網絡,并設置具有唯一標識的ZigBee網絡PAN ID,最后等待觀測終端節點或者路由節點的加入。當觀測到終端節點加入ZigBee網絡后,網關協調器就可以收發觀測終端節點傳送的數據,當校驗收到的數據準確無誤后,即傳送至STM32F407微處理器進行處理。網關協調器程序流程如圖8所示。
3.4 上位機程序設計
上位機應用程序的主要功能包括環境終端節點監控數據瀏覽、歷史環境監測數據的存儲與索引、各觀測采集終端節點參數設置、ZigBee網絡拓撲結構顯示、數據實時解壓功能配置等。歷史環境數據的存儲與索引功能可方便用戶查看歷史環境監測數據,參數設置功能用于配置采集終端的采集通道、節點配置,網絡拓撲結構查看可以顯示網關協調器和采集節點之間的拓撲關系。
4 實驗結果與分析
在結合實際的基礎上,對硬件和軟件進行了測試。將環境終端采集節點和UPS供電裝置封裝在一起,網關協調器可使用上位機USB口直接供電。待終端采集節點與網關協調器成功通訊后,通過上位機設置遠端節點的采集頻率、采集通道等參數。整個系統便開始環境監測采集工作。上位機運行界面如圖9所示。
5 結 語
針對地震臺站觀測環境實時監測需求,本文采用基于Cortex-M4內核的STM32F407微處理器和ZigBee無線網絡構建臺站環境監測采集傳輸系統,具有易組網、低功耗、易擴展的特點。可同時采集多個不同觀測環境現場的實時環境狀態,采集終端采用模塊化設計以便于后期的功能擴展。在多個地震觀測臺站進行測試,達到了良好的效果,表明該系統具有廣泛的應用前景。
參考文獻
[1]李玉爽,劉東明,朱愛玲.基于LZO算法的嵌入式高速無線數據采集系統[J].電子測量技術,2011,34(7):67-70.
[2]彭紅星,郭威.基于STM32的礦井微震數據采集監測分站[J].儀表技術與傳感器,2013(10):67-69.
[3]王驥,林杰華,謝仕義.基于無線傳感網絡的環境監測系統[J].傳感技術學報,2015,28(11):1732-1740.
[4]李軍科,吳建軍,石祖偉.基于F2806平臺碳硫分析儀數據采集板設計[J].計算機測量與控制,2015,23(11):3773-3776.
[5]方浩,李艾華,王濤,等.基于STM32單片機的智能槍柜系統設計[J].電子技術應用,2014,40(3):12-14.
[6]張河新,王曉輝,黃曉東.基于STM32和CAN總線的智能數據采集節點設計[J].化工自動化及儀表,2012,39(1):78-80.