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

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上攀枝花学院本科毕业设计(论文)基于FPGA的数字频率计设计学生姓名: 学生学号: 5 院(系): 电气信息工程学院 年级专业: 2006级测控技术与仪器 指导教师: 二一年六月专心-专注-专业摘 要在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得十分重要。数字频率计是数字电路中的典型应用,是电子测量与仪表技术最基础的电子仪器之一,是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。与传统的频率计相比,数字频率计具有精度高、测量范围大、可靠性好等优点。是频率测量的重要手段之一。该论文研究基于FP

2、GA的数字频率计的设计,在QuartusII环境中,运用VHDL语言完成数字频率计的设计,并对设计进行综合、编译、仿真。通过仿真分析,证明该频率计测量结果的正确性。本文的主要内容概括如下: 介绍了数字频率计的基本内容和重要性,并对数字频率计的国内外研究现状进行了总结;并概括了本次设计的主要任务和内容。介绍了数字频率计设计开发环境,并对FPGA、QuartusII、VHDL进行了详细介绍对开发流程详细说明。 根据实际需要对数字频率计设计方法、方案进行了可行性比较,并对其实现的功能进行了具体要求,对设计模块进行了划分,并定义了每个模块所实现的功能。 用VHDL语言编程,具体实现频率计各个模块的功能

3、, 对数字频率计仿真并验证其功能。关键词:FPGA,QuartusII ,VHDL,频率计ABSTRACTIn electronics,frequency is one of the most basic parameters.And it have a close relationship with many measurement program of electrical parameters and measurement results, so the measurement of frequency is very important.Digital frequency meter

4、 is a typical applications in digital circuit,and one of the most basic electronic devices in electronic measurement and instrumentation technology. Digital frequency meter is an indispensable measuring instruments for scientific research and production as computers, communications equipment, audio,

5、 video. Compared with the conventional frequency counter,digital frequency meter have a high accuracy, measurement range and a good reliability. It is one of important measure for frequency measurement: The thesis research in design of digital frequency meter,FPGA-based. VHDL language is used to com

6、plete the design of digital frequency meter in QuartusII,and completed thesis with composited, compiled, simulated. Through simulation and analysis, The results show that the accuracy of measure for the frequency. The main contents of this thesis are summarized as follows:Firstly,it introduced the i

7、mportance and basic content of digital frequency meter, and current research is summarized .the main tasks and content of this design are summarized.Secondly,design and development environment of digital frequency meter are introduced. FPGA, QuartusII and VHDL are described in detail.Thirdly,accordi

8、ng to the actual needs of the digital frequency meter, design method and design program are compared to achieve the functions of their specific requirements, and defines the functions of each module to achieve the function.Lastly,the functions of each module achieved with VHDL language programming,

9、simulation and verify functionality of the digital frequency meter Key words FPGA,QuartusII ,VHDL,digital frequency mete1 绪 论数字频率计(DFM)是电子测量与仪表技术最基础的电子仪表类别之一,是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器,而且它是数字电压表(DVM)必不可少的部件,因此,数字频率计的发展对整个电子产品的发展起着举足轻重的作用。本文采用测频法的思想,利用FPGA设计数字频率计,为提高检测可靠性和效率奠定了坚实的基础。1.1 数字频率计概述数字

10、频率计是一种用十进制数字显示被测信号频率的数字测量仪器.它的基本功能是测量正弦信号、方波信号、尖脉冲信号及其他各种单位时间内变化的物理量。当今数字频率计不仅是作为电压表、计算机、天线电广播通讯设备、工艺过程自动化装置。集成数字频率计由于所用元件少、投资少、体积小、功耗低、且可靠性高、功能强、易于设计和研发,使得它具有技术上的实用性和应用的广泛性。不论从彩色电视机、电冰箱,DVD,还是现在家庭常用到的数字电压表、数字万用表等都包含有频率计。在智能化、数字化科技发展的今天,数字频率计已成为频率计发展的方向,与传统的频率计相比,数字频率计具有测量速度快、精度高、量程大、设计简单、读数方便等优点。因此

