足球比分直播

基于LabWindows%2fCVI的虚拟示波器软件的设计与实现.pdf

返回
基于LabWindows%2fCVI的虚拟示波器软件的设计与实现.pdf_第1页
第1页 / 共62页
基于LabWindows%2fCVI的虚拟示波器软件的设计与实现.pdf_第2页
第2页 / 共62页
基于LabWindows%2fCVI的虚拟示波器软件的设计与实现.pdf_第3页
第3页 / 共62页
基于LabWindows%2fCVI的虚拟示波器软件的设计与实现.pdf_第4页
第4页 / 共62页
基于LabWindows%2fCVI的虚拟示波器软件的设计与实现.pdf_第5页
第5页 / 共62页
点击查看更多>>
资源描述:
第一章绪论1.I前言第一章绪论随着计算机技术、信息处理技术和电子技术的发展,当今的测控仪器行业正经历着二场翻天覆地的变革。 ’传统仪器虽然性能越来越好,功能越来越强,精度越来越高,但是没有摆脱独立使用,手动操作,自成体系,用户无法改变其内容的缺点。传统仪器的所有功能都是由生产厂商确定好的,用户无法再更改。同时一台普通传统仪器还是个相对独立体,它不能与其他仪器设备进行通信联系,而只能用于现场测量,测量结果不能大量存储、处理和再显示。另外,传统仪器难以升级换代,且开发研制周期长、经费投入较大。由于这些缺陷使得传统仪器基本上未能摆脱独立使用、手动操作,功能相对固定、使用具有局限性的模式【¨。20世纪80年代,美国成功地将虚拟现实技术引入了仪器设计中,研制了虚拟仪器,从而给仪器领域带来了深刻的变化。经过了20年的技术改进和发展,它已经成为2l世纪测试技术与仪器技术发展的一个重要方向,并且在研究和开发等众多领域得到广泛的应用。虚拟仪器的出现,打破了传统仪器由厂家实现定义,用户无法改变的工作模式,使得用户可以根据自己的需要,自行设计软件来定义或扩展测量功能,构成自己的仪器系统。与传统仪器相比,虚拟仪器在经济性、灵活性、扩展性和可维护性等方面都具有独特的优势,它代表的是一种新的仪器的设计思想121。1.2示波器概述’ 示波器是利用电子射线的偏转来复现电信号瞬时值图像常称为时间波形的一种仪器,它能快速地把肉眼不能直接看见的电信号的时变规律以可见的形式显示出来。示波器的显示系统如下示波器的显示器件是阴极射线管,缩写为CRT,阴极射线管的基础是一个能产生电子的系统,成为电子枪。电子枪向屏幕发射电子。电子枪发射的电子经聚焦形成了电子束,并打在屏幕中心的一点上,屏幕的内表面涂有荧光物质,这样电子束打中的点就发出光来。电子在从电子枪到屏幕的途中要经过偏转系统,在偏转系统上施加电压就可以使光点可以在屏幕上移动,偏转系统由水平偏转板和垂直偏转板组成【31。示波器的两副偏转板使电子束在两个互相垂直的方向偏转,这两个方向可以看成是坐标轴。因此,要在管子的荧光屏上显示被测电压的波形,就必须使射线沿水平方向的偏转同时间成正比,而在垂直方向同被测电压成正比每一瞬间【4】。示波器是生产实践和科学研究中应用十分广泛的电子测量仪器,是观察模拟电路和数字电路实验现象、分析实验中的问题、测量实验结果必不可少的重要仪器。模拟示波l垄塑奎堂堡主兰堡堡茎器外型笨重,功能单一;数字示波器虽然有一定的功能扩展,但价格较为昂贵,维护升级成本较高【51。由于计算机技术的发展和应用,数字式仪器向虚拟仪器发展已成为仪器发展的趋势16】o1.3课题研究背景及意义随着计算机技术和现代测试技术的飞速发展,现代测试系统越来越复杂,需要测试的数据量也越来越大,对测试的速度、精度、实时性、数据可信度、完整性以及测试系统的可靠性、智能化、开放性等要求也越来越高。针对这些要求,如何利用基于计算机的虚拟仪器技术,快速高效的提出测试系统的构建方案,成为测试系统的重要任务和迫切需要[71。目前,在我国,一些高档示波器很多还需要进口,那些高精度,具有数据存储能力的示波器,由于工艺复杂,技术要求高,因而价格昂贵。而虚拟示波器的软件是关键,开发与维护费用低,可重配置性强,所以虚拟示波器的开发有其经济价值。而计算机技术的进步为新型测控仪器的产生提供了技术基础,用户可以将一些先进的数字信号处理算法应用于虚拟仪器的设计,提供传统仪器所不具备的功能。而且完全可以通过软件配置实现多功能集成的仪器设计哺】。虚拟示波器不仅可以实现传统示波器的功能,而且具有存储、再现、测量、分析处理波形等特点。虚拟示波器使用功能强大的微型计算机来完成信号的显示、存储、再现、测量,分析与处理,利用软件技术在屏幕上设计出方便、逼真的仪器面板,进行各种信号的显示,存储与回放,测量,分析与处理,完成各种规模的测量任务[91。因此,当前在国内研制出高性能、操作简便、费用较低的虚拟示波器是非常有必要的。1.4课题研究的主要内容本课题主要研究虚拟示波器的软件部分实现。首先虚拟示波器的数据来源是实体示波器,由实体示波器完成数据的采集部分,然后虚拟示波器通过网络可以从实体示波器接收单次数据,也可以对实体示波器进行时基、垂直衰减档位等的实时控制。虚拟示波器在接收到数据后,可以对数据进行显示,存储与回放,测量,分析与处理等。本课题的虚拟示波器与实体示波器关系如图1.1所示实体示波器单次传送数据 虚拟示波器焦时控制。连续传送数据图1-1实体示波器与虚拟示波器的关系本课题设计的虚拟示波器达到的主要技术指标如下通道数四通道2墨童丝堡模拟带宽500MHz扫描时基范围1ns/div---40s/div垂直分辨率8位实时最高采样率1Gsps,等效最高采样率50Gsps垂直衰减档位lmV/div一5V/div波形显示模式全屏显示,视窗扩展双时基显示本课题主要分为三个模块虚拟示波器的主面板模块,波形显示模块,软件功能模块。主面板模块主要完成虚拟示波器的界面设计与协调;波形显示主要负责将从实体示波器传送过来的数据正确地显示在虚拟示波器的屏幕上,包括全屏显示模式和视窗扩展显示模式;虚拟示波器的各软件功能模块主要包括文件存储与回放,参数测量,光标测量,波形分析与处理模块,网络功能,帮助模块等。虚拟示波器的软件模块框图如图1.2所示图l-2虚拟示波器的模块框图1.5论文的结构及内容安排本文的虚拟示波器软件是在由美国国家仪器公司提供的软件开发平台LabWindows/CVI上完成的,本文主要分为七个部分。第一章简要介绍了示波器的基础知识,并介绍了本课题研究的背景及意义,本课题研究的主要内容;第二章主要介绍虚拟仪器技术及开发平台LabWindows/CVI;第三章主要完成虚拟示波器主面板的设计与具体实现,包括设计的总体思路,各控件和菜单的添加及各控件、菜单,面板之间的协调控制;第四章主要完成虚拟示波器波形显示功能的实现,主要完成虚拟示波器的全屏显示和视窗扩展显示功能3东南大学硕士学位论文第五章完成虚拟示波器各软件功能模块的实现,包括文件存储与回放,参数测量,光标测量,波形分析与处理,网络功能,帮助模块的实现;第六章主要讲述多线程技术在虚拟示波器中的应用;第七章进行总结和展望。主要对本文已做的工作进行总结,并对系统提出改进意见。4第二章虚拟仪器及开发平台LabWindows/CVI第二章虚拟仪器及开发平台LabWindows/CVI2.1虚拟仪器2.1.1虚拟仪器的基本概念虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势【10】。虚拟仪器的实质就是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式来表达输出检测结果,利用计算机强大的软件功能来实现信号数据的运算、分析和处理,利用I/0接口设备来完成信号的采集、测量和调理,从而完成各种测试功能的一种计算机仪器系统。“虚拟”主要包含以下两方面的含义1传统仪器面板上的器件都是实物,而且是用手动或者触摸进行操作的,而虚拟仪器的面板控件是外形和实物相像的图标,“开”、“关”、“左旋”、“右旋”等都对应着相应的软件程序。这些软件已经设计好了,用户不必设计,只需选用代表该软件程序的图形控件即可,由计算机的鼠标来对其进行操作。因此设计虚拟面板的过程就是在面板设计窗口中摆放所需的控件,然后编写相应的程序。 .2由软件编程来实现虚拟仪器测量功能。在PC为核心组成的硬件平台上,虚拟仪器不仅可以通过软件编程设计来实现仪器的测试功能,而且可以通过具有不同测试功能的软件模块的组合来实现多种测试功能,因此在硬件平台确定后就有“软件就是仪器”的说法,这也体现了测试技术与计算机技术深层次的结合【2】。2.1.2虚拟仪器的设计方法虚拟仪器的设计方法与实现步骤和一般软件的设计方法和实现步骤基本相同,只不过虚拟仪器在设计时需要考虑硬件部分。虚拟仪器的设计方法包括I/0接口仪器驱动程序的设计、仪器面板的设计与虚拟仪器功能算法的设计三部分。 。I/O接口仪器驱动程序的设计I/O接口仪器驱动程序是控制硬件设备的驱动程序,是连接主控计算机与仪器设备的纽带。如果没有设备驱动程序,必须编写针对I/O接口仪器设备的驱动程序。仪器面板的设计5东南大学硕士学位论文在虚拟仪器开发平台上,利用各类仪器控件创建用户界面,即虚拟仪器的面板。仪器功能算法的设计根据仪器功能要求,利用虚拟仪器开发平台所提供的函数库,确定程序的基本框架、主要处理算法和所实现的技术方法【l 11。由上可见,在计算机和仪器等资源确定的情况下,有不同的处理算法,就有不同的虚拟仪器,由此可见,软件在虚拟仪器中的重要性。在本文中,由于数据是来源于网络,所以没有仪器驱动程序,本文主要完成的是仪器面板的设计以及仪器各软件功能算法的设计与实现。2.1.3虚拟仪器的特点和优势传统仪器的功能一般是由厂家定义好的,固定不变,仪器比较单一。虚拟仪器相对于传统仪器最大的优点就是具有很强的灵活性,虚拟仪器具有如下特点1可以与灵活的计算机技术结合,构建基于网络、客户机/服务器、各种高性能总线以及基于笔记本电脑和多媒体电脑的多用途及便携式的虚拟仪器测试系统。2利用计算机强大的图形界面、数据和信息的记录、存储与回放功能、可自定义的分析处理功能以及灵活的接口及打印功能,使得虚拟仪器可以发挥传统仪器无法比拟的强大功能。3当今计算机及其软、硬件不断提高其性价比,使得虚拟仪器的投入、开发和维护的成本都不断降低,也为虚拟仪器产品进入和占领市场赢得了时洲12J。2.2虚拟仪器开发平台LabWindows/CⅥ2.2.1 LabWind呷s/CⅥ概述虚拟仪器编程语言LabWindows/CVI是NI公司开发的32位、面向计算机测控领域的交互式C语言软件,可以在多种操作系统如Windows 98/NT/2000、Mac OS和UNIX下运行。它以ANSI C为核心,将功能强大、使用灵活的C语言与数据采集、分析和表达等测控专业工具有机地结合起来。它的集成化开发、交互式编程方法、丰富的功能面板和库函数大大增强了C语言的功能,为熟悉C语言的开发人员提供了一个理想的软件开发环境【13】。CVI编程语言适合较大型测控程序的编写,在实际的测控仪器的开发中有着广泛的应用【14】。与其他虚拟仪器开发工具相比,LabWindows/CVI具有以下特点1集成开发平台LabWindows/CVl将源代码、32位ANSI C编译、链接、调试以及标准ANSI C库集成在一个交互式开发环境中。用户可以快速方便地编写、调试和修改虚拟仪器应用程序,形成可执行文件。6墨三兰壅垫堡壁星茎垄兰鱼兰些翌竺塑兰型曼竺2交互式编程方法LabWindows/CVl的编程技术主要是采用事件驱动与回调函数方式。对每一个函数都提供了一个函数面板,用户可以通过函数面板交互地输入函数的每个参数。在脱离主程序C源代码的情况下,可以直接在函数面板中执行函数操作,并能方便地把函数语句嵌入到C源代码中,还可通过变量声明窗口交互地声明变量。这种交互式编程技术大大地减少了源代码语句的键入量,减少了程序语法可能出现错误的机会,提高了工程设计的效率和可靠性。3简单、直观的图形用户界面设计LabWindows/CⅥ运用可视化交互技术实现“所见即所得”,使人机界面的实现直观简便。4完善的兼容性借助于LabWindows/CⅥ,开发人员可以采用所熟悉的C编程环境,开发自己的虚拟仪器系统,5功能强大的函数库针对测控领域的需要,可供用户直接调用的函数库有基本的数字函数、字符串处理函数、数据运算函数、文件I/O函数、高级数据分析库函数、各种驱动函数库等。6多种灵活的程序调试手段提供的变量显示窗口可观察程序变量和表达式的变化情况,还提供单步运行、断点执行、过程跟踪、参数检查、运行时内存检查等多种调试手段。7网络功能强大的Internet功能,支持常用网络协议,方便网络仪器、远程测控仪器的开发。同时,LabWindows/CⅥ还有以下模块用于仪器控制、数据采集和分析的交互式ANSI C编译软件包,用于构成GUI用户界面的编辑器,用于快速样机开发的代码生成工具和内部编译器,用户DAQ、GPIB、PXI、VXI、串行、信号分析处理、TCP/IP协议和用户界面的函数库【2】。2.2.2 Labwindows/CⅥ下虚拟仪器软件的组成在LabWindows/CVI下开发的虚拟仪器软件组成如图2.1所示。图2.1用LabWindows/CVI设计的虚拟仪器软件组成框图从框图中可以看出,工程文件·.两是程序文件的主体框架,它包含TcN程序文件木.c、头文件·.h、用户界面文件·.uir等三部分。全部软件调试好后,可以将工东雨大学硕士掌位论文程文件编译生成可执行文件幸.。使用LabWindows/CVI编写虚拟仪器时,其软件的文件基本类型有如下四类宰.prj文件它是工程文件,主要由宰.c文件、·.h文件、·.uir文件组成。·.c文件它是源程序文件;此文件为标准的C语言程序文件。文件由三部分组成头文件·.h、主程序文件Main和回调函数Callback,其结构和C语言的结构一致。 木.uir文件它是用户界面文件。该文件为虚拟仪器的面板文件。该文件中包含仪器面板和仪器面板中的各类控件,如旋钮、按钮、开关等。每个控件都有自己的属性和事件,当事件发生时,调用相应的回调函数,即可完成相应的仪器功能。 木.h文件它是头文件,其结构与C语言中的宰.h文件结构完全一致。在LabWindows/CVI中,宰.h文件是自动生成的,当设计完宰.uir文件后,保存·.uir文件时自动生成毒.h文件【21。2.2.3用Labwindows/CⅥ设计虚拟仪器的步骤与方法在LabWindows/CVI虚拟仪器开发平台上,利用其丰富的函数库和强大的接口功能,可方便地设计出符合用户要求的程序,使用LabWindows/CVI编程的基本步骤如下1制定程序的基本框架根据测量任务确定程序的基本框架、仪器面板及程序中所需的函数。2创建用户界面根据第一步制定的方案,创建用户界面、设置控件属性和回调函数名称。3程序源代码的编写在创建好用户界面后保存用户界面时,计算机自动生成头文件搴.h文件,利用计算机自动生成源程序幸.c文件代码框架,并在框架中添加函数代码来完成代码的编写。4创建工程文件并运行将用户界面文件*.uir文件、源代码文件幸.c文件和头文件·.h文件添加到工程文件中来完成工程文件的创建,然后编译调试工程文件[15】。LabWindows/CVI编程基本步骤如图2.2所示。确定程序框架,程序界面,程序中所需函数创建工程文件并完成工程文件的编译、调试及运行创建图形用户界面剂回调函数名生成程序代码及同调函数的基本框架,完成源代码的编写图2.2利用LabWindows/CVl设计虚拟仪器步骤第二章虚拟仪器及开发平台LabWindows/CVl2.3本章小结本章首先对虚拟仪器的概念、设计方法、特点进行介绍,然后对本文的开发环境LabWindows/CVI进行介绍,让读者对虚拟仪器和LabWindows/CVI有一定了解,帮助理解本文后续章节的虚拟示波器软件的设计与实现。9第三章虚拟示波器主面板的设计与实现第三章虚拟示波器主面板的设计与实现虚拟示波器没有常规示波器的控制面板,而是利用计算机强大的图形环境,在计算机屏幕上建立图形化的面板来代替常规的示波器控制面板。虚拟示波器的面板是用户与示波器之间交流信息的纽带。首先用户从面板的控件状态感知示波器的工作状态信息,然后用户对其进行解释、分析、评价和判断,确认示波器所处的状态,并将该状态与用户主观目标相比较,决定下一步的操作,最后通过面板上的操作元件完成操作。’一般地,Lab、矾ndows/CVI中的用户界面主要由三大要素组成面板、控件和菜单。一个虚拟面板可以包含多个仪器面板,每个面板中可以包含不同的控件。虚拟面板由主面板和子面板组成层次式结构,主面板只有一个,它是主要的用户界面,在执行过程中应该始终打开,它可能处于非激活状态,但是在应用过程中必须保持打开并且是可见的。子面板可以包括一个或多个,是主面板可以调用的面板,主要完成一组特定功能。主面板和子面板具有不同的特点和格式,但所有的面板都应提供一种退出或取消操作的方法。在进行虚拟面板的开发时,美观的、友好的界面设计是一个主要任务【16】。本章主要讲述虚拟示波器中较复杂的主面板的设计与实现。3.1主面板设计思路由于虚拟示波器的最终目标是为操作人员提供一个“真实”的示波器操作面板环境,虚拟示波器主面板的开发中要考虑的因素主要包括面板控件的设计与安排、面板各控件状态的实时更新、控件间的操作逻辑关系、操作容错性、对系统资源及被控对象的及时设计与切换等。虚拟示波器中面板控件的安排如下1由于示波器主要用来观测各种不同信号幅度随时间变化的波形曲线,所以虚拟示波器中的显示波形的图形控件应该占据一大部分,并且根据用户的使用习惯,在此,将显示波形的图形控件放置在虚拟示波器面板的左半部分。2本文中的虚拟示波器的数据来源是来自实体示波器,该实体示波器为四通道,为了保证可以把实体示波器的所有数据同时进行显示与处理,将虚拟示波器也设计成为四通道,每个通道在垂直方向上应包括如下控件通道开关控件、垂直衰减控件、垂直偏移控件、显示各通道波形垂直偏移位置的箭头控件。3为了描述一幅波形,必须要有水平和垂直两个方向的信息,示波器描绘轨迹表明信号随时间的变化情况,其水平偏转和时间成正比,所以在虚拟示波器中还需要控制信号水平方向的时基控件、水平偏移控件以及表示波形水平偏移的箭头控件。4虚拟示波器还实现了波形的全屏显示和视窗扩展显示,在视窗扩展显示时,上
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播