微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > 探地雷达信号的数据采集与显示研究

探地雷达信号的数据采集与显示研究

时间:05-08 来源:中国通信网 点击:

随着电子技术和计算机技术的迅速发展,几种商业化的探地雷达系统开始得到了初步应用,其中具有代表性的有加拿大探头及软件公司(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获得成功的一个

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top