一种内置晶振自动校准方法

文档序号:9396182阅读:873来源:国知局
一种内置晶振自动校准方法
【技术领域】
[0001]本发明属于芯片的技术领域,特别涉及芯片的内置晶振的频率控制。
【背景技术】
[0002]为了节省系统设计成本,现在越来越多的芯片使用内置晶振给芯片提供工作时钟,但由于生产工艺的偏差,内置晶振与实际理论值会有一定的偏差,而且芯片与芯片之间也会有差异,特别是涉及到采用多种芯片的设备上,不同芯片之间的频率难以做到完全统一,因此,在对时钟准确度高的应用场合芯片往往会无法满足系统设计要求,给系统设计造成隐患。
[0003]专利申请201410266409.8公开了一种减小电子计时误差的方法,该方法是涉及内置晶振进行温度补偿实时时钟芯片的方法,该方法利用单片机分别连接的RTC、数显装置、红外接收头、蓝牙芯片、电源,所述RTC通过稳压芯片与电源连接,在软件支持下,使传统内置晶振温度补偿RTC的计时产品,不但有校准RTC的年、月、周、日、时、分、秒寄存器的功能,还有校准RTC内置32768Hz晶振的功能,晶振频率偏移重新校准方便,能个性化补偿校准其晶振实现年误差绝对值小于I秒的计时。该专利申请是通过RTC校准时间,需要额外增加外部硬件,提高了校准的成本,且该校准是基于RTC,通过RTC内置晶振来进行校准,受到RTC芯片本身的限制和制约,并不适用于其它内置晶振的校准。

【发明内容】

