3. 硬件电路设计
3.1 放大电路
一个信号的频率是由该信号中的交流部分来体现的,与其直流部分没有关系,所以在信号的获取过程中主要提取交流信号,所以需要放大电路。放大电路如图3所示。
图3 放大电路图
3.2 整形电路
由于被测信号时多种多样的,而测脉冲只能测试方波,所以需要整形电路将被测信号转换成方波。整形电路如图4所示。
图4 整形电路图
4. 系统软件设计
4.1 信号源模块
信号源目的是产生标准的待测信号和门控信号,从而对50MHz的clk进行分频,由设计源代码PIN1MHZ.VHD 对50MHz的标准信号clk进行分频而产生1MHz 的标准信号。
信号源的封装图如图5所示,其中CLKIN是50MHz的标准信号,输出是接到CNT的CLK的1MHz的信号。
图5 信号源封装图
图6为信号源的仿真图。
图6 信号源的仿真结果图
由信号源的仿真结果图可验证设计正确性。由系统时钟提供的输入信号为50MHz,经过信号源,然后通过50分频产生1MHz的时钟信号,结果显示达到设计预期效果。
4.2 分频器模块
此模块要求将1MHZ的输入频率分别进行21分频即产生freq500k,输出频率为500KHz、23分频即产生freq125k输出频率为125 KHz、25 分频即产生freq31250输出频率为31250Hz、27分频即产生freq7812输出频率为7812Hz、29分频即产生freq1953输出频率为1953Hz、211分频即产生freq488输出频率为488Hz的、213分频即产生freq1输出频率为1Hz[6]。
图7为CNT分频的封装图,CLK是PIN1MHZ输入的1MHz标准信号,freq1为1Hz信号用以输出给控制信号发生器,freq 488、freq31250、freq1953、freq500K等作为待测信号。
图7 CNT封装图
CNT仿真如图8所示。
图8 CNT的仿真图
当1MHz频率波形输入后,产生了设计所用的freq500k输出频率为500KHz,freq125k输出频率为125KHz,freq31250输出频率为31250Hz,freq7812输出频率为7812Hz,freq1953输出频率为1953Hz,freq488输出频率为488Hz,freq1输出频率为1Hz。
4.3 控制信号模块
控制模块是为了产生测频时所需的各种控制信号,控制信号的标准输入时钟为1Hz,即每两个时钟周期对频率进行一次测量。该模块将产生的3个控制信号,分别为TESTCTL,LOAD和CLR_CNT,其中CLR_CNT信号是计数器复位信号。TESTEN为计数开始允许信号,即在TESTEN信号的高电平到来时计数模块将对输入的待测信号进行频率测量,以一个时钟的周期为测量时间,在这1s内对被检测信号的高电平计数,即为信号的频率,将值锁存,送到数码管并显示出来。另外在每一次测量开始时,都必须重新对计数器清零。设置锁存器的优点是使显示的数据稳定,不会因为周期性的清零信号而一直闪烁[7]。
图9为测频控制产生器,CLK接CNT的FREQ1的1Hz的信号,TESTEN为计数的允许信号,将接计数器CNT10的ENA,而CLR_CNT信号将用于在每次测量开始时,对计数器进行复位,接计数器CNT10的CLR,LOAD接锁存器LOAD。
图9 TESTCTL的封装图
测频控制信号发生器TESTCTL的工作时序如图10所示。
图10 TESTCTL的时序仿真图
从上图看出,TESTCTL(计数使能信号)在1s的高电平后,利用其反相值的上跳沿将生成锁存信号LOAD,随后产生清零信号CLR_CNT。为了生成测频信号发生器时序图应先建立一个由D触发器构成的二分频器,在时钟CLK上升沿到来时使其翻转。其中,CLK的频率取1Hz,TESTEN的脉宽刚好为1s,可以作为闸门信号使用。此时,根据测频的时序要求,可以得出信号LOAD和CLR_CNT的逻辑描述。由图可知,在计数结束后,TESTCTL在1s的高电平后,利用其反相值的上跳沿生成一个锁存信号LOAD,0.5s后,CLR_CNT产生一个清零信号上跳沿。 VHDL基于FPGA的数字频率计设计+源代码+仿真图(4):http://www.youerw.com/tongxin/lunwen_1391.html