基于VHDL的数字频率计设计--_第1页
基于VHDL的数字频率计设计--_第2页
基于VHDL的数字频率计设计--_第3页
基于VHDL的数字频率计设计--_第4页
基于VHDL的数字频率计设计--_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、【标题】基于VHDL的数字频率计设计 【作者】刘松林 【关键词】频率计 VHDL FPGA等精度可编程逻辑器件 【指导老师】严文娟 【专业】物理学 【正文】1绪论频率是单位时间内周期性重复、循环或振动的次数,常用表示。随着电子技术的开展和普及,“频率已成为群众所熟悉的物理量,而频率的测量在电子测量领域也尤为重要。对于频率的测量要求,取决于所测频率范围和测量任务,但大体来说要求频率的测量精度高,稳定性好和测量范围广。在频率的测量中,大体分为模拟法和计数法,数字频率计是电子计数法中的一种,具有测量精度高,显示醒目直观、测量迅捷,测量自动化等优点,在频率测量领域应用非常广泛。1.1课题研究背景数字频

2、率计是一种测量范围较广、实用性较强的通用型数字仪器。数字频率计的研究,特别是高精度、宽带数字频率计的研究是一项非常重要而急需的技术。随着数字电路应用越来越广泛,传统的通用数字集成电路芯片已经很难满足系统功能的要求,系统可靠性也难以得到保证。此外,现代电子产品的生命周期都很短,一个电路可能要在很短的时间内作改进以满足新的功能要求,对于通用集成电路来说那么意味着重新设计和重新布线。而可编程逻辑器件克服了上述缺点,它把通用集成电路通过编程集成到一块尺寸很小的硅片上,成倍缩小了电路的体积,同时由于走线短,减少了干扰,提高了系统的可靠性,而且 VHDL语言易于掌握与使用,设计相当灵活,极大地缩短了产品的

3、开发周期。1.2频率计的研究现状随着社会和科技的开展,信息传输和处理的要求的提高,对频率的测量精度也提出了更高的要求,需要更高准确度的时频基准和更精密的测量技术。而频率测量所能到达的精度,主要取决于作为标准频率源的精度以及所使用的测量设备和测量方法。频率测量技术的开展非常快。在频标方面,一方面是追求新的更高稳定度和准确度的新型频标。另一方面是提供便于工业、科研应用的商品化频标,如小铯钟、铷频标、新型高稳定度晶体振荡器等这些工作多在计量研究与工业部门进行。在频率测量的研究上,改进、创造新的测频原理、方法和仪器,以便以更高的精度、速度,自动进行测量和数据处理,并向多功能、小型化、高性价比开展是其主

4、要的开展方向。目前,国内外使用的测频的方法有很多,如直接测频法、内插法、游标法、时间电压变化法、多周期同步法、频率倍增法、频差倍增法以及相位比较法等测频方法。直接测频的方法较简单,但精度不高。内插法和游标法都是采用模拟的方法,而且多用于测量时间间隔,从而进行转换得出,虽然精度提高了,但是电路设计却很复杂。时间电压变化法是利用电容的充放电时间进行测量,由于经过A/D转换,速度较慢,且抗干扰能力较弱。多周期同步法精度较高的一种,其方法:首先由控制线路给出闸门开启信号,此时,计数器并不开始计数,而是等到被测信号的上升沿到来时,才真正开始计数。然后,两组计数器分别对被测信号和标准信号进行计数,要等到被

5、测信号下降沿到来时才真正结束计数,完成一次测量过程。计数器的开闭与被测信号是完全同步的。为了进一步的提高精度,通常采用模拟内插法或游标法与多周期同步法结合使用,虽然精度有了进一步的提高,但始终未解决1的计数误差,而且这些方法设备复杂,不利于推广。频率误差倍增法就是使用2个标称值一样的频标信号,通过屡次倍频、混频、滤涉及放大把2个频标信号的频差加以放大的方法。它的优点是把差频放大后,便于使用简单的仪器来获得高测量精度的测量结果。但用这种方法来提高测量精度是有限的。在结合前面多种方法的根底上做了改进,等精度测量不但有很高的测量精度,且在整个频率区域能保持恒定的测量精度1。数字频率计的设计手段也是多

