首页 理论教育 实现分频和量程转换的Verilog HDL模块设计

实现分频和量程转换的Verilog HDL模块设计

时间:2023-06-15 理论教育 版权反馈
【摘要】:图1-4所示为分频模块Verilog HDL代码设计好后得到的框图。由于有三个不同的闸门时间,因此在这里设计了三个计数器,分别在1s、0.1s、0.01s的闸门时间内进行计数。图1-6 计数模块框图4.量程转换模块量程转换模块是为了实现在不同的频率范围内采用不同的量程进行测量的功能。

实现分频和量程转换的Verilog HDL模块设计

1.控制模块

控制模块是整个自动换量程频率计的核心模块,它贯穿于整个频率计的设计过程。在设计时将控制模块置于顶层模块,通过控制电路调用各个底层模块(分频模块、计数模块、量程转换模块、锁存模块)并使底层模块之间相互协调工作,从而实现自动换量程频率计的功能。

控制模块的设计代码详见光盘中附件1-1。

2.分频模块

直接测频法通过计算在一定闸门时间内测量被测信号的脉冲个数,进行换算得出被测信号的频率,而这个闸门时间是通过分频模块来产生的。闸门时间要求非常准确,它直接影响测量精度。

由于频率计的量程总共有三个,也就需要三个不同的闸门时间。为了方便计算,在设计过程中,采用1s、0.1s、0.01s三个闸门时间。当闸门时间到来时开始计数,闸门时间结束时结束计数。

对于1s的闸门时间,这里用的是1s的高电平,也就是说,1s的闸门时间的周期其实是2s,频率为0.5Hz。分频模块的时钟输入是Spartan-3E开发板的时钟信号,它的频率为50MHz。由计算式50MHz/0.5Hz=100000000可知,1s的闸门时间需要对50MHz的时钟信号进行100000000分频得到。同理可知,0.1s的闸门时间需要对50MHz的时钟信号进行10000000分频得到;0.01s的闸门时间需要对50MHz的时钟信号进行1000000分频得到。

在Verilog HDL设计过程中,先对Spartan-3E开发板的50MHz时钟信号进行1000000分频,得到0.01s的闸门波形;接下来对0.01s的闸门波形进行10分频,得到0.1s的闸门波形;再对0.1s的闸门波形进行10分频,得到1s的闸门时间。这样的设计能够节省硬件资源,也能使代码看起来更加简洁明了。

图1-4所示为分频模块Verilog HDL代码设计好后得到的框图。左边的输入引脚clk输入的是Spartan-3E的50MHz时钟信号;右边的三个输出引脚f05Hz、f5Hz、f50Hz分别输出三个分频后的闸门信号,其频率分别对应0.5Hz、5Hz、50Hz。

978-7-111-42984-5-Chapter01-4.jpg

图1-4 分频模块框图

展开图1-4所示的框图,便可以得到分频模块的RTL视图,如图1-5所示(见书后插页),从图中可看出该分频模块的实现方式。

分频模块的代码详见光盘中附件1-2。

3.计数模块

计数模块的主要功能是对被测信号的脉冲个数进行计数。

计数模块为4位十进制计数器,每次计数开始时,都对计数器和溢出标志进行清零操作。当闸门波形的上升沿到来时,计数模块开始对被测信号脉冲进行计数。每次脉冲上升沿到来时,便对计数进行加1操作,当个位计数到9时,在下一个被测信号脉冲上升沿到来时,个位跳转为0,十位加1;当个位为9、十位也为9时,在下一个被测信号脉冲上升沿到来时,个位和十位同时跳转为0,百位进行加1操作;当个位、十位、百位都为9时,在下一个被测信号脉冲上升沿到来时,个位、十位和百位同时跳转为0,千位进行加1操作;当个位、十位、百位、千位都为9时,在下一个被测信号脉冲上升沿到来时,个位、十位、百位、千位同时跳转为0,与此同时溢出标志位被置1。在计数过程中,只要闸门波形的下降沿到来,计数器就停止计数。

由于有三个不同的闸门时间,因此在这里设计了三个计数器,分别在1s、0.1s、0.01s的闸门时间内进行计数。

图1-6所示为计数模块框图。EN为使能端,当EN为高电平时开始计数;EN为低电平时对计数器输出清零。FIN为被测信号输入端口,Q0、Q1、Q2、Q3_为计数输出端口。FOUT为溢出端口,当计数超出9999时,FOUT置1。

需要说明的是,在各模块进行联调时,EN输入的信号应为闸门信号,即0.5Hz、5Hz、50Hz的闸门波形。在闸门信号的上升沿到来时,开始计数;闸门信号下降沿到来时,计数结束。

展开图1-6所示的框图,便可以得到计数模块的RTL视图,如图1-7所示(见书后插页)。

计数模块代码详见光盘中附件1-3。

978-7-111-42984-5-Chapter01-5.jpg

图1-6 计数模块框图

4.量程转换模块

量程转换模块是为了实现在不同的频率范围内采用不同的量程进行测量的功能。

量程转换模块的实现方式如下:

