小数分频的实现方法

一、推导

假设分频系数为K,K可表示为

同时K亦可写成这样的格式:

其中,M是输入脉冲个数,P是输出脉冲个数。

,那么M可以表示为:

以上即是小数分频器的一种实现方法。即在次N分频时,额外多输出X个脉冲。

二、原理图分析

S[GM1@H)B4_YE6OMJ)WV436

通过控制逻辑模块的输出a,使在次分频中有X次(N+1)分频。

其中a为1时为N分频,a为0时为(N+1)分频。

如此,当Fo输出个脉冲时,Fi输入了

             

个脉冲。

三、举例

为了防止相位抖动,可采用“均匀”法将两种分频混合均匀,即把多出来的X个脉冲均匀分散开;当然也可以把同分频系数的脉冲一次性输出。事实上,后一种方法实现起来会简单一点。

下面以1位小数和2位小数为例,介绍方法如下:

1、若为1位小数,令d=10-小数位×10,称d为步长;

      令a=a+d×m (m=1, 2, 3 …),称a为累加值;

      若a<10,(N+1)分频;若a>=10,N分频。

      例如8.7分频,

      那么N=8,X=7;d=3;

 

累加值

分频值

1

3 9
2 6 9
3 9 9
4 12-10=2 8
5 5 9
6 8 9
7 11-10=1 8
8 4 9
9 7 9
10 10-10=0 8
     上述图表只供分析使用,这并不是唯一的实现方法。
     关键是算出N和X,理解
                 
      的含义。
2、若为2位小数,d=100-小数位×100;
     a>=100,a=a-100,N分频;
     a<100,a=a+d,(N+1)分频;

四、参考代码

2ZT6U1[@_Q(`)M_(2VBYI[X

原文地址:https://www.cnblogs.com/freshair_cnblog/p/2630549.html