




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z...简易手持式智能示波表的系统设计摘要:可编程片上系统(SystemOnaProgrammableChip)设计是一个崭新的嵌入式系统设计方向,它试图将尽可能大而完整的电子系统在单一FPGA芯片中实现。与此同时,高性能、低功耗、微型化是现代数字示波器开展的一个方向,SOPC技术的出现为数字示波器的这种开展方向带来了一种新的开发技术。本文介绍了一种基于FPGA的手持式数字存储示波表的设计方案。在这种方案中,使用了在CycloneII系列芯片EP2C5Q208C8中嵌入NiosIICPU软核作为控制核心,并用FPGA芯片中剩余的其他可编程逻辑资源构成该嵌入式系统的外围器件控制器,借助于Avalon总线,对外围SDRAM、FLASH、ADC、LCD显示器、按键等器件进展控制,形成数字示波表的数字核心模块;另外本设计配以模拟通道电路对前端采集的模拟信号进展处理,采用MA*IM公司的MA*114进展高速数据采集,使用320*240液晶屏做为终端显示设备,由此组成了一个完整的数字示波表。最后,通过实际硬件测试,本系统不仅完成了设计目标,而且保证了系统的可扩展性和升级性,验证了本系统方案设计的正确性和基于NiosII处理器实现可编程片上系统的可行性。关键词:SOPC;示波表;FPGA;NiosIISummarytablehandheldoscilloscopeIntelligentDesignAbstract:ProgrammableSystemonChip(SystemOnaProgrammableChip)designisanewembeddedsystemdesigndirection,aslargeaspossiblewhileittriestopleteelectronicsystemisimplementedinasingleFPGAchip.Atthesametime,highperformance,lowpowerconsumption,miniaturizationisthedevelopmentofamoderndigitaloscilloscopedirection,SOPCtechnologypresentsadigitaloscilloscopethathasbroughtanewdirectionofdevelopmentoftechnology.ThispaperintroducesaFPGA-basedhandhelddigitalstorageoscilloscopetabledesign.Inthisscenario,usethechipsintheCycloneIIEP2C5Q208C8embeddedsoft-coreNiosIICPUasthecontrolandusetheFPGAchipwiththerestofprogrammablelogicresourcesoftheembeddedsystemperipheraldevicecontroller,bymeansofAvalonbusofe*ternalSDRAM,FLASH,ADC,LCDdisplay,buttons,etc.tocontrolthedevicetoformadigitaloscilloscopenumberofcoremodulestable;alsoacpaniedbythedesignonthefrontendanalogcircuittheanalogsignalprocessing,useofMA*IM'sMA*114high-speeddataacquisition,using320*240LCDdisplayasaterminaldisplaydevice,therebytoformapletedigitaloscillograph.Finally,theactualhardwaretesting,thesystemnotonlypletedthedesigngoals,andensurethesystemscalabilityandupgradeabilitytoverifytheaccuracyofthesystemdesignandtheNiosIIprocessor-basedProgrammableSystemonChipfeasibility.Keywords:SOPC;oscilloscope;FPGA;NiosII.z..目录1绪论11.1示波器简介11.1.1示波器的根本工作原理11.1.2数字示波器的优势及开展现状11.1.3走在研究前沿的数字示波表21.2FPGA可编程逻辑器件21.2.1FPGA可编程逻辑器件简介21.2.2FPGA与SOPC技术21.3NiosII软核处理器系统31.3.1NiosII构造及特点31.3.2NiosII处理器总线31.4课题研究内容41.4.1本文主要工作41.4.2课题意义与前景42系统整体设计方案论证与分析42.1系统设计功能目标42.2系统设计方案分析43硬件电路设计53.1前端数据处理及采集局部电路设计53.1.1信号调理电路53.1.2信号整形电路63.1.3ADC转换电路73.2FPGA硬件电路73.3FPGA内部逻辑控制电路83.3.1FIFO存储器模块83.3.2PLL锁相环倍频模块93.3.3采集频率数控模块103.3.4等精度测频模块103.4NiosIICPU及其接口电路113.4.1NiosIICPU电路113.4.2Flash接口电路123.4.3SDRAM接口电路123.4.4LCD液晶接口电路133.4.5键盘接口电路143.5电源模块设计154软件设计164.1可编程器件的程序设计164.1.1QuartusII设计软件164.1.2VerilogHDL语言164.1.3等精度测频模块174.1.4采集频率数控模块184.2NiosIICPU程序设计204.2.1NiosIIIDE设计软件204.2.2系统整体程序设计214.2.3数据采集处理程序设计214.2.4液晶显示局部程序设计214.2.5键盘扫描局部程序设计225系统性能测试及分析235.1测试仪器235.2功能测试235.3数据测试245.4测试结果分析246完毕语25[参考文献]26附录27致谢30-.z1绪论示波器简介示波器是一种用途十分广泛的电子测量仪器。它能把肉眼看不见的电信号变换成看得见的图象,便于人们研究各种电现象的变化过程。在现代电子测量,仪器仪表领域中,示波器是最常使用的仪器之一。1.1.1示波器的根本工作原理电子设备可以划分为两类:模拟设备和数字设备。模拟设备的电压变化连续,而数字设备处理的是代表电压采样的离散二元码。同样,示波器也能分为模拟和数字类型。模拟示波器工作方式是直接测量信号电压,并通过从左到右穿过示波器屏幕的电子束在垂直方向描绘电压。但模拟示波器只能对波形进展实时显示,并且不能够进展存储和调出,这在*些测量环境下并不利于测量工作的进展。与模拟示波器不同,数字示波器通过模数转换器〔ADC〕把被测电压转换为数字信息。它捕获的是波形的一系列样值,并对样值进展存储,存储限度是判断累计的样值是否能描绘出波形为止。随后,数字示波器重构波形,将波形显示在屏幕上[7]。图1数字存储示波器顺序处理体系构造1.1.2数字示波器的优势及开展现状数字存储示波器是20世纪70年代初开展起来的一种新型示波器。示波器可以方便地实现对模拟信号波形进展长期存储并能利用机内微处理器系统对存储的信号做进一步的处理。相对于模拟示波器,它具有以下几个显著的优点:无闪烁地观察频率很低的信号、长时间地保存信号、具有先进的触发功能、测量精度高、具有强大的处理能力、具有数字信号的输入/输出能力等等[6]。随着液晶显示屏和可编程器件的开展和广泛使用,数字示波器也将引用这些技术,可编程数字存储示波器将成为趋势,它采用了先进的液晶显示技术和可编程逻辑器件FPGA,可以根据需要随时对功能升级。另外,数字示波器的体积也会减小很多,像手持式数字示波器,可以方便携带。未来数字示波器将会得到更进一步的开展,能够进展实时显示、存储和分析复杂的信号,利用三维信息〔振幅、时间性、及多层次辉度显示幅度分量显示的频率〕充分展现信号的特征。1.1.3走在研究前沿的数字示波表数字示波表是数字示波器的一种,但是相对于普通的示波器,其优点表现在具有普通示波器的根本功能的根底上,大大缩小了整体体积,便于使用者操作和携带,对实际测量极为方便。目前数字示波表主要由高性能微处理器、高速A/D及数据处理电路组成。被测信号经过输入通道进展信号调理,然后经过A/D转换,存入FIFO,供微处理器进展处理。微处理器根据菜单输入,执行相应算法,满足用户的测量需求[8]。最近几年兴起的FPGA芯片采用全新的硬件构造,可以在内部实现数字电路,包括FIFO存储器、DSP高速处理内核、NiosII软核处理器等。这对数字示波表的硬件电路设计大大提供了方便,在最后设计的系统硬件中缩小了体积,并且还保证了系统的可升级和扩展性。FPGA可编程逻辑器件1.2.1FPGA可编程逻辑器件简介FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的缺乏,又克制了原有可编程器件门电路数有限的缺点[5]。其主要特点就是完全由用户通过软件进展配置和编程,从而完成*种特定的功能,且可以反复擦写。在修改和升级时,不需额外地改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了本钱。1.2.2FPGA与SOPC技术SOPC即System-on-a-Programmable-Chip,中文全称是可编程片上系统。可编程片上系统〔SOPC〕是一种特殊的嵌入式系统:首先它是片上系统〔SOC〕,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩大、可升级,并具备软硬件在系统可编程的功能[3]。SOPC技术与FPGA结合起来的应用方向主要包括IP硬核嵌入、IP软核嵌入以及HardCopy技术应用三个方面。本文中的设计就属于基于FPGA嵌入IP软核的应用,在FPGA中嵌入NiosII软核,作为本设计的主控核心。NiosII软核处理器系统1.3.1NiosII构造及特点NiosII系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS。NiosII是通用的32位RISC软核处理器,是Altera公司特有的基于通用FPGA架构的软CPU内核,它支持:完全的32位指令集、数据总线和地址空间32位通用目的存放器32个外部中断源单指令32*32位乘和除指令得到32位结果计算64位和128位乘积专用指令集对多种片上外设进展,提供片外储理器和外设接口具有超过150DMIPS的性能使用NiosII处理器具有如下优势:提高系统性能延长产品的生命周期功能强大、易用的开发工具1.3.2NiosII处理器总线NiosII系统的所有外设都是通过Avalon总线与NiosIICPU相接的,Avalon总线是一种协议较为简单但功能很强大的片内总线,NiosIICPU通过Avalon总线与外界进展数据交换。Avalon总线的特点有:所有外设接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。为了方便外设设计,地址、数据和控制信号使用别离的、专用的端口。此外,Avalon总线还包括许多其他特性和约定,用以支持SOPCBuilder软件自动生成系统、总线和外设,包括:最大4GB的地址空间、内置地址译码、多主设备总线构造、采用向导帮助用户配置系统、动态地址对齐等。课题研究内容1.4.1本文主要工作本文在FPGA内部嵌入IP〔IntellectualProperty〕软核的SOPC,设计并实现了一款手持式数字示波表,显示采用320*240液晶。与现有数字示波器相比,本设计在保持其原有根本功能的根底上,大大缩小了硬件体积,并且能够根据需求进展扩展升级。1.4.2课题意义与前景本课题成果可以作为通用测量仪器,广泛用于电子研发、维修及调试等领域。同时也可用于教育及职业学习,如EDA实验室的建立、电子设计的教学等。另外,本设计中等效采样局部采用VerilogHDL语言编写,与目前一般采用步进延迟电路的方案不尽一样,与目前等效采样局部的实现方案,具有一定的超前意义。2系统整体设计方案论证与分析系统设计功能目标本系统要求能对较宽幅值*围和频率*围的被测号进展较高精度的模数转换并存储,再经过数据处理,送到液晶显示。考虑到实际需求和实现难度,确定了本系统的主要技术参数如下:带宽:10MHZ信号输入*围:20mv~20v通道:单通道垂直灵敏度:20mV/div、0.2V/div、2.0V/div水平灵敏度:200ns/div--50ms/div输入阻抗:1M欧工作模式:单次、连续、存储、调出显示:波形显示区域200*200点,分为20格*20格系统设计方案分析本系统是采用FPGA+NiosII软核处理器的架构实现的。利用FPGA构建出频率计、FIFO存储器及控制器、数控分频器、频率锁相环等模块,然后将采集的频率、幅度等数据通过Avalon总线传输给NiosII软核处理器,经过处理之后,在液晶屏幕上显示。整体硬件框图如图2所示。系统的工作流程为,输入信号首先经过初步调理,实现阻抗匹配,然后分为两路:一路经信号整形电路后转换成相等频率的方波信号供等精度频率计进展频率计数,这局部完成了频率参数的测量;另外一路信号经过多路选择开关后进入不同的信号进阶调理电路,处理成ADC采集电压*围内的信号,以便于ADC完成对信号幅度的采集。因为本系统需要完成智能采集的功能,即自动根据输入信号的频率选择适宜频率的采集信号对输入信号进展采集,然后显示在液晶屏幕上。这一功能的实现机制是NiosII根据等精度频率计计算得到输入波形的频率,然后指定相应的信号给数控分频器,然后控制采样频率模块产生相应频率的采集波形给ADC转换器,完成对输入波形的智能采集。图2整体硬件框图3硬件电路设计前端数据处理及采集局部电路设计此局部硬件电路主要包括信号调理电路、信号整形电路、ADC转换电路以及ADC与FPGA的接口电路。3.1.1信号调理电路信号调理电路的主要作用是配合探头不失真地探测、衰减或放大信号,并转换成ADC需要的信号,同时实现信号的交直流耦合选择和信号偏移等[9]。本设计中的信号调理电路为了保证最终输入ADC的信号是在ADC转换器的采样*围内,因此针对不同幅度的信号,分为三路进展调理的。首先信号进入阻抗匹配电路,然后手动选择多路开关,进展处理通道选择,第一路为信号衰减0.25倍,信号输入*围为2V~20V;第二路为信号放大2.5倍,信号输入*围为200mV~2V;第三路为信号放大62.5倍,考虑一级电路难以实现,故采用两级分级放大,第一级放大6.25倍,另外一级放大10倍,信号输入*围是20mV~200mV。图3为信号调理原理图。图中所采用运放为TI公司的OPA690[13],该芯片是一个具有电压反应特性、宽工作电压、高输出电流的宽带放大器。其芯片特性能够很好的满足本设计信号处理电路中所需放大器的需求。图3信号调理原理图3.1.2信号整形电路输入信号经过比例放大后,经过比拟器可以将任何信号变换成标准方波波形,然后送入FPGA内部的测频模块测量信号的频率。本系统中采用TL3016高速比拟器来实现,通过电位器R24调节比拟电压,可以实现非过零比拟。经过整形后的输出电平与TTL/CMOS电平兼容,可以直接送至FPGA内部进展频率测量。图4为信号整形电路。图4信号整形电路图3.1.3ADC转换电路ADC转换器采用MA*IM公司的MA*114[12]。它是具有4路采集通道,转换数据长度8-bit,采集速率可达1Msps的低功耗ADC芯片。由于MA*114具有4路通道,这样可以在以后的需求中进展多路采集,具有可扩展的升级性能。MA*114的最高转换速率是1Msps,我们在读取转换完成后的数据时需要给/RD引脚一个低电平,所以我们需要控制读取信号的频率在1Msps以下,则可以完全无误的读取转换后的数字信号。ADC转换电路图如图5所示。图中的R22是一个电位器,可以控制基准电压,即ADC转换的比拟电压。图5MA*114ADC采集电路FPGA硬件电路本设计中采用的FPGA芯片为CycloneII系列芯片EP2C5Q208C8[14],该芯片共有208个引脚,内部LE数目为4608个,RAM共有119808位,且内部含有2个硬件PLL和13个硬件乘法器。这些硬件需求已经能够大大的满足本设计的需求,并且在完本钱设计的根底上,仍然具有相当可观的可升级和扩展性。附录一为FPGA硬件电路图。该电路图主要包括FPGA芯片电路、EPCS串行存储器的电路、时钟电路、JTAG接口电路以及复位电路五个局部。这五个局部组成了FPGA的最小系统,FPGA只有具备这五个电路,才能够进展根本的工作。EPCS存储器是对FPGA内部电路进展存储的的存储器,由于FPGA基于SDRAM构造,掉电之后不能够对内部电路进展保存,所以需要一个Flash存储器进展存储。本设计中选取EPCS1,其具有1M的存储空间。时钟电路局部使用了50M的有源晶振,其在电压的作用下,能够输出非常准确的频率时钟,经由FPGA内部的PLL电路,可以使系统工作时钟高达200MHz。JTAG接口电路主要包括JTAG接口和AS下载接口,JTAG主要用于仿真程序下载,便于系统调试。AS接口用于固化程序至EPCS芯片。复位电路采用芯片MA*811T对3.3V系统电源电压进展监控,当供电电压超过或低于芯片内部阈值时,芯片将执行强制复位。这可以有效的防止电源电压过高时烧毁芯片和电源电压过低时而导致FPGA芯片无法工作等情况的发生。FPGA内部逻辑控制电路本系统中在FPGA内部实现的逻辑控制电路有:FIFO存储器模块、PLL锁相环倍频模块、采集波形频率数控模块、等精度测频模块、NiosIICPU电路模块。3.3.1FIFO存储器模块本设计中采用了Altera公司提供的硬件FIFO来实现对数据的缓冲。FIFO存储器是一个先入先出的双口缓冲器,FIFO主要实现了ADC与NiosII处理器之间的数据缓冲问题,由于其读写可以异步,很好的解决了两者速度不兼容的问题。由FPGA内部生成的FIFO模块如图6所示。图6FIFO模块电路在此模块中,端口data[7..0]为ADC数据输入端;q[7..0]为存储数据输出端;wrclk,rdclk分别为写,读时钟;wrfull为FIFO写满信号,当FIFO存储满时,该信号置位;rdempty为读空信号,当FIFO内容被读空时,该位置位;aclr为异步清零,使能该位可以清空FIFO内部所有数据。3.3.2PLL锁相环倍频模块本模块采用FPGA硬件IP进展调用生成。该模块的主要功能是可以对源输入时钟进展时钟倍频和相位变化,产生多个系统需要的时钟[4]。图7PLL模块电路此模块中,inclk0是外部输入时钟,为50MHz,经过PLL后产生三路倍频信号:c0不做更改,驱动NiosIICPU,作为CPU的工作时钟;c1经过-72度相位偏移,用于SDRAM的时钟信号;c2经过4倍倍频,为200MHz,用于等效采样模块中的△t的产生。3.3.3采集频率数控模块此模块根据需要,主要分为两个局部,即实时采样分频模块和等效采样模块。在FPGA中实现后的模块图如图8所示。图8频率数控模块电路在此模块电路中,tdiv模块即为实时采样分频模块,equ_sa_clk为等效采样模块。tdiv_data为数控传递的分频信号/等效采样信号。当系统采集被采集信号的频率大于1M时,即采用等效采样方式;否则采用实时采样模式。根据分频信号对时钟进展适宜的分频后,输出给ADC的采集端。系统需要确保采样时钟频率是被采样信号频率的10~20倍,这样在采集回来一个波形周期的采样点数在合理的显示*围内。3.3.4等精度测频模块为了准确测量信号的频率,系统采用等精度测频模块,将产生的数据送入CPU中进展处理,然后送出显示。整个频率的测试*围为0.1HZ—50MHz。测频全域相对误差恒为百万分之一。图9等精度测频模块RTL转换图。将信号经过整形电路得到待测信号F*,送入TCLK输入端,采用50MHz标准信号Fs从BZH时钟输入端输入。在一定闸门时间内,计算出被测信号的计数值N*,和对标准频率信号的计数值Ns。计算公式为:3-1测得的频率为:3-2在对标准信号和被测信号进展采集时,模块采用对波形的上升沿进展敏感计数,即当信号波形的上升沿来到时,模块会自动为相应的存放器的值加一。存放器长度为32位,加以控制模块计数时间,确保存放器计数值不会溢出。图9等精度测频模块RTL转换图NiosIICPU及其接口电路NiosIICPU电路是通过SOPCBuilder在FPGA内部定制而成的。在CPU的接口模块上,本系统定制了Flash接口、SDRAM接口、EPCS接口、LCD液晶接口、按键接口、JTAG模块和其他一些需要和FPGA内部逻辑控制模块进展通信的数据端口。3.4.1NiosIICPU电路本设计采用Altera公司提供的标准32位NiosII软核。NiosII软核作为系统的流程控制中心,可以通过SOPCBuilder对NiosII进展定制,极大地减少系统的使用资源。由于系统中有多个模块需要与NiosII交互,因此需要在CPU中扩大Avalon总线接口,到达将自定义模块挂入NiosII的目的。系统中挂入Avalon总线上的模块有FIFO控制模块、按键采集模块、液晶屏驱动模块、FLASH、SDRAM等设备以及各种参数传送模块。NiosIICPU通过Avalon总线与这些模块进展数据通信,完成对整个系统的调控。最终NiosIICPU定制模块附录二所示。3.4.2Flash接口电路由于FPGA内部存储空间有限,因此需要在外部扩展一片FLASH存储器,来存储程序,支持NiosII软核的程序设计。本设计中采用JS28F640,其存储空间为64M,已完全能够满足本设计的需要。通过SOPCBuilder在内部参加FlashMemory控制器,完成程序设计后可以在使用NiosIIIDE里面的FlashProgrammer将程序下载至Flash中,当系统每次上电时,会自动从Flash中读取程序。图10是FLASH芯片的硬件电路图。图10Flash芯片硬件电路图3.4.3SDRAM接口电路本系统在运行时需要对大量的数据进展处理,如果放在Flash中进展处理,在运算速度上会严重影响系统整体性能,需要在运算速度比拟快的RAM中进展。而仅仅靠FPGA内部的RAM是远远不够的。处于设计需求考虑,本设计采用HY57V641620作为外部扩展的SDRAM,该芯片具有8M的存储空间,已能够满足设计需求。通过在SOPCBuilder中定制SDRAM控制器,并挂接在Avalon总线上。图11为SDRAM芯片的硬件连接图。图11SDRAM硬件电路图3.4.4LCD液晶接口电路本系统采用松山公司的CA320240B液晶模块对所需数据信息进展显示,该液晶分辨率为320*240,模块采用RA8835控制器,该控制器支持多种操作时序,可以方便的用C语言进展程序设计,然后模拟时序对液晶模块进展控制显示。该液晶可以分为文本显示和图形显示,最多能够设置3个图层,内部自带32K数据存储器,可以自由配置每一个图层的内部数存储起始地址,向相应的地址写入数据,则在相应的点上显示相应的数据。其硬件电路图如图12所示。该液晶数据端口是8位,包括命令数据和显示数据。图中的RW1可以调节液晶的背光电压,从而到达调节液晶显示比照度的目的。由于液晶在显示时灌电流比拟大,而FPGA承受电流能力与输出电流能力比拟有限,为了防止对FPGA进展干扰和伤害,因此在考虑其与FPGA端口相连时,在与FPGA相连的每个数据线上都串入1K的电阻,进展限流和滤波。图12液晶模块硬件电路图3.4.5键盘接口电路键盘一般都由多个按键组成,主要用于嵌入式产品中的人机交互。在系统设计时,产品设计者可以根据用户不同的按键输入指定相应的功能,以便用户能够更好的控制系统。在本设计中,为了满足用户对示波表的功能操作,共采用了六个按键,其功能分别是:单次、连续、存储、调出、水平扫描调节、垂直扫描调节。对于按键抖动,本系统中利用软件状态机进展防止,在软件设计局部有详细说明。图13是按键模块的硬件电路图。图13按键模块硬件电路图电源模块设计在本系统中,各局部工作需要6种电源电压,+12V、-12V、+5V、-5V、+3.3V、+1.2V。±12V电压主要用于信号调理电路中的运算放大器芯片的供电,±5V电压主要用于一般芯片的工作电压,+3.3V和+1.2V电压主要用于FPGA系统中其他芯片的工作电压。在设计中采用LM7812和LM7912产生±12V,采用LM7805和LM7905产生±5V,用AMS117产生+3.3V和+1.2V电源电压。具体实现电路图如下图。图14+3.3V和+1.2V电源电路图图15±5V电源电路图图16±12V电源电路图4软件设计要完成一个系统,且需保持其具有升级性,则必须有软件支持。在本系统中,软件设计主要包括液晶驱动设计、键盘扫描程序的编写、数据处理程序以及FPGA内部用VerilogHDL语言编写的各种模块。可编程器件的程序设计4.1.1QuartusII设计软件QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL〔AlteraHardwareDescriptionLanguage〕等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[15]。其设计流程如图17所示。图17QuartusII设计流程示意图4.1.2VerilogHDL语言VerilogHDL是一种硬件描述语言〔HDL:HardwareDiscriptionLanguage〕,是一种以文本形式来描述数字系统硬件的构造和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。VerilogHDL支持硬件设计的开发、验证、综合和测试;硬件数据之间的通信;硬件的设计、维护和修改[1]。本系统中选取VerilogHDL作为描述语言,运用了构造描述与行为级描述相结合的模块化设计方法,既保证了高速的要求,又便于程序的设计修改和维护。、在本系统中利用VerilogHDL构建的主要模块有等精度测频模块和采集频率的数控模块[2],下面对两个模块进展代码说明。4.1.3等精度测频模块/************************************************************名称:等精度测频模块*功能:标准频率为50MHz,在一样时间内分别对标准脉冲和待测方波进行计数,然后计算出待测方波的频率************************************************************/modulefre_test(BCLK,TCLK,CLR,CL,//inputSTART,DBZQ,DTSQ//output);inputBCLK,TCLK,CLR,CL;outputSTART;output[31:0]DBZQ;//标准频率计数器output[31:0]DTSQ;//测试频率计数器regENA;reg[31:0]DBZQ;reg[31:0]DTSQ;assignSTART=ENA;/************************************************/always(posedgeBCLKornegedgeCLR)beginif(CLR==1'b0)DBZQ<=0;elseif(ENA==1'b1)DBZQ<=DBZQ+1;End/************************************************/always(posedgeTCLKornegedgeCLR)beginif(CLR==1'b0)DTSQ<=0;elseif(ENA==1'b1)DTSQ<=DTSQ+1;end/************************************************/always(posedgeTCLKornegedgeCLR)beginif(CLR==1'b0)ENA<=1'b0;elseENA<=CL;endendmodule4.1.4采集频率数控模块/************************************************************名称:实时采样分频模块*功能:输入频率为200MHz,根据不同的tdiv_data生成相应的频率至A/D采集端,当高于实时采样频率阈值时,采用等效采样模块。************************************************************/moduletdiv(clk_200M,tdiv_data,A/D_clk);inputclk_200M;input[4:0]tdiv_data;outputA/D_clk;wireA/D_clk;regclk_1K,clk_5K,clk_10K,clk_20K,clk_50K,clk_100K,clk_200K,clk_500K;regclk_1M,clk_4M,clk_10M,clk_50M,clk_100M;reg[7:0]cout_1K,cout_5K,cout_10K,cout_20K,cout_50K,cout_100K;reg[7:0]cout_200K,cout_500K,cout_1M,cout_4M,cout_10M,cout_50M;assignA/D_clk=(clk_1K&&(tdiv_data==1))||(clk_5K&&(tdiv_data==2))||(clk_10K&&(tdiv_data==3))||(clk_20K&&(tdiv_data==4))||(clk_50K&&(tdiv_data==5))||(clk_100K&&(tdiv_data==6))||(clk_200K&&(tdiv_data==7))||(clk_500K&&(tdiv_data==8))||(clk_500K&&(tdiv_data==9))||(clk_4M&&(tdiv_data==10))||(clk_10M&&(tdiv_data==11))||(clk_50M&&(tdiv_data==12))||(clk_100M&&(tdiv_data==13))||(clk_200M&&(tdiv_data==14));…/************************************************************名称:等效采样模块*功能:输入频率为200MHz,根据不同的tdiv_data生成相应的频率至AD采集端,当低于实时采样频率阈值时,此模块不工作。************************************************************/moduleequ_sa_clk(tdiv_data,AD_clk,sa_clk);input[4:0]tdiv_data;inputAD_clk;outputsa_clk;regequ_clk;reg[16:0]t;reg[8:0]n;wiresa_clk;always(posedgeAD_clk)beginif(t>=(200*20+200))t<=0;elset<=t+1;if(t==(20+1)*(n+1))beginequ_clk<=1;if(n>=200)n<=n+1;elsen<=0;endelseequ_clk<=0;endassignsa_clk=(equ_clk&&(tdiv_data>=10))||(AD_clk&&(tdiv_data<10));endmoduleNiosIICPU程序设计4.2.1NiosIIIDE设计软件NiosIIIDE设计软件是Altera公司为NiosII软核处理器设计的专用开发软件。NiosIIIDE具有良好的设计界面,相比其他嵌入式设计软件,除了具有根本的一样的仿真、在线调试等功能外,它还提供了多个设计模板,便于用户开发,同时它还为NiosII软核处理器提供许多专属功能,如代码硬件加速等[16]。4.2.2系统整体程序设计在对NiosIICPU进展程序设计中,程序通过C语言[11]来进展设计,其设计内容主要包括数据采集处理程序、液晶显示驱动程序以及按键扫描程序设计三个局部。下面分别对三个局部的程序设计进展介绍和说明。4.2.3数据采集处理程序设计图18为数据采集处理程序的流程图。图18数据采集处理程序流程图在数据采集处理程序中,包括幅度数据和频率数据。幅度数据存储在FIFO中,利用FIFO的满信号进展程序中断,当ADC向FIFO中填满数据时,程序产生中断,我们读取FIFO的数据进展处理后显示在屏幕上。频率数据是由等精度频率计数器提供的,其中包括标准频率计数值和待测频率计数值,根据算法便可计算出待测波形的频率,更改相应的格式后进展显示。4.2.4液晶显示局部程序设计液晶显示采用320*240液晶屏,该液晶自带RA8835控制器,有丰富的指令控制集〔指令集如下列图所示〕,内部有32KRAM存储器,通过修改相应RAM地址的内容就可以实现对液晶屏上数据进展修改。图19指令集在设计中,波形显示区域为200*200点阵,每格20点。采用两个层相叠加进展显示。显示区域SAD1为图层1,用来显示波形数据和其他数据信息,显示区域SAD2为图层2用来显示波形显示边框和其他一些固定信息。在波形显示上,由于数据一直在更新,假设采用在写入数据时将整屏数据清0,这样在人眼上会有短暂的消失现象,为到达波形的连续显示,每次更新数据时,先将一列8*200的数据清零,然后再将数据写入。由于写入的数据很快,这样根本看不出抖动的现象。4.2.5键盘扫描局部程序设计由于键盘响应要**时性较高,所以将键盘扫描程序放在定时中断中处理,采用状态机[10]扫描法,每定时10ms,就进入中断进展扫描,可以有效避开键盘抖动,而且提高了系统的工作效率。State0:判断是否有键按下,有键按下,则转到state1。State1:根据扫描判断键值,根据相应的键值执行相应的程序,然后进入state2。State2:判断键是否释放,松开,则返回到state0,没有,则在state2。按键扫描程序的流程图如下:图20按键扫描程序流程图5系统性能测试及分析测试仪器SP1641B函数信号发生器VC9802A万用表TDS2012数字示波器SS-7802A模拟示波器功能测试实现了存储调出波形功能;实现了单次触发显示波形功能;实现了等精度频率测量功能;实现了测量频率自动选择功能;实现了电压峰峰值测量功能;实现了按键调整垂直灵敏度功能数据测试〔1〕垂直灵敏度为2.0V/div,信号峰峰值为5V时,测试数据如表5.1:表5.1测试数据表1垂直灵敏度2.0V/div,信号峰峰值VPP=5V频率实测周期误差实测Vpp误差频率实测周期误差实测Vpp误差10Hz99.55ms0.45%5.000.00%100kHz9.67us3.30%5.010.20%50Hz20.08ms0.40%5.020.40%500kHz1.96us2.00%5.112.20%10kHz99.16us0.84%5.040.80%1MHz997.5ns0.25%5.061.20%50kHz20.01us0.05%5.020.40%10MHz98.75ns1.25%5.234.60%〔2〕垂直灵敏度为0.2V/div,信号峰峰值为0.5V时,测试数据如表5.2:表5.2测试数据表2垂直灵敏度0.1V/div,信号峰峰值VPP=0.5V频率实测周期误差实测Vpp误差频率实测周期误差实测Vpp误差10Hz99.49ms0.51%0.500.00%100kHz9.67us3.30%0.512.00%50Hz20.07ms0.35%0.512.00%500kHz1.96us2.00%0.512.00%10kHz99.14us0.86%0.512.00%1MHz995.0ns0.50%0.512.00%50kHz20.01us0.05%0.500.00%10MHz98.75ns1.25%0.500.00%〔3〕垂直灵敏度为20mV/div,信号峰峰值为50mV时,测试数据如表5.3:表5.3测试数据表3垂直灵敏度2mV/div,信号峰峰值VPP=50mV频率实测周期误差实测Vpp误差频率实测周期误差实测Vpp误差10Hz99.51ms0.49%56.331.30%100kHz9.67us3.30%4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术支持方案计划
- 如何提高班组生产计划的执行力
- 委托运营合同协议书
- 前台工作中的细节管理思路计划
- 学期教学实施任务安排表计划
- 制定信息安全管理策略保护数据计划
- 房屋临时买卖合同
- 2024年尤溪县事业单位招聘考试真题
- 外语培训的学习进度与评估计划
- 2024年安庆师范大学招聘考试真题
- 瘫痪病人的保养与护理
- 湖北省部分高中联考协作体2023-2024学年高二下学期期中考试政治试卷
- 广西壮族自治区来宾市2023-2024学年八年级下学期4月期中考试数学试题(含答案)
- (一模)2025年3月济南市2025届高三模拟考试英语试卷
- (高清版)DB12∕T 934-2020 公路工程资料管理技术规程
- 股权委托管理协议(2025年版)
- 企业文化-电力与能源战略参考题库2025版
- 7.2做中华人文精神的弘扬者教学设计 -2024-2025学年统编版道德与法治七年级下册
- 2025年杭州万向职业技术学院单招职业适应性测试题库及答案1套
- 2024年天津医科大学眼科医院自主招聘笔试真题
- 幼儿园获奖公开课:大班语言《遇见春天》课件
评论
0/150
提交评论