CN101763028B - 时间校准的方法和装置 - Google Patents
时间校准的方法和装置 Download PDFInfo
- Publication number
- CN101763028B CN101763028B CN 200910244630 CN200910244630A CN101763028B CN 101763028 B CN101763028 B CN 101763028B CN 200910244630 CN200910244630 CN 200910244630 CN 200910244630 A CN200910244630 A CN 200910244630A CN 101763028 B CN101763028 B CN 101763028B
- Authority
- CN
- China
- Prior art keywords
- counter
- clock crystal
- negative edge
- measured clock
- count value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Electric Clocks (AREA)
Abstract
本发明公开了一种时间校准的方法和装置,属于信息安全领域。所述方法包括:接收到标准秒信号后,对高频信号进行计数,接收到被测时钟晶体信号后,对高频信号和被测时钟晶体信号的个数分别计数,根据上述三个计数值计算被测时钟晶体的实际频率,并依此校准被测时钟晶体的时间。所述装置包括:第一中断模块、第一计数模块、第二中断模块、第二计数模块、频率计算模块和时间校准模块。本发明能够在较短时间内准确得到被测时钟晶体的实际频率,为其提供更准确的校准时钟参数,使OTP能够精确计时。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种时间校准的方法和装置。
背景技术
在以时间作为动态因子的OTP(One Time Password,一次性口令)中,时间的精准程度是一个重要的指标。
对于OTP内部频率为32.768KHz的时钟晶体来说,一般要求时间漂移每年不得超过2分钟,即要小于5ppm(Parts Per Million,百万分率)。但由于时钟晶体、芯片、负载电容有一定误差,很难保障时钟晶体的频率保持在预设值,因此,必须对OTP进行校准。
在现在技术中,对时钟晶体进行校准时一般都采用“在定时时间内记录时钟晶体脉冲的个数”的方法。但是采用该方法进行校准精度较低,若想得到高的校准精度,则需要尽可能的延长校准定时时间,例如,若需要校准到2ppm,采样32.768KHz的信号至少需要16秒。综上所述,现有的时间校准方法,在进行高精度校准时,耗时太长,严重影响到了生产效率。
发明内容
为了提高校准精度,缩短校准时间,本发明实施例提供了一种时间校准的方法和装置。所述技术方案如下:
一种时间校准的方法,其特征在于,所述方法包括:
开启标准秒信号下降沿中断;
接收到所述标准秒信号下降沿中断后,第一计数器开始计数;
开启被测时钟晶体信号下降沿中断;
接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数;
根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率;
根据所述实际频率校准所述被测时钟晶体的时间;
其中,所述第一计数器和所述第三计数器用于对高频信号进行计数,所述第二计数器用于对所述被测时钟晶体信号的个数进行计数。
其中,所述开启被测时钟晶体信号下降沿中断之前包括:
再次接收到所述标准秒信号下降沿中断时,所述第一计数器停止计数,并保存所述第一计数器的计数值。
其中,所述接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数包括:
判断是否为第一次接收到被测时钟晶体信号下降沿中断;
若是第一次,则所述第二计数器和所述第三计数器分别开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
若不是第一次,则判断所述第二计数器的计数值是否达到预先设定的值;
若没有达到预先设定的值,将所述第二计数器的计数值加1,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断所述第二计数器的计数值是否达到预先设定的值的步骤;
若达到预先设定的值,所述第三计数器停止计数,并保存所述第三计数器的计数值。
其中,所述根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率包括:
所述第一计数器的计数值除以所述第三计数器的计数值,得到的商再乘以预设的所述被测时钟晶体的标准频率,得到的积为被测时钟晶体的实际频率。
其中,所述接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数包括:
判断是否为第一次接收到被测时钟晶体信号下降沿中断;
若是第一次,则所述第一计数器停止计数,并保存所述第一计数器的计数值,所述第二计数器开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
若不是第一次,将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断;
若没有接收到,则接收所述被测时钟晶体信号下降沿中断,并执行将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断的步骤;
若接收到,则再次接收到所述标准秒信号下降沿中断时,所述第三计数器开始计数。
其中,所述接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数之后包括:
再次接收到所述被测时钟晶体信号下降沿中断时,所述第三计数器停止计数,保存所述第三计数器的计数值,将所述第二计数器的计数值加1,所述第二计数器停止计数,保存所述第二计数器的计数值。
其中,所述根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率包括:
所述第三计数器的计数值减去所述第一计数器的计数值,得到的差值加上预设的标准秒的值,所述第计数器的计数值除以得到的和值,得到的商为被测时钟晶体的实际频率。
一种时间校准的装置,所述装置包括:
第一中断模块,用于开启标准秒信号下降沿中断;
第一计数模块,用于接收到所述标准秒信号下降沿中断后,第一计数器开始计数;其中,所述的第一计数器用于对高频信号进行计数;
第二中断模块,用于开启被测时钟晶体信号下降沿中断;
第二计数模块,用于接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数;其中,所述第二计数器用于对所述被测时钟晶体信号的个数进行计数,所述第三计数器用于对高频信号进行计数;
频率计算模块,用于根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率;
时间校准模块,用于根据所述实际频率校准所述被测时钟晶体的时间。
其中,所述第一计数模块,还用于所述开启被测时钟晶体信号下降沿中断之前,再次接收到所述标准秒信号下降沿中断时,所述第一计数器停止计数,并保存所述第一计数器的计数值。
其中,所述第二计数模块包括:
第一接收判断单元,用于判断是否为第一次接收到被测时钟晶体信号下降沿中断;
第一计数单元,用于若是第一次,则所述第二计数器和所述第三计数器分别开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
计数判断单元,用于若不是第一次,则判断所述第二计数器的计数值是否达到预先设定的值;
第二计数单元,用于若没有达到预先设定的值,将所述第二计数器的计数值加1,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断所述第二计数器的计数值是否达到预先设定的值的步骤;
第一保存单元,用于若达到预先设定的值,所述第三计数器停止计数,并保存所述第三计数器的计数值。
其中,所述频率计算模块具体用于:
所述第一计数器的计数值除以所述第三计数器的计数值,得到的商再乘以预设的所述被测时钟晶体的标准频率,得到的积为被测时钟晶体的实际频率。
其中,所述第二计数模块包括:
第二接收判断单元,用于判断是否为第一次接收到被测时钟晶体信号下降沿中断;
第三计数单元,用于若是第一次,则所述第一计数器停止计数,并保存所述第一计数器的计数值,所述第二计数器开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
再次接收单元,用于若不是第一次,将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断;
第四计数单元,用于若没有接收到,则接收所述被测时钟晶体信号下降沿中断,并执行将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断的步骤;
第五计数单元,用于若接收到,则在再次接收到所述标准秒信号下降沿中断时,所述第三计数器开始计数。
其中,所述第二计数模块还包括第二保存单元,用于接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数之后,再次接收到所述被测时钟晶体信号下降沿中断时,所述第三计数器停止计数,保存所述第三计数器的计数值,将所述第二计数器的计数值加1,所述第二计数器停止计数,保存所述第二计数器的计数值。
其中,所述频率计算模块具体还用于:所述第三计数器的计数值减去所述第一计数器的计数值,得到的差值加上预设的标准秒的值,所述第二计数器的计数值除以得到的和值,得到的商为被测时钟晶体的实际频率。
本发明实施例提供的技术方案带来的有益效果是:通过接收到标准秒信号后,对高频信号进行计数,接收到被测时钟晶体信号后,对高频信号和被测时钟晶体信号的个数分别计数,根据上述三个计数值计算被测时钟晶体的实际频率,并依此校准被测时钟晶体的时间,能够在较短时间内准确得到被测时钟晶体的实际频率,为其提供更准确的校准时钟参数,使OTP能够精确计时。
附图说明
图1是本发明实施例1提供的时间校准的方法流程图;
图2是本发明实施例2提供的一种时间校准的方法示意图;
图3是本发明实施例2提供的一种时间校准的方法流程图;
图4是本发明实施例3提供的另一种时间校准的方法示意图;
图5是本发明实施例3提供的另一种时间校准的方法流程图;
图6是本发明实施例4提供的时间校准的装置结构示意图;
图7是本发明实施例4提供的第二计数模块结构示意图;
图8是本发明实施例4提供的第二计数模块的另一结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例提供了一种时间校准的方法,包括:
步骤11:开启标准秒信号下降沿中断;
步骤12:接收到标准秒信号下降沿中断后,第一计数器开始计数;
步骤13:开启被测时钟晶体信号下降沿中断;
步骤14:接收到被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数;
步骤15:根据第一计数器、第二计数器和第三计数器的计数值,计算被测时钟晶体的实际频率;
步骤16:根据实际频率校准被测时钟晶体的时间;
其中,所述第一计数器和所述第三计数器用于对高频信号进行计数,所述第二计数器用于对所述被测时钟晶体信号的个数进行计数。
本实施例提供的方法,相对于“在定时时间内记录时钟晶体脉冲的个数”的校准方法,能够在较短时间内准确得到被测时钟晶体的实际频率,为其提供更准确的校准时钟参数,使OTP能够精确计时。
下面结合两个具体实施例,详细叙述时间校准的实现过程。
实施例2
本实施例提供了一种时间校准方法,具体用于校准OTP内部的时钟晶体。本实施例提供的时间校准方法中除了含有标准秒信号和被测时钟晶体信号外,还引入一个高频信号,其中高频信号可以是系统时钟信号,也可以是外部时钟信号,在本实施例中以高频信号为系统时钟信号为例进行说明,参见图2和图3,具体实现步骤如下:
步骤101:单片机与OTP建立连接;
步骤102:单片机通过接收GPS(Global Positioning System,全球定位系统)获取卫星信号得到标准秒信号,其中卫星信号即为标准秒信号;
步骤103:单片机开启“标准秒信号下降沿”中断;
步骤104:接收到“标准秒信号下降沿”中断后,对系统时钟信号进行计数的第一计数器开始计数,初始值为0;
在本实施例中,自定义系统时钟信号的频率为100MHZ,进一步地,为了尽可能的提高时间校准的精度,还可以将系统时钟信号设定为更高频率,如200MHZ、300MHZ等等。
步骤105:再次接收到“标准秒信号下降沿”中断时,第一计数器停止计数,并保存计数值X;
其中,再次接收到“标准秒信号下降沿”中断时,标准秒具体为Y秒,在本实施例步骤105中,自定义当标准秒信号的第二个下降沿来时,则再次接收到“标准秒信号下降沿”中断,标准秒具体为2秒,进一步地,为了尽可能的提高时间校准的精度,还可以尽可能的延长标准秒Y,使Y秒具体为4秒、10秒等等。
步骤106:单片机开启“被测时钟晶体信号下降沿”中断;
在本实施例中,被测时钟晶体信号的频率约为32.768KHZ。
步骤107:接收到“被测时钟晶体信号下降沿”中断后,判断是否为第一次接收到该中断,若是,则执行步骤108,若否,则执行步骤109;
步骤108:第二计数器开始计数,计数初始值为0,并且对系统时钟信号进行计数的第三计数器同时也开始计数,初始值也为0,然后继续接收“被测时钟晶体信号下降沿”中断,执行步骤107;
其中,第二计数器用于对被测时钟晶体信号的个数进行计数;
其中,步骤108中的系统时钟信号的频率与步骤104中的系统时钟信号的频率相同,即均为100MHZ。
步骤109:判断第二计数器的计数值是否达到了预先设定的值,若否,则执行步骤110,若是,则执行步骤111;
在本实施例中,预先设定的值为Y秒除以1/32.768KHZ,具体为2秒除以1/32.768KHZ,即预先设定的值为65536。
步骤110:将第二计数器的计数值加1,并继续接收“被测时钟晶体信号下降沿”中断,然后执行步骤109;
步骤111:第三计数器停止计数,并保存第三计数器的计数值M;
步骤112:利用保存的第一计数器的计数值X和第三计数器的计数值M来计算被测时钟晶体信号的实际频率。
在本实施例中,计算被测时钟晶体信号的实际频率的方法具体为:
被测时钟晶体信号的实际频率=32768*X/M(HZ)
则相应地,得到的精度为:
步骤113:根据被测时钟晶体信号的实际频率校准被测时钟晶体的时间。
其中,校准过程具体为:
当M<X时,则表明实际频率比标准频率大,此时需要对被测时钟晶体进行校准,若本实施例中此时被测时钟晶体信号的实际频率为32768.128HZ,标准频率为32768HZ,则在经过1000s之后,被测时钟晶体实际振动次数比标准的32768次多出了128次,而每一次的标准振动时间为1/32768s,因此在1000s内被测时钟晶体比标准的多走了128/32768s,所以在经过256000s之后,被测时钟晶体比标准时间多走了1s,因此,只需要在256000s之后将被测时钟晶体的当前时间减去1s,则达到了校准被测时钟晶体的目的;
当M>X时,则表示实际频率比标准频率小,此时也需要对被测时钟晶体进行校准,若本实施例中此时被测时钟晶体信号的实际频率为32767.936HZ,标准频率为32768HZ,则在经过1000s之后,被测时钟晶体实际振动次数比标准的32768次少了64次,而每一次的标准振动时间为1/32768s,因此在1000s内被测时钟晶体比标准的少走了64/32768s,所以在经过512000s之后,被测时钟晶体比标准时间少走了1s,因此,只需要在512000s之后将被测时钟晶体的当前时间加上1s,则达到了校准被测时钟晶体的目的。
进一步的,步骤102到步骤105与步骤106到步骤111可以同时进行,即第一计数器在计2秒的标准时间内系统时钟信号的个数的同时,第三计数器也在计65536个频率为32.768的被测时钟晶体信号的脉冲内系统时钟信号的个数。
本实施例提供的方法,相对于“在定时时间内记录时钟晶体脉冲的个数”的校准方法,能够在较短时间内准确得到被测时钟晶体的实际频率,为其提供更准确的校准时钟参数,使OTP能够精确计时。
实施例3
本实施例提供了另一种时间校准方法,具体用于校准OTP内部的时钟晶体,在本实施例中除了含有标准秒信号和被测时钟晶体信号外,还引入一个高频信号,其中高频信号可以是系统时钟信号,也可以是外部时钟信号,在本实施例中以高频信号为外部时钟信号为例进行说明,参见图4和图5,具体实现步骤如下:
步骤201:单片机与OTP建立连接;
步骤202:单片机通过接收GPS获取卫星信号得到标准秒信号,其中卫星信号即为标准秒信号;
步骤203:单片机开启“标准秒信号下降沿”中断;
步骤204:接收到“标准秒信号下降沿”中断后,对外部时钟信号进行计数的第一计数器开始计数,初始值为0;
在本实施例中,自定义接收到“标准秒信号下降沿”中断时也就是标准秒信号的第一个下降沿来到时,并且自定义外部时钟信号的频率为100MHZ,进一步地,为了尽可能的提高时间校准的精度,还可以自定义外部时钟信号的频率为200MHZ、300MHZ等等。
步骤205:单片机开启“被测时钟晶体信号下降沿”中断;
在本实施例中,被测时钟晶体信号的频率约为32.768KHZ。
步骤206:接收到“被测时钟晶体信号下降沿”中断后,判断是否为第一次接收到该中断,若是,则执行步骤207,若否,则执行步骤208;
步骤207:第一计数器停止计数,保存计数值t1,同时第二计数器开始计数,计数初始值为0;
在本实施例中,第二计数器用于对被测时钟晶体信号的个数进行计数;
步骤208:将第二计数器的计数值加1,并判断在接收到下个“被测时钟晶体信号下降沿”中断之前,是否再次接收到“标准秒信号下降沿”中断,若否,执行步骤209,若是,执行步骤210;
步骤209:接收“被测时钟晶体信号下降沿”中断,执行步骤208;
步骤210:在再次接收到“标准秒信号下降沿”中断时,对外部时钟信号进行计数的第三计数器开始计数,初始值为0;
其中,再次接收到“标准秒信号下降沿”中断时,标准秒具体为Y秒,在本实施例步骤210中,自定义当标准秒信号的第二个下降沿来到时,则再次接收到“标准秒信号下降沿”中断,标准秒具体为2秒,进一步地,为了尽可能的提高时间校准的精度,还可以延长标准秒Y,使Y秒具体为4秒、10秒等等;
并且,步骤210中的外部时钟信号的频率与步骤204中的外部时钟信号的频率相同,即均为100MHZ。
步骤211:再次接收到“被测时钟晶体信号下降沿”中断时,第三计数器停止计数,保存计数值t2,并将第二计数器的计数值加1,同时第二计数器也停止计数,保存计数值N,清除“被测时钟晶体信号下降沿”中断标志;
步骤212:利用保存的第一计数器的计数值t1、第二计数器的计数值N和第三计数器的计数值t2来计算被测时钟晶体信号的实际频率。
在本实施例中,N个“被测时钟晶体信号”的实际时间=2S+(t2--t1)*0.01us
计算被测时钟晶体信号的实际频率的方法具体为:
则相应地,得到的精度为:
步骤213:根据被测时钟晶体信号的实际频率校准被测时钟晶体。
其中,校准过程具体为:
当t2<t1时,则表明实际频率比标准频率大,此时需要对被测时钟晶体进行校准,若本实施例中此时被测时钟晶体信号的实际频率为32768.128HZ,标准频率为32768HZ,则在经过1000s之后,被测时钟晶体实际振动次数比标准的32768次多出了128次,而每一次的标准振动时间为1/32768s,因此在1000s内被测时钟晶体比标准的多走了128/32768s,所以在经过256000s之后,被测时钟晶体比标准时间多走了1s,因此,只需要在256000s之后将被测时钟晶体的当前时间减去1s,则达到了校准被测时钟晶体的目的;
当t2>t1时,则表示实际频率比标准频率小,此时也需要对被测时钟晶体进行校准,若本实施例中此时被测时钟晶体信号的实际频率为32767.936HZ,标准频率为32768HZ,则在经过1000s之后,被测时钟晶体实际振动次数比标准的32768次少了64次,而每一次的标准振动时间为1/32768s,因此在1000s内被测时钟晶体比标准的少走了64/32768s,所以在经过512000s之后,被测时钟晶体比标准时间少走了1s,因此,只需要在512000s之后将被测时钟晶体的当前时间加上1s,则达到了校准被测时钟晶体的目的。
本实施例提供的方法,相对于“在定时时间内记录时钟晶体脉冲的个数”的校准方法,能够在较短时间内准确得到被测时钟晶体的实际频率,为其提供更准确的校准时钟参数,使OTP能够精确计时。
实施例4
参见图6,本实施例提供了一种时间校准的装置,包括:
第一中断模块301,用于开启标准秒信号下降沿中断;
第一计数模块302,用于接收到标准秒信号下降沿中断后,第一计数器开始计数;其中,第一计数器用于对高频信号进行计数;
第二中断模块303,用于开启被测时钟晶体信号下降沿中断;
第二计数模块304,用于接收到被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数;其中,第二计数器用于对被测时钟晶体信号的个数进行计数,第三计数器用于对高频信号进行计数;
频率计算模块305,用于根据第一计数器、第二计数器和第三计数器的计数值,计算被测时钟晶体的实际频率;
时间校准模块306,用于根据实际频率校准被测时钟晶体的时间。
一方面,第一计数模块302,还用于开启被测时钟晶体信号下降沿中断之前,再次接收到标准秒信号下降沿中断时,第一计数器停止计数,并保存第一计数器的计数值。
相应的,参见图7,第二计数模块304包括:
第一接收判断单元304a,用于判断是否为第一次接收到被测时钟晶体信号下降沿中断;
第一计数单元304b,用于若是第一次接收到被测时钟晶体信号下降沿中断,则第二计数器和第三计数器分别开始计数,再次接收被测时钟晶体信号下降沿中断,并执行判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
计数判断单元304c,用于若不是第一次接收到被测时钟晶体信号下降沿中断,则判断第二计数器的计数值是否达到预先设定的值;
第二计数单元304d,用于若没有达到预先设定的值,将第二计数器的计数值加1,再次接收被测时钟晶体信号下降沿中断,并执行判断第二计数器的计数值是否达到预先设定的值的步骤;
第一保存单元304e,用于若达到预先设定的值,第三计数器停止计数,并保存第三计数器的计数值。
相应的,频率计算模块305具体用于:
第一计数器的计数值除以第三计数器的计数值,得到的商再乘以预设的被测时钟晶体的标准频率,得到的积为被测时钟晶体的实际频率。
另一方面,相应的,参见图8,第二计数模块304还包括:
第二接收判断单元304f,用于判断是否为第一次接收到被测时钟晶体信号下降沿中断;
第三计数单元304g,用于若是第一次接收到被测时钟晶体信号下降沿中断,则第一计数器停止计数,并保存第一计数器的计数值,第二计数器开始计数,再次接收被测时钟晶体信号下降沿中断,并执行判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
再次接收单元304h,用于若不是第一次接收到被测时钟晶体信号下降沿中断,将第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到标准秒信号下降沿中断;
第四计数单元304i,用于若没有再次接收到标准秒信号下降沿中断,则接收被测时钟晶体信号下降沿中断,并执行将第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到标准秒信号下降沿中断的步骤;
第五计数单元304j,用于若再次接收到标准秒信号下降沿中断,则在再次接收到标准秒信号下降沿中断时,第三计数器开始计数。
第二保存单元304k,用于接收到被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数之后,再次接收到被测时钟晶体信号下降沿中断时,第三计数器停止计数,保存第三计数器的计数值,将第二计数器的计数值加1,第二计数器停止计数,保存第二计数器的计数值。
相应的,频率计算模块305具体还用于:第三计数器的计数值减去第一计数器的计数值,得到的差值再加上预设的标准秒的值,再用第二计数器的计数值除以得到的和值,得到的商为被测时钟晶体的实际频率。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供的装置,能够在较短时间内准确得到被测时钟晶体的实际频率,为其提供更准确的校准时钟参数,使OTP能够精确计时。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种时间校准的方法,其特征在于,所述方法包括:
开启标准秒信号下降沿中断;
接收到所述标准秒信号下降沿中断后,第一计数器开始计数;
开启被测时钟晶体信号下降沿中断;
接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数;
根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率;
根据所述实际频率校准所述被测时钟晶体的时间;
其中,所述第一计数器和所述第三计数器用于对高频信号进行计数,所述第二计数器用于对所述被测时钟晶体信号的个数进行计数。
2.如权利要求1所述的时间校准的方法,其特征在于,所述开启被测时钟晶体信号下降沿中断之前包括:
再次接收到所述标准秒信号下降沿中断时,所述第一计数器停止计数,并保存所述第一计数器的计数值。
3.如权利要求2所述的时间校准的方法,其特征在于,所述接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数包括:
判断是否为第一次接收到被测时钟晶体信号下降沿中断;
若是第一次,则所述第二计数器和所述第三计数器分别开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
若不是第一次,则判断所述第二计数器的计数值是否达到预先设定的值;
若没有达到预先设定的值,将所述第二计数器的计数值加1,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断所述第二计数器的计数值是否达到预先设定的值的步骤;
若达到预先设定的值,所述第三计数器停止计数,并保存所述第三计数器的计数值。
4.如权利要求3所述的时间校准的方法,其特征在于,所述根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率包括:
所述第一计数器的计数值除以所述第三计数器的计数值,得到的商再乘以预设的所述被测时钟晶体的标准频率,得到的积为被测时钟晶体的实际频率。
5.如权利要求1所述的时间校准的方法,其特征在于,所述接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数包括:
判断是否为第一次接收到被测时钟晶体信号下降沿中断;
若是第一次,则所述第一计数器停止计数,并保存所述第一计数器的计数值,所述第二计数器开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
若不是第一次,将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断;
若没有接收到,则接收所述被测时钟晶体信号下降沿中断,并执行将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断的步骤;
若接收到,则在再次接收到所述标准秒信号下降沿中断时,所述第三计数器开始计数。
6.如权利要求5所述的时间校准的方法,其特征在于,所述接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数之后包括:
再次接收到所述被测时钟晶体信号下降沿中断时,所述第三计数器停止计数,保存所述第三计数器的计数值,将所述第二计数器的计数值加1,所述第二计数器停止计数,保存所述第二计数器的计数值。
7.如权利要求6所述的时间校准的方法,其特征在于,所述根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率包括:
所述第三计数器的计数值减去所述第一计数器的计数值,得到的差值加上预设的标准秒的值,所述第二计数器的计数值除以得到的和值,得到的商为被测时钟晶体的实际频率。
8.一种时间校准的装置,其特征在于,所述装置包括:
第一中断模块,用于开启标准秒信号下降沿中断;
第一计数模块,用于接收到所述标准秒信号下降沿中断后,第一计数器开始计数;其中,所述的第一计数器用于对高频信号进行计数;
第二中断模块,用于开启被测时钟晶体信号下降沿中断;
第二计数模块,用于接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数;其中,所述第二计数器用于对所述被测时钟晶体信号的个数进行计数,所述第三计数器用于对高频信号进行计数;
频率计算模块,用于根据所述第一计数器、所述第二计数器和所述第三计数器的计数值,计算被测时钟晶体的实际频率;
时间校准模块,用于根据所述实际频率校准所述被测时钟晶体的时间。
9.如权利要求8所述的时间校准的装置,其特征在于,所述第一计数模块,还用于所述开启被测时钟晶体信号下降沿中断之前,再次接收到所述标准秒信号下降沿中断时,所述第一计数器停止计数,并保存所述第一计数器的计数值。
10.如权利要求9所述的时间校准的装置,其特征在于,所述第二计数模块包括:
第一接收判断单元,用于判断是否为第一次接收到被测时钟晶体信号下降沿中断;
第一计数单元,用于若是第一次,则所述第二计数器和所述第三计数器分别开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
计数判断单元,用于若不是第一次,则判断所述第二计数器的计数值是否达到预先设定的值;
第二计数单元,用于若没有达到预先设定的值,将所述第二计数器的计数值加1,再次接收所述被测时钟晶体信号下降沿中断,并执行所述判断所述第二计数器的计数值是否达到预先设定的值的步骤;
第一保存单元,用于若达到预先设定的值,所述第三计数器停止计数,并保存所述第三计数器的计数值。
11.如权利要求10所述的时间校准的装置,其特征在于,所述频率计算模块具体用于:
所述第一计数器的计数值除以所述第三计数器的计数值,得到的商再乘以预设的所述被测时钟晶体的标准频率,得到的积为被测时钟晶体的实际频率。
12.如权利要求8所述的时间校准的装置,其特征在于,所述第二计数模块包括:
第二接收判断单元,用于判断是否为第一次接收到被测时钟晶体信号下降沿中断;
第三计数单元,用于若是第一次,则所述第一计数器停止计数,并保存所述第一计数器的计数值,所述第二计数器开始计数,再次接收所述被测时钟晶体信号下降沿中断,并执行判断是否为第一次接收到被测时钟晶体信号下降沿中断的步骤;
再次接收单元,用于若不是第一次,将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断;
第四计数单元,用于若没有接收到,则接收所述被测时钟晶体信号下降沿中断,并执行将所述第二计数器的计数值加1,判断在接收到下个被测时钟晶体信号下降沿中断之前,是否再次接收到所述标准秒信号下降沿中断的步骤;
第五计数单元,用于若接收到,则在再次接收到所述标准秒信号下降沿中断时,所述第三计数器开始计数。
13.如权利要求12所述的时间校准的装置,其特征在于,所述第二计数模块还包括第二保存单元,用于接收到所述被测时钟晶体信号下降沿中断后,第二计数器和第三计数器分别开始计数之后,再次接收到所述被测时钟晶体信号下降沿中断时,所述第三计数器停止计数,保存所述第三计数器的计数值,将所述第二计数器的计数值加1,所述第二计数器停止计数,保存所述第二计数器的计数值。
14.如权利要求13所述的时间校准的装置,其特征在于,所述频率计算模块具体还用于:所述第三计数器的计数值减去所述第一计数器的计数值,得到的差值加上预设的标准秒的值,所述第二计数器的计数值除以得到的和值,得到的商为被测时钟晶体的实际频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910244630 CN101763028B (zh) | 2009-12-31 | 2009-12-31 | 时间校准的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910244630 CN101763028B (zh) | 2009-12-31 | 2009-12-31 | 时间校准的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101763028A CN101763028A (zh) | 2010-06-30 |
CN101763028B true CN101763028B (zh) | 2011-05-18 |
Family
ID=42494239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910244630 Active CN101763028B (zh) | 2009-12-31 | 2009-12-31 | 时间校准的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101763028B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323742B (zh) * | 2011-04-19 | 2014-03-26 | 上海众人网络安全技术有限公司 | 一种用于动态密码令牌时钟校准系统及方法 |
CN102868529B (zh) * | 2012-08-31 | 2014-12-10 | 飞天诚信科技股份有限公司 | 一种认证及校准时间的方法 |
CN103853081B (zh) * | 2012-12-06 | 2018-01-30 | 海尔集团公司 | Mcu内部时钟校准系统及方法及印刷电路板 |
CN103235502B (zh) * | 2013-04-26 | 2015-12-09 | 东莞丝丽雅电子科技有限公司 | 利用短距离无线通信接口进行自动对时的计时装置和系统 |
CN104375004A (zh) * | 2013-08-14 | 2015-02-25 | 苏州海博智能系统有限公司 | 一种测量晶振频率误差的方法及系统 |
CN104796978A (zh) * | 2014-01-18 | 2015-07-22 | 交通运输部科学研究院 | 一种无线传感器网络节点时基同步批量校准方法 |
CN106383436B (zh) * | 2015-07-29 | 2019-01-29 | 旺宏电子股份有限公司 | 计时装置及计时方法 |
EP3454089A1 (en) * | 2017-09-08 | 2019-03-13 | Geosatis SA | Geolocalization system with spoofing detection |
CN109597297B (zh) * | 2018-12-11 | 2020-09-08 | 烟台持久钟表有限公司 | 一种晶振补偿方法及装置 |
CN111443587B (zh) * | 2020-04-16 | 2021-09-07 | 珠海泰芯半导体有限公司 | 一种外部时钟校准方法及系统 |
CN115328267A (zh) * | 2022-07-15 | 2022-11-11 | 无锡芯领域微电子有限公司 | 一种基于片上时钟比较的动态时钟调节方法及装置 |
-
2009
- 2009-12-31 CN CN 200910244630 patent/CN101763028B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101763028A (zh) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763028B (zh) | 时间校准的方法和装置 | |
CN111443587B (zh) | 一种外部时钟校准方法及系统 | |
CN102176112B (zh) | Mcu内置rtc实现时钟精确计时的方法 | |
CN102830748B (zh) | 芯片的内部时钟偏差的校准方法及系统 | |
CN103176400B (zh) | 智能电表时钟校准方法 | |
CN106597096B (zh) | 一种时钟频率监测方法 | |
CN105281776B (zh) | 一种可纠错的曼彻斯特解码装置及其方法 | |
CN103427793B (zh) | 基于温度补偿的对时守时系统及方法 | |
CN108063617A (zh) | 一种低频rc振荡器的时钟频率校准方法和系统 | |
CN104154987B (zh) | 一种振弦式传感器测读仪 | |
CN102012671A (zh) | 一种简约多模式的高稳卫星时钟装置 | |
CN106707736A (zh) | 一种汽车仪表时钟精度测量方法和装置 | |
CN109407498A (zh) | 一种电能表时钟测试方法及电能表时钟测试装置 | |
CN201708809U (zh) | 一种ieee1588时间测试分析仪 | |
CN101634595B (zh) | 一种高精度铂电阻测温系统及基于该系统的测温方法 | |
CN108170630A (zh) | 一种串口通信波特率自适应方法、系统及设备 | |
CN104407510A (zh) | 一种授时的方法和装置 | |
CN107014419A (zh) | 基于fpga+sopc的石英振梁谐振式传感器测试系统 | |
CN105391448B (zh) | 一种实时检测差分时钟频率正确性的方法 | |
CN109004932A (zh) | 一种实时检测差分时钟频率正确性的方法 | |
CN101943885A (zh) | 智能电表中对soc内部rtc计时精度的修正方法 | |
CN101252357B (zh) | 参数校正方法 | |
CN106375055B (zh) | 一种网络设备时钟偏差测量方法及测量设备 | |
CN109597457B (zh) | 一种基于可编程逻辑器件的时钟检测方法和装置 | |
CN114167942B (zh) | 芯片内部时钟频率校准方法,计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: FEITIAN CHENGXIN TECHNOLOGY CO., LTD. Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD. |
|
CP03 | Change of name, title or address |
Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer Patentee after: Feitian Technologies Co., Ltd. Address before: 100191, Haidian District, Xueyuan Road, Beijing No. 40 research, 7A building, 5 floor Patentee before: Beijing Feitian Chengxin Science & Technology Co., Ltd. |