频率计开始计数时,系统默认量程为10k挡(闸门时间为1s挡)。若计数值小于9999,则量程就选择在10k挡。当计数超过9999时,产生溢出信号,使10k挡的溢出标志位置1,这时,量程转换为100k挡。若在100k挡(即闸门时间为0.1s)时,计数值仍然超过9999,则产生溢出信号,使100k挡的溢出标志置1,同时量程转换为1M挡。若在1M挡时,计数值超过9999,则产生溢出信号,使1M挡的溢出标志置1,同时输出为高阻态,表示所测频率超出频率计的量程。(www.xing528.com)

在VerilogHDL设计过程中,为了简单地实现量程转换,采用三个计数模块,分别对应1s、0.1s、0.01s的闸门时间。被测信号输入,在闸门打开时(闸门信号高电平时),三个计数器同时计数,但是系统默认为10k挡的计数值为输出值。当1M挡的溢出标志为1时,系统输出为高阻态。当1M挡的溢出标志为0,而100k挡的溢出标志为1时,将1M挡的计数值作为输出。由于1M挡的闸门时间为0.01s,故所测信号的频率为1M挡的计数值×100。当1M挡、100k挡的溢出标志都为0,而10k挡的溢出标志为1时,就将100k挡的计数值作为输出。由于100k挡的闸门时间为0.1s,故所测信号的频率为100k挡的计数值×10。当1M挡、100k挡、10k挡的溢出标志都为0时,就将10k挡的计数值作为输出,此时,由于闸门时间为1s,故所测信号的频率值就为10k挡的计数值。

图1-8所示为量程转换模块框图。

输入Q10reg、Q1_1reg、Q1_2reg、Q1_3reg为计数器1的锁存输出值,F_OUT1为计数器1的溢出标志位。输入Q2_0reg、Q2_1reg、Q2_2reg、Q2_3reg为计数器2的锁存输出值,F_OUT2为计数器2的溢出标志位。Q3_0reg、Q3_1reg、Q3_2reg、Q3_3reg为计数器3的锁存输出值,F_OUT3为计数器3的溢出标志位。clk为50MHz的时钟信号。Q0、Q1、Q2、Q3_为选择不同量程时计数值的输出,也就是三个计数器中某个计数值的输出。

展开量程转换模块,就可以得到如图1-9所示(见书后插页)的量程转换模块的RTL视图。

量程转换模块的代码详见光盘中的附件1-4。

978-7-111-42984-5-Chapter01-6.jpg

图1-8 量程转换模块框图

5.锁存模块

锁存模块的功能是将计数所得的数据在规定时间进行锁存。

在闸门信号的下降沿到来时,计数结束。闸门信号的下降沿触发锁存器,将计数结果锁存起来。

在Verilog HDL设计过程中,设计了三个锁存器用来锁存三个计数器的计数结果。另外,在量程选择器模块后面还接了一个锁存器,此锁存器将量程选择器所选择的计数结果保存起来,输出给译码显示电路。

图1-10所示为量程转换模块后面所接的锁存模块框图,另外三个计数器后面的锁存器框图和图1-10类似。输入Q0、Q1、Q2、Q3为量程转换模块的输出,f05Hz为0.5Hz的闸门信号,当f0_5Hz的下降沿到来时,就将Q0、Q1、Q2、Q3的值锁存到Q0_reg、Q1reg、Q2_reg、Q3_reg。

978-7-111-42984-5-Chapter01-7.jpg

图1-10 锁存模块框图

展开图1-10就可以得到如图1-11所示的锁存模块的RTL视图。由锁存模块的RTL视图可以知道,锁存模块由四个D触发器构成,每次f05Hz信号的下降沿到来时,D触发器就将Q0、Q1、Q2、Q3的值输出给Q0_reg、Q1_reg、Q2_reg、Q3_reg。

锁存模块的代码详见光盘中附件1-5。

6.各模块的综合

当以上五个模块设计好后,将各个模块综合起来。需要注意的是,Verilog HDL代码与C代码不同,它属于硬件代码。因此,在各模块整合时需要用硬件搭线的思维来综合代码。

图1-12所示为自动换量程频率计总框图。

输入为时钟信号clk和被测信号FIN,输出为四位计数值和三个溢出标志位,通过三个溢出标志位和计数值来判断最后测量的频率值为多少。最后所测信号的频率值的计算方法为:若输出FOUT3为1,则所测信号频率值超出频率计的量程,系统输出高阻态;若输出F_OUT3为0,而输出FOUT2为1,则量程为1M挡,所测信号的频率值为输出计数结果×100;若输出F_OUT3、FOU_T2为0,而输出FOU_T1为1,则量程为100k挡,所测信号的频率值为输出计数结果×10;若输出FOU_T3、FOU_T2、FOU_T1均为0,则量程为10k挡,所测信号的频率值就为输出计数结果值。

图1-13所示(见书后插页)为自动换量程频率计RTL视图。

978-7-111-42984-5-Chapter01-8.jpg

图1-11 锁存模块的RTL视图

978-7-111-42984-5-Chapter01-9.jpg

图1-12 自动换量程频率计总框图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