11、,数字频率计的发展对整个电子产品的发展起着举足轻重的作用1。近年来,我国在数字频率计研究领域发展迅速。目前,数字频率计的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下的逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件。1.2 数字频率计的国内外研究现状由于社会发展和科技发展的需要,信息传输和处理的要求的提高,对频率的测量精度也提出了更高的要求,需要更高准确度的时频基准和更精密的测量技术。而频率测量所能达到的精度,主要取决于作为标准频率源的精度以及所使用的测量设备和测量方法。目前,国内外使用的测频的方法有很多,有直接测频法、内插法、游标法、时间-电压变化法、多周期同步法、频

12、率倍增法、频差倍增法以及相位比较法等等。直接测频的方法较简单,但精度不高。内插法和游标法都是采用模拟的方法,虽然精度提高了,但是电路设计却很复杂;时间-电压变化法是利用电容充放电时间进行测量,由于经过A/D转换,速度较慢,且抗干扰能力较弱。多周期同步法是精度较高的一种。为了进一步的提高精度,通常采用模拟内插法或游标法与多周期同步法结合使用,虽然精度有了进一步的提高,但始终未解决个字的计数误差,而且这些方法设备复杂,不利于推广。频率误差倍增法可以减小计数器的个字的误差,提高测量精度。但用这种方法来提高测量精度是有限的,因为如要得到的测量精度,就要把被测频率倍频到,这无论是对倍频技术,还是对目前的

13、计数器都是很难实现的。频差倍增-多周期法是一种频差倍增法和差拍法相结合的测量方法。这种方法是将被测信号和参考信号经频差倍增使被测信号的相位起伏扩大,在通过混频器获得差拍信号,用电子计数器在低频下进行多周期测量,能在较少的倍增次数和同样的取样时间情况下,得到比测频法更高的系统分辨率和测量精度。但是仍然存在着时标不稳而引入的误差和一定的触发误差。以上只是对现存的几种主要的测频方法的概述,很显然从以上的分析中知道: 不同的测频方法在不同的应用条件下是具有一定的优势。总之,频率(时间)测量技术发展非常快。在频标方面,一方面是追求新的更高稳定度和准确度的新型频标,据报道,实验室中做出频率准确度优于的频标

14、。一方面是提供便于工业、科研应用的商品化频标,如小铯钟、铷频标、新型高稳定度晶体振荡器等这些工作多在计量研究与工业部门进行。大量的工作在改进、创造新的测频原理、方法和仪器,以便以更高的精度、速度,自动进行测量和数据处理,并向多功能、小型化、高性价比方向发展。在提高测频精度方面,值得特别提出的有全同步取样技术和可校准通用电子计数器技术,它们使测频精度提高到一个新的水平2。我国的频率计不是落后发达国家太多,我国在这个领域的发展是极其迅速的,现在的技术实际已是多年来见证。我国现阶段电子产品的市场特点,电子数字化发展很快。在我国和发达国家的发展情况是趋于一致的,数字频率计已经应用于高科技等产品上面,可

15、以不无夸张的说没有不包含有频率计的电子产品。我国的CD、VCD、DVD和数字音响广播等新技术已大量进入市场;而在今天这些行业中都必须用到频率计。到今天频率计已开始并正在向智能、精细方向的发展。国外的发展比我国要早,所以在这些行业中还领先于我们,我国还是缺少开发和研发的资金投入,很多的电子企业都不太乐意去花大量的时间、资金和精力去研究和开发,这也就使得我国在这方面的人力和资金都不充足,也就无法于发达国家相比,不能够形成一个量产的效果。从而很多的企业没有竞争力,这也和我国其他的民族产业存在相同的情况,这也正是我国在高速发展后的今天很少有自己的民族品牌的原因,所以我国应该大力的支持自己的民族品牌,不

