基于Labview的信号模拟器的软件系统的设计设计.doc
《基于Labview的信号模拟器的软件系统的设计设计.doc》由会员分享,可在线阅读,更多相关《基于Labview的信号模拟器的软件系统的设计设计.doc(40页珍藏版)》请在沃文网上搜索。
1、 1 引言1.1 课题研究背景和研究意义-信号发生器的应用及发展 信号发生器是一种常用的信号源,它是一种为电子测量和计量工作提供电信号的设备,它和示波器、电压表、计数器等仪器一样是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要信号发生器。在各种实验应用和实验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要7。信号源有很多种,包括正弦波信号源、函数发生器、脉冲发生器、扫描发生器、任意波形发生器、合成信号源等11。早期的信号发生器主要是由模拟振荡电路构成,这种信号发生器输出的信号稳定度不高,用电位器调节给定的参数误差较
2、大,不能担当复杂系统的调试与测试工作。1980年代出现了单片机,信号发生器逐渐向数字化发展,发展趋势是以单片机、DSP, CPLD,FPGA等可编程器件为平台,结合直接数字合成(DDS)技术,将合成后的信号通过D/A转换为模拟信号,再加上滤波电路而形成的数字信号发生器,它具有高精度、稳定性好、输出灵活的特点4。自1960年代以来信号发生器有了迅速的发展,出现了函数发生器,这个时期的波形发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形,由于模拟电路的漂移较大,使其输出的波形的幅度稳定性差,而且模拟器件构成的电路存在着尺寸
3、大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形则电路结构非常复杂8。自从1970年代微处理器的出现以后,利用微处理器、模数转换器和数模转换器、硬件和软件使信号发生器的功能扩大,产生比较复杂的波形。这时期的信号发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。软件控制波形的一个最大缺点就是输出波形的频率低,这主要是由CPU的工作速度决定的,如果想提高频率可以改进软件程序减少其执行周期时间或提高CPU的时钟周期,但这些办法是有限度的,根本的办法还是要改进硬件电路。随着现代电子、计算机和信号处理等技术的发展,极大促进了数字化技术在电子测量仪器中的应用,使原有
4、的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之发展起来。目前信号发生器的基础就是直接数字合成技术,用高速存储器做查询表,通过数字形式存入的波形,由高速数/模转换器产生所需的波形。综上所述,不论是在军事、生产还是在科研与教学上,模拟信号发生器都是电子工程师信号仿真实验的最佳工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,因此开发信号发生器具有重大意义8。1.2 虚拟仪器随着计算机技术、大规模集成电路技术和通讯技术的飞速发展,仪器技术领域发生了巨大的变化,虚
5、拟测试技术引入了仪器领域。随着相关软件的不断诞生,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流8。1986年,美国NI公司(National Instrument)提出了虚拟仪器的概念,提出了“软件即仪器”的口号,彻底打破了传统仪器只能由生产厂家定义,用户无法改变的局面,从而引起仪器和自动化工业的一场革命,代表着从传统硬件为主的测量系统到以软件为中心的测量系统的根本性转变。简单的说,一套虚拟仪器系统就是一台工业标准计算机或工作站,配上功能强大的应用软件、低成本的硬件(例如插入式板卡)及驱动软件,它们在一起共同完成传统仪器的功能3。最初NI公司提出的虚拟仪器概念实际上是一种编程思想,这
6、种思想可简单地表述为:一个VI可以由前面板、数据流框图和图标连接端口组成,前面板相当于真实物理仪器的操作面板,而数据流框图就相当于仪器的电路结构。随着现代测试水乎与仪器技术的发展,目前虚拟仪器概念已经发展成为一种创新的仪器设计思想,成为设计复杂测试系统和测试仪器的主要方法和手段25。先进的计算机总线技术有力地促进了虚拟仪器技术的发展,包括高速总线技术VXI(VMEbus eXtensions for Instrumentations) 、 PXI(PCI eRtensions for Instrumentations) 、USB (Universal Serial Bus)、IEEE 1934
7、(Firewire)、基于网络的远程测量技术、智能虚拟仪器驱动技术IVI (Interchangable Virtual Instruments)等。采用这些新技术的测试仪器,预计其技术性能可比传统独立的台式仪器提高10倍以上,而且系统互换性和互操作性显著提高。未来的电子测试仪器除了拥有更强大和更完善的功能之外,体积将会更小,甚至可以移植到被测试的设备或电路中去,并且具有自我诊断、自我校准和自我感知的能力16。1986年10月,美国NI公司推出了图形化虚拟仪器专用开发平台LabVIEW,它采用独特的图形化编程方式,编程过程简单方便,是目前最受欢迎的虚拟仪器主流开发平台。经过10年的发展,NI公
8、司从正式发布LabVIEW1.0到目前的LabVIEW8.0,几乎不到两年就推出一个新版本,可见虚拟仪器技术进步的迅速。美国HP公司的HPVEE.Tektronis公司的Ez Test和Tek TNS以及美国HEM Data公司的Snap-Marter平台软件,也是国际上公认的优秀虚拟仪器开发平台。目前,虚拟仪器技术已经在军事、航空、航天、通信、测试与测量、现代汽车、半导体、生物医学等世界范围的众多领域得到广泛应用,如图1.1所示。图1.1 虚拟仪器技术的应用领域1.3 本文结构安排本文以信号模拟器为研究对象,学习使用图形化编程语言以及虚拟仪器专用开发平台Labview,完成信号模拟器总体软件
9、界面的设计.各章内容安排如下:第一章介绍了课题的研究背景、研究意义以及其国内外研究现状,指出了课题研究的重点内容;第二章详细学习介绍了Labview语言的发展及应用;第三章研究了总体方案中的上位机软件部分即LabVIEW进行分析和设计:信号模拟器系统总体组成;系统中软件部分介绍;第四章主要讲述了上位机与下位机的串口通信;第五章对本文的研究内容进行了总结,并提出了以后的研究方向和研究内容。2 LabVIEW开发平台2.1 虚拟仪器定义虚拟仪器,是一种基于计算机的自动化测试仪器系统。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量,控制能力
10、结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示 、存储以及分析处理。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器,由于计算机性能以摩尔定律(每半年提高一倍)飞速发展,已把传统仪器远远抛到后面,并给虚拟仪器生产厂家不断带来较高的技术更新速率6。 虚拟仪器与传统仪器的比较如6:表2.1 :虚拟仪器与传统仪器的性能比较:虚拟仪器传统仪器开放性、灵活,可与计算机技术保持同步发展封闭性、仪器间相互配合较差关键是软件,系统性能升级方便,通过网络下载升级程序既可。关键是硬件,升级成本较高,且升级必须上门服务。价格低廉,仪器间资源可重复利用率高价格昂贵,仪器间一般无法相
11、互利用用户可定义仪器功能只有厂家能定义仪器功能可以与网络及周边设备方便连接功能单一,只能连接有限的独立设备开发与维护费用降至最低开发与维护开销高技术更新周期短(1-2年)技术更新周期长(5-10年)2.2 虚拟仪器的构成从构成要素上讲,虚拟仪器系统是由计算机、应用软件和仪器硬件组成的。从构成方式上讲,则有以DAQ板和信号调理部分为硬件方式组成的PC-DAQ测试系统,以GPIB、VXI、串行总线和现场总线等标准总线仪器为硬件组成的GPIB系统、VXI系统、串行总线系统、现场总线系统等。虚拟仪器系统的构成如图2.1所示。无论哪一种虚拟仪器,都是将硬件仪器搭载到笔记本电脑、台式计算机或工作站等各种计
12、算机平台上,再加上应用软件而构成的22。信号调理数据采集卡GPIB接口仪器GPIB接口卡VXI仪器串行口仪器/PLC现场总线(Fieldbus)设备测控对象Pc机测试软件数据采集与控制硬件图2.1 虚拟仪器的系统构成所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(front panel)、流程图 (bloek diagram)以及图标/连结器(icon/connector)三部分22。(1)前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(contro1)和显示对象(indicator)。图2.
13、2是如图所示分别是正弦、方波、三角波、锯齿波形成的前面板,上面有四个显示对象,分别显示了四种基本波形。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。图2.2 生成四种基本波形的前面板(2)流程图流程图提供Vl的图形化源程序。在流程图中对Vl编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。图2.3与图2.2对应的流程图。图2.3 生成四种基本波形的流程图(2)图标/连接器VI具有层次化和结构化的特征。一个VI可以作为子程序,这里称为子VI(SubVI),被其他VI
14、调用。图标与连接器在这里相当于图形化的参数在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Too1s)模板、控制(Contro1s)模板和函数(FunctionS)模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。a 工具模板(Tools Palette)该模板提供了各种用于创建、修改和调试VI程序的工具,如图2. 4所示。如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择了Show HelpWindow功能后
15、,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。图2.4 工具模板 b 控制模板(Control Palette) 该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。如果控制模板不显示,可以用Windows菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。控制模板如图2. 5所示,它包括如下所示的一些子模板。图2 图2.5 控制模板c 功能模板(Functions Palette) 功能模板是创建流程图程序的工具,如图2.6所示。该模板上的
16、每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用Windows菜单下Show Functions Palette功能打开它,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。图2.6 功能模板2.3 Labview的介绍 LabVIEW(laboratory virtual instrument engineering workbench)是一种图形化的编程语言和开发环境,被公认为是标准的数据采集和仪器控制软件。它为设计者提供了一个便捷、轻松的设计环境,利用它设计者可以象搭积木一样,轻松组建一个测量系统或数据采集系统,并任意构造自己的仪器面板,而无需进行任何繁琐的计算机程序代
17、码的编写,从而可以大大简化程序的设计。LabVIEW与VC+, VisualBasic, LabWindows/CVI等编程语言不同,后者采用的是基于文本语言的程序代码,而LabVIEW则是使用图形化程序设计语言G,用对话框代替了传统的程序代码13。电子技术的飞速发展及其在各方面的广泛应用,对仪器的“智能”要求越来越高,仪器中微机的任务不断加重,仪器在很多方面逐渐向微计算机靠拢。此外,随着微计算机和智能仪器的普及,测试系统中包含的重复部件越来越多,而冗余的部件往往不能容错。因此,需要统筹地考虑仪器与计算机之间的系统结构。在这种背景下,1982年出现了一种新型的、与PC机配合使用的模块式仪器,自
18、动测试系统结构也从传统的机架层迭式结构发展成为模块式结构。与传统仪器不同的是,模块式仪器本身不带仪器面板,因此必须借助于PC机强大的图形环境和在线帮助功能,建立图形化的“虚拟的”仪器面板,完成对仪器的控制、数据分析与显示。这种与PC机结合构成的,包含实际仪器使用与操作信息软件的仪器,称为“虚拟仪器”。它是计算机技术介入仪器领域所形成的一种新型的、富有生命力的仪器种类15。以下就是对虚拟仪器的各个方面进行详细介绍。 从虚拟仪器概念提出至今,有关虚拟仪器技术的研究方兴未艾。研究人员在虚拟仪器硬件接口、虚拟仪器软件及其设计方法等方面做了许多有意义的研究工作,并已开发了许多实用的虚拟仪器系统,如卡式仪
19、器、总线式仪器、计算机化仪器等,其共同点是大多强调其软件面板、虚拟界面、控制环境以及数学模型和软件方法。典型的虚拟仪器模式可以理解为,除了信号的输入和输出以外,仪器的其他操作,如测量、控制、变换、分析、显示等功能均由软件来实现,它们依据某种通用或专用总线标准或规约,或以某种接口形式,与计算机进行通信,由计算机统一进行调度和管理的一种数字化仪器13。如图是一个简单的仿真信号采集的构成: 图2.7 仿真信号采集LabVIEW所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似。用LabVIEW设计的虚拟仪器可以脱离LabVIEW开发环境,最终用户看见的是和实
20、际的硬件仪器相似的操作面板13。LabVIEW包含有专门用于设计数据采集程序和仪器控制程序的功能库和开发工具库。LabVIEW的程序设计实质上就是设计一个个的“虚拟仪器”,即“VIs(VirtualInstruments) 7。在计算机显示屏幕上利用功能库和开发工具库产生一个前面板(frontpanel);在后台则利用图形化编程语言编制用于控制前面板的程序。程序的前面板具有与传统仪器类似的界面,可接受用户的鼠标指令。一般来说,每一个VI都可以作为其它VI的调用对象,其功能类似于文本语言的子程序。 LabVIEW是带有可扩展功能库和子程序库的通用程序设计系统。它提供了用于GPIB设备控制、VXI
21、总线控制、串行口设备控制、以及数据分析、显示和存储的应用程序模块14。LabVIEW可调用Windows动态链接库和用户自定义的动态链接库中的函数。LabVIEW的CIN节点使用户可以使用由其它语言,如ANSIC,编译的程序模块,使LabVIEW成为一个开放的开发平台。LabVIEW还直接支持动态数据交换(DDE)、结构化查询语言(SQL) , TCP和UDP网络协议等。此外,LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够设置断点,动态执行程序来观察数据的传输过程,以及进行方便的调试。 LabVIEW的运行机制就宏观上讲已经不再是传统上的冯诺依曼计算机体系结构的执行方式。传统的计
22、算机语言(如C)中的顺序执行结构在LabVIEW中被并行机制所代替:从本质上讲,它是一种带有图形控制流结构的数据流模式,这种方式确保程序中的节点只有在获得它的全部数据后才能执行。也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计算机等因素的影响18。 LabVIEW程序是数据流驱动的。数据流程序设计规定,一个目标只有当它的所有输入有效时才能执行;而目标的输出,只有当它的功能完全时才是有效的。这样,LabVIEW中被连接的对话框之间的数据流控制着程序的执行次序,而不象文本程序受到行顺序执行的约束。从而可以通过相互连接功能对话框快速简洁地开发应用程序,甚至还可以有多个数
23、据通道同步运行。 LabVIEW的核心是VI。VI有一个人机对话的用户界面一前面板(front panel)以及类似于源代码功能的对话框(diagram)。前面板接受来自对话框的指令。在VI的前面板中,控制器(controls)模拟了仪器的输入装置并把数据提供给VI的对话框;而指示器(indicators)则模拟了仪器的输出装置并显示由对话框获得或产生的数据。当把一个控件或指示器放置到前面板上时,LabVIEW在对话框中相应地放置了一个端口(terminals),这个从属于控件或指示器的端口不能随意删除,只有删除它对应的控件或指示器时它才随之一起被删除31。图2.8 信号发生的前面板和流程图用
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Labview 信号 模拟器 软件 系统 设计
