基于USB接口的探地雷达数据采集系统
波信号,放大器具有较小的增益;对深层目标反射的较弱的回波信号,放大器具有较大的增益。由于探地雷达对地下目标进行重复扫描,所以放大器的增益曲线是与扫描频率同步的周期信号,也就是时间的函数,所以称为时控增益放大器。时控增益放大器的增益曲线通过计算机软件进行调节,可以为任意的曲线。这样就给使用者带来了很大的灵活性,实验中可以对感兴趣回波区域的放大增益进行调节以使目标更加明显。时控增益放大器由压控增益放大器、DAC和FPGA内部的RAM及控制电路组成。
由于不同的采样点数和扫描速度使得探地雷达接收机输出信号的有效带宽不同,为了提高信噪比,设计了模拟可控低通滤波以实现对不同带宽信号的低通滤波。该部分采用集成的开关电容滤波器设计,同时在FPGA中设计控制电路对该滤波器进行控制。最终实现了一个截止频率为0. 1 - 50KHz可变、8阶巴特沃思低通滤波器。
在USB芯片的选取上,选择了FTD I公司推出的FT245BM芯片。该芯片功能强大,传输速率快,能够实现USB协议与并行I/O协议之间的转换,并支持USB1. 1 及USB2. 0 规范,数据传输速率可达1MB /S。不论从芯片本身的功能,还是从系统开发的角度出发,该芯片都是探地雷达数据采集系统USB接口设计的理想选择。FT245BM片内128 字节的接收F IFO和384字节的发送F IFO使得芯片可以实现高速数据吞吐。当USB 外设向主机传输数据时,只需在芯片发送器的状态位为空时向设备写入一个字节宽度即可。如果发送FIFO 已满,设备将发送器的状态位设置为满以禁止数据写入,直到F IFO中有部分数据通过USB接口传输出去。当主机通过USB向外设传输数据时,设备将首先判断芯片接收器的状态位是否为满以确定是否可以接收数据,然后外设从主机读取数据直到接收器的状态位为满,表明已没有可以读取的数据。
3. 2 驱动程序设计
W indows系统下的USB驱动包括三层,从高到低依次是:USB客户端设备驱动(USB Client DeviceDriver) 、USB总线驱动(USB Hub (Bus) Driver) 、主机控制器驱动(Host ControllerDriver)。后两者由Windows系统提供,用户只需要开发USB 客户端设备驱动程序,FTD I公司提供了一个通用的驱动程序(General Purpose Driver) ,即FTD2XX. SYS。为了增强系统的通用性和可移植性,可以将设备驱动程序( FTD2XX. SYS)进行动态链接库函数封装,得到动态链接库FTD2XX. DLL,从而可以通过动态链接库直接访问驱动程序。驱动程序的结构如图2所示。
实现动态链接库对驱动程序的访问,首先调用FTD I公司提供的接口函数FT_Open ( )打开设备并获得驱动程序的句柄,然后调用FT_GetStatus ( )获得设备接收数据的长度、传输数据的长度和设备的当前状态,从而通过驱动程序得到设备输出缓冲区的信息。进而调用函数FT_Read ( )和FT_W rite ( )实现对设备的读写。当应用软件退出时,用FT_Close ( )关闭设备。
图2 驱动程序结构图。
3. 3 软件程序设计
在本系统中,应用软件主要由动态链接库和应用程序两部分组成。动态链接库负责与USB 设备驱动程序通信,响应应用程序的各种请求;应用程序则以定时查询的方式将采集数据读入计算机事先开辟的大容量内存缓冲区,同时从缓冲区读出数据实时显示,采集结束后再将内存缓冲区的数据存盘。
系统的应用软件用于探地雷达参数设置、数据采集和实时显示。应用程序主要包括参数设置和数据录取两大部分。参数设置部分主要完成对雷达设备的控制和雷达参数的设置,这部分的操作都集中在软件的设置界面进行操作;数据录取部分完成对雷达采集数据的实时显示、存盘和数据回放,这部分的操作都集中在软件的录取界面进行操作,其框架结构如图3所示。
图3 应用软件框架结构图
系统进入正常工作状态后,硬件设备会将采集的数据源源不断地传回主机事先开辟的缓存内,接着对数据进行预处理,进而检测每一帧数据的帧头,将检测到的每一帧数据存放入另一块缓存,进行数据修复,用于系统的实时显示和存储操作,并将事先开辟的缓存做清空处理,准备接收新的数据。应用程序流程图如图4所示。
图4 应用程序流程图
4 实验结果与分析
考虑到探地雷达工作的环境和使用的便利性,本系统的计算机采用带触摸屏的便携式工控计算机,数据采集卡与工控机集成在一个机壳内。通过综合电缆与探地雷达发射、接收机连接后就组成了完整的探地雷达系统。该系统具有小型化、便携化、低功耗的特点。
为了验证数据采集系统的功能和可靠性,进行了如下实验: 雷达系统对一个距离雷达天线为0. 9m、面积为0. 2m ×0. 3m 的金属板目标进行探测。雷达天线正对目标
- 基于S3C44B0X的心电血压监测仪USB接口设计(11-28)
- C8051F320在USB设计中的应用(01-18)
- 基于ISP1581型接口电路的USB2.0接口设计(01-18)
- 用CP2101将USB口扩展成串口(01-18)
- TM1300 PCI-XIO口的UART和USB接口设计(01-17)
- 基于CH371的实用USB接口设计(01-23)