APP下载

基于Android的无线节点式地震仪监控系统设计

2024-02-22王怀秀肖胜涛

仪表技术与传感器 2024年1期
关键词:数据包勘探波形

王怀秀,肖胜涛

北京建筑大学电气与信息工程学院

0 引言

地震勘探方法是探测石油、天然气、煤矿等资源的重要地球物理方法之一。随着勘探程度的不断提高,浅层资源日益枯竭,地震勘探向着更加深层、环境更加复杂的区域发展[1]。地震勘探仪器是地震勘探工作的核心装备,是获取高质量地震资料的关键。传统的有线地震勘探仪器在勘探工作中需要布置大量的线缆,且在复杂地形环境中可能造成布线困难,严重影响施工效率[2]。无线节点式地震勘探仪器与有线地震勘探仪器相比能够摆脱线缆的束缚,便携性较高,且在复杂地形环境中能够布设灵活,显著降低了人工成本,提高了采集效率,因此成为地震勘探仪器的重要发展方向[3-4]。

无线节点式地震勘探仪器虽然能够摆脱线缆的约束,降低人工成本,但是由于无线通讯的不稳定性,地震勘探仪器通常采用“盲采”式工作模式,如Fairfield公司研制的Z-LAND无线节点式地震仪[5-6]。“盲采”式采集简单高效,但由于缺乏有效的监控手段,无法对采集工作情况做到实时监控,因此无法保证工作质量[7-8]。部分仪器为了提高地震勘探工作的质量,通过无线系统监测采集节点的工作状态,如Sercel公司研发的WiNG无线节点式地震仪,但仍无法做到采集数据的实时数据回收和监测,可能造成采集数据质量不佳[9]。现有的带实时监控能力的地震勘探终端软件主要以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记录波形特点
煤层气勘探开发行动计划发布
视觉注意的数据包优先级排序策略研究