6、种多样。大体分为利用数字电路设计、单片机设计、DSP进行设计和硬件描述语言的设计。采用数字电路的频率计设计因其电路极为复杂,抗干扰能力和稳定度较差,因此使用较少。采用单片机设计具有一定的优势,如以AT89C51单片机和MSP430F449单片机的频率计设计,总体看来,这些具有结构简单,功能齐全,使用方便的特点2。但其在电路硬件级的描述上缺乏,使得其更适合做控制方面,结合硬件描述进行设计。采用TMS320F2812 DSP芯片为控制单元,在无需任何门控器件控制的情况下,利用DSP 2812丰富的软件资源可以实现等精度测量。它根据每个门闸时间内高频标准脉冲的个数与被测信号的个数,求得被测信号频率,

7、再通过屡次平均得到最终结果。但由于DSP定时器在计数时存在计数饱和的情况,因此在实现该等精度测量时存在上限,即当被测信号频率高于高频填充脉冲的频率时,该方法就不能实现等精度了3。采用硬件描述语言进行设计是目前最多也是最好的设计方法。1.3研究内容由以上分析可知,不同的测频方法在不同的应用条件下是具有不同的优势的。目前,对于频率计的研究日趋成熟。在频率计设计方面,也出现了各种各样的方法,设计的技术水平也越来越高。但仍然存在着很多问题:一是电路的复杂性;二是测量的范围;三是测量的精度,这些都是频率计研究中一直都在努力解决的问题。在本论文中,主要采用等精度测频法进行设计,从而消除了1的时标信号的计数

8、误差,而采用复杂可编程逻辑器件,以EDA工具为开发手段、运用VHDL语言编程进行数字频率计的设计,将在使系统大大简化的同时,提高仪器整体的性能和可靠性4,在数字频率计应用方面具有很大的优势。1.4 VHDL简介微电子技术的进步主要表现在大规模集成电路技术的开展。当今,集成电路正在不断向超大规模、极低功耗和超高速开展,在其设计功能上也在不断的加强,设计本钱不断降低。EDA技术即电子设计自动化技术,其融合了多种现代电子技术和计算机技术,使得设计者可以利用软件的方式,以硬件描述语言和EDA软件来完成对系统硬件功能的实现。EDA技术为现代电子理论和设计的表达与实现提供了可能性5。1.4.1 VHDL语

9、言及其概述硬件描述语言HDL是EDA技术的重要组成局部,常见的硬件描述语言有VHDL、Verilog HDL、ABEL、AHDL、System Verilog和SystemC。其中VHDL和Verilog是目前应用最多,支持最广的硬件描述语言。VHDL的全称是VHSIC Hardware Description Language,即超高速集成电路硬件描述语言。VHDL语言诞生于1982年,由美国国防部DOD创立。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,并将其开展成为硬件描述

10、语言的业界标准之一。VHDL作为一个标准语言和建模语言,在其开展中,人们发现其还可以作为电路系统的设计工具,这对电路自动设计是一个极大的推进,在电子设计领域得到了众多EDA公司的支持。如今,VHDL作为IEEE的工业标准硬件描述语言,已成为通用硬件描述语言6。VHDL主要用于描述数字系统的结构、行为、功能和接口,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。其具有与具体硬件电路无关和与设计平台无关的特性,有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力。因此,VH

