




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常熟理工学院毕业设计(论文)基于高速数据采集卡的虚拟示波器的设计摘要随着计算机技术的发展,仪器工业正在经历一场巨变。计算机强大的处理和显示能力,使它可以在数据采集、分析和表达中的任意一个方面提升仪器的性能。以虚拟仪器为代表的新型仪器改变了传统仪器的思想,它们充分利用了计算机强大的软硬件资源,把计算机技术和测量技术紧密结合起来,是融合了电子测量、信号处理、计算机和网络技术的新型测量仪器,由于成本低、使用方便等优点得到了广泛的应用。本文基于GAGE公司的高速数据采集卡CS82G和通用PC平台,使用VC60编程工具,完成了一种快速虚拟示波器的设计。首先,本文介绍了虚拟仪器的研究背景和意义以及国内外的一些研究进展。对虚拟仪器总体进行了概述,讨论了虚拟仪器的概念、构成、特点、发展,建立了虚拟仪器的基本框架。然后对虚拟示波器的重要组成部分数据采集系统进行了探讨,同时对CS82G数据采集卡进行了深入的研究,在此基础上,进行了虚拟示波器的系统设计。本文的重点是第五章虚拟示波器的具体实现,这部分完成了虚拟示波器各模块的详细设计,包括数据采集模块、用户界面模块、频谱分析模块、数字滤波模块、波形显示模块和参数计算模块的设计,并给出了设计和实验结果,还讨论和实现了软件设计中的关键技术,最后进行了系统性能分析。文章的最后进行了课题的总结和展望。本文对相关高速、大容量数据采集系统和虚拟仪器的设计有重要的参考价值。关键词虚拟仪器虚拟示波器数据采集CS82常熟理工学院毕业设计(论文)DESIGNOFVIRTUALOSCILLOGRAPHBASEDONHIGHSPEEDDATAACQUISITIONCARDABSTRACTTHEINSTRUMENTATIONINDUSTRYISUNDERGOINGAVARIETYOFEXCITINGCHANGESASARESULTOFTHEDEVELOPMENTOFPCS,THEPCREVOLUTIONHASEQUIPPEDUSERSWITHPOWERFULPROCESSINGANDDISPLAYCAPABILITIESOFTHEIROWNTHECOMPUTERCANENHANCEINSTRUMENTFUNCTIONALITYINANYOFTHETHREEAREASDATAACQUISITION,ANALYSIS,ANDPRESENTATIONVIRTUALINSTRUMENTVICHANGEDTHEIDEASOFTRADITIONALINSTRUMENTANDMADEFULLUSEOFTHEPOWERFULRESOURCESOFCOMPUTERITISANEWSTYLEINSTRUMENTTHATCOMBINESTHETECHNOLOGIESOFELECTRONICMEASUREMENT,SIGNALPROCESSING,COMPUTERANDNETWORKINTHISDISSERTATION,ANEWSTYLEFASTVIRTUALOSCILLOGRAPHWASDESIGNEDWITHTHEUSEOFVC60PROGRAMMINGTOOLBASEDONAFASTDATAACQUISITIONCARD,CS82GANDUNIVERSALPCPLATFORMTHERESEARCHBACKGROUNDANDSIGNIFICANCEOFVIAREINTRODUCEDINTHISDISSERTATIONFIRSTLYINCLUDINGTHERESEARCHSTATUSOFVIINCHINAANDFOREIGNCOUNTRIESTHEN,THEGENERALTECHNOLOGIESOFVIARESUMMARIZEDINCLUDINGTHEDEFINITIONOFVI,THECOMPONENTOFVI,THECHARACTERSOFVIANDTHEDEVELOPMENTOFVI,WHICHESTABLISHEDTHEFRAMEWORKOFVIAFTERWARDS,THEDATAACQUISITIONSYSTEMISDISCUSSEDDETAILEDLYASWELLASTHESTUDYINGOFTHEDATAACQUISITIONCARDCS82GONTHEBASISOFTHOSEWORK,THESYSTEMOFVIRTUALOSCILLOGRAPHISDESIGNEDCHAPTER5ISTHEEMPHASISOFTHISDISSERTATIONEVERYMODULEISDESIGNEDINDETAILINCLUDINGDATAACQUISITIONMODULE,GUIMODULE,FFTMODULE,DIGITALFILTERMODULE,WAVEFORMDISPLAYMODULEANDPARAMETERSCOMPUTINGMODULEBESIDES,THERESULTOFDESIGNANDEXPERIMENTSISPUTFORWARDANDSOMEKEYTECHNOLOGIESOFSOFTWAREAREDISCUSSEDINTHISCHAPTERINTHEEND,SOMEEXISTINGPROBLEMSAREPOINTEDOUTASWELLASTHESUMMARYWORKTHISDISSERTATIONISOFIMPORTANTVALUETO常熟理工学院毕业设计(论文)ITHEDESIGNOFCORRELATIVEFAST,LARGECAPABILITYDATAACQUISITIONSYSTEMANDVIKEYWORDSVIRTUALINSTRUMENTVIRTUALOSCILLOGRAPHDATAACQUISITIONCS82G常熟理工学院毕业设计(论文)目录第一章绪论111引言112研究的背景和意义113本文内容安排2第二章虚拟仪器技术421虚拟仪器的基本概念422虚拟仪器的特点5第三章基于数据采集卡的虚拟示波器的研究631基于PC的数据采集系统632超高速数据采集卡CS82G633基于数据采集卡的虚拟示波器的原理和结构7331虚拟示波器的工作原理7332系统的结构和特点8第四章虚拟示波器的方案设计941硬件和软件的选择9411硬件的选择9412软件开发环境的选择1042软件总体方案11第五章虚拟示波器系统的软件具体实现1351虚拟示波器的系统软件功能框图1352数据采集模块的设计13521数据采集的编程过程13522采集模块的流程图1553软面板的设计1554频谱分析模块的设计15541设计结果18常熟理工学院毕业设计(论文)I542数字滤波模块的设计2156波形显示模块的设计23561数据内插技术23562波形显示技术23563设计结果26564数据采集和数据处理的多线程实现2757小结29第六章总结和展望3161总结3162展望31参考文献33致谢34常熟理工学院毕业设计(论文)0第一章绪论11引言虚拟仪器是随着计算机技术、电子测量技术和通信技术而发展起来的一种新型仪器,虚拟仪器的出现是测量仪器领域的一个突破,从根本上更新了测量仪器的概念。它是在以通用计算机为核心的硬件平台上,由用户设计定义,具有虚拟面板,测试功能由测试软件实现的一种计算机仪器系统。虚拟仪器技术充分利用计算机系统强大的数据处理。能力,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,通过软、硬件的配合实现传统仪器的各种功能,大大突破了传统仪器在数据处理、显示、传送、存储等方面的限制,使用户可以方便地对仪器进行维护、扩展和升级。它的优势在于可由用定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。尤其在科研、开发、测量、检测、计量、测控等领域更是不可多得的好工具。虚拟仪器技术先进,十分符合国际上流行的“硬件软件化”的发展趋势,因而常被称作“软件仪器”。随着计算机技术的广泛应用,传统的仪器设备缺乏相应的计算机接口,因而配合数据采集及数据处理十分困难。而且,传统仪器体积相对庞大,多种数据测量时常常感到捉襟见肘。我们常见到硬件工程师的工作台上堆砌着纷乱的仪器,交错的线缆和繁多待测器件。然而在集成的虚拟测量系统中,我们见到的是整洁的桌面,条理的操作,不但使测量人员从繁复的仪器堆中解放出来,而且还可实现自动测量、自动记录、自动数据处理。其方便之极固不必多言,而设备成本的大幅降低却不可不提。一套完整的实验测量设备少则几万元,多则几十万元。在同等的性能条件下,相应的虚拟仪器价格要低二分之一甚至更多。虚拟仪器强大的功能和价格优势,使得它在仪器计量领域具有很强的生命力和十分广阔的前景。12研究的背景和意义所谓虚拟仪器就是微机化的智能电子测量仪器。虚拟仪器通过硬件功能模块和专用软件构成一种良好的人机交互界面,用户可以自定义测试功能以及使测量对象多样化。虚拟仪器的外部接口是通过数据采集卡将信号数据采集后送入计算机,各种复杂测试功能、数据分析和结果显示则完全由计算机软件完成。一台性能优良的虚拟仪器不仅可以实现传统测量仪器的大部分测量功能,在许多方面较传统仪器有无法比拟的优点,如使用灵活常熟理工学院毕业设计(论文)1方便、测试功能丰富、价格低廉、一机多用等,这些使得虚拟仪器成为未来电子测量仪器发展的方向。一台传统仪器有3大功能对被测信号的采集与控制,分析与处理,结果的表达与输出。传统仪器的这些功能都是以硬件或固化的软件的形式存在的。虚拟仪器的特点就是将计算机技术和仪器技术有机结合,充分利用计算机技术,用计算机的显示器模拟各种仪器的控制面板,以多种形式表达输出检测结果以计算机软件实现各种模拟信号分析,处理,完成多种多样的测试。在电子测量测试仪器中,示波器的使用范围非常广泛。传统示波器包括宽带示波器,取样示波器和记忆示波器等,它们频带较宽,价格便宜,但测量精度不高,功能比较单一。近年推出的数字存储示波器,由于引入微处理器,极大地提高了测量准确度,同时还具有较强的数字化处理功能,如FFT、信号平均和自动测频等。不过,这种示波器在应用上存在一些限制因素,例如价格昂贵,仪器功能和模式固定,不具备用户对仪器进行定义及编程的功能。本文采用基于计算机的虚拟技术,设计出虚拟存储示波器,模拟通用双踪示波器的面板操作和处理功能。使用个人计算机及其接口电路来采集现场和实验室信号,并通过图形用户界面来模仿示波器的操作面板完成试验采集,调理,分析处理和显示输出,存储记录等功能。当今,对低速的虚拟仪器的研究已经比较多,而以GAGE公司的高速卡为数据采集设备的虚拟示波器的研究与设计还未见报道。本课题研究的虚拟示波器是一种重要的虚拟仪器,主要用于超高频信号的采集、波形显示和频谱分析,在雷达信号处理和激光信号处理等领域有着广泛的应用。13本文内容安排本文主要基于GAGE公司PCI接口的COMPUSCOPE82G高速数据采集卡和VISUALC60编程工具,完成了一种快速的虚拟示波器试验系统的设计。第一章为绪论,介绍了虚拟仪器的研究背景和意义以及国内外的一些研究进展;第二章为虚拟仪器总体概述,讨论了虚拟仪器的概念、构成、特点、发展,建立了虚拟仪器的基本框架。第三章为基于数据采集卡虚拟示波器的研究,主要包括对数据采集系统各组成部分进行了探讨。在这基础上,给出了基于数据采集卡的虚拟示波器的结构。第四章为虚拟示波器的方案设计,选择了示波器的硬件和示波器的软件开发环境,介绍了虚拟仪器软件的设计方法,提出了系统软件的总体设计方案。第五章为虚拟示波器的具体实现,是本文的重点,完成了虚拟示波器各模块的详细设计,包括数据采集模块、用户界面模块、数字滤波模块和波形显示模块的设计,并给出了设计结果,最后讨论了软常熟理工学院毕业设计(论文)2件设计中的关键技术的实现。第六章为总结和展望,主要对本文的已做工作做了总结,并对虚拟仪器的发展前景作出了展望。常熟理工学院毕业设计(论文)3第二章虚拟仪器技术21虚拟仪器的基本概念虚拟仪器VIRTUALINSTRUMENTS,缩写为VI是指以通用计算机作为系统控制器、由软件来实现人机交互和大部分仪器功能的一种计算机仪器系统。用户可以通过友好的图形界面(通常叫做虚拟前面板)操作这台计算机,就象在操作自己定制的一台传统仪器一样。虚拟仪器的概念是对传统仪器概念的重大突破,它的出现使测量仪器与个人计算机的界限模糊了。所有的测量、控制仪器的功能可由数据采集、数据分析、结果输出与显示三大部分组成。在这三大功能中,数据分析、算法实现和结果显示完全由基于计算机的软件完成,只要另外提供一定的数据采集硬件、输出端口和驱动设备,就可构成由计算机组成的测量、控制仪器。由此可以看到虚拟仪器与传统仪器的基本区别;传统仪器的这些功能都是以硬件或者固化的软件的形式存在的,而虚拟仪器的功能则是通过软件实现对数据的分析处理、表达以及图形化用户接口(如图21所示)。VXIIRS23DATNLYSIDIGITALSIGNALPROCEISTARISTICSNUMERICAALYSIDATPRESNIONNETWORKINGFILEI/OI/GRAPHICAUSEINTERFEACQUISITIONDONRLPLUGINDATACQISIION图21虚拟仪器的内部功能划分测试应用程序将可选硬件(如GPIB、VXI、PXI、RS232、DAQ板)和可重复用原码库函数等软件结合在一起,实现仪器模块间的通讯、定时与触发。原代码库函数为用户构建自己的VI关系系统提供了基本的软件模块。由于VI的模块化、开放性和灵活性,以及软件是关键的特点,当用户的测试、控制要求变化时,可以方便的向用户自己来增减硬、软件模块,或重新配置现有系统以满足新的测试、控制要求。这样,当用户从一个项目转向另一个项目时,就能简单地构造出新的VI系统而不丢失已有的硬件和软件资源。常熟理工学院毕业设计(论文)422虚拟仪器的特点虚拟仪器是以装有测量应用软件的个人电脑为核心,具有虚拟的仪器操作面板,足够的硬件支持,有一定通信能力的测量装置。它和传统仪器相比具有以下的特点1虚拟仪器的关键环节是软件。虚拟仪器系统中除PC机外的硬件主要用于数据的采集、输入,至于系统怎样处理数据,具有怎样的面板和数据输出的形式等都是由软件决定的。虚拟仪器的好坏,很大程度上取决于软件水平的高低。2开发与维护的费用低,系统组建时间短。当需要增加新的测量功能,只需要增加软件模块或通用的硬件模块,缩短了系统的更新时间,而且有利于系统的扩展。应用软件不像传统仪器的硬件那样存在元器件老化的问题,大大节省了维护的费用,延长设备的使用寿命。3测量更准确。传统仪器测量个体之间差异大,而虚拟仪器的应用软件在不同的PC机上具有相同的运行效果,在软件运行这方面不存在个体的差异。4测量更方便。因为传统仪器功能单一,所以对一个信号完成多个参数的测量需要多台仪器,使测量受连接方式、电缆度等因素的影响。虚拟仪器只需对信号进行一次采样,多个软件模块对同一组数据进行不同的处理就能实现多个参数的同时测量。5具有强大的数据处理功能。计算机运算速度的大大提高和数字信号处理理论的丰富和完善,使虚拟仪器能够快速准确的处理数据。常熟理工学院毕业设计(论文)5第三章基于数据采集卡的虚拟示波器的研究基于数据采集系统(采集卡)的虚拟示波器是虚拟仪器的一种重要的构成方式,其中的核心设备数据采集卡应具有高速采样、多种触发、存储数据以及与计算机之间交换数据的功能,有的数据采集卡还具有系统定时和系统同步等功能,它是外界电信号与计算机之间的桥梁,其性能直接决定着数据采集的精度和速度,影响着虚拟示波器的整体性能。31基于PC的数据采集系统基于PC机的数据采集系统DATAACQUISITION,DAQ大致有两种,一种是采用插入PC控制槽中的插卡形式实现数据采集并将数据直接通过PC总线传入计算机内存中;另外一种采用远端数据采集硬件完成数据采集,然后通过串行、并行方式或者USB接口将数据传回计算机。本课题采用的是第一种方式构成的数据采集系统,以便进行高速、大容量的数据采集和传输。基于计算机的数据采集系统的结构如图31所示,该系统由传感器、信号调理、数据采集(DAQ)硬件、个人计算机、软件等基本要素构成。PC图31基于计算机的数据采集系统常用的数据采集硬件的功能包括模拟量输入、模拟量输出、数字量输出、定时I/O和触发等。在数据采集系统中,软件起着将DAQ硬件和PC转换成一个完整的数据采集、分析和显示系统的功能。软件主要有驱动器软件和应用软件两部分组成。32超高速数据采集卡CS82G本次设计中采用的CS82G是一种超高速的基于PC的数据采集卡,CS82G的硬件可以以极高的采样率和多通道采样模拟信号并缓存到卡上的存储器。CS82G基于PC的一个主要优点是它能够以极高的速率把数据传输到PC的RAM中,数据可以从RAM中很容易地进行分析、存储和显示。CS82G可以直接插在PC的PCI插槽里,因此不需要辅助的数据接口,比如GPIB接口,这也可以解释它的高速据传输率,图32展示CS82G的结构框图。常熟理工学院毕业设计(论文)6CS82G的硬件主要由前置滤波器、衰减器、可程控模拟放大电路、A/D转换电路、D/A转换电路、计数/定时电路、振荡电路、时序控制电路以及PCI接口电路构成,全卡的功能电路由数字控制逻辑电路统一控制。由此可见,CS82G本身带有部分信号调理的功能,其结构框图如图32所示。输入信号经衰减和放大后送入触发电路及A/D转换器。在触发电路内,经调理后的输入信号或外部信号与基准电压发生器送来的基准信号进行比较,形成触发标志。振荡器产生的高频振荡信号扫描时间因数电路按设定系数分频,经脉冲形成电路产生系统所需的时钟信号,送往地址计数器,A/D转换器。地址计数器产生RAM的读写地址及地址溢出标志。一个采集周期结束后,计算机通过PCI总线把RAM中的数据读出,用于数据处理和构建信号波形。ADCADCCH1CH2PCIDACCH1CH2EXTFETFETFET图32CS82G的系统框图33基于数据采集卡的虚拟示波器的原理和结构在电子测量中,传统仪器都是自成系统的,功能单一,模式固定,不具备用户对仪器进行定义及编程的功能。随着计算机技术特别是软件技术的发展,将个人计算机应用于测试和分析的虚拟示波器是一个顺应形势的新的发展方向。331虚拟示波器的工作原理模拟信号经同轴电缆进入采集卡的输入通道,经过前置滤波电路、衰减电路、可变增益的放大电路,将信号处理成A/D转换器可以处理的标准电平,经过A/D采样量化转化成计算机可以处理的数字信号并缓存到卡上的存储器。其支持软件通过PC机的PCI总线接口控制模拟通道的阻抗匹配、放大器的增益选择、启动A/D转换及转换结束的识别,并将采集数据以DMA方式传输到计算机内存,同时对数据信号进行分析处理、显示、存储及打常熟理工学院毕业设计(论文)7印输出等。332系统的结构和特点基于数据采集卡的虚拟示波器由支持软件、数据采集卡及PC机组成,其结构如图33所示。PCI图33基于数据采集卡的虚拟示波器的结构虚拟示波器和传统示波器的根本区别在于(1)传统示波器完全用硬件实现,功能和模块固定,其功能的自动测试系统,功能及模式由用户自己定义。(2)传统示波器结构复杂,维护困难,对工作现场条件有较高的要求。器结构简单,仅由计算机和一块数据采集卡和一张光盘组成,将采集卡插在PC机的扩展槽上即可工作,软硬件维护都很方便。常熟理工学院毕业设计(论文)8第四章虚拟示波器的方案设计41硬件和软件的选择虚拟示波器主要由仪器硬件和功能软件两部分组成。以DAQ方式构成的虚拟示波器的硬件主要由计算机和模块化硬件组成,计算机通常是个人计算机,也可以是任何通用计算机。模块化硬件主要是数据采集卡。本课题设计的虚拟示波器主要是由一块PCI总线的高速数据采集卡、PC机和用VC60开发的功能模块软件组成。411硬件的选择计算机和数据采集卡组成了虚拟示波器的硬件平台。数据采集卡是虚拟示波器的重要组成部件,其性能指标直接决定着虚拟示波器的采样速率、精度等主要指标。CPU的速度及计算机的内存影响着示波器处理数据的速度;计算机的硬盘决定着它的存储数据的容量。数据采集系统的任务是采集原始的模拟信号,把它们转换为计算机可以处理的数字信号,其主要指标有采样精度和采样速度。采样精度主要由A/D转换器的位数决定,而采样速度由A/D转换器最高工作频率决定,然而,两个指标是相互制约的。数据采集卡的选择主要与采样率、采样通道数和测量精度有关。根据第三章的分析,采样率是指模拟量输入通道在单位时间内能够采集的数据点数,一般用HZ即采样频率来表示,也有的用S/S表示。采样频率高,就能在一定时间获得更多的原始信号信息。为了再现原始信号,必须有足够高的采样频率。如果信号变化比采集卡的数字化要快,或者采样太慢,就会产生波形失真。根据奈奎斯特理论,采样频率至少是被测信号最高频率的两倍,才不至于产生波形失真。即应选用2GHZ的数据采集卡才可以完成最高频率为1GHZ的被测信号的测量工作。采样通道数是系统可以同时进行采样的信号通道数,在选取采集卡时需要注意以下几点采样通道数是否满足系统要求;在需要差分输入测量时,板上有无差分输入以及差分输入的通道数;在测量多通道时,应注意采集卡能否扩展以及最多的可扩展的通道数。412软件开发环境的选择在给定计算机和必要仪器硬件之后,构成虚拟仪器的关键在于软件。虚拟仪器系统的一个重要革新就是仪器硬件软件化,用软件实现硬件功能。虚拟仪器系统的核心技术是软件技术,一个现代化测控系统性能的优劣很大程度上取决于软件平台的选择与应用常熟理工学院毕业设计(论文)9软件的设计。因此正确选择软件开发环境对于程序的开发和设计起着重要的作用。目前,能够用于虚拟仪器系统开发、比较成熟的软件开发平台主要有两大类一类是通用的可视化软件编程环境,主要有MICROSOFT公司的VISUALC和VISUALBASIC、INSPRISE公司的DELPHI和CBUILDER等;另一类是一些公司推出的专用于虚拟仪器开发的软件编程环境,主要有AGILENT公司(由原HP公司分离出来的一个公司)的图形化编程环境AGILENTVEE、NI公司的图形化编程环境LABVIEW及文本编程环境LABWINDOWS/CVI。在以上这些的软件开发环境中,面向仪器的交互式C语言开发平台LABWINDOWS/CVI具有编程方法简单直观、提供程序代码自动生成功能及有大量符合VPP规范的仪器驱动程序源代码可供参考和使用等优点,是国内虚拟仪器系统集成商使用较多的编程开发环境。AGILENTVEE和LABVIEW则是一种图形化编程环境或称为G语言编程环境,采用了不同于文本语言的流程图编程方法,十分适合对软件编程了解较少的工程技术人员使用。VISUALC是一种功能齐全的面向对象的开发工具,可直接对硬件操作,支持多任务多线程。VISUALC不仅是C语言的集成开发环境,而且与WIN32紧密相连,所以利用VISUALC开发系统可以完成各种各样应用程序的开发,从底层软件直到上层面向用户的软件都可以用VISUALC来开发完成;而且VISUALC强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。随着软件版本的不断升级,其功能也越来越强大,几乎包括了WINDOWS应用的各个方面。VISUALC可以说是汇集MICROSOFT公司技术精华的主流产品。它最重要的特征是提供了MFC类库,封装了WINDOWSAPI函数,并建立了应用程序框架,使开发人员可以将主要精力集中在所要解决的具体问题上,580毕业设计网是专业的毕业论文代写平台也有大量毕业设计成品提供参考QQ3449649974尤其是利用VISUALC的APPWIZARD功能生成的SDI或MDI应用程序,进行少量修改后,就可以进入软件界面的外观设计。由于VISUALC的面向对象程序设计的特性十分适合虚拟仪器系统的软件开发,而且在本设计中所使用的数据采集卡的驱动程序是由C语言开发,所以我们选用VISUALC60作为虚拟示波器系统的软件开发工具。42软件总体方案虚拟示波器是采用基于计算机的虚拟技术,用以模拟传统示波器的面板操作和处理功能,也就是使用个人计算机及其接口电路来采集现场或实验室信号,并通过软件的图形用户界面(GUI)来模仿示波器的操作面板,来完成信号的采集、分析处理和显示输出常熟理工学院毕业设计(论文)10等功能。本课题设计的虚拟示波器,是在高速数据采集卡的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。传统的测试仪器由信号采集、信号处理和结果显示三大部分组成,这三部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是除了数据采集部分是由硬件实现之外,其它两部分都是由软件实现。本次设计利用VISUALC60作为开发工具,采用了面向对象的程序设计方法,在WINDOWS2000下进行。软件采用模块化设计,其总体框图如图41所示。从图41可以看出软件部分的总体框图以及数据流、控制流的流向。其中主控模块相当于一个任务调度中心。当软件开始运行时,首先进入主控模块,然后启动数据采集线程和数据处理线程,于是数据采集模块和数据处理模块开始工作直至用户停止系统工作。数据流从数据采集模块开始,分别流向数据存储模块和数据处理模块,数据存储模块负责把用户感兴趣的数据存人硬盘,而数据处理模块负责数据的实时显示、数字滤波、频谱分析和波形的参数计算。当用户需要查询历史信号时,可以启动历史查询模块,然后把查询到的数据送往历史曲线显示模块;如果需要打印历史信号,调用曲线打印模块即可。图41软件系统总体框图常熟理工学院毕业设计(论文)11ONSTARTSTARTCAPTURESTARTPROESINGWM_RECIVEG_BRUNTHREADG_BRUNTHREADWM_RECIVEYESYESYESYESYES图42软件系统总体流程图常熟理工学院毕业设计(论文)12第五章虚拟示波器系统的软件具体实现51虚拟示波器的系统软件功能框图软件采用模块化设计,在功能上划分为多个模块,分别为数据采集模块、软面板模块(用户界面模块)、数据处理模块、数据存储模块和帮助文件模块。其中数据处理模块又划分为频谱分析模块、数字滤波模块、参数计算模块和波形显示模块。各个模块之间的联系如图51所示。由于篇幅关系,本文中只给出了重要模块的设计。图51系统软件功能框图52数据采集模块的设计数据采集模块是最为关键的一个程序模块,这个模块中应用程序会通过采集卡的驱动程序和硬件进行通信,要发出各种控制字、参量字到仪器中去,同时又要对硬件的工作状态进行判断和处理,然后读取采样值。如果把这个模块程序在主线程中实现,那么,当应用程序与驱动程序进行数据通信时,主界面就会冻结。为了解决这个问题,本文直接创建一个子线程来单独完成与驱动程序的通信任务,让主界面专心于响应视窗界面的信息。在主线程中通过调用STARTCAPTURE函数启动数据采集子线程进行数据采集。521数据采集的编程过程(1)初始化采集卡的驱动程序和硬件这个过程包括两个部分,一是确定硬件安装位置及I/O口和内存映射,由GAGESCOPINC文件来配置内存区域和I/O地址,二是用户进行的采集卡驱动初始化,选择打开相应的采集卡,读取配置文件等。驱动程序的初始化也可以直接调用INITBOARD函数或对此函数进行适当的修改后调用该函数的源代码在APP_SUPPC文件中。(2)设置相关参数准备进行数据采集常熟理工学院毕业设计(论文)13该采集卡的所有的参数都是通过软件进行设置的,驱动程序中提供了一些数据结构,使得参数设置比较容易进行,也可以不用这些数据结构。设置参数主要包括工作模式单通道,多通道,采样率、输入电压的范围、输入阻抗及耦合方式、触发源、上升沿、下降沿触发、触发电平、采样深度采样点数,所有这些参数设置被综合到一个函数中SETBOARD;对此函数进行适当的修改,即可满足采集的要求。(3)开始采集数据调用GAGE_START_CAPTURE函数即开始采集数据,如调用时传给该函数的参数为非零值,且触发条件设置为软件触发,则调用此函数后立即开始采集数据,否则就等待至触发条件满足时开始采集数据。当计算机上只有一块GAGE公司的采集卡时,可以用另外两个函数来代替GAGE_START_CAPTURE;即顺序调用GAGE_INIT_CLOCK和GAGE_GET_DATA;执行这两个函数的速度比执行GAGE_START_CAPTURE要快许多,因为GAGE_START_CAPTURE要做一些额外的工作以确保多卡同时有效地工作。(4)检测数据是否采集结束相关函数为GAGE_TRIGGERED,GAGE_BUSY,GAGE_FORCE_CAPTURE,GAGE_ABORT_CAPTURE。GAGE_TRIGGERED是用来检测采集卡是否已经触发,如果没有触发,则在采集卡的RAM上没有有效数据。GAGE_BUSY则是用来判断是否已经采集结束。正在采集数据时,是不能读取采集卡上的RAM的该卡上的RAM是单端口的。可以用GAGE_FORCE_CAPTURE强制触发一次,或者用GAGE_ABORT_CAPTURE结束这一次数据采集,这样可以对后续的数据采集产生影响。(5)传输数据从采集卡RAM至计算机的内存采样点在采集卡的RAM中存储的位置地址可由函数,GAGE_CALCULATE_ADDRESSES,该函数返回三个地址值开始地址、触发地址、结束地址。传输数据的函数是GAGE_TRANSFER_BUFFER_3;使用它时需要传递的参数为开始地址和要传送的数据量。数据采集的主要代码如下INITBOARD;/初始化驱动程序和硬件/校验当前采集卡的结构/GAGE_GET_DRIVER_INFOBOARD_INFO;BOARD_SETTING/对采集卡进行参数设置/开始数据采集,触发源为软件触发/常熟理工学院毕业设计(论文)14GAGE_START_CAPTURE(INT16)(BOARDSOURCEGAGE_SOFTWARE);/计算出起始地址、触发地址、结束地址/GAGE_CALCULATE_ADDRESSESGAGE_CHAN_A,BOARDOPMODE,SAMPLE_RATE_TABLEBOARDSRINDEXSR_CALC,TRIGGERBD,STARTINGBD,ENDINGBD;/把采集卡上的数据传输到计算机内存/GAGE_TRANSFER_BUFFER_3TRIGGERBD,GAGE_CHAN_A,CHAN_A_8,POINTS;522采集模块的流程图采集模块的流程图如图52所示。53软面板的设计用户界面的设计采用了VC中切分多视图技术,界面主要切分为三个视图主视图基类为CSCROLLVIEW,用于显示波形;还有两个视图基类为CFORMVIEW,一个用于动态显示采集数据的特征参数,另一个用于对示波器进行操作。整个软件的主界面设计如图53所示。实现切分多视图的技术核心(1)在框架窗口类中声明一个CSPLITTERWND类对象,对MDI应用程序,框架窗口类为CCHILDFRAME类;对SDI应用程序,框架窗口类为CMAINFRAME类。CSPLITTERWND类是专门绘制和处理分隔条的类。(2)在框架窗口类的ONCREATECLIENT函数中创建分割条窗口。(3)为分割条窗口的每个子窗口创建视图。示波器主界面分为三个功能模块,波形显示模块,参数显示模块和示波器操作模块。在波形显示模块中,可以同时动态显示两个通道的波形。在参数显示模块中,可以动态显示两个通道的参数,主要有周期、最大值、有效值、功率和频率,当然周期和频率是针对周期信号来说的。在示波器操作模块中,又可以分为两个部分,分别是系统控制和通道控制。系统控制主要是对采样频率、触发源、触发电平、采样深度的控制;通道控制主要实现两个通道参数的设置和波形显示的控制。通道参数主要有输入电压的范围、单/双通道选择、输入阻抗和交直流耦合;显示控制包括时基控制、波形缩放和单/双通道显示选择。常熟理工学院毕业设计(论文)1554频谱分析模块的设计本软件利用快速傅里叶变换FFT进行频谱分析。频谱分析采用按时间抽取FFT算法,然后将幅值频谱分析结果在用户界面上以坐标曲线形式显示。进行FFT时可以选择点数,有1024、2048、4096三种选择,如果点数不够,程序自动补零。NNNNYYYY图52数据采集程序流程图常熟理工学院毕业设计(论文)1653虚拟示波器的主界面DFT为KNKNNNNXK偶数奇数XWX/2/22100LLKRKRR/2/22100NLNLKRKRNRXX由于222/2JKRNJKRKRRNWEW所以/2/221/21200LNLKRKRKNNRRXKXXX,K其中和分别为和的N/2点DFT,即1XK21XR2常熟理工学院毕业设计(论文)17/211/210NLKRNRXKXWDFTXR/22/220NLKRNRKXXR由于和均为N/2为周期,且,所以又可表示为1X2K/2KNKWXK5112KNKW0,1,52122KXX,2,K这样,就将N点DFT分解为两个N/2点的DFT和式51以及52的运算。依次类推,经过M1次分解,最后将N点DFT分解成N/2个2点DFT541设计结果频谱显示模块主要完成对不同通道信号频谱的显示,它由参数设置对话框和频谱显示对话框组成。参数设置对话框主要完成通道和采样点数的选择,如图55所示。常熟理工学院毕业设计(论文)18XNMN2L1MB2J0B1P2JK0N12XKXKXKBWBML1MLLPNP图54DITFET运算和程序框图常熟理工学院毕业设计(论文)19图55FFT的控制对话框图56锯齿波的频谱图常熟理工学院毕业设计(论文)20图57正弦波的频谱图542数字滤波模块的设计在虚拟示波器中,对被测信号背景噪声干扰的抑制是非常重要的一个任务,一般情况下,采用数字滤波可以较好地清除干扰。滤波器的设计采用了经典的设计方法,首先根据指标设计出巴特沃斯滤波器,然后利用双线性变换法设计数字低通滤波器,这部分的内容在一般的数字信号处理著作中都有详尽的介绍。数字滤波模块主要完成对不同通道的滤波和滤波前后波形的显示,图58为滤波器的控制对话框,它主要完成通道的选择、滤波器类型的选择和一些参数的输入。滤波前后波形的显示仍在主界面中的波形显示区进行,图59为锯齿波通过低通滤波器,其中下面的波形为输入的锯齿波,上面的波形为锯齿波滤波后的波形。常熟理工学院毕业设计(论文)21图58滤波器的控制对话框图59锯齿波通过低通滤波器后的波形常熟理工学院毕业设计(论文)2256波形显示模块的设计561数据内插技术要想观察采集好的波形,就必须采用某种方式将采集好的数据显示出来,这就要用到数据内插技术。选择不同的内插技术会对存储带宽带来不同的影响。常用的内插技术有直接点显示、矢量内插和正弦内插。(1)直接点显示直接点显示是在显示器上直接按点显示,显示效果较为直观,但该方式也存在着严重的不足。当采样点较少时,观察者会把相邻的两个点连起来,随着信号频率的增加,很可能得出错误的结果。因此,要得到正确的结果就必须采集更多的点,但是太多的点反而会影响观察结果。一般情况下,每个周期要求2025个点。(2)矢量内插显示矢量内插是在采集点之间采用直线拟合方式画线显示的方法。它可以消除视觉上混淆,矢量越短效果就越好。对正弦信号而言,如果每周期只有两个采样点,那么矢量内插就没有什么效果。一般当采样点增加到10个以上时,才能得到较为准确的正弦波。因此,采用矢量内插的方法,可以将有效存储带宽提高两倍以上。矢量内插法适合于显示脉冲和数字信号,在显示正弦波时可能会产生失真。(3)正弦内插显示正弦内插法是用SINX/X函数曲线将各采样点连接起来。正弦内插器基本上可看作是理想的矩形滤波器,它与矢量法相比不但可以产生精确的波形,也可以得到较高分辨率的定时和幅度测量。正弦内插法分两步来完成。首先,在每个己采样点之后插入L1个零值,这时产生的新序列的奈奎斯特频率已经提高了L倍,然后我们就可以通过适当的数字滤波器来获取原始采样数据。我们可以采用有限长脉冲响应(FIR)数字滤波器来近似该理想滤波器。因此,正弦内插法本质上是一个线性滤波器。这种方法对于显示正弦波特别有效,它一般只需每个周期有25个采样点。当脉冲信号的上升与下降时间大于采样周期的17倍时,正弦内插法对脉冲信号也十分有效。但是,对于变化很快的脉冲信号,该方法就不可能精确的恢复该信号。562波形显示技术虚拟示波器的工作原理是对信号波形进行密集的采样,采样值被数字化并被存储,然后从存储器中读出,重建波形并用清晰的、常熟理工学院毕业设计(论文)23均匀一致轨迹映现在屏幕上。由于检测的波形经数字化后只是一连串离散的数据,因此,如何重建波形是设计虚拟示波器的关键问题。虚拟示波器与传统示波器的一大区别在于它没有扫描电路,它也不是基于示波管的线性偏转特性而工作,对于虚拟示波器而言,波形重现靠的是计算机的图形处理功能。因此,它属于软件处理的范畴。与数字示波器类似,虚拟示波器也有一个不工作区的问题,捕捉信号需要时间包括采样时间和转换时间,还有一些附加时间包括存储波形、处理波形和显示等。当虚拟示波器进行上述工作时它便停止了波形的采集。根据这个特点,我们在波形的重现上面采用两种处理方式,第一种方式是采用“照像”技术,也称为分段方式;第二种方式是采用滚动方式。(1)照像方式照像方式是把信号波形一幅一幅地取样回来,在此同时,也将波形一幅一幅地送至屏幕去显示。前后两幅波形在时间上不连续,中间有一段时间差。这种捕捉信息的方式类似于“照像”的过程,故称之为照像方法。采用照像方法的原因是为了让人们在观看波形时能留有一段视觉时间,以便看到稳定的波形,这种采样方法适合于捕捉快速信号的波形。采样波形的最大频率取决于A/D板卡的采集速率。(2)滚动方式滚动方式是通过绘图方法滚动数字化波形,使其连续不断地被显示在屏幕上,它的工作方式很象图表记录仪。它的工作原理是每隔一个时钟周期取样一次,接着将波形从右到左滚动一位屏幕的一个点距,滚动模式适合于观察变化缓慢的信号、随机信号和非重复信号。传统的滚动显示方式是这样实现的,设采样值在数组DATA中保存。在显示波形的过程中,采样数据依次从右向左平移,即在数组的低端DATA0不断补进最新采样数据NEWDATA,同时数组的高端DATA2LENGTH1自动丢失,例如丢失DATA2LENGTH1DATAIDATA0NEWDATA采样值在屏幕上的定位映象有严格的要求。我们定义时间轴的中点为坐标原点,观察窗口的范围从LENGH至LENGTH因此,在时间轴坐标点为LEGTHI处,对应的纵坐标为DATALEGTHIILENTHLENGTH。常熟理工学院毕业设计(论文)24图510波形滚动方式显示在本次设计中采用了新的算法来实现波形的动态显示,新的算法改变了滚动方式只能观察变化缓慢的信号的限制,使示波器的动态显示波形效果得到了很大的改观。算法核心思想如下1得到所采集数据块的第一个和最后一个数据点的横坐标M_XMIN和M_XMAX,M_XMAXM_XMIN为波形的逻辑宽度。2M_XMAXM_XMIN的值为逻辑坐标,把它转化为设备坐标CX,用CX设定整个滚动视图的宽度。3为了提高画图的效率,只需画出滚动视图可视部分的图形,也就是剪裁区的图形,因此要得到剪裁区。4画出坐标和剪裁区内的一段波形。5利用CSPLITTERWNDDOSCROLLBY()函数,根据采样间隔的大小决定视图滚动速度的快慢。这样视图滚动以后相应的剪裁区也会发生改变,促使动态画出新的波形。下面是波形显示的主要代码/得到第1个数据的横坐标/M_XMINPMEMM_TESTQF3FILEINFOXMIN;/得到最后1个数据的横坐标/M_XMAXPMENM_TESTQF3FILEINFOXMAX;/逻辑坐标转换为设备坐标/常熟理工学院毕业设计(论文)25LOGTODEW_XCX,M_XMAX;/设定滚动视图的宽度/SIZETOTALCXCX;/得到裁剪区矩形/PDCGETCLIPBOXM_CLIPRECT;/画出坐标/DRAWGRIDPDC;/画出一段波形/DRAWCURVEPDC;/得到滚动视图/CGRAPHVIEWVIEW1CGRAPHVIEWTHISM_SW1GETPANE0,0;/根据采样间隔不断滚动视图,动态显示波形/THISM_SW1DOSCROLLBYVIEW,CSIZE1,0,TRUE;563设计结果波形显示模块主要负责两个通道信号的波形滚动显示,工具栏上的按钮可以控制波形滚动的启动和停止,测试者如果发现感兴趣的波形可以停止滚动,以便进行仔细的分析,设计效果如图511所示。常熟理工学院毕业设计(论文)26图511波形显示模块设计效果564数据采集和数据处理的多线程实现数据采集及其波形实时显示是虚拟示波器中最为重要的模块,通过充分发掘WINDOWS的系统资源,我们可以设计出高质量的通用软件模块。WINDOWSNT和WINDOWS95之后的版本都是多线程、抢先式多任务的操作系统。在WINDOWS中,一个可执行程序的运行时刻实例称为进程(PROCESS)。一个进程可以有多个线程(THREAD),WINDOWS是按照线程分配CPU时间片的,而分配的机制就是抢先多任务方式。WINDOWS给所有当前进程分配动态优先级,为进程所属的每一个线程分配相对优先级,WINDOWS把进程优先级与各线程的相对优先级相结合,就得到该线程的优先级数(范围是0到31)。在操作系统分配CPU的时间片的时候,高优先级的线程总是可以优先得到执行。同时,高优先级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售员聘用合同
- 基于云计算的金融量化投资策略与2025年风险管理创新研究报告
- 2025年食品冷链物流温控技术与冷链物流冷链仓储设备创新报告
- 中医与诊断学试题及答案
- 中医药考试题及答案
- 中医心衰考试试题及答案
- 中医相关感染试题及答案
- 中医问诊中痛试题及答案
- 福建医科大学安全保卫招聘笔试真题2024
- 气质题库及答案
- T-SZHW 001-2024 深圳市城市管家服务管理规范(试行)
- 五年级上册小数乘除口算练习400题及答案
- 一滴血检测仪培训教程(完全版)课件
- 2024年中信信托有限责任公司招聘笔试参考题库含答案解析
- 2023汽车维修合同制度
- 45种硅钢片磁化容量及损耗参数
- 病原微生物实验活动风险评估表
- 拟写议论文分论点(最终版)
- 安全防范系统验收规则
- 康复科提高药品发放及时性PDCA
- 线性代数教案(正式打印版)
评论
0/150
提交评论