一种数字电路时钟任意小数分频的方法技术

技术编号:29708613 阅读:25 留言:0更新日期:2021-08-17 14:39
本发明专利技术涉及一种数字电路时钟任意小数分频的方法,属于数字电路领域。本发明专利技术包括:S1、设置一个计数器,初值为0;S2、在频率为N的主时钟下进行计数,每个时钟计数器值加M;S3、对计数器值加M后的数值进行判断,如果小于N,则返回步骤S2;如果大于等于N,执行步骤S4;S4、当计数器值+M大于等于N时,则产生一个脉冲,同时计数器值设置为:计数器值+M‑N;S5、重复步骤S2、S3、S4,产生的脉冲构成了频率为M的目标时钟。本发明专利技术简单精确,没有累积误差;对于任意主时钟与目标时钟,不用人为干预、控制分频计数的过程,有很好的适应性,便于模块化设计。

【技术实现步骤摘要】
一种数字电路时钟任意小数分频的方法
本专利技术属于数字电路领域,具体涉及一种数字电路时钟任意小数分频的方法。
技术介绍
在逻辑设计、数字电路设计中常常需要对时钟进行分频,以得到不同频率的时钟用于不同接口、模块使用,当主时钟与目标时钟之间不是整数倍关系时,计算的分频值不是一个整数,会有小数项。当分频值有小数项时,常用的分频方法有2种。一种是对计算的分频值小数部分进行四舍五入,得到一个近似的整数分频值,并使用该分频值对主时钟进行分频。由于对分频值的取整操作,导致实际得到的时钟频率与目标频率存在很大的误差,并随时间推移误差不断累积。一种是考察计算后的分频值特点,将一个小数分频转化为几个整数分频的和。由于这样做会使整数分频部分交叉组合,所以周期性抖动严重;每需要一个不同的分频值时,都需要单独设计,难以模块化设计。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是如何提供一种数字电路时钟任意小数分频的方法,以解决现有的小数分频方法存在误差或周期性抖动严重的问题。(二)技术方案为了解决上述技术问题,本专利技术提出一种数字电路时钟任意小数分频的方法,主时钟频率为N,目标时钟频率为M,该方法包括如下步骤:S1、设置一个计数器,初值为0;S2、在频率为N的主时钟下进行计数,每个时钟计数器值加M;S3、对计数器值加M后的数值进行判断,如果小于N,则返回步骤S2;如果大于等于N,执行步骤S4;S4、当计数器值+M大于等于N时,则产生一个脉冲,同时计数器值设置为:计数器值+M-N;S5、重复步骤S2、S3、S4,产生的脉冲构成了频率为M的目标时钟。进一步地,频率为M的目标时钟的脉宽根据实际情况自行设计。进一步地,频率为M的目标时钟的脉宽与频率为N的主时钟的脉宽相同。进一步地,该方法应用于数字频率综合中。进一步地,该方法应用于串口波特率产生。进一步地,该方法应用于时钟分频电路中。进一步地,使用主时钟的上升沿或下降沿进行时序驱动。进一步地,N不是M的整数倍。(三)有益效果本专利技术提出一种数字电路时钟任意小数分频的方法,在步骤S4中,每次计数器重置时,均将上次计数的差值重新计入下一个计数周期,这就消除了分频计数的累积误差。同时随着计数器运行,累积误差自然计入计数周期,实现了计数误差的最优化处理,时钟抖动也是各种数字分频方法中最优的。本方法的分频过程不需要额外的计算、控制过程,对任意的主时钟、分频目标时钟都是自适应的,便于模块化设计。本文提出一种可以对数字电路时钟进行任意小数分频的方法,简单精确,没有累积误差;对于任意主时钟与目标时钟,不用人为干预、控制分频计数的过程,有很好的适应性。附图说明图1为本专利技术的任意小数分频方法示意图。具体实施方式为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。本专利技术涉及时钟分频方法领域,数字电路领域,特别是涉及一种对任意小数进行分频的方法。本专利技术的内容是提出了一种可以对时钟进行任意分频的方法,分频得到的时钟频率精准,没有累积误差;对任意的分频值自适应,不需要人为干预,便于模块化设计;所得到的目标时钟的抖动性能可达到最优。本专利技术的分频方法如下:设主时钟频率为N,目标时钟频率为M,分频过程如下:S1、设置一个计数器,初值为0;S2、在频率为N的主时钟下进行计数,每个时钟计数器值加M;S3、对计数器值加M后的数值进行判断,如果小于N,则返回步骤S2;如果大于等于N,执行步骤S4;S4、当计数器值+M大于等于N时,则产生一个脉冲,同时计数器值设置为:计数器值+M-N;S5、重复步骤S2、S3、S4,产生的脉冲构成了频率为M的目标时钟。对于分频中的误差累计参与计数导致的时钟频率不稳定,这是数字分频难以避免的问题,由图1可以看出,分频产生的脉冲间隔有2种,二者相差1个主时钟周期。在大多数数字系统应用中,只使用时钟的一个跳变边沿进行时序驱动,对时钟的占空比没有要求。所以本专利技术方法产生的分频时钟可满足绝大多数数字系统的应用。在步骤S4中,每次计数器重置时,均将上次计数的差值重新计入下一个计数周期,这就消除了分频计数的累积误差。同时随着计数器运行,累积误差自然计入计数周期,实现了计数误差的最优化处理,时钟抖动也是各种数字分频方法中最优的。本方法的分频过程不需要额外的计算、控制过程,对任意的主时钟、分频目标时钟都是自适应的,便于模块化设计。进一步地,频率为M的目标时钟的脉宽根据实际情况自行设计。进一步地,频率为M的目标时钟的脉宽与频率为N的主时钟的脉宽相同。进一步地,该方法应用于数字频率综合中。进一步地,该方法应用于串口波特率产生。进一步地,该方法应用于时钟分频电路中。进一步地,使用主时钟的上升沿或下降沿进行时序驱动。进一步地,N不是M的整数倍。一般时钟分频方法如下:设主时钟频率为N,目标时钟频率为M,分频过程如下3个步骤:1、得到分频系数D=N/M;2、设置一个计数器,在主时钟下进行计数,每个时钟计数器加1,当计数值大于等于D时,则产生一个脉冲,同时计数器归零重新开始计数;3、产生的脉冲就是目标时钟M。由于当N不是M的整数倍时无法整除,产生的分频值D是一个小数,导致步骤2中每次计数都不能以‘等于’条件进行计数器的归零重新计数,这就产生了累积误差。对一般时钟分频方法进行改进的原理:在上面的步骤2中,设cnt是一个计数器,计数器运行规则是:(cnt=cnt+1)>=D等价于(cnt=cnt+1)>=N/M等价于M*(cnt=cnt+1)>=N(式1)cnt是一个计数器,每个时钟脉冲到来时计数器按照设定规则更新自身,令cnt以如下2种规则进行计数,并计算各自表达式的值:cnt_a=cnt_a+1cnt_b=cnt_b+M(M为正整数)设计数器cnt_a,cnt_b初值为0,表达式值计算如下计算次数M*cnt_acnt_b1MM22M2M.........NN*MN*M可见,M*cnt_a==cnt_b,即二者等价。所以式1可以写成cnt_b>=N等价于(cnt_b=cnt_b+M)>=N(式2)举例说明本专利技术方法的可行性:设主时钟频率为5MHz,分频时钟频率为2MHz,即2.5分频。如图1,输入clk为输入主时钟,cnt为计数器数值,本文档来自技高网...