11、DL在支持各种模式的设计方法,如自顶向下与自底向上或混合方法方面,以及在面对当今许多电子产品生命周期的缩短,需要屡次重新设计已融入最新技术、改变工艺等方面都表现出来良好的适应性。VHDL主要有以下特点:1自顶向下Top-Down的设计方法;2多层次描述系统硬件功能的能力;3丰富的仿真语句和库函数。这使得采用VHDL进行设计,可以方便的进行描述,仿真和验证。VHDL的主要应用是实现可编程器件或ASIC上电路或系统的综合。通常VHDL的开发设计流程如以下图1-1所示。这是一个自顶向下的设计过程。从一个设计标准开始,首先我们要完成VHDL程序的编写,然后进行编译、优化和仿真来进行综合,最后进行布局布

12、线,下载到FPGA/CPLD硬件上进行验证,实现所需功能,这就是VHDL设计的整个过程。一个VHDL程序代码包括实体ENTITY、结构体ARCHITECTURE、配置CONFIGURATION、程序包PACKAGE、库LIBRARY等局部,其中配置和程序包是可选的。而一个完整的VHDL程序至少应该包含三个局部,即库、实体和结构体。其中库引用包含了用于设计的所有库,如IEEE、STD等;实体用于描述电路的外部接口信号;结构体描述了电路或系统的行为7。在用VHDL进行电路优化设计时,还要求根据实际需要,合理地使用VHDL语句,并在设计全程中遵循最优化设计的根本原那么,在电路结构设计和软件使用中寻找

13、满足设计要求的最正确方案8。通过电路优化设计,可以使用规模更小的可编程逻辑芯片,从而降低系统本钱。1.4.2软件开发平台QuartusVHDL的开发平台很多,各FPGA公司都开发了针对自己产品的VHDL工具,主要有Xilinx ISE、Altera Quartus,而在仿真方面最优秀的是ModelSim。Xilinx和Altera公司的综合工具都集成了Modelsim作为其仿真平台。Altera公司开发的Quartus设计软件为VHDL语言提供了完整的多平台设计环境,可以轻易满足特定设计的需要,拥有FPGA和CPLD设计的所有阶段的解决方案。本设计就以Altera公司的Quartus作为软件开

14、发平台。Quartus具有以下主要模块:(1)设计输入模块。Quartus中的工程是由所有设计文件和与设计有关的设置组成的。用户通过文本、原理图、状态图等方式输入,并结合其他菜单建立包括宏功能模块、参数化模块LPM函数和IP函数在内的设计。(2)综合。使用Quartus的Analysis&Synthesis模块分析设计文件和建立工程数据库。(3)仿真。Quartus可以仿真整个设计或设计的任何局部,可以进行功能仿真以测试设计的逻辑运算,也可以进行时序仿真以测试设计在目标器件中的逻辑运算和最差时序。(4)布局布线。在Quartus中使用Fitter执行布局布线。Fitter使用由Analysis

15、&S_ynthesis建立的数据库,将工程的逻辑和时序要求与器件的可用资源相匹配,将每个逻辑功能分配给最好的逻辑单元位置,进行布局和时序,并选择相应的互连路径和引脚分配。(5)时序分析。Quartus用户可以利用Timing Analyzer分析调试和验证设计的所有逻辑性能,并协助引导Fitter满足设计的时序分析要求。Quartus还支持多种输入方式,如文本输入方式、原理图输入方式、状态图输入方式等9。VHDL内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,并提供了完善的用户图形界面设计方式,具有运行速度快,界面统

16、一,功能集中,易学易用等特点,越来越受到数字系统设计者的欢迎。2频率测量方法的研究测量频率的方法有很多,频率测量的准确度主要取决于所测量的频率范围以及被测对象的特点。而测量所能到达的精度,不仅仅取决于作为标准使用的频率源的精度,也取决于所使用的测量设备和测量方法。下面介绍集中常用的频率测量方法,分析他们的优缺点,从而提出本设计所采用的频率测量方法。2.1频率计的概述频率是电子技术领域非常重要的一项参数,无论是在科学研究还是我们的日常生活中,频率参数随处可见。我们的研究需要频率参数,我们的生活也受频率影响,如播送通讯、CPU主频等等,都是与频率密切相关。对于频率测量的研究一直是电子技术研究中不可

