- 1:综述
- 2:三分频分频器的设计
- 3:n分频奇数阶分频器的设计
综述
我们知道,如果我们需要设计一个二分频的分频器,只需要在时钟的上升沿(或下降沿,不过习惯上一般使用上升沿)翻转输出信号,而设计一个四分频的分频器,只需要在时钟的第二个上升沿反转输出信号,设计一个六分频的分频器,则需要在时钟的第三个上升沿翻转输出信号,即对于一个n分频的分频器(n为偶数),我们只需要在时钟的第n/2个上升沿翻转输出信号。
但是,如何设计一个奇数阶的分频器呢?为了解决这个问题,让我们首先研究三分频的分频器的设计。
三分频分频器的设计
下面是我们的目标波形:
其中,CLK是我们的系统时钟(时钟周期为2T),而CLK_DIV3则是三分频后的波形。
这里可以注意到在三分频中非常特殊的一个现象:在CLK第1周期的下降沿,CLK_DIV3发生了翻转,而在CLK第3周期的上升沿,CLK_DIV3发生了翻转。也就是说,CLK_DIV3同时可以在CLK的上升沿和下降沿发生变化,而对于一般的设计,通常一个信号只会在一种边沿发生变化。
那么,该如何生成这样的信号呢?我们首先考虑下列比较相近的信号:
我们很容易生成其中的CLK_DIV3_SIMILAR信号,并且可以观察到,对于CLK_DIV3_SIMILAR的每个周期,如果能将低电平部分借出T时间给高电平部分,就能变成CLK_DIV3。那么,该如何做到这点呢?
我们可以再构造另一个信号,这个信号就是CLK_DIV3_SIMILAR信号右移T时间的信号,结果如下:
我们可以从上图中注意到一个事实:CLK_DIV3_SIMILAR与CLK_DIV3_SIMILAR2相或的结果就是CLK_DIV3!
可以注意到,无论是CLK的0~2周期还是3~5周期,CLK_DIV3、CLK_DIV3_SIMILAR与CLK_DIV3_SIMILAR2之间的对应关系都是完全相同的,那么,我们只需要分析0~2周期,看看构造的信号究竟做了什么:
可以看到,在0、2周期,CLK_DIV3_SIMILAR2信号对或操作的结果毫无贡献,其贡献体现在1周期CLK高电平期间,此时CLK_DIV3_SIMILAR已经变为了低电平,但此时CLK_DIV3_SIMILAR2尚为高电平,那么二者相或的结果就依然是高电平,这就成功从CLK_DIV3_SIMILAR低电平部分借出T时间给了高电平部分,形成了三分频时钟信号。
可以看到CLK_DIV3_SIMILAR与CLK_DIV3_SIMILAR2只相差一个T的相位,如果CLK_DIV3_SIMILAR由CLK上升沿生成,那么CLK_DIV3_SIMILAR2可以由CLK下降沿生成,且这两个信号都是高电平为2T,低电平为4T的信号。
那么,如何将这个结论推广到n分频奇数阶(n >= 3)分频器呢?
n分频奇数阶分频器的设计
让我们回顾刚才CLK_DIV3_SIMILAR与CLK_DIV3_SIMILAR2信号的特点,这两个信号其实就是占空比不为50%的周期性信号,那么我们可以这样简单地将这样的信号符号化:一个周期性信号,该信号的高电平持续时间为kT,低电平持续时间为pT,且k和p都是偶数。
而另一个信号滞后上述信号T时间,其它参数不变。
由于这样的或操作实际上是从低电平时间借用T时间到高电平中,因此很容易得知对上述两个信号进行或操作之后的结果信号具有如下特点:一个周期性信号,该信号的高电平持续时间为(k + 1)T,低电平持续时间为(p - 1)T,且k和p都是偶数。
由于我们要设计的是n分频的分频器,同时要求输出的波形占空比为50%(一般系统时钟就是50%占空比的,所以这里直接这样假设,这也是最常用的信号),就可以得到如下等式:
k + 1 = p - 1 = n
让我们演算一下上述等式:对于n = 3的情形,k = 2、p = 4,正好就是我们之前讨论的三分频情况中的CLK_DIV3_SIMILAR与CLK_DIV3_SIMILAR2信号的特征,那么对于n = 5的情形,我们也很容易推导出来k = 4、p = 6。
进一步推导可得:k + 2 = p
即:k + p = k + k + 2 = 2k + 2 = 2(k + 1) = 2n
也即:p - k = 2
可知,该波形的周期就是2nT,且高电平时间永远比低电平时间少2T。
我们只需要在CLK的上升沿与下降沿分别生成高电平时间为kT且低电平时间为pT的周期信号,且保证二者相差T相位,对二者进行或操作即可生成n分频的计数阶分频信号。