一种基于片上时钟比较的动态时钟调节方法及装置制造方法及图纸

技术编号:35563264 阅读:7 留言:0更新日期:2022-11-12 15:46
SOC芯片内部对时钟频率偏差要求高,芯片在长时间工作及多变的工作环境条件下,会累积或瞬时产生时钟偏差。本发明专利技术公开了一种基于片上时钟比较的动态时钟调节方法,包括时钟比较模块发送一个测量信号给时钟,触发一次时钟测量;计数器count0、count1和valid0重新加载预加载值;计数器count0和count1同时开始向下计数;计数器valid0开始向下计数;计数器停止,寄存器保存数据;输出中断信号,测量完成。同时,本发明专利技术还公开了一种基于片上时钟比较的动态时钟调节装置。时钟调节装置。时钟调节装置。

【技术实现步骤摘要】
一种基于片上时钟比较的动态时钟调节方法及装置


[0001]本专利技术涉及涉及soc芯片设计领域,尤其涉及一种基于片上时钟比较的动态时钟调节方法及装置。

技术介绍

[0002]目前,soc芯片因为其面积小、功耗低、运行速度快、模块的重用性高等优点在市场上的应用十分广泛,例如智能安防、汽车电子等,不同领域都对芯片稳定性有着不同程度的要求。而时钟的稳定性又大大影响着整个芯片的稳定性,所以如何保证soc芯片的时钟稳定在要求的范围内十分重要。
[0003]市面上很多芯片都是采用对单一时钟进行采样然后和基准时钟对比的方法监测时钟并调节的,而稍微复杂一点的soc设计中会有很多时钟源和时钟域,且大部分时钟都是可分频的,在不同的应用中,往往需要的重点监测的时钟、需要监测的精度和能够提供的基准时钟也会有差别,所以传统的时钟监测和调节的方法缺乏一定的灵活性和重用性。

技术实现思路