16、仅仅是要在资金和人才的投入,还要有具体的实际行动并起到一定的保护作用。1.3 该设计研究的主要任务和内容该设计根据频率计原理,采用测频法的设计思想,在QuartusII开发环境中,利用VHDL语言设计了数字频率计,并通过仿真验证了设计的正确性。全文分为五章,各章的内容安排如下:第1章主要介绍了数字频率计的使用场合、国内外研究现状,交代了该论文研究的主要任务和内容。第2章主要介绍了数字频率计的开发环境:FPGA、QuartusII、VHDL。简单介绍了FPGA以及用FPGA设计的特点、优点和用FPGA开发大规模数字系统的设计流程;介绍了QuartusII的发展和使用;介绍了本次设计所使用的VHD

17、L语言的发展状况、优点,以及VHDL作为硬件描述语言编程流程。第3章介绍了数字频率计的设计方案,对数字频率计的设计方法和设计方案进行了定性分析和选择,确定了设计要求,并划分了频率计各个模块,确定了各个模块所要达到的功能。第4章具体实现频率计的功能并编程实现功能。概述了实现方法原理;通过编程,实现了各个模块的功能;通过编译仿真分析并验证频率计所能实现的功能。第5章对全文进行了总结,分析设计的不足和存在的问题。2 数字频率计开发环境介绍2.1 FPGA简介2.1.1 FPGA简介传统的数字系统设计一般采用搭积木式的方法进行,即由器件搭建成电路板,由电路板搭成数字系统。系统常用的“积木块”是固定功能

18、的标准集成电路,如74/ 54系列(TTL)、4000/4500系列(CMOS)芯片和一些固定功能的大规模集成电路。设计者根据需要选择合适的器件,由器件组成电路板,最后完成系统设计。传统的数字系统设计只能对电路板进行设计,通过设计电路板来实现系统功能。进入到20世纪90年代以后,电子设计自动化(Electronics Design Automation,EDA)技术的发展和普及给数字系统的设计带来了革命性的变化。利用EDA工具,采用可编程逻辑器件设计数字电路,正在成为数字系统设计的主流3。 FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称。FPGA

19、器件及其开发系统是开发大规模数字集成电路的新技术。它利用计算机辅助设计,绘制出实现用户逻辑的原理图、编辑布尔方程或用硬件描述语言方式作为设计输入;然后经过一系列转换程序、自动布局布线、模拟仿真的过程;最后生成配置FPGA器件的数据文件,对FPGA器件初始化。这样就实现了满足用户要求的专用集成电路,真正达到了用户自行设计、自行研制和自行生产集成电路的目的4。FPGA的基本特点主要有: 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 FPGA可做其它全定制或半定制ASIC电路的中试样片。 FPGA内部有丰富的触发器和I/O引脚。 FPGA是ASIC电路中设计周期最短、开发费

20、用最低、风险最小的器件之一。 FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。FPGA器件具有下列优点: 随着超大规模集成电路(Very Large Scale IC,VLSI)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGA芯片的规模也越来越大,其单片逻辑门数已达到上百万门,所实现的功能越来越强,同时还可以实现系统集成。 FPGA芯片在出厂之前100%都做过测试,不需要设计人员承担投资风险和费用,设计人员只需在自己

21、的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA的资金投入少,节省了许多潜在的花费。 用法可以反复的编程、擦除、使用,或者在外围电路不动的情况下,用不同的实现软件就可以实现不同的功能。因此,用FPGA试制样本,能以最快的速度占领市场。FPGA软件包中有各种输入工具、仿真工具、版图设计工具及编程器等全线产品,使电路设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有很少的改动时,更能显示出FPGA的优势。电路设计人员使用FPGA进行电路设计时,不需要具备专门的IC深层次的知识,FPGA软件易学易用,可以使设计人员集中精力进行电路设

