System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于FIFO指针监测的时钟频率的校正方法技术_技高网

基于FIFO指针监测的时钟频率的校正方法技术

技术编号:39976945 阅读:13 留言:0更新日期:2024-01-09 01:13
本发明专利技术公开了一种基于FIFO指针监测的时钟频率的校正方法,其包括如下步骤:a.将标准时钟状态下任意相邻两个SOF信号之间指针的差值记录为第一差值;b.根据当前运行的时钟,获取N个SOF信号两两相邻之间指针的差值,获得N‑1个差值,记录为第二差值;c.将第一差值逐一与N‑1个第二差值作差得到N‑1个第三差值,将N‑1个第三差值求和,获得指针偏差值;d.根据指针偏差值调节时钟频率的快慢;e.重复执行b‑d,直到指针偏差值进入设定范围。本发明专利技术的校正方法可以实时监测FIFO指针频率的累计误差并及时进行校正,解决了无晶振算法带来的频率误差积累的问题,保证了在同步传输的系统中数据的正确传输,节省了硬件成本并避免了使用晶振带来的各种风险。

【技术实现步骤摘要】

本专利技术涉及集成电路设计领域,更具体地涉及一种基于fifo指针监测的时钟频率的校正方法。


技术介绍

1、在常用的usb1.1phy中,可通过无晶振算法实现时钟输出,而其内部通过自身算法不断进行频率修正以保证时钟的稳定,但始终存在2.5‰的误差。对于批量传输或中断传输,2.5‰的误差不会对数据传输造成影响;但当系统使用同步传输时,且数据是不间断传输,中间通过ram,fifo等缓存器件暂存,由于时钟误差的存在,使得两边的数据传输带宽会存在偏差(对于usb1.1,主机的帧率是标准且固定的1ms)。当时钟速率过慢时,fifo中数据越来越多,最终会因来不及取走数据,主机便下发新数据而覆盖原来的数据,导致数据丢失;当时钟速率过快时,fifo中数据越来越少,导致主机还没下发新数据,原来的数据便被全部取走,造成数据断流。

2、在现有技术中,为解决此问题系统使用晶振作为时钟源,以保证时钟频率的稳定,避免因为频率的误差导致数据传输出错。但使用晶振作为系统时钟源的方案虽然可以保证时钟的稳定与精度,但对于产品而言,首先需要增加额外的io供晶振时钟输入,而且每一颗芯片都需要配备一颗晶振,这无疑增加了产品pcb的复杂程度,面积以及硬件成本;另外,对于晶振而言,体积越小,性能越强,成本也随之更高,即使选用性能较好的晶振,在使用过程中,仍然存在晶振不工作的风险,甚至在一些极端环境下,其精度和稳定性也将难以保证。

3、因此,有必要提供一种改进的基于fifo指针监测的时钟频率的校正方法来克服上述缺陷。


技术实现思路

1、本专利技术的目的是提供一种基于fifo指针监测的时钟频率的校正方法,本专利技术的校正方法可以实时监测fifo指针频率的累计误差并及时进行校正,解决了无晶振算法带来的频率误差积累的问题,保证了在同步传输的系统中数据的正确传输,同时节省了硬件成本并避免了使用晶振带来的各种风险。

2、为实现上述目的,本专利技术提供了一种基于fifo指针监测的时钟频率的校正方法,其包括如下步骤:

3、a.将标准时钟状态下任意相邻两个sof信号之间指针的差值记录为第一差值;

4、b.根据当前运行的时钟,获取n个sof信号两两相邻之间指针的差值,获得n-1个差值,并记录为第二差值;

5、c.将第一差值逐一与n-1个第二差值作差得到n-1个第三差值,将n-1个第三差值求和,获得指针偏差值;

6、d.根据所述指针偏差值调节时钟频率的快慢;

7、e.重复执行b-d,直到所述指针偏差值进入设定范围。

8、较佳地,当所述指针偏差值小于0,则调慢当前时钟的频率。

9、较佳地,当所述指针偏差值大于0,则调快当前时钟的频率。

10、较佳地,在0到指针标准变化值的范围内设置第一门限值与第二门限值,且所述第一门限值小于第二门限值,第二门限值小于指针标准变化值。

11、较佳地,在0到指针标准变化值的范围内设置第一校正系数与第二校正系数,且所述第一校正系统数小于第二校正系数,第二校正系数小于指针标准变化值。

12、较佳地,当所述指针偏差值的绝对值大于第一门限值且小于第二门限值时,以第一校正系数调节当前时钟的频率。

13、较佳地,当所述指针偏差值的绝对值大于第二门限值且小于数据包大小值时,以第二校正系数调节当前时钟的频率。

14、与现有技术相比,本专利技术的基于fifo指针监测的时钟频率的校正方法,通过在当前运行的时钟下获取sof信号两两相邻之间指针的差值,并将标准差值与该差值做差,以得到多个偏差值,将该多个偏差值求和而得到指针偏差值,从而可根据得到的指针偏差值调节当前时钟的频率,直到指针偏差值进入设定范围,即完成对当前时钟频率的调整,确保了时钟频率的稳定性与精准性,解决了无晶振算法带来的频率误差积累的问题,保证了在同步传输的系统中数据的正确传输,同时节省了硬件成本并避免了使用晶振带来的各种风险。

15、通过以下的描述并结合附图,本专利技术将变得更加清晰,这些附图用于解释本专利技术的实施例。

本文档来自技高网...

【技术保护点】

1.一种基于FIFO指针监测的时钟频率的校正方法,其特征在于,包括如下步骤:

2.如权利要求1所述的基于FIFO指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值小于0,则调慢当前时钟的频率。

3.如权利要求1所述的基于FIFO指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值大于0,则调快当前时钟的频率。

4.如权利要求1所述的基于FIFO指针监测的时钟频率的校正方法,其特征在于,在0到指针标准变化值的范围内设置第一门限值与第二门限值,且所述第一门限值小于第二门限值,第二门限值小于指针标准变化值。

5.如权利要求4所述的基于FIFO指针监测的时钟频率的校正方法,其特征在于,在0到指针标准变化值的范围内设置第一校正系数与第二校正系数,且所述第一校正系统数小于第二校正系数,第二校正系数小于指针标准变化值。

6.如权利要求5所述的基于FIFO指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值的绝对值大于第一门限值且小于第二门限值时,以第一校正系数调节当前时钟的频率。

7.如权利要求5所述的基于FIFO指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值的绝对值大于第二门限值且小于数据包大小值时,以第二校正系数调节当前时钟的频率。

...

【技术特征摘要】

1.一种基于fifo指针监测的时钟频率的校正方法,其特征在于,包括如下步骤:

2.如权利要求1所述的基于fifo指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值小于0,则调慢当前时钟的频率。

3.如权利要求1所述的基于fifo指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值大于0,则调快当前时钟的频率。

4.如权利要求1所述的基于fifo指针监测的时钟频率的校正方法,其特征在于,在0到指针标准变化值的范围内设置第一门限值与第二门限值,且所述第一门限值小于第二门限值,第二门限值小于指针标准变化值。

5...

【专利技术属性】
技术研发人员:赵强
申请(专利权)人:四川和芯微电子股份有限公司
类型:发明
国别省市:

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

1