【技术保护点】
1.一种数字电路时钟任意小数分频的方法,其特征在于,主时钟频率为N,目标时钟频率为M,该方法包括如下步骤:/nS1、设置一个计数器,初值为0;/nS2、在频率为N的主时钟下进行计数,每个时钟计数器值加M;/nS3、对计数器值加M后的数值进行判断,如果小于N,则返回步骤S2;如果大于等于N,执行步骤S4;/nS4、当计数器值+M大于等于N时,则产生一个脉冲,同时计数器值设置为:计数器值+M-N;/nS5、重复步骤S2、S3、S4,产生的脉冲构成了频率为M的目标时钟。/n

【技术特征摘要】
1.一种数字电路时钟任意小数分频的方法,其特征在于,主时钟频率为N,目标时钟频率为M,该方法包括如下步骤:
S1、设置一个计数器,初值为0;
S2、在频率为N的主时钟下进行计数,每个时钟计数器值加M;
S3、对计数器值加M后的数值进行判断,如果小于N,则返回步骤S2;如果大于等于N,执行步骤S4;
S4、当计数器值+M大于等于N时,则产生一个脉冲,同时计数器值设置为:计数器值+M-N;
S5、重复步骤S2、S3、S4,产生的脉冲构成了频率为M的目标时钟。


2.如权利要求1所述的数字电路时钟任意小数分频的方法,其特征在于,频率为M的目标时钟的脉宽根据实际情况自行设计。


3.如权利要求1所述的数字电路时钟任...

【专利技术属性】
技术研发人员:王明飞刘涛王明阳邱东伟李敬东任远马祥春刘杰汪波梁军学
申请(专利权)人:中国人民解放军九三二一六部队
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1