1、基于LabVIEW的虚拟示波器的设计毕业论文摘要虚拟仪器是现代测量技术和计算机技术相结合的产物,标志着自动测试与电子测试仪器领域技术发展的一个崭新方向 随着信息技术和计算机技术的高速发展,数字信号处理作为一门新兴的学科,其重要性日益在各个领域的应用中体现出来。本文介绍了利用LabVIEW 图形编程语言进行虚拟仪器开发的方法,设计了一种基于PC机声卡的虚拟示波器,说明了虚拟仪器在现代测试领域中的重要地位以及其广阔的发展前景 从某种意义上说,“软件就是仪器”。关键词LabVIEW,虚拟仪器,示波器The design of virtual wave displayer based on LabVI
2、EWAbstractVirtual instrument is the produce that merges the computer technology and measurement techniqueIt stands for a brand new development directory in the field of auto-measurement and electronic measurement。 With the rapid development of information technology and the computer technology, the
3、digital signal processing takes an emerging discipline, its importance displays day by day in each domain application. This article introduces how to develop virtual instruments using graph programming language-LabVIEW ,designs a virtual signal displayer based on PC and explains the important part a
4、nd wide development prospects of virtual instrument in modern measurement technique field In a sense, “The software is an instrument”.Keywords LabVIEW, virtual instrument目录第1章 绪论11.1 虚拟仪器的概述11.1.1 什么是虚拟仪器11.1.2 虚拟仪器的构成21.1.3 虚拟仪器的优点31.1.4 虚拟仪器的发展现状41.1.5 虚拟仪器的发展趋势41.2 图形化编程语言 LabVIEW41.2.1 什么是LabVIE
5、W51.2.2 LabVIEW的主要特点51.2.3 LabVIEW调试与运行6第2章 示波器的原理72.1 模拟示波器72.1.1 示波器的基本结构72.1.2 示波器的扫描原理82.2 数字示波器92.2.1 数字示波器的基本原理92.2.2 数字示波器的特点112.3 虚拟示波器12第3章 系统的硬件设计143.1 声卡143.1.1 声卡的工作原理143.1.2 声卡的基本结构143.2 硬件设置163.2.1 实验中声卡的参数设置163.2.2 虚拟示波器中声卡的连接方式163.3 前置运算电路17第4章 系统的软件设计184.1 虚拟示波器工作流程图184.2 数据采集模块184.
6、3 频谱分析模块224.4 数据测量和显示模块23第5章 系统调试与程序显示255.1 虚拟示波器性能255.1.1 程序设计思路255.1.2 虚拟示波器操作界面255.1.3 虚拟示波器总程序框图265.2 虚拟示波器波形显示27结论30致谢31参考文献32附录34不要删除行尾的分节符,此行不会被打印- IV -千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空行- V -第1章 绪论1.1 虚拟仪器的概述虚拟仪器是计算机技术和传统的仪器仪表技术相结合的产物,它是在以计算机为核心的硬件平台上,由
7、用户设计和定义其功能,具有虚拟面板. 虚拟仪器技术具有高效、易用、开放、灵活、更新快、功能强大、性价比高、用户定义等诸多优点. 目前在我国应用的虚拟仪器开发平台主要有美国NI 公司的LabVIEW及其相应组件和Agilent 公司的HP - VEE ,其中NI 的LabVIEW 系列产品在我国使用比较广泛.LabVIEW是当前用于数据采集、信号处理和虚拟仪器开发的一个标准工具,而且是一个基于图形化编程语言的虚拟仪器软件开发工具,设计者可利用它方便快捷地建立自己的虚拟仪器程序而无需复杂的程序代码编写. 它适用于多种操作系统,用LabVIEW设计的虚拟仪器程序可以脱离LabVIEW开发环境,最终用
8、户看见的是和实际的硬件仪器相似的操作面板1.1.1 什么是虚拟仪器 所谓虚拟仪器,就是在通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟面板、测试功能由测试软件实现的一种计算机仪器系统。使用者用鼠标点击虚拟面板,就可操作这台计算机系统硬件平台,就如同使用一台专用测量仪器一样。虚拟仪器的“虚拟”二字主要包含以下两个方面的含义:第一, 虚拟仪器的面板是虚拟的。虚拟仪器面板上的各种“控件”与传统仪器面板上的各种“器件”所完成的功能是相同的。如由各种开关、按键、显示器等实现仪器电源的:“通”、“断”;被测信号的“输入通道”、“放大倍数”等参数的设置;测量结果的“数值显示”、“波形显示”等。传统仪
9、器面板上的器件都是“实物”,而且是由“手动”、“触摸”、来进行操作的,而虚拟仪器面板控件是外形与实物相象的“图标”,每个图标的“通”、“断”、“放大”等,对应着相应的软件程序。这些软件已经设计好,我们只需选用代表该种软件程序的图形“控件”即可。因此,设计虚拟仪器前面板,就是在前面板设计窗口中摆放所需的图标,然后对图标的属性进行设置。第二,虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的。以PC计算机为核心组成的硬件平台支持下,通过软件编程来实现仪器的功能的。因为可以通过不同测试功能软件模块的组合来实现多种测试功能,所以,在硬件平台确定后,就有“软件就是仪器”的说法。1.1.2 虚拟仪器的
10、构成虚拟仪器从构成要素上讲,由计算机、应用软件和仪器硬件等构成;从构成分式上讲则由以DAQ板和信号调理为仪器硬件而组成的PC-DAQ测试系统,或已GPIB,VXI,Serial和Field bus等标准总线仪器为硬件组成的GPIB系统、VXI系统、串口系统和现场总线系统等多种形式。虚拟仪器的构成如图1.1所示。图1.1 虚拟仪器构成图第一,基于数据采集卡的虚拟仪器,是以信号调理电路、数据采集卡(DAQ)及PC机为仪器硬 件平台,采用PCI或ISA计算机总线,将DAQ直接插入PC机的相应标准的总线扩展插槽,因此 ,这种虚拟仪器又叫PCI-DAQ/PCI插卡式虚拟仪器。第二,基于串行总线仪器的虚拟
11、仪器,是由Serial标准总线仪器及PC机为仪器硬件平台, 包括符合RS - 232/RS422标准的PLC和单片机系统。第三,基于通用接口总线GPIB接口的虚拟仪器,是以GPIB接口仪器、GPIB接口卡及PC机为 仪器硬件平台,GPIB仪器具有独立的仪器操作界面,可以脱离计算机使用,也可以通过标准GPIB电缆连接计算机实施程序控制。第四,基于VXI仪器的虚拟仪器,是以VXI (VME bus extension for instrumentation) 标准总线仪器模块及PC机为仪器硬件平台,由主机箱、控制器和仪器模块构成。VXI控制器包括嵌入式PC控制、嵌入式工作站控制器和外置工作站控制器
12、,可根据测试功能的不同要求来 选用。第五,基于PXI仪器的虚拟仪器,它是以PXI(PCI extension for instrumentation)标准总线 仪器模块及PC机为仪器硬件平台,PXI总线方式是在PCI总线内核技术上增加多板同步触发总 线和参考时钟技术规范和要求形成。标准的PXI模块化仪器系统有8个插槽,还可与Compact P CI交互操作,可与GPIB或VXI集成,组成大规模、多用途系统。 第六,基于现场总线设备的虚拟仪器,是以Fieldbus标准总线仪器及PC机为仪器硬件平台 。无论上述哪种形式的虚拟仪器,都是通过应用软件将仪器的模块化功能硬件与各类计算机相 结合的,其中基
13、于GPIB、VXI、PXI的方案主要适合构成大型高精度集成测试系统;PCI-DAQ / PCI、串行口方案主要适合构成普及型的廉价测试系统;现场总线方案主要适合构成大规模 的网络测试系统。如测试任务需要,也可将上述几种方案结合构成混合测试系统。1.1.3 虚拟仪器的优点1.性能高。虚拟仪器技术是在PC技术的基础上发展起来的,所以完全继承了以现成即用的PC技术为主导的最新商业技术的优点,包括功能卓越的处理器和文件I/O,使用户在数据高速导入磁盘的同时,就能实时进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。 2.扩展性强。得益于NI软件的灵活性,只
14、需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进用户的整个系统。在利用最新科技的时候,用户还可以把它们集成到现有的测量设备,最终以较少的成本加快产品上市时间。 3.开发时间少。在驱动和应用两个层面上,高效的软件构架能与计算机、仪器仪表和通信方面的最新技术结合在一起。NI设计这一软件架构的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使用户轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。 4.集成。虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,
15、而连接和集成这些不同设备总是要耗费大量的时间。虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助用户轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。1.1.4 虚拟仪器的发展现状虚拟仪器技术目前在国外发展很快,以美国国家仪器公司(NI公司)为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。在美国虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修课程。美国的斯福坦大学的机械工程系要求三、四年级的学生在实验时应用虚拟仪器进行数据采集和实验控制.当今虚拟仪器的系统开发采用的总线包括传统的RS232串行总线、GPIB通用接口总线、VXI总线,以及已经被
16、PC机广泛采用的USB串行总线和IEEE1394总线(即Fire wire,也叫做火线)。世界各国的公司,特别是美国NI公司,为使虚拟仪器能够适应上述各种总线的配置,开发了大量的软件以及适应要求的硬件(插件),可以灵活的组建不同复杂程度的虚拟仪器自动检测系统。传统仪器有复杂的工艺问题和知识产权问题,发达国家的传统仪器市场已具有相当规模。而虚拟仪器是一个全新的领域,大力发展虚拟仪器技术可以略过传统仪器的发展阶段,迅速进入虚拟仪器发展阶段,与国外大公司处于同一起跑线,形成跨越式发展。目前,虚拟仪器技术在中国越来越受到人们重视,研究高潮方兴未艾,应用范围越来越广,虚拟仪器技术必然会有突飞猛进的发展。
17、1.1.5 虚拟仪器的发展趋势NI公司提出的“软件即仪器”,引发了仪器概念的革命性改变,而随着计算机通讯技术的发展,虚拟仪器逐渐向网络化方向发展,研究人员又提出了“网络即仪器”的概念。降低仪器支持和维护成本的技术,将成为虚拟仪器市场的主流技术之一。 随着个人电脑的小型化,虚拟仪器也将朝小型化、大众化方向发展,将会出现个人能随身携带的分析仪器,打造出个人“拎着走的实验室”。 复用是成熟工程领域的一个基本特征,使用经过时间检验的标准零部件,可使常规的设计问题直接利用现成的解决方案来解决,避免了项目开发时的重复设计,从而大幅度地降低开发成本,提高生产效率和产品质量。虚拟仪器系统的设计也正在朝着这个方
18、向发展。随着自动化系统的设计复杂化、大型化和智能化,虚拟仪器软件的设计可复用性、较好的稳定性、对应用对象的宽适应性和用户的可维护性,已是工业控制领域的重要研究方向,虚拟仪器构件库的建立、构件自动组装工具的开发,能够使普通用户组装出符合要求的虚拟仪器系统。1.1.6 图形化编程语言 LabVIEW本文所选用的软件 LabVIEW 是美国 NI 仪器公司的创新软件产品 ,LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑
19、语言G编写程序,产生的程序是框图的形式。1.1.7 什么是LabVIEWLabVIEW是NI公司研制的图形编程虚拟仪器系统,主要包括数据采集、控制、数据分析、数据表示等功能。它提供一种新颖的编程方法,即以图形方式组装软件模块生成专用仪器。LabVIEW由面板、流程方框图、图标/连接器组成。其中,面板是用户界面,流程方框图是虚拟仪器源代码,图标/连接器是调用接口。流程方框图包括输入/输出部件、计算部件和子虚拟仪器部件,它们用图标和数据流的连线表示;I/O部件直接与数据采集板、GPIB板或其它外部物理仪器通信;计算部件完成数学或其它运算与操作;子虚拟仪器部件调用其它虚拟仪器。1.1.8 LabVI
20、EW的主要特点 LabVIEW软件工具的特点可归纳为:1.直观、易学易用。与Visual C、Visual Basic等计算机编程语言相比,图形化编程工具LABVIEW有一个重要的不同点:不采用基于文本的语言产生代码行,而使用图形化编程语言G编写程序;产生的程序是框图的形式,用框图代替了传统的程序代码。因而可在很短的时间内被掌握并应用到实践中去,特别适合硬件工程师、实验室扶术人员、生产线工艺技术人员的学习和使用。2.通用编程系统。 LABVIEW的功能并没有因图形化编程而受到限制,依然具有通用编程系统的特点。LABVIEW有一个可完成任何编程任务的庞大的函数库。该函数库包括数据采集、GPIB、
21、串口控制、数据分析、数据显示及数据存储等。 LABVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其通过程序的结果、单步执行等,便于程序的调试。LABVIEW的动态连续跟踪方式,可以连续、动态地观察程序中的数据及其变化情况,比其他语言的开发环境更方便、更有效。 3.模块化。 LABVIEW还有一个特点是模块化,体现在两个方面。首先,LABVIEW中使用的基本节点和函数等就是一个个小的模块,可以直接使用;另外,由LABVIEW编写的程序即虚拟仪器模块(Virtrual INSTRUMENT,VI),除了作为独立程序运行外,还可作为另一个虚拟仪器模块的子模块(即子VI)供其他模块程
22、序使用。1.1.9 LabVIEW调试与运行调试在一个工程中十分重要,在LabVIEW中调试是十分方便的。在LabVIEW的运行环境中,有一种特有的调试手段,它可以实时显示数据流,它可使用户更加清楚地观察程序运行的每一个细节,为查找错误,修改和优化程序提供了有效的手段和依据。下面简要介绍一下LabVIEW程序的调试技术。1.找出语法错误 如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。点击箭头,LabVIEW将弹出错误清单窗口,点击其中任何一个错误,选用Find功能,则出错的对象就会变成高亮。 2.执行程序高亮 在LabVIEW的工具条上有一
23、个画着灯泡的按钮,这个按钮叫“高亮执行”按钮。点击这个按钮使该按钮图标变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码用灰色显示,执行后的代码用高亮显示。 3.断点与单步执行 为了查找程序中的逻辑错误,我们可使框图程序逐个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或单步方式查看数据。 4.数据探针 我们可以用探针工具来查看当框图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左击希望放置探针的连接线。第2章 示波器的原理2.1 模拟示波器模拟示波器采用的是模拟电路(示波管,其基础是电子枪)电子枪向屏幕发射电子,发射的电子
24、经聚焦形成电子束,并打到屏幕上。屏幕的内表面涂有荧光物质,这样电子束打中的点就会发出光来。2.1.1 示波器的基本结构示波器的规格和型号较多,但所有的示波器所具有的基本结构都相同,大致可分为:示波管(又称阴极射线管)、X轴放大器和Y轴放大器(含各自的衰减器)、锯齿波发生器等,见图2-1所示。 图 2-1 示波器的基本结构 1.示波管示波管是示波器的核心部件,它主要包括电子枪、偏转系统和荧光屏三部分,这三部分全部被密封在高真空的玻璃外壳内(如图2-2所示)。电子枪有灯丝、阴极、控制栅极、第一阳极和第二阳极共五部分组成。灯丝通电后加热表面涂有氧化物的金属圆筒(即阴极),使之发射电子。控制栅极是一个
25、套在阴极外面的金属圆筒,其顶端有一小孔,它的电位比阴极低,对阴极发射出来的电子起减速作用,只有初速度较大的电子才可能穿过栅极顶端的小孔,进入加速区的阳极。因此控制栅极实际上起控制电子流密度的作用。调整示波器面板上的“亮度”旋纽,其实就是调节栅极电位改变飞出栅极的电子数目,飞出的电子数目越多,荧光屏上亮斑就越亮。从栅极飞出来的电子再经过第一阳极和第二阳极的加速与聚焦后打到荧光屏上形成一个明亮清晰的小圆点。偏转系统是由两对相互垂直的电极板组成。电子束通过偏转系统时,同时受到两个相互垂直方向的电场的作用,荧光屏上小亮点的运动轨迹就是电子束在这两个方向运动的叠加。 图 2-2 示波管结构图2.X、Y轴
26、电压放大器和衰减器由于示波管本身的X及Y偏转板的灵敏度不高(约0.11mm/V),当加在偏转板上的信号电压较小时,电子束不能发生足够的偏转,屏上的光点位移较小,不便观测。这就需要预先将该小电压通过电压放大器进行放大。衰减器的作用是使过大的电压信号衰减变小,以适应轴放大器的要求,否则放大器不能正常工作,甚至受损。3.锯齿波信号(扫描信号)发生器锯齿波信号发生器的作用就是产生周期性锯齿波信号(图2-3)。将锯齿波信号加在X偏转板上,可以证明,此时电子束打在荧光屏上的亮点将向一个方向作匀速直线运动。经过一个周期后,荧光屏上的亮点又回到左侧,重复运动。如果锯齿波的频率较大,由于荧光材料具有一定的余辉时
27、间,在荧光屏上能看到一条水平亮线。 图2-3 锯齿波信号2.1.2 示波器的扫描原理将一正弦电压信号加到Y轴偏转板上,即Uy0,若X轴偏转板上为零电压信号,则荧光屏上的光点将随着正弦电压信号作正弦振荡。若Y轴上的电压信号频率较快,则屏上只出现一条亮线。要直观地看到正弦波信号随时间的变化波形,必须将屏上光点在X方向(即时间方向)上“拉开”,这就要借助与锯齿波信号的作用。将锯齿波信号加到X偏转板上,此时示波器内的电子束将既要在y方向按正弦电压信号的规律作正弦振荡,又要在x方向作匀速直线运动,y方向的正弦振荡被“展开”,屏上光点留下的轨迹是一正弦曲线。锯齿波信号完成一个周期变化后,屏上光点又回到屏幕
28、的左侧,又准备重复以前的运动。这一过程称为扫描过程,图2-4是这一过程的图解原理。图中假设加在Y偏转板上的电压信号为待测正弦电压信号,其频率与加在X偏转板上的锯齿波信号的频率相同,并将一个周期分为相同的四个时间间隔,Uy和Ux的值分别对应光点在y轴和x轴偏离的位置。将Uy和Ux各自对应的投影交汇点连接起来,即得被测电压波形。完成一个波形后的瞬间,屏上光点立刻反跳回原点,并在荧光屏上留下一条“反跳线”,称为回归线。因这段时间很短,线条比较暗,有的示波器采用措施将其消除。上面所讨论的波形因Uy和Ux的周期相等,荧光屏上出现一个正弦波。当fy = nfx,n=1,2,3,时,荧光屏上将出现1个、2个
29、、3个、稳定的波形。图2-4 扫描过程2.2 数字示波器数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。数字示波器一般支持多级菜单,能提供给用户多种选择,多种分析功能。还有一些示波器可以提供存储,实现对波形的保存和处理。2.2.1 数字示波器的基本原理数字示波器是由取样储存、读出显示和系统控制三大部分组成,它们之间通过数据总线、地址总线和控制总线相互联系和交换信息,以完成各种测量功能。数字示波器的基本组成框图如图2-5所示。图 2-5 数字示波器的基本组成框系统控制部分系统控制部分由键盘、只读储存器(ROM)、CPU及I/O接口等组成。在ROM内写有仪器的管理程
30、序,在管理程序的控制下,对键盘进行扫描产生扫描码,接受使用者的操作,以便设定输入灵敏度、扫描速度、读写速度等参数和各种测试功能。取样储存部分取样储存部分主要由输入通道、取样保持电路、取样脉冲形成电路、A/D转换器、信号数据储存器等组成。取样保持电路在取样脉冲的控制下,对被测信号进行取样,经A/D转换器变成数字信号,然后存入信号数据存储器中。取样脉冲的形成受触发信号的控制,同时也受到CPU控制。取样和储存过程如图2-6所示。读出显示部分读出显示部分由显示缓冲存储器、D/A转换器、扫描发生器、X放大器、Y放大器和示波管电路组成。它在接到读命令后,先将储存在显示缓冲储存器中的数字信号送D/A转换器,
31、将其重新恢复成模拟信号,然后经放大后送示波管,同时扫描发生器产生的扫描阶梯波电压把被测信号在水平方向展开,从而将信号波形显示在屏幕上,读出和显示过程如图2-7所示。 图 2-6 取样和储存过程 图 2-7 读出和显示过程2.2.2 数字示波器的特点一般可以将数字示波器分为数字存储示波器(DSO)、数字荧光示波器(DPO)和采样示波器。数字示波器的特点大致归纳为以下11点:1 数字示波器通过模数转换器(ADC)把被测电压转换为数字信息。它捕获的是波形的一系列样值,并对样值进行存储,存储限度是判断累计的样值是否能描绘出波形为止。随后,数字示波器重构波形。2 可以稳定、明亮和清晰地显示任何频率的波形
32、。3 对重复的信号而言,数字示波器的带宽是指示波器的前端部件的模拟带宽,一般称之为3dB 点。对于单脉冲和瞬态事件,例如脉冲和阶跃波,带宽局限于示波器采样率之内。4 数字存储示波器能够持久地保留信号,可以扩展波形处理方式。5 信号实时在离散点采样,采样位置的信号电压转换为数字值,这些数字值称为采样点。样值每秒(S/s)。6 DSO 使用串行处理的体协结构来捕获、显示和分析信号;相对而言,DPO为完成这些功能采纳的是并行的体系结构,提供了高速率的波形采集率,它增加了证明数字系统中的瞬态事件的可能性。7 DSO显示部分更多基于光栅屏幕而不是基于荧光。模拟示波器依靠化学荧光物质。DPO使用完全的电子
33、数字荧光,其实质是不断更新的数据库。8 如果需要正确采集频率远远高于示波器采样频率的信号,那么数字采样示波器是一个不错的选择。这种示波器采集测量信号的能力要比其他类型的示波器高一个数量级。9 采样示波器在采样门电路之前没有衰减器/ 放大器,所以不能对输入信号进行缩放。所有时刻的输入信号都不能超过采样桥满动态范围。因此,大多数采样示波器的动态范围都限制在1V 的峰值- 峰值。而数字存储和数字荧光示波器却能够处理50 到100 伏特的输入。10 采样示波器的安全输入电压大约只有3V,相对而言,其他示波器可以高达500V录。2.3 虚拟示波器模拟信号经同轴电缆进入采集卡的输入通道,经过前置滤波电路、
34、衰减电路、可变增益的放大电路,将信号处理成A/D转换器可以处理的标准电平,经过A/D采样量化转化成计算机可以处理的数字信号并缓存到卡上的存储器。其支持软件通过PC机的PCI总线接口控制模拟通道的阻抗匹配、放大器的增益选择、启动A/D转换及转换结束的识别,并将采集数据以DMA的方式传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打印传输等。声卡数据采集流程如图2-8所示: 。 图2-8 声卡数据采集流程图该实验中设计的虚拟示波器是基于美国国家仪器公司(NI)生产的labVIEW软件,在PC机上,将声卡作为数据采集卡,利用LabVIEW中的声音处理函数和信号处理和分析函数,对声卡中的输入
35、信号进行采集,波形显示,参数测量和频谱分析,实现示波器的基本功能。第3章 系统的硬件设计3.1 声卡该仪器设计中,我选用PC机上的声卡(sound card)作为数据采集卡,声卡也叫音频卡,PC机上的声卡具有A/D转换和D/A转换功能,多数为16位的量化精度、数据采集频率是44.1kHz,完全可以满足特定应用范围内数据采集的需要,而且价格便宜,对该虚拟示波器的设计来说,性价比高3.1.1 声卡的工作原理麦克风和喇叭所用的都是模拟信号,而电脑所能处理的都是数字信号,两者不能混用,声卡的作用就是实现两者的转换。从结构上分,声卡可分为模数转换电路和数模转换电路两部分,模数转换电路负责将麦克风等声音输
36、入设备采到的模拟声音信号转换为电脑能处理的数字信号;而数模转换电路负责将电脑使用的数字声音信号转换为喇叭等设备能使用的模拟信号。3.1.2 声卡的基本结构现将声卡主要部分介绍如下: 1. 线路板 线路板是声卡的基础,线路板质量的好坏一定程度上影响声卡的品质。声卡的线路板多为四层板也有少数六层板的。而在设计方面,很多中低档声卡普遍采用芯片厂家提供的公版PCB结构。另外在线路板上我们可以看见声卡的“金手指”,它为声卡和主板连接提供了总线接口,如今主流的声卡接口为PCI接口,另外市面上还可见少量的ISA接口或AMR等接口的声卡。 2.主要元器件A.主芯片声卡上都有一块主音效处理芯片,它主要用来完成W
37、AVE波形的采样与合成,MIDI音乐的合成,同时混音器/效果器也在其内部实现。 常见的主芯片有CREATIVE创新137X系列(ES-137X),CT-2518/CT-5507和CT5880及EMU10K1系列;ESSMAESTRO-I(1948),ESSMAESTRO-II(1968),ESSCanyon3D(MAESTRO-2E197OS)系列;YMF-724和YMF-740/YMF-744系列;Aureal的VortexAU8820,Vortex-2AU8830系列;S3SonicVibes系列;CMI-8338/8738系列;Trident4DWaveDX/NX系列;VLSIQsoun
38、dThunderbird128系列;FortemediaFM-801AS系列等等。 B.集成块声卡上还有很多集成电路块,主要有稳压电路块及主芯片外围控制芯片等。另外常见的芯片还有运算放大器(运放),运放的作用是将低电平做适当放大来相关设备使用,常见的运放芯片主要有PHILIPS的TDA系列和国家半导体的LM系列。 C.电容 电容是声卡上的重要部件,而且电容质量的优劣也会直接关系到整块声卡品质的优劣。特别是直流电源输出端的耦合电容,其做用与品质都非常重要。耦合电容容量过小,电脑开机时音箱中常会有爆破声出现,而且一些耐压系统低的耦合电容还可能自身出现爆裂造成声卡的损坏。 另外,声卡上还有电阻及晶振
39、等必不可少的元器件。 3.主要接口一览 声卡上有很多接口,下面我们就对其进行一下简单介绍。 a.游戏杆/MIDI插口:用于连接游戏杆/手柄/方向盘等外界游戏控制器或MIDI键盘/电子琴,你也可先购买一个光纤MIDI套件再来插入上述设备。 b.后置输出插孔:将音频信号输出到有源音箱或功率放大器。 c.线性输出插孔(LINEOUT):将音频信号输出到有源音箱/耳机或功率放大器。 d.话筒输入插孔(MICIN):用于连接话筒,主要用来语音输入。 e.线性输入插孔(LINEIN):用于将随身听或影碟机等外部设备的声音信号输入电脑。f.电话应答设备接口(TAD,TelephoneAnsweringDev
40、ice):用来提供标准语音MODEM的连接并向MODEM传送话筒信号,所以配合MODEM卡和软件,可使电脑具备电话自动应答功能。 g.模拟CD音频输入接口(CDIN):使用CD音源线将来自CD/DVD光驱的模拟音频信号接入。 h.辅助设备接口(AUXIN):用于将电视卡,解压卡等设备的声音信号输入声卡并通过音箱播放。 i.数字CD音频输入接口(CDSPDIF):用来接收来自光驱的数字音频信号。 j.音频扩展接口(SPDIFEXT):接到数字I/O子卡,实现数字信号的输入和输出,并可输出AC-3信号等。3.2 硬件设置3.2.1 实验中声卡的参数设置 一般PC机上的声卡输入处于静音状态,首先在“
41、我的电脑”中的控制版面上,选择“声音”,确保声音的输出和录入处于正常工作状态,不能静音,如图3-1所示: 图 3-1 计算机声卡的设置 将以上参数设置完成后,插上麦克,选择声音输入的“硬件检测”,当检测到有声音信号录入时,才能进行试验。3.2.2 虚拟示波器中声卡的连接方式 实验中,声卡的外部连接线采用的是一条一头是3.5mm插孔,另一头是鳄鱼夹的连接线,3.5mm插孔插入声卡的Lin In接口,Lin In接口可以接入幅值约为不超过1.5V的信号,而Mic In接口只能接入很微弱的信号,幅值大约为0.02V-0.2V,微弱的信号易受到干扰,因此该实验选用Lin In接口作为信号的输入通道。值
42、得注意的是,输入端口有隔离电容,直流信号将不能被声卡识别,且声卡的输入多数为双通道输入,但是接入插头线往往是将这连个通道短接成一个通道。3.3 前置运算电路 受到PC声卡自身的限制,输入的电压不能超过1.5V,如果要测量电压较高的信号,那么需要外加电路将信号将比例缩小。故采用比例运算电路,在同相和反相两种比例运算电路中,同相比例运算电路只能将电压信号放大,而反相比例运算电路可将电压信号缩小,但反相比例运算电路的输入阻抗较小,不符合示波器的基本原则,而同相比例运算电路又正好具有高输入阻抗,故采用两种比例运算电路混合的电路。本文着重介绍LabVIEW的实际应用,和对相应信号的测量,故不在本文中对前
43、置运算电路做过多介绍。第4章 系统的软件设计 该虚拟示波器设计中的软件设计是基于NI公司生产的LabVIEW专业开发软件设计的,设计中用到了LabVIEW中的声音模块,信号处理与分析模块,循环函数,及数组处理等模块函数。4.1 虚拟示波器工作流程图 该试验设计的虚拟示波器中,信号的传送,处理,显示是相当清晰的,先是信号发生器产生声卡所能识别的信号(信号的幅值不能超过1.5V,超过1.5V的信号应该先经过前置放大器进行幅值变化。 该实验虚拟示波器的构成图如图4-1所示图4-1 示波器的结构框图4.2 数据采集模块 在该实验设计中,数据采集是利用声卡进行数据采集并进行A/D转换,LabVIEW中,
44、有针对声卡数据采集的函数,如 “Sound Input Configure .VI”、“ Sound Input Read .VI”、“ Sound Input Clear .VI”、“sound Input star .VI”、“Sound Input stop.VI”等,本实验设计中用到的VI将在以下小节中一一介绍。“Sound Input Configure.VI”: 图标如4-2所示 图 4-2 Sound Input Configure.VI该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数,如采样率,数据格式,缓冲区长度等。声卡的采样率由内部时钟控制,只有3-4种固定频率可选
45、,一般将采样频率设置为44100HZ,数据格式设置为16bit。缓冲区长度可选默认值。主要操作说明:在block diagram: Functions Graphics & Sound Sound Input Configure 选择configure函数。“Sound Input Configure.VI”前版面如图4-3所示图4-3 Sound Input Configure.VI”前版面“Sound Input Configure.VI”后版面如图4-4所示 图4-4 Sound Input Configure.VI”后面板“Sound Input Read .VI”:如图4-5所示 图
46、4-5 Sound Input Read .VI该函数用于等待采样数据缓冲区满的消息。当产生这一消息时,它将数据缓冲区的内容读取到用户程序的数组中,产生一个数据采样集合。若计算机的速度不够快,使得缓冲区内容被覆盖,则会产生一个错误信息。这时应调节缓冲区的大小,在采样时间和数据读取之间找到一个理想的平衡点。主要操作说明:在block diagram: Functions Graphics & Sound Sound Input Read 选择read函数“Sound Input read .VI”前版面如图4-6所示 图4-6“Sound Input read .VI”前版面“Sound Input read .VI”后版面如图4-7所示 图4-7“Sound Input read .VI”后版面“Sound Input clear .VI”:如图4-8所示 图4-8“Sound Input clear .VI”该函数用于完成最终的清理工作。例如关闭声卡采样通道,释放请求的一系列系统资源(包括MDA,缓冲区内存,声卡端口等)。主要操作说明:在block diagram: Functions