【优秀硕士博士论文】毕业论文-基于fpga的存储示波器设计_第1页
【优秀硕士博士论文】毕业论文-基于fpga的存储示波器设计_第2页
【优秀硕士博士论文】毕业论文-基于fpga的存储示波器设计_第3页
【优秀硕士博士论文】毕业论文-基于fpga的存储示波器设计_第4页
【优秀硕士博士论文】毕业论文-基于fpga的存储示波器设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FPGA的存储示波器设计摘要虚拟仪器充分利用了计算机强大的软硬件资源,把计算机技术和测量技术紧密地结合起来。它通过上位电脑和下位仪器的结合,不仅具备传统仪器的功能,而且能够通过上位机软件实现硬件不具备的一些功能,还能降低仪器的整体成本。与传统仪器相比,虚拟仪器在智能化程度、处理能力和可操作性等方面均具有明显的技术优势。本论文设计并研制了一个基于FPGA且利用串行RS232接口的虚拟示波器。数据分析和结果输出显示完全由计算机软件系统来完成,只有数据采集是在软件的控制下由硬件来完成。论文内容主要包括硬件电路设计和软件编程;硬件电路设计了A/D转换电路和RS232通讯接口电路,A/D转换电路实现信号采集,采集结果通过RS232通讯接口传给上位机。采用LABVIEW软件来编写上位机应用程序,编写了数据处理程序和人机交互界面,其中人机交互界面可以接收数据并显示测量结果。实际应用结果表明,本论文设计的基于RS232串口的虚拟示波器,具有方便、易用、灵活等优点,而且成本低廉、功能强大。运用虚拟仪器技术,能够实现硬件和软件资源的共享,快速、方便地组建各种自动测试系统,利用计算机强大的功能,能够对信号进行采样和波形显示,还能够对采集的波形数据进行存储、回放和共享。关键词虚拟仪器,示波器,数据采集,LABVIEWTHEDESIGNOFSTORAGEOSCILLOSCOPEBASEDONFPGAABSTRACTTHEVIRTUALINSTRUMENTSTAKEFULLADVANTAGEOFTHESOFTWAREANDHARDWARERESOURCEOFTHECOMPUTER,ANDCOMBINETHECOMPUTERTECHNOLOGYANDTHEMEASUREMENTTECHNOLOGYTIGHTLYWITHTHECOMBINATIONOFTHECOMPUTERANDTHEMEASUREMENTDEVICE,THEVIRTUALINSTRUMENTNOTONLYHASTHEFUNCTIONSOFTHETRADITIONALINSTRUMENT,BUTALSOHASMANYEXTRAFUNCTIONSBYUSINGTHECOMPUTERSOFTWAREPROGRAMWHATSMORE,ITCANREDUCETHECOSTOFTHEWHOLEEQUIPMENTCOMPAREDWITHTRADITIONALINSTRUMENT,VIRTUALINSTRUMENTHASOBVIOUSTECHNIQUEADVANTAGESINTHEDEGREEOFINTELLIGENCE,PROCESSINGABILITYANDMANEUVERABILITYETCAVIRTUALOSCILLOGRAPHWHICHISBASEDONTHEFPGAANDRS232ISDESIGNEDANDDEVELOPEDINTHISPAPERDATAANALYSISANDOUTPUTDISPLAYARECOMPLETELYREALIZEDBYTHECOMPUTERSOFTWARESYSTEM,ONLYTHEDATAACQUISITIONISCOMPLETEDBYHARDWAREUNDERTHEFUNCTIONOFTHESOFTWARETHEPRINCIPALCONTENTOFTHISPAPERINCLUDESTHEDESIGNOFTHEHARDWARECONNECTIONANDSOFTWAREPROGRAMMINGTHEANALOGTODIGITALCONVERSIONCIRCUITRYANDTHERS232INTERFACECIRCUITRYAREDESIGNEDINTHEDESIGNOFTHEHARDWARECONNECTIONTHEANALOGTODIGITALCONVERSIONCIRCUITRYCONVERTSANALOGSIGNALSTODIGITALSIGNALSANDTHERS232INTERFACECIRCUITRYTRANSMITSTHERESULTOFTHEANALOGTODIGITALCONVERSIONTOTHEPCTHEAPPLICATIONPROGRAMTHATISPROGRAMMEDWITHTHELABVIEWSOFTWAREHASACTUALIZEDTHEFUNCTIONOFDIGITALSIGNALPROCESSINGANDTHEHUMANCOMPUTERINTERACTION,ANDTHEHUMANCOMPUTERINTERACTIONCANRECEIVETHEDATAANDDISPLAYTHERESULTOFMEASUREMENTTHEPRACTICALAPPLICATIONINDICATESTHATTHISVIRTUALOSCILLOGRAPHBASEDONTHERS232HASMANYMERITSSUCHASFACILITY,EASYTOUSE,AGILENESSINADDITION,ITISLOWCOST,POWERFULAGREATVARIETYOFAUTOMATICTESTSYSTEMSWILLBECONSTRUCTEDANDTHEHARDWAREANDSOFTWARERESOURCESCANBESHAREDWAVEFORMDISPLAYCANBEDONEBYUSINGTHEPOWERFULFUNCTIONOFTHECOMPUTER,ANDTHEDATATHATHASBEENACQUIREDALSOCANBESTORED,PLAYBACKANDPARTAKENOFKEYWORDSVIRTUALINSTRUMENT,0SCILLOGRAPH,DATAACQUISITION,LABVIEW目录摘要IABSTRACTII前言1第1章绪论211虚拟仪器概述2111虚拟仪器基本概念2112虚拟仪器的构成3113虚拟仪器的特点412虚拟仪器的现状和发展方向4121虚拟仪器的现状4122虚拟仪器的展望613虚拟示波器的软硬件7131LABVIEW介绍7132硬件开发平台814课题意义915课题的主要工作10第2章系统的构想与方案设计1121开发平台与硬件的比较1122上位机与下位机1223方案论证1224系统整体框图13第3章软件设计1431概述1432前面板设计14321软件设计流程图15322前面板1533串口接收模块1734处理模块19341处理模块总程序19342波形数据操作函数2035波形显示2036程序框图的其他组成22361频率调节部分22362幅度调节23363创建数组23364水平位移与垂直位移24第4章硬件设计2541FPGA软件设计2542FPGA设计的主要模块27421数据采集控制模块27422数据存储模块28423波特率发生模块29424发送模块30425控制模块3143硬件下载32第5章系统测试与结果仿真3451FPGA软件测试34511AD5510控制模块的仿真波形图34512波特率发生模块的仿真波形35513RAM模块的仿真波形图35514控制模块的仿真波形图35515发送模块的仿真3652LABVIEW仿真的实现37结论38参考文献40致谢42前言本次毕业设计是利用VHDL编程,LABVIEW来设计虚拟示波器界面,能够虚拟仿真示波器的简单功能,实现一台真正意义上的基于虚拟仪器平台的示波器的要求。并基于FPGA完成数据的采集,通过串口实现LABVIEW与FPGA的通信,在LABVIEW环境下完成波形的数据处理及显示等。虚拟仪器就是在通用计算机平台上,用户根据自己的需求来定义和设计仪器的测量功能。它的实质是将可以完成传统仪器功能的硬件和最新计算机软件技术充分地结合起来,用以实现并扩展传统仪器的功能,来完成对数据的显示、存储以及分析处理。LABVIEW是实验室虚拟仪器集成环境LABORATORYVIRTUALINSTRUMENTENGINEERINGWORKBENCH的简称,是美国国家仪器公司NI的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。FPGA现场可编程门阵列器件采用硬件处理技术,内部资源丰富,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理,实时性能可以预测和仿真,同时开发平台QUARTUSII功能非常强大。本文主要工作内容包括硬件电路设计和上位机编程;硬件电路设计了A/D转换电路和RS232通讯接口电路,A/D转换电路实现信号采集,采集结果通过RS232通讯接口传给上位机。上位机编程采用NI公司的可视化图形编程软件LABVIEW进行编程,包括编写虚拟示波器显示界面和功能框图程序。主要包括以下几个方面的工作1系统总体方案设计。2数据采集板设计。3RS232通信接口的实现,设计了RS232通讯接口模块。4上位机编程。设计内容包括对数据进行接收处理、编写虚拟示波器程序和设备驱动程序等。第1章绪论11虚拟仪器概述电子测量仪器发展至今,大体可以分为四代即模拟仪器、数字化仪器、智能仪器和虚拟仪器。虚拟仪器VIRTUALINSTRUMENT,简称VI是现代仪器技术和计算机技术深层次结合的产物,是当今计算机辅助测试COMPUTERAIDEDTEST,CAT重要技术1。111虚拟仪器基本概念所谓虚拟仪器,就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测试功能由测试软件实现的一种计算机仪器系统。虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果利用计算机强大的软件功能实现信号数据的运算、分析和处理利用FO接口设备完成信号的采集测量与调理,从而完成各种测试功能的一种计算机测试系统。使用者用鼠标或键盘操作虚拟面板,就如同使用一台专用测量仪器一样2。因此,虚拟仪器的出现,使测量仪器与计算机的界限模糊了。虚拟仪器的“虚拟”两字主要包含以下两方面的含义3。1虚拟仪器的面板是虚拟的虚拟器面板上的各种“图标”与传统仪器面板上的各种“器件”所完成的功能是相同的由各种开关、按钮、显示器等图标实现仪器电源的“通”、“断”,实现被测信号的“输入通道”、“放大倍数”等参数的设置,以及实现测量结果的“数值显示”、“波形显示”等。2虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的虚拟仪器是在以PC为核心组成的硬件平台支持下,通过软件编程来实现仪器的功能。因为可以通过不同测试功能软件模块的组合来实现多种测试功能,所以,在硬件平台确定后,就有“软件就是仪器”的说法。这也体现了测试技术与计算机深层次的结合4。虚拟仪器技术的实质是充分利用最新的计算机技术来实现和扩展传统仪器的功能。软件是虚拟仪器的关键,当硬件确定以后,就可以通过不同的软件实现不同的功能。虚拟仪器不仅可以用于电子测量、测试、分析、计量等领域,而且还可以用于进行设备的监控以及工业过程自动化。虚拟仪器还可以广泛应用于电力工程、物矿勘探、医疗、振动分析、声学分析、故障诊断及教学科研等多个方面5。112虚拟仪器的构成虚拟仪器的构成方式如图11所示PCDAQ串口仪器VXI模块PXI模块GPIB仪器计算机被测信号图11虚拟仪器的构成方式虚拟仪器从构成要素上讲,由计算机、应用软件和仪器硬件等构成;从构成方式上讲,则由以DAQ板和信号调理为仪器硬件而组成的PCDAQ测试系统,或以GPIB、VXL、SERIAL和FIELDBUS等标准总线仪器为硬件组成的GPIB系统6、串口系统和现场总线系统等多种形式7。无论哪种VI系统,都是将仪器硬件搭载到笔记本电脑、台式微机或工作站等各种计算机平台加上应用软件而构成的。113虚拟仪器的特点与传统仪器相比虚拟仪器主要有以下优点1传统仪器的面板只有一个,其上布置着种类繁多的显示与操作元件,易于导致许多识别与操作错误。虚拟仪器与之不同,它可以通过在几个分面板上的操作来实现比较复杂的功能。这样,在每个分面板上就可以实现功能操作的单纯化与面板布置的简捷化,从而提高操作的正确性与便捷性。同时,虚拟仪器面板上的显示元件和操作元件的种类与形式不受“标准件”和“加工工艺”的限制,它们是由编程来实现的,设计者可以根据用户的认知要求和操作要求,设计仪器面板。2在通用硬件平台确定后,由软件取代传统仪器中的硬件来完成仪器的功能。3仪器的功能是用户根据需要由软件来定义的,而不是事先由厂家定义好的。4仪器性能的改进和功能扩展只需要更新相关软件设计而不需要购买新的仪器。5研制周期较传统仪器大为缩短。6虚拟仪器开放、灵活,可与计算机同步发展,与网络及其他周边设备互联。12虚拟仪器的现状和发展方向121虚拟仪器的现状近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以便使用者利用这些仪器公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件。最早和最具影响的开发软件,是NI公司的LABVIEW软件和LABWINDOWS/CVI开发软件。LABVIEW采用图形化编程方案,是非常实用的开发软件。LABWINDOWS/CVI是为熟悉C语言的开发人员准备的、在WINDOWS环境下的标准ANSIC开发环境。除了上述的优秀开发软件之外,美国HP公司的HPVEE和HPTIG平台软件,美国TEKTRONIS公司的EZTEST和TEKTNS软件,以及美国HEMDATA公司的SNAPMARTE;平台软件,也是国际上公认的优秀虚拟仪器开发平台软件。虚拟仪器的概念,是美国国家仪器公司NATIONALINSTRUMENTS,简称NI于1986年提出的。80年代以来,NI公司研制和推出了许多总线系统的虚拟式仪器,成为这类新型仪器世界第一生产大户。此后,美国的惠普HP公司,TEKTRONIX公司,RACAL公司等也相继推出了许多此类仪器,并在短短的10余年便占有了世界仪器市场的10左右。虚拟仪器技术目前在国外发展很快,以NI公司为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。在美国,虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修课程。美国的斯坦福大学的机械工程系要求三、四年级的学生在实验时应用虚拟仪器进行数据采集和实验控制。据“世界仪表及自动化”杂志预测,21世纪初叶,世界虚拟仪器的生产厂家将超过千家,其品种将达到数千种,市场占有率将达到50左右8。虚拟仪器将成为本世纪仪器发展的方向,而且有逐步取代传统硬件化电子仪器的趋势。作为仪器领域中最新兴的技术,虚拟仪器的开发和研究在国内尚属起步阶段。从90年代中期以来,国内的清华大学、重庆大学、西安交通大学、以及中科泛华电子科技公司,东方震动和噪声技术研究所等高校和公司,在研究和开发虚拟仪器产品和虚拟仪器设计平台以及消化吸收NI等产品方面做了大量工作,其成果已在汽车发动机检测、自动计量控制系统等方面得到应用。其中,成果比较显著的是重庆大学测试中心所研究的虚拟仪器,其研制的产品已包括FFT分析仪、噪声测试分析仪、小波变换信号分析仪、多通道数据采集器等20多个品种,并且可以根据客户需求进行个性化设计。这些虚拟仪器在中国计量科学研究院的测试结果表明,其产品性能完全达到同类硬件仪器的技术指标。在国内己有部分院校的实验室引入了虚拟仪器系统,复旦大学、上海交通大学、暨南大学、华中科技大学等。近一、两年来这些学校在原有的基础上,又开发了一批新的虚拟仪器系统用于教学和科研。清华大学汽车系利用虚拟仪器技术构建的汽车发动机检测系统,用于汽车发动机的出厂检验。主要检测发动机的功率特性、负荷特性等。一台发动机检测完后,就可打印出完整的检测报告。华中科技大学机械学院信息所开发出的INVENTOR可重构虚拟实验台,深圳市蓝津信息技术有限公司开发出了DRVI快速可重组虚拟仪器平台,可广泛用于实验室、工程测控等场合。浙江大学仪器系在“九五”期间也开发了中文VPP可视化平台,它们为实现仪器编程提供了便捷的途径。此外,国内己有几家企业在研制虚拟仪器。虚拟仪器的开发厂家,为扩大虚拟仪器的功能,在测量结果的数据处理、表达模式及变换方面也做了许多工作,发布了各种软件,建立了数据处理的高级分析库和开发工具库例如测量结果的谱分析、快速傅立叶变换、各种数字滤波器、卷积处理和相关函数处理、微积分、峰值等,使虚拟仪器发展成为可以组建极为复杂自动测试系统的仪器系统。专家预测未来的几年内,国内将有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时监测。随着微型计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流9。122虚拟仪器的展望虚拟仪器技术经过十几年发展,而今正沿着总线与驱动程序标准化、硬/软件模块化、编程平台图形化和硬件模块的即插即用方向前进,以开放式模块化仪器标准为基础的虚拟仪器标准正日趋完善,加上计算机技术和网络技术的迅猛发展,建立在虚拟仪器技术上的各种功能强大、性能优良的先进仪器将层出不穷,价格也会越来越低,使用虚拟仪器进行研究、设计、测试将成为一种趋势,同样,虚拟仪器及技术也将成为学校未来教学科研的重要方法和手段,特别是在理工科学校其应用前景非常广阔10。虚拟仪器可以取代测量技术传统领域的各类仪器,“没有测量就没有鉴别,科学技术就不能前进”。虚拟仪器将会在科学技术的各个领域得到广泛应用,对科学技术的发展和工业生产将产生不可估量的影响11。13虚拟示波器的软硬件虚拟仪器由仪器硬件和功能模块软件两部分组成。虚拟仪器的硬件主体是电子计算机,通常是个人计算机,也可以是任何通用计算机。所设计的双踪虚拟示波器主要是有一个FPGA开发板和用LABVIEW开发的功能模块软件组成。131LABVIEW介绍LABVIEW是实验室虚拟仪器集成环境LABORATORYVIRTUALINSTRUMENTENGINEERINGWORKBENCH的简称,是美国国家仪器公司NI的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境12。LABVIEW是一个开放式的虚拟仪器开发系统应用软件,它为设计者提供了一个便捷、轻松的设计环境,利用它设计者可以象搭积木一样,轻松组建一个测量系统或数据采集系统,并任意构造自己的仪器面板,而无需进行任何繁琐的计算机程序代码的编写,从而可以大大简化程序的设计。所有的LABVIEW应用程序,即虚拟仪器,它包括前面板FRONTPANEL、流程图BLOCKDIAGRAM以及图标/连结器ICON/CONNECTOR三部分13。前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制CONTROL和显示对象INDICATOR。每一个程序前面板都对应着一段框图程序。框图程序用LABVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口用来控制程序前面板和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。LABVIEW的操作模板LABVIEW具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操作模板共有三类,工具TOOLS模板、控制CONTROLS模板和功能FUNCTIONS模板14。工具模板TOOLSPALETTE为编程者提供了各种用于创建、修改和调试VI程序的工具,当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。控制模板CONTROLSPALETTE可以为前面板添加输入控制和输出显示。功能模板FUNCTIONSPALETTE是创建框图程序的工具。如图21是LABVIEW的前面板和程序框图以Y4,X4为例图21前面板和框图程序132硬件开发平台FPGA(现场可编程门阵列)器件采用硬件处理技术,内部资源丰富,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理,实时性能可以预测和仿真,同时开发平台QUARTUSII功能非常强大。VHDL语言覆盖面广,描述能力强,能支持硬件的设计、验证、综合和测试,是一种多层次的硬件描述语言。FPGA介绍在集成电路设计领域中,ASIC一直以来都以其高密集门封装和低成本的技术优势统领市场,最近几年以现场可编程门阵列FPGA为核心的可编程逻辑器件却成为了集成电路中发展得最快的产品。FPGA性能特点FPGA通常由可编程逻辑功能模块、可编程输入输出模块和可编程内部互连资源等基本的资源构成,通过编程可以设计实现不同的功能模块。有些FPGA中还集成了存储器(BLOCKRAM和SELECTRAM)、数字时钟管理单元(完成分频/倍频、数字锁相和延迟功能的DLL和DCM)、算术运算单元(乘法器、加法器)以及特殊功能模块(MAC、微处理器等硬IPCORE)等更丰富的资源。FPGA开发工具包括了各种输入工具、仿真工具、版图设计工具和编程器等全套产品,电路设计人员在很短的时间就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作(物理版图映射),为复杂的设计应用,实现片上系统SOC提供了可能。虽然ASIC的成本很低,但设计周期长、投入费用高,风险较大,与之相比FPGA是特殊的ASIC芯片,除了具有ASIC的优点外,还有如下特点1芯片规模不断增大,逻辑门数己达千万门,功能增强到可实现系统集成;2设计方式灵活,不需要改变外围电路,就可以设计实现不同的功能;3应用FPGA进行设计,一次性投入低,设计周期短,在出厂前进行的百分之百的测试减少了很多潜在的设计风险和费用;4FPGA适用子正向设计,对知识产权的保护也非常有利。14课题意义在科学研究和实验教学环节中,仪器是最基本的基础,而示波器又是最常用的仪器之一。在多数学校由于各种客观条件限制,一次性投入大量专用示波器也是不现实的。而且目前高精度、具有数据存储能力的示波器,生产工艺复杂,价格昂贵。所以,本课题就此情况基于FPGA和LABVIEW编程来设计虚拟示波器。使用虚拟示波器,老师利用虚拟示波器更能直观的向学生讲解、演示实验和教学内容,学生既可以避免繁琐的实验准备过程,又可以付出更多时间在对示波器使用的学习和实验本身上。而且,在教学和研究的过程中,它的使用让以往复杂的数据采集工作变的异常简单,老师和同学都可以集中时间和精力用于实验的执行,数据的分析及结论的总结上,而不用将大量的时间花费在实验系统设备的搭建上。从而,提高工作、科研和学习效率。同时虚拟数字存储示波器的设计有一定的经济价值;虚拟示波器能充分发挥虚拟仪器结构简单、功能丰富、价格低廉、能重复开发、用户可自定义的优势。设计的虚拟数字存储示波器,可同时显示、记录和存储输入的波形。15课题的主要工作结合虚拟仪器技术和软件编程技术,本文设计并实现了一个虚拟示波器。整个系统分为硬件和软件两个部分。硬件部分主要由计算机和FPGA实验开发板组成。FPGA实验开发板采用杭州康芯电子有限公司的GW48系列SOPC/EDA实验开发系统,并在开发系统上使用高速采集A/D模块TLC5510实现数据采集,通过开发板上RAM模块来完成数据的存储。软件部分主要由QUARTUS50软件和LABVIEW82软件进行设计。首先进行虚拟示波器的整体设计;在QUARTUS环境下,用VHDL语言进行编程,采用模块化思想,按照系统框图进行各个模块设计,并使用FPGA编程下载;其次掌握虚拟仪器的软件编程环境LABVIEW的使用;用图形化编程语言LABVIEW实现虚拟示波器的数据接收模块、数据处理模块、显示模块的设计。计算机与FPGA之间的通讯采用RS232接口,串行传送时数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。第2章系统的构想与方案设计21开发平台与硬件的比较目前,能够用于虚拟仪器系统开发、比较成熟的软件开发平台主要有两大类一类是通用的可视化软件编程环境,主要有MICROSOFT公司的VISUALC和VISUALBASIC、INPRISE公司的DELPHI和CBUILDER等;另一类是一些公司推出的专用与虚拟仪器开发软件编程,主要有AGILENT公司的图形化编程环境AGILENTVEE、NI公司的图形化编程环境LABVIEW及文本编辑环境LABWINDOWS/CVI。其中,NI公司的虚拟仪器开发平台LABVIEW作为一种模块化、图形化程序设计工具具有图形化程序设计编程简单、直观、开发效率高、测试系统开发完整等优点。在国内外,航天、航空、通信、汽车、半导体、自动控制和生物医学等世界范围的众多领域内得到广泛应用。随着虚拟仪器技术的不断发展,图形虚拟仪器依靠其自身的优势使它在仪器市场的竞争力不断增强。信号采集可以通过采集卡、单片机、FPGA器件等来实现。LABVIEW可通过数据采集卡显示实际信号波形。用数据采集卡采集实测信号时,得到一组离散的信号值,将信号值存放在数组中,经过信号分析和处理运算后,通过图形显示控件在计算机显示器上逐点显示并连线,即可实现被测信号的实测显示。由于PCI总线传输速率高,数据吞吐量大,因此基于PCI总线的数据采集卡成为设计的主流。但采集卡价格昂贵。单片机是一种微型计算机,它在一块芯片上集成了计算机的所有基本功能部件,如中央处理器、随机读写存储器、只读存储器、输入输出接口电路、串行通讯接口电路等。随着数字技术的发展,由单片机构成的控制系统日益复杂,尤其在要求响应速度快、实时性强、控制量多的应用场合,处理速度较慢的单片机则显得难以胜任。FPGA(现场可编程门阵列)器件采用硬件处理技术,内部资源丰富,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理,实时性能可以预测和仿真,同时开发平台QUARTUSII功能非常强大。所以本次设计采用SOPC技术基于FPGA芯片,提供所要采集的信号。通过上述比较,此次设计选择当前最为流行图形化编程语言的LABVIEW作为上位机设计开发平台,硬件为杭州康芯公司研发的GW48实验箱,用硬件描述语言VHDL对实验箱中的CYCLONEEP1C6Q240C8编程完成硬件设计。22上位机与下位机在本设计中,FPGA采集输入信号的数据,来得到上位机上虚拟示波器所需要的数据,此数据通过RS232串口通信来完成FPGA在此设计中的功能,应为下位机。通过在PC上的接收模块来完成数据来完成波形显示所需要的数据,操作LABVIEW的编写的人机交互界面,发送波形指令显示调节波形显示,应为上位机。上位机是指人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。在概念上控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。两机如何通讯,一般取决于下位机。下位机一般处于底层控制,上位机可以编程后,传入下位机或者集中管理下位机,下位机在有存储控制程序的情况下,可脱离上位机工作。23方案论证根据上面所述可以得出以下方案方案一使用一个串口发送一个周期的数据。在FPGA中进行波形数据的采集并把一个周期的数据存储,然后通过串口发送给PC。以LABVIEW软件为开发平台,在LABVIEW中通过接收模块接受波形数据,对接收的波形数据在虚拟示波器中处理后经过数据绑定后在波形趋势图上显示一个周期的结果。方案二使用一个串口连续发送整个RAM的数据。在FPGA中进行波形数据采集,然后通过一个控制模块,控制数据的采集、存储与发送。使用高速A/D采集数据,控制数据刚好存储满一个RAM,然后对整个RAM的数据统一发送。再以LABVIEW软件为开发平台,在LABVIEW程序中对控制接收的数据进行绑定显示,再在界面上调整显示一个周期的波形。两种方案都是通过串口RS232发送的波形数据。但由于要正好存满一个周期的数据不好控制,而且这一个周期的数据是不是很理想。所以第一种方案比第二种方案显得不适用。而且在LABVIEW中第二种方案中,可以挑选采样点比较好的进行放大显示。对于第一种的方案,虽然也可以设计出来,但相比之下,第二种实现起来较为容易,所以本设计采用的是方案二。24系统整体框图整个系统可以分为LABVIEW设计与FPGA设计两大部分,主要可以分为A/D采集,数据存储,串口发送,串口接收,数据处理,虚拟界面。如图21总系统框图被测信号A/D数据采集RAM数据存储串口发送FPGA控制PC串口接收LABVIEW人机交互界面图21总系统框图第3章软件设计31概述创建虚拟仪器的过程共分三步(1)设计虚拟仪器的前面板。虚拟仪器的交互式用户接口被称为前面板,它是仿真实际仪器的面板。前面板包含旋钮、按钮、图形和控制和显示对象,通过鼠标和键盘为控制对象输入数据,在计算机屏幕上观看结果。(2)编写虚拟仪器流程图。流程图是一个编程问题的图形化解决方案(也是虚拟仪器的源代码)15。虚拟仪器从流程图中接受命令。(3)确定虚拟仪器的图标和连接(表示某一虚拟子仪器)的参数列表,图标和连接允许将此仪器作为最高级的程序,也可以作为其他程序或子程序中的程序(子仪器)。采用模块化的软件设计思想编写,每个功能的实现由一个模块完成,系统软件总体包裹数据接收、数据分析处理等模块,最终实现数据接收、处理、记录、显示等功能16。系统组成如图31被测信号高速A/D数据采集串口传输计算机软面板串口接收数据分析与处理波形显示图31系统组成框图32前面板设计LABVIEW前面板用于设置输入数值和观察输出量17,用于模拟真实示波器的前面板。由于虚拟面板直接面向用户,是虚拟示波器控制软件的核心。设计前面板时,主要考虑界面美观,操作简洁,用户可以通过前面板中的开关和旋钮模拟传统仪器的操作,通过键盘和鼠标实现对虚拟仪器的控制。前面板上设有各个功能模块按钮,当按下相应按钮时,即可调用该子程序。321软件设计流程图在LABVIEW软件设计中,有接收、数据处理、波形显示等几个模块,并有垂直位移、水平位移等控键控制波形显示。其设计流程图如图32开始数值控制水平垂直调节波形显示处理生成波形处理分析频率输入串口接收图32软件设计流程图322前面板图33示波器的前面板图根据传统示波器的面板控键的功能,利用LABVIEW中的控制模板,分别在设计面板上放入模拟实际控键的显示器、通道选择控键、垂直位移控键、水平位移控键、开关控键、幅值与相位控键等。设计的前面板如图33其程序框图为图34图34示波器程序框图33串口接收模块LABVIEW提供了功能强大的VISA库。VISA(VIRTUALINSTRUMENTSOFTWAREARCHITECTURE)虚拟仪器软件规范,是用于仪器编程的标准I/O函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程。VISA是采用VPP标准的I/O接口软件,与其它现存的I/O接口软件相比,VISA的I/O控制功能具有如下几个特点适用于各种仪器类型如VXI仪器、GPIB仪器、RS232串行仪器、消息基器件、寄存器器件、存储器器件等仪器);适用于各种硬件接口类型;适用于单、多处理器结构或分布式网络结构;适用于多种网络机制。当然,有了VISA并不是说用户不需要安装特定的仪器驱动程序就可以直接和仪器通信了。恰恰相反,VISA就是通过特定的仪器驱动程序和仪器通信的。因此在使用VISA与仪器驱动程序之前必须安装仪器驱动,并需要通过MAX进行合适的配置。通过VISA函数可以与GPIB、USB、串口、PXI、VXI和以太网中的任何一种总线通信。本设计采用的是串口,如图35所示的程序用来读取串口设备的标示符18。VISA函数是通过VISARESOURCENAME来标示仪器。图35通过VISA读写串口设备图36通过串口配置函数配置串口其格式如式INTERFACETYPEBOARDINDEXADDRESSINSTR其中,INTERFACETYPE为接口类型;BOARDINDEX为从0开始的接口索引号;ADDRESS为仪器地址。本设计用的是串口,所以该参数无效。图36是通过串口配置函数配置串口。在进行VISA读写之前需要通过VISAOPEN函数打开一个VISASESSION。打开VISASESSION后就可以通过这个SESSION进行通信。一般来说,用户可以将VISAOPEN函数放在主循环外,读取函数放在循环内,这样就不用多次打开VISA而浪费资源了。在高级VISA面板下有更多的VISA高级函数。本设计中为了更细节地控制串口接口,使用了LABVIEW中提供的基于VISA的高级串口控制函数,它可以对串口进行详细的配置,譬如超时时间、波特率、数据位和奇偶校验位等。模块中VISACLOSE也是必不可少一部分。在这部分中设置启用终止符为FLASE,超时为10000(10秒),VISA资源名称为COM1,波特率为9600,数据比特为8位,奇偶校验无,一位停止位,无流控制。34处理模块此模块主要是处理接受过来的数据,以输出能在波形显示部分显示的数据。输入信号有重置信号、幅值、频率、水平位移、垂直位移等,输出是一个组合的波形数据。由于接收模块送出的数据是个十进制数,所以在幅值的输入部分首先要先转换为数组的形式才能是“组建波形”的合适数据。这要求一个初始化数组来存储一定的数据,进而创建数组。341处理模块总程序频率是经过倒数转变成为周期,即数组中两数的时间间隔。水平位移是通过调节数组序列前的标号数来实现能在波形图上显示的波形在X坐标上的改变。垂直位移是通过位移的单位格数和数组在进入组建波形前哎实现的,这样可以直接通过与其他调节配合来正确调节垂直位移。重置信号是其中的一个控件。其程序框图如图37图37处理模块程序框图342波形数据操作函数虽然波形数据是一种预定义格式的簇,但是必须用专用的波形数据操作函数才能对它进行操作,其中某些操作函数与簇的操作函数非常类似。其中最基本的几个函数是获得波形数据内部元素、绑定波形数据、设置波形属性和获得波形属性等。其中本设计用到的是绑定波形数据函数。它类似于簇函数中的按元素名称打包函数。通过该函数可以将波形数据的各个元素绑定在一起。若波形端子没有接入,则根据绑定的元素创建一个新的波形。若波形端子有接入,则对波形进行修改。如图38,没有波形输入,而是输入DT、Y、TO进行波形组合,创建新波形。图38利用绑定波形数据创建波形35波形显示为了方便地显示波形,LABVIEW专门定义了波形数据类型。它实际上就是按照一定格式预定义的簇,在信号采集、处理和分析过程中经常会用到它。当然并不是只有满足波形数据控件定义的数据格式才能在波形图中显示,其他的数组和簇类型也能在波形图中作为图形显示。本设计中采用的是经过数据处理直接在图表中显示波形。而此次设计是电子技术实验室真实的XJ4323型双踪示波器为蓝本,所以要经过在波形图表的属性了对波形趋势图显示表进行设置得到图39图39波形趋势图波形显示部分实现波形显示,主要通过旋钮和按钮操作来完成对波形进行放大、频率调整等控制。但显示所有数据的总个数或显示波形的长度是一定的,新数据不断刷新掉旧数据而得以显示,输入数据可以为一维或二维数组,以显示相应的动态波形。在此,输入的是二维数组数据。36程序框图的其他组成一个能完成许多功能的程序框图是有许多的子模块与其他的一些元素组成的,本设计中除了接收、显示、分析还有一些程序结构与控件构成。361频率调节部分如图310是频率调节部分,包括两个条件循环、三个控制输入与一个输出。其中标有频率的是频率粗调的输出值,频率微调是在频段之间进行一些细微的调节,CH28是十倍或一倍的按钮。在频率输入的默认值是条件输入为“9”时。图310频率调节部分362幅度调节在这一部分中,设计思想是改变数据的大小,主要是按倍数改变,从而改变幅值,如图311图311幅度调节363创建数组如图312是创建数组图312创建数组该函数有两个功能一是将多个数组合并为一个数组,另一个功能是将新的数组或数组元素连接到数组尾端。如果将两个一维数组合并,则输出为一个二维数组;若将两个一维数组连接在一起,则结果仍为一个一维数组。这里使用的是第一个功能。364水平位移与垂直位移这是示波器要求的两个功能,本设计中是通过改变相位与输入垂直坐标实现的。如图313,水平位移通过改变波形图水平属性来实现。图313水平位移的设计第4章硬件设计计算机与GW48系列SOPC/EDA实验开发系统组成了虚拟示波器的硬件平台的基础。利用QUARTUSII开发平台编写VHDL语言下载到FPGA板上实现模拟信号数据的采集、存储以及发送。41FPGA软件设计FPGA设计的数据来源是高速A/D采样的8位二进制数据。由于本设计要采用串口发送模块,采集的数据要求刚好存储满一个RAM时,结束存储,开始发送。所以在这一部分中首先就是要做好采集工作,只要RAM未存满,就源源不断的采集存储数据。当RAM满后,给个满信号,然后就准备开始发送。这就需要个控制模块来控制这些步骤的实施。这个控制模块主要是用于控制串口一位一位发送,这就用到RAM的地址了。在RAM为读状态的时候,通过地址读数据,每发送完一个数据,地址就自加1,直至发送完整个RAM为止。其流程图如41被测信号超高速A/D数据采集地址发生计数器采样控制器RAM存储串口发送PC存满信号为高电平CLKYESNO图41FPGA程序流程图图42是FPGA部分软件总原理框图LOCATIONPIN_233OPTIONVALUEVCCRSTINPUTLOCATIONPIN_28OPTIONVALUEVCCCLKINPUTLOCATIONPIN_208LOCATIONPIN_207LOCATIONPIN_228LOCATIONPIN_194LOCATIONPIN_227LOCATIONPIN_193LOCATIONPIN_214LOCATIONPIN_213OPTIONVALUEVCCD70INPUTLOCATIONPIN_219OPTIONVALUETXDOUTPUTLOCATIONPIN_144OPTIONVALUEADCKOUTPUTCLKRESETBBCLKBAUDINST5FRAMLENT8PARAMETERVALUEBCLKTRESETTXMIT_CMD_PTXDBUF70MANTXDTXD_DONETRANSFERINST2RSTCLKD70ADCKDATA70AD5510INSTCLKRSTSENDHADIN70DONESENDMANTRAG70DOUT70RESERVINST1图42FPGA部分软件总原理框图42FPGA设计的主要模块在本设计中FPGA主要有数据采集模块、控制模块、波特率发生模块、RAM存储模块以及发送模块。以下就几个主要模块介绍一下421数据采集控制模块数据采集部分直接影响着示波表波形的质量和效果。在数据采集中,必须处理好A/D工作频率、数据存储深度之间的关系。一般A/D器件采样频率都有一定的限制,以本系统选择的TLC5510为例,其最佳工作频率要求10MHZFS100MHZ,对于被测信号而言,采样频率过高,在有限的数据存储深度情况下,只能采集到很短时间的一段数据,这对于低频率信号而言,无法完整的显示信号的一个周期,失去了测量的意义。这这种情况下,RAM配合工作,使得对所有采集的数据进行有效地存储,并在以后的波形显示中可以对采集比较完整的波形进行筛选出来显示,而对那些干扰较大的波形放弃显示。本设计采用的高速A/D采样。其中ADIN是直接来自信号发生器的采样波形。如图43,AIN即是模拟信号输入,D0D7即是采集出的数据D7D6D5D4D3D2D1D05110/5540AINPIN44PIN228PIN213PIN214PIN193PIN227PIN194PIN207PIN208模拟信号输入数据输出超高速A/DADCLK图43超高速采集A/DTLC5510是以流水线的工作方式进行工作的。它在每一个CLK(时钟)周期都启动一次采样,完成一次采样;每次启动采样是在CLK的下降沿进行,不过采样转换结果的输出却在25CLK周期后,如果计算上输出延时TDD,从采样到输出需经25CLKTDD。对于需要设计的采样控制器,可以认为,每加一个采样CLK周期,A/D就输出一个采样数据。可以通过对FPGA系统时钟进行分频得到一个与TLC5510的工作周期相一致的CLK1送入TLC5510,就可以对TLC5510实现控制。图44为TLC5510的采样时序图图44TLC5510采样时序图422数据存储模块利用QUARTUSII软件定制一个RAM,这个RAM的输出是以读地址的方式输出具体数值,输出与CLOCK无关,与WREN有关。当WREN1时,为写状态,给每个数据提供个地址;当WREN0时,停止写数据,此时为读状态,写什么地址,输出当前地址的数据。这个RAM在发送前能够存储一定个数的数据,当存储满整个RAM后,停止存储,同时准备发送数据。如图45是其模块图RAMINSTDATA70WRENADDRESS70CLOCKQ708BITS256WORDSBLOCKTYPEAUTO图45RAM的模块图ADDRESS70是地址输入模块,它是通过控制一个计数器产生的;CLOCK是系统时钟;DATA70是采集数据的输入;WREN是一个控制键,当为高电平时开始写不能发送,低电平时不写可以发送。423波特率发生模块波特率发生器实际上就是一个分频器。波特率是UART的传送速率,用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送数据位的数目来表示,称之为波特率。如波特率96009600BPS(位/秒)。可以根据给定的系统时钟频率(晶振时钟)和要求的波特率算出波特率分频因子,算出的波特率分频因子作为分频器的分频数。波特率分频因子可以根据不同的应用需要更改。波特率发生模块如图46所示CLKRESETBBCLKBAUDINST5图46波特率发生模块CLK是系统时钟;RESETB是复位端,高电平有效;BCLK是波特率时钟,产生的是16倍的波特率15300HZ。424发送模块发送模块采用的是串口发送,无奇偶校验,一位起始位,一位停止位,无流控制。在这里波特率的设置是根据外部能够提供的时钟计算出来的。通过分频我们可以得到150KHZ的频率,而发送频率为波特率的16倍,因此波特率设置为9600。发送器只要每隔16个BCLK周期输出1个数据即可。发送模块的逻辑框图如图47FRAMLENT8PARAMETERVALUEBCLKTRESETTXMIT_CMD_PTXDBUF70MANTXDTXD_DONETRANSFERINST2图47发送模块图47中的端口,TXBUF70为8位输入数据端口。RESETT为复位信号,高电平有效。MAN是输出允许,即RA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论