?

基于Android的無線節點式地震儀監控系統設計

2024-02-22 12:48王懷秀肖勝濤
儀表技術與傳感器 2024年1期
關鍵詞:數據包勘探波形

王懷秀,肖勝濤

北京建筑大學電氣與信息工程學院

0 引言

地震勘探方法是探測石油、天然氣、煤礦等資源的重要地球物理方法之一。隨著勘探程度的不斷提高,淺層資源日益枯竭,地震勘探向著更加深層、環境更加復雜的區域發展[1]。地震勘探儀器是地震勘探工作的核心裝備,是獲取高質量地震資料的關鍵。傳統的有線地震勘探儀器在勘探工作中需要布置大量的線纜,且在復雜地形環境中可能造成布線困難,嚴重影響施工效率[2]。無線節點式地震勘探儀器與有線地震勘探儀器相比能夠擺脫線纜的束縛,便攜性較高,且在復雜地形環境中能夠布設靈活,顯著降低了人工成本,提高了采集效率,因此成為地震勘探儀器的重要發展方向[3-4]。

無線節點式地震勘探儀器雖然能夠擺脫線纜的約束,降低人工成本,但是由于無線通訊的不穩定性,地震勘探儀器通常采用“盲采”式工作模式,如Fairfield公司研制的Z-LAND無線節點式地震儀[5-6]?!懊げ伞笔讲杉唵胃咝?但由于缺乏有效的監控手段,無法對采集工作情況做到實時監控,因此無法保證工作質量[7-8]。部分儀器為了提高地震勘探工作的質量,通過無線系統監測采集節點的工作狀態,如Sercel公司研發的WiNG無線節點式地震儀,但仍無法做到采集數據的實時數據回收和監測,可能造成采集數據質量不佳[9]?,F有的帶實時監控能力的地震勘探終端軟件主要以PC端開發,雖然性能穩定,運算速度較快,但在野外勘探環境中不易攜帶,操作復雜,不利于勘探工作的進行。吉林大學自主研制的GEIWSR-III無線節點式地震儀可通過單點手持移動終端對單個節點進行工作狀態和數據質量的監測,但無法對范圍性節點進行監測,因此工作效率不高[10]。

為了解決以上問題,設計了基于Android平臺的無線節點式地震儀監控系統,實現了對勘探過程中分布式無線采集節點的實時監控,能夠有效提高采集數據的質量,實現無線節點式地震儀器的可測可控。

1 系統方案設計

1.1 系統整體架構設計

本系統整體架構如圖1所示。該系統主要是由檢波器、分布式采集節點、無線AP、監控主機(移動設備)組成。

圖1 系統整體架構模型

分布式采集節點是由多個分布于不同采集點的無線采集節點組成。當各采集節點收到采集命令時,可通過檢波器獲取地震信號,地震信號經差分電路和模數轉換后轉換為數字信號,數字信號通過低功耗無線WiFi模塊經無線AP發送到監控主機進行可視化顯示;無線AP主要是實現采集節點和監控主機的無線通信,使用AP模式組網,該組網方式具有組網方便、靈活性高、擴展性強等特點。當采集節點較多時,可以接入更多的無線AP組成星狀拓撲;監控主機基于Android平臺設計,部署到Android平板端,主要是對接入網絡的多個采集節點發送控制命令、監控采集節點的工作狀況和網絡狀態、接收采集數據并進行可視化顯示、對采集數據進行處理和存儲。

1.2 系統工作流程設計

系統的主要工作流程設計如圖2所示。移動監控主機與采集節點通過WiFi加入無線自組局域網,IP地址由無線AP的DHCP(動態主機配置協議)功能分配。接入網絡之后,移動監控主機通過廣播掃描獲取接入網絡的所有采集節點,記錄其分機號、IP地址等網絡信息,并建立網絡連接關系,同時啟動狀態監測功能,實時監測采集節點的運行狀態和網絡狀態。建立網絡連接之后,移動監控主機通過對各采集節點發送采集控制命令,進行握手應答、背景檢測、參數配置、數據采集等操作。當數據采集完畢后即可接收采集數據并進行可視化顯示。數據采集質量良好時即可進行數據存儲的操作,數據采集質量較差時,則無需在主機中存儲采集節點發來的數據,需重新發出采集命令進行新的數據采集操作,原節點中的數據將被新的采集數據覆蓋。

