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

技术编号:12440344 阅读:146 留言:0更新日期:2015-12-04 02:44
本发明专利技术公开了一种内置晶振自动校准方法,该方法在芯片开始工作之后,使芯片进入自动校准方式,然后通过IO输入一个标准频率的方波,数字算法通过计算两个标准频率方波之间时钟clk的个数来判断是把内置晶振调大还是调小,直到内置晶振频率误差在理论范围内。该方法实现简便,成本低廉,能够满足不同芯片的内置晶振调整需要。

【技术实现步骤摘要】

本专利技术属于芯片的
,特别涉及芯片的内置晶振的频率控制。
技术介绍
为了节省系统设计成本,现在越来越多的芯片使用内置晶振给芯片提供工作时钟,但由于生产工艺的偏差,内置晶振与实际理论值会有一定的偏差,而且芯片与芯片之间也会有差异,特别是涉及到采用多种芯片的设备上,不同芯片之间的频率难以做到完全统一,因此,在对时钟准确度高的应用场合芯片往往会无法满足系统设计要求,给系统设计造成隐患。专利申请201410266409.8公开了一种减小电子计时误差的方法,该方法是涉及内置晶振进行温度补偿实时时钟芯片的方法,该方法利用单片机分别连接的RTC、数显装置、红外接收头、蓝牙芯片、电源,所述RTC通过稳压芯片与电源连接,在软件支持下,使传统内置晶振温度补偿RTC的计时产品,不但有校准RTC的年、月、周、日、时、分、秒寄存器的功能,还有校准RTC内置32768Hz晶振的功能,晶振频率偏移重新校准方便,能个性化补偿校准其晶振实现年误差绝对值小于I秒的计时。该专利申请是通过RTC校准时间,需要额外增加外部硬件,提高了校准的成本,且该校准是基于RTC,通过RTC内置晶振来进行校准,受到RTC芯片本身的限制和制约,并不适用于其它内置晶振的校准。
技术实现思路
为解决上述问题,本专利技术的目的在于提供,该方法能够自动进行内置晶振的校准,使内置晶振的误差控制在理论误差以内,避免系统设计出现隐患。本专利技术的另一个目的在于提供的,该方法通过调整频率方波之间时钟elk的个数来判断是把内置晶振调大还是调小,直到内置晶振频率误差在理论范围内,实现简便,成本低廉,能够满足不同芯片的内置晶振调整需要。为实现上述目的,本专利技术的技术方案如下。—种内置晶振自动校准方法,该方法包括如下步骤:101、系统上电,进入校准方式;102、产生方波;通过1输入一个标准频率的方波;所述方波频率最好不大于内置晶振的万分之一。103、校准,计算两个标准频率方波之间时钟elk的个数,以此来判断是把内置晶振调大还是调小,并根据计算结果进行校准,直到内置晶振频率误差控制在理论范围内。对于校准的方法,是通过改变反馈总线上的数据大小,调整内置晶振时钟。对于工艺的离散型过大造成内置晶振偏差范围超过了 +12.7%到-12.8%的情况,可以加大调整的步长或BUS的位宽(步长改为0.2%位宽不变或者步长不变位宽变为9位,内置晶振调整的范围是+25.5%到-25.6% )。本专利技术通过调整频率方波之间时钟elk的个数来判断是把内置晶振调大还是调小,自动调整内置晶振时钟,直到内置晶振频率误差在理论范围内,该方法实现简便,成本低廉,能够满足不同芯片的内置晶振调整需要。【附图说明】图1是本专利技术所实施的芯片结构框图。图2是本专利技术所实施的控制流程图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参照图1所示,为实现本专利技术所采用的硬件结构框图。芯片开始工作之后,使芯片进入自动校准方式(进入校准的方式是多种的,可以通过1控制,也可以通过发命令控制、也可以在芯片上电之后某一段时间内进入自动校准方式),然后通过1输入一个标准频率的方波(方波频率最好不大于内置晶振的万分之一),数字算法通过计算两个标准频率方波之间时钟elk的个数来判断是把内置晶振调大还是调小,直到内置晶振频率误差在理论范围内。图2所示为内置晶振自动校准的流程图,具体的控制流程如下。201、芯片进入正常的工作模式; 202、判断芯片是否进入自动校准模式,如果没有进入自动校准模式,等待进入自动校准模式,在等待自动校准模式时不影响芯片其他各项功能;如果进入了自动校准模式,继续下一步;203、判断外部是否有输入标准频率的方波,如果没有,等待输入标准频率方波;如果有标准频率方波输入,继续下一步;204、判断两个标准频率方波之间内置晶振时钟的个数,如果个数在理论误差范围内,退出自动校准模式完成校准;如果个数不在理论误差范围内,继续下一步;205、改变反馈总线上的数据大小,调整内置时钟,然后跳转到步骤4。假设芯片内置晶振理论设计值是16M,内置晶振调整反馈总线是8位的BUS ,BUS代表调整方向,BUS = I内置晶振时钟往快的方向调整,BUS = O内置晶振时钟往慢的方向调整,当BUS = 8’ hFF时内置晶振时钟最快,当BUS = 8’ h00时内置晶振时钟最慢,默认值是BUS = 8,h80,BUS调整的步长是0.1%,内置晶振调整的范围是+12.7%到-12.8%,如果工艺的离散型过大造成内置晶振偏差范围超过了+12.7%到-12.8%,可以加大调整的步长或BUS的位宽(步长改为0.2%位宽不变或者步长不变位宽变为9位,内置晶振调整的范围是+25.5%到-25.6% ),输入的标准频率方波是ΙΚΗζ,理论上在两个标准频率方波之间内置晶振时钟个数为16000个。如果内置晶振误差不能超过0.05%,那么两个标准频率方波之间内置晶振时钟个数为15992到16008,,下面按照下面具体的调整流程进行内置晶振时钟的调整。301、在开始调整之前,内置晶振是15MHz,两个标准频率方波之间内置晶振时钟个数为15000个,不在理论范围内,且比理论值小,需要把内置晶振往快的方向调整。此时,BUS= 1,使 BUS = 1,BUS = 6’ h00,调整之后内置晶振值为15MHz* (1+2~6*0.1% ) = 15.96MHz。302、如果两个标准频率方波之间内置晶振时钟个数为15960个,不在理论范围内,且比理论值小。此时,BUS保持不变,使BUS = 1,BUS =5’ h00,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2~5*0.1% ) = 16.44MHz。303、如果两个标准频率方波之间内置晶振时钟个数为16440个,不在理论范围内,且比理论值大;此时,BUS保持不变,使 BUS = O, BUS = 1,BUS = 4’ h0,调整之后内置晶振值为 15MHz*(1+2~6*0.1% +2~4*0.1% ) = 16.20MHz。304、如果两个标准频率方波之间内置晶振时钟个数为16200个,不在理论范围内,且比理论值大。此时,BUS保持不变,BUS = 0,使 BUS = 1,BUS =3’ h0,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2~3*0.1% ) = 16.08MHz。305、如果两个标准频率方波之间内置晶振时钟个数为16080个,不在理论范围内,且比理论值大。此时,BUS保持不变,BUS = 0,使 BUS = 1,BUS = 2’ h0,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2~2*0.1% ) = 16.02MHz。306、如果两个标准频率方波之间内置晶振时钟个数为16020个,不在理论范围内,且比理论值大。此时,BUS保持不变,BUS=0,使冊3 = 1,BUS = I,h0,调整之后内置晶振值为 15MHz* (1+2~6*0.1% +2'1*0.1% ) = 15.99MHz。307本文档来自技高网...

【技术保护点】
一种内置晶振自动校准方法,该方法包括如下步骤:101、系统上电,进入校准方式;102、产生方波;通过IO输入一个标准频率的方波;103、校准,计算两个标准频率方波之间时钟clk的个数,以此来判断是把内置晶振调大还是调小,并根据计算结果进行校准,直到内置晶振频率误差控制在理论范围内。

【技术特征摘要】

【专利技术属性】
技术研发人员:张伟伟
申请(专利权)人:深圳市芯海科技有限公司
类型:发明
国别省市:广东;44

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

1