作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。
标题 | 一种虚拟数字示波器的实现方案研究 |
技术领域 | |
行业 | |
简介 | 本文介绍了虚拟仪器的基本概念以及图形化编程语言LabVIEW,并在此基础上结合一个虚拟数字示波器的设计与实现过程的实例,具体阐述使用开发软件工具LabVIEW 进行虚拟仪器设计的方法、步骤与实现技术,借此展望虚拟仪器具有的广阔应用前景和巨大潜在经济效益。 |
内容 |
0 引言
目前,功能固定的传统仪器仍然是多数高等院校进行学生实验常用的教学仪器,这类仪器基本上都是由操作面板、信号输入端口、检测结果输出端口这几部分组成,是一台独立的实验装置,它们的功能都是通过硬件电路或固化软件实现的。这类传统仪器的功能和规模一般是固定的,由仪器生产厂家给定,用户不可以随意改变它们的结构和功能。另外传统仪器价格昂贵,对于一个普通高等院校而言,进行实验所需的教学设备至少要30套以上,每套都造价不菲,其负担是可想而知的。而且,台式机操作复杂,调试困难,更重要的其受干扰程度高,在教学中学生不容易接受,所有这些使传统仪器很难适应信息时代对仪器的要求。随着测试技术和计算机技术深层次的结合,出现了虚拟仪器[1]。
1 虚拟仪器简介
虚拟仪器(Virtual Instrument,简称VI),就是在通用仪器硬件平台上定义和设计仪器的功能,用户在操作虚拟仪器的同时就是在使用一台专门的电子仪器[2]。
首先,虚拟仪器使用软件实现,软件就是仪器,一个机房就可以是一个多功能实验室。其次,虚拟仪器人机界面好,内容丰富,借助虚拟仪器的功能,可以直观生动的展示其物理实质,减轻实验人员的教学负担,加深学生的理解。第三,使用虚拟仪器,可以提高实验效率,降低教学成本。在教学中,调试和校准往往比较费时,而虚拟仪器恰好可以避免这一点,参数输入简便,结果显示明确,且仪器不会有任何损坏。实际设备的更新只是软件的更新而已。第四,利用网络教学,可以实现教学手段现代化。借助虚拟仪器技术,可以把仪器技术与计算机技术相结合,可以充分利用计算机资源。在实验过程中,通过声、光、动画等手段的结合,教学将会更加生动形象,实现将会更加精确。将来进入网络教学时代,虚拟仪器将更加显示出其优越性[3]。 2 虚拟仪器的结构
虚拟仪器包括硬件平台和软件两部分,具体示意图如图1所示:
构成虚拟仪器的硬件平台包括两部分:
1)计算机:各种类型的计算机均可,主要用来管理虚拟仪器的软、硬件资源,是构成虚拟仪器的硬件基础。
2)输入/输出接口设备:其主要用来完成被测量信号的采集、放大、模/数转换等功能。可以根据实际的情况采用不同的接口硬件设备,如数据采集卡(DAQ)、GPIB总线仪器、VXI总线仪器模块、串口仪器等。
构成虚拟仪器的软件有两部分:
1)输入/输出接口驱动程序:主要用来完成特定外部硬件设备的扩展、驱动与通信等。
2)应用软件:建立在仪器驱动程序之上,直接面对操作用户,通过提供直观、友好的操作界面、丰富的数据分析和处理功能,来完成测试任务。
3 LabVIEW 图形化编程语言
LabVIEW是美国国家仪器公司(National Instruments)推出的一种基于图形开发、调试和运行程序的集成化环境,是目前国际上唯一的编译型图形化编程语言,使用“所见即所得”的可视化技术建立人机界面,使用图标表示功能模块,使用图标之间的连线表示各模块间的数据传递。同时,LabVIEW 继承了高级编程语言的结构化和模块化编程的优点,支持模块化与层次化的设计,这种结构的设计增强了程序的可读性。LabVIEW 使得不熟悉文本式语言编程的设计者也可以在测控领域建立计算机仪器系统――虚拟仪器,被誉为“科学家与工程师”的语言[4]。
4 虚拟数字示波器的实现
本虚拟数字示波器主要由一块PCI总线的多功能数据采集卡和相应的软件组成。将它们安装在一台运行Windows系统的PC机上,即构成一个功能强大的数字示波器。
4.1 确定仪器的接口形式
DAQ(Data Acquisition)数据采集接口是基于计算机标准总线的内置功能插卡,可以充分利用计算机的资源增加测试系统的灵活性和扩展性。利用DAQ,可以方便快捷地组建虚拟仪器,实现“一机多型”和“一机多用”。DAQ结构虚拟仪器不但实用而且具有很高的性价比,是一种特别适合我国国情的虚拟仪器方案。PCI总线传输速率高,数据吞吐量大,是今后数据采集板卡设计的主流。因此本虚拟数字示波器采用一块美国国家仪器公司(National Instruments,简称NI)出品的NI 6024E型PCI总线数据采集卡。
4.2 确定接口卡的设备驱动程序
本虚拟数字示波器采用的NI E系列数据采集卡采用最新的DAQ―PnP(即插即用)总线技术,保证了仪器的性能与可靠性。配有的驱动软件支持Windows9x/NT等操作系统的不同编程语言,可以方便地对其编程,实现对数据的采集、分析处理、显示表达、输出控制等多种功能。如果没有则应针对所用接口卡编写设备驱动程序。确定仪器应用程序的编程语言LabVIEW编程将软件的界面设计与功能设计独立开来,修改人机交互界面无需对整个程序进行调试,这对设计像仪器操作面板这样复杂的人机界面而言是十分方便的。LabVIEW还为用户提供了函数扩展功能,利用LabVIEW中的Code interface Node(CIN),可以调用C等传统编程语言写的程序代码;利用LabVIEW中的Call Library Function,可以调用标准动态链接库(.DLL)。总之,LabVIEW 作为图形化编程语言环境,为虚拟仪器开发提供了一种快捷、方便和功能强大的软件工具,因此本虚拟数字示波器采用LabVIEW 进行设计开发。
4.3 虚拟数字示波器的实现过程
下面主要讲述如何利用LabVIEW 实现多功能数字示波器功能。这个系统的基本工作原理是对模拟信号进行数据采集后存入数据文件,根据使用者的不同要求由软件对数据进行相应分析、处理,最终在屏幕上显示处理结果。系统要求支持双通道工作,即可以同时分析扫描两路信号,这种功能的简易实现也得益于计算机的高速运算能力。计算机只需要多做一组运算,在速度上不会有问题,运算再多做几组也行;而如果是传统仪器的话,就需要增加电路器件,提高了电路的复杂度,而且要同时显示分析结果也不方便。由于系统运行需要具备较高的精度,因此对电源的稳定性和系统的抗干扰去噪能力提出了很高的要求。设计时必须充分考虑外界的电磁干扰及电路稳定性等因素,并采取相应措施,包括硬件、软件两方面。
创建虚拟仪器的过程分三步:① 由于虚拟仪器的形式是仿照实际仪器的面板,所以它的人机对话用户界面又称为前面板。前面板可以包括旋钮、按钮、图形显示器、其它的控制器和显示器等。用户可以使用鼠标或键盘输入数据,在计算机屏幕上看到结果;② 虚拟仪器从流程图中接收命令(用G语言创建)。流程图是一个编程问题的图形化解决方案,流程图也是虚拟仪器的源代码[2];③一个虚拟仪器的图标和连接就像一个图形(表示某一虚拟仪器)的参数列表,这样,其它的虚拟仪器才能将数据传输给一个子仪器。图标和连接允许将此仪器作为最高级的程序,也可以作为其它程序或子程序中的子程序(子仪器)[5]。
首先根据实际要求设计,在前面板上设计如图2所示的器件,其框图如图3所示。
在设计之初,就要考虑到模块化、层次化的要求。将前面板分为几个部分:波形显示部分,通道调试部分,水平及垂直扫描部分,外加一个停止按钮。将各个模块各自独立,按各自的功能要求进行设计。其内部包含两部分:信号发生器和信号处理部分。信号处理部分的功能实现较多,因而对每一个功能采用定制子仪器的方法将其做成一个个子仪器,用特定的图标表示。此法可减少流程图的复杂程度,便于数据流的跟踪和调试。左边就是波形显示控件,右边最上面的控件为通道选择部分,中间为水平扫描速率调整部分,下面为垂直灵敏度调整部分,左下角是停止按钮。通道A、通道B、及通道A&B与显示部分接通。水平扫描速率与垂直灵敏度调整电路分别接入三种扫描方式的显示部分的前端。实现了接入、扫描、调试、显示各自功能。最后接入数据采集卡,可对外接入的模拟信号直接扫描分析。本文介绍的虚拟数字示波器不仅具有一般台式数字示波器的功能,而且充分发挥了微机强大的功能和软件设计的灵活性。
5 总 结
LabVIEW 是开放型模块化程序设计语言,使用它可以快速建立自己的仪器仪表系统,而又不用担心程序的质量和运行速度。虚拟仪器设计已经成为测试与仪器技术发展的一个重要方向。随着高速A/D芯片和电路的进一步集成化,可以设想在不远的将来,一台安装有虚拟仪器软件的标准微机将会成为一个多功能的测量仪器站,从根本上改变目前专用仪器的研制和生产方式,具有广阔的应用前景和巨大的潜在经济效益。
参考文献:
[1]白 |