22、计,快速将产品推向市场5。2.1.2 FPGA设计流程 FPGA的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。FPGA的一般设计流程如图2.1所示,包括设计准备、设计输入、功能仿真、设计处理、时序仿真和器件编程及测试七个步骤。 设计准备 在系统设计之前,首先要进行的是方案论证,系统设计和器件选择等准备工作。 设计输入 设计输入是设计人员将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入通常有以下三种形式。1) 原理图输入方式原理图输入方式是一种最直接的设计描述方式,要设计什么,就从软件系统提供的元件库中调出来,画出原理图。2) HDL(硬件描述语

23、言)输入方式硬件描述语言是用文本方式描述设计的,它分为普通硬件描述语言和行为描述语言。3) 波形输入方式 波形输入方式主要用来建立和编辑波形设计文件,以及输入仿真向量和功能测试向量。 功能仿真功能仿真在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延时信息,仅对初步的功能进行检测。 设计处理设计处理时器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合优化和适配,最后产生编程用的编程文件。1) 语法检查和设计规则检查设计输入完成后,首先进行语法检查,如原理图中有无漏连信号线等,并及时列出错误信息报告供设计人员修改,然后进行设计规则检验,并将编译报告列出

24、,指明违反规则情况以供设计人员纠正。2) 逻辑优化和综合简化所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。3) 适配和分割确立优化以后的逻辑能否与器件中的宏单元和I/O用单元适配,然后将设计分割为多个便于识别的逻辑小块形式映射到器件相应的宏单元中。4) 布局和布线布局和布线工作时在上面的设计工作完成后由软件自动完成的,它以最优的方式对逻辑元件布局,并准确地实现元件间的互连。 时序仿真时序仿真又称后仿真或延时仿真。在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能,以及检查和消除竞争冒险等式非常必要的。 器件编程测试时序仿真完成后,软件就可产生供器件编程使用的数据

25、文件6。图2.1 可编程器件FPGA的一般设计流程2.2 QuartusII简介QuartusII软件是美国Altera公司的第四代EDA开发软件,QuartusII是Altera前一代FPGA/CPLD集成环境MAX+plusII的更新换代产品,其界面友好、使用便捷。它提供了一种与结构无关的设计环境,非常适应具体的设计需要。QuartusII软件还提供了方便的设计输入方式、快速的编译和直接易懂的器件编程,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Deseription Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设

26、计输入到硬件配置的完整PLD设计流程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusII软件支持的器件有:Stratix、Stratix GX、Stratix、Mercury、AX3000A、MAX7000B、MAX7000S、MAX 7000AE、MAX、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone、APEX、APEX20KC、APEX20KE和ACEX1K系列。QuartusII软件的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。在设计流程的每

27、一步,QuartusII软件能够引导设计者将注意力放在设计上,而不是软件的使用上,同时,自动的错误定位、完备的错误和警告信息等功能,使设计修改工作变得简单容易。另外,QuartusII软件可与MATLAB的Simulink和DSP Builder结合,是开发DSP硬件系统的关键EDA工具,QuartusII软件与SOPC Builder结合,能够开发SOPC(System On a Programmable Chip)系统,是一款很有发展前途的EDA软件。Altera QuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎7。2.3

28、 VHDL语言简介2.3.1 VHDL语言的发展以及优点在HDL(硬件描述语言)形成发展之前,已有了许多程序设计语言,如汇编、C、Pascal、Fortran、Prolog等语言。这些语言运行在不同的硬件平台和操作环境中,他们是适合描述过程和算法,不适合作硬件描述。美国国防部电子系统项目有众多的承包公司,由于各公司技术线路不一致,许多产品不兼容,他们使用各自的设计语言,使得设计不能重复利用,造成了信息交换困难和维护困难。美国政府为了降低开发费用,避免重复设计,国防部为让他们的超高集成电路提供了一种硬件描述语言,以期望VHDL功能更强大、严格、可读性好。政府要求各公司的合同都用 它来描述,以避免

29、产生歧义。由政府牵头,VHDL工作小组1981年6月成立,提出了一个满足电子设计各种要求的能够作为工业标准的HDL。1987年12月通过标准审查并宣布实施,即IEEE STD 1076-1987LRM。1993年VHDL重新修订,形成新的标准即IEEE STD 1076-1993LRM93。现在随着系统级FPGA以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要。硬件描述语言为适应新的情况,得到迅速发展。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项

30、工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称为可视部分及端口)和内部(或称为不可视部分)。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能检验设计系统的功能可行性

