芯片的内部时钟偏差的校准方法及系统的制作方法

文档序号:6374770阅读:765来源:国知局
专利名称:芯片的内部时钟偏差的校准方法及系统的制作方法
技术领域
本发明涉及电子技术领域,具体涉及ー种芯片的内部时钟偏差的校准方法及系统。
背景技术
在嵌入式系统中,芯片内部常常设置有一些定时时钟,以实现定时控制、定时测量或者延时动作,但由于IC (Integrated Circuit,集成电路)设计或者制造エ艺的原因,嵌入式控制芯片中的定时时钟难免出现一定的个体差异,使得一些芯片中的定时时钟与设计标准有一定的偏差,这种偏差将会导致定时时间不准、芯片在应用时出现问题,导致事件的提前或推迟发生,例如应用在定时爆破吋,如果定时不准,导致提前或者推迟爆破都会产生严重后果
发明内容
本发明实施例所要解决的技术问题是提供一种芯片的内部时钟偏差的校准方法及系统,可为芯片的内部时钟提供校准,解决定时时钟与设计标准有偏差的问题。本发明实施例提供一种芯片的内部时钟偏差的校准方法,包括为所述芯片外接频率为预定频率f I的晶振,以使芯片执打指令的时钟为外接的所述晶振的时钟;配置所述芯片的引脚以使所述芯片的内部时钟从一个预定的I/O ロ输出;将所述芯片的ー个GPIO配置为输入模式,并与所述预定的I/O ロ连接;所述芯片执行预定的时钟校准代码;计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI以及所述时钟校准代码在所述预定时间段内的执行总拍数N2 ;通过公式A=f0-f = fO-fl*Nl/N2计算得到所述芯片的内部时钟的偏差值Λ ;其中,f为所述芯片的内部时钟的实际时钟频率,fO为所述芯片的内部时钟的设计频率fO ;记录所述偏差值Λ作为芯片的内部时钟的校准值。相应的,本发明实施例还提供一种芯片的内部时钟偏差的校准系统,包括晶振,用于外接与所述芯片,以使外接所述晶振后所述芯片执行指令的时钟为外接的所述晶振的时钟;所述晶振的频率为预定频率fi;引脚配置単元,用于配置所述芯片的引脚以使所述芯片的内部时钟从一个预定的I/o ロ输出;GPIO配置単元,用于将所述芯片的ー个GPIO配置为输入模式,并与所述预定的I/O ロ连接;执行单元,用于使所述芯片执行预定的时钟校准代码;计数单元,用于计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI,以及计数所述时钟校准代码在所述预定时间段内的执行总拍数N2 ;
计算单元,用于通过公式A=fO_f = fO_fl*Nl/N2计算得到所述芯片的内部时钟的偏差值△;其中,f为所述芯片的内部时钟的实际时钟频率,fO为所述芯片的内部时钟的设计频率;存储单元,用于记录所述偏差值Λ作为芯片时钟校准值。本发明提供一种芯片的内部时钟偏差的校准方法及系统,通过外接频率极为精准的晶振作为參考时钟,计数在预定时间段内芯片的内部时钟的电平翻转次数及代码执行拍数,由公式计算得到所述芯片的内部时钟的偏差值△,可对芯片的内部时钟的偏差实现精确地校准,确保芯片的内部时钟的精确性,提高芯片的使用良率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明芯片的内部时钟偏差的校准方法实施例一的流程图;图2是本发明芯片的内部时钟偏差的校准方法实施例ニ的流程图;图3是本发明芯片的内部时钟偏差的校准系统实施例一的流程图;图4是本发明芯片的内部时钟偏差的校准系统实施例ニ的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例中提供了一种芯片的内部时钟偏差的校准方法和系统,其核心思想是通过外接频率极为精准的晶振作为參考时钟,计数在预定时间段内芯片的内部时钟的电平翻转次数及代码执行拍数,由公式计算得到所述芯片的内部时钟的偏差值△,将该偏差值Λ作为芯片的内部时钟的校准值为芯片内部时钟提供校准。以下分别进行详细说明。方法实施例一本发明提供一种芯片的内部时钟的校准方法,如图I所示,该方法包括下列步骤S101、为上述芯片外接频率为预定频率fl的晶振,以使芯片执行指令的时钟为外接的上述晶振的时钟;晶振即晶体振荡器,其具有振荡频率极为精准和稳定的特点,选择频率为预定频率fl的晶振作为芯片的參考时钟,进行外接之后,芯片执行指令的时钟即为外接的晶振的时钟;当然本实施例中为了实现校准的目的,外接晶振的精确度须远远高于芯片的内部时钟的精确度;需要说明的是,上述的预定频率fl可根据需要校准的芯片的内部时钟的设计频率进行选择,在此不作具体的限制;本实施例中,可挑选频率(预定频率Π)大于芯片的内部时钟的设计频率fO的两倍的晶振作为外接的參考时钟,例如当芯片的内部时钟的设计频率为32KHz时,可挑选频率为12MHz的晶振作为外接的參考时钟;S102、配置芯片的引脚以使芯片的内部时钟从一个预定的I/O ロ输出;I/O是input/output的缩写,即输入/输出端ロ ;S103、将芯片的ー个GPIO配置为输入模式,并与上述预定的I/O ロ连接;这样芯片的内部时钟I/O ロ的电平翻转将能通过GPIO检测到;GPIO (General Purpose Input Output)是通用输入/输出的简称,姆个 GPIO 端ロ可通过软件分别配置成输入或输出;S104、所述芯片执行预定的时钟校准代码;
时钟校准代码可预先存储在芯片中,也可以临时下载到芯片中;105、计数上述芯片的内部时钟在预定时间段内的翻转电平次数NI以及上述时钟校准代码在上述预定时间段内的执行总拍数N2 ;上述预定时间段的长度可根据实际情况进行合适的设置,在此不作具体的限制;106、通过公式A=fO_f = fO-fl*Nl/N2计算得到上述芯片的内部时钟的偏差值Δ ;其中,f为上述芯片的内部时钟的实际时钟频率,fO为上述芯片的内部时钟的设计频率fO ;上述公式可分解为公式一 f = fl*Nl/N2和公式ニ Λ =f0_f,其中通过公式一可计算得到芯片的内部时钟的实际时钟频率f,再代入公式ニ与设计频率fO做比较得到偏差值Λ ;107、记录上述偏差值Λ作为芯片的内部时钟的校准值。获取校准值之后,芯片可依据校准值对芯片的内部时钟频率进行调整,具体地,SP是使芯片的内部时钟使用的频率为其实际时钟频率加上校准值(f+Λ),则可使芯片的内部时钟使用的频率达到芯片的内部时钟的设计频率fO,确保芯片的内部时钟的精确性。方法实施例ニ 本发明提供一种芯片的内部时钟偏差的校准方法,如图2所示,该方法包括下列步骤201、为上述芯片外接频率为预定频率fl的晶振,以使芯片执行指令的时钟为外接的上述晶振的时钟;晶振即晶体振荡器,其具有振荡频率极为精准和稳定的特点,选择频率为预定频率fl的晶振作为芯片的參考时钟,进行外接之后,芯片执行指令的时钟即为外接的晶振的时钟;当然本实施例中为了实现校准的目的,外接晶振的精确度须远远高于芯片的内部时钟的精确度;需要说明的是,上述的预定频率fl可根据需要校准的芯片的内部时钟的设计频率进行选择,在此不作具体的限制;本实施例中,可挑选频率(预定频率Π)大于芯片的内部时钟的设计频率fO的两倍的晶振作为外接的參考时钟,例如当芯片的内部时钟的设计频率为32KHz时,可挑选频率为12MHz的晶振作为外接的參考时钟;202、配置芯片的引脚以使芯片的内部时钟从一个预定的1/0 ロ输出;1/0是input/output的缩写,即输入/输出端ロ ;
203、将芯片的ー个GPIO配置为输入模式,并与上述预定的I/O ロ连接;这样芯片的内部时钟I/O ロ的电平翻转将能通过GPIO检测到;GPIO (General Purpose Input Output)是通用输入/输出的简称,姆个 GPIO 端ロ可通过软件分别配置成输入或输出;204、所述芯片执行预定的时钟校准代码;时钟校准代码可预先存储在芯片中,也可以临时下载到芯片中;205、至少二次的计数上述芯片的内部时钟在预定时间段内的翻转电平次数NI以及上述时钟校准代码在上述预定时间段内的执行总拍数N2,得到至少ニ组包括N1、N2的数据;在计数多组数据时,获取每组数据对应的时间段长度可以相同,也可以不同; 206、根据上述至少ニ组包括NI、N2的数据,通过公式Λ =f0_f = fO-fl*Nl/N2计算得到上述芯片的内部时钟的至少ニ个偏差值Λ ;其中,f为上述芯片的内部时钟的实际时钟频率,fO为上述芯片的内部时钟的设计频率fO ;上述公式可分解为公式一 f = fl*Nl/N2和公式ニ Λ =f0_f,其中通过公式一可计算得到芯片的内部时钟的实际时钟频率f,再代入公式ニ与设计频率fO做比较得到偏差值Λ ;每ー组数据中包括ー个NI值和ー个Ν2值,相应的可以求出一个对应的偏差值Δ ;207、计算所述至少ニ个偏差值Λ的平均值;对至少ニ个偏差值Λ求平均值,可以提高偏差值Λ的精确性;在实施过程中,本领域普通技术人员可根据实际情况选择上述至少ニ组包括NI、Ν2的数据的具体的组数;208、记录上述至少ニ个偏差值Λ的平均值作为芯片的内部时钟的校准值。获取校准值之后,芯片可依据校准值对芯片的内部时钟频率进行调整,具体地,SP是使芯片的内部时钟使用的频率为其实际时钟频率加上校准值(f+Λ),则可使芯片的内部时钟使用的频率达到芯片的内部时钟的设计频率f0,本实施例中由于采用多组数据取平均值的手段,可进ー步提高芯片的内部时钟的精确性。系统实施例一本发明提供一种芯片的内部时钟偏差的校准系统,如图3所示,该系统包括晶振20,用于外接与芯片10,以使外接上述晶振20后上述芯片10执行指令的时钟为外接的上述晶振20的时钟;晶振20的频率为预定频率Π ;引脚配置単元30,用于配置上述芯片10的引脚以使上述芯片10的内部时钟从一个预定的I/o ロ输出;GPIO配置单元40,用于将上述芯片10的ー个GPIO配置为输入模式,并与上述预定的I/o ロ连接;执行单元50,用于使所述芯片执行预定的时钟校准代码;计数单元60,用于计数上述芯片10的内部时钟在预定时间段内的翻转电平次数NI,以及计数上述时钟校准代码在上述预定时间段内的执行总拍数N2 ;计算单元70,用于通过公式A=f0-f = fO-fl*Nl/N2计算得到上述芯片10的内部时钟的偏差值Λ ;其中,f为上述芯片10的内部时钟的实际时钟频率,fO为上述芯片10的内部时钟的设计频率;存储单元80,用于记录上述偏差值Δ作为芯片时钟校准值。需要说明的是,在本实施例中,选择频率为预定频率fl的晶振20作为芯片10的參考时钟,进行外接之后,芯片10执行指令的时钟即为外接的晶振20的时钟;当然本实施例中为了实现校准的目的,外接晶振20的精确度须远远高于芯片10内部时钟的精确度。本实施例中,可挑选频率(预定频率fl)大于芯片10的内部时钟的设计频率fO的两倍的晶振20作为外接的參考时钟,例如当芯片10的内部时钟的设计频率为32KHz时,可挑选频率为12MHz的晶振20作为外接的參考时钟。需要说明的是,本实施例中,I/O是input/output的缩写,即输入/输出端ロ ; GPIO (General Purpose Input Output)是通用输入/输出的简称,姆个GPIO端ロ可通过软件分别配置成输入或输出。需要说明的是,本实施例中,时钟校准代码可预先存储在芯片10中,也可以临时下载到芯片10中。需要说明的是,上述预定时间段的长度可根据实际情况进行合适的设置,在此不作具体的限制。需要说明的是,上述计算单元70应用的公式可分解为公式一 f = fl*Nl/N2和公式ニ Λ =fO_f,其中通过公式一可计算得到芯片10的内部时钟的实际时钟频率f,再代入公式ニ与设计频率fO做比较得到偏差值Λ ;获取校准值之后,芯片10可依据校准值对芯片10的内部时钟频率进行调整,具体地,即是使芯片10的内部时钟使用的频率为其实际时钟频率加上校准值(f+Λ ),则可使芯片10的内部时钟使用的频率达到芯片的内部时钟的设计频率fO,确保芯片的内部时钟的精确性。系统实施例ニ 本发明提供一种芯片的内部时钟偏差的校准系统,如图4所示,该系统包括晶振20,用于外接与芯片10,以使外接上述晶振20后上述芯片10执行指令的时钟为外接的上述晶振20的时钟;晶振20的频率为预定频率Π ;引脚配置単元30,用于配置上述芯片10的引脚以使上述芯片10的内部时钟从一个预定的I/o ロ输出;GPIO配置单元40,用于将上述芯片10的ー个GPIO配置为输入模式,并与上述预定的I/o ロ连接;执行单元50,用于使所述芯片10执行预定的时钟校准代码;计数单元60,用于至少二次的计数上述芯片10的内部时钟在预定时间段内的翻转电平次数NI,以及上述时钟校准代码在上述预定时间段内的执行总拍数N2,得到至少ニ组包括NI、N2的数据;上述计算单元70,还用于根据上述至少ニ组包括N1、N2的数据,通过公式Λ =f0-f=fO-fl*Nl/N2分别计算得到上述芯片的内部时钟的至少ニ个偏差值Λ ;平均単元90,用于计算上述至少ニ个偏差值Λ的平均值;存储单元80,用于记录上述平均值作为芯片时钟校准值。需要说明的是,在本实施例中,选择频率为预定频率fl的晶振20作为芯片10的參考时钟,进行外接之后,芯片10执行指令的时钟即为外接的晶振20的时钟;当然本实施例中为了实现校准的目的,外接晶振20的精确度须远远高于芯片10内部时钟的精确度。本实施例中,可挑选频率(预定频率fl)大于芯片10的内部时钟的设计频率fO的两倍的晶振20作为外接的參考时钟,例如当芯片10的内部时钟的设计频率为32KHz时,可挑选频率为12MHz的晶振20作为外接的參考时钟。需要说明的是,本实 施例中,I/O是input/output的缩写,即输入/输出端ロ ;GPIO (General Purpose Input Output)是通用输入/输出的简称,姆个GPIO端ロ可通过软件分别配置成输入或输出。需要说明的是,本实施例中, 时钟校准代码可预先存储在芯片10中,也可以临时下载到芯片10中。需要说明的是,上述预定时间段的长度可根据实际情况进行合适的设置,在此不作具体的限制;需要说明的是,多组数据中每组数据采集的预定时间段的长度可以一致也可以不一致,可根据实际情况进行合适的设置。需要说明的是,上述计算单元70应用的公式可分解为公式一 f = fl*Nl/N2和公式ニ Λ =fO_f,其中通过公式一可计算得到芯片10的内部时钟的实际时钟频率f,再代入公式ニ与设计频率fO做比较得到偏差值Λ ;本实施例中,计数单元60计数多组数据(至少ニ组数据),姆组数据中包括ー个上述芯片10的内部时钟在预定时间段内的翻转电平次数NI以及上述时钟校准代码在上述预定时间段内的执行总拍数Ν2,且,在获得了多组包括Ν1、Ν2的数据之后,可以由计算单元70计算得到多个芯片10的内部时钟的偏差值△,再由平均单元对多个偏差值△求出平均值,然后将这个平均值作为校准值,可进ー步提高校准的精确性和可靠性,降低偶然因素的影响。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于ー计算机可读存储介质中,存储介质可以包括闪存盘、只读存储器(Read-OnlyMemory, ROM)、随机存取器(Random AccessMemory, RAM)、磁盘或光盘等。以上对本发明实施例所提供的芯片的内部时钟偏差的校准方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种芯片的内部时钟偏差的校准方法,其特征在于,包括为所述芯片外接频率为预定频率fl的晶振,以使芯片执行指令的时钟为外接的所述晶振的时钟;配置所述芯片的引脚以使所述芯片的内部时钟从一个预定的I/o ロ输出;将所述芯片的ー个GPIO配置为输入模式,并与所述预定的I/O ロ连接;所述芯片执行预定的时钟校准代码;计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI以及所述时钟校准代码在所述预定时间段内的执行总拍数N2 ;通过公式A=fO_f = fO_fl*Nl/N2计算得到所述芯片的内部时钟的偏差值Λ ;其中,f为所述芯片的内部时钟的实际时钟频率,f0为所述芯片的内部时钟的设计频率f0 ;记录所述偏差值Λ作为芯片的内部时钟的校准值。
2.根据权利要求I所述的方法,其特征在干,所述计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI以及所述时钟校准代码在所述预定时间段内的执行总拍数Ν2包括至少二次的计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI以及所述时钟校准代码在所述预定时间段内的执行总拍数Ν2,得到包括至少ニ组Ν1、Ν2的数据;所述通过公式A=fO_f = fO_fl*Nl/N2计算得到所述芯片的内部时钟的偏差值Λ包括根据所述至少ニ组包括NI、Ν2的数据,通过公式A=fO-f = fO-fl*Nl/N2分别计算得到所述芯片的内部时钟的至少ニ个偏差值Λ ;所述方法还包括计算所述至少ニ个偏差值△的平均值;所述记录所述偏差值△作为芯片的内部时钟的校准值包括记录所述平均值作为芯片的内部时钟的校准值。
3.根据权利要求I或2所述的方法,其特征在于,所述预定频率Π大于所述芯片的内部时钟的设计频率f0的两倍。
4.根据权利要求3所述的方法,其特征在于,所述预定频率Π为12MHz,所述芯片的内部时钟的设计频率f0为32KHz。
5.一种芯片的内部时钟偏差的校准系统,其特征在于,包括晶振,用于外接与所述芯片,以使外接所述晶振后所述芯片执行指令的时钟为外接的所述晶振的时钟;所述晶振的频率为预定频率fl ;引脚配置単元,用于配置所述芯片的引脚以使所述芯片的内部时钟从一个预定的I/oロ输出;GPIO配置単元,用于将所述芯片的ー个GPIO配置为输入模式,并与所述预定的I/O ロ连接;执行单元,用于使所述芯片执行预定的时钟校准代码;计数单元,用于计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI,以及计数所述时钟校准代码在所述预定时间段内的执行总拍数N2 ;计算单元,用于通过公式A=f0-f = fO-fl*Nl/N2计算得到所述芯片的内部时钟的偏差值△;其中,f为所述芯片的内部时钟的实际时钟频率,f0为所述芯片的内部时钟的设计频率;存储单元,用于记录所述偏差值Λ作为芯片时钟校准值。
6.根据权利要求5所述的系统,其特征在干,所述计数単元,还用于至少二次的计数所述芯片的内部时钟在预定时间段内的翻转电平次数NI,以及所述时钟校准代码在所述预定时间段内的执行总拍数Ν2,得到至少ニ组包括Ν1、Ν2的数据;所述计算単元,还用于根据所述至少ニ组包括NI、Ν2的数据,通过公式A=fO-f =fO-fl*Nl/N2分别计算得到所述芯片的内部时钟的至少ニ个偏差值Λ ;所述系统还包括平均単元,用于计算所述至少ニ个偏差值Λ的平均值;所述存储単元,还用于记录所述平均值作为芯片的内部时钟的校准值。
7.根据权利要求5或6所述的方法,其特征在于,所述预定频率Π大于所述芯片的内部时钟的设计频率fO的两倍。
8.根据权利要求7所述的方法,其特征在于,所述预定频率Π为12MHz,所述芯片的内部时钟的设计频率fO为32KHz。
全文摘要
本发明实施例涉及电子技术领域,公开了一种芯片的内部时钟偏差的校准方法。其中,该方法包括为芯片外接晶振;使芯片的内部时钟从一个预定的I/O口输出;将芯片的一个GPIO配置为输入模式,并与所述预定的I/O口连接;芯片执行预定的时钟校准代码;计数芯片的内部时钟在预定时间段内的翻转电平次数N1以及时钟校准代码的执行总拍数N2;通过公式Δ=f0-f=f0-f1*N1/N2计算得到所述芯片的内部时钟的偏差值Δ;记录所述偏差值Δ作为芯片的内部时钟的校准值。本发明同时还公开了一种芯片的内部时钟偏差的校准系统。实施本发明实施例,可对芯片的内部时钟的偏差实现精确地校准,确保芯片的内部时钟的精确性。
文档编号G06F1/04GK102830748SQ20121028468
公开日2012年12月19日 申请日期2012年8月10日 优先权日2012年8月10日
发明者胡家安, 刘尚林, 邹年欢 申请人:深圳芯邦科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1