传统仪器 虚拟仪器
关键是硬件,升级成本较高,且升级
必须上门服务
关键是软件, 系统性能升级
方便, 通过网络下载升级程
序即可
开发与维护的费用高 开发与维护的费用降至最低
技术更新周期长(5~10 年) 技术更新周期短(1~2 年)
价格昂贵,仪器间一般无法相互利用
价格低廉, 仪器间资源可重
用性与可配置性强
只有厂家能定义仪器功能 用户可以定义仪器功能
系统封闭、固定,仪器间相互配合较差
系统开放、灵活,与计算机的
进步同步
功能单一, 只能连接有限的独立设
备,不易与其他设备连接
可以与网络及周边设备方便
连接
表 1 传统仪器与虚拟仪器的比较
襄樊职业技术学院学报
第 9卷 第 1期
双月刊 2010年 1月
虚拟仪器的核心思想是利用计算机的强大资源
使本来需要硬件实现的技术软件化,以最大限度地
降低系统成本,增强系统功能和灵活性。在高校电
路实验教学中,使用功能固定的台式仪器做实验,如
频谱分析仪、模拟滤波器、数字存储示波器、动态信
号分析仪等,不仅价格昂贵,而且操作技术复杂。虚
拟仪器技术是当前测控领域的新技术,代表着未来
仪器技术的发展方向,[1]在实验教学中,可以提高实
验效率,降低实验成本,培养学生的创新精神,提高
学生的工程素质。
本文论述了虚拟仪器的基本概念和它与传统仪
器比较的特点,并以一个基于声卡的虚拟仪器为例,
介绍了虚拟仪器在电路实验课程中的应用, 该实验
系统改变了传统的电路实验模式,将简洁、直观的图
形编程语言引入实验教学,极大降低了实验成本。
一、虚拟仪器的概念和特点
虚拟仪器是指通过应用程序将通用计算机与模
拟或数字 I/O接口结合起来,用户通过友好的图形
界面来操作计算机,就像在操作自己定义、自己
的一台传统仪器,从而完成对被测试量的采集、分
析、判断、显示、数据存储等功能。
与传统仪器一样,虚拟仪器可以划分为数据采
集、数据分析处理、显示结果三大功能块。它以透明
的方式把计算机资源和仪器硬件的测控能力相结
合,实现了仪器的功能运作。与传统仪器不同的是,
软件是虚拟仪器的基石。
通过传统仪器与虚拟仪器的比较(表 1所示),
可以看出虚拟仪器的特点。
美国 NI公司虚拟仪器开发平台 LabVIEW工具
软件的主要特点是采用图形化的编程语言, 又称为
G语言,使用这种语言编程时,基本上不写程序代
码,取而代之的是
图或框图,易学、易懂、易掌
握,大大缩短软件开发周期。
二、系统结构
由计算机来组成测控系统,必须解决计算机与
被测对象和被控对象连接的问题。[2]一个典型虚拟
仪器系统结构如图 1所示。
被测物理量由信号调理将被测信号调整到数据
采集卡能够接受的模拟电压范围内,然后由数据采集
卡中的 A/D转换器将模拟信号变为数字信号送达计
算机处理。一般的声卡都至少具有两个通道输入和左
收稿日期:2009-11-25
作者简介:周密(1970-),女,湖北襄樊人。讲师,硕士, 研究方向:计算机网络教学和虚拟仪器。
基于声卡的虚拟仪器在电路实验中的应用
周 密
(襄樊职业技术学院 机械电子信息工程学院, 湖北 襄樊 441050)
摘 要:结合一个基于声卡的虚拟仪器技术,介绍了虚拟仪器在高职院校电路实验中的应用,该实验系统改变了
传统的电路实验模式,提高了实验效率,降低了实验成本,将简洁、直观的图形编程语言 LabVIEW引入实验教学。
关键词:虚拟仪器;声卡;示波器;信号发生器;图形编程语言
中图分类号:TP391.7 文献标识码:A 文章编号:1671-914X(2010)01-0027-03
27
右声道输出,可实现 44.1 kHz、48 kHz、16 bit的数据
采集和 1 V左右的电平输出。对于音频信号范围内的
信号,声卡可以充当数据采集卡和数模转换器。[3]在性
能要求不高的场合,利用声卡,配以信号调理电路,外
加计算机就可构成一个性价比较高的虚拟仪器系统,
[4]实现数据采集、示波器、信号发生器、频谱分析仪等
虚拟仪器。
三、LabVI EW中关于声卡的函数
LabVIEW 中提供了一系列使用 WINDOWS 底
层函数编写的与声卡有关的函数,如 SIConfig、SI
Start、SIRead、SI Stop、SIClear和 SO Config、SO Start、
SOWrite、SO Stop、SO Pause、SO Vol、SO Clear 等,[5]
这些函数集中在 SOUND VI 下。由于使用 WIN-
DOWS底层函数,直接与声卡驱动程序打交道,因而
封装层次低,速度快,而且可以访问、采集缓冲区中
任意位置的数据,具有很大的灵活性,能够满足实时
不间断采集的需要。
有了这些函数,使用 LabVIEW构建基于声卡的
虚拟仪器可以很方便的实现,基于声卡的数据采集
流程如图2所示。
四、 利用音频输入设计的示波器和频谱
分析仪
示波器在电子测量中是最常用的仪器,它能在
屏幕上以图形的方式显示信号电压随时间的变化,
即波形。频谱分析仪是一般模拟示波器所没有的功
能,而用虚拟仪器就可以很容易实现。利用音频输
入通道可以很方便的制作示波器和频谱分析仪。
图 3是用声卡实现的单通道示波器和频谱仪,它
可以测试信号波形和频谱等,操作简单直观。从图 4
流程图上可以看出,示波器处于连续采集的方式。
首先设置声卡的参数。如果声卡是 16位的,那
么将其设置为 8位将没有输出。缓冲区大小设置为
8 192。程序中使用 CASE结构将声卡参数中的 FS
引出给后面使用。
经过 SI Config 和 SI Start 的准备后,进入循环
体。声卡首先将数据送到缓冲区,SI Read 负责将缓
冲区的数据整块读出,放入内存中的用户数组。实验
表明,这个数据块是缓冲区的一半,即 4 096,且用
户数组是一个整数数组,对 16位的声卡,数组元素
是 0~32 768之间的一个整数,它反映输入电压的大
小,但没有标定。此时可以用一个已知幅值的正弦信
号对它进行标定,该电压标定参数可以在前面板输
入,例如本程序中该参数设为 20 000。
标定后的数据连同 Fs构成一个波形,就可以组
织输出,包括波形、频谱、基波频率等输出。单击 STOP
按钮,循环终止后,继续运行 SI Stop和 SI Clear以及
其他程序,直至程序结束。General Error Handler函数
用于调试程序输出端是否能正常运行。
如不需要做连续采集,则直接使用 Snd Read
Waveform函数,[6]图 5是它的内部程序。
五、利用音频输出制作的信号发生器
信号发生器也是比较常用的仪器,凡是产生测
试信号的仪器,统称为信号源,也称为信号发生器,
它可用于产生被测电路所需特定参数的电测试信
号。信号源是根据用户对其波形的命令来产生信号
图 1 虚拟仪器系统结构
图 2 基于声卡的数据采集流程图
图 4 示波器流程图
图 3虚拟示波器面板
图 5 Snd Read Waveform函数的内部程序
周 密
28
基于声卡的虚拟仪器在电路实验中的应用
The Application of Virtual Instruments Based on Sound
Card on the Circuit Test
ZHOU Mi
( Xiang Fan Vocational and Technical College,Xiangfan Hubei 441050, China)
Abstract: This paper introduces the application of a virtual device based on sound card on the circuit test of
Higher Vocational Colleges, This system uses a concise, intuitionist graphical programmed language for LabVIEW
in the lab test education and changes significantly the traditional test method, It improves the test efficiency and
reduce costs.
Key Words: Virtual Instruments; Sound card; oscilloscope; Signal generator;Graphic programming language
的电子仪器。信号源主要给被测电路提供所需要的
已知信号(各种波形),然后用其它仪表测量感兴趣
的参数。可见信号源在电子实验和测试处理中,并
不测量任何参数,而是根据使用者的要求,仿真各种
测试信号,提供给被测电路,以达到测试的需要。
图 6是利用音频输出制作的虚拟信号发生器操
作面板显示。
在面板左边有可以调节信号幅度、频率和模出
缓冲的大小的指示,输出显示波形可以选择正弦波、
方波、锯齿波和三角波等,右边是波形显示窗口。
由于 SO Set Num Buffers 函数位于循环之内,
故可以在程序运行中调节。
本设计采用基于 FFT(快速傅立叶算法)的信号
处理程序,用于分析数字信号。编程时保持 SO
Config 中的
速率与 Sine Waveform 中的样本速
率一致,这样就保证了输出信号的频率确实是前面
板上设定的频率。在 8-bit的情况下,幅值的最大值
是 256,所以设置面板幅度最大值是 500。图 7是利
用音频输出制作的虚拟信号发生器程序流程图。
六、结论
利用虚拟仪器技术,是高职校改革实验教学的
一个全新发展方向。虚拟仪器系统的高利用率和低
成本,在实验教学中具有传统仪器无可比拟的优势,
使用虚拟仪器技术完成相关实验是电子、电路、测控
等实验教学的首选
,值得在高职院校实验教学
中推广和应用。
参考文献:
[1] 雷振山.LabVIEW7 Express实用技术
[M].北京:中国铁道出版社,2005.
[2] 侯国屏,王坤,叶齐鑫.LabVIEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2005.
[3] 常春,倪铭.基于 MATLAB和声卡的虚拟仪器设计[J].中国教育技术装备,2005,(4):5-7.
[4] 杨文龙.虚拟仪器及其在信号处理教学实验中的应用[J].实验室研究与探索,2007,(12):297-299.
[5] Robert H.Bishop .Learning with LabVIEW 7 Express[M].北京:电子工业出版社,2005.
[6] 杨乐平,李海涛,杨磊.LabVIEW程序设计与应用(第 2版)[M].北京:电子工业出版社,2005.
( 责任编辑:张韶虹)
图 6 虚拟信号发生器操作面板
图 7 虚拟信号发生器流程图
29