当前位置:首页 期刊杂志

基于嵌入式Linux的矿用节点式地震仪控制软件设计

时间:2024-08-31

吴 海

(中煤科工集团西安研究院有限公司,陕西西安,710077)

0 引言

我国是世界上煤矿地质条件最为复杂的国家,断层、陷落柱等小构造易导致顶板塌落、透水等事故发生,造成巨大的经济损失和人员伤亡。由于煤矿安全高效开采对地质条件查明程度的要求愈来愈高,地面三维地震勘探的分辨率已经无法完全适应高效采煤的需要,而煤矿井下槽波地震勘探技术具有基础理论完备、距离探测目标较近、不受地形起伏影响、吸收衰减小、分辨率高等独特优势,是煤矿井下探测距离最远、精度最高的构造探测技术。针对原有槽波地震勘探设备笨重且被国外垄断、施工繁琐、采集道数少等问题,我们研制了一套轻便、施工简单、探测精度高的矿用节点式地震仪。开发了针对该仪器的基于嵌入式Linux的控制软件,实现了仪器的智能化采集和存储,取得了较好的效果。

1 硬件设计

矿用节点式地震仪采用32位ARM芯片、结合24位A/D、SD卡海量存储技术等构建嵌入式硬件平台,利用开源嵌入式Linux操作系统,完成系统功能配置、数据采集以及数据回收等功能。该仪器可实现单站三通道信号采集。

系统功能主要分为以下几个部分:

(1)电源模块:实现对系统中各个模块的供电管理,提供数字3.3v、5v,模拟2.5v,-2.5v的供电。该部分实现锂离子电池组到各部分电压输出的转换,并实现本安电源。

(2)ARM中央控制单元:本文采用三星S3c2440A核心控制板,该芯片是基于ARM920T核心,嵌入式技术的32位ARM处理器,其工作频率高达400MHz,处理速度更快,能耗更低。

(3)信号采集:采用高精度地震专用采集套片组成单通道采集,实现三通道同步采集,可实现三分量地震信号的采集。系统最高采样率可达4000SPS。

(4)数据存储:系统采用大容量工业SD卡实现对采集数据的实时存储。为了确保数据存储的可靠性,在数据存储过程中增加了CRC校验。

(5)时钟管理:采用实时时钟芯片,利用GPS授时器可实现对系统的准确对时。另外系统利用ARM中央控制单元实现对仪器的工作时间调度。

(6)网络通信:系统采用以太网实现仪器工作参数的配置以及数据的回传功能。

(7)按键管理:通过该模块可对系统的工作模式进行管理。按下不同的按键,系统分别进入对时、采集、配置等工作模式。

(8)指示灯管理:通过该模块可实现对系统工作状态的提示。不同的指示灯闪烁,提示系统分别进入对时、采集、待机或者出现系统故障。

2 软件设计

该软件在嵌入式Linux环境下开发,软件实现局域网内矿用节点式地震仪的参数配置、IP设置、采集信息设置、数据回收等功能。通过将编译好的软件下载到地震仪的ARM控制芯片中,矿用节点式地震仪通过按键选择进入Linux系统,实现web方式控制地震仪的数据管理和参数配置。

软件采用模块化设计的思想,通过web界面的功能选择,实现网络设置、时间设置、采样参数配置及数据下载等功能。软件流程图如图1所示。

图1 系统流程图

3 功能模块

根据矿用节点式地震仪的功能要求,将该软件划分为5个功能模块,分别为设备状态查询、记录状态查询 、记录设置、网络设置以及其他设置。

设备状态查询实现设备的基本信息的查询,记录状态查询实现设备的采样信息查询、记录设置实现设备的采样率、增益设置以及采样时间设置,网络设置实现设备的IP地址设置,其他设置实现设备的时间信息配置。

(1)设备状态

设备状态实现设备的信息查询,设备序号、设备名称、设备分组、电池电压、硬件版本、软件版本、当前时间、启用DHCP、IP地址、网络腌码、MAC地址。如图2所示。

图2 设备状态

(2)记录状态

实现设备各个通道的采样率、增益查询、各个时间段的采样信息显示。如图3所示。

图3 记录状态

(3)记录设置

设置设备通道X、通道Y、通道Z的增益,采样率设置,并按时间段设置设备的采样时刻及记录长度等信息,如图4所示。

图4 记录设置

(4)网络设置

网络设置实现设备IP地址配置以及子网掩码设置,并选择是否启动DHCP,如图5所示。

图5 网络设置

(5)其他设置

其他设置实现设备的设备名称、设备分组、时间信息设置,并实现该软件的登陆密码更改,如果6所示。

图6 其他设置

4 软件实现

采用嵌入式c语言和html脚本语言在Linux环境下进行软件开发。在矿用节点式地震仪硬件平台上移植嵌入式Linux系统,将编译好的可执行代码下载到ARM控制芯片中,实现软件的自动运行。为了实现仪器参数的智能化配置和管理,软件实现中使用了一些特殊的数据格式,采用结构体方式定义数据结构。

(1)数据结构设计

软件中使用的重要数据结构定义如下所示:

typedef struct

{ unsigned int dev_id;

char dev_name[256];

char dev_group[256];

char password[256];

char http_path[256];

char http_cgi_path[256];

int http_port;

bool lan_use_dhcp[1];

ipaddr lan_ip[1];

ipaddr lan_mask[1];

char mac_addr[6];

unsigned int serial_number; } CONFIGS;

(2)模块设计

软件中使用的一些重要功能模块定义如下所示:

void config_file_read(void);

void config_file_write(char *filename);

int recorder_init(void);

unsigned int recorder_get_max_record_cnt(void);

int recorder_get_record_data_start(void);

void recorder_get_record_data_end(int fd);

5 结语

矿用节点式地震仪为煤矿井下槽波探测提供了一套轻便、施工简单、道数可扩展的智能化采集装备,近年来在槽波技术推广中得到了很好的应用。为了实现仪器的智能化控制和管理,开发的基于嵌入式Linux的控制软件,实现了仪器采样率、增益、采样时间等参数的智能配置及采集数据的回收管理。采用该软件的矿用节点式地震仪已实现上百台多年的连续使用,从现场应用来看,该软件运行稳定、可靠,满足了我们的设计要求。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!