




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要频率 是 电 子 技 术领域内的一个基本参数,同时也是一个非常重要的参数。稳定的时钟在高性能电子系统中有着举足轻重的作用,直接决定系统性能的优劣。随着电子技术的发展,测频系统使用时钟的提高,测频技术有了相当大的发展,但不管是何种测频方法,士1个计数误差始终是限制测频精度进一步提高的一个重要因素。本 设计采用等精度频率设计原理和8051软核做微处理器。通过分析士1个计数误差的来源得出了一种新的测频方法:检测被测信号,时基信号的相位,当相位同步时开始计数,相位再次同步时停止计数,通过相位同步来消除计数误差,然后再通过运算得到实际频率的大小。充分利用8051软核简化外围电路及降低系统设计的复杂度。采用VHDL语言,成功的编写出了设计程序,并在Qutus II软件环境中,对编写的VHDL程序进行了仿真,得到了很好的效果。最,给出了较详细的设计方法和完整的程序设计以及调试结果。关键词:EDA、FPGA、全同步、数字频率计、VHDL语言、8051ABSTRACTFrequency is a basic parameter of elcetornics field,meanwhile,itsaverimportant Param ete.Stable clock is very important in high electronics syetem.determining the syetem perfermance directly.With the development of technology of electronics,the frequency measurement System using higher clock,the frequency measurement technology has very nice development .In despite of using all other advanced ftequency measurement methods,the Positive and negativel errors was a very important factor that stop frequency measurement precision improving all through. This design uses the design principle and the frequency of such precision 8051 soft nuclear do microprocessors.Through analyzing the origin of the Positive and negative got a new frequency measurement methods: checkingt measured and standard signals Phase,if the Phase is synchronous.then the counters start counting when the signals Phase is synchronous again. The counters to stopping workingby Phase in一Phase to eliminate counting erors,then getting the real frequency through calculating. Make full use of the 8051 soft IP simplified peripheral circuit and reduce the complexity of the system design. the design of complete digital cymometer was successful using VHDL language, successful writing out design program, and in Qutus II software environment ,and procedures obtained good effect. The detail is presented, the design method and program design and commissioning of full results.Keywords:EDA、FPGA、Complete ln-phase、DigtaICymomcter、VHDL、8051目 录摘 要IABSTRACTIII绪 论1第一章 系统分析与方案论证3第二章 微处理器的简介52.1 FPGA简介52.1.1 FPGA的工作原理52.1.2 FPGA配置模式62.2 8051单片机IP软核应用系统构建72.2.1 8051单片机IP软核应用系统构建72.2.2 K8051单片机软核基本功能和结构7第三章 频率计的工作原理113.1测频原理介绍113.2测周原理13第四章 系统硬件的设计与实现144.1 系统的整体框图144.2 K8051单片机软核实用系统构建和软件测试144.3 测频模块的设计及调试15第五章 系统软件设计225.1 系统软件总体设计225.2 测频及测周程序设计225.3 显示程序设计24第六章 系统整体调试25结束语26致 谢27参考文献28附录29附件1.总体硬件图29附件2 单片机控制程序30绪 论随着 数 字 电路应用越来越广泛,传统的通用数字集成电路芯片已经很难满足系统功能的要求,而且随着系统复杂程度的不断增加,所需通用集成电路的数量呈爆炸性增长,使得电路板的体积迅速膨胀,系统可靠性难以保证。此外,现代电子产品的生命周期都很短,一个电路可能要在很短的时间内作改进以满足新的功能要求,对于通用集成电路来说则意味着重新设计和重新布线。而可编程逻辑器件克服了上述缺点,它把通用集成电路通过编程集成到一块尺寸很小的硅片上,成倍缩小了电路的体积,同时由于走线短,减少了干扰,提高了系统的可靠性,又由于VHDL语言和verilog语言易于掌握与使用,设计相当灵活,极大地缩短了产品的开发周期。本设计在FPCA技术越来越成熟,应用越来越广泛的情况下,使用成熟的FPGA技术来实现目前还不是很成熟的全同步数字频率计。此设计具有重要的研究价值。由于 社 会 发展和科技发展的需要,信息传输和处理的要求的提高,对频率的测量精度也提出了更高的要求,需要更高准确度的时频基准和更精密的测量技术。而频率测量所能达到的精度,主要取决于作为标准频率源的精度以及所使用的测量设备和测量方法。目前,国内外使用的测频的方法有很多,有直接测频法、内插法、游标法、时间一电压变化法、事周期同步法、颇率倍增法、颇筹倍增注以及相桥比较法等等。直接测频的方法较简单,但精度不高。内插法和游标法都是采用模拟的方法,虽然精度提高了,但是电路设计却很复杂时间一电压变化法是利用电容的充放电时间进行测量,由于经过A/D转换,速度较慢,且抗干扰能力较弱。多周期同步法精度较高的一种。为了进一步的提高精度,通常采用模拟内插法或游标法与多周期同步法结合使用,虽然精度有了进一步的提高,但始终未解决士1个字的计数误差,而且这些方法设备复杂,不利于推广。频率误差倍增法可以减小计数器的士1个字的误差,提高测量精度。但用这种方法来提高测量精度是有限的,因为如要得到2x10-13一招的测量精度,就要把被测频率倍频到=1/2Hz=5000MHz,这无论是对倍频技术,还是对目前的计数器都是很难实现的。频差倍增一多周期法是一种频差倍增法和差拍法相结合的测量方法。这种方法是将被测信号和参考信号经经频差倍增使被测信号的相位起伏扩大,在通过混频器获得差拍信号,用电子计数器在低频下进行多周期测量,能在较少的倍增次数和同样的取样时间情况下,得到比测频法更高的系统分辨率和测量精度。但是仍然存在着时标不稳而引入的误差和一定的触发误差。以上只是对现存的几种主要的测频方法的概述,很显然从以上的分析中知道: 不同的测频方法在不同的应用条件下是具有一定的优势的,而在本论文中,我主要在多周期同步法的基础上,采用了全同步的测频方法。主要是消除了士1个字的对时标信号的计数误差,而且在FPGA/CPLD芯片上实现,具有很大的优势.总之 , 频 率(时间)测量技术发展非常快.在频标方面,一方面是追求新的更高稳定度和准确度的新型频标,据报道,实验室中做出频率准确度优于1丁3的频标。一方面是提供便于工业、科研应用的商品化频标,如小艳钟、铆频标、新型高稳定度晶体振荡器等这些工作多在计量研究与工业部门进行。大量的工作在改进、创造新的测频原理、方法和仪器,以便以更高的精度、速度,自动进行测量和数据处理,并向多功能、小型化、高性价比方向发展。在提高测频精度方面,值得特别提出的有全同步取样技术和可校准通用电子计数器技术,它们使测频精度提高到一个新的水平。本文正是介绍了基于FPGA和8051软核单片机,利用EDA技术开发的等精度频率计。第一章 系统分析与方案论证频率 是 电 子技术领域永恒的话题,电子技术领域离不开频率,一旦离开频率电子技术的发展是不可想象的,就像现在的人离不开电一样。为了得到性能更好的电子系统,科研人员在不断地研究着频率,CPU就是用频率的高低来评价其性能好坏,速度的高低,可见频率在电子系统中是多么重要.如何才能知道频率的数值呢?当然是用频率计来测量。为了准确的测出频率的多少,人们研究出了很多测频率的方法。根据测频工作原理可将频率测量方法分成以下几类:一、 是 利 用电路的某种频率响应特性来测量频率,谐振测频法和电桥测频法是这类测量方法的典型代表:前者常用于低频段的测量,后者主要用于高频或微波频段的测量。谐振法的优点是体积小、重要轻、不要求电源等,目前仍获得广泛应用。二 、是 利 用标准频率与被测频率进行比较来测量频率,采用比较法测量频率,其准确度取决于标准频率的准确度。拍频法、示波器法以及差频法等均属此类方法。拍频法和示波器法主要用于低频段的测量,差频法则用于高频段的频率测量,它的显著优点是测试灵敏度高。以上 两 种 方法适合于模拟电路中实现,但是模拟电路没有数字电路稳定,因此数字电路出现后,马上就出现了数字频率计。目前广泛使用的计数测频法则适合于数字电路实现。该方法是根据频率的定义,记下单位时间内周期信号的重复次数,因此又称为电子计数器测频法。常用 数 字 频率测量方法有H法,T法和M/T 法。M法是在给定的闸门时间内,测量被测信号的脉冲个数再进行换算得出被测信号的频率,其测量精度取决于闸门时间的准确度和被测信号频率。当被测信号频率较低时将产生较大误差,除非闸门时间取得很大。T法是通过测量被测信号的周期,然后换算得出被测信号的频率。其测量精度取决于被测信号的周期和计时精度,测信号频率较高时,对计时精度的要求就很高。幼/T法具有以上2种方法的优点,当他通过测量被测信号数个周期的计数次数,然后换算得出被测信号的频率,可兼顾低频与高频信号,提高了测量精度。但是,M法,T法和M/T 法都存在士1计数误差问题。M法在规定闸门时间内存在士1个被测信号的脉冲计数误差,T法或M/T 法也存在士1个字的计时误差。这个问题成为限制测量精度提高的一个重要原因。本设计在研究总结上述方法的基础上,得出了一种新的频率测量方法,该方法利用相位全同步方法消除限制测量精度提高的士1个数字误差问题,从而使频率测量的精度和性能大为改善。然 而一 种 新的方法的实际应用比提出来更难,要考虑各种可能的问题,首先就是由于采用的新的设计方法使得电路的复杂程度成倍增加,因此如果还采用传统数字电路来实现则将使PCB板面积变得异常庞大与复杂。信号走线长,导致系统误差增大,难以提高系统的工作频率,此外,PCB板的集成度不高还将导致高频信号容易受到外界的干扰,反而可能降低测频精度。由于可编程逻辑器件能很好地克服了以上缺点,大大提高系统时钟,因此本设计将介绍由现场可编程逻辑器件(FPGA) 来实现全同步数字频率计,本设计除了相位检测电路不在可编程电路之中,其余的电路都集成在可编程逻辑器件中。本设 计 消 除了土1误差,但由于相位检测电路不可避免有误差,系统误差不可避免,因此,全同步数字频率计的主要问题是如何减小相位检测电路的误差以及提高标准时基晶振的稳定性。本设计使用著名的ALTERA公司的软件平台Qutus II并采用VHDL语言来设计实现。采用8051单片机IP软核控制器控制频率测量模块并计算和显示频率值。并且去掉了传统的AT89C51微控制器,大大简化了外围电路。第二章 微处理器的简介 2.1 FPGA简介FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简 单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。 系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。 FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。 CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。 CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。2.1.1 FPGA的工作原理FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和IO引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。2.1.2 FPGA配置模式FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。 例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。 幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nm FPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。最近FPGA的配置方式已经多元化!本系统选用EP2C5TP144C8芯片。 2.2 8051单片机IP软核应用系统构建2.2.1 8051单片机IP软核应用系统构建MCS51系列单片机的CPU也属于CISC CPU。本节将介绍与此系列单片机完全兼容的K8051单片机IP软核,及其应用系统的构建和软硬件开发。K8051单片机是以由VQM原码(Verilog Quartus Mapping File)表达的,在QuartusII环境下能与VHDL、Verilog等其他硬件描述语言混合编译综合,并在单片FPGA中实现全部硬件系统,并完成软件调试。2.2.2 K8051单片机软核基本功能和结构与前面介绍的CPU相同,K8051单片机核也含有8位复杂指令CPU,存储器采用哈佛结构,其结构框图如图5-23所示。K8051的指令系统与8051/2、8031/2等完全兼容,硬件部分也基本相同,例如可接64KB外部存储器,可接256字节内部数据RAM,含两个16位定时/计数器,全双工串口,含节省功耗工作模式,中断响应结构等等。不同之处主要有:1、K8051是以网表文件的方式存在的,只有通过编译综合,并载入FPGA中才以硬件的方式工作,而普通8051总是以硬件方式存在的;2、K8051无内部ROM和RAM,所有程序ROM和内部RAM都必须外接。从图5-23可见,它包含了“数据RAM端口”和“程序存储器端口”,是连接外接ROM、RAM的专用端口(此ROM和RAM都能用LPM_ROM和LPM_RAM在同一片FPGA中实现)。然而普通8051芯片的内部RAM是在芯片内的,而外部ROM的连接必须以总线方式与其P0、P2口相接(AT89S51的ROM在芯片内,CPU核外)。3、以软核方式存在能进行硬件修改和编辑;能对其进行仿真和嵌入式逻辑分析仪实现实时时序测试;能根据设计者的意愿将CPU、RAM、ROM、硬件功能模块和接口模块等实现于同一片FPGA中(即SOC)。4、与普通8051不同,K8051的4个I/O口是分开的。例如P1口,其输入端P1I和输出端P1O是分开的,如果需要使用P1口的双向口功能,必须外接一些电路才能实现。图5-24是K8051单片机的原理图实体图,下方是输入端,上方是输出端。其主要端口的功能如表5-10所示。注意其中的双向口的表达方式。图5-26所示的是单片机中的一个端口构成的双向口(P1口)电路连接方法。图中电路调用了几个辅助元件,其中RTI是三态控制门,WIRE是普通接线,主要用于网络名转换。其中P1E是三态门控制信号,当执行从P1口的输入指令时,P1E7.0输出全为高电平,外部数据可以通过双向口P17.0进入单片机的P1口的输入口P1I7.0,而当执行向P1口输出的指令时,若P1口的输出口P1O7.0中的位为低电平,则控制信号P1E7.0中对应的位也为低,故信号能顺利输出P1口;但当输出信号P1O7.0中的位为高电平时,则控制信号P1E7.0中对应的位也为高电平,故这时除非P17.0对应的FPGA的外部端口被上拉,否则将呈现纯高阻态。因此,当使用单片机的双向口时须设置FPGA的端口为上拉!设置方法是,选择Assignmemts菜单中的settings项(图1-3),选择左栏的Fitter Settings项,再点击右侧的More Settings按纽,在弹出的窗口(图1-3右侧图)下栏中选择Weak PullUp Resistor,并于上方的Setting栏选择On。注意,如果选择了Enable Bus-Hold Circuitry为ON,则不能选上拉为ON,前者是选择输出总线的最后输出为锁定。 图1-1 K8051结构模块框图 图1-2 K8051原理图元件表1-1 K8051单片机核信号端口功能明单片机信号端口类型功能说明ROMadr15.0输 出程序存储器地址总线ROMdaO7.0输 入程序存储器数据总线NMOE输 出程序存储器输出使能,低电平有效RAMadr7.0输 出片内RAM地址总线RAMdaI7.0输 出片内RAM数据输入总线(由单片机核输出)RAMdaO7.0输 入片内RAM数据输出总线FOE输 出片内RAM数据输出使能,低电平有效FWE输 出片内RAM数据写入使能,低电平有效SFROE输 出外部特殊寄存器输出使能,低电平有效SFRWE输 出外部特殊寄存器写入使能,低电平有效NESFR输入如果没有外部特殊寄存器,拉高此电平P0O7.0输出P0口数据输出端,8位P1O7.0输出P1口数据输出端,8位P2O7.0输出P2口数据输出端,8位P3O7.0输出P3口数据输出端,8位P0I7.0输入P0口数据输入端,8位P1I7.0输入P1口数据输入端,8位P2I7.0输入P2口数据输入端,8位P3I7.0输入P3口数据输入端,8位P0E7.0输出P0口作为双向口的控制信号8位,执行输出指令时,为低电平P1E7.0输出P1口作为双向口的控制信号8位,执行输出指令时,为低电平P2E7.0输出P2口作为双向口的控制信号8位,执行输出指令时,为低电平P3E7.0输出P3口作为双向口的控制信号8位,执行输出指令时,为低电平NEA输入使能程序计数器的值进入P0和P2口X1输入单片机工作时钟输入端X2输入单片机工作时钟输入端,但在进入休闲状态时可控制停止RESET输入复位信号线ALE输出地址锁存信号PSEN输出外部程序存储器使能,低电平有效ALEN输出对ALE和PSEN信号的双向控制信号,低电平允许输出XOFF输出振荡器禁止信号,用于省电模式IDLE输出在休闲模式中,可通过外部控制NX2的时钟输入图1-3 设置FPGA的总线口输出为上拉 图1-4 K8051单片机I/O口设置成双向口的电路第三章 频率计的工作原理3.1测频原理介绍常用的直接测频方法主要有测频法和测周期法两种。测频法就是在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw。测周期法需要有标准信号的频率fs,在待测信号的一个周期Tx内,记录标准频率的周期数Ns,则被测信号的频率为:fx=fs/Ns。这两种方法的计数值会产生1个字误差,并且测试精度与计数器中记录的数值Nx或Ns有关。为了保证测试精度,一般对于低频信号采用测周期法;对于高频信号采用测频法,因此测试时很不方便,所以人门提出等精度测频方法。多周 期 同 步测频是在直接测频基础上发展起来的,在目前的测频系统中得到了越来越广泛的应用。它在测频时,闸门时间不是固定的,而是被测信号的整数倍,即与被测信号保持同步,因此消除了对被测信号计数所产生的士1个数字误差,使测量精度大为提高,测量原理框图如图3-1,测量原理的波形如图3-2。图3-1多周期同步测频原理框图图3-2等精度测频原理波形图在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间与预置闸门时间1并不严格相等,但差值不超过被测信号的一个周期 设在一次实际闸门时间中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率为由式(1)可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差为=(|fxc-fx|/fxe)100% (2)其中fxe为被测信号频率的准确值。在测量中,由于fx计数的起停时间都是由该信号的上升测触发的,在闸门时间内对fx的计数Nx无误差(=NxTx);对fs的计数Ns最多相差一个数的误差,即|Ns|1,其测量频率为fxe=Nx/(Ns+Ns)/fs (3)将式(1)和(3)代入式(2),并整理得:=|Ns|/Ns1/Ns=1/(fs)(4)=|Ns|/Ns1/Ns=1/(fs)(5)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度。 闸门时间/s标准频率为10KHz的精度标准频率为100MHz的精度0.0110-210-60.110-310-7110-410-81010-510-9上表所列为标频在10KHz和100MHz时闸门时间与最大允许误差的对应关系。等精度测频的实现方法可简化为下图所示的框图 图3-3 等精度测频原理CNT1和CNT2是两个可控计数器,标准频率(fs)信号从CNT1的时钟输入端CLK输入;经整形后的被测信号(fx)从CNT2的时钟输入端CLK输入。每个计数器中的CEN输入端为时钟使能端控制时钟输入。当预置门信号为高电平(预置时间开始)时,被测信号的上升沿通过D触发器的输出端,同时启动两个计数器计数;同样,当预置门信号为低电平(预置时间结束)时,被测信号的上升沿通过D触发器的输出端,同时关闭计数器的计数。系统由分频器、计数器1、计数器2、D触发器等组成。分频器出来的信号作为等精度测频原理的预置闸门信号。其中D触发器,计数器2和计数器1的作用与前2页图中所示相同。运算模块就是完成公式(1)的运算。复位主要对分频、计数器1和计数器2进行清零操作。3.2测周原理由于周期和频率互为倒数,因此在测频的原理中对换一下待测信号和时基信号的输入通道就能完成周期的测量。待测信号Tx通过脉冲形成电路取出一个周期方波信号加到门控电路,由上图电路对被测信号的高电平计数为N1和低电平计数为N2。可由下面的公式得:T1=T0/(N1+N2)(6)由该电路可以对相位差进行测量,由下面公式得:相位差 = (7)如果将该模块和计数器连用,可以直接测频、测周、测相。第四章 系统硬件的设计与实现4.1 系统的整体框图采用等精度测频原理的频率计系统组成方框图(如图4-1),其中FPGA完成基本的测频、测周模块及8051软核等功能。整形模块对输入波形进行整形。按键来选择测频、测周及占空比。通过对8051软核进行编写程序对测频和测周模块的数据进行处理,并通过按键对测频、测周及占空比的选择。8051将计算的数据送到液晶屏上进行显示。通过1602显示频率值、周期值及占空比。图4-1等精度测频原理的频率计系统组成方框图4.2 K8051单片机软核实用系统构建和软件测试K8051核在接上了ROM和RAM后就成为一个完整的8051或8052单片机了,图4-2是K8051核实用系统的最基本构建顶层原理图,主要由4个部件构成:1、K8051核。图中的CPU_Core即K8051单片机核,由VQM原码表述:CPU_Core.vqm,可以直接调用。该元件可以与其他不同语言表述的元件一同综合与编译。2、嵌入式锁相环PLL50。锁相环的调用方法可参考第3章,其输入频率设置为20MHz,输出频率所在90MHz上,K8051能接受的工作时钟频率上限取决于FPGA的速度级别。3、程序ROM,LPM_ROM。采用ROM容量的大小也取决于FPGA所含的嵌入RAM的大小。图5-27中设置的ROM容量是4K字节,对于一般的应用足够了。此ROM可以加载HEX格式文件作为单片机的程序代码。HEX程序代码可以直接使用普通8051单片机程序编译器生成(设已加载了TEST1.HEX)。4、数据RAM,LPM_RAM。图5-27中设置的LPM_RAM容量是256字节。高128字节须用间接寻址方式访问。这里的LPM_ROM和LPM_RAM调用方法其它资料。图5-27中,P0I7.0、P1I7.0、P2I7.0、P3I7.0分别为P0、P1、P2、P3口的输入口;P0O7.0、P1O7.0、P2O7.0、P3O7.0分别为P0、P1、P2、P3口的输出口。用QuartusII打开的工程,在工程管理窗,双击图左侧rom4KB,在右侧出现该元件文件,其初始化文件路径指示在TEST1.HEX上(图4-3)。下载SOF文件后可以测试图4-2系统的软硬件功能了。2修改汇编程序test1.asm(图4-2),编译,并用“Tools”菜单中的工具:In-System Memory Content Editor(图4-4)下载编译代码:test1.hex,再观察软硬件的工作情况。注意,K8051的软件调试也可以使用In-System Memory Content Editor来完成。 图4-2 K8051基本实用电路 图4-3 TEST1.asm汇编程序图4-4 ROM初始化文件路径图4-5 利用In-System Memory Content Editor下载汇编程序HEX代码4.3 测频模块的设计及调试4.3.1本系统采用如图4-6的整体系统进行设计,具体代码如下:图4-6RTL图LIBRARY IEEE; -等精度频率计FPGA设计部分USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY etester IS PORT (BCLK : IN STD_LOGIC; -标准频率时钟信号clock2,50MHZ TCLK : IN STD_LOGIC; -待测频率时钟信号CLR : IN STD_LOGIC; -清零和初始化信号CL : IN STD_LOGIC; -当SPUL为高电平时,CL为预置门控信号,用于测频计数-时间控制当SPUL为低电平时,CL为测脉宽控制信号,-CL高电平时测高电平脉宽而当CL为低电平时,测低电平脉宽。 SPUL : IN STD_LOGIC; -测频或测脉宽控制 START : OUT STD_LOGIC;-起始计数标志信号 EEND : OUT STD_LOGIC; -由低电平变到高电平时指示脉宽计数结束, SEL : IN STD_LOGIC_VECTOR(2 DOWNTO 0); -数据读出选同控制 DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -8位数据读出END etester;ARCHITECTURE behav OF etester ISSIGNAL BZQ : STD_LOGIC_VECTOR(31 DOWNTO 0); -标准计数器SIGNAL TSQ : STD_LOGIC_VECTOR(31 DOWNTO 0); -测频计数器SIGNAL ENA : STD_LOGIC; -计数使能SIGNAL MA, CLK1, CLK2, CLK3 : STD_LOGIC;SIGNAL Q1, Q2, Q3,BENA, PUL : STD_LOGIC;SIGNAL SS: STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINSTART = ENA ;DATA = BZQ(7 DOWNTO 0) WHEN SEL=000 ELSE - 标准频率计数低8位输出 BZQ(15 DOWNTO 8) WHEN SEL=001 ELSE BZQ(23 DOWNTO 16) WHEN SEL=010 ELSE BZQ(31 DOWNTO 24) WHEN SEL=011 ELSE - 标准频率计数最高8位输出 TSQ(7 DOWNTO 0) WHEN SEL=100 ELSE -待测频率计数值最低8位输出 TSQ(15 DOWNTO 8) WHEN SEL=101 ELSE TSQ(23 DOWNTO 16) WHEN SEL=110 ELSE TSQ(31 DOWNTO 24) WHEN SEL=111 ELSE -待测频率计数值最高8位输出 TSQ(31 DOWNTO 24) ;BZH : PROCESS(BCLK, CLR) -标准频率测试计数器,标准计数器BEGIN IF CLR = 1 THEN BZQ 0 ) ; ELSIF BCLKEVENT AND BCLK = 1 THEN IF BENA = 1 THEN BZQ = BZQ + 1; END IF; END IF; END PROCESS;TF : PROCESS(TCLK, CLR, ENA) -待测频率计数器,测频计数器 BEGIN IF CLR = 1 THEN TSQ 0 ); ELSIF TCLKEVENT AND TCLK = 1 THEN IF ENA = 1 THEN TSQ = TSQ + 1; END IF; END IF;END PROCESS;PROCESS(TCLK,CLR) BEGIN IF CLR = 1 THEN ENA = 0 ; ELSIF TCLKEVENT AND TCLK=1 THEN ENA = CL ; END IF;END PROCESS; MA=(TCLK AND CL) OR NOT(TCLK OR CL) ; -测脉宽逻辑 CLK1=NOT MA ; CLK2=MA AND Q1 ; CLK3=NOT CLK2; SS=Q2 & Q3 ; DD1: PROCESS(CLK1,CLR) BEGIN IF CLR = 1 THEN Q1 = 0 ; ELSIF CLK1EVENT AND CLK1 = 1 THEN Q1 = 1 ; END IF; END PROCESS;DD2: PROCESS(CLK2,CLR) BEGIN IF CLR = 1 THEN Q2 = 0 ; ELSIF CLK2EVENT AND CLK2 = 1 THEN Q2 = 1 ; END IF; END PROCESS; DD3: PROCESS(CLK3,CLR) BEGIN IF CLR = 1 THEN Q3 = 0 ; ELSIF CLK3EVENT AND CLK3 = 1 THEN Q3 = 1 ; END IF; END PROCESS;PUL=1 WHEN SS=10 ELSE -当SS=“10”时,PUL高电平,允许标准计数器计数, 0 ; -禁止计数EEND=1 WHEN SS=11 ELSE -EEND为低电平时,表示正在计数,由低电平变到高电平 0 ; -时,表示计数结束,可以从标准计数器中读数据了BENA=ENA WHEN SPUL=1 ELSE -标准计数器时钟使能控制信号,当SPUL为1时,测频率 PUL WHEN SPUL=0 ELSE -当SPUL为0时,测脉宽和占空比 PUL ;END behav;4.3.2频率计的时序仿真在Qutus II RTL如图4-7。图4-7 RTL图在Qutus II测频仿真时序如图4-7.图4-7 等精度频率计测频时序图在Qutus II测频仿真时序如图4-8.图4-8等精度频率计测周时序图4.4 1602显示模块介绍一、1602里的存储器有三种:CGROM、CGRAM、DDRAM。CGROM保存了厂家生产时固化在LCM中的点阵型显示数据,CGRAM是留给用户自己定义点阵型显示数据的,DDRAM则是和显示屏的内容对应的。1602内部的DDRAM有80字节,而显示屏上只有2行16列,共32个字符,所以两者不完全一一对应。默认情况下,显示屏上第一行的内容对应DDRAM中80H到8FH的内容,第二行的内容对应DDRAM中CH到CFH的内容。DDRAM中90H到A7H、D0H到E7H的内容是不显示在显示屏上的,但是在滚动屏幕的情况下,这些内容就可能被滚动显示出来了。注:这里列举的DDRAM的地址准确来说应该是DDRAM地址+80H之后的值,因为在向数据总线写数据的时候,命令字的最高位总是为1。 二、1602使用三条控制线:EN、RW、RS。其中EN起到类似片选和时钟线的作用,RW和RS指示了读、写的方向和内容。在读数据(或者Busy标志)期间,EN线必须保持高电平;而在写指令(或者数据)过程中,EN线上必须送出一个正脉冲。RW、RS的组合一共有四种情况,分别对应四种操作: RS0、RW0表示向LCM写入指令RS0、RW1表示读取Busy标志RS1、RW0表示向LCM写入数据RS1、RW1表示从LCM读取数据 三、LCD在使用的过程中,可以在RS0、RW0的情况下,向LCM写入一个字节的控制指令。使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国体育小镇市场全景评估及发展趋势研究预测报告
- 中国美甲工具行业市场调研分析及投资战略咨询报告
- 2024-2025年中国移动互联网服务提供商市场调查研究及投资前景预测报告
- 中国汽车安全带护垫项目投资可行性研究报告
- 中国陶瓷砂轮行业市场调查研究及投资前景预测报告
- 2025年L-α-苯乙胺行业深度研究分析报告
- 2022-2027年中国瘦脸机行业运行态势及未来发展趋势预测报告
- 2025年防静电防潮袋项目可行性研究报告
- 中国耐热美纹胶纸行业投资研究分析及发展前景预测报告
- 辽阳碳化硅项目申请报告
- 中考英语高频单词专项训练题配套答案
- 火龙罐疗法经典课件
- 应用写作(第六版) 课件 第1-4章 应用写作概述-行政事务应用文
- 核岛通风系统介绍
- 我见证改革开放三十年课件
- xxxx智能化工程施工进度计划表
- 供应商来料包装运输存储规范
- 搭桥术后护理查房
- 人工智能概论PPT全套完整教学课件
- 第一章-运动选材概述课件
- 藏式建筑简介优质课件
评论
0/150
提交评论