圖2 系統工作流程圖

2 采集節點硬件結構

本系統的地震數據采集節點的結構如圖3所示,主要是由微處理器、模數轉換電路、存儲模塊、無線WiFi模塊、以太網模塊等組成。地震數據采集節點可連接多個MEMS三分量檢波器,可以根據需要增加或者減少MEMS三分量檢波器的個數來改變地震數據采集節點的帶道能力。MEMS三分量檢波器可對3個不同方向的縱波和橫波進行精確拾取,并通過8芯屏蔽電纜將模擬信號傳給數據采集節點[11]。地震數據采集節點主要模塊設計如下。

圖3 地震數據采集節點結構

1)微處理器選用的是32位處理器STM32F407ZG,其內核為Cortex-M4內核,其內部集成了高達1 MB的Flash和192 KB的SRAM,且功耗較低。其支持FPU和DSP指令集,工作頻率可達到168 MHz,具有較強的運算速度和數據處理能力,為采集節點的核心處理模塊[12]。

2)模數轉換電路主要由差分驅動電路和模數轉換器組成。模數轉換器使用24位的高精度模數轉換芯片AD7767,其片內集成了FIR低通濾波器,可消除噪聲干擾。采集信號需經過差分驅動電路差分放大后,作為輸入信號傳入模數轉換器,此輸入方式可有效降低共模干擾。

3)存儲模塊主要用來本地存儲地震數據,主要是大容量SD卡和低功耗FRAM。SD卡存儲空間較大,可以用于長時間的采集;FRAM采用的是CY15B104Q鐵電存儲器,具有非易失、讀寫速度快、資源占用少等優點,可用于實時采集[13]。

4)無線WiFi模塊使用的是RAK439,該無線WiFi模塊可支持TCP、UDP通信,支持AP網絡模式,傳輸速率較快,且功耗較低。通過SPI接口與微處理器進行全雙工通信,用來實現與監控主機的無線通信。

5)以太網模塊主要用于地震數據的統一回收,使用的芯片是LAN8720A,通過精簡介質獨立接口(RMll)與微處理器連接。

3 Android軟件開發與實現

3.1 軟件開發環境

軟件在Android Studio開發環境下,以Java語言進行編寫,SDK版本號為30,JDK的版本為1.8.0,以華為MatePad 11作為測試平臺進行設計,操作系統為鴻蒙系統2.0.0(能夠完全兼容安卓系統軟件),內置高通驍龍865處理器,運行內存8 GB,存儲容量256 GB,能完全滿足軟件設計需求。

3.2 軟件的功能模塊設計

監控軟件采用了模塊化設計思路,包括分機(采集節點)控制、狀態監測、波形顯示、數據存儲、文件操作5個功能模塊,具體功能組成如圖4所示。

圖4 軟件功能模塊

1)分機控制:主要是與各采集節點建立穩定的網絡連接,對采集節點進行包括握手應答、背景檢測、參數設置、數據采集等控制。

2)狀態監測:主要是實時監測各采集節點的運行情況(包括存儲容量、電池狀況、命令執行狀態等)和網絡連接情況,并實時反饋到界面。針對異常狀況能夠做到及時反映,方便工作人員查看。

3)波形顯示:對采集數據進行多種可視化顯示,通過直觀的數據波形來監測采集到的數據是否有缺陷。

4)數據存儲:主要是對采集數據按照特定文件格式進行存儲。

5)文件操作:對于存儲的數據文件提供在線瀏覽和刪除的功能。

3.3 軟件關鍵功能設計

3.3.1 分布式采集系統網絡通訊設計

