基于FPGA的存储示波器设计.docx
《基于FPGA的存储示波器设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的存储示波器设计.docx(53页珍藏版)》请在冰豆网上搜索。
基于FPGA的存储示波器设计
基于FPGA的存储示波器设计
摘要
虚拟仪器充分利用了计算机强大的软硬件资源,把计算机技术和测量技术紧密地结合起来。
它通过上位电脑和下位仪器的结合,不仅具备传统仪器的功能,而且能够通过上位机软件实现硬件不具备的一些功能,还能降低仪器的整体成本。
与传统仪器相比,虚拟仪器在智能化程度、处理能力和可操作性等方面均具有明显的技术优势。
本论文设计并研制了一个基于FPGA且利用串行RS232接口的虚拟示波器。
数据分析和结果输出显示完全由计算机软件系统来完成,只有数据采集是在软件的控制下由硬件来完成。
论文内容主要包括硬件电路设计和软件编程;硬件电路设计了A/D转换电路和RS232通讯接口电路,A/D转换电路实现信号采集,采集结果通过RS232通讯接口传给上位机。
采用LabVIEW软件来编写上位机应用程序,编写了数据处理程序和人机交互界面,其中人机交互界面可以接收数据并显示测量结果。
实际应用结果表明,本论文设计的基于RS232串口的虚拟示波器,具有方便、易用、灵活等优点,而且成本低廉、功能强大。
运用虚拟仪器技术,能够实现硬件和软件资源的共享,快速、方便地组建各种自动测试系统,利用计算机强大的功能,能够对信号进行采样和波形显示,还能够对采集的波形数据进行存储、回放和共享。
关键词:
虚拟仪器,示波器,数据采集,LabVIEW
THEDESIGNOFSTORAGEOSCILLOSCOPE
BASEDONFPGA
ABSTRACT
Thevirtualinstrumentstakefulladvantageofthesoftwareandhardwareresourceofthecomputer,andcombinethecomputertechnologyandthemeasurementtechnologytightly.Withthecombinationofthecomputerandthemeasurementdevice,thevirtualinstrumentnotonlyhasthefunctionsofthetraditionalinstrument,butalsohasmanyextrafunctionsbyusingthecomputersoftwareprogram;what’smore,itcanreducethecostofthewholeequipment.Comparedwithtraditionalinstrument,virtualinstrumenthasobvioustechniqueadvantagesinthedegreeofintelligence,processingabilityandmaneuverabilityetc.
AvirtualoscillographwhichisbasedontheFPGAandRS232isdesignedanddevelopedinthispaper.Dataanalysisandoutputdisplayarecompletelyrealizedbythecomputersoftwaresystem,onlythedataacquisitioniscompletedbyhardwareunderthefunctionofthesoftware.Theprincipalcontentofthispaperincludesthedesignofthehardwareconnectionandsoftwareprogramming.Theanalog-to-digitalconversioncircuitryandtheRS232interfacecircuitryaredesignedinthedesignofthehardwareconnection.Theanalog-to-digitalconversioncircuitryconvertsanalogsignalstodigitalsignalsandtheRS232interfacecircuitrytransmitstheresultoftheanalog-to-digitalconversiontothePC.TheapplicationprogramthatisprogrammedwiththeLabVIEWsoftwarehasactualizedthefunctionofdigitalsignalprocessingandthehuman-computerinteraction,andtheHuman-computerinteractioncanreceivethedataanddisplaytheresultofmeasurement.
ThepracticalapplicationindicatesthatthisvirtualoscillographbasedontheRS232hasmanymeritssuchasfacility,easytouse,agileness;inaddition,itislowcost,powerful.Agreatvarietyofautomatictestsystemswillbeconstructedandthehardwareandsoftwareresourcescanbeshared.Waveformdisplaycanbedonebyusingthepowerfulfunctionofthecomputer,andthedatathathasbeenacquiredalsocanbestored,playbackandpartakenof.
KEYWORDS:
VirtualInstrument,0scillograph,Dataacquisition,LabVIEW
前言
本次毕业设计是利用VHDL编程,LabVIEW来设计虚拟示波器界面,能够虚拟仿真示波器的简单功能,实现一台真正意义上的基于虚拟仪器平台的示波器的要求。
并基于FPGA完成数据的采集,通过串口实现LabVIEW与FPGA的通信,在LabVIEW环境下完成波形的数据处理及显示等。
虚拟仪器就是在通用计算机平台上,用户根据自己的需求来定义和设计仪器的测量功能。
它的实质是将可以完成传统仪器功能的硬件和最新计算机软件技术充分地结合起来,用以实现并扩展传统仪器的功能,来完成对数据的显示、存储以及分析处理。
LabVIEW是实验室虚拟仪器集成环境(LaboratoryVirtualInstrumentEngineeringworkbench)的简称,是美国国家仪器公司(NI)的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。
FPGA(现场可编程门阵列)器件采用硬件处理技术,内部资源丰富,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理,实时性能可以预测和仿真,同时开发平台QuartusII功能非常强大。
本文主要工作内容包括硬件电路设计和上位机编程;硬件电路设计了A/D转换电路和RS232通讯接口电路,A/D转换电路实现信号采集,采集结果通过RS232通讯接口传给上位机。
上位机编程采用NI公司的可视化图形编程软件LabVIEW进行编程,包括编写虚拟示波器显示界面和功能框图程序。
主要包括以下几个方面的工作:
(1)系统总体方案设计。
(2)数据采集板设计。
(3)RS232通信接口的实现,设计了RS232通讯接口模块。
(4)上位机编程。
设计内容包括对数据进行接收处理、编写虚拟示波器程序和设备驱动程序等。
第1章
绪论
§1.1虚拟仪器概述
电子测量仪器发展至今,大体可以分为四代:
即模拟仪器、数字化仪器、智能仪器和虚拟仪器。
虚拟仪器(VirtualInstrument,简称VI)是现代仪器技术和计算机技术深层次结合的产物,是当今计算机辅助测试(ComputerAidedTest,CAT)重要技术[1]。
§1.1.1虚拟仪器基本概念
所谓虚拟仪器,就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测试功能由测试软件实现的一种计算机仪器系统。
虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果;利用计算机强大的软件功能实现信号数据的运算、分析和处理;利用FO接口设备完成信号的采集测量与调理,从而完成各种测试功能的一种计算机测试系统。
使用者用鼠标或键盘操作虚拟面板,就如同使用一台专用测量仪器一样[2]。
因此,虚拟仪器的出现,使测量仪器与计算机的界限模糊了。
虚拟仪器的“虚拟”两字主要包含以下两方面的含义[3]。
(1)虚拟仪器的面板是虚拟的
虚拟器面板上的各种“图标”与传统仪器面板上的各种“器件”所完成的功能是相同的:
由各种开关、按钮、显示器等图标实现仪器电源的“通”、“断”,实现被测信号的“输入通道”、“放大倍数”等参数的设置,以及实现测量结果的“数值显示”、“波形显示”等。
(2)虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的
虚拟仪器是在以PC为核心组成的硬件平台支持下,通过软件编程来实现仪器的功能。
因为可以通过不同测试功能软件模块的组合来实现多种测试功能,所以,在硬件平台确定后,就有“软件就是仪器”的说法。
这也体现了测试技术与计算机深层次的结合[4]。
虚拟仪器技术的实质是充分利用最新的计算机技术来实现和扩展传统仪器的功能。
软件是虚拟仪器的关键,当硬件确定以后,就可以通过不同的软件实现不同的功能。
虚拟仪器不仅可以用于电子测量、测试、分析、计量等领域,而且还可以用于进行设备的监控以及工业过程自动化。
虚拟仪器还可以广泛应用于电力工程、物矿勘探、医疗、振动分析、声学分析、故障诊断及教学科研等多个方面[5]。
§1.1.2虚拟仪器的构成
虚拟仪器的构成方式如图1-1所示:
图1-1虚拟仪器的构成方式
虚拟仪器从构成要素上讲,由计算机、应用软件和仪器硬件等构成;从构成方式上讲,则由以DAQ板和信号调理为仪器硬件而组成的PC-DAQ测试系统,或以GPIB、Vxl、Serial和Fieldbus等标准总线仪器为硬件组成的GPIB系统[6]、串口系统和现场总线系统等多种形式[7]。
无论哪种VI系统,都是将仪器硬件搭载到笔记本电脑、台式微机或工作站等各种计算机平台加上应用软件而构成的。
§1.1.3虚拟仪器的特点
与传统仪器相比虚拟仪器主要有以下优点:
(1)传统仪器的面板只有一个,其上布置着种类繁多的显示与操作元件,易于导致许多识别与操作错误。
虚拟仪器与之不同,它可以通过在几个分面板上的操作来实现比较复杂的功能。
这样,在每个分面板上就可以实现功能操作的单纯化与面板布置的简捷化,从而提高操作的正确性与便捷性。
同时,虚拟仪器面板上的显示元件和操作元件的种类与形式不受“标准件”和“加工工艺”的限制,它们是由编程来实现的,设计者可以根据用户的认知要求和操作要求,设计仪器面板。
(2)在通用硬件平台确定后,由软件取代传统仪器中的硬件来完成仪器的功能。
(3)仪器的功能是用户根据需要由软件来定义的,而不是事先由厂家定义好的。
(4)仪器性能的改进和功能扩展只需要更新相关软件设计而不需要购买新的仪器。
(5)研制周期较传统仪器大为缩短。
(6)虚拟仪器开放、灵活,可与计算机同步发展,与网络及其他周边设备互联。
§1.2虚拟仪器的现状和发展方向
§1.2.1虚拟仪器的现状
近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以便使用者利用这些仪器公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件。
最早和最具影响的开发软件,是NI公司的LabVIEW软件和LabWindows/CVI开发软件。
LabVIEW采用图形化编程方案,是非常实用的开发软件。
LabWindows/CVI是为熟悉C语言的开发人员准备的、在Windows环境下的标准ANSIC开发环境。
除了上述的优秀开发软件之外,美国HP公司的HP-VEE和HPTIG平台软件,美国Tektronis公司的Ez-Test和Tek-TNS软件,以及美国HEMData公司的Snap-Marte;平台软件,也是国际上公认的优秀虚拟仪器开发平台软件。
虚拟仪器的概念,是美国国家仪器公司(NationalInstruments,简称NI)于1986年提出的。
80年代以来,NI公司研制和推出了许多总线系统的虚拟式仪器,成为这类新型仪器世界第一生产大户。
此后,美国的惠普(HP)公司,Tektronix公司,Racal公司等也相继推出了许多此类仪器,并在短短的10余年便占有了世界仪器市场的10%左右。
虚拟仪器技术目前在国外发展很快,以NI公司为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。
在美国,虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修课程。
美国的斯坦福大学的机械工程系要求三、四年级的学生在实验时应用虚拟仪器进行数据采集和实验控制。
据“世界仪表及自动化”杂志预测,21世纪初叶,世界虚拟仪器的生产厂家将超过千家,其品种将达到数千种,市场占有率将达到50%左右[8]。
虚拟仪器将成为本世纪仪器发展的方向,而且有逐步取代传统硬件化电子仪器的趋势。
作为仪器领域中最新兴的技术,虚拟仪器的开发和研究在国内尚属起步阶段。
从90年代中期以来,国内的清华大学、重庆大学、西安交通大学、以及中科泛华电子科技公司,东方震动和噪声技术研究所等高校和公司,在研究和开发虚拟仪器产品和虚拟仪器设计平台以及消化吸收NI等产品方面做了大量工作,其成果已在汽车发动机检测、自动计量控制系统等方面得到应用。
其中,成果比较显著的是重庆大学测试中心所研究的虚拟仪器,其研制的产品已包括FFT分析仪、噪声测试分析仪、小波变换信号分析仪、多通道数据采集器等20多个品种,并且可以根据客户需求进行个性化设计。
这些虚拟仪器在中国计量科学研究院的测试结果表明,其产品性能完全达到同类硬件仪器的技术指标。
在国内己有部分院校的实验室引入了虚拟仪器系统,复旦大学、上海交通大学、暨南大学、华中科技大学等。
近一、两年来这些学校在原有的基础上,又开发了一批新的虚拟仪器系统用于教学和科研。
清华大学汽车系利用虚拟仪器技术构建的汽车发动机检测系统,用于汽车发动机的出厂检验。
主要检测发动机的功率特性、负荷特性等。
一台发动机检测完后,就可打印出完整的检测报告。
华中科技大学机械学院信息所开发出的Inventor可重构虚拟实验台,深圳市蓝津信息技术有限公司开发出了DRVI快速可重组虚拟仪器平台,可广泛用于实验室、工程测控等场合。
浙江大学仪器系在“九五”期间也开发了中文VPP(可视化平台),它们为实现仪器编程提供了便捷的途径。
此外,国内己有几家企业在研制虚拟仪器。
虚拟仪器的开发厂家,为扩大虚拟仪器的功能,在测量结果的数据处理、表达模式及变换方面也做了许多工作,发布了各种软件,建立了数据处理的高级分析库和开发工具库(例如测量结果的谱分析、快速傅立叶变换、各种数字滤波器、卷积处理和相关函数处理、微积分、峰值等),使虚拟仪器发展成为可以组建极为复杂自动测试系统的仪器系统。
专家预测:
未来的几年内,国内将有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时监测。
随着微型计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流[9]。
§1.2.2虚拟仪器的展望
虚拟仪器技术经过十几年发展,而今正沿着总线与驱动程序标准化、硬/软件模块化、编程平台图形化和硬件模块的即插即用方向前进,以开放式模块化仪器标准为基础的虚拟仪器标准正日趋完善,加上计算机技术和网络技术的迅猛发展,建立在虚拟仪器技术上的各种功能强大、性能优良的先进仪器将层出不穷,价格也会越来越低,使用虚拟仪器进行研究、设计、测试将成为一种趋势,同样,虚拟仪器及技术也将成为学校未来教学科研的重要方法和手段,特别是在理工科学校其应用前景非常广阔[10]。
虚拟仪器可以取代测量技术传统领域的各类仪器,“没有测量就没有鉴别,科学技术就不能前进”。
虚拟仪器将会在科学技术的各个领域得到广泛应用,对科学技术的发展和工业生产将产生不可估量的影响[11]。
§1.3虚拟示波器的软硬件
虚拟仪器由仪器硬件和功能模块软件两部分组成。
虚拟仪器的硬件主体是电子计算机,通常是个人计算机,也可以是任何通用计算机。
所设计的双踪虚拟示波器主要是有一个FPGA开发板和用LabVIEW开发的功能模块软件组成。
§1.3.1LabVIEW介绍
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)是创建框图程序的工具。
如图2-1是LabVIEW的前面板和程序框图(以Y+4,X×4为例):
图2-1前面板和框图程序
§1.3.2硬件开发平台
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进行设计,一次性投入低,设计周期短,在出厂前进行的百分之百的测试减少了很多潜在的设计风险和费用;
4)FPGA适用子正向设计,对知识产权的保护也非常有利。
§1.4课题意义
在科学研究和实验教学环节中,仪器是最基本的基础,而示波器又是最常用的仪器之一。
在多数学校由于各种客观条件限制,一次性投入大量专用示波器也是不现实的。
而且目前高精度、具有数据存储能力的示波器,生产工艺复杂,价格昂贵。
所以,本课题就此情况基于FPGA和LabVIEW编程来设计虚拟示波器。
使用虚拟示波器,老师利用虚拟示波器更能直观的向学生讲解、演示实验和教学内容,学生既可以避免繁琐的实验准备过程,又可以付出更多时间在对示波器使用的学习和实验本身上。
而且,在教学和研究的过程中,它的使用让以往复杂的数据采集工作变的异常简单,老师和同学都可以集中时间和精力用于实验的执行,数据的分析及结论的总结上,而不用将大量的时间花费在实验系统设备的搭建上。
从而,提高工作、科研和学习效率。
同时虚拟数字存储示波器的设计有一定的经济价值;虚拟示波器能充分发挥虚拟仪器结构简单、功能丰富、价格低廉、能重复开发、用户可自定义的优势。
设计的虚拟数字存储示波器,可同时显示、记录和存储输入的波形。
§1.5课题的主要工作
结合虚拟仪器技术和软件编程技术,本文设计并实现了一个虚拟示波器。
整个系统分为硬件和软件两个部分。
硬件部分主要由计算机和FPGA实验开发板组成。
FPGA实验开发板采用杭州康芯电子有限公司的GW48系列SOPC/EDA实验开发系统,并在开发系统上使用高速采集A/D模块tlc5510实现数据采集,通过开发板上RAM模块来完成数据的存储。
软件部分主要由Quartus5.0软件和LabVIEW8.2软件进行设计。
首先进行虚拟示波器的整体设计;在Quartus环境下,用VHDL语言进行编程,采用模块化思想,按照系统框图进行各个模块设计,并使用FPGA编程下载;其次掌握虚拟仪器的软件编程环境LabVIEW的使用;用图形化编程语言LabVIEW实现虚拟示波器的数据接收模块、数据处理模块、显示模块的设计。
计算机与FPGA之间的通讯采用RS232接口,串行传送时数据是一位一位串行传送的,而计算机处理数据是并行数据。
所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。
因此串并转换是串行接口电路的重要任务。
第2章
系统的构想与方案设计
§2.1开发平台与硬件的比较
目前,能够用于