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