3.3.1.1 通訊格式設計

在系統工作過程中,軟件要發送多種控制命令,也要接收來自各采集節點的狀態信息和采集數據等,所以需要自定義通訊格式保證正常的通信。本文設計的通訊格式包括包頭、分機號、功能號、數據體、CRC校驗、包尾等,具體結構如圖5所示。

圖5 通訊格式圖

其中分機號代表采集節點的唯一設備標識,可根據此標識識別數據包來源,當出現異常時,方便判斷異常節點信息。功能號主要是為了區分該數據包的功能,長度設置為1 Byte,功能號不同的數據包代表的意義不同,例如0XC1代表該數據包的功能為主從握手;數據體代表數據包攜帶的數據,字節大小由數據包類型而定;數據校驗位使用CRC32校驗算法設計,保證數據傳輸的準確性。

3.3.1.2 網絡通訊方式

監控軟件與采集節點的通信可以分為2種情況,一種是各種控制命令的發送以及采集節點狀態信息的接收,另一種是采集數據的接收。TCP是一個面向連接的、可靠的、基于字節流的傳輸層網絡通信協議。UDP是一個面向非連接的、不可靠的網絡通信協議,因此相比于TCP協議傳輸速率較快但不可靠。因移動監控主機進行廣播掃描和采集控制時需要快速地發送和響應,對采集節點的狀態做到及時獲取,因此廣播搜索命令和控制命令的發送以及狀態信息的接收使用UDP。軟件需要對采集數據進行精準接收,所以為了提高可靠性,對采集數據接收時通信方式選取TCP。TCP和UDP通信方式主要是使用Socket類和DatagramSocket類實現。

3.3.2 波形顯示功能設計

軟件使用第三方開源圖標庫MPAndroidChart繪制數據波形。MPAndroidChart可以實現圖表的快速構建,且具有軸的自定義,格式化顯示數值,X、Y軸的手勢縮放等功能[14]。為了波形顯示需要,軟件按照道號順序使用列表存儲每道數據,并記錄每道數據的最大值和最小值。為了更好地觀察各道的波形特性,設置波形多道歸一化顯示和單道歸一化顯示,通過解析每道數據的最大值和最小值,利用最大最小標準化原理實現采集數據的歸一化,并轉化為LineData數據傳給折線圖控件實現波形歸一化顯示。軟件通過自定義MarkView類實現對每個數據點的數值格式化顯示。由于采集節點通過MEMS三分量檢波器進行拾取數據,可獲取3個不同方向的縱波和橫波,所以為了分析每個方向波形特性,設置了抽道顯示功能,并用setBackgroundColor方法設置不同顏色標注3個方向的波形。波形顯示方式的更換通過圖標庫的notifyDataSetChanged方法完成。

3.3.3 數據存儲功能設計

為了方便地震數據的實時存儲和回放,供前期數據處理,系統在工作過程中,除了使用SD卡和FRAM存儲地震數據外,還提供了Android端數據存儲設計方案。

Android內部提供了數據持久化存儲功能,并具有SQLite輕量級數據庫系統,能為地震數據存儲提供支持[15]。本文采用文件系統加數據庫方式進行存儲,采集數據存儲在Android文件系統中,文件信息存儲在數據庫中。使用該存儲方式可以通過數據庫的查找功能實現地震勘探數據本地文件快速查找和回放功能。文件存儲格式設置為標準SEG-Y地震數據格式和自定義輕量級文件格式。使用Android內置的文件操作API,按照文件存儲格式,把地震數據以文件流的方式寫入SD卡中,自定義MyDatabase類并創建File表存儲文件信息,包括文件的存儲路徑、采樣間隔、采樣點數、道數等,表結構設計如表1所示。

表1 File表設計結構

3.3.4 狀態監測功能設計

軟件需要對各個采集節點的網絡連接狀態和運行狀態進行監測。具體流程設計如圖6所示。

圖6 狀態監測設計流程圖