31、,随时可对设计进行仿真模拟。 VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必须有多人甚至多个代发组共同工作才能实现。 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.3.2 VHDL的开发流程VHDL作为一种标准化的硬件描述语言,在对硬件电路进行描述的过程中应该遵循一定的流程,主要包括以下几步:图2.3 VHDL开发

32、流程图 在进行硬件电路系统设计之前,首先作出总体设计方案;然后给出相应的硬件电路系统设计指标;最后将总体方案中的各个部分电路设计任务及设计要求给相应的设计部门。 具体电路功能。接受相应的电路设计任务后,首先要对电路的设计任务和设计要求进行具体分析,确定设计电路所要实现的具体功能。 划分模块、编写程序。利用VHDL设计硬件电路通常采用自顶向下的设计方法。这种设计方法的总体思路是:首先确定顶层模块并进行顶层模块的设计;然后将顶层模块中的逻辑功能划分为不同的功能模块,再进行功能模块的详细设计。 VHDL程序模拟。在设计过程中,往往先采用模拟器(或称为仿真器)对VHDL程序进行模拟(或称为仿真)。这样

33、做的目的是可以在设计的早期发现电路设计上的缺陷和错误,从而节省电路设计的时间,缩短开发周期。 综合、优化和布局布线。综合是将电路设计的VHDL描述转换成底层电路表示;优化是将电路设计的时延缩到最小和有效利用资源;布局布线是将通过综合和优化所得到的逻辑,安防到一个逻辑器件之中的过程。 布局布线后的程序模拟。与VHDL程序模拟不同,只是对设计的逻辑功能进行模拟, 生成器件编程文件。生成器件编程文件的作用是将VHDL描述经过模拟、综合、优化和布局布线的结果,经过一定的映射转换成一个器件编程所用的数据文件格式。 进行器件编程8。3 数字频率计的设计方案3.1 数字频率计设计原理图3.1 数字频率计原理

34、基本框图频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。所谓频率,就是周期性信号的在单位时间(1s)内变化的次数,闸门时间可以根据需要取值,大于或小于1 s都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。若在一定时间间隔T内测得这个周期性信号的重复变化次数为N,则其频率可表示为9: 为了准确地测出频率的多少,人们研究出了很多测频率的方法。根据频率工作原理可将频率测量方法分成以下几类: 利用电路的某种频率相应特性来测量频率。谐振测频法和电桥测频法是这类测量方法

35、的典型代表:前者常用于低频段的测量,后者主要用于高频或者微波频段的测量。谐振法优点是体积小、重量轻、不要求电源等,目前仍获得广泛应用。 利用标准频率与被测频率进行比较来测量频率。采用比较法测量频率,其准确度取决于标准频率的准确度。拍频法、示波器法以及差频法等均属此方法。拍频法和示波器法主要用于低频段的测量,差频法则用于高频段的频率测量,它的显著优点是测试灵敏度高。以上两种方法适合于模拟电路中实现,但是模拟电路没有数字电路稳定,因此数字电路出现后,马上就出现了数字频率计。目前广泛使用的计数测频法则适合于数字电路实现。该方法是根据频率的定义,记下单位时间内周期信号的重复次数,因此又称为电子计数器测

36、频法。常用数字频率测量方法有M法,T法和M/T法。M法是在给定的闸门时间内,测量被测信号的脉冲个数再进行换算得出被测信号的频率,其测量精度取决于闸门时间得准确度和被测信号频率。当被测信号频率较低时将产生较大误差,除非闸门时间取得很大。T法是通过测量被测信号的周期,然后换算得出被测信号的频率。其测量精度取决于被测信号的周期和计时精度,测信号频率较高时,对计时精度的要求就很高10。3.2 数字频率计设计方案数字频率计的设计方案很多,目前主要有以下几种。方案一:电路整体框架如图3.2所示。被测信号经过放大,整形电路将其转换成同频率的脉冲信号,送入计数器进行计数,闸门的一个输入信号是标准脉冲信号,其时