17、缺少的技术。根据测量方法的原理,对测量频率的方法大体上可做如下分类10:直读法又称利用无源网络频率特性测频法,它是利用电路的某种频率响应特性来测量频率,谐振测频法和电桥测频法是这类测量方法的典型代表:前者常用于低频段的测量,后者主要用于高频或微波频段的测量。谐振法的优点是体积小、重要轻、不要求电源等,目前仍获得广泛应用。比较法是利用标准频率与被测频率进行比较来测量频率,采用比较法测量频率,其准确度取决于标准频率的准确度。拍频法、示波器法以及差频法等均属此类方法。拍频法和示波器法主要用于低频段的测量,差频法那么用于高频段的频率测量,它的显著优点是测试灵敏度高。计数法有电容充放电式和电子计数式两种

18、。目前广泛使用的计数测频法是电子计数器,即本设计所研究的数字频率计。该方法是根据频率的定义,记下单位时间内周期信号的重复次数,因此称为电子计数器测频法。常用数字频率测量方法有M法,T法和M/T法。M法是在给定的闸门时间内,测量被测信号的脉冲个数再进行换算得出被测信号的频率,其测量精度取决于闸门时间的准确度和被测信号频率。当被测信号频率较低时将产生较大误差,除非闸门时间取得很大。T法是对被信号的周期进行测量,并利用(频率=1/周期)得出频率11。其测量精度取决于被测信号的周期和计时精度,被测信号频率较高时,对计时精度的要求就很高。法具有以上2种方法的优点,当他通过测量被测信号数个周期的计数次数,

19、然后换算得出被测信号的频率,可兼顾低频与高频信号,提高了测量精度。但是,无论M法和T法,还是法都存在1的计数误差问题。这个问题成为限制测量精度提高的一个重要原因。本设计在研究总结上述方法的根底上,得出了一种新的频率测量方法,该方法利用同步测频、等精度的方法消除了限制测量精度提高的1的误差问题,从而使频率测量的精度和性能大为改善。数字频率计是电子设计、仪器仪表、资源勘测等应用领域不可缺少的测量仪器,不少物理量的测量,如振动、转速等的测量都涉及到或可以转化为频率的测量12。传统的数字频率计一般由分立元件组合而成,其测量范围、测量精度和测量速度均受到较大的限制。随着电子技术的开展,现代科学技术对频率

20、的要求也越来越高,因此高精度的、高稳定性的数字频率计研究成为电子技术中非常重要的技术。2.2常用的数字频率测量方法常用的测频方法可以分为两种,一个是直接测频法,一个是周期测频法,而其他的测频方法可以说都是从这两种方法中延伸出来的的。2.2.1直接测频法直接测频法是最简单的,也是最根本的频率测量方法。直接测频法是严格按照频率的定义来进行测量,即在给定的闸门时间内测量被测信号的脉冲个数,进行换算得出被测信号的频率,如式2-1。(2-1)在不考虑触发误差时其测量相对误差公式为(2-2)其中,为被测信号频率,为闸门时间,为标准频率。由上式2-1、2-2可知,直接频率测量的误差主要包括量化误差(或1误差

21、,即)和标准频率误差。在一定时,闸门时间选得越长,测量的准确度越高;而当选定后,越高,量化误差对结果的影响减小,测量准确度越高。但是,随着量化误差对结果影响的减小,标准频率误差将对测量结果产生影响,并以其为极限,即测量准确度不可能优于标准频率误差13。直接频率测量的缺点是测量精度将随被测信号频率的变化而改变,并且在测量低频信号时的误差很大,甚至到达。2.2.2周期测频法周期测量法是通过测量被测信号周期,然后换算得出被测信号的频率。即根据频率与周期的关系得2-3式。2-3而我们知道电子计数器测量周期时2-4电子测量周期的相对误差公式如下2-5其中,为标准信号周期,为被测信号周期,为标准信号频率,

