基于fpga的等精度数字频率计设计课程设计(编辑修改稿)内容摘要:
的快速适配编译选项,可保留最佳性能的设置,加快了编译过程,可缩短 50%的编译时间,对设计性能的影响小。 (5)不足之处 软件结构庞大,使用复杂,不如 MAX+PLUSII 简单、易学易用。 6 2. 频率测量 数字频率计工作原理概述 数字频率计的设计原理实际上是测量单位时间内的周期数。 这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期 模式的测量方法存在换挡速度慢的缺点。 采用一个标准的基准时钟,在单位时间 (1s)里对被测信号的脉冲数进行计数,即为信号的频率。 由于闸门的起始和结束时刻对于信号来说是随机的,将会有一个脉冲周期的量化误差。 进一步分析测量准确度:设待测信号脉冲周期为 Tx,频率为 Fx,当测量时间为 T=1s 时,测量准确度为& =Tx/T=1/Fx。 由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。 因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不 变的要求。 为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能信号进行双重控制,大大提高了准确度。 当门控信号为 1 时,使能信号并不为 1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。 当门控信号变为 0 时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为0,计数器停止计数。 因此测量的误差最多为一个标准时钟周期。 当采用 100MHz 的信号作为标准信号时,误差最大为。 计算每秒钟内待测信号脉冲个数。 这就要求计数使能信号 TSTEN 能产生一 个 1 秒脉宽的周期信号,并对频率计的每一计数器 t10 的 ENA 使能端进行同步控制。 当TSTEN 为高电平时,允许计数;低电平时,停止计数,并保持其所计的数。 在停止计数期间,首先需要一个锁存信号 LOAD 的上跳沿将计数器在前 1 秒钟的计数值锁存进 7 32 位锁存器 REG32B 中,并由外部的译码器译出并稳定显示。 锁存信号之后,必须由清零信号 CLR_CNT 对计数器进行清零,为下一秒钟的计数操作做准备。 当系统正常工作时,脉冲发生器提供的 1 Hz 的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整 形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。 在数码显示管上可以看到计数结果 [3]。 频率测量方案 采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。 在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。 单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的 现场可编程门阵列 FPGA 为实现高速、高精度的测频提供了保证。 等精度 测频原理 等精度测频方法是在直接测频方法的基础上发展起来的。 它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此, 避 除了对被测信号计数所产生 177。 1 个字误差,并且达到了在整个测试频段的等精度测量。 其测频原理如图 所示。 在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。 首先给出闸门开启信号 (预置闸门上升沿 ),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。 然后预置闸门关闭 信号 (下降沿 )到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。 可以看出,实际闸门时间 t 与预置闸门时间 t1 并不严格相等,但差值不超过被测信号的一个周期 [4]。 图 等精度测频原理波形图 等精度测频的实现方法可简化为图 所示。 CNT1 和 CNT2 是 两个可控计数器,标准频率信号从 CNT1 的时钟输入端 CLK 输入;经整形后的被测信号从 CNT2 的时钟 8 输入端 CLK 输入。 当预置门控信号为高电平时,经整形后的被测信号的上升沿通过 D触发器的 Q 端同时启动 CNT1 和 CNT2。 CNT CNT2 同时对标准频率信号和经整形后的被测信号进行计数,分别为 NS与 NX。 当预置门信号为低电平的时候,后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为 (FS/NS)*NX。 则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。 在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。 图 等精度测频实现原理 图 本章小结 本章从各个方面说明了频率计的 工作原理, 对 等精度 频率计的实现,在理论上起到了作用。 3. 数字频率计的系统设计与功能仿真 系统的总体设计 当系统正常工作时,由系统时钟提供的 100MHz 的输入信号,经过信号源模块,先通过 100 分频产生 1MHZ 的时钟信号,再将 1MHZ 的时钟信号分频产生多种频率输出,其中 1HZ 的输出频率被作为控制模块的时钟输入, 7812HZ 的输出频率被作为显示模块的时钟输入,由控制模块产生的计数使能信号 testen 和清零信号 clr 对计数模块进行控制,而由其产生的锁存信号 load 对锁存模块进行控制,一旦计数使能信号为高电平,并且时钟上升沿到来,计数 器便开始正常计数,清零信号到来则计数清零,而当锁存信号为高电平时,数据便被锁存器锁存,然后将锁存的数据输出到显示模块显示出来,数据锁存保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。 在数码显示管上可以看到计数结果。 数字频率计的原理框图如图 所示。 主要由 5 个模块组成,分别是:信号源模块、 9 控制模块、计数模块、锁存器模块和显示器模块 [6]。 图 数字频率计的原理框图 根据数字频率计的系统原理, t 控制信号发生器。 testctl 的计数使能信号 testen 能产生一个 1 s 宽的周期信号,并对频率计的每一计数器 Cnt10 的 ENA 使能端进行同步控制:当 testen 高电平时允许计数、低电平时停止计数。 reg32b为锁存器。 在信号 load的上升沿时,立即对模块的输入口的数据锁存到 reg32b的内部,并由 reg32b 的输出端输出,然后,七段译码器可以译码输出。 在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。 Cnt10 为十进制计数器。 有一时钟使能输入端 ENA,用于锁定计数值。 当高电平时允许计数,低电平时 禁止计数。 将八个十进制计数器 Cnt10 级联起来实现 8 位十进制计数功能 [2, 7]。 disply 为七段译码显示驱动电路,可以将频率计数的结果译成能在数码管上显示 的相对应的阿拉伯数字,便于读取测量的结果。 为了实现系统功能,测频控制信号发生器 testctl、计数器 Cnt锁存器 reg32b 存在一个工作时序的问题,设计时需要综合考虑。 8位数字频率计的顶层框图 ( ),设计实现包括信号源模块( F1MHZ、CNT) 、频率计模块( FREQ)和显示模块( display)三大模块。 下面分 别介绍三个模块的结构和实现方法。 信号源模块 信号源是为了产生 1MHz 的门控信号和待测的定频信号,而对输入系统时钟 clk 10 ( 50MHz)进行分频的模块,设计源代码 对输入系统时钟 clk( 50MHz)进行分频产生 1MHz 信号。 PIN1MHZ的封装图如 ,图中 CLKIN为接入的 100MHZ信号,图中 CLKOUT为接到 CNT 的 CLK 的 1MHZ 的信号。 clkin clkoutPI N1M HZ_1ins t 图 PIN1MHZ封装图 PIN1MHZ 的工作时序 仿真 图如图 所示。 图 信号源模块仿真图 从 PIN1MHZ 的工作时序 仿真图可以看出: 由系统时钟提供的 100MHz 的输入信号,经过信号源模块,通过 100 分频产生 1MHZ 的时钟信号 ,达到了设计所需的预期效果。 分频器 此程序要求将 1MHZ的输入频率分别进行 21分频 (产生 500KHZ的输出频 freq500k)、23分频 (产生 125 KHZ的输出频率 freq125k)、 25 分频 (产生 31250HZ的输出频 freq31250)、27分频 (产生 7812HZ的输出频率 freq7812)、 29分频 (产生 1953HZ的输出频率 freq1953)、 211分频 (产生 488HZ的输出频率 freq488)、 213分频 (产生 1HZ的输出频率 freq1)。 CNT的封装图如图 ,图中 CLK为 PIN1MHZ输入的 1MHZ信号, freq1为输出给控制信号发生器的 1HZ信号, 7812HZ的输出频率 freq7812被作为显示模块的时钟输入, freq 48 freq195 freq31250、 freq125K、 freq500K作 为待测信号。 11 clk f req1f req488f req1953f req7812f req3125 0f req125kf req500ktins t 图 CNT 的工作时序仿真图如图 所示。 图 CNT 的 时序仿真图 当 1MHZ 频率波形输入后 ,分别产生了设计所需要的 500KHZ 的输出频 freq500k,125 KHZ 的输出频率 freq125k, 31250HZ 的输出频 freq31250, 7812HZ 的输出频率freq7812, 1953HZ 的输出频率 freq1953, 488HZ 的输出频率 freq488, 1HZ 的输出频率freq1。 测频控制信号产生器 控制模块的作用是产生测频所需要的各种控制信号。 控制信号的标准输入时钟为1HZ,每两个时钟周期进行一次频率测量。 该模块产生的 3 个控制信号,分别为TSTEN,LOAD, 信号用于在每次测量开始时,对计数器进行复位,以清除上次测量的结 果,该复位信号高电平有效,持续半个时钟周期的时间。 TSTEN为计数允许信号,在 TSTEN 信号的上升沿时刻计数模块开始对输入信号的频率进行测量,测量时间恰为一个时钟周期 (正好为单位时间 1s),在此时间里被测信号的脉冲数进行计数,即为信号的频率。 然后将值锁存,并送到数码管显示出来。 设置锁存器的好处是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。 在每一次测量开始时, 12 都必须重新对计数器清 0[7]。 测频控制产生器如图 ,图中 CLK 接 CNT 的 FREQ1 的 1HZ 的信号, TSTEN 为计数允许信号,接计数器 CNT10 的 ENA, CLR_CNT 信号用于在每次测量开始时,对计数器进行复位,接计数器 CNT10 的 CLR, LOAD 接锁存器的 LOAD。 C LK TSTENC LR _C N TLO ADTESTC TLinst 图 TESTCTL 的封装图 测频控制信号发生器 TESTCTL 的工作时序图,控制模块的几个控制信号的时序关系图如图 所示。 图 TESTCTL的时序仿真图 从。基于fpga的等精度数字频率计设计课程设计(编辑修改稿)
相关推荐
计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。 目前 Altera 已经停止了对 Maxplus II 的更新支持, Quartus II 与之相比不仅仅是支 持器件类型的丰富和图形界面的改变。 Altera 在 Quartus II
s,co:OUT Std_ogic)。 END Fadder。 Architecture struc of fadder is Component or2gate 结构体说明 Port(a,b:In Std_ogic。 f:OUT Std_ogic)。 南京林业大学 学士学位 论文 8 End ponent。 Compo hadder 元件例化语句 Port(a,b:In Std_ogic。 s
大规模集成电路技术和计算机辅助设计( CAD)技术发展的结果。 FPGA 器件含有程度高,体积小,具有通过用户编程实现专门应用的功能。 使用 FPGA 可以大大缩减系统的研制周期,减少资金的投入,更吸引的是,采用 FPGA 器件可以将原来的电路扳级的产品集成为 芯片级产品,从而降低功耗,提高可靠性,同时还可以很方便的对设计进行在线修改。 FPGA 成为研发的理想器件,特别适合于产品的样机开发
FPGA开发系统实现。 用户无需了解 FPGA,的内部构造和工作原理,只要在 计算机上输入电路原理图或硬件描述语言, FPGA开发系统就能自动进行模拟、验证、分割、布局和布线,最后实现 FPGA的内部配置。 FPGA的设计流程如图 : 设 计 输 入设 计 验 证( 时 序 及 内 电 路 模 拟 )设 计 实 现( 分 割 , 布 局 , 布 线 )F P G A用 户原 理 图 入 口文 本
( 1) 高集成度、大容量、低成本、低电压、低功耗。 ( 2) 资源多样化。 基于 FPGA 的自动售货机控制器设计 4 ( 3) 适用于片上系统:处理器、高速串行 I/O、 DSP 等。 ( 4) 深亚微米工艺的使用。 目前基于 90nm 工艺的 FPGA 已经商用,正向65nm 挺进。 ( 5) 各种软硬 IP 库的发展和完善。 VHDL 语言概述 1982 年,超高速集成电路硬件描述语言
logic; clk0 : in std_logic。 enable : out std_logic)。 end control。 architecture rtl of control is signal strobe : std_logic。 begin process (sysreset,reset0,on_off0) begin if (sysreset=‟1‟ or reset0 =