当前位置:首页 > 测试测量 > 测试测量
[导读] 虚拟仪器以通用计算机作为系统控制器,各种复杂测试功能、数据分析和结果显示都完全由计算机软件完成,在很多方面较传统仪器有无法比拟的优点。本文在带有PCI总线接口的CS82G高速数据采集卡和Visual C++编

虚拟仪器以通用计算机作为系统控制器,各种复杂测试功能、数据分析和结果显示都完全由计算机软件完成,在很多方面较传统仪器有无法比拟的优点。
本文在带有PCI总线接口的CS82G高速数据采集卡和Visual C++编程工具的基础上开发的快速虚拟示波器试验系统,集成了波形采集、数据分析、输出、显示等多种功能。同时,为保证数据采集和波形显示的实时性,设计中还采用了多线程技术。


图1 CS 82G采集卡系统框图


图2 软件系统总体流程图

虚拟示波器的系统组成

系统组成
本虚拟示波器系统主要由数据采集卡、计算机和专用的软件组成。 其中数据采集卡完成对输入测量信号的调理采集、缓存,并通过计算机PCI总线送入内存;计算机在应用程序控制下,对数据进行处理、运算,最后完成各种电量测试并在屏幕上用图形或数据形式显示。这一切均可在人机交互方式下完成。
数据采集卡的硬件结构
本虚拟示波器采用的是Gage公司的CS 82G高速数据采集卡。其硬件结构框图如图1所示。
该数据采集卡是一个具有两个模拟量输入通道的标准的PCI总线插卡,卡上集成的两个高速8位ADC,最高工作频率高达1 GHz,在单通道工作模式下,两个ADC同时投入工作,分别在脉冲的上升沿和下降沿进行转换,所以最高采样频率可以达到2GHz。全卡的功能电路由数字控制逻辑电路统一控制。卡上配置有16MB的高速存储器,解决了高采样率和相对较低的PCI总线数据传输速率的匹配问题。
在使用之前必须对采集卡的硬件进行配置,这些控制程序用到了相应的底层DAQ驱动程序。通过采集卡自带的DLL,可以在程序中灵活地对硬件输入阻抗、输入电压范围、放大器增益大小、采样频率、每次采样点数等参数进行控制。
模拟信号经同轴电缆进入采集卡的输入通道后,经过前置滤波电路、衰减电路、可变增益的放大电路,将信号处理成ADC可以处理的标准电平,经过A/D采样量化转化成计算机可以处理的数字信号并缓存到存储器。该采集卡支持软件通过PC机的PCI总线接口控制模拟通道的阻抗匹配、放大器的增益选择、启动ADC及转换结束的识别,并允许将采集数据以DMA方式传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打印输出。

系统的软件设计
虚拟示波器的软件开发环境
虚拟仪器最核心的是软件技术。目前,用于虚拟仪器开发的软开发平台主要有两大类:一类是通用的可视化软件编程环境,主要有Microsoft公司的Visual C++和Visual Basic、Inprise公司的Delphi和C++ Builder等;另一类是一些公司推出的专用于虚拟仪器开发软件的编程环境,主要有NI公司的图形化编程环境LabView及文本编程环境LabWindows/CVI、Agilent公司的图形化编程环境Agilent VEE。考虑到软件的灵活性、高效性和可移植性,本设计中采用Visual C++作为虚拟示波器的开发环境。
软件的方案设计
图2展示了本设计中软件系统的总体流程图。程序开始工作后,首先进入主线程,进行相关的初始化工作,主要是软件界面的初始化(采集卡的初始化在采集子线程中进行)。OnStart()函数的主要目的是执行StartCapture()函数以启动数据采集子线程,执行StartProcessing()函数以启动数据处理子线程,主线程进入消息循环,并通过消息和子线程进行通信。采样线程和数据处理线程实际上是由g_bRunThread变量控制的循环过程,这样可以方便主线程控制工作线程的退出。数据采集线程利用了采集卡驱动程序提供的中断采样函数,采样深度n由控件设定,每当采集完成n个点的采样时,采样数据便被送入卡上的缓冲区,然后通过PCI总线向计算机传输数据,当数据传输完毕之后,采样线程向数据处理线程发送WM_RECEIVE消息,通知数据处理模块对这n点进行分析处理。在主线程里,主要接收用户操作的消息,比如通道参数的设定、通道显示的设定、数据的存储打印以及察看历史数据、波形等操作。

软件功能模块
该虚拟示波器有5大功能模块:数据采集、用户界面、频谱分析、数字滤波以及波形显示。

信号采集模块
信号采集模块主要完成对数据的采集,根据所采集信号的不同采用不同的采样频率。这个模块中应用程序会通过采集卡的驱动程序和硬件进行通信,如果把这个模块放在程序主线程中实现,那么,当应用程序与驱动程序进行数据通信时,主界面就会冻结。为了解决这个问题,本文直接创建一个子线程来单独完成与驱动程序的通信任务,让主界面专心于响应视窗界面的信息。在子线程中通过调用gage_start_capture( )函 数进行数据的采集。

用户界面模块
界面主要分为三个视图:主视图基于ScrollView,用于显示波形;另外两个视图基于FormView,一个用于动态显示采集数据的特征参数,另一个用于对示波器进行操作。

