一种高集成度数据采集系统的快速实现与应用

2018-02-07 05:06:04刘东明罗明璋
长江大学学报(自科版) 2018年1期
关键词:采集卡电火花震源

刘东明,罗明璋

(长江大学电子信息学院,湖北 荆州 434023)

一个数据采集系统的设计一般包括调理电路、以处理器为核心的A/D转换模块和数据传输接口[1]。以一个简单的以单片机为核心的温度采集系统设计与实现为例,其系统设计框图[2]如图1所示。

图1 以单片机为核心的温度采集系统设计框图

在设计该数据采集系统时,要充分考虑各部分的细节,如单片机与各部分电路的硬件接口和驱动软件[3]。设计流程包括原理图设计、印刷电路板的设计与加工、元器件焊接、硬软件调试等[4],开发周期往往较长,无法适应一些时效性要求高的工程需求。随着电子技术的发展,各类集成度高的模块化产品层出不穷,如Intel公司的电脑棒(M1s)和MPS系列的采集卡,为数据采集系统的开发提供了新思路。下面,笔者利用市场上成熟的功能模块,以Intel公司的电脑棒(M1s)和MPS系列的采集卡为硬件平台,在Qt集成开发环境下设计运行于电脑棒内的采集卡控制和数据处理程序,实现了一种高集成度、高效的数据采集系统,并通过实际应用检验其设计的先进性与可靠性。

1 硬件架构

1.1 电脑棒

电脑棒(型号为M1s)是一种微型电脑,与传统全尺寸电脑一样支持同样的操作系统和相同的高质量配置:64位的四核处理器、4G的运行内存、64GB的硬盘、支持最大容量为128G的TF卡扩展、2.4G/5G双频WiFi、Win10系统、2个USB接口(USB3.0一个,USB2.0一个),而搭载尺寸却只有手机大小。

1.2 采集卡

采集系统针对工程物探中的地震波信号采集而设计。对大量现场地震波资料分析整理得出以下结论:地震波在一般软岩中传播的通带频率为200~400Hz,在硬岩中的通带频率为400~1000Hz,在新鲜的坚硬岩中的通带频率为1000~1500Hz[5]。根据采样定理及实际工程需要,系统的采样频率在10kHz以上即可。

系统选用的采集卡为MPS系列的采集卡,其型号为MPS-140801。该采集卡内置24位模数转换模块、8通道,支持外部触发,采样率最高可达128kHz,单次数据采集深度可在1024~8192点动态可调,并具有完备的数据传输接口,能较好地满足8路地震波高精度采集的需求。

1.3 硬件连接

整个硬件系统的核心为电脑棒和采集卡,电脑棒和采集卡均为市场化的成熟模块,通过USB接口进行通信,其实物连接如图2所示。

图2 电脑棒与采集卡实物连接图

图3 数据采集系统硬件系统原理框图

数据采集系统硬件系统原理框图如图3所示。系统采用锂电池供电,通过2个DC-DC(5~12V)模块分别给电脑棒(M1s)和采集卡(MPS-140801)供电。检波器拾取的地震波信号经调理电路进行滤波、放大等处理后,在采集卡的A/D转化模块实现数字化,经USB总线传输到电脑棒,电脑棒通过扩展的WiFi接口将数据传至终端,终端软件对数据进行保存并绘制曲线。整个系统的工作流程由终端软件和电脑棒里软件共同控制完成。因此,该系统的开发核心为终端和电脑棒里软件的开发。终端软件负责与电脑棒的WiFi通信和数据的存储显示;电脑棒里的软件主要负责采集卡的控制和与终端的WiFi通信。软件均在Qt开发环境下开发,利用Qt的跨平台特性,可以将软件移植到Windows和Android系统,因此终端可以是Windows系统的电脑和Android系统的平板电脑,可视工作环境由用户选择终端。

2 软件设计

2.1 软件结构

图4 软件结构图

软件分为2部分,均在Qt集成环境下开发:一部分为运行在电脑棒里的程序,其主要功能包括采集卡的驱动和与终端的网络通信;另一部分为运行在终端里的程序,主要功能模块为与电脑棒的网络通信接口和数据的存储、显示(图4)。电脑棒和终端的网络通信采用C/S架构,其中电脑棒为服务器端,终端为客户端。软件系统设计充分利用Qt的跨平台特性,客户端程序可以安装在Windows系统或Android系统下,终端选择就可以有2种:Windows系统的电脑、Android系统的平板电脑或手机,可以由用户自行选择。

2.2 服务器

服务器端程序包括采集卡驱动和网络通信2个模块。

2.2.1 采集卡驱动

