论文关键词: LABVIEW 模拟电子技术虚拟实验 调制解调器
论文摘要:虚拟技术的发展使模拟电子技术实验的分析设计过程得以在计算机上轻松、准确、快捷地完成。这样,一方面克服了实验室在元器件和规格上的限制,避免了损坏仪器等不利因素,另一方面使得实验不受时间及空间的限制,从而促进模拟电子技术实验教学的现代化。本文介绍了基于LabVIEW的模拟电子技术实验系统——虚拟调制解调器的设计与实现。此系统具有参数调节方便、易实现、可靠度高等优点。在高等工程教育中采用虚拟实验室,可以从根本上解决实验与实习经费严重短缺问题。作为传统电子技术实验的补充,使学生初步掌握仿真软件技术,可使实验内容紧密联系课本内容,比较全面地概括和反映部分所学的知识点,将课堂内容具体化。
1绪论
1.1虚拟仪器
1.1.1 虚拟仪器的概念
虚拟仪器的概念最早由美国N工公司于1895年提出n,其英文原称为Vrul Instrument,简称vi。所谓虚拟仪器,就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测试功能由测试软件实现的一种计算机测试系统.虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果:利用计算机强大的软件功能来实现信号数据的运算、分析和处理:利用工/0接口设备完成信号的采集、测1t与调理,从而建立集各种测试功能为一体的计算机仪器系统。使用者通过鼠标和键盘操作虚拟面板,就如同使用一台专用测盆仪器一样。
虚拟仪器彻底打破了传统仪器只能由生产厂家定义,用户无法改变的局面,从而使得任何一个用户都可以方便灵活地用鼠标或按键在计算机显示屏幕上操作虚拟仪器软面板的各种“旋钮”进行测试工作,并可以根据不同的测试要求通过窗口切换不同的虚拟仪器,或通过修改软件来改变、增减虚拟仪器系统的功能与规模。虚拟仪器具有的这种“可开发性”和“可扩展性”等优越特点使虚拟仪器具有强大的生命力和竞争力。
1.1.2虚拟仪器的构成及其分类
虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。
(1) 虚拟仪器的硬件平台
虚拟仪器的硬件平台由两部分组成:
(a)计算机 一般为一台PC机或者工作站,其为硬件平台的核心。
(b)I/0接口设备 I/0接口设备主要完成被测输入信号的采集、放大、A/D转换。不同的总线有其相应的I/0接口硬件设备,如利用PC机总线的数据采集板卡、GPIB总线、VXI总线仪器模块、PXI总线仪器模块、串行总线仪器等。
虚拟仪器的构成方式主要有5种类型:
. PC-DAQ系统
PC-DAQ系统是以数据采集卡、信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统采用计算机的PCI或工SA总线,数据采集卡直接插入计算机底板上的相应总线插槽.
. GPIB系统 GPB系统是以PB标准总线仪器与计算机为仪器平台组成的虚拟仪器测试系统。
. VXI系统 VX 6是以VXI标准总线仪器模块与计算机为仪器平台组成的虚拟仪器测试系统。
. PXI系统 PX工系统是以PXI标准总线仪器模块与计算机为仪器平台组成的虚拟仪器测试系统。
. 串口系统 串口系统是以Serial标准总线仪器与计算机为仪器平台组成的虚拟仪器测试系统。
(2) 虚拟仪器的软件
目前虚拟仪器软件开发工具有如下两类:
. 文本式开发平台:如VisualC+,VisualBasic,LabWindows/CVI等,
. 图形化开发平台:如LabVIEW,HPV E等。.
虚拟仪器软件由两部分组成,即应用程序和I/0接口仪器驱动程序.应用程序又包含实现虚拟面板功能的软件程序和定义测试功能的流程图软件程序.I/0接口仪器驱动程序完成对特定外部硬件设备的扩展、驱动与通信.
1.2 LabVIEW开发平台简介及G语言
LabVIEW是实验室虚拟仪器集成环境(LaboratoryVirtualInstrumentEniernokec) NTOANTUET',gnigWrbnh的缩写,是美国国家仪器公司(AINLISRMNS"简称NI) 推出的基于G语言(GraphicsLanguage,图形化编程语言)的虚拟仪器软件开发平台,也是目前应用最广、发展最快、功能最强的图形化软件开发集成环境,全球发布仅次于C/C+十开发平台。
1.3目的与意义
用LABVIEW构建一个模拟电子技术虚拟实验系统——调制解调器。
从现实的意义上来说,在高等工程教育中采用虚拟实验室,可以从根本上解决实验与实习经费严重短缺问题。作为传统电子技术实验的补充,使学生初步掌握仿真软件技术,可使实验内容紧密联系课本内容,比较全面地概括和反映部分所学的知识点,将课堂内容具体化。
同时,利用虚拟仪器技术实现对仪器设备的远程、分布式控制,。一方面继承实物实验可操作性、参与性强的优点,另一方面又可利用计算机优势,发挥其直观、动态模拟、迅速准确、资源共享、资金投入量少等特点,从而建立一种新型的实验教学方式,进一步提高教学效率。
2工具LABVIEW
2.1 LabVIEW开发平台简介
LabVIEW是一个完全的、开放式的虚拟仪器开发系统应用软件,利用它组建仪器测试系统和数据采集系统可以大大简化程序的设计。LabVIEW与Visual C++、Visual Basic、
LabWindows/CVI等编程语言不同,后者采用的是基于文本语言的程序代码(Code),而L abVIEW则是使用图形化程序设计语言G(Graphic),用框图代替了传统的程序代码。Lab VIEW所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。
LabVIEW包含有专门用于设计数据采集程序和仪器控制程序的函数库和开发工具库。
LabVIEW的程序设计实质上就是设计一个个的“虚拟仪器”,即“VIs”。在计算机显示屏 幕上利用函数库和开发工具库产生一个前面版(Front Panel);在后台则是利用图形化的编程语言编制用于控制前面板的框图程序。程序的前面板具有与传统仪器相类似的界面,可接受用户的鼠标和键盘指令。一般来说,每一个VI都可以被其他VI调用,其功能类似于文本语言的子程序嵌套;而这种嵌套的层次,从理论上讲,是不受任何限制的。
LabVIEW是带有可扩展函数库和子程序库的通用程序设计系统。它提供了用于GPIB设 备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储的应用程序模块。
LabVIEW可方便的调用Windows动态链接库和用户自定义的动态链接库中的函数;LabVIEW 还提供了CIN (C Interface Node) 节点使得用户可以使用由C或C++语言,如ANSI C, 编译的程序模块,使得LabVIEW成为一个开放的开发平台。LabVIEW还直接支持动态数据交换 (DDE)、结构化查询语言(SQL)、TCP和UDP网络协议等。此外,LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够很方便的设置断点,动态的执行程序来非常直观形象的观察数据的传输过程,以及进行方便的调试。
LabVIEW的运行机制就宏观上讲已经不再是传统上的冯·诺伊曼计算机体系结构的执 行方式了。传统的计算机语言(如C)中的顺序执行结构在LabVIEW中被并行机制所代替; 从本质上讲,它是一种带有图形控制流结构的数据流模式(Data Flow Mode),这种方式确保了程序中的函数节点(Function Node)只有在获得它的全部数据后才能够被执行。
也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计 算机等因素的影响。
既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。这样,Lab VIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序受到行顺序执行的约束。从而,我们可以通过相互连接函数节点快速简洁的开发应用程序,甚至还可以有多个数据通道同步运行,即所谓的多线程(Multithreading)。
LabVIEW的核心是VI。VI有一个人机对话的用户界面——前面板(Front Panel)和相当于源代码功能的框图程序(Diagram)。前面板接受来自框图程序的指令。在VI的前面板中,控件(Controls)模拟了仪器的输入装置并把数据提供给VI的框图程序;而指示器(Indicators)则是模拟了仪器的输出装置并显示由框图程序获得或产生的数据。当把一 个控件或指示器放置到前面板上时,LabVIEW便在框图程序中相应的产生了一个终端(Te rminals),这个从属于控件或指示器的终端不能随意的被删除,只有删除它对应的控件或指示器时它才会随之一起被删除。
用LabVIEW编制框图程序时,不必受常规程序设计语法细节的限制。首先,从函数面板(Function Palette)中选择需要的函数节点(Function Node),将之置于框图上适当的位置;然后用连线(Wires)连接各函数节点在框图程序中的端口(Port),用来在函数节点之间传输数据。这些函数节点包括了简单的计算函数、高级的采集和分析VI以及用来存储和检索数据的文件输入输出函数和网络函数。
用LabV