|

楼主 |
发表于 2008-10-18 12:00:45
|
显示全部楼层
2 利用G语言LabVIEW组建虚拟实验仪器0 P/ X4 h$ e. `9 U
虚拟仪器是在美国国家仪器公司(National Instruments Corp.简称NI)于1986年提出的“软件就是仪器”这一口号的基础上发展起来的,其概念是用户在通用计算机平台上,在必要的数据采集硬件的支持下,根据测试任务的需要,通过软件设计来实现和扩展传统仪器的功能。传统台式仪器是由厂家设计并定义好功能的一个封闭结构,有固定的输入/输出接口和仪器操作面板。每种仪器只能实现一类特定的测试功能,并以确定的方式提供给用户。虚拟仪器的出现,打破了传统仪器由厂家定义、用户无法改变的模式,使得用户可以根据自己的要求,设计自己的仪器系统,并可通过修改软件来改变或增减仪器的功能,真正体现了“软件就是仪器”这一新概念。& C! i: D, U; c0 B! [6 n) {
(1)G语言LabVIEW关于声卡的模块介绍。
5 R/ h0 q# Y0 ~& {5 d8 x* H, M LabVIEW中提供了一系列使用Windows底层函数编写的声卡有关的函数。这些函数集中在Sound VI下。由于使用Windows底层函数直接与声卡驱动程序打交道,因而封装层次低,速度快,而且可以访问,采集缓冲区中任意位置的数据,具有很大的灵活性,能够满足实时不间断采集的需要。6 D F4 S+ ?- m; {6 h
LabVIEW函数库中Sound Input子模版(Functions Palette→Graphics&Sound→Sound→Sound Input)提供了声卡函数,可以通过声卡采集外部模拟信号。2 b: r2 ~: s; \4 ~# F% @# Q' R
(2)基于声卡的虚拟示波器的组建。
* [+ p$ K" \! l# |% Y" ?) K7 w 应用LabVIEW构建基于声卡的虚拟示波器,其整体思想就是在一个While循环中,添加各输入节点,使其对采集到的声音波形进行显示,而在内部又添加了若干的属性节点来对各种附加功能进行实现。流程图如图3所示。6 K) F$ W) w2 E9 `- S
虚拟示波器的软件的设计是把整个软件分别分成几个模块,然后组建成一个整体。分别为数据采集,存储,显示,处理等。' M: Q) S1 y; {4 J. S. o( s0 ~- N @
数据采集模块是虚拟示波器软件的硬件驱动部分,在这里主要是利用LabVIEW里面的声卡函数完成声卡的硬件参数设置、启动声卡采集数据、等待采样数据缓冲区满的消息、通知声卡停止采集等任务。
9 m) C+ }1 h. `0 f2 G9 d: r 波形显示模块使用了波形操作函数,主要用到Build Waveform函数。Build Waveform函数。建立或修改已有的波形。默认情况下函数只有waveform和t0输入端子,向下拖拽函数下边沿还可以增加dt、Y和attribuates输入端子。使用操作工具单击端子可以弹出元素选择快捷菜单。如果waveform端子没有接入,则Build Waveform根据输入参数建立新的波形数据,并在输出端子中返回。在本设计中,只用到t0,dt,Y三个输入端子。其中t0为波形的起始时间,dt为波形数据点中间的时间间隔或持续时间,Y为包含了波形的数据值。此处,设置起始时间为0,但因为数据格式不匹配,增加了一个数据格式转换函数to time stamp,从而把一个数值转换成时间值。dt值取自SI Config的格式中的采样倒数,倒数取得的方法利用了reciprocal函数。Y值来自SI Read的stereo 16-bit输出端子。
$ F! I; f+ }! _' ^0 H* {& f 因为篇幅有限,不能对各个模块进行详细介绍。下面是组建好的示波器。 Y" x# q( ?. a* y9 w( Y1 Q( h ?
3 虚拟示波器和传统示波器的比较0 h, r" Y9 z% U {0 C
虚拟示波器的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。尤其在科研、开发、测量、检测、计量等领域更是不可多得的好工具。虚拟示波器技术先进,十分符合国际上流行的“硬件软件化”的发展趋势。它功能强大,可实现传统示波器的全部功能,而且还有传统示波器所不具备的功能,如实时存储波形、数据存盘以及远程数据采集等功能。它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户不经培训既可迅速掌握操作规程;它集成方便,可以和高速数据采集设备协同工作。1 F; ]8 D; p# m. N+ P% ]
4 结束语! M8 b: i. q# b* |3 s
利用计算机声卡在音频范围内代替专用的数据采集卡进行数据采样和输出,在此基础上构建的虚拟仪器,具有成本低、兼容性好、通用性和灵活性强的优点。学生可将用户程序安装在自己的计算机上,就能在不增加硬件投资的情况下,拥有自己的示波器等仪器。利用同样的原理,用户可以开发频谱仪,信号发生器等各种实验仪器。 |
|