MPS-140801 采用 DLL(Dynamic Linkable Library,动态链接库)的方式来进行编程驱动。DLL的编制与具体的编程语言及编译器无关,只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调用。MPS-140801提供的驱动DLL文件名为MPS-140801.dll,内部的驱动函数分别为打开设备、关闭设备、配置参数、开始采集、关闭采集、读取数据等操作函数。该系统使用C++语言在Qt环境下调用DLL:

1)定义一个函数指针typedef void (* FUNC )(void);

2)定义一个函数指针变量FUNC Func;

3)加载DLL:QLibrary mylib(“MPS-140801.DLL”);mylib.load();

4)找到DLL中的函数Func=(FUNC) mylib.resolve (“FuncInDLL”);

5)调用函数Func()。

2.2.2 网络通信

服务器的网络通信分为2部分:

1)使用UDP协议。UDP协议作为一种无连接的协议,可面向网络中的所有主机发送数据包而不需要与其中的主机连接[6,7],所有主机接收数据包后,根据自身需要决定是否处理。在该系统中电脑棒连接WiFi后的IP地址会变化,使用TCP/IP时,客户端与服务器端的连接的前提是要知道服务器端的IP,变化后的IP需要告知客户端,系统使用UDP协议在每次服务器程序启动后将连接WiFi后的IP地址以数据包的形式发送出来,由于客户端连接同一WiFi,客户端可以收到数据包并解析出IP地址,进而客户端就可以与服务器连接,服务器使用UDP套接字QUDPSocket(Qt下的UDP套接字)发送数据包。

2)使用TCP/IP协议与客户端通信。服务器监听IP地址和8080端口,等待客户端的连接请求,一旦客户端有连接请求,服务器便获取套接字,用该套接字便可与客户端通信。

2.3 客户端

客户端程序包括软件界面、文件系统和网络通信3个模块。

2.3.1 软件界面

图5 客户端软件界面图

软件界面分为采集操作区、文件选择区(选择保存好的文件查看波形)、参数区、波形显示区。采集操作区实现采集和关闭采集操作,采集有2种选择:由软件触发采集,采集按钮按下后触发采集;外部触发采集,对应的按钮按下后,采集卡等待外部触发信号触发采集。文件选择区供用户选择相应文件,参数设置供用户设置采样率和采样长度,在采集完成后,将采集的数据的波形绘制在波形显示区。图5为实现的软件界面。

2.3.2 文件系统

采集的数据以二进制文件保存,二进制文件分通道进行保存,一个通道保存按照“头结构-通道数据-尾结构”保存,头尾结构为2个字节的16进制数据,通道数据按低字节在前、高字节在后的顺序存储。

2.3.3 网络通信

客户端的网络通信部分与服务器一样,有2个部分:

1)使用UDP协议套接字接收服务器发来的IP地址数据包,解析出IP地址;

2)使用TCP/IP协议套接字以IP地址和8080端口为参数,使用connect()函数请求连接服务器,连接成功后,便可用套接字与服务器通信。

2.4 网络通信协议

客户端与服务器连接成功后,客户端可以向服务器发送命令以控制采集,发送的命令长度为8字节,格式定义如下:

【G 命令类型 命令长度 命令参数 g 校验和】

1 2 3 4~6 7 8

G:帧头

命令类型: 0x33——关闭采集系统

0x55——采集

0xcc——停止采集

0x77——请求服务器传送采集数据

命令长度:一个命令的大小

命令参数:当命令类型为0x55时,4:采样率/1000 5:采样长度/1024,其余情况各位均为为0。

g:帧尾

校验和:前面各位的异或和

服务器接收客户端的采集命令后,驱动采集卡工作,采集完毕后,服务器将数据上传客户端。数据以帧为单位传送,一帧长度为71字节,格式定义如下:

1B1B1B1B64B1B1B1BABCDEFGH

其中,A和B为帧头,均为1字节; C和D为帧序号,C为低字节,D为高字节,均为1字节; E为有效数据,64字节; F和G为帧尾,各占1字节; H为异或校验位,1字节。

3 测试与应用

3.1 测试平台及步骤

图6 系统测试工作原理图

采集系统在测试时采集卡接三分量检波器,采集电火花震源激励的地震信号。电火花震源是一种新型的绿色震源,利用电容器充电放电的基本原理,进行蓄能和释放能量,产生地震波。笔者使用的电火花震源由长江大学物探科技公司研制,该电火花震源采用光纤信号转化的下降沿信号作为采集卡的外部触发信号,与采集卡实现同步。客户端软件安装在Windows 10系统的笔记本电脑。

