萬興兵,周鳳星,張志堅(jiān)
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,武漢 430081)
對(duì)于地質(zhì)監(jiān)測及其發(fā)展趨勢的研究,過去往往是由人工定時(shí)采集地質(zhì)狀態(tài)信息,這種方法采樣頻率低,偏遠(yuǎn)地區(qū)實(shí)施困難,無法適應(yīng)和滿足監(jiān)測預(yù)報(bào)工程的需求[1-2]。利用基于GPRS網(wǎng)絡(luò)方式構(gòu)建的遠(yuǎn)程監(jiān)測系統(tǒng)能夠?qū)崟r(shí)、快速、高效、準(zhǔn)確地確定山體地質(zhì)的位移,傾斜等狀態(tài)信息。該系統(tǒng)經(jīng)過測試是可行的、經(jīng)濟(jì)的和方便的,也是地質(zhì)災(zāi)害監(jiān)測技術(shù)發(fā)展的必然趨勢??蒲腥藛T通過對(duì)遠(yuǎn)程監(jiān)控中心的地質(zhì)狀態(tài)數(shù)據(jù)信息進(jìn)行認(rèn)真分析和研究,能夠掌握地質(zhì)運(yùn)動(dòng)狀態(tài)的規(guī)律和趨勢,從而做到有所預(yù)見,有所把握,使國家財(cái)產(chǎn)和人民安全得到有效保障。
系統(tǒng)的整體構(gòu)成主要包括兩大部分:監(jiān)測終端和遠(yuǎn)程監(jiān)控中心。監(jiān)測終端主要由傾角傳感器、STM32控制器、GPRS數(shù)據(jù)發(fā)送模塊、SD卡數(shù)據(jù)讀寫模塊和供電系統(tǒng)五部分組成。遠(yuǎn)程監(jiān)控中心則是一臺(tái)接入Internet的具有固定IP地址的服務(wù)器,監(jiān)測用戶可以通過接入Internet的電腦和手機(jī)來訪問固定IP服務(wù)器的數(shù)據(jù),達(dá)到多用戶實(shí)時(shí)監(jiān)控的目的。系統(tǒng)整體工作流程如圖1所示。
圖1 系統(tǒng)整體流程圖Fig.1 Overall flow chart of system
系統(tǒng)的工作流程:(1)遠(yuǎn)程監(jiān)控中心服務(wù)器打開相應(yīng)的監(jiān)測軟件,等待監(jiān)測終端的連接;(2)服務(wù)器接收到監(jiān)測終端連接信息后自動(dòng)建立TCP/IP通訊通道;(3)監(jiān)測終端的STM32控制板一旦檢測到連接成功便開始讀取傳感器數(shù)據(jù),并將數(shù)據(jù)通過UART串口傳送給 GPRS模塊;(4)服務(wù)器接收GPRS模塊發(fā)來的數(shù)據(jù)并存儲(chǔ)顯示;(5)不同的監(jiān)測用戶可通過接入Internet的電腦、手機(jī)訪問服務(wù)器數(shù)據(jù)。
系統(tǒng)中,傾角傳感器的安裝采用鉆孔法,每個(gè)監(jiān)測點(diǎn)將3路傳感器安裝在不同深度的山體巖土中,這樣能夠使得獲取的地質(zhì)形變信息更加準(zhǔn)確。GPRS傳輸網(wǎng)絡(luò)是由網(wǎng)絡(luò)運(yùn)營商自動(dòng)完成,只需對(duì)GPRS模塊配置好相應(yīng)的IP地址和端口號(hào)即可。由于地質(zhì)的監(jiān)測點(diǎn)通常會(huì)在野外或者偏遠(yuǎn)的山區(qū)、礦區(qū),采用太陽能電池板和大容量蓄電池為整個(gè)系統(tǒng)提供電力供應(yīng)。
微控制器是地質(zhì)監(jiān)測系統(tǒng)的控制核心,數(shù)據(jù)的采集處理、存儲(chǔ)及遠(yuǎn)程發(fā)送均由微控制器完成。地質(zhì)監(jiān)測系統(tǒng)采用STM32F103ZE作為控制核心。STM32F103ZE使用ST公司高性能Cortex—M3內(nèi)核,工作頻率高達(dá)為72 MHz,內(nèi)置高速Flash存儲(chǔ)器,具有豐富的增強(qiáng)型I/O口和兩條APB外設(shè)總線,APB總線外設(shè)接口包含2個(gè)12 bit的ADC、3個(gè)通用16 bit定時(shí)器和一個(gè)PWM定時(shí)器。標(biāo)準(zhǔn)外設(shè)通信接口多達(dá)2個(gè)I2C和2個(gè)SPI、3個(gè) USART、一個(gè)USB和一個(gè)CAN,豐富的外設(shè)接口為硬件設(shè)計(jì)提供了方便。控制器及外圍電路組成的監(jiān)測終端結(jié)構(gòu)圖如圖2所示。
圖2 監(jiān)測終端結(jié)構(gòu)圖Fig.2 Monitoring terminal structure diagram
傳感器采用高精度動(dòng)態(tài)雙軸數(shù)字型工業(yè)級(jí)傾角傳感器,內(nèi)部集成24位ARM高端系統(tǒng),分辨率高達(dá) 0.0001°,精度 0.01°,溫漂 0.0007°/℃,響應(yīng)頻率高達(dá)300 Hz(波特率115200 Bd/s)。其原理是由非接觸位移傳感器、力矩馬達(dá)、誤差和放大電路、反饋電路、懸臂質(zhì)量塊5部分組成[4]。該傾角傳感器精度相對(duì)于電解質(zhì)原理或者是電容原理的傾角傳感器在非線性、重復(fù)性、遲滯、溫度漂移和工作溫度、抗沖擊、振動(dòng)等性能上要優(yōu)越得多。利用此傾角傳感器實(shí)現(xiàn)對(duì)山體巖土深度形變的持續(xù)測量,可以將山體巖土的細(xì)微變形所產(chǎn)生的傾角準(zhǔn)確地檢測出來,足以滿足地質(zhì)監(jiān)測的需要。傳感器通過RS485總線與STM32控制器相連,RS485采用平衡發(fā)送和差分接收,具有抑制共模干擾的能力。除此之外,由于傳感器埋在巖土較深的位置,連線較長,為了防止信號(hào)干擾,采用磁隔離芯片ADM2587E。ADM2587E基于先進(jìn)的iCoupler磁隔離技術(shù),而且內(nèi)部集成了DC/DC電源,省去了DC/DC電源的外電路設(shè)計(jì),使用方便。該芯片還具有熱關(guān)斷和失效保護(hù)功能,可以實(shí)現(xiàn)穩(wěn)定可靠的半雙工通信.
為了獲取數(shù)據(jù)采集的精確時(shí)間,監(jiān)測終端添加了內(nèi)置晶振和鋰電池的高精度時(shí)鐘芯片DS12C887,該芯片在沒有外部電源的情況下可工作長達(dá)10年之久,內(nèi)置高精度時(shí)鐘調(diào)整功能,無需人工校時(shí)。DS12C887具有MOTOROLA和INTEL兩種總線工作模式,在本系統(tǒng)中采用INTEL總線工作模式。由于STM32系統(tǒng)的時(shí)鐘頻率比較高,在運(yùn)行時(shí)極有可能發(fā)生干擾和被干擾的現(xiàn)象,嚴(yán)重時(shí)系統(tǒng)可能會(huì)出現(xiàn)死機(jī)。為了克服這種情況,不僅使用了STM32自帶的軟件看門狗,還引入了硬件看門狗芯片MAX706,用來監(jiān)測處理器的運(yùn)行狀態(tài),一旦處理器失控就強(qiáng)行復(fù)位,引導(dǎo)程序重新運(yùn)行,保證系統(tǒng)的可靠運(yùn)行。
GPRS模塊選用西門子公司生產(chǎn)的工業(yè)級(jí)三頻模塊SIEMENS-MC55,該模塊是市場上尺寸最小、性價(jià)比相當(dāng)高的三頻模塊,STM32可以直接使用AT指令集控制該模塊連接固定IP的服務(wù)器和數(shù)據(jù)發(fā)送等工作。此外,該模塊內(nèi)部內(nèi)嵌有TCP/IP協(xié)議棧,能夠直接將STM32發(fā)送到UART串口上的數(shù)據(jù)轉(zhuǎn)換成TCP/IP數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)傳送,省去了自定義通信協(xié)議的麻煩。GPRS模塊是通過網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN)接入Internet的,當(dāng)模塊長時(shí)間不進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí),為了節(jié)省信道資源,網(wǎng)關(guān)會(huì)自動(dòng)斷開模塊的網(wǎng)絡(luò)連接而導(dǎo)致模塊的網(wǎng)絡(luò)中斷。為了避免這種情況的發(fā)生,每隔5 min,STM32會(huì)控制GPRS模塊向遠(yuǎn)程監(jiān)控中心發(fā)送一段心跳包,保證模塊永久在線。
MC55模塊正常運(yùn)行時(shí)所需電源電壓范圍是3.3 V~4.8 V,當(dāng)該模塊以最大功率運(yùn)行時(shí),電路中電流的最大值可能達(dá)到2 A,為了避免模塊高功率運(yùn)行時(shí)的電壓跌落而導(dǎo)致模塊掉電重啟等異常狀況發(fā)生,電源部分采用開關(guān)穩(wěn)壓芯片LM2596-ADJ,并在電壓輸出端口并聯(lián)多個(gè)大容量電容。LM2596-ADJ是一款運(yùn)用成熟的開關(guān)穩(wěn)壓芯片,具有電壓輸出可調(diào),工作性能穩(wěn)定、輸出電流驅(qū)動(dòng)能力強(qiáng)等優(yōu)點(diǎn)。最大輸出電流高達(dá)3 A,在系統(tǒng)高功率運(yùn)行時(shí)有較強(qiáng)的抵抗電壓跌落的能力,利用此芯片為系統(tǒng)供電,保證了電路的可靠運(yùn)行。
在系統(tǒng)工作過程中,為了防止因GPRS模塊網(wǎng)絡(luò)信號(hào)丟失、SIM卡欠費(fèi)停機(jī)或網(wǎng)絡(luò)通信故障等而不能實(shí)時(shí)傳輸數(shù)據(jù)信息,采用文件管理控制芯片CH376S外接SD卡來存儲(chǔ)因網(wǎng)絡(luò)不能正常通信時(shí)STM32采集的數(shù)據(jù),使用存儲(chǔ)容量為512 M的SD卡可以存儲(chǔ)至少一年內(nèi)非正常通信而采集的數(shù)據(jù),避免了數(shù)據(jù)的丟失,方便工作人員及時(shí)獲取采集的數(shù)據(jù)信息并進(jìn)行相關(guān)分析研究。CH376S可以控制系統(tǒng)讀寫U盤或SD卡中的文件,本系統(tǒng)中主要用于向SD卡中寫入數(shù)據(jù)。CH376S支持三種通訊接口:8位并口、SPI接口或者異步串口,在本系統(tǒng)中CH376S采用SPI接口與STM32F103ZE進(jìn)行通訊。CH376S與STM32F103ZE和SD卡接口電路如圖3所示。STM32F103ZE自帶2個(gè)SPI接口,這里采用SPI0接口與CH376S通訊,CH376S的 SPI信號(hào)線SCS、SDO、SDI、SCK 分別與 STM32F103ZE 的 IO 口SPI0_CS,SPI0_MISI、SPI0_MISO、SPI0_SCK 對(duì) 應(yīng) 連接,只需對(duì)STM32的SPI相關(guān)寄存器進(jìn)行配置,即可方便的實(shí)現(xiàn)STM32對(duì)CH376S數(shù)據(jù)文件的讀寫。
圖3 CH376S接口電路圖Fig.3 CH376S Interface circuit schematics
軟件是整個(gè)系統(tǒng)的重要組成部分,傳感器數(shù)據(jù)的輸入、GPRS模塊數(shù)據(jù)的遠(yuǎn)程傳輸?shù)裙δ芏夹枰ㄟ^軟件來實(shí)現(xiàn),性能優(yōu)良的軟件是實(shí)現(xiàn)整個(gè)系統(tǒng)正??煽窟\(yùn)行的重要前提。在本系統(tǒng)中的軟件設(shè)計(jì)主要包括兩個(gè)部分:監(jiān)測終端的STM32程序設(shè)計(jì)和遠(yuǎn)程監(jiān)控中心服務(wù)器的程序設(shè)計(jì)。
監(jiān)測終端是實(shí)現(xiàn)數(shù)據(jù)采集與傳輸?shù)年P(guān)鍵部分,其軟件設(shè)計(jì)采用基于MDK開發(fā)環(huán)境的C語言來完成,主要包括傳感器數(shù)據(jù)的讀取、時(shí)鐘芯片控制、GPRS數(shù)據(jù)傳輸控制、文件管理芯片CH376S的控制等。其中,傳感器數(shù)據(jù)讀取、GPRS數(shù)據(jù)傳輸控制、控制CH376S對(duì)SD卡讀寫是監(jiān)測終端軟件設(shè)計(jì)的核心,本部分主要對(duì)核心部分程序流程圖進(jìn)行描述。
程序的開始需要對(duì)整個(gè)監(jiān)測終端進(jìn)行初始化,包括STM32各個(gè)寄存器的初始化和GPRS模塊的初始化等,這個(gè)過程是由STM32控制器來完成的。然后STM32控制器控制GPRS模塊連接遠(yuǎn)程監(jiān)控中心服務(wù)器,成功連接后即進(jìn)行數(shù)據(jù)的讀取與發(fā)送。當(dāng)出現(xiàn)網(wǎng)絡(luò)異?;蛲ㄐ殴收蠒r(shí),控制器控制GPRS模塊連接遠(yuǎn)程服務(wù)器超時(shí)或不成功,控制器就將讀取的數(shù)據(jù)通過CH376S寫入SD卡[5]進(jìn)行存儲(chǔ),然后再次控制GPRS模塊連接服務(wù)器。程序流程圖如圖4所示。
圖4 監(jiān)測終端程序流程圖Fig.4 Monitoring terminal program flow chart
遠(yuǎn)程監(jiān)控中心服務(wù)器的程序設(shè)計(jì)采用Java Socket和多線程機(jī)制相結(jié)合的框架,引人Java的多線程機(jī)制,可以建立多條Socket的通信信道,一個(gè)通信信道為一個(gè)遠(yuǎn)程監(jiān)測終端服務(wù)。這樣監(jiān)控中心服務(wù)器可以同時(shí)監(jiān)聽并接收多個(gè)客戶端 (監(jiān)測終端)的請(qǐng)求。其原理是:服務(wù)器端開啟監(jiān)聽線程,監(jiān)聽到客戶端的請(qǐng)求后,立即調(diào)度一個(gè)線程,并建立一個(gè)套接字與客戶端綁定,監(jiān)聽程序繼續(xù)監(jiān)聽,等待下一個(gè)客戶端的請(qǐng)求,建立連接的線程在交互完畢后自動(dòng)退出[3]。這樣便實(shí)現(xiàn)了服務(wù)器與多客戶端的通信,即實(shí)現(xiàn)多個(gè)監(jiān)測終端與服務(wù)器的連接與數(shù)據(jù)傳輸。服務(wù)器程序設(shè)計(jì)主要實(shí)現(xiàn)的功能包括:監(jiān)測客戶端的連接請(qǐng)求并接受連接請(qǐng)求,實(shí)現(xiàn)基于TCP/IP協(xié)議的數(shù)據(jù)接收;實(shí)現(xiàn)Web服務(wù),通過瀏覽器運(yùn)行并顯示接收的實(shí)時(shí)數(shù)據(jù);數(shù)據(jù)庫技術(shù)將接收的數(shù)據(jù)進(jìn)行備份存儲(chǔ),實(shí)現(xiàn)歷史數(shù)據(jù)的查詢和顯示。服務(wù)器端的數(shù)據(jù)查詢顯示頁面如圖5所示。從圖中可以看出,數(shù)據(jù)的值很小,基本接近Y軸最低點(diǎn),這是由傳感器數(shù)據(jù)取值范圍決定的,這種數(shù)值小而平坦的曲線,表明傾斜角度很小且基本沒有變化,即地質(zhì)的傾角形變基本保持不變,這是實(shí)際地質(zhì)狀況的真實(shí)表現(xiàn)。
圖5 數(shù)據(jù)查詢顯示界面Fig.5 Data query and display interface
基于STM32和GPRS的山體地質(zhì)形變實(shí)時(shí)監(jiān)測系統(tǒng),性能穩(wěn)定、實(shí)時(shí)性強(qiáng),極大地提高了偏遠(yuǎn)地區(qū)山體地質(zhì)的監(jiān)測頻次,節(jié)省了人力物力,為科研工作者對(duì)地質(zhì)運(yùn)動(dòng)規(guī)律和趨勢的研究以及地質(zhì)災(zāi)害的預(yù)防和預(yù)警提供了可靠的數(shù)據(jù)依據(jù),并在實(shí)際工程中得到了應(yīng)用,在其他傾角檢測的遠(yuǎn)程監(jiān)測工程中具有廣泛的推廣應(yīng)用價(jià)值。
[1] 佟維妍,劉春梅,趙國材.基于GPRS數(shù)據(jù)遠(yuǎn)程傳輸?shù)乃|(zhì)參數(shù)監(jiān)測系統(tǒng)[J].自動(dòng)化與儀表,2010,25(7):52-55.
[2] 曹修定,阮俊,吳悅.GPRS技術(shù)及其在地質(zhì)災(zāi)害監(jiān)測中的應(yīng)用[J].中國地質(zhì)災(zāi)害與防治學(xué)報(bào),2006,17(1):69-72.
[3] 王磊,許小琳.GPRS無線數(shù)據(jù)傳輸中服務(wù)器端軟件的設(shè)計(jì)和實(shí)現(xiàn)[J].測控技術(shù),2007,26(11):55-56.
[4] 陳爍輝,周翔,王漢其,等.高精度傾角傳感器檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀表,2012,27(12):18-20.
[5] 吉濤,蔡航.應(yīng)用SD卡實(shí)現(xiàn)大容量存儲(chǔ)測試系統(tǒng)設(shè)計(jì)[J].陜西科技大學(xué)學(xué)報(bào),2010,28(5):97-101. ■