基于LabVIEW的虚拟示波器的方案设计书与实现.docx
《基于LabVIEW的虚拟示波器的方案设计书与实现.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟示波器的方案设计书与实现.docx(32页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的虚拟示波器的方案设计书与实现
摘要III
关键字III
AbstractIV
KeywordsIV
第一章绪论1
1.1引言1
1.2课题现状1
1.3课题的研究目的和意义2
1.4本文结构3
第二章主要应用软件介绍4
2.1Protues简介4
2.1.1protuesVSM功能介绍5
2.2KeiluV3简介6
2.3LABVIEW简介7
第三章系统总体设计9
3.1系统软、硬件的设计要求9
3.2系统硬、软件设计10
第四章详细设计与系统实现12
4.1硬件电路的具体设计12
4.1.1硬件元件的选择12
4.1.2硬件电路的连接15
4.2Keil与Proteus联机调试16
4.3单片机与PC机的虚拟串行通信17
4.4虚拟示波器程序设计18
4.5虚拟示波器实现21
4.5.1创建虚拟示波器的前面板VI21
4.5.2虚拟示波器的实现23
第五章设计总结24
参考文献25
致谢26
基于LABVIEW的虚拟示波器的软件设计与实现
摘要
随着科学技术的不断提高,计算机应用的不断拓宽领域。
虚拟仪器的出现使人类的测试技术进入了新的发展纪元。
数字示波器是科学研究和实验室经常使用的一种台式仪器,目前这类仪器加工复杂,价格昂贵。
虚拟示波器是电子测量技术与计算机技术深层次结合的、具有很好发展前景的新一类电子仪器。
用虚拟示波器技术只需配置必要的数据采集硬件,就可以实现示波器的功能,为低成本下构建数据采集系统提供了一种思路。
应用NI公司提供的LABVIEW结合计算机模块化程序设计方法,完成虚拟示波器的上位机和下位机软件。
基于LABVIEW设计的虚拟示波器,硬件系统利用51单片机和A/D转换器进行数据采集,并充分应用PROTEUS和KEIL的结合仿真功能,进行硬件电路和软件系统的仿真调试。
基于LABVIEW设计实现的虚拟示波器既能进行传统示波器的图形显示,又具有实现简单、界面友好、性能稳定可靠、成本低廉等优点。
在LABVIEW环境中实现了与现实中实际示波器相似的功能。
关键字
虚拟示波器仪器,LABVIEW,PROTEUS,KEIL,仿真,51单片机,A\D转换器数据采集
DesignandiImplementationofthevVirtualoscilloscopebBasedonLabVIEW
Abstract
Withthecontinuousimprovementofscienceandtechnology,continuallyexpandtheareasofcomputerapplications.Theemergenceofvirtualinstrumenttechnologyintohumantestinganeweraofdevelopment.Digitaloscilloscopeisoftenusedinscientificresearchandlaboratoryakindofdesktopdevices,ofcomplexprocessingofsuchequipmentisveryexpensive.Virtualoscilloscopeanelectronicmeasuringtechnologyandcomputertechnology,deepintegration,hasgoodprospectsfordevelopmentofanewclassofelectronicdevices.Justconfigureavirtualoscilloscopewiththenecessarytechnicaldataacquisitionhardware,thefunctionsoftheoscilloscopecanbeachieved,underthebuildingforlow-costdataacquisitionsystemprovidesanewmethod.
NILABVIEWapplicationprovidedwithcomputermodularprogrammingmethod,thevirtualoscilloscopesoftware.LABVIEW-basedvirtualoscilloscopedesign,hardwaresystemuses51AndA/Dconverterfordataacquisition,andfulluseofthePROTUESandKEILcombinationofsimulationcapabilities,hardwareandsoftwaresystemsforsimulationdebugging.LABVIEW-baseddesignandimplementationofthevirtualoscilloscopeoscilloscopeboththetraditionalgraphicaldisplay,butalsohassimple,user-friendly,stableandreliableperformanceandlowercost.ImplementedinLABVIEWenvironmentandrealitysimilartotheactualfunctionoftheoscilloscope.
Keywords
Virtualoscilloscope,LABVIEW,PROTEUS,KEIL,simulation,51single-chip,A\Dconverter
第一章绪论
1.1引言
在科学技术飞速发展的今天,计算机科学及互联网日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。
各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。
示波器是电子信号测量行业最常用仪器之一,主要用来测量并显示被测信号的参数和波形,在科学研究、科学实验及现场检测等许多领域被广泛应用。
目前,常用的模拟示波器外型笨重、功能单一,数字示波器虽然有一定的功能扩展,但价格昂贵,而且这些仪器加工工艺复杂、对制造水平要求很高,生产突破有困难。
虚拟仪器的出现改变了这一局面,虚拟示波器利用计算机系统强大的数据处理能力,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,大大突破了传统仪器在数据处理、显示、传送、存储的限制,使用户可以方便地对仪器进行维护、扩展和升级,而且虚拟示波器比传统示波器节约了许多成本,具有很高的性价比。
虚拟示波器的研究在实验教学方面也有很大的意义,主要表现在:
①通用于不同实验室、成本较低;②能提高实验效率;③参数输入简便,结果显示明确,对仪器不会有任何损坏;④实验设备如有更新,只需更新一下软件,可降低高等学校用于实验室建设及实验设备的投资、维护费用。
本文介绍虚拟示波器的设计,用图形化编程语言LabVIEW实现虚拟示波器的数据采集、波形显示、数字滤波、参数测量、频谱分析、功率谱分析以及数据存储和回放等功能。
实验证明,该虚拟示波器可以实现对采样信号的显示、分析、存储等操作并且结果正确、可靠,功能比传统仪器强大。
1.2课题现状
现代计算机技术和信息技术的迅猛发展,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。
人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器的出现又使得测量仪器进步入了高科技的殿堂。
随着微电子技术、计算机技术、网络技术和现代测量技术的迅速发展,一种新型的先进仪器——虚拟仪器称为当前研究的热点。
虚拟仪器作为新兴的仪器仪表,其优势在于用户可自行定义仪器的功能和结构等,且构建容易、转换灵活。
因此它在各个领域都得到广泛的应用。
国内单位和院校都在积极地开展这些方面的研究和开发。
虚拟仪器应用程序的开发主要有两种:
一种是基于传统的文本语言的软件开发环境,常用的有labwindows/cvi、visualbasidc等;一种是基于图形化语言的软件开发环境,常用的有labview和hpvee。
其中图形化软件开发系统是用工程人员所熟悉的术语和图形化符号代替常规的文本语言编程,界面友好,操作简便,可大大缩短系统开发周期,深受专业人士的青睐。
1.3课题的研究目的和意义
在对大规模、集成化、智能化及数字电子仪器需求愈加迫切的形势下,计算机技术、仪器技术和通信技术相结合,产生了具有里程碑意义的新一代仪器——虚拟示波器。
虚拟仪器的出现开辟了仪器技术的新纪元,它是多门技术与计算机技术结合的产物,其基本思想逐步代替仪器完成某些功能,如数据的采集、分析、显示和存储等,最终达到取代传统电子仪器的目的。
虚拟示波器是计算机硬件资源、仪器硬件、数据分析处理、软件、通信软件及图行用户界面的有效结合,具有传统仪器所具备的信号采集、信号处理分析、信号输出等功能。
其基本构成包括计算机、虚拟仪器软件、硬件接口和测试仪器等。
虚拟仪器有以下优点:
1.利用了计算机丰富的软件资源。
实现了部分仪器硬件的软件化,节省了物质资源,增加了系统的灵活性。
通过软件技术和相应数值算法,实时直接地对测试数据进行各种分析与处理。
图形用户界面技术的应用,真正的做到界面友好、人机交互。
2.基于计算机网络技术和接口技术。
虚拟仪器具有方便、灵活的互联能力,广泛支持诸如CAN、FieldBus、PROFIBUS等各种工业总线标准。
因此,利用虚拟仪器技术可方便地构建自动测试系统,实现测量、控制过程的网络化。
3.基于计算机的开放式标准体系结构。
虚拟仪器的硬、软件具有开放性、模块化、可重复使用及互换性等特点,用户可根据自己的需要,选用不同厂家的标准接口产品,使仪器的开发更为有效,缩短仪器组建、开发时间。
4.具有很强的灵活性。
虚拟仪器的功能由用户自己定义,这意味着可自由的组合计算机平台、硬件、软件以及各种实现应用系统所需要的附件。
这种灵活性在由供应商定义、功能固定、独立的传统仪器是达不到的。
从传统仪器的转变,为用户带来了更多的实际的利益。
虚拟示波器的特点不仅推进了以虚拟仪器为基础的界面系统改造,同时也影响了以虚拟仪器为主的图形构造方法的进化。
虚拟仪器的出现使仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,是信息技术的一个重要领域,必将对科学技术的发展和工业生产产生不可估量的影响。
1.4本文结构
本文通过基于LABVIEW的技术对虚拟示波器进行设计和实现。
第一章:
绪论(本章阐述了课题的背景、课题来源和研究意义,分析了虚拟仪器发展的趋势和优势,进一步说明虚拟示波器在今后应用中的必要性)
第二章:
主要软件(本章具体分析了系统设计所需要的各种主要软件,包括应用于系统硬、软件仿真的proteus、keil,和虚拟应用软件LABVIEW。
)
第三章系统总体设计(分析了虚拟仪器的应用需求,设计了系统的硬件、软件系统,并根据需求对系统功能模块进行了划分和细化。
)
第四章详细设计与系统实现(根据第四章的设计结果利用proteus和keil进行了具体的应用程序设计及仿真调试,在LABVIEW环境下完成虚拟示波器的实现)
第五章设计总结(总结虚拟示波器系统设计体会和编程体会,并指出了系统设计中的不足和改进的方向。
)
第二章主要应用软件介绍
2.1proteus的简介
Proteus软件是一款在国内开始广泛流行的EDA软件,该软件具有模拟电路仿真,数字电路仿真,单片机及外围电路组成的系统仿真,RS-232动态仿真,12C调试器、SPI调试器、键盘和LCD系统的仿真,以及各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
该软件目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM以及各种外围芯片。
该软件还支持大量的存储器和外围芯片,总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
Proteus的运行环境:
Windows98/Me/2000/XP,该软件对PC硬件要求不高,当前主流机器配置都可以满足它的运行要求,所用机器的配置(仅供参考):
(1)CPU:
Pentium2.8GHz
(2)RAM:
512MB
(3)硬盘:
60GB
(4)显示器:
1280Χ1024
Proteus主要有两大部分组成:
1.ISIS——原理图设计、仿真系统。
它主要用于电路原理图的设计以及互式仿真。
2.ARES——印刷电路板设计系统。
它主要用于印刷电路板的设计,产生最终的PCB文件。
(1)虚拟系统模型VSM(VirtualSystemModelling)
Proteus的仿真功能是基于虚拟系统模型(VSM,VirtualSystemModelling)来实现的,在物理原型调试之前,将Spice电路模型、动态外部设备以及微处理器的仿真结合起来,用于仿真单片机应用系统的一种设计方法。
ProteusVSM是一个完整的嵌人式系统软件、硬件设计仿真平台,它包括原理图系统ISIS、带扩展的Prospice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统。
(2)智能原理图输入系统ISIS
ISIS是ProteusS系统的设计中心和易用的功能强大的编辑工具,它提供给用户图形外观包括线宽、填充类型、字符等的全部控制,画完图后可以以图形文件输出,或拷贝到剪切板以便其他文件使用。
(3)激励源
Proteus在ACTIVE库中还提供了象直流信号发生器、正弦信号发生器、单频率调频信号发生器、数字单边沿发生器、数字
时钟信号发生器等。
它允许用户对其参数进行设置。
可用于电路测试。
(4)虚拟仪器
Proteus提供了大量的虚拟仪器如示波器、逻辑分析仪、定时/计数器、信号发生器、虚拟终端以及电压电流表等,这些仪器
在仿真单片机和电路时,能实时观测到信号的变化,对电路的定性分析十分有利。
(5)单片机及外围电路实时协同仿真
Proteus最重要的特点是它能够把用户编写的应用软件作用在微处理器上并和连接在该处理器的外围模拟器件及数字器件协同仿真,就像在真正的单片机应用系统的硬件平台上执行目标代码。
支持的微控制器有51系列、Microchip的PIC系列、Atmel的AVR系列、MotorolaHC11和ARM7/LPC2000系列。
支持EWARM、GNUARMcompiler、KARM、KeilC51、IAR、MPAB等编译器。
随着Proteus版本不断升级,会支持越来越多的微处理器和新元器件。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
2.1.1ProtuesVSM功能介绍
Proteus除了具有和其他EDA工具一样的原理图设计、PCB自动生成及电路仿真的功能外,最大特点是ProteusVSM(VirtualSystemModelling)实现了混合模式的SPICE电路仿真,它将虚拟仪器、高级图表仿真、微处理器仿真器、第三方的编译器和调试器等有机会结合起来,在世界范围内第一次实现了硬件物理模型搭建成功之前,即可在计算机上完成原理设计、电路分析与仿真、处理器代码调试及实时仿真、系统测试,以及功能验证。
ISIS提供了针对ProteusVSM的编辑环境,是进行交互仿真的基础,其主要特点如下:
●自动布线和连接点放置;
●强大的元件选择工具和属性编辑工具;
●完善的总线支持;
●元器件清单和电气规则检查;
●适合主流PCB设计工具的网络表输出;
●支持参数化子电路元件值的层次化设计;
●自动标注元件标号功能;
●ASCⅡ数据输入功能;
●管理每个项目的源代码和目标代码;
●支持图表操作以进行传统的时域、频域仿真。
图2.1PROTEUS窗口和编辑区中的电路设计与软件设计
2.2KeiluV3简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
KeilC51可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
KeilSoftware的8051开发工具提供以下程序你可以用它们来编译你的C源码汇编你的汇编源程序连接和重定位你的目标文件和库文件创建HEX文件调试你的目标程序Windows应用程序uVision3是一个集成开发环境它把项目管理源代码编辑程序调试等集成到一个功能强大的环境中。
C51美国标准优化C交叉编译器从你的C源代码产生可重定位的目标文件
宏汇编器从你的8051汇编源代码产生可重定位的目标文件
BL51连接/重定位器组合你的由C51和A51产生的可重定位的目标文件生成绝对目标文件
LIB51库管理器组合你的目标文件生成可以被连接器使用的库文件
OH51目标文件到HEX格式的转换器从绝对目标文件创建IntelHEX格式的文件
RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机来说是十分必要的,Keil使用C语言编程,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会使设计的实现更简单快捷。
2.3LABVIEW简介
LABVIEW是实验室虚拟仪器集成环境(LaboratoryVirtualInstrumentEngineeringWorkbench)的简称,是美国国家仪器公司NI的创新软件产品,也是目前应用最广、发展最快、功能最强的图形化软件开发环境。
LABVIEW本身是一个功能比较完整的软件开发环境,但它是为替代常规的BASIC或C语言而设计的,LABVIEW是编程语言而不仅仅是一个软件开发环境。
作为编写应用程序的语言,除了编程方式不同外,LABVIEW具备语言的所有特性,因此又称之为G语言。
G语言是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言。
和BASIC或C语言一样,G语言定义了数据模型、结构类型和模型调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言,同时,G语言丰富的扩展函数库还为用户编程提供了极大的方便。
这些扩展函数库主要面向数据采集、GPIB和串行仪器控制,以及数据分析、数据显示和数据存储。
G语言还包括常用的程序调试工具,比如允许设置断点、单步调试、数据探针和动态显示执行程序流程等功能。
G语言与传统高级编程语言最大的差别在于编程方式,一般高级语言采用文本编程,而G语言采用图形化编程方式。
G语言编写的程序成为虚拟仪器VI(VirtualInstruments),因为它的界面和功能与真实仪器十分相像,在LABVIEW环境下开发的应用程序被冠以.VI后缀,以表示虚拟仪器的含义。
一个VI由前面板、数据流框图程序和图标连接端口组成,各部分功能如下:
1.前面板:
前面板是VI的交互式用户接口,与真实物理仪器面板相似。
前面板可以包含旋钮、刻度盘、开关、图像和其他界面工具,允许用户通过键盘或鼠标获取数据显示结果。
2.数据流框图程序:
VI从数据流框图程序中接受指令,框图程序是一种解决编程问题的图像化方法,实际上是VI的程序代码。
3.图标连接接口:
VI图标和连接接口端口的功能就像一个图形化参数列表,可在VI与SubVI之间传递数据。
一个VI既可以作为上层独立程序,也可以作为其他程序(或子程序)的子程序。
当一个VI作为子程序时,称为SubVI。
虚拟仪器概念是LABVIEW的精髓,也是G语言区别于其他高级语言最显著的特征。
正是由于LABVIEW的成功,才使虚拟仪器的概念为学术界和工程界广泛接受;反过来也是因为虚拟仪器概念的延伸与扩展,才使LABVIEW的应用更加广泛。
LABVIEW在包括航空、航天、通信、汽车、半导体和生物医学等世界范围的众多领域内得到了广泛的应用,从简单的仪器控制、数据采集到尖端的测试和工业自动化,从大学实验室到工厂,从探索研究到技术集成,都可以发现应用LABVIEW的成果和开发产品。
第三章系统总体设计虚拟示波器系统的总体设计主要包括:
1)系统硬、软件的设计要求
2)系统硬、软件设计
3.1系统软、硬件的设计要求
1.虚拟仪器由通用仪器硬件平台和应用软件两大部分构成。
硬件平台完成被测信号调理与信号采集,即获取被测信号。
软件平台完成硬件电路的仿真测试和信号的前期处理以及参数测量、频谱分析等功能。
2.虚拟示波器的软件设计:
在硬件环境确定以后,虚拟仪器的功能就完全由软件决定。
虚拟示波器主要由软件来完成信号的采集、处理和输出。
系统软件包括前面板生成、数据采集、数据处理、波形显示、参数测量等模块。
3.硬件电路与PC机之间的串行通信标准(EIA-RS-232接口标准):
RS-232C标准(协议)是美国EIA(电子工业协会)于1969年公布的通信协议。
它适合数据传输0‐20000bps范围内的通信。
它最初是为远程通信连接数据终端设备DTE(DataTerminalEquipment)与数据通信设备DCE(DataCommunicationEquipment)而制订的,但目前已广泛用于计算机(计算机接口)与终端或外设之间的近端连接。
这个标准对串行通信接口的有关问题,如信号线功能、电气特性都作了明确规定。
由于通信设备厂商与RS-232制式兼容的通信设备,因此,它作为一种标准,目前已被微机串行通信接口中广泛采用。
1.电气特性
RS-232对电