[0004]本专利技术的目的是克服现有的缺陷,提供一种基于片上时钟比较的动态时钟调节方法及装置,在保证soc芯片内部时钟稳定性的同时,又能灵活方便地被使用。
[0005]作为本专利技术的第一个方面,提供一种基于片上时钟比较的动态时钟调节方法,包括步骤一,时钟比较模块发送一个测量信号给时钟,触发一次时钟测量;步骤二,计数器count0、count1和valid0重新加载预加载值;步骤三,计数器count0和count1同时开始向下计数;步骤四,计数器valid0开始向下计数;步骤五,计数器停止,寄存器保存数据;步骤六,输出中断信号,测量完成。
[0006]进一步的,每个计数器的预加载值都由软件根据时钟频率提前配置,确保count0计数到0时count1还没有计数到0,并且count1计数到0时valid0还没有计数到0。
[0007]进一步的,当计数器count0计数到0时,计数器valid0开始向下计数。
[0008]进一步的,当count1或valid0任一计数到0时,所有计数器停止计数,寄存器保存当前的值。
[0009]进一步的,当count1先于count0达到0时,则计数值比较模块输出一个error错误指示信号。
[0010]进一步的,当valid0先于count1达到0时,则计数值比较模块输出一个error错误指示信号。
[0011]进一步的,测量完成后,软件读取寄存器中保存的计数器值,并计算clock1的频率。
[0012]作为本专利技术的第二个方面,提供一种基于片上时钟比较的动态时钟调节装置,包括一个时钟比较模块和多个时钟,所述时钟比较模块定时触发一次时钟测量,利用参考时钟测量被测时钟。
[0013]进一步的,当被测时钟产生了严重偏差或者从多次测量的结果分析出频率有变差的趋势,时钟比较模块需要及时将芯片的工作时钟切换到备用时钟,并对问题时钟进行微调和测量,以备下次使用,从而保证SOC芯片内部时钟的频率稳定在要求的范围内。
[0014]进一步的,所述的时钟比较模块有三个计数器count0,valid0,count1,每个计数器都有一个预加载值,其中,count0和valid0由参考时钟clock0驱动,count1由被测时钟clock1驱动,clock0和clock1都分别有多个可配置的时钟源。
[0015]有益效果:
[0016]本专利技术摈弃了传统的单一时钟采样然后和基准时钟对比监测时钟并调节的方法,采用基于片上时钟比较的动态时钟调节方法,在保证soc芯片内部时钟稳定性的同时,又能灵活方便地被使用。
附图说明
[0017]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:
[0018]图1是启动一次测量的流程图
具体实施方式
[0019]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0020]本方法需要硬件和软件相配合。
[0021]硬件上包括在soc芯片内部增加时钟比较模块以及备用时钟源,该模块通过总线被CPU访问,在芯片面积允许的情况下,也可以使用多个时钟比较模块,可以并行监测多个时钟。
[0022]时钟比较模块有三个计数器count0,valid0,count1,每个计数器都有一个预加载值,其中,count0和valid0由参考时钟clock0驱动,count1由被测时钟clock1驱动。Clock0和clock1都分别有多个可配置的时钟源。
[0023]开始测量后三个计数器都会重新加载预加载值,count0和count1先从预加载值向下计数,count0计数到0后,valid0再自动从预加载值向下计数。
[0024]每个计数器的预加载值都由软件根据时钟频率提前配置,确保count0计数到0时count1还没有计数到0,并且count1计数到0时valid0还没有计数到0,满足这个条件则clock1在正常误差范围内,时钟比较模块不报错,count1计数到0时测量结束,此时valid0也立即停止,并且输出一个测量完成的中断信号。软件则需要记录每次测量出的频率变化。
[0025]若count1计数到0时,count0、valid0停止,count0的值不为0,则向外报告一个测量错误信号,被测时钟产生了严重偏差。
[0026]除此之外,valid0计数到0时也会测量结束,此时count1也会立即停止,若count1此时还没有计数到0,则向外报告一个测量错误信号,被测时钟产生了严重偏差。被测时钟产生了严重偏差或者从多次测量的结果分析出频率有变差的趋势,软件需要及时将芯片的工作时钟切换到备用时钟,并对问题时钟进行微调和测量以备下次使用。
[0027]实施例:
[0028]下面以参考时钟频率F0=50MHz,被测时钟频率F1=30MHz为例来做详细说明:
[0029]1、确定一个单次测量的时间:T=5000ns;
[0030]2、确定一个被测时钟可接受的频率上限FH=31MHz,确定一个被测时钟可接受的频率下限FL=29MHz;
[0031]3、计算出count1的预加载值Pre_c1=T*F1,这里取150;
[0032]4、计算出count0的预加载值Pre_c0=(Pre_c1/FH)*F0,这里取242;
[0033]5、计算出valid0的预加载值Pre_v0=(Pre_c1/FL)*F0

Pre_c0,这里取16;
[0034]6、分别配置三个计数器的预加载值和两个时钟源选择寄存器;
[0035]7、开始测量;
[0036]8、时钟源选择模块根据时钟源选择寄存器的配置选择参考时钟clock0和被测时钟clock1,clock0作为计数器count0和valid0的驱动时钟,clock1作为计数器count1的驱动时钟;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于片上时钟比较的动态时钟调节方法,其特征在于,包括:步骤一,时钟比较模块发送一个测量信号给时钟,触发一次时钟测量;步骤二,计数器count0、count1和valid0重新加载预加载值;步骤三,计数器count0和count1同时开始向下计数;步骤四,计数器valid0开始向下计数;步骤五,计数器停止,寄存器保存数据;步骤六,输出中断信号,测量完成。2.根据权利要求1所述的一种基于片上时钟比较的动态时钟调节方法,其特征在于,每个计数器的预加载值都由软件根据时钟频率提前配置,确保count0计数到0时count1还没有计数到0,并且count1计数到0时valid0还没有计数到0。3.根据权利要求1所述的一种基于片上时钟比较的动态时钟调节方法,其特征在于,当计数器count0计数到0时,计数器valid0开始向下计数。4.根据权利要求1所述的一种基于片上时钟比较的动态时钟调节方法,其特征在于,当count1或valid0任一计数到0时,所有计数器停止计数,寄存器保存当前的值。5.根据权利要求4所述的一种基于片上时钟比较的动态时钟调节方法,其特征在于,当count1先于count0达到0时,则计数值比较模块输出一个error错误指示信号。6.根据权利要求4...

【专利技术属性】
技术研发人员:彭缪
申请(专利权)人:无锡芯领域微电子有限公司
类型:发明
国别省市:

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

1