频谱分析模块
本软件利用快速傅里叶变换(FFT)进行频谱分析,采用按时间抽取FFT算法,然后将幅值频谱分析结果在用户界面上以坐标曲线形式显示。进行FFT时可以选择点数,有1024、2048、4096三种选择,如果点数不够,程序自动补零。

数字滤波模块
本软件可以对所采集信号进行低通和高通滤波。首先根据给定通带截止频率、阻带截止频率、通带衰减和阻带衰减设计出Butterworth模拟滤波器,再用双线性变换法设计出数字滤波器。

波形显示模块
当前波形显示主要有两种方法,分段显示和滚动显示。本设计采用了滚动显示的方法,并且提出了一种新的滚动显示算法,突破了滚动显示只能观察变化缓慢的信号的限制。算法核心思想如下。
1. 得到所采集数据块的第一个和最后一个数据点的横坐标m_xMin和m_xMax,两者之差即为波形的逻辑宽度。
2. m_xMax-m_xMin的值为逻辑坐标,把它转化为设备坐标cx,用cx设定整个滚动视图的宽度。
3. 为了提高画图的效率,需要画出滚动视图可视部分的图形,也就是剪裁区的图形,因此要确定剪裁区。
4. 画出坐标以及剪裁区内的一段波形。利用CSplitterWnd:Do ScrollBy()函数,根据采样间隔的大小决定断滚动视图速度的快慢。这样视图滚动以后相应的剪裁区也会发生改变,从而能动态画出新的波形。
  
实验与讨论
在实验中使用该系统对正弦信号和锯齿波信号进行了采集,并对两个通道的信号分别进行了频谱分析。实验时示波器参数设置如下:采样模式为双通道,其中通道1对正弦信号进行采样,通道2对锯齿波信号进行采样;采样率为120MS/s;触发源为软件触发;触发时间极限为20ms;输入信号电压范围为+/-5V。实验结果显示达到了预定的效果。

设计中一个关键问题是在保证数据采集实时性的同时,又能及时地响应用户的操作或进行数据显示。在本文中,为解决这个问题采用了多线程技术,除了一个处理用户输入消息的用户界面线程之外,还创建了两个辅助线程,从而最大程度地保证了系统的实时性。

传输速率的匹配问题
在使用之前必须对采集卡的硬件进行配置,这些控制程序用到了相应的底层DAQ驱动程序。通过采集卡自带的DLL,可以在程序中灵活地对硬件输入阻抗、输入电压范围、放大器增益大小、采样频率、每次采样点数等参数进行控制。
模拟信号经同轴电缆进入采集卡的输入通道后,经过前置滤波电路、衰减电路、可变增益的放大电路,将信号处理成ADC可以处理的标准电平,经过A/D采样量化转化成计算机可以处理的数字信号并缓存到存储器。该采集卡支持软件通过PC机的PCI总线接口控制模拟通道的阻抗匹配、放大器的增益选择、启动ADC及转换结束的识别,并允许将采集数据以DMA方式传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打印输出。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

虚拟示波器是一种基于计算机技术的数字示波器,它能够将模拟信号转换为数字信号并进行实时显示和分析。

关键字: 虚拟示波器 数字示波器 数字信号

随着科技的飞速发展,数字时代应运而生,与之相伴的是一种全新的测试测量工具——虚拟示波器。虚拟示波器利用计算机技术,将传统的示波器功能进行数字化、软件化,使得用户在使用时更为便捷。它不仅具备传统示波器的所有功能,而且拥有更...

关键字: 示波器 虚拟示波器

以下内容中,小编将对虚拟示波器的相关内容进行着重介绍和阐述,主要在于探索什么是虚拟示波器、虚拟示波器的特点以及采样速率对于虚拟示波器的重要性。

关键字: 虚拟示波器 示波器 采样速率

焊缝缺陷自动超声检测系统是一种重要的无损探伤设备,可用于检测平板、管道、容器等的纵、横焊缝以及接管角焊缝缺陷。与手工检测方法相比,该系统具有运行平稳、漏检率低、显示直观等优点。 在焊缝缺

关键字: 数据采集电路 超声检测 寄存器 高速数据采集卡

  本文通过LabVIEW虚拟实验软件平台设计了一种利用ATmega16单片机进行数据采集,通过RS232串行通信将数据传送给PC的简易虚拟示波器。用户可以在开发平台上对数据采集参数

关键字: 电源技术解析 虚拟示波器 简易多通道

为了能够使得虚拟示波器在工作当中发挥出更多的优势,软件工程师们也做着各方面的努力。都知道虚拟的技术是在电脑的基础上应用起来的,也就意味着一个虚拟的示波器,它的灵魂部分就是软件功能,这就要求在软件工具的

关键字: 虚拟示波器 软件功能

引言  模拟示波器由于无法高效地观察实验结果、数据处理功能弱等缺点,已逐渐被数字示波器所取代,但数字示波器价格昂贵。虚拟仪器是在通用计算机平台上,用户利用软件根据自已的需求定义设计仪器的测量功能,其可

关键字: sopc 技术教程 虚拟示波器

在模拟示波器中,上升时间是示波器的一项极其重要的指标。而在虚拟示波器中,上升时间甚至都不作为指标明确给出。由于虚拟示波器测量方法的原因,以致于自动测量出的上升时间不仅与采样点的位置相关,如图2中a表示上

关键字: 上升时间 虚拟示波器
关闭
关闭