基于LabWindows/CVI虚拟示波器的设计与实现
0 引 言
随着虚拟仪器技术的发展,采用“虚拟仪器”来取代传统仪器的新的测控方法正在取代传统的测控系统,即利用数据采集卡、信号调理卡或其他计算机外围硬件进行信号的采集与检测,然后由计算机来实现对信号的处理、计算和分析以及测试结果的显示。
Labwindows/CⅥ是基于标准C语言的集成软件开发环境,其开发虚拟仪器的步骤主要是先确定程序的基本框架,创建用户界面,然后完成程序代码的编写,最后创建工程文件,将程序文件、头文件、用户界面文件加入工程中,编译调试生成可执行文件。
1 数据采集卡的设计
传统的数据采集卡包括多路开关、放大器、采样/保持器、A/D转换器、D/A转换器等器件组成。PCI(peripheral component interconnect)总线即外部部件互连总线,是一种高性能32/64位地址数据复用高速外围设备接口局部总线。随着微处理机的性能不断提高,人们对微机系统的I/O带宽不断提出新的要求,原有的标准总线,如ISA、EISA和Mc已经逐渐不能胜任现代数据采集技术的要求。PCI局部总线的引入,打破了数据传输的瓶颈,以其优异的性能和适应性,成为微机总线的主流,基于PCI总线的数据采集系统是高速数据采集系统的发展方向。基于PCI总线的数据采集卡的整体结构可以设计如图1所示:
完成数据采集卡的硬件设计后,需要进行板卡的驱动程序编写。其中的WDM(Window Driver Model)是Microsof讼司力推的驱动模型,其提供了更多特性,包括即插即用、电源管理、WMI等,且WDM还是一个跨平台的驱动程序模型,可以在不修改代码的情况下重新编译就可以在不同平台上运行了。
2 虚拟示波器软件设计
虚拟示波器测试系统是通过外围硬件电路获得离散数据并对该信号进行时域的显示和分析。从而获得近似真实仪器的测试结果。本设计利用数据采集卡获得模拟信号,其软件结构如图2所示:
1)信号采集模块
由于本设计采用非NI数据采集卡,不能直接运用LabWindows/CVI的函数库来实现。但是板卡设计的驱动程序一般是以动态链接库的形式提供的,所以对于LabWindows/CVI而言,可以直接利用驱动程序中的动态链接库来实验数据文件的采样。我们把采集到的数据存储在一个一维数组中以便进行分析运算。
2)波形显示模块
设计采用LabWindows/CVI提供的Graph来显示波形,对于采集到的数据,存放在一个大小可调节的动态数组中,对该数据进行时域分析并画图显示。波形显示模块还包括AB通道波形的叠加,相减等基本运算。其实现方法就是利用C语言对数据元素的简单加减。
3)时域分析模块
时域分析包括A、B通道的自相关,AB通道信号互相关分析,AB通道的卷积,AB通道的李沙育图。相关运算设计利用LabWindows/CVI函数库中的Convolve()函数来完成。卷积是通过Correlate()函数来完成。图2左侧是AB通道的信号,其中脉冲信号可表示为:正弦信号可以表示为:x(n)=sin(k),0≤k≤1024,k∈Z图3右侧表示x(n)卷积u(k)的结果。其中横坐标表示采样点数共1024个点,纵坐标表示幅值。幅值增益1V/d,
4)信号调节模块
信号调节模块主要设计完成信号的垂直增益,垂直位移,水平增益的调节。设计的具体实现也是通过C语言对数组的操作实现。图4表示信号调节模块程序流程图。
5)存储模块
真实示波器由于存储硬件的限制,只能存储2~4个数据,而在在虚拟的数字存储示波器中,利用硬盘等存储介质,可以任意存取无限多个数据,而且存储更加安全。具体实现方法是:存储对被测信号取样,然后转换成数组,再将数组保存到文件中,读取时恰好相反,其工作流程如图5所示。
3 测试结果及仿真分析
按照LabWindows/CVI的设计流程,我们完成虚拟示波器的设计,并对正弦信号进行采样分析,结果如图6所示:
虚拟仪器的主要问题就是仪器的仿真,而仿真包括两个方面的内容,一个是仪器功能的仿真,另一个就是仪器外观及面板的仿真。本设计着重于仪器功能的仿真。
1)数据处理功能及波形存储功能的仿真
通过虚拟仪器软件功能设计,我们完成信号的显示、相关运算、卷积运算、文件的存储与读取,基本实现了示波器的功能。达到仿真的目标。
2)频带宽度仿真
一般来说,用计算机直接生成的虚拟示波器的带宽实际上就是计算机的带宽,其所能测量的频率的上限取决于计算机的性能。而实际上示波器受到种种因素的限制,其带宽远远低于计算机的带宽。限制示波器带宽的因素主要有:
①示波器上限工作频率的限制。
②Y通道放大器带宽的限制。
③时基电路扫描速度的限制。
为了达到仿真的效果,为虚拟示波器设计了一个100MHz,-3dB的低通数字滤波器。使用契必雪夫等IIR滤波器虽然能够较好的保持被测信号的幅频特性,但其相频特性很不理想。因此,采用矩形窗设计了一个FIR滤波器,保证了经过滤波器的信号能够线性的逼近被测信号的相位。矩形窗的频谱特性如下式(见图7)所示。
LabWindows CVI 虚拟示波器 相关文章:
- 基于LabWindows/CVI的通信电源系统自动化测试的实现(01-23)
- LabWindows/CVI的便携式电源控制器测试系统设计(03-04)
- 基于LabWindows CVI的扭矩扳手数据处理系统的设计与实现(10-16)
- 基于LabWindows/CVI虚拟仪器编程语言的飞行模拟器(08-12)
- Labwindows/CVI+Matlab建立高频衰减模型(02-27)
- 基于Labwindows/CVI和Matlab高频衰减模型建立与应(11-22)