位置:51电子网 » 技术资料 » 测试测量

一种基于高速数据采集卡的虚拟示波器开发

发布时间:2007/8/28 0:00:00 访问次数:482

作者:常熟理工学院信息与控制工程系 陈景波


摘  要:本文基于PCI接口的CS 82G高速数据采集卡和Visual C++编程工具,开发了一种快速的虚拟示波器试验系统,实现了高速数据的采集和动态波形的显示,并具有频谱分析和数字滤波功能。


关键词:虚拟示波器;数据采集;CS 82G


引言


虚拟仪器以通用计算机作为系统控制器,各种复杂测试功能、数据分析和结果显示都完全由计算机软件完成,在很多方面较传统仪器有无法比拟的优点。


本文在带有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大功能模块:数据采集、用户界面、频谱分析、数字滤波以及波形显示。


信号采集模块


信号采集模块主要完成对数据的采集,根据所采集信号的不同采用不同的采样频率。这个模块中应用程序会通过采集卡的驱动程序和硬件进行通信,如果把这个模块放在程序主线程中实现,那么,当应用程序与驱动程序进行数

作者:常熟理工学院信息与控制工程系 陈景波


摘  要:本文基于PCI接口的CS 82G高速数据采集卡和Visual C++编程工具,开发了一种快速的虚拟示波器试验系统,实现了高速数据的采集和动态波形的显示,并具有频谱分析和数字滤波功能。


关键词:虚拟示波器;数据采集;CS 82G


引言


虚拟仪器以通用计算机作为系统控制器,各种复杂测试功能、数据分析和结果显示都完全由计算机软件完成,在很多方面较传统仪器有无法比拟的优点。


本文在带有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大功能模块:数据采集、用户界面、频谱分析、数字滤波以及波形显示。


信号采集模块


信号采集模块主要完成对数据的采集,根据所采集信号的不同采用不同的采样频率。这个模块中应用程序会通过采集卡的驱动程序和硬件进行通信,如果把这个模块放在程序主线程中实现,那么,当应用程序与驱动程序进行数

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!