当在时序电路设计中完成通用计数器电路仿真时,通过观察仿真波形中计数器输出端总线中每位计数值信号与系统时钟CLK 的波形关系,不难发现输出端的每一个信号的周期与系统时钟CLK 都有一定的倍数关系,即频率与CLK 之间有一定的频率倍数关系。通过总结,得到以下规律。
假设计数器的位宽是n,那么输出信号的第m 位信号的频率和基准计数时钟频率( f clk)的关系为
例如,以4 位二进制加法计数器为例【代码3.31】,输出端一共有4 位,包含Q[0]、Q[1]、Q[2]、Q[3],通过对代码仿真,得到图3.50 所示的仿真波形,通过仿真波形可以看出,其中输出信号Q[0]的周期是CLK 的2 倍,即频率是CLK 的1/2,Q[1]的周期是CLK 的4 倍,即频率是CLK 的1/4,Q[2]的周期是CLK 的8 倍,即频率是CLK 的1/8,Q[3]的周期是CLK 的16 倍,即频率是CLK 的1/16。
【代码3.31】4 位二进制加法计数器示例
图3.50 4 位二进制计数器仿真波形
通过对上例的分析得出的结论,在设计分频器电路的时候,如果分频比是2 的幂次方的时候,则可以通过构建一定位宽的计数器实现对一时钟信号进行2 的幂次方倍分频的分频输出,同时还可以得到其他不同频率的系列分频值输出。(www.xing528.com)
下面通过设计一个计数器来实现输出2 个分频信号功能,进一步理解这种分频原理的应用技巧。假设系统时钟频率为50 MHz,计数器位宽为24 位,则可以产生24 个不同频率的信号分频输出,且每个信号分频输出频率值是确定的,表3.12 给出了计数器(24位)每位计数值信号的频率值(系统时钟50 MHz),根据需要可以任意选择其中某一位输出即可。设计源码见【代码3.32】。
表3.12 计数器(24 位)每位计数值信号频率值(系统时钟50 MHz)
【代码3.32】计数器分频示例
总结:采用此方法设计分频的基本步骤为首先确认系统时钟值和想要得到分频输出频率值;然后计算分频比,转换为2 的n 次幂,则计数器的位宽为n+1;最后按简易计数器设计电路,将计数器输出端的第n 位提取赋值输出即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。