




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于fpga的数字频率计的设计 1 引 言 1.1 课题背景 随着数字电路应用越来越广泛,传统的通用数字集成电路芯片已经很难满足系统功能的要求,而且随着系统复杂程度的不断增加,所需通用集成电路的数量呈爆炸性增长,使得电路板的体积迅速膨胀,系统可靠性难以保证。此外,现代电子产品的生命周期都很短,一个电路可能要在很短的时间内作改进以满足新的功能要求,对于通用集成电路来说则意味着重新设计和重新布线。而可编程逻辑器件克服了上述缺点,它把通用集成电路通过编程集成到一块尺寸很小的硅片上,成倍缩小了电路的体积,同时由于走线短,减少了干扰,提高了系统的可靠性,又由于vhdl语言和verilog语言易于掌握与使
2、用,设计相当灵活,极大地缩短了产品的开发周期1。本设计在fpga技术越来越成熟,应用越来越广泛的情况下,使用成熟的fpga技术来实现采用传统计数法测频的数字频率计。 1.2 频率计的发展现状由于社会发展和科技发展的需要,信息传输和处理要求的提高,对频率的测量精度也提出了更高的要求,需要更高准确度的时频基准和更精密的测量技术。而频率测量所能达到的精度,主要取决于标准频率源的精度以及所使用的测量设备和测量方法。目前,国内外使用的测频方法有很多,有直接测频法、内插法、游标法、时间-电压变化法、多周期同步法、频率倍增法、频差倍增法以及相位比较法等等。直接测频的方法较简单,但精度不高。内插法和游标法都是
3、采用模拟的方法,虽然精度提高了,但是电路设计却很复杂。为了进一步提高精度,通常采用模拟内插法或游标法与多周期同步法结合使用,虽然精度有了进一步的提高,但始终未解决个字的计数误差,而且这些方法设备复杂,不利于推广。频率误差倍增法可以减小计数器的个字的误差,提高测量精度。但用这种方法来提高测量精度是有限的,因为如要得到21013的测量精度,就要把被测频率倍频到,这无论是对倍频技术,还是对目前的计数器都是很难实现的。频差倍增-多周期法是一种频差倍增法和差拍法相结合的测量方法。这种方法是将被测信号和参考信号经频差倍增使被测信号的相位起伏扩大,再通过混频器获得差拍信号,用电子计数器在低频段进行多周期测量
4、,能在较少的倍增次数和同样的取样时间情况下,得到比测频法更高的系统分辨率和测量精度。但是仍然存在时标不稳而引入的误差和一定的触发误差。以上只是对现存的几种主要的测频方法的概述,很显然从以上的分析中知道:不同的测频方法在不同的应用条件下是具有一定优势的2。由于本设计的频率范围比较宽,多周期同步法、相位比较法等测频方法的相对测量误差可能会很大,即在大范围的频率测量中不能满足设计要求。直接测频法虽然精度不是很高,但误差也不是很大,完全能满足设计要求,因此在本设计中,主要采用传统的直接测频法中的计数测频法来实现数字频率计的设计,而且在fpgacpld芯片上实现,具有很大的优势。 总之,频率(时间)测量
5、技术发展非常快。在频标方面,一方面是追求更高稳定度和准确度的新型频标,据报道,实验室中做出频率准确度优于的频标。一方面是提供便于工业、科研应用的商品化频标,如小铯钟、铷频标、新型高稳定度晶体振荡器等这些工作多在计量研究与工业部门进行。大量的工作在改进、创造新的测频原理、方法和仪器,以便以更高的精度、速度,自动进行测量和数据处理,并向多功能、小型化、高性价比方向发展。在提高测频精度方面,值得特别提出的有全同步取样技术和可校准通用电子计数器技术,它们使测频精度提高到一个新的水平23。1.3 本设计所做主要工作本设计利用quartus 开发软件,并使用一片fpga芯片设计实现一个数字频率计,该数字频
6、率计的频率测量范围为1hz-1mhz。系统可以对外界输入的频率信号进行自动测量,并根据信号频率的大小自动调节档位,提高测量精度。要求设计一个4位十进制数字频率计,共分4档,其测量范围分别是:1-999hz、1.000-9.999khz、10.00-99.99khz、100.0-999.9khz。 在设计中主要完成数字频率计的系统总体设计,并采用硬件描述语言vhdl语言对各个模块及总体设计进行编程,利用quartus 开发软件对其程序进行编译及仿真,得到各个模块及顶层文件的时序仿真图,并下载到一片fpga芯片中,使用七段数码管显示,实现数字频率计的设计要求。1.4 本章小结 本章主要介绍了数字频
7、率计的设计背景及其发展现状,让我们对数字频率计有了进一步的了解,同时也阐述了本设计所完成的数字频率计的主要功能及在设计过程中要完成的主要工作。2 基于fpga的数字频率计的原理及性能2.1 频率计简介频率是电子技术领域永恒的话题,电子技术领域离不开频率,一旦离开频率电子技术的发展是不可想象的,就像现在的人离不开电一样。为了得到性能更好的电子系统,科研人员在不断地研究着频率,cpu就是用频率的高低来评价其性能的好坏、速度的高低,可见频率在电子系统中是多么重要。为了准确的测出频率的大小,人们研究出了很多测量频率的方法3。根据测频工作原理可将频率测量方法分成以下几类:(1)利用电路的某种频率响应特性
8、来测量频率,谐振测频法和电桥测频法是这类测量方法的典型代表。前者常用于低频段的测量,后者主要用于高频或微波频段的测量。谐振法的优点是体积小、重量轻、不要求电源等,目前仍获得广泛应用。(2)利用标准频率与被测频率进行比较来测量频率,采用比较法测量频率,其准确度取决于标准频率的准确度。拍频法、示波器法以及差频法等均属此类方法。拍频法和示波器法主要用于低频段的频率测量,差频法则用于高频段的频率测量,它的显著优点是测试灵敏度高。 以上两种方法适合于模拟电路中实现,但是模拟电路没有数字电路稳定,因此数字电路出现后,马上就出现了数字频率计。目前广泛使用的计数测频法则适合于数字电路实现。该方法是根据频率的定
9、义,记下单位时间内周期信号的重复次数,因此又称为电子计数器测频法。 常用数字频率测量方法有m法,t法,法和等精度测频法。m法是在给定的闸门时间内,测量被测信号的脉冲个数再进行换算得出被测信号的频率,其测量精度取决于闸门时间的准确度和被测信号的频率。当被测信号频率较低时将产生较大误差,除非闸门时间取得很大。t法是通过测量被测信号的周期,然后换算得出被测信号的频率。其测量精度取决于被测信号的周期和计时精度,被测信号频率较高时,对计时精度的要求就很高。法具有以上2种方法的优点,通过测量被测信号多个周期的计数次数,然后换算得出被测信号的频率,可兼顾低频与高频信号,提高了测量精度。但是,m法、t法和法都
10、存在计数误差问题。m法在规定闸门时间内存在个被测信号的脉冲计数误差,t法或法也存在个字的计时误差。通过对几个方案的分析与研究,在本设计中可以采用m法(计数测频法)进行频率测量,计数测频法比其他方案更加简单、方便、可行。本设计使用著名的altera公司的软件平台quartus ,并采用vhdl语言来实现数字频率计的设计。2.2 fpga原理及结构2.2.1 fpga的基本原理fpga是英文field programmable gate array的缩写,即现场可编程门阵列,它是在pal、gal、epld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而
11、出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前大多数fpga的i/o单元被设计为可编程式,即通过软件的灵活设置,可以匹配不同的电气标准与i/o物理特性。基本可编程逻辑单元是可编程逻辑的主体,可灵活改变其内部连接与配置,完成不同的逻辑功能。fpga一般是基于sram工艺,其基本可编程逻辑单元通常由查找表(look up table,lut)和寄存器(register)组成。目前大多数fpga都有内嵌的ram块。fpga内部嵌入可编程ram块,大大地拓展了应用范围和使用灵活性,可灵活的配置为单口ram、双口ram、伪双口ram、cam和fifo等常用结构4。布线资源
12、连通fpga内部所有单元,连线长度和工艺方式决定了信号在线上的驱动能力和传输速度。底层嵌入功能单元指那些通用度较高的嵌入功能模块,比如pll、dll、dsp和cpu等。内嵌专用硬核是相对于前面的“底层嵌入功能单元”而言,不为大多数fpga所包含的硬核。比如为了提高fpga性能,采用高速通信总线与接口标准。目前很多高端fpga都集成了serdes(串并收发器)等专用硬核。2.2.2 fpga的基本结构fpga采用了逻辑单元阵列lca(logic cell array)这样一个新概念,内部一般是由可配置逻辑模块clb(configurable logic block)、可编程输入/输出模块iob
13、(input/output block)和互连资源icr(interconnect capital resource)及一个用于存放编程数据的静态存储器sram(static random access memory)组成5。fpga的基本结构如图1所示。图1 fpga的基本结构图clb阵列实现用户指定的逻辑功能,它们以阵列的形式分布在fpga中;iob为内部逻辑与器件封装引脚之间提供了可编程接口,它通常排列在芯片四周;可编程互连资源分布在clb的空隙,互连资源可以编程配置在模块之间传递的信号网络,用于实现各个clb之间、clb与iob之间以及全局信号与clb和iob之间的连接。fpga利用可
14、编程查找表实现逻辑块;程序控制多路复用器实现其功能选择。2.2.3 fpga的特点fpga的基本特点主要有:(1)采用fpga设计asic电路,用户不需要投片生产,就能得到合适的芯片。(2)fpga可做其它全定制或半定制asic电路的中试样片。(3)fpga内部有丰富的触发器和i/o引脚。(4)fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。(5)fpga采用高速chmos工艺,功耗低,可以与cmos、ttl电平兼容。可以说,fpga芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前fpga的品种很多,有xilinx的xc系列、ti公司的tpc系列、altera
15、公司的flex和cyclone系列等。fpga有多种配置模式:并行主动模式为一片fpga加一片eprom的方式;主从模式可以支持一片prom编程多片fpga;串行模式可以采用串行prom编程fpga;外设模式可以将fpga作为微处理器的外设,由微处理器对其编程6。fpga芯片是特殊的asic芯片,除了具有asic的基本特点外,还具有以下几个优点:(1)随着超大规模集成电路(very large scale ic,vlsi)工艺的不断提高, 单一芯片内部可以容纳上百万个晶体管,fpga芯片的规模也越来越大,其单片逻辑门数已达到上百万门,所实现的功能越来越强,同时还可以实现系统集成。(2)fpga
16、芯片在出厂之前100%都做过测试,不需要设计人员承担投资风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,fpga的资金投入少,节省了许多潜在的花费。(3)用户可以反复的编程、擦除、使用,或者在外围电路不动的情况下,用不同的实现软件就可以实现不同的功能。因此,用fpga试制样本,能以最快的速度占领市场。fpga软件包中有各种输入工具、仿真工具、版图设计工具及编程器等全线产品,使电路设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量的改动时,更能显示出fpga的优势。电路设计人员使用fpga进行电路设计时
17、,不需要具备专门的ic深层次的知识,fpga软件易学易用,可以使设计人员集中精力进行电路设计,快速将产品推向市场。 2.3 fpga芯片的选择cyclone ii系列fpga器件由美国altera公司出品,属于中端产品,比较有代表性,因而本设计选用cyclone ii系列fpga器件。在altera大获成功的第一代cyclone器件系列基础之上,cyclone ii系列fpga从根本上针对低成本进行设计,为成本敏感的大批量应用提供用户定制特性。cyclone ii fpga以低于asic的成本实现了高性能和低功耗。cyclone ii系列fpga片内的逻辑单元的数量大幅增加,最多可以达到684
18、16个逻辑单元。除此之外,片内的存储器容量最多增加至1.1mbit,用户可用引脚最多增加至622个。而且cyclone ii系列fpga内部带有乘法器,这些乘法器能用于完成高速乘法操作。并且cyclone ii系列fpga内部有丰富的时钟资源,能够完成分频、倍频、移相等有关时钟的基本操作,使关于fpga的设计更加方便简单。cyclone ii系列fpga还支持nios ii嵌入式处理器,在一片fpga芯片内部可以嵌入1个或多个nios ii处理器,能够更灵活地满足设计需求,缩短开发周期。cyclone ii系列fpga中不同型号的芯片所包含的各种资源情况7如表1所示。表1 cyclone ii
19、系列fpga逻辑资源表 资源型号逻辑单元(le)数m4k存储器块数总计存储器容量/bits乘法器数锁相环(pll)数用户可用引脚数ep2c52626119808132158ep2c8825636165888182182ep2c201875252239616264315ep2c3533216105483840354475ep2c5050582129594432864450ep2c706841625011520001504622本文采用cyclone ii系列fpga中的ep2c20芯片完成数字频率计的设计。altera的ep2c20芯片的结构如图2所示。sdram控制器falsh控制器pio定时
20、器uart控制器*3nioscpu4kbyterom步进电机控制模块扫描时序控制can控制器 ton总线 图2 ep2c20芯片内部结构图ep2c20芯片内部可用的逻辑单元较多,支持两种工作模式:普通模式和算术模式。在算术模式下可以实现本设计所需要的4位十进制计数器。同时ep2c20芯片内部每边都含有4个时钟控制模块,共有16条时钟树、4个锁相环,可以完成分频、倍频、调整占空比等功能,为本设计提供可用的时钟信号。ep2c20芯片含有丰富的i/o口,能够兼容多种信号标准,可以同时满足多个标准的需要,连接不同标准的其它器件,实现以低廉的成本完成复杂的设计需求。同时ep2c20芯片可以在3中不同的速
21、度下运行。除此之外,ep2c20芯片还支持多种配置方式,使设计更为简单方便。2.4 vhdl简介 vhdl的英文全名是veryhighspeed integrated circuit hardware description language,诞生于1982年。1987年底,vhdl被ieee和美国国防部确认为标准硬件描述语言。自ieee公布了vhdl的标准版本ieee-1076(简称87版)之后,各eda公司相继推出了自己的vhdl设计环境,或宣布自己的设计工具可以和vhdl接口。此后vhdl在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,ieee对vhd
22、l进行了修订,从更高的抽象层次和系统描述能力上扩展vhdl的内容,公布了新版本的vhdl,即ieee标准的10761993版本 (简称93版)。现在,vhdl和verilog作为ieee的工业标准硬件描述语言,又得到众多eda公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新世纪中,vhdl与verilog语言将承担起大部分的数字系统设计任务8。 vhdl主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,vhdl的语言形式和描述风格以及语法都十分类似于一般的计算机高级语言。vhdl的程序结构特点是将一项工程设计或称设计实体(可以是一个元件
23、,一个电路模块或一个系统)分成外部(或称可视部分及端口)和内部(或称不可视部分)。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体9。这种将设计实体分成内外部分的概念是vhdl系统设计的最基本特点。应用vhdl进行工程设计的优点是多方面的:(1) 与其他的硬件描述语言相比,vhdl具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2) vhdl丰富的仿真语句和库函数,使得在任何大系统的设计早期就能检验设计系统的功能可行性,随时可对设计进行仿真模
24、拟。(3) vhdl语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的可利用功能。高效、高速的完成必须有多人甚至多个代发组共同并行工作才能实现的符合市场需求的大规模系统。(4) 对于用vhdl完成的一个确定的设计,可以利用eda工具进行逻辑综合和优化,并自动的把vhdl描述设计转变成门级网表。(5) vhdl对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,就能进行独立的设计。2.5 fpga开发环境及流程 2.5.1 软件环境quartus 5.0的介绍 quartus 5.0是altera提供的fpga/cpld开发集成环境,
25、altera是世界上最大的可编程逻辑器件供应商之一。quartus 5.0是altera公司前一代fpga/cpld集成环境max+plus的更新换代产品,其界面友好、使用便捷。quartus 5.0是altera公司的综合性pld开发软件,支持原理图、vhdl、veriloghdl以及ahdl(altera hardware description language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整pld设计流程。quartus 5.0提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程10。quartus 5.0
26、包含许多十分有用的lpm(library of parameterized modules)模块,它们是复杂或高级系统建构的重要组成部分。本设计在实现原理图输入多层次设计的同时,大量运用了quartus 5.0系统中的元件库,lmp是参数可设置模块库(library of parameterized modules)的缩写,altera公司提供的可参数宏功能模块和lmp函数均基于altera器件的结构作了优化设计。lmp功能模块内容非常丰富,每一个模块的功能、参数含义、使用方法、硬件描述语言模块参数设置以及调用方法都可以在quartus 5.0中的help中查阅到。设计者可以根据实际电路的设计
27、需要,选择lmp库中的适当模块,并为其设定适当的参数,就能够满足自己的设计需要。altera提供的宏功能模块和lmp函数有以下几个方面:(1)算术组件:包括累加器、加法器、乘法器和lmp算术函数。(2)门电路:包括多路复用器和lmp门函数。(3)i/o组件:包括时钟数据恢复(cdr)、锁相环(pll)、双数据速率(ddr),千兆位收发器块(gxb)、lvds接收器和发送器,pll重新配置和远程更新宏功能模块。(4)存储器编译器:包括fifo partitioner、rom和rom宏功能模块。(5)存储组件:包括存储器、移位寄存器宏模块和lmp存储器函数。quartus 5.0允许来自第三方的e
28、dif文件输入,并提供一个新的编辑输入环境中对使用不同输入设计方式完成的模块进行调试,从而解决了原理图和vhdl混合输入设计的问题。而且quartus 5.0拥有性能良好的设计错误定位器,用于确定文本或图形设计中的错误。altera的quartus 5.0作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。2.5.2 fpga的开发流程 随着可编程器件的发展,fpga的应用越来越广泛,对fpga的开发也显得日趋重要。fpga的开发流程如图3所示。原理图/vhdl文本编辑综合fpga/cpld适配fpga/cpld 编程下载 fpga/cpld 器
29、件和电路下载时序与功能门级仿真 图3 fpga的开发流程图 2.6 本章小结本章主要对数字频率计做了简单的介绍,并提出了几种常见的用于模拟电路和数字电路中的测量频率的方法。同时对本设计所使用的ep2c20芯片的内部结构及其所包含的可用的内部资源做了简单的介绍,并对设计中所用的现场可编程门阵列(fpga)及所使用的仿真软件quartus 5.0做了详细介绍,同时也对硬件描述语言vhdl语言做了一定的介绍。 3 基于fpga的频率测量系统的方案选取3.1 常用的数字频率测量方法 用于频率测量的方法很多,频率测量的准确度主要取决于所测量的频率范围以及被测对象的特点。而测量所能达到的精度,不仅仅取决于
30、作为标准使用的频率源的精度, 也取决于所使用的测量设备和测量方法11。因此,下面介绍几种常用的频率测量方法,分析它们的优缺点,从而提出计数法频率测量方法。3.1.1 直接测频法直接测频法是最简单的,也是最基本的频率测量方法。在测量过程中,依据信号频率高低的不同,测量方法也可以分为两种:(1)被测信号频率较高时(m法,又称计数测频法)通常选用一个频率较低的标准频率信号作为闸门信号,而将被测信号作为填充脉冲,在固定闸门时间内对其计数。设闸门宽度为,计数值为,则这种测量方法的频率测量值为: (1)测量误差主要决定于闸门时间和计数器计得的数的准确度,因此,总误差可以采用分项误差绝对值线性相加来表示,即
31、: (2)其中,是最大量化误差的相对值,,的产生是由于测频时,闸门的开启时刻与计数脉冲之间的时间关系不相关造成的,即在相同的闸门开启时间内,计数器所得的数并不一定相同。当闸门开启时间接近甚至等于被测信号周期的整数倍时,量化误差最大,最大量化误差为个数。为标准频率的准确度,在数值上石英晶体振荡器所提供的标准频率的准确度等于闸门时间的相对误差的准确度,即: (3)式中负号表示由引起的闸门时间的误差为。通常,对标准频率的准确度的要求是根据所要求的测频准确度而提出来的。因此,为了使标准频率误差不对测量结果产生影响,标准频率的准确度应高于被测信号准确度至少1个数量级。因此,测量较高的信号频率时,若一定,
32、闸门时间越长,测量准确度越高。当选定后,越高,个数字误差对测量结果影响越小,测量准确度越高。(2)被测信号频率较低时(t法,又称测周期法)通常被测信号被选作闸门信号,而将频率较高的标频信号作为填充脉冲,进行计数,设计数值为,标准频率信号的频率为,周期为,则有: (4)这种方法测频的误差主要是对标频信号计数产生的个数字误差,在忽略标准频率信号自身误差的情况下,测量精度为: (5)由上可知:直接测频方法的优点是:测量方便,读数直接,在比较宽的频率范围内能够获得较高的测量精度。它的缺点是:由于被测信号个数字误差的存在,难以兼顾低频和高频实现等精度测量,所以测量精度较低。3.1.2 多周期同步测频方法
33、1.测量原理多周期同步测频是在直接测频基础上发展起来的,在目前的测频系统中得到了越来越广泛的应用。它在测频时,闸门时间不是固定的,而是被测信号的整数倍,即与被测信号保持同步,因此消除了对被测信号计数所产生的个数字误差,使测量精度大为提高,测量原理框图如图4所示,测量原理的波形如图5所示。标准信号fc预置闸门dqcp 被测信号fx计数器1计数器2实际闸门运算显示 图4 多周期同步测频原理框图 预置闸门被测信号fx实际闸门 t标准信号fc图5 多周期同步测频原理波形图测量时,首先预置闸门开启信号,此时计数器并不计数,等被测信号上升沿到来时,触发器输出计数允许信号(实际闸门信号),计数器l对标准信号
34、计数,计数器2对被测信号计数,预置闸门关闭时,计数器并不立即结束计数,而是等到被测信号上升沿到来时才停止计数,完成测量过程。若计数器l对标准信号的计数值为,计数器2对被测信号的计数值,则被测信号频率为: (6)运算器对式(6)进行运算,由显示器显示运算结果,即为被测信号的频率值。2.误差分析误差合成公式为: (7)在(7)中第一项为被测信号所引起的量化误差,由于实际闸门与被测信号同步,所以,即消除了被测信号计数所产生的个数字量化误差,由此得到最大相对误差为: (8) 式(8)说明频率测量的相对误差与被测信号的频率无关,其大小主要取决于闸门时间和标准信号频率,因而实现了频带内等精度、高精度的测量
35、。合理选择闸门时间和标准信号频率,既可保证测量精度,又可提高测量速度,因此多周期同步测频法得到了广泛的应用。而且由(8)式可知:闸门时间越长,时基频率越高,分辩率越高,误差愈小。但是,多周期同步测频法还是没能够使时基信号与被测信号以及闸门信号三者同步,从而产生的时基信号的个数字量化误差还没有消除。3.1.3 两种测频方法的比较这两种测频方法各有利弊,其中直接测频法是依据频率的含义把被测信号加到闸门的输入端,只有在闸门开启时间(以1s计)内,被测信号脉冲送到十进制计数器进行计数。而多周期同步测频是在直接测频基础上发展起来的,在进行频率测量时,直接测频法的测量精度没有多周期同步测频法的测量精度高。
36、对直接测频法来说,虽然存在个数字误差,但其测量方便可行,且在较宽的频率范围内精度较高,因此在测量大范围的频率时不失为一种好方法。对于多周期同步测频法来说,虽然消除了个数字误差,但时基信号与被测信号以及闸门信号三者难以同步,导致在比较宽的频带范围内误差较大,并且本设计采用的闸门信号频率不是很高,由式(8)不难得出:闸门信号频率低使多周期同步测频法的误差有所增大。通过比较可知,直接测频法虽然有误差,但其测量方便,读数直接,在比较宽的频率范围内能够获得较高的测量精度。多周期同步测频法在比较宽的频带范围内误差较大,因此本设计采用直接测频法进行频率测量。由于本设计的频率测量范围为1hz-1mhz,为了提
37、高测量精度,本文采用直接测频法中的m法(计数测频法)来实现数字频率计的设计。3.2 计数法数字频率计的工作原理数字频率计系统的内部结构原理图如图6所示。由图6可以看出,数字频率计系统由脉冲整形电路、分频器、4位十进制计数器、锁存器、显示模块等组成。计数法数字频率计的工作原理如下:标准信号通过分频器,产生占空比为1/4,频率为0.25hz的闸门信号和频率为1khz的显示扫描信号;被测信号通过脉冲整形电路进行整形,使之成为计数器所需要的标准脉冲信号。计数器在闸门信号开启时,以被测信号为计数时钟,在计数时钟上升沿到来时,计数器开始计数。计数器的复位信号是低电平有效,当闸门信号下降沿到来时,计数器停止
38、计数,并将输出传送给锁存器,锁存器将计数器的输出进行锁存,并交给显示模块显示。显示模块用七段数码管显示测量的数据。标准时钟clk被测频率tsig脉冲整形电路锁存器显示模块tgate分频器clk1kfpga十进制计数器tsigq scalereset图6 系统的内部结构原理图 计数器是对被测频率信号进行频率计数测量的主功能器件。根据频率的定义和测频的基本原理,测量信号频率必须有一个脉宽为1s,对输入信号脉冲计数的允许信号,其测量结果为输入信号在1s内的脉冲个数,即输入信号的频率。计数器的输出信号是由高到低的二进制表示的4位十进制数组成,分别表示被测信号的个、十、百、千等位的数值。位数越高频率测量
39、的范围也越宽。锁存器的主要功能是对计数器计数输出的数据进行锁存,即使在前级计数器清零以后,锁存器依然有保存的数据存在,不会造成数据的丢失,锁存器是在下降沿到来时将信号锁存。显示模块中的显示器由共阴极数码管构成。由于被测信号可能具有多个位数的频率,因此需要多个数码管对其进行显示,本设计用4个数码管进行显示。3.3 本章小结 本章主要介绍了几种常用的测频法,通过分析这几种测频法的优缺点,并结合本设计所要求完成的频率计的性能,提出本设计所用的计数测频法。并在此基础上,详细介绍了计数法测频系统的工作原理。4 计数法频率测量系统的总体设计4.1系统总体结构对计数法数字频率计可用传统的中规模集成电路来实现
40、,但由于设计比较复杂,这样势必会使电路板的面积过于庞大,因此不宜采用此种设计方法。其实本设计也可以用单片机来实现,灵活性则大大提高,但单片机的处理速度不够快,并且能够处理的频率也不够高,因此本设计也不采用此种方法。fpga具有集成度高,一片fpga等效于几十到几百万枚门电路,且高频特性好,又由于其可编程,设计起来事半功倍,因此本设计采用fpga来实现计数法数字频率计,其中fpga作为主控制模块12。其系统原理框图如图7所示。主控制模块标准时钟被测信号脉冲整形电路.位驱动段驱动图7 系统原理框图由图可知,设计的绝大部分由主控制模块(fpga)完成,只有脉冲整形电路以及由数码管构成的显示部分不在f
41、pga中。显示部分由4个七段数码管驱动显示。4.2 系统软件设计4.2.1 主控制模块本设计采用fpga芯片来完成主控制模块,其主要包括时钟模块、计数模块、锁存模块。时钟模块主要产生系统所用的时钟信号,利用fpga芯片内部的时钟资源来完成。计数模块是本设计的主要组成部分,计数模块主要由4位十进制计数器组成。锁存模块中的锁存器对计数器的输出数据进行锁存。主控制模块框图如图8所示。主控制模块时钟模块锁存模块计数模块4位十进制计数器分频器锁存器 图8 主控制模块框图4.2.2 时钟模块时钟模块的输入是晶振频率,设计为1mhz。对其分频,时钟模块产生显示时钟和闸门信号,前者占空比为1/2,频率为1kh
42、z,后者是占空比为1/4,频率为0.25hz的方波,周期为4s,其中1s闸门开启,3s闸门闭合,显示测量值。为了节省可编程器件的资源,在显示扫描时钟的1khz基础上,再进行分频,得到1hz频率。至于调整占空比,非常简单,状态机或者整数计数都可以,这里使用的是后者。本设计中时钟模块用fpga中的时钟资源(锁相环)完成。时钟模块产生占空比1/4,频率0.25hz的闸门信号的流程图如图9示。 开始复位信号是否为1?时钟clk1hz上升沿到来计数值为2?闸门信号开启计数值设为3计数值为3复位ynny 图9 产生闸门信号的流程图产生占空比1/4,频率0.25hz的闸门信号的vhdl部分源程序如下:tga
43、te_proc:process(reset,clk1hz)variable cnt3: integer range 0 to 3;beginif reset = reset_active then cnt3:=0; tgate_reg=0;elsif rising_edge(clk1hz) then if cnt3=2 then tgate_reg=1; cnt3:=3;elsif cnt3=3 thentgate_reg=0; cnt3:=0;else cnt3:=cnt3+1; end if; end if;end process;tgate=1mhz 001 1 100.0khz999.
44、9khz 010 210.00khz99.99khz 011 31.000khz9.999khz 100 41hz999hz 101 5将源程序写入quartus 中,并对计数模块的源程序进行编译,编译成功后生成计数模块示意图,如图12所示。图12 计数模块的示意图在quartus 中仿真得到计数模块的仿真波形图,如图13所示。图13 计数模块的仿真波形图通过仿真图可以看到,在闸门信号开启期间,计数器不停地变化,档位也随之变化,开始是101(1hz-999hz),然后是100(1.000-9.999khz),最后是011(10.00-99.99khz)。综合计数值与档位可知,待测信号频率是20
45、.15khz。计数器的复位信号是低电平有效。 4.2.4 锁存模块锁存模块的作用是在闸门信号的下降沿,将计数模块输出锁存,交给显示模块显示。锁存模块在闸门信号的下降沿,锁存数据,这里有2个作用:一、避免计数丢失;二、在测量时,屏蔽计数值,否则数码管会不停地变化。将锁存模块的vhdl程序写入quartus 中,经过编译得到锁存模块的示意图如图14所示。图14 锁存模块的示意图锁存模块的仿真波形图如图15所示。图15 锁存模块的仿真波形图闸门关闭时,锁存器将计数器的计数值进行锁存,同时也锁存计数器输出的档位值,由仿真图可以看出,闸门关闭时,锁存器锁存的计数值为1002,此时档位为100(1.000
46、-9.999khz)。4.2.5 显示模块显示模块先将输入的4位十进制数译码,以便在七段数码管上显示。然后,在显示扫描时钟的作用下,将数码管逐个选通,输出译码值,交替扫描。由于扫描频率为1khz,看起来不会有闪烁的感觉。用fpga芯片与七段数码管连接显示频率值,主要根据小数点的位置辨别频率范围,如表3所示。表3 不同频率范围的显示形式频率范围 显示形式超过1mhz数码管全灭100.0khz999.9khzxxx.x10.00khz99.99khzxx.xx1.000khz9.999khz x.xxx1hz999hzxxx由于采用的数码管为共阴极数码管,则低电平表示该数码管被选中,同时相应位的数
47、据被送到该数码管上显示,共阴极七段数码管段位码如表4所示。表4 共阴极七段数码管段位码 十进制数字段位码 0 11000000 1 11111001 2 10100100 3 10110000 4 10011001 5 10010010 6 10000010 7 11011000 8 10000000 9 10010000 灭 11111111在源程序中,使用了状态机来分别描述4个数码管的几种状态,状态机的状态图如图16 所示。led1led11110led21101led31011led40111上电/复位1灭2亮2灭3亮3灭4亮4灭1亮 图16 数码管状态图由上图可以看出,数码管选择信号为
48、“1110”时,led1被选通;数码管选择信号为“1101”时,led2被选通;数码管选择信号为“1011”时,led3被选通;数码管选择信号为“0111”时,led4被选通。上电或复位信号有效时,默认数码管选择为led1。显示模块采用动态扫描显示。将显示模块的程序在quartus 中编译成功后生成顶层示意图如图17所示。图17 显示模块的示意图4.3 顶层vhdl程序设计及整体仿真结果在quartus 中把以上各模块进行连接后得到顶层文件,如图18所示。 图18 数字频率计的组成将图18所示的顶层文件编译通过后进行仿真,仿真波形图如图19所示。图19 数字频率计仿真波形由图19可知,预置晶振
49、时钟为1mhz,待测周期信号频率为1khz,数字频率计在测量的时候,4个数码管显示的都是0。当测量完成时,显示数据。图19可以看到测量的结果,扫描输出顺序从右至左,读数是0、0、0、1,小数点在左边第一位,即1.000khz。本课题采用传统的计数测频法,以fpga芯片为主控制模块,并采用硬件描述语言vhdl语言编程,在quartus 上编译仿真,得到系统总体设计的时序仿真图,由仿真图可以看出被测信号的频率值,实现了本课题的数字频率计的设计要求。4.4 本章小结本章主要介绍了数字频率计的系统设计,并分别详细阐述了系统各个模块的硬件设计电路或原理,以及系统各个模块的软件设计思路及方法,并在quartus 上编译仿真,得出各个模块的顶层实体图和时序仿真图,最后得出了数字频率计系统的顶层实体和系统总体的时序仿真图。结束语 本论文基于fpga研究的频率计,通过在quar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乙烯-丙烯酸酯橡胶改性行业跨境出海战略研究报告
- 色彩对比视力训练镜行业跨境出海战略研究报告
- 跨境电商销售企业制定与实施新质生产力战略研究报告
- 营养膳食行业跨境出海战略研究报告
- 氮掺杂FBG温度传感器设计与性能提升研究
- 中学楼房出租合同样本
- ktv单位劳动合同样本
- 二手房 定金合同样本
- ceo管理合同标准文本
- 中建合同标准文本
- 2025届贵州省安顺市高三二模语文试题
- 市政道路电力、照明、通信管道工程施工方案方案
- 球的体积和表面积说课稿
- GB/T 30726-2014固体生物质燃料灰熔融性测定方法
- 可吸收丝素修复膜(CQZ1900597)
- 凯莱通综合版
- 步行功能训练详解课件
- 几内亚共和国《矿产法》
- 物理讲义纳米光子学
- 保洁服务礼仪培训(共55张)课件
- 中考英语写作指导课件(共41张PPT)
评论
0/150
提交评论