[0004]为解决上述问题,本发明的目的在于提供一种内置晶振自动校准方法,该方法能够自动进行内置晶振的校准,使内置晶振的误差控制在理论误差以内,避免系统设计出现隐患。
[0005]本发明的另一个目的在于提供的一种内置晶振自动校准方法,该方法通过调整频率方波之间时钟elk的个数来判断是把内置晶振调大还是调小,直到内置晶振频率误差在理论范围内,实现简便,成本低廉,能够满足不同芯片的内置晶振调整需要。
[0006]为实现上述目的,本发明的技术方案如下。
[0007]—种内置晶振自动校准方法,该方法包括如下步骤:
[0008]101、系统上电,进入校准方式;
[0009]102、产生方波;通过1输入一个标准频率的方波;
[0010]所述方波频率最好不大于内置晶振的万分之一。
[0011]103、校准,计算两个标准频率方波之间时钟elk的个数,以此来判断是把内置晶振调大还是调小,并根据计算结果进行校准,直到内置晶振频率误差控制在理论范围内。
[0012]对于校准的方法,是通过改变反馈总线上的数据大小,调整内置晶振时钟。
[0013]对于工艺的离散型过大造成内置晶振偏差范围超过了 +12.7%到-12.8%的情况,可以加大调整的步长或BUS的位宽(步长改为0.2%位宽不变或者步长不变位宽变为9位,内置晶振调整的范围是+25.5%到-25.6% )。
[0014]本发明通过调整频率方波之间时钟elk的个数来判断是把内置晶振调大还是调小,自动调整内置晶振时钟,直到内置晶振频率误差在理论范围内,该方法实现简便,成本低廉,能够满足不同芯片的内置晶振调整需要。
【附图说明】
[0015]图1是本发明所实施的芯片结构框图。
[0016]图2是本发明所实施的控制流程图。
【具体实施方式】
[0017]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0018]请参照图1所示,为实现本发明所采用的硬件结构框图。芯片开始工作之后,使芯片进入自动校准方式(进入校准的方式是多种的,可以通过1控制,也可以通过发命令控制、也可以在芯片上电之后某一段时间内进入自动校准方式),然后通过1输入一个标准频率的方波(方波频率最好不大于内置晶振的万分之一),数字算法通过计算两个标准频率方波之间时钟elk的个数来判断是把内置晶振调大还是调小,直到内置晶振频率误差在理论范围内。
[0019]图2所示为内置晶振自动校准的流程图,具体的控制流程如下。
[0020]201、芯片进入正常的工作模式;
[0021 ] 202、判断芯片是否进入自动校准模式,如果没有进入自动校准模式,等待进入自动校准模式,在等待自动校准模式时不影响芯片其他各项功能;如果进入了自动校准模式,继续下一步;
[0022]203、判断外部是否有输入标准频率的方波,如果没有,等待输入标准频率方波;如果有标准频率方波输入,继续下一步;
[0023]204、判断两个标准频率方波之间内置晶振时钟的个数,如果个数在理论误差范围内,退出自动校准模式完成校准;如果个数不在理论误差范围内,继续下一步;
[0024]205、改变反馈总线上的数据大小,调整内置时钟,然后跳转到步骤4。
[0025]假设芯片内置晶振理论设计值是16M,内置晶振调整反馈总线是8位的BUS [7:0],BUS[7]代表调整方向,BUS[7] = I内置晶振时钟往快的方向调整,BUS[7] = O内置晶振时钟往慢的方向调整,当BUS[7:0] = 8’ hFF时内置晶振时钟最快,当BUS[7:0] = 8’ h00时内置晶振时钟最慢,默认值是BUS[7:0] = 8,h80,BUS[7:0]调整的步长是0.1%,内置晶振调整的范围是+12.7%到-12.8%,如果工艺的离散型过大造成内置晶振偏差范围超过了+12.7%到-12.8%,可以加大调整的步长或BUS的位宽(步长改为0.2%位宽不变或者步长不变位宽变为9位,内置晶振调整的范围是+25.5%到-25.6% ),输入的标准频率方波是ΙΚΗζ,理论上在两个标准频率方波之间内置晶振时钟个数为16000个。如果内置晶振误差不能超过0.05%,那么两个标准频率方波之间内置晶振时钟个数为15992到16008,,下面按照下面具体的调整流程进行内置晶振时钟的调整。
[0026]301、在开始调整之前,内置晶振是15MHz,两个标准频率方波之间内置晶振时钟个数为15000个,不在理论范围内,且比理论值小,需要把内置晶振往快的方向调整。
[0027]此时,BUS[7]= 1,使 BUS[6] = 1,BUS[5:0] = 6’ h00,调整之后内置晶振值为15MHz* (1+2~6*0.1% ) = 15.96MHz。
[0028]302、如果两个标准频率方波之间内置晶振时钟个数为15960个,不在理论范围内,且比理论值小。
[0029]此时,BUS[7:6]保持不变,使BUS[5] = 1,BUS[4:0] =5’ h00,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2~5*0.1% ) = 16.44MHz。
[0030]303、如果两个标准频率方波之间内置晶振时钟个数为16440个,不在理论范围内,且比理论值大;
[0031]此时,BUS[7:6]保持不变,使 BUS [5] = O, BUS [4] = 1,BUS[3:0] = 4’ h0,调整之后内置晶振值为 15MHz*(1+2~6*0.1% +2~4*0.1% ) = 16.20MHz。
[0032]304、如果两个标准频率方波之间内置晶振时钟个数为16200个,不在理论范围内,且比理论值大。
[0033]此时,BUS[7:5]保持不变,BUS [4] = 0,使 BUS [3] = 1,BUS [2:0] =3’ h0,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2~3*0.1% ) = 16.08MHz。
[0034]305、如果两个标准频率方波之间内置晶振时钟个数为16080个,不在理论范围内,且比理论值大。
[0035]此时,BUS[7:4]保持不变,BUS [3] = 0,使 BUS[2] = 1,BUS [1:0] = 2’ h0,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2~2*0.1% ) = 16.02MHz。
[0036]306、如果两个标准频率方波之间内置晶振时钟个数为16020个,不在理论范围内,且比理论值大。
[0037]此时,BUS[7:3]保持不变,BUS[2]=0,使冊3[1] = 1,BUS[0] = I,h0,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2'1*0.1% ) = 15.99MHz。
[0038]307、如果两个标准频率方波之间内置晶振时钟个数为15990个,不在理论范围内,且比理论值小。
[0039]此时,BUS[7:1]保持不变,使BUS[0] = I’ hl,调整之后内置晶振值为15MHz* (1+2~6*0.1% +2~1*0.1% +2~0*0.1% ) = 16.005MHz0
[0040]308、两个标准频率方波之间内置晶振时钟个数为16005个,在理论范围内,完成自动校准功能,退出自动校准功能。
[0041]通过上面的步骤,最后得到BUS[7:0]的值为8’bll00_0011。从上面的过程也可以看出,所需的标准频率方波的个数与BUS位宽相同。上述例子中BUS的位宽是8位的,只需8个标准频率的方波就可以完成内置晶振的自动校准。假设上述例子中内置晶振误差不能超过0.1 %,两个标准频率方波之间内置晶振时钟个数为15984到16016,在步骤307时就可以停止内置晶振的校准,最终得到的BUS值是8’ bll00_0010,步骤307-308变成如下描述:
[0042]307、如果两个标准频率方波之间内置晶振时钟个数为15990个,在理论范围内(15984到16016),停止内置晶振的校准。
[0043]此时,BUS [7:1]保持不变,BUS [0]也保持不变(BUS[0] = 0)。
[0044]308、两个标准频率方波之间内置晶振时钟个数为15990个,在理论范围内,完成自动校准功能,退出自动校准功能。
[0045]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种内置晶振自动校准方法,该方法包括如下步骤: 101、系统上电,进入校准方式; 102、产生方波;通过1输入一个标准频率的方波; 103、校准,计算两个标准频率方波之间时钟elk的个数,以此来判断是把内置晶振调大还是调小,并根据计算结果进行校准,直到内置晶振频率误差控制在理论范围内。2.如权利I要求所述的内置晶振自动校准方法,其特征在于所述方波频率不大于内置晶振的万分之一。3.如权利I要求所述的内置晶振自动校准方法,其特征在于对于校准的方法,是通过改变反馈总线上的数据大小,调整内置晶振时钟。4.如权利4要求所述的内置晶振自动校准方法,其特征在于对于工艺的离散型过大造成内置晶振偏差范围超过了 +12.7%到-12.8%的情况,可以加大调整的步长或BUS的位宽。
【专利摘要】本发明公开了一种内置晶振自动校准方法,该方法在芯片开始工作之后,使芯片进入自动校准方式,然后通过IO输入一个标准频率的方波,数字算法通过计算两个标准频率方波之间时钟clk的个数来判断是把内置晶振调大还是调小,直到内置晶振频率误差在理论范围内。该方法实现简便,成本低廉,能够满足不同芯片的内置晶振调整需要。
【IPC分类】G04G5/02
【公开号】CN105116712
【申请号】CN201510466770
【发明人】张伟伟
【申请人】深圳市芯海科技有限公司
【公开日】2015年12月2日
【申请日】2015年8月3日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1