37、间是相当精确的,计数器显示电路采用七段共阴极LED数码管。 待测信号xclkLED显示闸门控制器标准时钟clk计数器 图 3.2 方案一框图方案二:采用单片机程序处理输入信号并且将结果直接送往LED显示,为了提高系统的稳定性,输入信号前进行放大整形,在通过A/D转换器输入单片机系统,采用这种方法可大大提高测试频率的精度和灵活性,并且能极大的减少外部干扰,采用VHDL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。但采用这种方案相对设计复杂度将会大大提高并且采用单片机系统成本也会大大提高

38、。LED数显电路单片机A/D转换器放大整形电路xclk图3.3 方案框图方案三:采用频率计专用模块,即大规模集成电路将计数器、锁存器、译码、位和段驱动,量程及小数点选择等电路集成在一块芯片中,该方案在技术上是可行的,可以简化电路的设计,当对于设计要求中的某些指标,采用专用模块来完成比较困难,即扩展极为不便。图3.4 方案三框图综上所述:方案一具有设计复杂度小、电路简洁、功能实用且成本低廉等特点,其稳定性较好基本能满足设计要求。方案二采用单片机处理能较高要求,但成本提高且设计复杂。方案三采用专用频率计设计模块固然设计简单且稳定但系统可扩展性能较差。所以该设计采用第一种设计方案。在设计中,采用直接

39、测频法对信号频率进行测量;采用了门控信号和被测信号对计数器的使能端进行双重控制,提高了测量的精确度11。图3.5 测频法控制信号图本次设计实现的功能:4位数字频率计是用4个十进制数字显示的数字式频率计,其频率测量范围为19999Hz,具体功能如下: 当输入的频率值大于9999Hz时,超出测量范围,频率计不能正常显示频率值。 当输入的频率值小于1Hz时,频率计显示值为“0000”,不能显示其频率。 在输入频率为19999Hz时,能正常显示频率值,且最小精度为1Hz,待测频率的显示时间为1秒,显示1秒后清零,等待下一次输入并显示其值。标准时钟发生器clk测频控制信号发生器四位十进制计数器待测信号x

40、clk译码驱动电路LCD显示十进制数复位控制电路rst图3.6 测频法频率计设计框图频率计是由输入输入待测信号xclk、复位控制开关rst、测频控制信号发生器、四位十进制计数器、译码驱动电路、LED显示器组成。数字频率计的结构框图如图3.6,被测信号为xclk,输入计数器;标准信号发生器提供标准时钟信号clk,输入测频控制信号发生器,由测评控制信号发生器产生闸门信号,其高电平持续的时间,当信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到信号结束时闸门关闭,停止计数。若在闸门时间内计数器计得的脉冲个数为,则被测信号频率,并在停止计数的1s时间内(即使能信号期间内),把被测频率N在

41、LCD上显示出来,显示1s后,LCD清零12。 数字频率计各部分介绍如下: 数字频率计广泛的用来测量交流电信号的频率、周期、频率比、时间间隔、累积计数等。它由输入待测频率、计数显示、测频控制信号发生器、译码驱动电路等四部分组成。 计数器:累计输入待测信号的脉冲个数,并将结果测得的二进制数送入译码驱动电路。 测频信号控制发生器:对基准时钟信号clk产生的标准频率经过分频(降低频率)和倍频(提高频率),产生一系列的闸门时间和时标信号。 译码驱动电路:将测得的个、十、百、千四位的二进制数编译为十进制数,在LCD上显示。在这个总的电路设计中包含有几个不同功能的分电路,每个电路在本设计中都有着自己特有的

42、功能,也只有这几个分电路组合在一起才使得整个的电路实现其所要达到的功能13。4 数字频率计的设计4.1 数字频率计实现方法本次设计运用VHDL在FPGA器件上实现数字频率计测频系统,运用测频法原理实现频率计,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能够对其他多种物理量进行测量。根据测频法原理设计频率计,测量一秒或者x秒内待测信号的周期个数,然后经过分频或者倍频法,计数出一秒内待测信号的个数t,t即为待测信号的频率值。由此定义,我们可以将频率的测量分为四个主要步骤。时基产生与测频控制进程模块,产生一个标准的时钟信号,作为闸门信号,闸门信号主要是对计数