系统测试工作原理图如图6所示。采集系统由电脑客户端软件设置采样参数并将采集卡设置为外部触发采集方式。电火花震源作为产生地震波的装置,由操作人员通过控制器使其充电到合适电压(一般为5kV左右)后放电。电火花电容器中的高电压通过插在水中的电极释放,使周围水电离并汽化,电能转化为地震波能、部分热能和光能,与此同时电火花震源的光纤同步盒产生下降沿信号并输送到采集系统的采集卡,触发采集卡开始采集。三分量检波器拾取地震波信号,并作为输入信号传给采集系统的采集卡,采集卡将信号数字化并传给电脑棒,电脑棒的服务器软件将采集的数据通过无线网络传到客户端软件处理。

系统测试步骤如下:

1)连接好电火花震源各个模块,将放电电极插入装有水的井中;

2)将光纤同步盒信号线连接到采集系统的采集卡的外部触发输入端,将三分量检波器连接到采集卡;

3)分别打开电火花震源和采集系统(包括硬件系统和终端电脑),打开电脑客户端软件(电脑棒中的服务器软件设为开机自启动,故不需要手动打开),使终端电脑连接采集系统无线网络;

4)使电火花震源充电并放电,此为电火花震源预热过程(由于没有将采集卡置为外部触发状态,故采集系统不会进行采集),多次进行,充电电压从0.5kV到4kV逐级升高,充电到4kV放电后结束预热;

5)设置采样参数和将采集卡置为外部触发采集方式;

6)电火花震源充电并放电,充电电压为4~6kV;

7)分析客户端软件显示的数据曲线,如需要再次测试,返回5);

图7 采集数据波形显示图

8)结束测试。

3.2 测试结果

采集系统成功采集到数据,采集数据波形显示如图7所示。绿色曲线为三分量检波器的X轴数据曲线,红色曲线为Y轴数据曲线,蓝色为Z轴数据曲线。曲线横坐标为采集时间,单位为ms,纵坐标为检波器采集的信号在采集卡中转换后的电压值,单位为mV。

通过测试可知,该系统能有效通过外部触发采集电火花激励的地震信号,采集的数据可靠,采用C/S架构的软件,让实际操作变得简单,系统工作稳定,服务器能够很好地驱动采集卡工作,及时地传输采集数据,客户端接收数据并绘制数据的曲线,数据曲线符合三分量检波器采集的数据的规律。

4 结语

笔者研究的数据采集系统在成熟的硬件平台上进行集成开发,缩短了数据采集系统的开发周期。通过Qt开发C/S架构的软件,服务器程序实现对采集卡的控制,并将采集到的数据通过网络传送至客户端。客户端软件充分利用Qt的跨平台特性,可以在Windows和Android系统下运行,终端电脑可以是Windows系统的电脑、Android系统的平板电脑或手机,增加了系统的灵活性。系统在应用中与电火花震源配套使用,能有效的触发并顺利采集数据,具有较好的稳定性。

[1]陈德运,高明,李伟,等.新型ECT数据采集系统设计与实现[J].电机与控制学报,2013,17(5):87~92.

[2]杨述斌.工业现场温度采集系统设计与实现[J].中国科技信息,2007(23):75~76,78.

[3]张燕红,郑仲桥.基于单片机AT89C52的数据采集系统[J].化工自动化及仪表,2010,37(3):110~112.

[4]郑伟军,王保良,黄志尧,等.高速ECT的数据采集系统设计[J].仪器仪表学报,2008,29(9):1883~1887.

[5]刘云祯,梅汝吾.TGP隧道地质超前预报技术的优势[J].隧道建设,2011,31(1):21~32.

[6]刘源,张刚.可靠UDP协议栈的FPGA实现[J].火力与指挥控制,2017,42(7):139~143.

[7]张翼德,冯钢.无线传感器网络数据采集系统研究[J].电子科技大学学报,2008(S1):40~43,57.

猜你喜欢
采集卡电火花震源
高精度AD采集卡性能测试及评价方法研究
中国测试(2022年2期)2022-03-19 09:57:30
论电火花表面熔覆技术
湖北农机化(2020年4期)2020-07-24 09:07:36
一种控温式重力驱动电火花液循环系统研制
震源的高返利起步
聚晶立方氮化硼复合片电火花线切割高效切割研究
面向数控机床的多通道传感数据采集卡设计
烧结NdFeB永磁材料电火花线切割高效低损切割研究
并行高速采样在地震物理模拟采集中的应用
PCI-e高速数据采集卡的驱动与上位机软件设计
电子器件(2015年5期)2015-12-29 08:43:12
可控震源地震在张掖盆地南缘逆冲断裂构造勘探中的应用
华北地质(2015年3期)2015-12-04 06:13:25