首页 > 编程知识 正文

十二分频计数器,N位分频器原理

时间:2023-05-06 13:21:48 阅读:153106 作者:2054

在单个数字系统中通常需要多个频率时钟脉冲作为驱动源,并需要对FPGA系统时钟(高频)进行分频。

例如,在进行流水灯、数码管动态扫描设计时不能直接使用系统时钟(速度太快,肉眼无法识别)的情况下,或者需要进行通信的情况下,

由于通信速度不能太高(受各种标准的限制),因此必须对系统时钟进行分频以获得低频时钟。

分频器主要分为偶数分频、奇数分频、半整数分频和小数分频,在设计过程中采用参数化设计,可以随时改变参数得到不同的分频需求。

在对时钟要求不是很严格的FPGA系统中,分频通常通过计数器的循环计数来实现。

偶数分频(2N )。

偶数分频最简单,用模式为n的计数器很容易实现50%占空比的时钟信号。 也就是说,每次计数n(n-1 )时,输出时钟信号就会反转。

奇数分频(2N 1) )。

使用模式2N 1的计数器,将输出时钟在x-1(x为0和2N-1之间)和2N之间各反转1次,即可得到奇数分频器,但占空比不是50 % (x/) 2N 1) )。

得到占空比为50%奇数分频器的基本思想是:由得到的上升沿触发计数的奇数分频输出信号CLK1、由得到的下降沿触发计数的相同(时钟反转值相同)的奇数分频输出信号CLK2,

最后将CLK1和CLK2相或之后输出,得到占空比50%的奇数分频器。 原理图如下。

通过Quartus II得到的占空比为50%的9分频时钟输出信号outclk如下。

半整数分频(N-0.5 ) )。

基本设计思想是,首先进行模式n的计数,当计数到N-1时,输出时钟反转; 然后,当计数返回到0时,输出时钟再次反转。

因此,只要将计数值N-1保持半个周期,就可以实现N-0.5分频时钟。 那么,如何维持半个周期呢?

由于计数器是上升沿的触发计数,因此如果在计数器值=N-1时反转计数器的触发时钟,则时钟的下降沿为上升沿。 即,在计数值=N-1情况下,时钟立即反转,

保持计数值半个周期后,遇到上升沿将计数值恢复为0。 之后,计数器以反转的时钟继续计数,产生N-0.5分频周期后,时钟再次反转。

2.5分频的时序示意图如下。

如何用N-1反转计数器的触发时钟? 从半整数分频器的原理图中可以看出,将输出时钟分频2周后,可以与输入时钟不同,或者反转触发时钟。

半整数分频器的原理图如下。

用Quartus II实现的2.5分频时序图如下。

从通用分频器电路结构图中可以看出,半整数分频器由整数分频器、二分频器和异或门加入构成。

那么,如果使用元件实例化的想法,就可以得到通用的分频(可以选择整数分频和半整数分频)。

想得到任意分频时,请参考CrazyBingo利用DDS原理的教导,告诉我什么是真正的任意分频。

转载于:https://www.cn blogs.com/Chen Wu 128/archive/2011/12/16/2290012.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。