低频模拟信号波形显示分析器设计的论文_毕业设计(论文)_第1页
低频模拟信号波形显示分析器设计的论文_毕业设计(论文)_第2页
低频模拟信号波形显示分析器设计的论文_毕业设计(论文)_第3页
低频模拟信号波形显示分析器设计的论文_毕业设计(论文)_第4页
低频模拟信号波形显示分析器设计的论文_毕业设计(论文)_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

低频模拟信号波形显示分析器设计的论文摘要传统的示波器其功能完全依靠硬件实现,功能单一且维护费用高,更重要的是功能一旦确定便不能更改。利用LABVIEW做成的虚拟仪器是将虚拟技术,计算机技术,总线技术,和软件技术紧密结合在一起,利用计算机强的数字处理能力实现了仪器的大部分功能,打破了传统仪器的框架,形成了一种新的仪器模式。为此,本文提出了低频模拟信号显示分析器。低频模拟信号显示分析器的设计主要分为上位机和下位机两部分,下位机主要是利用C8051F340单片机对信号采样并将得到的信号通过USB接口发送给PC机。上位机主要是由PC机端的GUI界面进行波形显示、存储、频谱分析,而且PC机端的GUI界面主要利用LABVIEW来实现。软件上,下位机主要是对波形进行采样并通过USB发给PC机,上位机上利用LABVIEW虚拟仪器设计一个示波器进行波形显示和频率分析。硬件上,先将产生的模拟信号发送到A/D转换器上,使其转换为数字信号,然后发送到PC机上。LABVIEW内置信号采集、测量分析与数据显示功能,同时还保证了系统的灵活性。经过调试,最后验证本设计实现了以上所提到的功能,具有合理可行性。经过对本设计的功能进行仔细分析,在论文开始得出了系统的总体设计方案,接着从硬件、软件两部分对系统的设计方案进行了详细描述,最后又通过系统的调试和分析验证了系统功能特性。关键词C8051F340,频谱分析,LABVIEW,PC机,USBABSTRACTTRADITIONALOSCILLOSCOPEFUNCTIONCOMPLETELYDEPENDENTONHARDWAREIMPLEMENTATIONWITHSINGLEFUNCTIONANDTHEHIGHCOSTOFMAINTENANCE,ITISMOREIMPORTANTFUNCTIONCANNOTCHANGEONCEESTABLISHEDUSINGTHELABVIEWVIRTUALINSTRUMENTISMADEOFTHEVIRTUALTECHNOLOGY,COMPUTERTECHNOLOGY,BUSTECHNOLOGY,ANDSOFTWARETECHNOLOGYCLOSELYTOGETHERITUSECOMPUTERPOWERFULDIGITALPROCESSINGABILITYREALIZETHEINSTRUMENTMOSTOFTHEFUNCTIONS,BREAKINGTHETRADITIONALINSTRUMENTSOFTHEFRAMEWORK,FORMEDANEWINSTRUMENTMODETOTHISEND,THISPAPERPRESENTSALOWFREQUENCYANALOGSIGNALDISPLAYANALYZERDESIGNLOWFREQUENCYANALOGSIGNALANALYZERDESIGNISMAINLYDIVIDEDINTOTWOPARTSOFTHEUPPERMACHINEANDLOWERMACHINELOWERMACHINEMAINLYUSEDC8051F340MCUOFSIGNALSAMPLINGANDSIGNALWILLBESENTTOPCTHROUGHUSBINTERFACEUPPERMACHINEMAINLYBYTHEPCTOTHEGUIINTERFACEFORWAVEFORMDISPLAYSTORESPECTRUMANALYSISONTHESOFTWARE,I/OPORT,TIMER,ADC,INITIALIZEDCLOCK,ANDTHENTOGENERATETHEWAVEFORMSAMPLINGANDVIAUSBTOAPCTHENTHEWAVEFORMSAMPLINGANDVIAUSBTOAPCINTHEPCUSINGTHELABVIEWVIRTUALINSTRUMENTDESIGNANOSCILLOSCOPEWAVEFORMDISPLAYANDFREQUENCYANALYSISONTHEHARDWARE,WEWILLPRODUCETHEFIRSTONTHEANALOGSIGNALSENTTOTHEA/DCONVERTER,SOTHATITISCONVERTEDTODIGITALSIGNALSPCTOTHEGUIINTERFACEDISPLAYEDWAVEFORMANDFREQUENCYSPECTRUMANALYSISAFTERDEBUGGING,FINALLYVALIDATETHISDESIGNREALIZEDTHEFUNCTIONOFTHEABOVEMENTIONED,INNOVATIVEANDUSEVALUEACCORDINGTOTHEANALYZEOFTHEAPPLICATION,ITCOMESINTOBEINGTHEDESIGNSCHEMEOFTHESYSTEMINTHEBEGINNING,THENGIVESTHEDETAILDESCRIPTIONFROMHARDWAREANDSOFTWAREBOTHSIDES,FINALLYGETSTHEVERIFICATIONOFTHESYSTEMFUNCTIONTHROUGHTHESYSTEMDEBUGGINGANDANALYZEKEYWORDSC8051F340,LABVIEW,SPECTRAL,ANALYSIS,PERSONALCOMPUTER,USB目录前言1第1章系统原理与方案311基本原理3111采样的基本原理3112API实现USB通信原理4113LABVIEW软件设计基本原理512系统方案设计6121系统功能6122系统方案71221系统结构框架71222器件选择71223软件环境111224测试方案1113论文章节安排12第2章硬件设计1321硬件功能描述1322硬件总体设计1323硬件详细设计14231单片机最小系统142311供电电路152312复位电路162313JTAG电路17232USB通信与供电电路172321USB通信电路172322电源电路1824系统硬件原理图设计1825系统整体PCB图设计19第3章软件设计2031软件功能概述20311下位机20312上位机2032软件总体设计2033软件详细设计22331下位机程序设计223311初始化233312数据采集并通过USB发送24332上位机程序设计253321前面板253322后面板2634程序代码31第4章系统调试3241调试目的32411验证USB通信32412验证被测信号功能32413验证LABVIEW界面功能32414整体调试3242调试方案33421验证USB通信成功33422硬件方面检测33423检测被测信号34424整体调试3443调试结果3444调试过程中遇到的问题及解决方案4545结论与分析46第5章结论与展望4751结论4752展望47参考文献49致谢51附录原理图52附录单片机系统原53附录主程序54附录实物图59前言自从1986年美国NINATIONALINSTRUMENT公司提出虚拟仪器的概念以来,随着计算机技术和测量技术的发展,虚拟仪器技术也得到很快的发展。虚拟仪器是指利用现有的PC机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。与传统的仪器相比其特点主要有具有更好的测量精度和可重复性;测量速度快;系统组建时间短;由用户定义仪器功能。虚拟仪器以软件为核心,其软件又以美国NI公司的LABVIEW虚拟仪器软件开发平台最为常用。LABVIEW是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。信号波形显示分析器是在科学研究和工程设计中广泛应用的一种通用仪器。LABVIEW作为一个图形化编程软件,是开发测试系统的一种功能强大、方便快捷的编程工具。其良好的相通性、开放性、专用性,使测试系统的开发周期短、成本低、质量高。基于LABVIEW的虚拟信号波形显示分析器具有机交互性好、易于操作等特点,能够广泛的应用与于科研、生产等领域1。传统文本编程语言根据指令的先后顺序决定程序执行顺序,但LABVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。LABVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LABVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LABVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图。LABVIEW尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念。因此,LABVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LABVIEW,可产生独立运行的可执行文件。针对以上现状,本设计提出以下方案总体设计主要分为上位机和下位机两部分,下位机主要是利用C8051F340单片机对信号采样并将得到的信号通过USB接口发送给PC机,上位机主要是由PC机端的GUI界面进行波形显示、频谱分析,而且PC机端的GUI界面主要利用LABVIEW来实现。论文共分为五章。第一章提出设计中的一些基本原理和相关硬件、软件的基本介绍。第二章是系统硬件设计的介绍,包括硬件的功能描述和硬件的总体设计及详细设计。第三章是系统软件的设计,针对对系统软件的功能、总体设计和各个部分的具体设计实现作详细的介绍。第四章系统的调试和分析部分,这章主要对调试的过程作了详尽的描述,并对调试过程中产生的问题进行了分析。第五章是系统设计的结论与展望,本章对结论作了详细的说明,展望是对于本次设计中的问题提出了一些个人见解。第1章系统原理与方案本章主要介绍了数据采样原理,USB通信原理,及模拟示波器设计原理。然后细化到每个模块的方案如何选择,最后根据设计的方案进行了整个论文的章节安排。11基本原理111采样的基本原理采样定理,又称香农采样定理,奈奎斯特采样定理,是信息论,特别是通讯与信号处理学科中的一个重要基本结论。ETWHITTAKER1915年发表的统计理论,克劳德香农与HARRYNYQUIST都对它作出了重要贡献。另外,VAKOTELNIKOV也对这个定理做了重要贡献。在进行模拟/数字信号的转换过程中,如果采样频率大于信号中最高频率FMAX的2倍时FSMAX2FMAX,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍,采样定理又称奈奎斯特定理。1924年奈奎斯特NYQUIST就推导出在理想低通信道的最高码元传输速率的公式理想低通信道的最高码元传输速率B2WBAUD其中W是理想图11模拟采样示意图采样定理理想信道的极限信息速率(信道容量)CBLOG2NBPS采样过程所应遵循的规律,又称取样定理、抽样定理。采样定理说明采样频率与信号频谱之间的关系,是连续信号离散化的基本依据。采样定理是1928年由美国电信工程师H奈奎斯特首先提出来的,因此称为奈奎斯特采样定理。1933年由苏联工程师科捷利尼科夫首次用公式严格地表述这一定理,因此在苏联文献中称为科捷利尼科夫采样定理。1948年信息论的创始人CE香农对这一定理加以明确地说明并正式作为定理引用,因此在许多文献中又称为香农采样定理。采样定理有许多表述形式,但最基本的表述方式是时域采样定理和频域采样定理。采样定理在数字式遥测系统、时分制遥测系统、信息处理、数字通信和采样控制理论等领域得到广泛的应用3。112API实现USB通信原理USB无疑已经成为21世纪嵌入式系统的标准外部串行接口;然而开发USB外设,需要面对微处理器和USB控制器的选择,熟悉WINDOWS驱动程序,开发微处理器固件程序和PC机端应用程序等诸多问题,开发工作既专业又麻烦。签于此,应用包含片上USB控制器的C8O51F340单片机和进行PC机端GUI用户应用程序开发的LABVIEW软件为基础的一种基于API实现USB通信的开发方法,从而了解和熟悉USB外设的API开发方法。C8O5IF340是SILICONLABORATORIES公司最新推出的可提供USB功能的混合信号微控制器。它包含高速流水线的8051兼容微控制器核,运行速率可以高达48MIPS;64KB的芯片内建闪存与5376字节的RAM,片上外设引脚可以软件配置,70的指令可以在1个或2个机器周期中执行;USB功能控制器具有完整的USB20认证,支持全速与低速操作,可以用于大多数USB外设设计。另外,SILICONLABORATORIES公司还为USB驱动程序开发提供了USBXPRESS开发套件,使得USB主机和从机驱动程序开发可以快捷、高效地完成。LABVIEW是一个具有革命性的图形化开发环境。它内置信号采集、测量分析与数据显示功能,摒弃了传统开发工具的复杂性,为用户提供强大功能的同时还保证了系统的灵活性。LABVIEW将广泛的数据采集、分析与显示功能集中在了同一个环境中,让开发人员可以在自己的平台上无缝地集成一套完整的应用方案4。利用LABVIEW软件开发PC机端USB应用程序,不仅可以获得具有良好人机交互的GUI界面,而且将极大地加快开发进程4。USB外设开发除了硬件设计外,大部分工作集中在固件编程和PC机端驱动程序以及用户应用程序的开发上。一般利用API实现USB通信的原理框图如图1所示。显然,要完成USB通信需要PC机端USB主机与C805IF340单片机端USB器件共同协作。在PC机端,需要首先建立USB主机驱动程序,然后编写用户应用程序,进而利用API函数实现用户应用程序从USB主机驱动处获取USB数据包,并完成相应的USB读写操作;在单片机端,同样需要先调用USB器件驱动程序,然后编写应用程序,而应用程序通过USB器件驱动程序实现访问USB底层硬件。USBXPRESS主机驱动USBXPRESS器件驱动应用程序API应用程序PC机单片机图12USB通信原理图由于有了SILICONLABORATORIES公司提供的USBXPRESS的开发套件,上述驱动以及应用程序的编写变得极为简便。通过在WINDOWS操作系统环境下安装USBXPRESS软件,就可以直接获得USB主机驱动程序在USBXPRESS安装目录下的DRIVER目录中、USB主机APIUSBXPRESS安装目录下的SIUSBXPDL1以及USB器件驱动程USBXPRESS安装目录下的USBXF34XLIB。USBXPRESS开发套件提供的各种软件库通过一系列函数实现单片机端和PC机端的应用程序接口API。这些函数封装了USB协议的细节,使得程序开发人员不需要了解USB的过多细节即可使用USB进行数据通信。因此对USB通信开发来说,要做的仅仅是USB主机和USB器件的具体应用程序开发,以及API函数的直接调用。113LABVIEW软件设计基本原理我们把用LABVIEW实现的一个完整的LABVIEW应用程序成为一个虚拟仪器,称为VI。所有的VI,它包括前面板、程序框图图以及图标/连结器三部分。前面板,前面板是图形用户界面,也就是VI的虚拟仪器面板,前面板直接面向用户,是用户使用虚拟仪器的基本操作面板。这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。程序框图提供VI的图形化源程序。它的功能是对前面板上的控件进行定义、操作和连线以实现虚拟仪器的功能,是LABVIEW程序设计的核心。在程序框图中存在着对VI编程,以控制和操纵定义在前面板上的输入和输出。它包括前面板上的控件和控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等17。如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。VI具有层次化和结构化的特征,一个VI可以作为子程序,这里称为子VI,被其他VI调用。图标与连接器在这里相当于图形化的参数。LABVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制6。在VI设计过程中,可以利用工具选板、前面板中的控件选板、程序框图中的函数选板进行设计。这些选板的详细功能及用法通过不断的学习设计VI的过程逐渐地掌握。12系统方案设计121系统功能在本设计中需要能够实现功能如下1、下位机上利用C8051F340单片机对数据的采样。2、将采样得到的数据通过USB接口发送给PC机。3、上位机上PC机端的GUI界面主要利用LABVIEW做成虚拟示波器,进行波形显示、频谱分。122系统方案本设计的实现主要由硬件部分和软件部分组成。下面将对系统的硬件构架和软件开发环境作已简单介绍。1221系统结构框架为了实现低频模拟信号波形显示器的设计,本设计主要分为上位机和下位机两部分,下位机主要是利用C8051F340单片机对信号采样并将得到的信号通过USB接口发送给PC机,上位机主要是由PC机端的GUI界面进行波形显示、频谱分析,而且PC机端的GUI界面主要利用LABVIEW来实现。通过以上设计系统构架框图如图13如所示。USBTHELABVIEWAPPLICATIONC8051F340PC机SIGNALGENERATORTHEUSBHOSTMICROCONTROLLEERAPPLICATIONUSBDRIVERAPIDRIVERSQUAREWAVETRIANGULARWAVESINEWAVES图13系统机构框架图1222器件选择1、单片机器件选择本次设计主要运用了C8051F340,具体介绍如下图14C8051F340的内部结构C8051F340/1/2/3/4/5/6/7器件是完全集成的混合信号片上系统型MCU。下面列出了一些主要特性7。高速、流水线结构的8051兼容的微控制器内核(可达48MIPS)。全速、非侵入式的在系统调试接口(片内)。通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1KFIFORAM。电源稳压器。真正10位200KSPS的单端/差分ADC,带模拟多路器。片内电压基准和和温度传感器。片内电压比较器(两个)。精确校准的12MHZ内部振荡器和4倍时钟乘法器。多达64KB的片内FLASH存储器。多达4352字节片内RAM(2564KB)。硬件实现的SMBUS/I2C、增强型UART(最多两个)和增强型SPI串行接口4个通用的16位定时器。具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA)。片内上电复位、VDD监视器和时钟丢失检测器。多达40个端口I/O(容许5V输入)。具有片内上电复位、VDD监视器、电压调整器、看门狗定时器和时钟振荡器的C8051F340/1/2/3/4/5/6/7器件是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。片内SILICONLABS二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。每种器件都可在工业温度范围(45到85)内用27V525V的电压工作。电源电压大于36V时,必须使用内部稳压器。对于USB通信,电源电压最小值为30V。端口I/O和/RST引脚都容许5V的输入信号电压。C8051F340/1/2/3/4/5/6/7采用48脚TQFP封装或32脚LQFP封装。图15C8051F340的原理图图16C8051F340的引脚图2、示波器示波器是一种使用非常广泛,且使用相对复杂的仪器。在数字电路实验中,需要使用若干仪器、仪表观察实验现象和结果。常用的电子测量仪器有万用表、逻辑笔、普通示波器、存储示波器、逻辑分析仪等。万用表和逻辑笔使用方法比较简单,而逻辑分析仪和存储示波器目前在数字电路教学实验中应用还不十分普遍。示波器工作原理示波器是利用电子示波管的特性,将人眼无法直接观测的交变电信号转换成图像,显示在荧光屏上以便测量的电子测量仪器。它是观察数字电路实验现象、分析实验中的问题、测量实验结果必不可少的重要仪器。示波器由示波管和电源系统、同步系统、X轴偏转系统、Y轴偏转系统、延迟扫描系统、标准信号源组成。本次所用示波器如下图图17示波器1223软件环境1、单片机开发软件KEILC51简介KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上都有明显的优势,易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面。另外重要的一点是KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。基于KEILC51的所有这些优点,在本设计中选用其作为软件设计环境8。2、LABVIEW简介LABVIEW(LABORATORYVIRTUALINSTRUMENTENGINEERINGWORKBENCH,实验室虚拟仪器开发平台)是美国NI(NATIONALINSTRUMENTCOMPANY)公司推出的一种基于G语言的虚拟软件开发工具,虚拟仪器是有用户定义,这种“软件即仪器”的思想增强了虚拟仪器的灵活性和可扩展性15。LABVIEW编程主要是用简单、直观、易懂的框图来代替传统的程序代码,并且其编程过程和思维过程很相似。如今LABVIEW已应用到航空、电子、通信、工业、医学等领域。1224测试方案本设计首先是利用KEILC51软件编译写好的程序代码,无误后通过KEIL的下载功能将编译好的目标文件下载到搭建好的测试系统中,并运行一段时间后,检测程序的正误。在运用LABVIEW之前检测自己设计的方案时,必须先保证上位机设计的合理性与成功性,为此我们必须先对其进行USB通信的检测,进而保证后面实验的可行性。验证被测信号功能被测信号是本次设计的关键部分,是我们应该首先保证的环节,通过示波器我们首先要保证三种被测信号的正常使用,为后面信号分析形成对比部分。验证LABVIEW界面功能对LABVIEW界面的检测实际是对上位机的整体检测,通过LABVIEW界面信号显示和频谱的显示进而确保整个设计的初步成功。13论文章节安排本论文共分为五章,具体介绍如下第一章是绪论,主要介绍了数据通信,USB通信,LABVIEW软件设计基本原理和相关软件的介绍。第二章是系统硬件设计的介绍,包括了C8051F340硬件的功能描述和硬件的总体设计和详细设计。第三章是系统软件的设计,在这章里将会对系统软件的功能、总体设计和各个部分的具体设计实现作详细的介绍。主要分为上位机和下位机两部分具体进行了说明。第四章是系统的调试与分析,这章主要对调试的过程作了详尽的描述,并对调试过程中产生的问题进行了分析。第五章是系统设计的结论与展望,在这一章中,结论对系统的设计结果作了简单的总结,展望则根据系统中存在的不足提出了一些相应的改进的方法。第2章硬件设计在设计的过程中,我们将系统功能分为硬件与软件来分别实现。本章主要对测试系统硬件的功能、测试系统硬件总体设计、测试系统硬件详细设计进行介绍。其中测试系统硬件的详细设计主要是C8051F340单片机系统的硬件设计进行详细介绍。21硬件功能描述硬件设计是整个系统设计的基础,是软件运行的平台。根据第一章系统方案,首先需要进行整个系统的硬件设计,硬件的设计主要根据系统所要达到的功能而进行。硬件功能主要是搭建下位机的C8051F340单片机系统构成。下位机C8051F340单片机主要作为对数据的采集。该模块主要包括供电电路、时钟电路、复位电路、JTAG电路。22硬件总体设计根据系本功能要求,需要完成以下设计以C8051F340为核心的信号采样系统,实现过程如图21。C8051F340USBPC机供电电路复位电路JTAG时钟电路被测信号图21系统总体功能流程图23硬件详细设计本小节主要介绍硬件电路中各自包含的大小模块的具体电路及电路中个元器件的选择等。231单片机最小系统该部分主要是为了实现对信号的采样,进而通过USB发送到PC机上进行波形的显示和频谱的分析。其原理图如图22所示。VINOUTGNDU1LM7_30FC24EPSBP5698JTAR/KWI关图22C8051F340原理图2311供电电路一般的电源适配器提供的都是5V的电压,但C8051F340必须使用33V的电压,所以需要用LM1117的电源芯片进行5V到33V的电压转换。其中的D、D_分别要接到单片机的8、9引脚。其原理框图如图23所示。图23C8051F340供电电路2312复位电路单片机的复位包括初始化和从头开始工作这样连续的两步。单片机复位引脚RESET接收高电平进行初始化;接收低电平,开始工作。也就是说单片机接收正脉冲开始复位,在正脉冲的下降沿启动单片机。单片机正常工作期间,复位引脚RESET需要一直保持低电平。工作过程中引脚RESET一旦接收到一个正脉冲,就会再次进行复位启动。为可靠完成复位,单片机要求RESET引脚施加的正脉冲脉宽不小于2个机器周期(2S)。设计复位电路的要求就是确定电阻电容值,使其时间常数达到2个机器周期的复位最小正脉宽要求。本设计中晶振频率FOSC12MHZ时,机器周期T1S,要求加在RESET引脚的正脉宽不小于2S。当单片机上电后,因为电容两端的电压不能突变就会使RST端瞬间产生一个大约为5V的电压,而CMOS单片机最小输入高电平电压UMIN35V,它瞬间产生的电压是大于35V的,因此RST接收高电平进行初始化。此后5V对电容C充电导致RST端电压迅速下降使它变为低电平,单片机开始工作。根据上述要求,本设计R2310K,C值取10F。C1001UF111UF33VRST/C2CKRESETSWPBR51KR61K图24复位电路图24所示电路中,在上电瞬间,由于电容的两端电压不可能突变,电阻R5对电容进行充电,充电得时间常数一般由电容和电阻的乘积来决定,要求大于5个外部时钟周期,有时为防止复位不完全,这些参数可选大一些,在本设计中采用1F的电容和1K的电阻,时间常数为1MS,满足系统复位要求。按键闭合时,电容通过R6可进行放电,使电容的压降为0,当按键断开时,电容充电的过程与上电复位类似。此外,RST/C2CK和单片机的13引脚/RST/C2CK相连。2313JTAG电路当系统调试时,需要把在计算机上编译并生成执行的代码下载到单片机芯片上,实现在线调试硬件和软件。它的接口有两端接口,其中一端与计算机的USB口相连,另一端与单片机芯片的JTAG接口相连,这是一个14针的接口,其硬件连接如图25所示。1UFC23456789JTAGVNDRS/KEWPB图25JTAG电路232USB通信与供电电路2321USB通信电路USB采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游设备提供电源。USB具有可以热插拔、携带方便、标准统一、可以连接多个设备、安装方便、结构简单、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。本设计采用的是USB20接口。UPI图26USB通信电路图26中C1C6的容值大小均参考数据手册上的典型电路;USB的2、3引脚分别接单片机的D引脚和D引脚。2322电源电路电源电路是为整个硬件系统提供能源的,它设计的好坏也关乎着系统能否正常工作。与自制的变压器产生的5V供电系统相比,由USB供出的5V电压电路安全而且简单易得,它所提供的功率不超过225W,最大输出电流为500MA,电压一般为5V5,这里的偏差可以通过接入旁路电容来消除。14USBREGINUFC708图27最小系统电源电路图27中,C7、C8的容值大小均参考数据手册上的典型电路;USB的1引脚接单片机的REGIN引脚。24系统硬件原理图设计本设计单片机C8051F340的原理图采用ALTIUMDESIGNERSUMMER09软件绘制。原理图的设计是整个设计的基础,它决定了后面整个工作的进展。因此正确设计原理图非常的重要,一般为避免出错,所以在设计原理图时候,应该注意以下几个问题首先在画原理图之前,应该根据用到的元器件去查看PROTEL的元器件库里是否有,如过没有,应该先把这些元器件的原理图符号先画好。在画器件原理图符号时没必要把所有的管脚都一一画出来,只要把用到的引脚画出来则可。这样一来可以节约时间,又可以能让原理图看起来更加的简洁。其次,在设计系统原理的图时,最好能把系统分成几个小模块,分开去设计。分模块设计的最大好处就是简单明了一目了然。最后,当原理图画完之后我们还要仔细检查,只有确认没有错误之后才生成PCB图,然后在检查过程中可以用软件自带的电气规则进行合理的配置。本设计单片机C8051F340的原理图详见附录。25系统整体PCB图设计由于本设计单片机C8051F340的原理图采用ALTIUMDESIGNERSUMMER09软件绘制。所以绘制PCB图也采用ALTIUMDESIGNERSUMMER09软件。详图见附录II。第3章软件设计硬件设计完成之后,需要编写相应的应用程序,本章分上位机和下位机两部分分别进行详细介绍。31软件功能概述根据系统功能要求,系统的软件设计可分为两大模块下位机信号的采样及发送部分和上位机对信号的分析部分,具体功能描述如下。311下位机1、利用C8051F340实现对信号的采样及发送。由于在下位机部分我们主要实现的功能是完成对信号的采样和发送,所以我们利用C8051F340主要实现,本次设计我们采用的是采样一组发送一组进行传输。2、通过USB端口实现将采样得到的信号发送到PC机上。这里其实是一个中间环节,是将上位机和下位机连接到一块的中介,通过对USB端口的设计将采样后的信号发送到PC机上。312上位机利用LABVIEW虚拟仪器设计一个示波器实现波形显示和频率分析。这里其实是本设计的最重要部分,在上位机上主要是利用LABVIEW的强大功能实现对波形的显示和频率的分析。32软件总体设计软件的设计在整个系统的设计中至关重要,该系统的软件主要由主程序统领下面的初始化程序和信号处理程序两大板块领导。主要是下位机的信号采样和发送和上位机我频谱显示和分析程序框图。下位机软件总体框图图31下位机总体框图上位机软件总体框图图32上位机总体框图33软件详细设计主程序统领各个子程序的工作,是程序设计的核心部分,也是难度比较大的一部分,所以必须根据设计要求仔细推敲,保证设计思路的正确,为后面的子程序设计做好铺垫,要在时序上安排好每个子程序的工作顺序,保证各个子程序能够更好的工作。331下位机程序设计下位机部分主要实现的功能是对信号的采样,主要两部分,初始化,信号采样并通过USB发送到PC机。在设计时整个系统的工作流程,先进入主程序,然后是对I/O口,ADC,和定时器的初始化。再进行对信号的采样和发送程序部分,本次设计主要采用的是采样一组数据发送一组数据的流程。主程序整个流程结束,依次循环执行。具体流程如下图33下位机程序流程图主程序重要相关代码注释如下1禁止看门狗的程序代码PCA0MD2处理USB总线的程序代码USB_CLOCK_START这是调用AN169USB通信库函数USB_CLOCK_START完成初始化USB总线时钟USB_INITUSB_VID,USB_PID,USB_MFRSTR,USB_PRODUCTSTR,USB_SERIALSTR,USB_MAXPOWER,USB_PWATTRIBUTES,USB_BCDDEVICE这是调用AN169USB通信库函数USB_INIT()完成USB总线使能CLKSEL|0X02RSTSRC|0X023使能API中断程序代码USB_INT_ENABLE调用AN169USB通信库函数USB_INT_ENABLE完成API中断使能3311初始化单片机初始化流程图,如图22所示。单片机初始化子程序开始看门狗定时器初始化器件时钟初始化器件I/O端口初始化单片机初始化子程序结束图34C8051F340初始化流程图看门狗定时器的初始化通过对特殊寄存器PCA0MD的WDTE位将看门狗定时器使能,如果该位被置“1”,PCA模块4被用作看门狗定时器,若为0看门狗定时器被禁止。本设计需要初始化看门狗定时器而该对应位的复位值为1因此无需做修改。器件时钟的初始化通过将特殊寄存器OSCICN的IFCN1和IFCN0位都置1设置内部晶振为最高频率;通过将特殊寄存器CLKMUL的MULEN位置1使能时钟乘法器,然后延时等待时钟乘法器准备好。通过设置特殊寄存器CLKSEL选择时钟为内部乘法器时钟。本设计主要有端口初始化,定时器初始化,ADC初始化,时钟初始化。端口I/O初始化包括以下步骤1、用端口输入方式寄存器(PNMDIN)选择所有端口引脚的输入方式(模拟或数字)。2、用端口输出方式寄存器(PNMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。3、用端口跳过寄存器(PNSKIP)选择应被交叉开关跳过的那些引脚。4、将引脚分配给要使用的外设(XBR0、XBR1、XBR2)。5、使能交叉开关(XBARE1)。(1)端口初始化PORT_IO_INIT1(2)晶振初始化OSCILLATOR_INIT;(3)ADC初始化ADC_INIT;(4)定时器初始化TIMER_INIT();3312数据采集并通过USB发送首先对信号进行一组采样,将采样后的一组信号通过USB发送到PC机。具体程序如下WHILE1IFAD_FLAG21AD_FLAG20IFAD_FLAG11BLOCK_WRITEOUT_PACKET1,1500ELSEBLOCK_WRITEOUT_PACKET2,1500本设计起初设计的采样一个数据然后发送一个数据,然后再采样一个再发送一个经过实际的实验发现这样做效率地而且效果不明显。最后改为采样一组数据再发送,以上程序就是为此设计。完成最信号的AD转换后,对信号进行采样,考虑到时效性,我们采样一组数据在通过USB进行发送。具体程序如下VOIDADC_CONVCOMPLETE_ISRVOIDINTERRUPT10IFAD_FLAG10OUT_PACKET1NUMADC0HNUMIFNUM1500NUM0AD_FLAG11AD_FLAG21ELSEOUT_PACKET2NUMADC0HNUMIFNUM1500NUM0AD_FLAG10AD_FLAG21AD0INT0332上位机程序设计3321前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,前面板直接面向用户,是用户使用虚拟仪器的基本操作面板。这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。本次设计前面板主要是实现波形显示,和频谱的显示进而与示波器进行对比前面板如下所示图35前面板图3322后面板后面板是程序框图板块,程序框图提供VI的图形化源程序。它的功能是对前面板上的控件进行定义、操作和连线以实现虚拟仪器的功能,是LABVIEW程序设计的核心。在程序框图中存在着对VI编程,以控制和操纵定义在前面板上的输入和输出。它包括前面板上的控件和控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。本次设计程序框图如下图36后面板框图一一般,IABVIEW的上层应用程序通过调用USBXPRESS提供的USB主机API函数实现对下层USB硬件访问的程序流程如图37所示。程序开始调用用户上层应用程序进行USB通信吗调用SIGETNUMDEVICES0和SI_GETPRODUCTSTRING0,获取USB器件相关信息设置USB总线延迟调用SI_OPENO,打开USB器件调用SIREAD0,读USB器件数据块或者调用SIWRITE0,USB器件写数据块USB通信完成吗调用SLCLOSE0,关闭USB器件程序结束NYNY图37后面板流程图借助USBXPRESS提供的USB主机API,即USBXPRESS安装目录下的SIUSBXPDLL,可以简便地实现在PC机上通过LABVIEW软件编写的GUI程序与作为USB器件的C8051F340单片机的USB通信。USBXPRESS提供了10个USB主机API函数,具体如下SI_GETNUMDEVICES获取USB器件的序列号SI_GETPRODUCTSTRING()获取USB器件的产品描述信息SI_OPEN()打开USB器件SI_CLOSE()关闭USB器件SI_READ()读USB器件数据版SI_WRITE()向USB器件写数据块SI_FLUSHBUFFERS()清楚USB器件读和写队列中的数据SI_SETTIMEOUTS()设置USB读写延时SI_GETTIMEOUTS()获取USB读写延迟SI_CHECKRXQUEUE()获取器件读队列中的数据的个数在LABVIEW软件编写GUI程序是可通过LABVIEW软件中的CLF节点LABVIEW高级子模板中的调用库函数节点调用USBXPRESS提供的USB主机API,以达到访问USB底层硬件的目的。现以实现USB主机API函数中的SIGETNUMDEVICES函数为例,具体说明在LABVIE软件中如何实现对USBAPI函数的调用。本设计用到的节点具体介绍如下。图37函数调用在“库名置USB主或路径”框中设机API函数的封装库SIUSBXPDLL的路径,然后在“函数名”下拉菜单中选择当前想要调用的SIGETNUMDEVICES函数,在“线程”框中选择“在UI线程中运行”,在“调用规范”框中选“STDCALLWINAPI”,最后在“参数”菜单中进行相应设置。所有设置完毕,得到图36所示的名为“SIGETNUMDEVICES”的调用库函数节点。这样LABVIEW的上层应用程序就可以通过调用这个库函数节点来获取USB器件的序列号信息。同理我们可以得到USB读写延迟功能如下图。图38USB读写延迟打开USB图如下图39打开USB器件向USB器件写数据模块310向USB器件写数据块波形图表是显示一条或多条曲线的特殊数值显示控件,一般用于显示以恒定速率采集到的数据。下列前面板显示了一个波形图表的范例。波形图表会保留来源于此前更新的历史数据,又称缓冲区。右键单击图表,从快捷菜单中选择图表历史长度可配置缓冲区大小。波形图表的默认图表历史长度为1,024个数据点。向图表传送数据的频率决定了图表重绘的频率。在波形图表中显示单条曲线如一次向图表传递一个或多个数据值,LABVIEW会将这些数据作为图表上的点,从X0开始以1为增量递增X索引。图表将这些输入作为单条曲线上的新数据。波形图表接收波形数据类型,该类型包含了波形的数据、起始时间和时间间隔T。创建波形(模拟波形)函数可在图表的X标尺上划分时间,并自动使用X标尺刻度的正确间隔。在指定了T0和单元素Y数组的波形中,各个数据点均拥有时间标识,因此适用于绘制非均匀采样的数据。下面是本次设计的波形图标部分17。图312波形图表幅值和电平测量。直流采集信号的直流分量。均方根计算信号的均方根值。加窗在信号上使用LOWSIDELOBE窗。勾选直流或均方根复选框时,才可使用该选项。平滑窗用于减缓有效信号中的急剧变化。如采集到的周期数是整数或对噪声谱进行分析,则通常不在信号上使用窗。最大峰测量信号的最高正峰值。最小峰测量信号的最低负峰值。峰峰值测量信号最高正峰和最低负峰之间的距离。周期平均测量周期性输入信号完整周期的平均电平。周期均方根测量周期性输入信号完整周期的均方根值。34程序代码本设计中的单片机程序代码在KEILUVISION4环境下编写,具体程序代码分别见附录V。第4章系统调试本章主要对调试目的、调试方案、调试过程与结果以及调试过程中遇到的问题及解决方案进行详细介绍。41调试目的本系统的调试主要进行软件的调试,同时通过测试硬件系统验证系统性能的物理可行性。411验证USB通信在运用LABVIEW之前检测自己设计的方案时,必须先保证上位机设计的合理性与成功性,为此我们必须先对其进行USB通信成功的检测,进而保证后面实验的可行性。412验证被测信号功能被测信号是本次设计的关键部分,是我们应该首先保证的环节,通过示波器我们首先要保证三种被测信号的正常使用,为后面信号分析形成对比部分。413验证LABVIEW界面功能对LABVIEW界面的检测实际是对上位机的整体检测,通过LABVIEW界面信号显示和频谱的显示进而确保整个设计的初步成功。414整体调试对整体调试,去验证整个系统工作状态,看是否达到设计之初的设计要求,并且通过整体的调试,使整个系统达到最优化,工作起来更顺畅无阻。42调试方案421验证USB通信成功在LABVIEW上检测通信成功是要在后面板设置探针检测线路是否联通。本次检测是运用四个探针对主要线路进行检测。具体检测如下所示图41USB通信测试图探针1表示检测到与上位机相连的USB设备1个。探针2表示USB设备被成功返回的句柄,该句柄将用于后面的API调用。422硬件方面检测本设计是利用C8051F340单片机实现信号采样。因为340单片机体积小、价钱便宜、片上外设资源丰富。C8051F340单片机的硬件设计方案如图42所示图42C8051F340硬件图423检测被测信号运用示波器检测被测信号,验证三种波形的输出正常。检测图如下图43波形显示424整体调试首先将整个系统搭建起来,检测线路的完整,最后进入最终的检测环节,在被测信号上设置一定的幅度和频率,然后打开电源观察LABVIEW界面的波形与示波器的波形进行对比,若两波形基本相同说明整个系统调试成功。43调试结果本设计在LABVIEW上对信号采集时主要对三种波形进行了采集,方波,正玄波和三角波。由于本次设计的目的是对其频率和幅度进行分析。所以在幅度方面主要分1V和3V进行了检测。在频率方面我们主要分五个频段进行了具体分析和说明,五个频段主要是500HZ,1000HZ,2000HZ,3000HZ,4000HZ进行了分析。具体测试结果如下ALABVIEW界面图B幅度谱C被测信号以上是幅度3V频率为500HZ1000HZ,2000HZ,3000HZ,4000HZ五个频率段进行测试。对不同频率的信号与被测信号进行对比。由于不同波形对频谱分析无影响,加之以上已经可以说明不同波形的显示情况,所以在对1V进行测试时我们只测一种波形进ALABVIEW界面图B幅度谱C被测信号图4234000HZ1V正玄波44调试过程中遇到的问题及解决方案在系统的调试过程中,产生的问题多种多样。下面就对主要问题进行分析,对相应的解决

温馨提示

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

评论

0/150

提交评论