43、器的工作状态进行控制,在闸门信号有效的时间内开启计数器,对输入的波形进行计数,就是对1秒或者x秒内被测信号的周期进行累计。为了计算方便,通过倍频或者分频后使得闸门有效时间为1秒。计数进程模块,在闸门信号有效时间范围内,既使能信号en=1,高电平期间内,对输入的信号周期个数进行计数。主要是通过计数器的开启,对被测信号在单位时间内的重复次数进行测量,如果时间不是单位时间,则通过分频或者倍频将时间换算为单位时间,则单位时间内待测信号的个数即为待测频率值。闸门信号(测频控制信号en)控制对计数器的开启和关闭,被测信号在闸门信号开启(既en=1)期间内,对计数器的计数功能进行触发,并计数;晶体管显示测试

44、模块;译码显示模块,将计数器测得的频率值(二进制数),通过七段译码器,译成十进制数并在LED上显示出来。根据数字频率计的实现原理和流程,将本次设计实现的模块进一步地进行细化。在整个软件实现的过程中,采用了4个相关的模块:标准时钟发生器:产生标准的时钟信号clk,频率为为1Hz;测频控制信号发生器:依靠脉冲发生器产生的标准时钟信号,产生8秒的闸门信号,通过1/8分频法,将时间换算成单位时间,即控制闸门信号为1s(即en高电平时间为1s);并en一个周期结束后产生一个清零信号clr;计数模块:当测频控制信号发生器产生的1s的闸门信号为有效电平状态时(en=1),开始计算待测信号的周期个数,当闸门信

45、号回到无效电平状态时(en=0),停止计数,在停止的1秒时间内(en=0期间内)显示出测得的数值,其值即为所求频率值,显示1秒后清零;译码驱动电路:将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果10。图4.1 测频法数字频率计测频原理4.2 基本电路设计该论文采用模块化的设计思想和多进程描述方法来设计数字频率计, 其具体的设计方法如下。4.2.1 整体程序结构本程序包括库(LIBRARY IEEE)、实体(Entity)、结构体(Architecture),并打开IEEE库中的的程序包STD_LOGIC_1164.ALL、STD_LOGIC_ARITH.ALL、S

46、TD_LOGIC_UNSIGNED.ALL。其中实体定义了电路模块的接口,输入基准时钟信号(clk)、待测信号频率(xclk)、复位信号(rst);输出接口定义了led显示灯、输出频率ge,shi,bai,qian、和计数允许信号ceen;结构体中对计数信号count0、 count1、 count2 、count3 以及进位信号c0、 c1、 c2进行了声明,结构体包括时基产生与测频控制进程模块、计数进程模块、译码进程模块、led显示模块构成。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE I

