




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要本文设计了labview虚拟示波器。它是一种集波形显示和波形叠加于一体的虚拟仪器,可以实现传统示波器的各项功能如:产品测试、控制和设计。本文先对虚拟仪器的概念、构成、开发语言与平台进行比较详细的介绍,并与传统仪器进行比较,体现出虚拟仪器研发费用低、更新快、实用性高、易携带和兼容性高的优势。然后介绍了数据采集的相关理论,阐述了labview软件编写程序来实现传统示波器的功能。文章从界面及功能设计、软件结构与数据采集技术等几个方面具体介绍了labview虚拟示波器的设计思想和实现方法。文章最后给出了本设计实现的结果,通过鼠标调节数值控件来设置波形参数,运行程序来显示波形和叠加波形。关键词:虚
2、拟仪器;labview;虚拟示波器abstractthis paper designed an oscilloscope by labview. its a visual instrument which could display or overlay waves, and it included all function as traditional ones such as product testing, controlling and designing.at first i introduced the concept, composing, designing language
3、and platform of visual instrument in detail. the visual instrument has cheaper designing cost, the faster updating, and more useful, portable, and better compatibility than the traditional ones. and then i introduced the theory of data collection, and the program i designed to carry out the function
4、s of traditional oscilloscopes. the paper explain the designing thought and way to carry out the oscilloscope based on labview from function designing, software structure and data collection. at last is the result of the designing. using mouse numerical value controlling to set parameter of waves, a
5、nd run the program to show and overlay waves. key words: virtual instrument; labview; virtual oscilloscope目 录绪 论11 系统设计理论41.1 虚拟仪器41.1.1 虚拟仪器概念41.1.2 虚拟仪器的构成与分类41.1.3 虚拟仪器和传统仪器的比较51.2 虚拟仪器的开发软件71.2.1 虚拟仪器的开发语言71.2.2 图形化虚拟仪器开发平台81.3 基于labview平台的虚拟仪器程序设计82 硬件平台的实现102.1 虚拟示波器功能结构102.2 数据采集理论知识102.2.1 数
6、据采集技术概论102.2.2 采集系统的一般组成122.2.3 传感器122.2.4 信号调理122.2.5 输入信号的类型132.3 数据采集卡的选择152.3.1 数据采集卡的主要性能指标152.3.2 数据采集卡的组成163 程序设计173.1 总体设计173.2 前面板的设计183.3 程序框图的设计193.4 简化程序213.4.1 正弦波程序性能指标213.4.2 正弦波信号发生器简介213.4.3 虚拟正弦波发生器的程序框图223.4.4 虚拟信号采集224 采集信号软件仿真244.1 双通道显示波形244.2 双通道波形叠加举例24结 论26致 谢27参考文献28附录a 中英文
7、文献对译29附录b 虚拟示波器核心代码41iv沈阳理工大学应用技术学院学士学位论文绪 论虚拟仪器可广泛应用于航天航空、军事工程、电力工程、机械工程、建筑工程、铁路交通、地质勘探、生物医疗等很多需要高性能测控设备进行电子测量、振动分析、声学分析、故障诊断等科学分析的场合。在大专院校使用虚拟仪器,可以让学生使用到那些一般学校买不起的昂贵的高性能测控设备和精密仪器设备,在节约了大量仪器设备经费投入的同时还开阔了学生们的眼界和思路。虚拟仪器可以非常灵活地进行教学中的原理设计实验,并进行直观的演示,为提高教学质量与效率创造了条件。随着网络技术的发展,虚拟仪器有着十分光明的前景,将虚拟仪器应用于网络技术,
8、可以为远程教学和远程实验提供强大的功能,进一步提高实验室设备的利用率,并为异地实验数据及更广泛的学术交流提供了高效的平台。虚拟仪器是微电子、通信、计算机等现代科学技术高速发展的产物。自从1785年库仑发明静电扭秤,1834年哈里斯提出静电电表结构以来,随着相关技术的进步、仪器仪表元器件质量的提高和测量理论方法的改进,电子仪表和电子仪器得到飞速发展1。有一种较普遍地说法将测量仪器的发展分为五个阶段:模拟仪器阶段、电子仪器阶段、数字仪器阶段、智能仪器阶段和虚拟仪器阶段。从十九世纪初到二十世纪末,测量仪器经历了模拟仪器、电子仪器、数字仪器、智能仪器等阶段,发展到现在的虚拟仪器。模拟仪器主要有模拟式电
9、压表、电流表等,这些仪表解决了当时对某些量的测量的需求。从二十世纪初到二十世纪五十年代左右,出现了电子管,使测量仪器的材料性能得到提高,同时测量理论和方法与电子技术、控制技术相结合,出现了以记录仪和示波器为代表的电子仪表。五十年代以后随着晶体管和集成电路的出现以及应用电子技术的发展将数字技术成功地应用到测量仪器,这时电子控制集成电路和计算机技术开始融为一体成为测量仪器的主要特征。七十年代初第一片微处理器问世,微型计算机技术从此迅猛发展,在其影响下测量仪器呈现出新的活力并取得了长足进步。伴随微电子技术、计算机技术、网络技术的迅速发展及在电工电子测量技术领域的应用,测量仪器也不断进步和发展,出现了
10、智能仪器。智能仪器是将微机置于仪器内部,使仪器具有控制、存储、运算、逻辑判断及自动操作等智能特点,并在测量准确度、灵敏度、可靠性、自动化程度、运用能力及解决测量技术问题的深度和广度等方面都有明显的进步。这种内置微处理器的仪器,既能进行自动测试又能完成数据处理,可取代部分的脑力劳动。随着电子技术、微计算机技术的发展,智能仪器的智能水平不断提高。但是在数字化仪器、智能仪器阶段基本上没有摆脱传统仪器那种独立使用、手动操作的模式,难以胜任更复杂、多任务的测量需求。为解决这样的问题,总线式仪器与系统应运而生。人们发明制造出camac、rs-232和gpib等多种仪器通讯接口总线,用于将多台智能仪器连在一
11、起,以构成更复杂的测试系统。1982年美国西北仪器公司总裁德·伯克提出了微机化仪器的概念,也就是人们现在常提到的卡式仪器。卡式仪器是虚拟仪器的雏形,是将传统独立式仪器的测量电路部分与接口部分集合在一起制成仪器功能卡,将其插入微机的内部插槽或外部插件箱中形成的仪器。pc总线仪器系统是卡式仪器的一种,它是利用pc机内部的总线,把若干块仪器卡插在pc机内部或外部扩展机箱上而组成的。插卡总线机箱与pc机间的通信,可利用rs-232、gpib接口总线或以太网电缆等进行。虽然许多厂家通过定义新的仪器总线,不断对卡式仪器进行改进,但其大多是在微机内总线的插槽上进行开发,没有统一标准,且各厂家生产的
12、插卡的尺寸大小不一,设备兼容性较差。在这种情况下,用户自然会提出标准化的要求。1987年,美国的惠普和泰克等5家公司在vme总线的基础上,联合提出了一种新型总线系统vxi(vme extension for instrumentation)总线,即由微机总线vme扩展而成的微机化仪器专用总线。1997年美国ni公司推出了一种新的仪器总线标准pxi总线标准。制定pxi规范的目的是为了将pc的性能价格比优势和pci总线面向仪器领域的必要扩展结合起来,以期形成一种主流的虚拟仪器测试平台。相对vxi仪器,按pxi总线标准制成的pxi仪器具有成本低、便于组成便携式测试系统等优点2。这些以pc为核心、由测
13、量功能软件支持,具有虚拟控制面板、仪器硬件和通信能力的pc仪器或vxi仪器就是虚拟仪器。虚拟仪器技术的出现,使得用户可以自己定义仪器,灵活地设计仪器系统,满足多种多样的实际需求。随着虚拟仪器软件开发平台及硬件的发展,基于虚拟仪器的仪器系统的开发周期更短,费用更低,测量速度、准确度及可复用性提高,且更便于相应仪器系统的维护和扩展3。当今社会正处于一个高速发展的状态中,需要在有限的时间内实现大量的信息交换,随之而来的是信息密度急剧增大,因而在研究和生产过程中要求数据采集系统对信息的处理速度越来越快,功能越来越先进。先进的数据采集系统,不仅希望设备能够单独进行数据采集,还希望他们之间能够互相通信,构
14、成数据采集系统,甚至是测试网络系统,实现信息共享,以便对众多的被测信号进行对比、综合和自动分析、从而得出准确的判断。然而传统的数据采集仪器在此方面受到很大的限制。在虚拟仪器系统中,信号的获取与采集是由以计算机为核心的硬件平台来完成的。在此硬件平台基础上,调用测试软件来完成某种功能的测试任务,便可构成该种功能的虚拟测量仪器。在同一硬件平台上,调用不同的测试软件的可构成不同功能的虚拟仪器。因此,出现了软件就是仪器的概念。如对采集的数据通过测试软件进行标定和数据点的显示就构成了一台数字示波器;如对采集的数据利用软件进行fft变换,则构成了一台频谱分析仪,信号分析与处理要求取的特征值,如峰值,真有效值
15、,均值,均方值,方差,标准差,以及频谱,相关函数,概率密度函数等,如用硬件电路来获取,其电路是复杂的,昂贵的,甚至是不易实现的,然而用软件编程来获取是很容易实现的。这是虚拟仪器比传统仪器具有的绝对优势。基于虚拟仪器技术的数据采集系统的提出在一定程度上解决了传统数据采集所面临的问题,虚拟仪器数据采集系统成为当今数据采集系统发展的重要方向。虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新趋势和新方向,并且是信息技术的重要扩充领域,对科学技术的发展和工业生产将产生不可估量的影响。本文主要介绍了基于labview虚拟示波器的设计。全篇论文共分为四部分,具体内容安排如下:第一部分:详细介绍了
16、课题论文的背景及意义、虚拟仪器技术的国内外发展现状与发展趋势。第二部分:概述数据采集理论,介绍了数据采集的主要性能指标、组成和体系结构。第三部分:介绍了虚拟示波器的总体设计思想和具体设计过程。第四部分:总结全文内容,列举本课题的设计成果和不足之处。1 系统设计理论1.1 虚拟仪器1.1.1 虚拟仪器概念虚拟仪器的概念是由美国国家仪器公司(national instruments)最先提出的。所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、工业控制系统之中;可自由构建成专有仪器系统。虚拟仪器是智能仪器之后的新一代
17、测量仪器。虚拟仪器的核心技术思想就是软件即是仪器。该技术把仪器分为计算机、仪器硬件和应用软件三部分。虚拟仪器以通用计算机和配备标准数字接口的测量仪器(包括gpib、rs-232等传统仪器以及新型的vxi模块化仪器)为基础,将仪器硬件连接到各种计算机平台上,直接利用计算机丰富的软硬件资源,将计算机硬件(处理器、存储器、显示器)和测量仪器(频率计、示波器、信号源)等硬件资源与计算机软件资源(包括数据的处理、控制、分析和表达、过程通讯以及图形用户界面)有机的结合起来。1.1.2 虚拟仪器的构成与分类虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。(1)虚拟仪器的硬件平台 虚拟仪器的
18、硬件平台由两部分组成:(a)计算机:一般为一台pc机或者工作站,其为硬件平台的核心。(b)i/0接口设备:i/0接口设备主要完成被测输入信号的采集、放大、a/d转换等。不同的总线有其相应的i/0接口硬件设备,如利用pc机总线的数据采集板卡、gpib总线、vxi总线仪器模块、pxi总线仪器模块、串行总线仪器等。(2)虚拟仪器的软件目前虚拟仪器软件开发工具有如下两类:(a)文本式开发平台:如visualc+,visualbasic,labwindows/cvi等,(b)图形化开发平台:如labview,hpv e等。虚拟仪器软件由两部分组成,即应用程序和i/0接口仪器驱动程序。应用程序又包含实现虚
19、拟面板功能的软件程序和定义测试功能的流程图软件程序。i/0接口仪器驱动程序完成对特定外部硬件设备的扩展、驱动与通信。1.1.3 虚拟仪器和传统仪器的比较在高速度、高带宽和专业测试领域,传统独立仪器具有无可替代的优势。在中低档测试领域,虚拟仪器可取代一部分独立仪器的工作,但完成复杂环境下的自动化测试是虚拟仪器的拿手好戏,是传统的独立仪器难以胜任的,甚至是不可思议的工作。虚拟仪器具有传统独立仪器无法比拟的优势,如表1.1所示。表1.1 虚拟仪器与传统仪器的比较传统仪器虚拟仪器开发维护费用高开发维护费用低技术更新周期长(510年)技术更新周期短(0.51年)硬件是关键软件是关键价格昂贵价格低固定开放
20、、灵活与计算机同步,可重复用和重配置只可连有限的设备可用网络联络周边各仪器功能单一,操作不便自动化、智能化、多功能、远距离传输(1)传统仪器的面板只有一个,上面布置了种类繁多的显示和操作元件。由此导致许多识读和操作错误。虚拟仪器与之不同,它可以通过在几个分面板上的操作来实现比较复杂的功能。这样,在每个分面板上就可以实现功能操作的单纯化和面板布置的简洁化,从而提高操作的正确性和便捷性。同时,虚拟仪器的面板上的显示元件和操作元件的种类与形式不受标准元件和加工工艺的限制,由编程来实现,设计者可以根据用户的要求和操作需要来设计仪器面板。(2)在通用硬件平台确定后,软件取代传统仪器中由硬件完成的仪器功能
21、。(3)仪器的功能是由用户根据需要用软件来定义,不是事先由厂家定义的。(4)仪器性能的改进和功能扩展只需更新相关软件设计,不需购买新仪器。(5)虚拟仪器开放、灵活,与计算机同步发展,与网络及其他周边设备互联。(6)由于其以pc为核心,使得许多数据处理的过程不必像过去那样由测试仪器本身来完成,而是在软件的支持下,利用pc机cpu的强大的数据处理功能来完成,使得基于虚拟仪器的测试系统的测试精度、速度大为提高,实现自动化、智能化、多任务测量。(7)可方便地存贮和交换测试数据,测试结果的表达方式更加丰富多样。(8)虚拟仪器在高性价比的条件下,降低系统开发和维护费用,缩短技术更新周期。虚拟仪器技术的优势
22、在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,而且无所不在的计算机应用也为虚拟仪器的推广提供了良好的基础,所以应用面极为广泛。虚拟仪器技术十分符合国际上流行的“硬件软件化”的发展趋势,因而常被称作“软件仪器” 4。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;虚拟仪器的卓越计算能力和巨大数据吞吐能力必将使其在温控系统、在线监测系统、电力仪表系统、流程控制系统等工控领域发挥更大的作用。它操作灵活,完全图形化界面,风格简约,符合传统设备的使
23、用习惯,用户不经培训即可迅速掌握操作规程。近年来,随着网络技术的发展,己经形成了网络虚拟仪器。这是一种新型的基于web技术的虚拟仪器,使得虚拟仪器测试系统成为internet/intranet的一部分,实现现场监控和管理。在当前流行的c/s/d网络模式下,利用嵌入式技术(包括数据库嵌入和网络模块的嵌入)可以充分利用有效资源,提高测试效率。除上述特点之外,与传统仪器相比,虚拟仪器还有如下几个方面的优势:(1)虚拟仪器将所有的仪器控制信息均集中在软件模块中,可以采用多种方式显示采集的数据、分析的结果和控制过程。这种对关键部分的转移进一步增加了虚拟仪器的灵活性。(2)虚拟仪器可实时、直接地对数据进行
24、编辑,也可通过计算机总线将数据传输到存储器或打印机。这样做一方面解决了数据的传输问题,一方面充分利用了计算机的存储能力,从而使虚拟仪器具有几乎无限的数据记录容量。(3)虚拟仪器利用计算机强大的图形用户界面,用计算机直接读数。根据工程的实际需要,使用人员可以通过软件编程或采用现有分析软件,实时、直接地对测试数据进行各种分析与处理。1.2 虚拟仪器的开发软件开发软件labview的主界面,如图1.1所示。图1.1 开发软件labview的主界面1.2.1 虚拟仪器的开发语言虚拟仪器系统的开发语言有:标准c,visual c+ ,visual basic等通用程序开发语言。但直接由这些语言开发虚拟仪
25、器系统,是有相当难度的。除了要花大量时间进行测试系统面板设计外,还要编制大量的设备驱动程序和底层控制程序。这些工作对于那些不熟悉这方面知识的工程设计人员来说,要花费大量时间和精力,这样直接影响了系统开发的周期和性能。除了通用程序开发语言以外,还有一些专用的虚拟仪器开发语言和软件,其中有影响的开发软件有:ni公司的labview,lab windows/cvi。labview采用图形化编程方案,是非常实用的开发软件。lab windows/cvi是为熟悉c语言的开发人员准备的,是在windows环境下的标准ansic开发环境。除此以外还有hp公司的hp-vee ,hp-tig开发平台,美国tek
26、tronix公司的ez-test ,tek-tns平台软件,这些都是国际上公认的优秀的虚拟仪器开发软件平台。1.2.2 图形化虚拟仪器开发平台labview(laboratory virtual instrument engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。labview集成了与满足gpib、vxi、rs-232和rs-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用tcp/ip、activex等软件标准的库函数,是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面
27、使得编程及使用过程都更加形象化。传统的文本式编程是一种顺序的设计思路,设计者必须写出执行的语句。而labview是基于数据流的工作方式,同时是基于图形化的编程,这使得设计者不必掌握大量的编程语言和程序设计技巧便可设计出虚拟仪器系统4。目前,在以pc机为基础的测试和工控软件中,labview的市场普及率仅次于c+/c语言。labview具有一系列无与伦比的优点:首先,labview作为图形化语言编程,采用流程图式的编程,运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似;同时,labview提供了丰富的vi库和仪器面板素材库,近600种设备的驱动程序(可扩
28、充)如gpib设备控制、vxi总线控制、串行口设备控制、以及数据分析、显示和存储;并且labview还提供了专门用于程序开发的工具箱,使得用户能够设置断点,调试过程中可以使用数据探针和动态执行程序来观察数据的传输过程,更加便于程序的调试。因此,labview受到越来越多工程师、科学家的普遍青睐5。利用lab view,可产生独立运行的可执行文件,它是一个真正的32编译器。像许多通用的软件一样,labview提供了windows、unix、linux、macintosh os等多种版本。1.3 基于labview平台的虚拟仪器程序设计所有的labview应用程序,即虚拟仪器(vi),它包括前面板
29、(front panel)、流程图(block diagram)以及图标/连结器(icon/connector)三部分。(1)前面板:前面板是图形用户界面,也就是vi的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。但并非画出两个控件后程序就可以运行,在前面板后还有一个与之对应的流程图。(2)程序框图:程序框图提供vi的图形化源程序。在程序框图中对vi编程,以控制和操纵定义在前面板上的输入和输出功能。程序框图中包括前面板上的控件连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。在许多情况下,使用vi可以仿真传统仪
30、器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与传统标准仪器相差无几。这种设计思想的优点体现在两方面:(a)类似流程图的设计思想,很容易被工程人员接受和掌握,特别是那些没有很多程序设计经验的工程人员。(b)设计的思路和运行过程清晰而且直观。如通过使用数据探针、高亮执行调试等多种方法,程序以较慢的速度运行,使没有执行的代码显示灰色,执行后的代码会高亮显示,同时在线显示数据流线上的数据值,完全跟踪数据流的运行。这为程序的调试和参数的设定带来诸多的方便。(3)图标/连接器设计:这部分的设计突出体现了虚拟仪器模块化程序设计的思想。在设计大型自动检测系统时一步完成一个复杂系统的设计是相当有
31、难度的。而在labview中提供的图标/连接工具正是为实现模块化设计而准备的。设计者可把一个复杂自动检测系统分为多个子系统,每一个都可完成一定的功能。这样设计的优点体现在如下几方面:(a)把一个复杂自动检测系统分为多个子系统,程序设计思路清晰,给设计者调试程序带来了诸多的方便。同时也对于将来系统的维护提供了便利。(b)一个复杂自动检测系统分为多个子系统,每一个子系统都是一个完整的功能模块,这样把测试功能细节化,便于实现软件复用,大大节省软件研发周期,提高系统设计的可靠性。(c)便于实现“测试集成”和虚拟仪器库的思想。同时为实现虚拟仪器设计的灵活性提供了前提。2 硬件平台的实现2.1 虚拟示波器
32、功能结构本虚拟示波器实现的主要功能包括:波形显示、参数计算和双通道选择,功能结构如图2.1所示。输入控制触发控制波形显示数据采集数据处理通道控制位置调整图2.1 虚拟示波器的结构框图其中最重要的就是数据采集部分。2.2 数据采集理论知识2.2.1 数据采集技术概论在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。各种类型信号采集的难易程度差别很大。实际采集时,噪声也可能带来一些麻烦。数据采集时,有一些基本原理要注意,还有更多的实际的问题要解决。假设现在对一个模拟信号x(t)每隔t时间采样一次。时间间隔t被称为采样间隔或者采样周期。它的倒数l/t被称为采样
33、频率,单位是采样数/每秒。t=0,t,2t,3t等等,x(t)的数值就被称为采样值。所有x(0),x(t),x(2t)都是采样值。这样信号x(t)可以用一组分散的采样值来表示:x(0),x(t),x(2t),x(3t),x(k t),图2.2显示了一个模拟信号和它采样后的采样值。采样间隔是t,注意,采样点在时域上是离散的。 图2.2模拟信号采样图如果对信号x(t)采集n个采样点,那么x(t)就可以用下面这个数列表示:x=x0,xl,x2,x3,xnl这个数列被称为信号x(t)的数字化显示或者采样显示。这个数列中仅仅用下标变量编制索引,而不含有任何关于采样率(或t)的信息。所以如果只知道该信号的
34、采样值,并不能知道它的采样率,缺少了时间尺度,也不可能知道信号x(t)的频率。根据采样定理,最低采样频率必须是信号频率的两倍。反过来说,如果给定了采样频率,那么能够正确显示信号而不发生畸变的最大频率叫做恩奎斯特频率,它是采样频率的一半。如果信号中包含频率高于奈奎斯特频率的成分,信号将在直流和恩奎斯特频率之间畸变7。图2.3和图2.4显示了一个信号分别用合适的采样率和过低的采样率进行采样的结果。图2.3合适采样率采样波形图2.4 采样率过低采样波形采样率过低的结果是还原的信号的频率看上去与原始信号不同。这种信号畸变叫做混叠。出现的混频偏差是输入信号的频率和最靠近的采样率整数倍的差的绝对值。为了避
35、免这种情况的发生,通常在信号被采集(a/d)之前,经过一个低通滤波器,将信号中高于奈奎斯特频率的信号成分滤去。理论上设置采样频率为被采集信号最高频率成分的2倍就够了,但实际上工程中选用5-10倍,有时为了较好地还原波形,甚至更高一些。2.2.2 采集系统的一般组成图2.5 数据采集结构图图2.5表示了数据采集的结构。在数据采集之前,程序将对采集板卡初始化,板卡上和内存中的buffer是数据采集存储的中间环节。2.2.3 传感器传感器部分是跟外界沟通的门户,负责把外界的各种物理信息,如光、压力、温度、声音等物理信号变成电信号。因为被测试对象的信号来源已经是变换好了的电信号,所以传感器部分在设计中
36、没有得到具体体现,但是这部分是设计过程中必需要考虑的。2.2.4 信号调理从传感器得到的信号大多要经过调理才能进入数据采集设备,信号调理功能包括放大、隔离、滤波、激励、线性化等。由于不同传感器有不同的特性,除了这些通用功能外,还要根据具体传感器的特性和要求来设计特殊的信号调理功能。信号调理的通用功能如下 :(1)放大:微弱信号都要进行放大以提高分辨率和降低噪声,使调理后信号的电压范围和a/d的电压范围相匹配。信号调理模块应尽可能靠近信号源或传感器,使得信号在受到传输信号的环境噪声影响之前已被放大,使信噪比得到改善。(2)隔离:隔离是指使用变压器、光或电容耦合等方法在被测系统和测试系统之间传递信
37、号,避免直接的电连接。使用隔离的原因:是从安全的角度考虑;二是隔离可使从数据采集卡读出来的数据不受地电位和输入模式的影响。如果数据采集卡的地与信号地之间有电位差,而又不进行隔离,那么就有可能形成接地回路,引起误差。(3)滤波:滤波的目的是从所测量的信号中除去不需要的成分。大多数信号调理模块有低通滤波器,用来滤除噪声。通常还需要抗混叠滤波器,滤除信号中感兴趣的最高频率以上的所有频率的信号。另外,某些高性能的数据采集卡自身带有抗混叠滤波器。(4)激励:信号调理也能够为某些传感器提供所需的激励信号,比如应变传感器、热敏电阻等就需要外界电源或电流激励信号。很多信号调理模块都提供电流源和电压源以便给传感
38、器提供激励。(4)线性化:许多传感器对被测量的响应是非线性的,因而需要对其输出信号进行线性化,以补偿传感器带来的误差。目前,数据采集系统也可以利用软件来解决这一问题。(5)数字信号调理:即使传感器直接输出数字信号,有时也有必要进行调理,其作用是将传感器输出的数字信号进行必要的整形或电平调整8。大多数数字信号调理模块还提供其他一些电路模块,使得用户可以通过数据采集卡的数字i/o比直接控制电磁阀、电灯、电动机等外部设备。2.2.5 输入信号的类型在进行数据采集前,必须对要采集的信号有所了解,因为不同信号的测量方式和对采集系统的要求是不同的,只有了解被测信号,才能选择合适的测量方式和采集系统。任意一
39、个信号是随时间而改变的物理量。一般情况下,信号所运载信息是很广泛的,比如:状态(state)、速率(rate)、电平(level)、形状(shape)、频率成分(frequency content)。根据信号运载信息方式的不同,可以将信号分为模拟或数字信号。数字信号又可分为开关信号和脉冲信号。模拟信号则可分为直流、时域、频域信号。(1)数字信号(digital)第一类数字信号是开关信号(on-off),如图2.6所示。一个开关信号运载的信息与信号的瞬间状态有关。ttl信号就是一个开关信号,一个ttl信号如果在2.0v到5.0v之间,就定义它为逻辑高电平,如果在0到0.8v之间,就定义为逻辑低电
40、平。图2.6 开关信号第二类数字信号是脉冲信号(pulse train),如图2.7所示。这种信号包括一系列的状态转换,信息就包含在状态转化发生的数目、转换速率、一个转换间隔或多个转换间隔的时间里。图2.7 脉冲信号(2)模拟信号(analog)模拟直流信号(dc)是静止的或变化非常缓慢的模拟信号,如图2.8所示。图2.8 模拟直流信号直流信号最重要的信息是它在给定区间内运载的信息的幅度。常见的直流信号有温度、流速、压力、应变等。采集系统在采集模拟直流信号时,需要有足够的精度以正确测量信号电平。模拟时域信号(time domain)运载的信息不仅有信号的电平,还有电平随时间的变化,如图2.9所
41、示。在测量一个时域信号或者说是波形时,需要关注波形形状的特性,如斜度、峰值等。为了测量一个时域信号,必须有一个精确的时间序列,间隔也要合适,以保证信号的有用部分被采集到。现实中存在许多不同的时域信号,比如心脏跳动信号、视频信号等,测量它们通常是因为对波形的某些方面的特性感兴趣。图2.9 模拟时域信号模拟频域信号(frequency domain)与时域信号类似,但从频域信号中提取的信息是信号的频域内容,而不是波形的形状,也不是随时间变化的特性,如图2.10所示。用于测量一个频域信号的系统必须有必要的分析功能,用于从信号中提取频域信息9。为了实现这样的数字信号处理,可以使用应用软件或特殊的dsp
42、硬件来迅速而有效地分析信号。模拟频域信号也很多,比如声音信号、地球物理信号、传输信号等。图2.10 模拟频域信号现实中的信号并不是互相排斥的,一个信号可能运载有不只一种信息,可以用几种方式来定义信号并测量它,用不同类型的系统来测量同一个信号,从信号中取出需要的各种信息。2.3 数据采集卡的选择数据采集板卡的性能与众多因素相关,要根据具体情况来具体分析。所以在选择数据采集卡构成系统时,首先必须对数据采集卡的性能指标有所了解。2.3.1 数据采集卡的主要性能指标(1)采样频率采样频率的高低,决定了在一定时间内获取原始信号信息的多少,为了能够较好的再现原始信号,不产生波形失真,采样率必须要足够高才行
43、。根据奈奎斯特理论采样频率至少是原信号的两倍,但实际中,一般都需要510倍。(2)采样方法采集卡通常都有好几个数据通道,如果所有的数据通道都轮流使用同一个放大器和a/d转换器,要比每个通道单独使用各自的经济的多,但这仅适用于对时间不是很重要的场合。如果采样系统对时间要求严格,则必须同时采集,这就需要每个通道都有自己的放大和a/d转换器。但是处于成本的考虑,现在普遍流行的是各个数据通道公用一套放大器和a/d转换器10。(3)分辨率adc的位数越多,分辨率就越高,可区分的电压就越小。例如,三位的a/d转换把模拟电压范围分成23=8段,每段用二进制代码在000到111之间表示。因而,数字信号不能真实
44、地反映原始信号,因为一部分信息被漏掉了。如果增加到十二位,代码数从8增加到212=4096,这样就可以获得就能获得十分精确的模拟信号数字化表示。(4)电压动态范围电压范围指adc能扫描到的最高和最低电压。一般最好能够使进入采集卡的电压范围刚好与其符合,以便利用其可靠的分辨率范围。例如,一个12位多功能daq卡,其可选的范围从0到10v,或5v到5v,其可选增益有1,2,5,10,20,50或100。电压取值范围从0到10v,增益为50,则理想分辩电压是:(5)i/o通道数该参数表明了数据采集卡所能够采集的最多的信号路数。2.3.2 数据采集卡的组成(1)多路开关。将各路信号轮流切换至放大器的输
45、入端,实现多参数多路信号的分时采集。(2)放大器。将切换进入采集卡的信号放大至需要的量程内。通常中的放大器都是增益可调的,使用者可根据需要来选择不同的增益倍数。(3)采样保持器。把采集到的信号瞬间值,保持在a/d转换的过程中不变化。(4)a/d转换器。将模拟的输入信号转化为数字量输出,完成信号幅值的量化。目前,通常将采样保持器和a/d转换器集成在同一块芯片上。以上4点是数据采集卡的重要组成部分,与其他的电路如定时/计数器、总线接口等电路仪器组成daq。3 程序设计3.1 总体设计虚拟示波器主要是用于对信号进行数据采集、显示、波形存储和记录、分析波形,不但具有一般数字示波器的功能,还具有信号分析
46、仪的最基本功能,以便应用于实验室教学和科研中。该仪器主要由以下几个功能模块组成,如图3.1所示。 时基控制触发控制波形显示基本量测量波形存储记录波形幅值控制数据收集信号回放任务通道等设置信号存储数字信号输入 图3.1 虚拟示波器的流程图(1)数据采集模块。在数据采集前面板上对通道、幅值、相位、频率和信号类型等方面进行设置。(2)信号显示及触发模块。该模块主要是通过分别调节两个通道的x坐标和y坐标的值,从而控制信号的显示比例来完成信号的显示,并且提供了触发控制,使时域显示具有触发显示的功能。(3)信号的基本参数测量模块。主要是对两个通道信号的一些基本统计量:波形最大值、波形最小值、平均值、幅值和
47、频率等量进行计算11。3.2 前面板的设计vi程序的前面板是一个交互式的用户界面,它相当于真实物理测试仪器的仪器面板。在设计时应根据人体工程学的相关结论,充分考虑舒适性、一致性、关联性、反馈和简洁等方面的要求,使设计的前面板操作简单、轻松自如、较长时间实用也不会产生疲劳感。如图3.2所示,设计本虚拟示波器的前面板时我们主要考虑了以下几个方面的问题:图3.2 虚拟示波器前面板截图整个面板和按钮的颜色均以深灰色为主,由于前面板上的内容较多,因此按照类别进行了项目的分组,并用白色的细线框将类别组合在一起,使整个面板多而不乱,一目了然,符合人体工程学的显示器“功能分区”原则。前面板可以选择多种信号类型
48、,例如:正弦波、三角波、方波、锯齿波和高斯白噪声。在设计前面板尽量参照现有的示波器的面板形式,是用户操作简单方便。(1)五个输入型数字控件五个输入型数字控件供使用者键入生成正弦波的频率,初始相位,幅值,总采样点数n和采样频率。操作controls>>numeric>>numeric control 五次,得到五个输入型数字控件,分别标记为“信号频率”“采样频率”“采样点数”“信号幅值”和“初始相位”。(2)一个输入显示图型控件输出显示型图形控件用来显示所产生的正弦波波形。执行controls>>graph>>wave graph 操作调入图形控件
49、“graph”。其横轴为时间轴。应考虑到生成的信号频率跨度大,在0.1hz10khz范围内,其周期跨度也大,在10s0.1ms范围内,纵轴为电压轴,生成信号幅值的范围应充满整个显示画面,故选用“graph”显示器。注意,控件参数设置应考虑到采样频率,数字频率,一个周期采样点数n与总点数n=samples的关系:=n*,故的最大值应是被测信号频率最大值的n倍 ,且n>=n。(3)两个开关控件执行:控件选板>>按钮与开关>>垂直摇杆开关操作,调入开关按钮控件,标记为“复位相位”。执行控件选板>>按钮与开关>>文本按钮操作,调入开关按钮控件,标记
50、为“off”。 3.3 程序框图的设计在主程序中利用一个循环进行数据的读取,同时也可以完成数据采集和分析处理,具体的程序如图3.3所示。图3.3 虚拟示波器主程序框图执行controls>>button>>vertical switch操作,调入开关按钮控件,标记为“复位相位” ;执行controls>>button>>text button操作,调入开关按钮控件,标记为“off” ;在程序框图中执行functions>>structures>>while loop操作,调入while循环结构;执行functions>
51、;> numeric四次,可以分别放置一个除法器,一个倒数器,及两个常数;在程序框图中执行functions>>analyze>>signal processing>>signal generation>>sine wave.vi操作,可调入sine wave.vi图标。在程序框图中执行functions>>cluster>>bundle操作,调入bundle图标;在程序框图中执行functions>>time&dialog>>wait操作,调入时钟图标;在程序框图执行function
52、s>>boolean>>not操作,调入not图标12 。注所需的数字频率由除法器的输出提供,该除法器完成信号频率与采样频率之比的运算,同时将采样频率取倒数转换为采样间隔,给出正弦波形的采样间隔,便于显示。为了客观记录波形,加入一位数组的子vi,子vi的程序框图,如图3.4所示。图3.4 记录波形的一维数组子程序框图vi3.4 简化程序由于价格问题,本课题所用到的usb采集卡在设计当中真正使用,这也导致了我所设计的虚拟示波器程序无法显示波形。为了大家能看到示波器显示的波形而且不改变程序原理,现将程序简化成一个简单的虚拟正弦波程序,通过手动设置键值来显示所要达到的波形。3
53、.4.1 正弦波程序性能指标该正弦波仿真信号发生器可产生正弦信号指标如下:频率范围 0.1hz10khz 可选初始相位 0180 可选幅值 0.1v5.0v 可选生成波的总点数 n=8512 可选3.4.2 正弦波信号发生器简介(1)sine wave.vi 图标调用路径,如图3.5所示。sine wave.vi 图标的调用路径是functions>>analyze>>signal processing>>signal generation>>sine wave.vi图3.5 sine wave.vi图标(2) sine wave.vi图标与输入
54、,输出端口参数,如图3.6所示。图3.6 sine wave.vi图标与端口图(a)函数图标左侧一列为输入端口,即该函数调用钱的参数设置端口。samples:生成波形的总点数n。amplitude:生成波形的幅值。f:生成信号的数字频率。phase in:生成波形的初始相位。reset phase:默认生成值为true。当为true时,函数以phase in的值作为初始相位,如果该值为false,则函数以上一次调用后的phase out输出值为此次波形的初始相位,显然,此时产生的信号波形是连续光滑的。(b)函数图标的右侧一列为输出端口,其各自的含义如下:sine wave:数组名,该数组内存放
55、所生成的波形数据。phase out:当reset phase为true时,该参数无效。当reset phase为false时,该参数作为下一次生成正弦波的初始相位。error:错误代码。若有错误,则输出错误代码。根据错误代码,查找labview帮助文件,可以找到与错误代码对应的错误含义13。3.4.3 虚拟正弦波发生器的程序框图为了显示实验结果,本设计将采集信号简化为虚拟信号发生器,程序框图如图3.7所示。图3.7 虚拟正弦波信号发生器程序框图 3.4.4 虚拟信号采集设置正弦信号f=0.2hz,初相位=0,幅值=1.0v,采样频率=10hz复位相位选为是,采样点数为100,生成的正弦波如图
56、3.8所示。图3.8 虚拟正弦波发生器的前面板4 采集信号软件仿真4.1 双通道显示波形(1)通道1选择方波,通道2选择三角波。波形显示如图4.1所示。图4.1 方波与三角波波形图(2)通道1选择正弦波,通道2选择锯齿波。波形显示如图4.2所示。 图4.2 正弦波与锯齿波波形图4.2 双通道波形叠加举例(1)通道1选择正弦波,通道2选择方波。叠加波形如图4.3所示。图4.3 正弦波和方波叠加波形输出(2)通道1选择高斯白噪声,通道2选择正弦波。叠加波形如图4.4所示。图4.4 方波和三角波叠加输出波形 结 论本论文是基于labview虚拟示波器的设计与实现,主要研究了虚拟示波器的设计方法与程序设计,在程序设计中,利用美国ni公司的labview图形化语言编写程序。根据labview的设计特点,完成了基于labview虚拟示波器的设计方案。通过鼠标输入的信号频
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水文地质调查与勘查服务创新创业项目商业计划书
- 仓库电梯出租合同范本
- 企业借贷抵押合同范本
- 企业员工退休合同范本
- 语文病句专项训练题库与提升技巧
- 高级财务审计实务操作与注意事项
- 华电电厂笔试试题及答案
- 职称证书申请与挂靠风险防范指南
- 电动葫芦安装合同范本及注意事项
- 安全生产保障措施现场方案
- 固定式人字抱杆整立施工作业指导书
- 天津某钢厂高速线材主轧线设备安装方案年产万吨
- 人教版初中语文《名著导读》
- 大一统专题复习-高中历史教学资料
- YS/T 1018-2015铼粒
- GB/T 28776-2012石油和天然气工业用钢制闸阀、截止阀和止回阀(≤DN100)
- GB 30526-2019烧结墙体材料和泡沫玻璃单位产品能源消耗限额
- 沟槽开挖作业安全培训
- STEAM科技研学基地方案
- 【高等数学练习题】沈阳大学专升本自考真题汇总(附答案解析)
- 合作项目管理办法
评论
0/150
提交评论