22、N为计数器计数值。可以看出,计数器测量周期时,其测量误差主要决定于量化误差,被测周期越大时误差越小,被测周期越小时误差越大。对应于频率,我们可以知道,这种测频方法在被测频率越高时,其误差也就越大,适合于低频的测量。2.3频率测量方案的研究在频率计的设计中,一直存在和需要解决的问题主要有两个:一是频率测量的准确性问题,具体说来包含精度和稳定性两个问题;二是频率测量的范围问题,即测频带宽。为了解决这些问题,许多频率计设计者提出了各种各样的频率计设计方案。常见的解决方案有以下几种:1采用对标频信号计数的修正来提高测量精度。这主要有双计数测频法和数字移相测频法。这两种方法都可以在一定程度上提高频率测量

23、的精确度,那么其精确度可以提高34倍。2多周期同步测频法。多周期同步测频法的闸门时间不是固定的值,而是被测信号的整周期倍,即与被测信号同步。多周期同步测频法有以下特点:(1)测量误差与被测信号频率无关,即实现了被测频带内的等精度测量;(2)增大T或提高可以提高测量精度;(3)标准频率误差为,因为晶体稳定度很高,标准频率误差可以进行校准,校准后的标准频率误差可以忽略14。而在扩展测频宽度的问题上,通常采用的是量程自动转换法,这种方法通常可以到达一定精度的宽带的频率测量,但其在测频精度上也受到了很大的限制。2.4等精度数字频率计的工作原理等精度测频的方法是从直接测频的根底上开展而来的。它采用频率准

24、确的高频信号作为标准频率信号Fs,在闸门时间Tc内同时对标准信号脉冲和被测信号脉冲进行计数,并保证测量的闸门时间为被测信号的整数倍,实现整个频率测量范围内的测量精度相等,当标准信号频率够高,闸门时间足够长时,就可以实现高精度的频率测量。等精度测频原理示意图如图2-1所示:其具体方法如下:设定一个闸门时间为Tc,标准信号频率为fs,在Td时间内对标准时钟信号和被测信号的脉冲计数值分别为Ns和Nx,那么被测信号的频率测量值为:2-6在这里对标准信号所产生的计时误差为2-7由于tTs,可以得到2-8被测信号频率准确值,那么测量频率的相对误差为2-9当Td远远大于t时,频率测量的最大误差为2-10可知

25、,频率测量的最大误差由标准时钟信号的周期Ts和频率计数的闸门时间Td决定,Ts越小、Td越大,测量误差越小,即测量精度越高。在整个频率测量范围内,实现了精度恒定的等精度测量。当标准信号选取准确的100MHz信号源时,只要选取,就可使测量的最大相对误差10-6,即到达百万分之一的测量精度15。从图中我们可以看出预置闸门时间为Tc,但当Tc结束时,并未停止对fx、fs的计数,而是等到被测信号的下一个高电平到来时才结束计数,这样实际的闸门时间即为Td,保证了测量的闸门时间为被测信号的整数倍,在整个频率测量范围内,精度恒定,实现了等精度测量。等精度测频实现的原理图如以下图2-2所示:3基于VHDL频率

26、计功能模块的设计经过分析可以知道,完本钱频率计的设计共需一下四大模块,其设计结构图如图3-1所示。其各局部的功能分析如下:(1)计数器局部。此局部主要完成对fx、fs的计数,其组成的主要局部是标准计数器和被测信号计数器。(2)运算器局部。完成运算,得出被测信号的频率fx。包含除法器和乘法器两局部。(3)显示模块。显示是频率计必不可少的局部。在本设计中采用动态扫描显示,实现八位八段数码管的显示。4控制器。此局部主要产生设计中所用到的一些内部控制信号,如复位、清零等信号。3.1计数器模块计数器是数字频率计中最重要的局部,是数字频率计的核心,一个简单的数字频率计可以说就是一个计数器。计数器的准确性,