47、EEE.STD_LOGIC_UNSIGNED.ALL;ENTITY freq ISPORT(clk, xclk: INSTD_LOGIC;rst :INSTD_LOGIC;led1,led2,led3,led4 : OUTSTD_LOGIC_VECTOR(6 DOWNTO 0);ceen :OUT STD_LOGIC;ge,shi,bai,qian :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END freq;ARCHITECTURE behav OF freq ISSIGNAL count0 : STD_LOGIC_VECTOR(3 DOWNTO 0):=&quo

48、t;0000"SIGNAL count1 : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"SIGNAL count2 : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"SIGNAL count3 : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"SIGNAL num : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"SIGNAL clr,en,c0,c1,c2 : STD_LOGIC;SIGNAL N

49、O1,NO2,NO3,NO4:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINEND behav;4.2.2 时基产生与测频时序控制电路时基产生与测频时序控制模块产生测量频率的控制时序,是设计频率计的关键。测频测量的基本原理是计算每秒钟内待测信号的脉冲个数。这里 时钟信号周期clk取为0.125s,八分频后就是一个脉宽为1s的使能信号en,用来作为计数闸门信号,进行对待测信号的同步控制,当en为高电平(en=1)时开始计数;在en的下降沿时,停止计数并通过译码后在LCD上显示。P2:PROCESS (countdiv,en)BEGIN IF rst='1'

50、THEN en<='0'elseIF countdiv="1111" THEN clr<='1'ELSE clr<='0'END IF;IF countdiv<="0111" THEN en<='1'ELSE en<='0'END IF;END IF;ceen<=en;END PROCESS P2;4.2.3 计数电路模块 具体实现计数功能,实现千、百、十、个四位数上的具体计数。 计数模块在复位信号rst复位后即rst=0时,清零信号

51、清零后,并且计数允许信号en=1高电平期间,待测信号xclk上升沿到来时开始计数,首先对个位count0进行判断,当个位数count0满九时待测信号(xclk)下一个上升沿到来时,count0清零,并触发c0下降沿到来,并由c0的下降沿触发十位数count1进位计数, 若count0没有满九,则count0进行累加;同理当十位数count1满9,下一个c0到来时,触发c1的下降沿到来,并由c1的下降沿触发百位数进位计数,当百位数count2计数满9时,下一个c1的下降沿到来时,触发c2下降沿到来,并由c2下降沿触发千位数count3进位计数。当超过计数范围“1Hz9999Hz”时,计数失败。P

52、3:PROCESS (xclk,clr,en)-个位计数器BEGINIF clr='1' or rst='1' THEN count0<="0000"ELSIF (rising_edge(xclk)AND (en='1') THEN IF count0="1001" THEN count0<="0000"c0<='0' ELSE count0<=count0+'1'c0<='1' END IF;END IF;g

53、e<=count0;END PROCESS P3;P4:PROCESS (c0,clr,en,rst)-十位计数器BEGINIF clr='1' or rst='1' THEN count1<="0000"ELSIF (falling_edge(c0)AND (en='1') THEN IF count1="1001" THEN count1<="0000"c1<='0' ELSE count1<=count1+'1'c1&l

54、t;='1' END IF;END IF;shi<=count1;END PROCESS P4;P5:PROCESS (c1,clr,en)-百位计数器BEGINIF clr='1' or rst='1' THEN count2<="0000"ELSIF (falling_edge(c1)AND (en='1') THEN IF count2="1001" THEN count2<="0000"c2<='0' ELSE count2

55、<=count2+'1'c2<='1' END IF;END IF;bai<=count2;END PROCESS P5;P6:PROCESS (c2,clr,en)-千位计数器BEGINIF clr='1' or rst='1' THEN count3<="0000"ELSIF (falling_edge(c2)AND (en='1') THEN IF count3="1001" THEN count3<="0000" EL

56、SE count3<=count3+'1' END IF;END IF;qian<=count3;END PROCESS P6;4.3 仿真分析 完成程序编辑后,创建工程,通过编译进一步排除错误,并完成编译,对工程综合后,通过RTL VIEWER可查看其设计的电路图如图4.2。图4.2 数字频率计电路图计数过程波形仿真。设计输入后,在QuartusII对工程进行编译,然后利用QuartusII波形编辑器创建矢量波形图(.vwf),并在矢量波形图中加入输入输出节点,编辑好输入波形,然后对设计进行仿真,其仿真波形如图。从图中可以看出计数过程,在0s1s期间内,实现了频率

57、计的计数过程,个位数从0开始计数到9,下一次计数时清零,且十位数开始进位。通过仿真分析,验证了门限信号为1s,并且在1s后停止计数,并验证了P3P6进程模块程序的功能的正确性。图4.3计数过程波形仿真频率计功能验证仿真。从这个图也可以看出门限信号为1s,其中,led4用于显示千位数字,led3用于显示百位数字,led2用于显示十位数字,led1用于显示个位数字,七段数码管的段码如图,该设计采用共阴极数码管。当xclk为频率为50Hz时,仿真波形如上图所示,由数码管的段码可知,其测试结果为50Hz。图4.4频率为50Hz的仿真波形当xclk频率为1000Hz时,仿真波形如下图,其测量结果为1000Hz。图4.5 频率为1000Hz的仿真波形4.4 本章小结本章首先具体说明了数字频率计设计中各个模块的实现功能,从理论上分析了各个模块需要完

温馨提示

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

最新文档

评论

0/150

提交评论