System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及集成电路设计领域,更具体地涉及一种基于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所述的
...【技术特征摘要】
1.一种基于fifo指针监测的时钟频率的校正方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于fifo指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值小于0,则调慢当前时钟的频率。
3.如权利要求1所述的基于fifo指针监测的时钟频率的校正方法,其特征在于,当所述指针偏差值大于0,则调快当前时钟的频率。
4.如权利要求1所述的基于fifo指针监测的时钟频率的校正方法,其特征在于,在0到指针标准变化值的范围内设置第一门限值与第二门限值,且所述第一门限值小于第二门限值,第二门限值小于指针标准变化值。
5...
【专利技术属性】
技术研发人员:赵强,
申请(专利权)人:四川和芯微电子股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。