27、两个计数器如何实现同步计数,对频率计的精度影响非常大。此计数器为32位二进制,实现对标准频率信号和被测频率信号进行计数。它具有计数使能端en、异步清零端(clr)、时钟输入端(clk)等。当异步清零端(clr)为高电平时,不管计数使能端是否有效,时钟上升沿是否到来,计数器都立即清零,即Nx=0,Ns=0。只有异步清零端clr为低电平,并且计数使能端为高电平,有上升沿到来时,计数器才开始计数,当计数器计满时,进位输出为高电平。计数器的VHDL源程序如下:library ieee;-计数器use ieee.std_logic_1164.all;use ieee.std_logic_unsigned

28、.all;entity plj isport(bclk: in std_logic;-标准时钟 xclk:in std_logic;-被测信号 clr,en: in std_logic;-清零,计数使能信号 data1:out std_logic_vector(31 downto 0); data2:out std_logic_vector(31 downto 0);-数据输出 end plj;architecture behav of plj is signal Ns,Nx:std_logic_vector(31 downto 0);beginprocess(xclk,clr,en)-被测信

29、号计数,实际闸门 begin if clr=1 then Nx0); elsif xclkevent and xclk=1 then if en=1 then Nx=Nx+1; end if; end if;end process;process(bclk,clr,en)-标准时钟计数 begin if clr=1 then Ns0); elsif bclkevent and bclk=1 then if en=1 then Ns=Ns+1; end if;end if;end process;data1=Nx;data2=Ns;end behav;计数器的仿真如图3-2所示:3.2运算器模块

30、根据等精度频率计的原理可以知道,在本设计中所用到的运算主要有乘法单元和除法单元两个模块。3.2.1乘法器乘法器的运算,首先进行初始化。此处将乘积和乘数共用一个存放器,初始化时乘积存放器高位清零,乘数赋给乘积存放器低位。然后检查乘积存放器的最低有效位,此时乘积存放器的最低有效位为1,那么将被乘数存放器与乘积存放器左半局部相加,并将结果写回乘积存放器左半局部,然后乘积存放器右移1位,循环执行以上步骤32次。乘法器的硬件结构如图3-3所示。乘法运算流程的如图3-4所示,仿真如图3-5所示,程序见附录A。3.2.1除法器在Quartus软件集成开发环境中,虽然自带有LMP模块除法器,但它只能进行被除数

31、为2的整数平方的运算,因此大大地限制了它的使用领域16。除法器可通过移位相减相除来实现,本设计中采用时序逻辑除法算法来实现除法运算,其过程如图3-6。除法器要求比较中间数据与除数的大小,如果除数大于中间数据那么不进行减法,对应的结果存放器置0,否那么就置1。因为乘除法器是由时序逻辑电路构成的,计算结果需要很多个时钟周期才能得出结果,所以其结果的输出与数据的输入有一段时间间隔17。由于时序电路的这种特性,因此必须等到运算结果才能允许下一次输入,否那么不允许输入,所以在这里要设置start信号和finished信号。除法器的流程图如图3-7所示。除法器仿真如以下图3-7所示:3.3控制器模块控制器

32、模块主要用来产生所需的控制信号,包括锁存信号,清零信号以及计数使能信号。控制器的流程图如图3-5所示,程序如下:library ieee;use ieee.std_logic_1164.all;entity control isport(clk:in std_logic;-时钟信号creg:buffer std_logic;-锁存信号clr,en:out std_logic);-清零与计数使能信号end entity;architecture tr of control issignal c:std_logic;beginprocess(clk)beginif clk=1 and clkeve

33、nt thenc=not c;end if;end process;process(c,clk)beginif c=0 and clk=0 thenclr=1;else clr=0;end if;end process;creg=not c;enbt=00000001; Abt=00000010; Abt=00000100; Abt=00001000; Abt=00010000; Abt=00100000; Abt=01000000; Abt=10000000; Anull;end case;end process p1;P2:process(clk)-产生扫描信号 begin if clkeven

温馨提示

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

评论

0/150

提交评论