基于通用HY-6070 C对探地雷达信号的数据采集方案

随着电子技术和计算机技术的迅速发展,几种商业化的探地雷达系统开始得到了初步应用,其中具有代表性的有加拿大探头及软件公司(ssi)的pulseekko系列、瑞典地质公司(sgab)的ramac钻孔地质雷达系统、美国地球物理探测设备公司(gssi)的sir系统及日本应用地质株式会社(oyo)的georadar系列等。但是,这些国外产品造价昂贵,且测量的局限性较大,严重地影响了它的普及。鉴于探地雷达具有广泛的用途对其进行了开发研制,目前已研制成功。由于篇幅限制,文中在此重点介绍数据采集部分和显示软件。
1 数据采集 在探地雷达数据采集试验中,所使用的是hy-6070 c通用数据采集控制板,此板的功能主要是a/d与d/a数据转换。其接口是isa总线型的,可以直接插入具有isa总线扩展槽的计算机中,在计算机的控制下构成信号采集、监视输入系统和模拟量电压信号、数字电压信号输入系统。hy-6070 c板上安装有12 bit分辨率的a/d转换器,其通过率为40 khz。为用户提供了两种模拟信号输入方式:16路单端输入和8路双端输入。通过硬件设置,模拟电压信号输入范围可以是0~5 v,土2.5 v,±5 v。此板还提供了1路12 bit d/a转换模拟电压输出通道。在hy-6070 c板上还装有可编程定时/计数器82c54,其中82c54的定时/计数器1和定时/计数器2级连,用以生成定时启动a/d转换的信号。定时/计数器o单独引出,供用户使用。hy-6070 c板支持软件触发、定时触发和外触发3种a/d电路启动转换工作方式。支持软件查询和中断申请数据传送工作方式。hy-6070 c板还为用户提供了16路数字输入/输出通道信号,接口电平符合ttl电平标准。
文中利用软件编程启动hy-6070 c板的a/d转换功能。在软件触发方式下,每次启动a/d转换前由软件切换通道,然后发送a/d转换启动命令来触发a/d转换。当a/d转换完成后,可通过软件查询a/d完成位,当程序测到a/d完成位为“1”时,即可读取a/d转换的12 bit数据。
a/d采样程序步骤如下:
(1)设置板上的模拟信号输入通道(共16个通道,编号为0~15);
(2)设置a/d触发方式,这里设置为软件触发;
(3)开始触发a/d转换;
(4)等待并查询a/d转换完成标志;
(5)对接收到的数据进行存储。
在hy-6070 c数据采集卡内预先分配了各种地址,程序通过访问这些地址并对其进行相应的读写操作来控制a/d采样的实现。在实际应用中,可以直接利用由c语言编制的应用程序来控制采集卡进行a/d转换,只需调用头文件为dos.h中的outport(address,data)(address为地址值,data为要向该地址输出的数据)与inportb(adaddress)(adadress是a/d转换数据所存储的地址)两个函数即可,但是应用程序的使用环境必须是dos操作系统。这给应用程序的使用者带来了诸多不便。因此为了让用户方便使用,作者制作了基于windows操作系统的显示软件。由于 windows操作系统不能像dos那样直接读取采集卡的板内地址,因此要想面向数据采集卡编程,首先需要安装数据采集卡的驱动程序,既让windows 操作系统能够识别到此硬件。在接下来的编程中还必须使用到数据采集卡自带的两个文件,hkiomfc.h和hkiomfc.lib,在这两个文件中定义了对采集卡进行控制的变量与函数体,编程时即可直接调用。
2 显示软件 利用visual c++6.0在windows操作系统下开发应用程序主要是使用mfc(microsoft fbundation class)类库。mfc是微软为windows程序员提供的一个面向对象的windows编程接口,它简化了windows编程工作。使用mfc类库的优点:首先,mfc提供了一个标准化的结构,这样开发人员不必从头设计创建和管理一个标准windows 应用程序所需的程序,而是从一个比较高的起点编程,可节省大量的时间;其次,它提供了大量的代码,指导用户编程时实现某些技术和功能。mfc库充分利用了 microsoft开发人员多年开发windows程序的经验,并可以将这些经验融入到自己开发的应用程序中去。
visual c++6.0集成环境对mfc提供了多种界面友好的辅助工具,用appwizard可以生成新的类,可以对类成员进行维护。mfc提供了一种机制,把 windows的消息与类的某个成员直接联系起来,减少程序员中间的处理过程。比如在菜单中加了一个命令项,指定其命令id,然后用 classwizard可以指定此菜单id与类的成员函数相联系,所需要的编程就是实现该成员函数的代码,其他代码均由mfc和class-wizard 负责处理。这种机制提高了程序开发效率,而且visual c++提供了mfc的所有源代码,这些源代码不仅可供参考,还为应用程序的调试提供了方便,源代码的开放性也是mfc获得成功的一个主要原因。
作者所设计的显示软件是基于单文档(sdi)框架结构的应用程序,其外观如图1所示。
由图可见,单文档的外观与常见的windows应用程序相似,因此操作方便,只需要选择各个菜单执行相应的功能即可。
探测波形实时显示功能的实现需要软件与前面提到的hy-6070 c数据采集卡配合实现。在厂家提供的驱动函数库内定义了一个chkioctrl类,在编程时只需声明一个此类的对象mhkdevice即可,然后就可调用驱动函数进行相应的操作。图2是波形的动态显示效果。
当得知地下有物体存在后,人们希望了解这个物体到底是什么,而利用上述波形的动态显示方法就难以给出结论。因此还需要通过这些回波产生一幅可视性强的图像,这通常建立在数字图像处理的基础上。通常称图2所示的波形为一维图像,如果能将其转化为二维图像,可视性会大为改善。这里用“波形堆积”一词来形容将一维图形转化为二维图形的过程。图3所示240个波形直接堆积的结果,这里采用灰度图像。
由图3可见,图像出现了灰度不均匀显示的效果,与图2单纯的波形相比,其可视性得到增强。这些不均匀的变化特征反映出目标的某些特性。
3 结束语 通过应用通用hy-6070 c完成了对探地雷达信号的数据采集,并且应用文中所编制的显示软件,对实时波形和堆积图形进行了正确显示,与所研制的探地雷达主机联调也得以成功,完全能够正确使用。

MEMS与传统CMOS刻蚀及沉积工艺的关系
Navi显卡市场接受度比上代Vega显卡高很多 玩家对AMD RX 5000系列显卡很认可
量子点电视凭什么独步高端市场
喜讯!感谢三星助力魅族MX7:性能暴增!
黑科技满满的智能魔镜,它究竟有何特殊之处
基于通用HY-6070 C对探地雷达信号的数据采集方案
张燕生:中国制造30年是代工贴牌
MAX1458构成的电桥激励电路
交流接触器电气符号及图形
千兆路由器和百兆路由器的区别 万兆路由器有什么好处?
科学计算器开根号怎么按_科学计算器怎么关机
安科瑞消防应急照明和疏散指示系统在某洁净医药的设计与应用
FPGA工程的Verilog HDL初学者设计要点
IBM申请区块链专利来防止无人机被偷窃包裹
大众市场采用区块链为什么会继续被推迟?
数字集成电路的故障类型
小米印度新机108MP像素 型号似乎为小米10i
前三季度营收464.15亿!这家逆变器龙头为何会“逆势狂飙”
脉冲电磁阀的分类_脉冲电磁阀安装方式
增益模块放大器的主要功能