網絡連接狀態通過接收各個采集節點上傳的心跳包判斷,運行狀態則通過接收來自采集節點的運行信息(包括存儲信息、電量信息、命令執行信息等)判斷。軟件通過UDP接收來自各個采集節點上傳的數據包,按照數據包功能號來判斷數據類型是心跳包還是運行數據包,進而對數據包進行相應的處理,并把最新狀態實時顯示在界面中。由于Android只允許在主線程更新UI控件,網絡的操作必須在子線程進行,所以使用runOnUiThread方法切換到主線程進行狀態的界面更新操作,runOnUiThread方法的底層原理是hanlder消息處理機制,可以實現子線程與UI主線程的通信。

4 系統測試

4.1 系統功能測試

為了驗證系統功能,在野外空曠地帶布置了4個采集節點,通過錘擊引震的方式進行測試。首先設置無線AP的服務集標志(SSID),采集節點和監控主機通過搜索SSID加入網絡。監控主機的主界面如圖7所示,在主界面中可以實時監測并顯示各采集節點的網絡狀態和運行狀態,對各采集節點發送控制命令。點擊主界面掃描按鈕即可獲取接入網絡的所有采集節點(見圖8),可選擇采集節點建立連接,然后點擊握手、背檢、置參按鈕向采集節點發送對應的控制命令,圖9為參數設置界面,本次測試設置采樣道數3道,采樣間隔1 000 μs,采樣點數1 024點,三分量檢波器采集。參數設置完畢即可點擊采集、傳數按鈕進行數據的采集和接收工作。當數據接收完畢,即可進入波形顯示界面顯示數據波形(見圖10),在波形顯示界面可進行采集節點選擇、顯示方式切換、采集數據存儲。

圖7 主界面

圖8 廣播搜索界面

圖9 參數設置界面

圖10 波形顯示界面

4.2 系統性能測試

為了驗證系統性能,本文對8個采集節點進行5次實驗測試系統的實時性、可靠性。每個采集節點設置采樣點數2 048,道數為3,每個數據點所占字節數為3,單個采集節點所采集的數據量約為18 KB。在測試中對系統中的采集節點的最大網絡延時、平均通訊速率、數據準確性做了測試。其中最大網絡延時是通過計算每個采集節點發送數據的時間戳和監控軟件接收完數據的時間戳的最大差值得出;通過測試回收采集數據計算系統的平均通訊速率;通過與采集節點SD卡或者FRAM存儲的數據比較得出系統在數據傳輸過程的準確性。表2為系統性能測試結果。

表2 系統性能測試結果

由表2可以看出系統的最大網絡時延可以控制在100 ms左右,實時性較好,可以滿足地震勘探監控實時性要求。網絡通訊速率較高,最大傳輸速率可達到2 Mbit/s。另外,由于系統使用可靠的網絡傳輸機制和數據校驗機制,監控軟件接收到的數據與采集節點存儲模塊中數據保持一致,可靠性高。

5 結束語

為了提高無線節點式地震儀工作過程中實時監控能力,設計了基于Android平臺的監控系統。系統通過手持移動設備將各采集節點采集的數據進行實時波形顯示和數據存儲,并可監測各采集節點的工作狀況,便于工作人員對采集數據的質量及設備的工作狀況做出及時判斷,提高了地震勘探設備的便攜性和地震勘探的工作效率,減少野外工作量。該系統傳輸速度快、可靠性高、實時性較強,能夠充分保證無線節點式地震儀的數據采集質量,確保為地震勘探提供高質量的數據資料,具有廣泛的應用前景。

猜你喜歡
數據包勘探波形
油氣勘探開發三年滾動計劃編制的思考
對《壓力容器波形膨脹節》2018版新標準的理解及分析
勘探石油
基于LFM波形的靈巧干擾效能分析
SmartSniff
春曉油氣田勘探開發的歷史
基于ARM的任意波形電源設計
大連臺使用CTS-1記錄波形特點
煤層氣勘探開發行動計劃發布
視覺注意的數據包優先級排序策略研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合