摘 要:虚拟仪器是当今仪器技术的发展热点,本文设计并实现了一种多功能虚拟示波器,详细介绍了利用图形化编程语言LabVIEW进行仪器程序设计的方法。仪器具有波形显示、读写、存储、打印和测量参数数字显示功能。
关键词:示波器,虚拟仪器,数据采集,LabVIEW
引 言
示波器是生产实践和科学研究中应用十分广泛的电子测量仪器。目前常用的模拟示波器,外型笨重,功能单一;数字示波器虽然有一定的功能扩展,但价格昂贵,维护升级成本高,短时间内难以普及应用。随着计算机技术、信息处理技术和电子技术的发展,近年来,出现了一种基于计算机和软件的新型仪器——虚拟仪器。虚拟仪器以计算机为核心,功能由用户定义和设计,具有虚拟面板,其测试功能由测试软件实现。虚拟仪器的关键是用软件来实现硬件的功能,实现“软件即仪器”。本文应用虚拟仪器开发平台LabVIEW开发了一种多功能虚拟示波器,不仅扩展了示波器的分析和计算能力,而且降低了仪器的价格,增强了仪器的通用性,实现了波形显示、存储、打印和读取以及多个测量参数自动显示、相位差自动计算等功能。
1 系统硬件设计
图1 多功能虚拟示波器结构框图
虚拟仪器由通用仪器硬件平台和应用软件两大部分构成。硬件平台完成被测信号调理与信号采集,即获取被测信号。目前较常用的虚拟仪器系统是数据采集系统(PC-DAQ系统)、GPIB仪器测试系统、VXI仪器测试系统。
1.1 仪器的结构框图
多功能虚拟示波器的结构框图如图1所示。仪器由调理电路、数据采集、计算机等部分组成。调理电路将被测信号调理成-5~5V输入信号,送数据采集卡,转换成为相应的数字信号,再由计算机进行相关分析、计算、输出处理,显示、打印、保存观测结果。
1.2 数据采集卡
国家自然科学基金(60272051)资助项目,湖南省杰出中青年专家基金(01JZY2101)资助项目 |
1.3 多功能虚拟示波器功能设计
多功能虚拟示波器的设计参考了传统示波器的功能,并结合虚拟仪器的特点与计算机强大的信息处理能力,在功能上进行了扩展,实现了波形显示、存储、打印和时域、频域参数自动测量、显示、查询以及相位差的自动计算功能。
多功能虚拟示波器的主要技术指标:
采样速率:200kb/s
采样位数:12bits
波形显示模式:双通道X-Y mode
定位标尺:两个
数据存储:硬盘或软盘
2 仪器软件设计
2.1 虚拟仪器软件开发工具
虚拟示波器软件设计采用的NI公司的虚拟仪器开发工具LabVIEW。LabVIEW是根据G编程语言,为数据采集与控制、数据分析与显示而设计的一种图形编程开发环境。它用图标代码代替编程语言创建应用程序,用数据流编程方法描述程序的执行,用图标和连线代替文本的形式编写程序,为虚拟仪器设计者提供了便捷轻松的设计环境,设计者利用它可以像搭积木一样,轻松组建一个测试系统以及构造自己的仪器面板,而无需进行任何烦琐的程序代码编写。
使用LabVIEW开发平台编制的虚拟仪器程序VI包括三个部分:程序前面板、框图程序和图标/连接器。程序前面板用于设置输入数值和观察输出量,生成模仿传统仪器的控制面板[1]。每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW图形编程语言编写,类似传统程序的源代码。图标/连接器是子程序SubVI被其它VI调用的接口。LabVIEW采用的是自上向下的模块化编程方法,所生成的各个子程序有利于主程序的设计与实现[2]。这种设计方法可大大减小虚拟仪器开发的难度,利于仪器开发人员之间的分工协作。
多功能虚拟示波器的主要技术指标:
采样速率:200kb/s
采样位数:12bits
波形显示模式:双通道X-Y mode
定位标尺:两个
数据存储:硬盘或软盘
2 多功能虚拟示波器的软件结构
多功能虚拟示波器主要由软件来完成信号的采集、处理和输出。系统软件包括前面板生成、数据采集、数据处理、波形显示、参数测量、相位差计算、打印、记录等模块。主程序结构框图如图2所示。
2.3 数据采集模块设计
NI公司提供了完善的数据采集卡设置软件Measurement & Automation,用于连接数据采集卡硬件和计算机软件[3]。虚拟示波器采用了工具DAQ节点(Utility Vis)。在Data Acquisition子模板中选Analog Input中的Analog Input Utilities->AI Waveform Scan.vi节点[4],能够满足虚拟示波器对数据采集和显示结果控制方面的众多要求。该数据采集节点可以设置设备号、通道、扫描次数、采样点、扫描速率;在触发方面,它有强大的设置功能:5种触发方式、2个触发源可选;可输出所采集数据的扫描周期。数据采集模块框图程序如图3所示。
图3 数据采集模块框图程序
2.4 数据处理模块设计
本文设计的虚拟示波器数据处理模块具有数据读写、波形显示、波形打印、波形存储、时域参数测量、频域参数测量等功能。数据采集后,需进行数字滤波、参数计算、频谱分析等数据处理。根据LabVIEW软件的特点,在编写程序时每一项功能对应一个子程序(SubVI),通过各子程序的调用与连接来完成数据处理任务。时域参数测量子程序的框图程序如图4所示。
图4 时域参数测量模块框图程序
2.5 前面板设计
多功能虚拟示波器的前面板设计模仿传统示波器形式,利用软件生成了显示窗、调节旋钮、开关键等部件,但仪器的操作、调节均由鼠标操作完成。仪器的前面板如图5所示。
图5 多功能虚拟示波器前面板图
3 结束语
本文设计的多功能虚拟示波器实现了参数的自动测量、分析、处理功能,节省了测量时间,提高了参数测量的精度,实现了波形、数据的存储和显示,具有相位差的自动计算与显示功能。多功能虚拟示波器的波形打印、暂停等功能也为仪器的使用带来了方便。实际应用表明,该虚拟示波器具有集成度高、功能强、操作简单、使用方便等优点。在实现传统示波器功能的基础上增加软件设计,还实现了频谱分析、万用表、频率计等功能,实现仪器的一机多用。
本文作者创新点在于以虚拟仪器开发平台LabVIEW为基础,设计、开发了具有波形检测、分析、存储、打印功能的集示波器、频谱分析仪、万用表、频率计为一体的多功能测量仪器,可望使测量人员从众多操作复杂的仪器中解脱出来,实现“测量室拎着走”。
参考文献:
[1] 杨乐平,李海涛,赵勇等. LabVIEW高级程序设计[M]. 北京:清华大学出版社,2003
[2] 谢启,温晓行,高琴妹, 等. LabVIEW 软件中菜单形式的用户界面设计与实现[J]. 微计算机信息, 2005,21(9-1):88~90.
[3] NI. LabVIEW User Manual[M]. USA:National Instrument Corporation,1998
[4] NI. NI DAQ User Manual for PC Compatibles[M]. USA:National Instrument Corporation,2001