毕业论文LABVIEW示波器的设计.doc_第1页
毕业论文LABVIEW示波器的设计.doc_第2页
毕业论文LABVIEW示波器的设计.doc_第3页
毕业论文LABVIEW示波器的设计.doc_第4页
毕业论文LABVIEW示波器的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Xxxxx学院毕业设计(论文)基于LABVIEW示波器的设计摘 要虚拟仪器是一种基于计算机的自动化测试仪器系统。虚拟仪器的突出优点在于能够与计算机技术结合,将计算机资源与仪器硬件,数字信号处理技术与不同功能的软件模块结合,组成不同的仪器功能。用户可根据测试的需要,自己设计所需要的仪器系统,即利用数据采集卡及计算机外围硬件进行信号的采集与检测,然后用计算机所编的软件来实现对信号的处理、计算和分析以及对测试结果进行显示。本文论述了一个虚拟示波器软件的开发过程和要点, 该软件采用基于图形化的编程语言 LabVIEW 开发,相应的硬件采用计算机声卡来代替工业用的数据采集卡,充分利用了价格低廉的声卡进行数据采集。文章重点阐述了信号采集、触发控制、时基幅值控制、相位差测量几个主要模块的设计方法。关键词:LabVIEW 虚拟 示波器 声卡DESIGN OF LABVIEW- BASED OSCILLOSCOPEAbstractVirtual instrument is a computer-based automated test equipment system. The outstanding advantages of virtual instrumentation and computer technology to combine computer resources and equipment hardware, digital signal processing software modules with different functions in combination to form the function of different instruments. The needs of users can test their own equipment needed to design systems that use data acquisition card and computer peripheral hardware for signal acquisition and detection, and then use computer software to achieve the series of signal processing, computation and analysis and Test results show.The paper presents the design of a virtual oscilloscope, which is developed under LabVIEW and utilizes a normal PC sound card as hardware device. The designs for several main modules such as data acquisition, time-base and amplitude control and phase diversity were chiefly expounded.Keywords: LabVIEW Virtual Oscilloscope Sound card目录前 言1第一章 LABVIEW 简介211G语言简介212 LABVIEW 程序组成2第二章 虚拟示波器的原理421 示波器的基本原理4211 示波器波形显示原理4212 通用示波器的组成部分522 数字示波器的基本原理9221 数字示波器基本原理10222 数字示波器基本方框图1023 虚拟示波器的工作原理11第三章 虚拟示波器的设计1331 虚拟仪器创建过程1432 设计方案的比较15321 软件比较15322 声卡采集数据的特点1733 LABVIEW 中有关声卡函数介绍2034程序的流程图2135 程序的结构图2236 数据采集和处理模块2237 频谱分析模块2438 参数显示模块26第四章 程序设计显示2741 虚拟示波器的性能指标27411 控制面板27412 示波器的性能指标2742 程序的总框图2843 程序的调试结果29第五章 总结与展望31致 谢33参考文献3434前 言随着电子技术、计算机技术的高速发展及其在电子测量技术与仪器领域中的应用,新的测试理论、方法以及新的仪器结构不断出现,电子测量仪器的功能和作用也发生了质的变化。10 世纪末,美国成功研制了虚拟仪器。虚拟仪器是现代计算机技术和仪器技术结合的产物,是当今计算机辅助测试领域的一项重要技术。文章开始简要的介绍了虚拟仪器。分别讨论了虚拟仪器的概念与特点、组成与原理、现状与发展趋势、以及虚拟仪器与传统仪器比较等内容,并通过对系统体系结构、系统的设计目标、研究的意义和目的的介绍对系统设计方案进行了描述。同时也介绍了用虚拟仪器开发软件LabVIEW实现虚拟数字示波器的简要原理。然后文章通过介绍系统的总体结构,从而阐述了虚拟仪器也就是用软件编写来替代一个硬件仪器完成它的一切功能。可以说,虚拟仪器的主要功能是由软件定义与编写来实现的,在本系统中,测控软件是虚拟数字存储示波器的核心。文章从概述、界面及功能设计、软件结构及关键技术与算法等几个方面,具体介绍了虚拟数字存储示波器测控软件的设计思想和实现方法。结尾,对本课题成果进行了评价和总结,从实用性、可操作性、升级特性、数据真实性和可靠性等方面分别讨论了成果的实用性,并介绍了成果的推广应用情况和进一步的研究与改进设想等内容。第一章 LABVIEW 简介11 G语言简介LABVIEW是一个功能比较完整的软件开发环境,但它是为代替常规的BASIC和C语言设计的,它是一种编程语言而不仅仅是一个软件开发环境。它除了编程方式不同外,具有编程语言的所有特点,称之为图形化编程语言(简称G语言)。G语言是一种适合应用于编程任务,具有扩展函数库的通用编程环境。和BASIC和C语言一样,G语言也定义了数据类型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言,同时G语言丰富的扩展函数库还为用户编程提供了极大的方便。G语言与传统高级编程语言最大的差别在于编程方式一般高级语言采用文本编程,而G语言采用图形化编程语言。G语言是LABVIEW的核心,熟练掌握G语言的编程要素和语法规则,是开发LABVIEW应用程序的最重要的基础。12 LABVIEW 程序组成该环境包括三个部分:程序前面板、框图程序和图标/连接端口。程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),为虚拟仪器的框图程序提供数据;输出量被称为显示(Indicators),显示虚拟仪器流程图中产生或获得的数据。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使得前面板直观易懂。一个程序前面板都对应着一段框图程序。框图程序用LABVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由节点(Node)、数据连线(Wire)构成。节点是VI程序中的执行元素,类似于文本编程语言程序中的语句、函数或子程序。节点之间数据连线按照一定的逻辑关系相互连接,可定义框图程序内的数据流动方向。节点之间、节点与前面板对象之间是同数据端口和数据连线来传递数据的。数据端口是数据在前面板对象和框图程序之间传输的通道,是数据在框图程序内节点之间传输的接口。LABVIEW中有三种类型的数据端口:控制端口和指示端口以及节点端口。控制端口和指示端口用于前面板对象,当VI程序运行时,从控制输入的数据通过控制端传递到框图程序,供其中的程序使用,产生的输出数据再通过指示端口传输到前面板对应的指示中显示。每个节点端口都有一个或数个数据端口用于输入或输出。LABVIEW 采用的一种获得专利的数据流编程模式。这不同于基于文本的编程语言的线形结构,不同于执行一个传统的控制流方法。控制流执行的是指令驱动,而数据流执行的是数据流驱动或依赖数据的。但一个虚拟仪器的图标被放置在另一个虚拟仪器的流程图中时,它就是一个子仪器。图标连接端口可以把VI变成一个Sub VI,然后象子程序一样在其他程序中调用。图标是Sub VI的直观标记,是Sub VI在其他程序框图中被调用的节点表现形式,而连接端口则表示该Sub VI与调用它的 VI之间进行数据交换的输入/输出口,就象传统编程语言子程序的参数。第二章 虚拟示波器的原理21 示波器的基本原理示波器是利用电子射线的偏转,来显示电信号瞬时值图象(常成为时间波形)的一种仪器。它能快速的把肉眼不能直接看见的电信号的时变规律,以可见的形式,形象的显示出来。目前,示波器在信号测试、信号比较、逻辑分析等领域得到了广泛的应用。211 示波器波形显示原理在示波器的荧光屏上,显示电压波形的原理如下:被测电压是时间的函数,在直角坐标系统中,可以用的曲线表示。示波器的两副偏转板使电子束在两个互相垂直的方向偏转,这两个方向可以看成是坐标轴。因此,要在管子的荧光屏上显示被测电压的波形,就必须使射线沿水平方向的偏转同时间成正比,而在垂直方向同被测电压成正比(每一瞬间)。所以,锯齿波电压加到水平偏转板上,它迫使射线以恒定的速度从左向右沿水平方向偏转。并且很快的返回到起始位置。射线沿水平轴经过的距离跟时间成正比。被测电压加到垂直偏转板上,因而,每一瞬间射线的位置单值的对应于这一瞬间被测信号的值。在锯齿波电压作用期间,射线就绘出了被测信号的曲线,示波器波形显示原理如图2-1所示。图2-1 示波器波形显示原理以上图形是锯齿波的重复周期等于输入信号周期整数倍的情况(一倍),荧光屏上显示出的信号图形是稳定不动的。如果不是整数倍,则每次出现的信号波形就不会重合,图形将不断移动,不利于观测。为了保证锯齿波的周期等于输入信号的整数倍,示波器必须具有同步或触发电路。212 通用示波器的组成部分现在示波器的简化方框图如图2-2所示。它主要由主机、Y轴系统、X轴系统三部分组成。图2-2 示波器的简化方框图被测信号接到“Y”输入端,经Y轴衰减器适当衰减后送至Y1放大器(前置放大),推挽输出信号和。经延迟级延迟r1时间,到Y1放大器。放大后产生足够大的信号和,加到示波管的Y轴偏转板上。为了在荧屏上显示出完整的稳定波形,将Y轴的被测信号引入X轴系统的触发电路,在引入信号的正(或者负)极性的某一电平值产生触发脉冲,启动锯齿波扫描电路(时基发生器),产生扫描电压。由于从触发到启动扫描有一时间延迟r1,为了保证Y轴信号到达荧光屏之前X轴开始扫描,Y轴的延迟时间r1应稍大于X轴延迟时间r1。扫描电压经X轴放大器放大,产生推挽输出和,加到示波管的X轴偏转板上。Z轴系统用于放大扫描电压正程,并且变成正向矩形波,送到示波管栅极。这使得在扫描正程显示的波形有某一固定辉度,而在扫描回程进行抹迹。1主机主机部分包括示波管、Z信道、电源和校准器等。(1)阴极射线管(CRT)简称示波管,是示波器的核心。它将电信号转换为光信号。下图2-3是示波管内部结构图。图2-3 示波管的内部结构图(2)Z 信道又称调亮信道,它将调亮电路送来的调亮信号送到示波管的控制栅极,使示波管在扫描正程时才出现射线的光迹。显然,调亮信号应该是一个持续时间同扫描正程相等的正方波电压。(3)示波器的电源分为高压电源和低压电源两种。低压电源常采用典型的串联调整式温压电路。现代示波器的高压电源大部分采用图2-4所示直流-直流变换器方案。图2-4 直流直流变换器它由高频振荡器产生近于方波的高频振荡,再用变压器把它升压到所需的电压值,经过整流和滤波,得到所需的直流电压。这种用高频产生高压的方法,其优点是:变压器和滤波器可以做的较小;纹波电压和噪声都比较低;振荡器的负载一旦加重,能自动停振,有自动保护的作用。(4)示波器主机中有一个固定频率和幅度,并具有较高准确度的内部信号源。它可以是正弦波、方波或脉冲波,用于自校水平系统扫速和垂直系统灵敏度。2 Y轴系统Y信道是被测信号通过的通道,因此,它需要足够宽的频宽,带内的幅-频特性应平坦,相-频特性为直线。Y信道主要包括探极、衰减器、倒相放大器、前置放大器、延迟线、输出放大器等几个部分。(1)示波器的探极是连接在外部的一个输入电路部件,它的基本作用是便于在被测源上探测信号和提高示波器的输入阻抗,从而展宽示波器的实际频带。(2)示波器的被测信号幅度变化范围宽广,小到几十毫伏,大到几百伏。为了保证垂直放大器正常工作,对大信号需要进行衰减。为使信号不畸变,通常采用电阻电容分压器,为了不影响被测信号电路原有工作状态,衰减器的阻抗还必须足够高。(3)由于示波管垂直偏转板需要对称电压,即要求Y轴要对称输出,因此在前置放大器中设置倒相电路,将单端输入信号变成对称输入信号。(4)前置放大器常用来将单端输入信号变成双端对称信号输出。它的增益要求不高,但是频带宽度要比整体的频响指标值还要宽广,同时还要实现各种控制功能、增益微调、增益扩展、变换极性和垂直移位等。(5)示波器的水平扫描锯齿波信号起始点与触发信号之间有一段延迟时间,为了观测脉冲的前沿,就必须在Y轴放大器中插入延迟线,使被测信号起点和扫描信号起点同步。为此,延迟线在Y轴的频带宽度内,要能无失真的滞后一段时候传输被测信号,滞后时间称为延迟线的延迟时间(td)。示波器的延迟时间通常为60ns100ns。为了防止延迟线传输信号产生反射,导致波形失真,它的特定阻抗必须与电路上的负载想匹配。(6)Y信道输出放大器的主要作用是把延迟线送来的信号放大到足够的幅度,以推动示波管里的垂直偏转系统产生满偏转。因此,它应有足够的放大系数(一般为550,级数为13级)。大的动态范围,小的非线形失真以及良好的频率特性和过渡特性。3 X轴系统X信道的主要作用是产生一个随时间线形变化的电压(称锯齿波电压)。将这个电压放大到足够的幅度,加到示波管的水平偏转板,去控制射线沿水平方向从左向右随时间线形偏转,以形成时间基线(称时基)。为了获得稳定的图象,应能选择合适的同步或者触发信号,并把它放大和形成触发脉冲,去触发时基闸门。因此,X信道应包括时基发生器,触发电路和X放大器等几个部分。(1)时基发生器 扫描的种类扫描的方式有很多种,有直线扫描、圆扫描和螺旋扫描,在示波器中,几乎都是采用直线扫描。直线扫描还可以分为连续扫描和出发扫描。连续扫描的扫描电压就是周期性的锯齿波电压。如果用示波器研究研究脉冲过程,连续扫描就不适用了,必须用出发扫描。 时基电路与工作原理在现在示波器中,时基发生器由时基闸门、积分器(扫描电压发生器)、电压比较器和释抑电路四个部分组成。它们构成一个环形自控系统。时基电路方框图如图2-5所示。图 2-5 时基电路方框图(一)电压比较器是确定扫描电压幅度及其稳定性的主要部件,如果说扫描电压的起始时刻是由内触发脉冲决定,那么其终止时刻就应由电压比较器决定。时基闸门在触发脉冲的作用下,打开扫描发生器中的开关管,开始扫描的正程。扫描电压一方面送到X轴通道放大器推动X轴偏转板;另一方面送到电压比较器与预定的电压比较。当扫描电压和这个预定电压相等时,电压比较器产生一个输出信号,使时基闸门恢复到原始状态,从而结束闸门脉冲,关闭扫描发生器中的开关管,产生扫描回程。(二)时基闸门是直接控制扫描发生器工作电路部件。它在触发脉冲的作用下,使扫描发生器开始工作。扫描正程开始,当扫描电压达到一定的幅度后,它又在电压比较器的作用下关闭扫描发生器,使扫描正程结束,开始扫描回程。当扫描回程结束后,它又在释抑电路的作用下接触闭锁状态,使整个扫描发生器环处于等待状态。(三)为了获得稳定的图象,每一次扫描都必须在同样的起始电平上开始,这一点就是由释抑电路来保证的。扫描系统一旦被触动,释抑电路就“抑制”触发脉冲对扫描发生器的触发作用,直到一次扫描过程结束。扫描电压回到起始电平后,释抑电路才“释放”扫描电路,使它能够再次被触发脉冲搐动。(1)触发电路时基发生器是在触发脉冲发生器的控制下工作。触发脉冲发生器的主要任务是:把不同来源,不同波形,不同幅度和不同频率的触发信号变换成时基发生器所能接受的触发脉冲。触发电路的作用就在于保证每次时基在屏幕的扫描的时候,时基扫描都从输入信号上的一个精确确定的点开始。这个精确的扫描起始点由下述控制因素来决定:触发电平、触发斜率、触发耦合。(3) X放大器X放大器的基本应用,是作扫描电压的放大;但在示波器XY方式工作时,又作X输入信号的传输通道。22 数字示波器的基本原理数字示波器用A/D变换器把模拟波形转换成数字信号,然后存储在半导体存储器RAM中,需要时,将RAM中存储内容调出,通过相应的D/A转换器,再恢复成模拟量显示在示波管屏幕上。在这种示波器中,信号处理功能和信号显示功能是分开的。其性能,包括精度和速度,完成取决于进行信号处理的A/D、D/A变换器和半导体存储器。221 数字示波器基本原理在数字示波器中,把输入的被测模拟信号先送至A/D转化器进行取样,量化和编码,成为数字“1” 、“0”码,存储到RAM中,这个过程称为存储器的“写过程”。然后,再将这些“1” 、“0”码从RAM中依次取出按顺序排列起来,经过D/A转换使其包络重现输入模拟信号,这就是“读过程”。在数字存储示波器中,采用适时取样方式,可观测单次信号;采用顺序取样或者随即取样方式,可观测重复信号。理论分析指出,为了正确的观测信号波形,只有恰当的选择取样频率才能用所得的样值脉冲序列恢复出原信号波形。取样频率过低会产生频谱重叠效应,造成波形失真,使示波器测量结果出现明显误差。取样定律证明,对于一个最高频率为的信号,当取样频率时,其取样后所得到的脉冲序列将包括原信号的全部信息。称为奈奎斯特频率。当取样频率等于输入信号频率时,显示波形的频率信息还能保留,但是幅度信息将大量损失。222 数字示波器基本方框图数字存储示波器的基本方框图如图2-6所示。图2-6 数字存储示波器的基本方框图Y输入信号经衰减放大后送至A/D转换器,按“t/div”开关设定的取样频率下进行变换,从而得到一串数据流,在控制逻辑电路的作用下写入随即存储器RAM中。RAM的读写操作受R/W控制,当RAM的读写控制R/W=0时,RAM进行写操作;当R/W=1时,RAM进行读操作。RAM地址选择器在RAM进行写操作时,将写地址输出选做RAM地址;读操作时,则将读地址输出选做RAM地址。控制逻辑电路一旦接受到来自触发放大器的触发信号,就启动一次数据写入循环,产生写功能信号送至RAM读写控制,同时使写地址计数器计数。写地址计数器将顺序递增的写地址送至存储器,确保每组数据写入至相应的存储单元中去。不管数据用何种速度写入存储器,存储器中存储的各数据均不相关的以固定的速度不断读出,且显示时不产生闪烁。读出数据送至垂直D/A变换电路,用做示波器Y显示。同时一个以读出速率递增的计数器计数,输出送至水平D/A转换器,用做示波器X显示。晶体振荡器产生高精度、高稳定性的时钟。该时钟由分频电路产生与面板上“t/div”开关设置相对应的取样时钟,去控制A/D转换器和存储器写入。时基分频电路也产生该脉冲,供读地址计数器和显示地址计数器,以产生稳定阶梯扫描电压。23 虚拟示波器的工作原理 模拟信号经同轴电缆进入采集卡的输入通道,经过前置滤波电路、衰减电路、可变增益的放大电路,将信号处理成A/D转换器可以处理的标准电平,经过A/D采样量化转化成计算机可以处理的数字信号并缓存到卡上的存储器。其支持软件通过PC机的PCI总线接口控制模拟通道的阻抗匹配、放大器的增益选择、启动A/D转换及转换结束的识别,并将采集数据以DMA的方式传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打印传输等。使用LABVIEW构建基于声卡的虚拟示波器的思路是很清晰的。实际的数据采集流程是:(1)初始化:对声卡中与数据采集相关的一些硬件参数进行设置;(1)然后,声卡开始采集数据,并将采集到的数据暂存在先进先出的缓冲区中;(3)当缓冲区存满数据后,一方面将数据读取到用户程序的数组中,产生一个采集数据集合,并在程序中对数据进行各种处理;(4)另一方面,得到缓冲区满的消息后,通知声卡暂时停止采集外部数据,并进一步清空缓存里的内容。声卡数据采集流程如图2-7所示,这个流程与一般数据采集卡并无多大差别,这也是本设计的最基本的骨干。SI ConfigSI Start数据处理SI ReadSI StopSI Clear图2-7 声卡数据采集流程图虚拟示波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操作和处理功能,也就是使用个人计算机及接口电路来采集现场或实验室信号,并通过图形用户界面(GUI)来模仿示波器的操作面板,完成信号采集、调理、分析处理和显示输出等功能。我所设计的虚拟示波器,是在数据采集硬件的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。一般测试仪器由信号采集、信号处理和结果显示三大部分组成,这三大部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是由软件实现。我所设计的虚拟示波器总体上包括数据采集、波形显示、参数测量、频谱分析、等几大模块组成,虚拟示波器的结构框图如下2-8所示。信号输入数据采集数据处理波形显示参数测量频谱分析图2-8 示波器的结构框图第三章 虚拟示波器的设计虚拟示波器由仪器硬件和功能模块软件两部分组成。本章将详细讨论对虚拟示波器设计时几种方案的比较。31 虚拟仪器创建过程创建虚拟仪器的过程大体分为以下五步:(1)需求分析。需求分析是借用软件工程中的概念,其含义包括创建开发原型(明确实质要解决的问题)、分析程序的可行性(包括成本、性能、风险和技术障碍)等。在创建开发原型的过程中,开发人员要与程序的最终使用人员进行充分的交流。在此基础上,程序开发人员对所要解决的问题有了大致的了解,甚至可以画出一个系统的框图,之后还要进行程序的可行性分析,考虑选用器件的性价比、开发风险等。(2)软、硬件的选择。程序开发人员不必担心操作系统的问题,目前的LABVIEW是一个支持多个系统平台的软件,Windows、Power Macintosh、Sun SPARCA工作站、HP工作站、Linux上都可以运行。针对一些特殊的任务,LABVIEW还提供一些附加的工具包,非常方便。选择适当的工具包将会达到事半功倍的效果。在LABVIEW的设备驱动程序库中已经包含了上千个免费的驱动程序(这些驱动程序支持NI公司的硬件产品),还包括了世界上各大仪器厂商的大部分仪器的LABVIEW驱动程序。如果没有现成的驱动程序,用户也可以自己编写。(3)设计用户界面。 用户界面也称GUI,即graphical user interface。前面板必须简洁、易懂、设计时应该满足复杂工作要求。前面板上使用的颜色方案,要兼顾一致和鲜明。一致性包括:一个VI程序的GUI之间要保持一致;VI的GUI要与平时大家用的应用程序色调一致。鲜明就是说:需要强调的部分一定要用颜色加以突出,体现测控系统程序的特点,减少用户操作过程中犯错误机会。(4)程序设计。拿到一个设计任务后,首先要分解任务,把待设计任务分割成几个大的模块,然后把大的模块再分解为一系列的功能,甚至可以分解到要用那些函数的程度;然后是寻求例程,参考例程可以避免重复前人做过的工作;接下来就是根据项目的特点选择程序设计方法,自上而下或者自下而上。(5)程序测试。测试过程是项目开发的重要组成部分。测试应该从底层的VI开始,然后再测试较大的模块,最后进行整体测试。测试中还要特别关注全局变量对程序的影响。此外,局部变量和属性节点也要引起注意。对于高级程序员来说,还要考虑程序的性能如何,能否满足速度与响应的要求以及内存的使用情况。32 设计方案的比较321 软件比较在给定计算机必要的仪器硬件后,构成和使用虚拟仪器的关键在于软件。软件为用户提供了集成开发环境、高水平的仪器硬件接口和用户接口。美国国家仪器公司提出的“软件即仪器”(The Software is the Instrument)形象的概况了软件在虚拟仪器技术中的重要作用。所以正确选择软硬件对程序开发和设计起着非常重要的作用。只有选择了合适的软硬件才能快速的开发出应用软件,才能事半功倍。对于虚拟仪器应用软件的编写,大致可以分为两种方式:(1)通用编程软件进行编写。主要有Microsoft公司的Visual Basic与Visual C+,Borland公司的Delphi,Sybase公司的Power Builder。(2)用专业图形化编程软件开发。如HP公司的HP-VEE,NI公司的LABVIEW Lab windows/CVI等。具体选用哪一种软件,应该由编程者根据实际情况选择。设计一个简易虚拟示波器,在设计中必须考虑以下因素:开发成本低、执行效率佳、程序弹性大、开放性架构易于扩充。LABVIEW是实验室虚拟仪器工作平台(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NI)的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。LABVIEW的前面板可以包括旋钮、刻度盘、开关、图表和其他界面工具,允许用户通过键盘或鼠标获取数据并显示结果。LABVIEW具有模块化特性,有利于程序的可重用性。LABVIEW将软件的界面设计和功能设计独立开来,修改人机界面无需对整个程序进行调整,LABVIEW是利用数据流框图接受指令,使程序简单明了,充分发挥了图形化编程环境的优点。这就大大缩短了虚拟仪器的开发周期、消除了虚拟仪器编程的复杂过程。而通用的编程软件需利用组件技术实现软面板的设计,这使程序设计变得非常麻烦。LABVIEW虽然是为计算机测控领域开发的,但它的函数包含了一般高级计算机语言中的绝大多数程序控制功能。LABVIEW作为开发环境具有的优点总结如下所述:(1)图形编程化,降低了对使用者编程经验的要求,易于工程师使用;(2)采用面向对象的方法和概念,有利于软件的开发和再利用;(3)对象、框图及其构成的虚拟仪器在Windows,Windows NT、UNIX等多平台之间和各种PC机及工作站间兼容,便于软件移植;(4)支持550多种标准总线设备及数据采集卡,如串行接口、GPIB、VXI等;(5)具有丰富的库函数和例子,对于大多数应用程序,用户可以从例子中取得程序框架,便于提高开发速度;(6)具有比较完备的代码接口,可调用Windows中的动态链接库(DLL)中的函数以及C语言程序,以弥补自身的某些不足;(7)直接支持动态数据交换(DDE)、对象联接与嵌入(OLE)、结构化查询语言(SQL)、便于与其他Windows应用程序和数据库应用程序接口;(8)支持TCP,UDP等网络协议,网络功能强大,可遥控分布在其他微机上的虚拟仪器设备;(9)为加强LABVIEW的功能,适应各种工业应用的需要,NI公司又开发了一系列与LABVIEW配合使用的软件包,如自动测试工具、可连接15种数据库的SQL工具、SPC分析函数工具、信号处理套件、PID控制工具、图形控制工具等。在许多应用程序中,运行速度是至关重要的。LABVIEW是至今唯一带有可以生产最佳编码的编译器的图形化开发环境,运行速度等同于编好的C或C+程序。因此LABVIEW是虚拟示波器设计的最佳选择。322 声卡采集数据的特点商用数据采集卡具有较大的通用性,但其价格比较昂贵,在具体的应用场合,有些功能可能并不实用。普通声卡,具有16位的量化精度、数据采集频率是44.1kHz,完全可以满足特定应用范围内数据采集的需要,个别性能指标还优于商用数据采集卡,而价格却为商用数据采集卡的十几分之一甚至几十分之一。计算机中的声卡本身就是一个A/D,D/A的转化装置,并且造价低廉,对于设计者而言,在PC上完成虚拟示波器的任务,成本几乎为0;性能稳定,在设计中完全可以满足要求。因此在本设计中,该虚拟示波器的数据采集装置主要基于声卡。1 声卡的作用从数据采集的角度看,声卡是一种音频范围内的数据内数据采集卡,是计算机与外部的模拟量间环境联系的重要途径。LABVIEW提供了操作声卡的函数。声卡的主要功能包括录制与播放、编辑与合成处理、MIDI接口三个部分。(1)录制与播放通过声卡,人们可将来自话筒、收录机等外部音源的声音录入计算机,并转换成数字文件进行存储和编辑等操作;人们也可以将数字文件还原成声音信号,通过扬声器回放,例如为电子游戏配音,以及播放CD、VCD、DVD、MP3和卡拉OK等。注意,在录制和回放时,不仅要进行D/A和A/D转换,还要进行压缩和解压缩处理。(1)编辑和合成处理通过对声音文件进行多种特技效果的处理,包括加入回声,倒放,淡入淡出,往返放音以及左右两个声道交叉放音等,可以实现对各种声源音量的控制和混合。(3)MIDI(Musical Instrument Digital Interface 乐器数字接口)接口通过MIDI接口和波表合成,可以记录和回放各种接近真实乐器原声的音乐。从一般意义上来看,上述功能主要是数据采集和信号处理,很自然的就可以联想到用声卡实现示波器、信号处理器、频谱分析仪等虚拟仪器。2 声卡的硬件结构图3-1是一个声卡的硬件结构示意图。一般声卡有4-5个对外接口。其中,输出接口有1个,分别是Ware Out和SPK Out。Ware Out(或Line Out)给出的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来作为双通道信号发生器的输出。Line InMic InWave OutSPK OutMIDI InA/DDSPD/A波表MIDI合成器图2-9 声卡的硬件结构示意图输入接口Line In 和Mic In的区别在于,后者可以接入较弱的信号,幅值大约为0.01-0.1V,显然这个信号较易受干扰,因而常使用Line In,它可以接入幅值约为不超过1.5V的信号。注意,这两个输入端口都有隔直电容,这意味着直流信号不能被声卡所接受。多数声卡的输入也是双通道的,但接入插头线往往将这两个通道短接成一个通道。另外这两个通道是共地的。3声卡的主要技术参数(1)采样的位数采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音也就越真实。声卡的位是指声卡在采集和播放声音文件时所使用的数字声音信号的二进制位数,它客观的反映了数字声音信号对输入声音信号描述的准确度。例如,8位代表;16位的代表。比较之下,一段相同的音乐信息,16位声卡能把它分为64000个精度单位进行处理,而8位声卡只能处理156个精度单位,最终采样效果当然是无法相提并论的。(2)采样频率目前,声卡的最高采样频率为44.1kHz,少数达到48kHz。对于民用声卡,一般将采样频率设为4档,分别是44.1kHz、11.05kHz、11.015kHz、8kHz。11.05kHz只能达到FM广播的声音品质;44.1kHz是理论上的CD音质界限,48kHz则更好一些。对10kHz范围内的音频信号,最高的采样频率才48kHz,虽然理论上没有问题,但似乎余量不大。使用声卡比较大的局限在于,它不允许用户在最高采样频率之下随意设定采样频率,而只能分为4档设定。这样虽然可使制造成本降低,但却不便于使用。用户基本上不可能控制整周期采样,只能通过信号处理的方法来弥补非整周期采样带来的问题。(3)缓冲区与一般数据采样卡不同,声卡面临的D/A和A/D任务通常是连续状态的。为了在一个简易的结构下较好的完成某个任务,声卡缓冲区的设计有其独到之处。为了节省CPU资源,计算机的CPU并不是每次声卡A/D或D/A结束后都要响应一次中断,而是采用了缓冲区的工作方式。在这种工作方式下,声卡的A/D、D/A都对某一缓冲区进行操作。以输入声音的A/D变换为例,每次转换完毕后,声卡控制芯片都将数据存放在缓冲区,待缓冲区满时,发出中断给CPU,CPU响应中断后一次性将缓冲区内的数据全部读走。计算机总线的数据传输速率非常高,读取缓冲区数据所用时间极短,不会影响A/D变换的连续性。缓冲区的工作方式大大降低了CPU响应中断频度,节省了系统资源。声卡输出声音是的D/A变换也是类似的。一般声卡使用的缓冲区长度的默认值是8KB(8191字节)。这是由于对x86系列处理器来说,在保护模式(Windows等系统使用的CPU工作方式)下,内存以8KB为单位被分成很多页,对内存的任何访问都是按页进行,CPU保证了读写8KB长度的内存缓冲区时,速度足够快,并且一般不会被其他外来事件打断。设置8191字节或其整数倍(例如31768字节)大小的缓冲区,可以较好的保证声卡与CPU的协调工作。(4)没有基准电压 声卡不提供基准电压,因此无论是D/A还是A/D在使用时,都需要用户自己参照基准电压进行标定。33 LABVIEW 中有关声卡函数介绍 LABVIEW中提供了一系列使用Windows底层函数编写的与声卡有关的函数。这些函数集中在图3-3所示的为LABVIEW中Graphics & Sound 的函数中Sound 函数中的Input 函数。由于使用Windows底层函数(不用更高级方便的MCI函数以及DirectX接口)直接与声卡驱动程序打交道,因而封装程序低,速度快,而且可以访问,采集缓冲区中任意位置的数据,具有很大灵活性,能够满足实时不间断采集的需要。在本设计中主要运用到LABVIEW中Graphics & Sound 的函数中Sound 函数中的Input 这个子模块。表3-1是LABVIEW中Graphics & Sound 的函数中Sound 函数中的Input 中提供的函数。函数名称功能说明configure该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数,如采样率,数据格式,缓冲区长度等。声卡的采样率由内部时钟控制,只有3-4种固定频率可选,一般将采样频率设置为44100HZ,数据格式设置为16bit。缓冲区长度可选默认值。start该函数用于通知声卡开始采集外部数据。采集到的数据会被暂存在缓冲区中,这一过程无需程序干预,由声卡硬件使用MDA直接完成,保证了采集过程的连续性。read该函数用于等待采样数据缓冲区满的消息。当产生这一消息时,它将数据缓冲区的内容读取到用户程序的数组中,产生一个数据采样集合。若计算机的速度不够快,使得缓冲区内容被覆盖,则会产生一个错误信息。这时应调节缓冲区的大小,在采样时间和数据读取之间找到一个理想的平衡点。clear该函数用于完成最终的清理工作。例如关闭声卡采样通道,释放请求的一系列系统资源(包括MDA,缓冲区内存,声卡端口等)。表3-1 Input函数简介34程序的流程图 程序流程框图如图3-1所示:初始化声卡信号采集波形显示参数显示LABVIEW模块图 3-1 虚拟示波器程序流程图流程图简介:首先对设计中运用到的模块进行初始化,然后通过声卡对数据进行采集,把采集到的信号送入LABVIEW模块中,通过LABVIEW模块的程序运行下,把采集到的信号通过图形的形式,把波形显示出来。通过波形的显示,最后把波形的其他参数以数字的形式都显示出来。35 程序的结构图程序的结构图如图3-2所示:声卡参数设置数据采集频谱分析参数显示波形显示信号发生器图3-2 程序的结构图36 数据采集和处理模块数据采集模块是虚拟示波器软件的硬件驱动部分,在这里主要是利用LABVIEW里面的声卡函数完成声卡的硬件参数设置、启动声卡采集数据、等待采样数据缓冲区满的消息、通知声卡停止采集等任务。具体的数据采集流程是:(1)初始化;对声卡中与数据采集相关的一些硬件参数进行设置;(1)然后,声卡开始采集数据,并将采集到的数据暂存在先进先出的缓冲区中;(3)当缓冲区存满数据后,一方面将数据读取到用户程序的数组中,产生一个采样数据集合,并在程序中对数据进行各种处理;(4)另一方面,得到缓冲区满的消息后,通知声卡暂时停止采集外部数据,并进一步清空缓存里的内容。如图3-3所示,为数据采集和处理模块图3-3 数据采集和处理模块程序说明:在LABVIEW软件中,对于声卡的声道可以分为mono 8-bit(单声道8位),mono 16-bit(单声道16位),stereo 8-bit(立体声8位)和stereo 16-bit(立体声16位)。其中,16位声道比8位声道采样信号的质量好,立体声(stereo)比单声道(mono)采样信号好,最好的采样通道形式是stereo 16-bit,这样采样的波形稳定,而且干扰小。另外,用单声道采样,左右声道信号都相同,而且每个声道的幅值只有原信号幅值的1/1;采用立体声采样,左右声道互不干扰,可以采两路不同的信号,而且采样的信号幅值与原幅值相同。当然,还有一个重要的原因是,如果选择mono(单声道),SI出来的数据是标量,不能组成数组,进而不便于数据的各种处理。所以在设计中我采用stereo 16-bit进行双声道采样。声卡的采样频率(rate)有4种选择,即8000Hz,11015Hz,11050Hz和44100Hz,采样频率不同,采到的波形的质量也不同,应视具体情况采用合适的频率,在设计中,为了得到良好的演示效果,我采用了44100Hz的采样频率。而在采样率的选择方面,我采用了一个case循环,目的是在采样率为44100Hz的条件下,在循环内产生波形数据。这个在后面波形产生模块中进行详细解释。主要操作说明:在block diagram:Functions Graphics & Sound Sound Sound Input 选择Sound Input函数。1) Functions Structures While Loop 选择While循环。1) Functions Structure Case 选择Case 循环。3) 右键点击SI Config 函数的Sound Format输入,选择create control,自动生成Sound Format簇类型控键。其中包含三项数据,分别为:sound quality;rate;bits persample。4) 右键点击SI Config 函数的Buffer Size输入,选择create control,自动生成无符号长整数类型的控键。5)Functions Cluster Unbundle 选择Unbundle 函数。对输入簇Cluster 进行解包。当接入cluster输入参数后,输出端子数自动调整为与cluster元素数目相同。37 频谱分析模块频谱分析模块的前面板如图3-4所示图3-4 频谱分析模块的前面板频谱分析模块的后面板如图3-5所示图3-5 频谱分析模块的后面板程序说明:频谱分析模块,它的作用是对信号进行频谱分析。实现一个FFT运算。主要利用了FFT Spectrum 函数。FFT Spectrum 函数的功能为计算一个时间信号的平均FFT Spectrum 。其结果是返回一个幅值或相位值。主要操作说明:在block diagram:Functions Signal Processing Wfm Measure FFT Spectrum 选择FFT Spectrum 函数。38 参数显示模块参数显示模块如图3-6所示。图3-6 参数显示模块程序说明:参数显示模块,它的作用是对信号的参数显示出来。参数中包括周期平均,峰峰值,正峰值,负峰值,周期均方根,直流,均方根。参数显示是以数子的方式显示。第四章 程序设计显示41 虚拟示波器的性能指标411 控制面板本论文设计的虚拟示波器控制面板如图4-1所示图4-1 示波器的控制面板412 示波器的性能指标1 采样频率系统能测试到的最高频率与电路所选器件的性能有关,本论文选用声卡的最高采样频率为44.1KHz,根据采样定理,所能测试模拟信号的最高频率为11KHz。考虑到声卡本身采集质量问题,实际测试的模拟信号的最高频率为1.5KHz。2采样精度系统采样精度与电路所选器件的位数有关,设计中选用16位采样的声卡,采样精度为,分辨率约为0.0015%。3 实时带宽:1KHz。42 程序的总框图程序的总框图如图4-2所示图4-2 程序总框图总框图说明:信号通过声卡采集进虚拟器中,通过声卡的基本设置,设置声卡的一些基本参数,声卡的采样频率不能太低,如果频率太低,采集过程中,不能连续的采集,示波器的输出就会中断。声卡采集完信号数据后,声卡开始读取数据,通过对数据的读取,虚拟示波器把波形显示出来;在波形显示的过程中,虚拟示波器还能通过频谱分析,对波形的幅频和相频分析,显示虚拟示波器的幅频特性和相频特性;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论