CN105978555A - 具有温度补偿的实时时钟计时精度修正电路及方法 - Google Patents

具有温度补偿的实时时钟计时精度修正电路及方法 Download PDF

Info

Publication number
CN105978555A
CN105978555A CN201610516719.XA CN201610516719A CN105978555A CN 105978555 A CN105978555 A CN 105978555A CN 201610516719 A CN201610516719 A CN 201610516719A CN 105978555 A CN105978555 A CN 105978555A
Authority
CN
China
Prior art keywords
value
temperature
crystal oscillator
real
compensation
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.)
Pending
Application number
CN201610516719.XA
Other languages
English (en)
Inventor
吕超英
赵海
梅平
徐佰新
华纯
周进
赵健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi China Resources Semico Co Ltd
Original Assignee
Wuxi China Resources Semico Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi China Resources Semico Co Ltd filed Critical Wuxi China Resources Semico Co Ltd
Priority to CN201610516719.XA priority Critical patent/CN105978555A/zh
Publication of CN105978555A publication Critical patent/CN105978555A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L1/00Stabilisation of generator output against variations of physical values, e.g. power supply
    • H03L1/02Stabilisation of generator output against variations of physical values, e.g. power supply against variations of temperature only
    • H03L1/022Stabilisation of generator output against variations of physical values, e.g. power supply against variations of temperature only by indirect stabilisation, i.e. by generating an electrical correction signal which is a function of the temperature
    • H03L1/026Stabilisation of generator output against variations of physical values, e.g. power supply against variations of temperature only by indirect stabilisation, i.e. by generating an electrical correction signal which is a function of the temperature by using a memory for digitally storing correction values

Landscapes

  • Electric Clocks (AREA)
  • Oscillators With Electromechanical Resonators (AREA)

Abstract

本发明涉及一种具有温度补偿的实时时钟计时精度修正电路及方法,其中电路包括温度检测模块、精度误差计算模块、补偿值计算模块和脉冲计算模块,所述的温度检测模块的输出端与精度误差计算模块的输入端相连接,所述的补偿值计算模块的输入端与精度误差计算模块的输出端相连接,所述的脉冲计算模块的输入端与所述的补偿值计算模块的输出端相连接,所述的脉冲计算模块的输出端与时钟计数器相连接。采用该种结构的具有温度补偿的实时时钟计时精度修正电路及方法,直接得到精准的脉冲,无需大量存储数据和求平均工作,节省内存,降低温度对计时准确性的影响,提高计时准确性,整个修正过程全部由硬件实现,无需软件实时操作,具有更广泛的应用范围。

Description

具有温度补偿的实时时钟计时精度修正电路及方法
技术领域
本发明涉及时钟电路技术领域,尤其涉及时钟电路温度补偿技术领域,具体是指一种具有温度补偿的实时时钟计时精度修正电路及方法。
背景技术
基于可穿戴SOC(System on Chip,***级芯片)的RTC(Real-Time Clock,实时时钟)需要满足在宽温范围内进行准确计时的要求。准确计时取决于几个重要的参数,包括初始精度(指器件在常规条件下,最初使用的精度)和温度系数(估算温度变化造成的误差)。
其中,初始精度主要受晶振质量的影响,精度越高价格也越贵,通常比较经济的方法是根据具体的实际对晶振的初始频率进行简单的补偿。时钟芯片正常工作温度是25摄氏度左右,由于不同时间和季节的温度变化,使得芯片存在一定误差,时间的补偿其本质为晶振的频率补偿。温度与晶振的频率存在如图1所示的关系。
为了消除不同参数对计时准确性的影响,珠海中慧微电子有限公司采取了周期性的计时准确度修正法。具体方法参见申请公布号CN101943885。
现有技术是将RTC芯片送出来的脉冲信号,用32768Hz的外部晶振进行计数。存储每分钟的脉冲计数个数误差进行平均,得到OSC_freq_A,每小时的秒脉计数个数误差进行平均,得到OSC_freq_B。将OSC_freq_A和OSC_freq_B两个参数,送入RTC芯片,来校正RTC芯片送出来的脉冲。其实就是为了得到一个均匀的脉冲。这种方法需要大量的缓存,而且占用MCU。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种具有温度补偿的实时时钟计时精度修正电路,能够实现直接得到精准的脉冲,无需大量存储数据和求平均工作,节省内存,降低温度对计时准确性的影响,提高计时准确性,整个修正过程全部由硬件实现,无需软件实时操作。
为了实现上述目的,本发明具有如下构成:
该具有温度补偿的实时时钟计时精度修正电路,其主要特点是,所述的电路包括温度检测模块、精度误差计算模块、补偿值计算模块和脉冲计算模块,所述的温度检测模块的输出端与精度误差计算模块的输入端相连接,所述的补偿值计算模块的输入端与精度误差计算模块的输出端相连接,所述的脉冲计算模块的输入端与所述的补偿值计算模块的输出端相连接;其中:
温度检测模块,用以检测当前温度值;
精度误差计算模块,用以根据所述当前温度和***预设温度-晶振误差曲线计算得到当前晶振误差值;
补偿值计算模块,用以根据所述当前晶振误差值和晶振标准工作频率值计算得到当前脉冲补偿值;
脉冲计算模块,用以对所述脉冲补偿值的小数部分进行累加得到累加值,在各个***预设脉冲补偿周期,如果所述累加值的整数部分大于0则对时钟计数器进行脉冲补偿且将所述累加值的整数部分清零,如果所述累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
较佳地,所述的***预设温度-晶振误差曲线烧写在精度误差计算模块中。
较佳地,所述的***预设温度-晶振误差曲线为烧写在精度误差计算模块中且满足如下公式的曲线:
y = la 3 &CenterDot; ( x - T 0 ) 3 + la 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , x < l o w _ t e m p ma 3 &CenterDot; ( x - T 0 ) 3 + ma 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , l o w _ t e m p &le; x &le; h i g h _ t e m p ra 3 &CenterDot; ( x - T 0 ) 3 + ra 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , x > h i g h _ t e m p
其中,low_temp为***已知的温度低限值,high_temp为***已知的温度高限值,la3,la2为***已知的在温度小于low_temp时的晶振误差系数,ma3,ma2为***已知的在温度介于low_temp和high_temp之间时的晶振误差系数,ra3,ra2为***已知的在温度高于high_temp时的晶振误差系数,offset为室温下测量的偏差值,T0为室温,x为当前温度值,y为当前晶振误差值。
较佳地,所述的精度误差计算模块包括第一乘法器和第一运算控制器,所述的第一运算控制器控制所述的第一乘法器根据所述当前温度和***预设温度-晶振误差曲线计算得到所述当前晶振误差值。
较佳地,所述的精度误差计算模块包括第一加法器和第一运算控制器,所述的第一运算控制器控制所述的第一加法器根据所述当前温度和***预设温度-晶振误差曲线计算得到所述当前晶振误差值。
较佳地,所述的补偿值计算模块根据如下公式计算得到所述当前补偿值:
c o m p _ v a l u e = C r y s t a l E r r o r &times; f 0 10 6
其中,comp_value为当前补偿值,CrystalError为当前晶振误差,f0为晶振标准工作频率值。
较佳地,所述的补偿值计算模块包括第二乘法器、移位寄存器和第二运算控制器,所述的第二运算控制器控制所述的第二乘法器和移位寄存器根据所述当前晶振误差值和晶振标准工作频率值计算得到所述当前脉冲补偿值。
较佳地,所述的脉冲计算模块包括:
计数器,用以对时钟脉冲进行计数并于计数值达到***预设补偿间隔值时重新计数,所述的***预设脉冲补偿周期为每秒,所述的***预设补偿间隔值为2m-n,其中2m为晶振标准工作频率值,且m≥n;
第二加法器,用以累加当前补偿值的小数部分得到累加值,在各个***预设脉冲补偿时刻,如果累加值的整数部分大于0则将累加值的整数部分清零;
脉冲补偿单元,用以在各个***预设脉冲补偿时刻,如果累加值的整数部分大于0则对时钟计数器进行脉冲补偿,如果累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
较佳地,所述的晶振标准工作频率值为数值32768,***预设每脉冲补偿个数为数值32,所述的***预设补偿间隔为数值1024。
较佳地,当脉冲计算模块的累加值的整数部分大于1,如果当前晶振误差值为正值,则所述的脉冲计算模块控制时钟计数器的输出减一个脉冲信号;如果当前晶振误差值为负值,则所述的脉冲调整信号控制时钟计数器的输出加一个脉冲信号。
本发明还涉及一种基于所述的电路的具有温度补偿的实时时钟计时精度修正方法,其主要特点是,所述的方法包括以下步骤:
(1)将待修正的晶振应用至所述的具有温度补偿的实时时钟计时精度修正电路中;
(2)将所述的电路中的晶振的***预设温度-晶振误差曲线烧写至精度误差计算模块中;
(3)获取温度检测模块的温度值并采用精度误差计算模块计算当前晶振误差值;
(4)采用补偿值计算模块计算得到脉冲补偿值;
(5)采用脉冲计算模块对脉冲补偿值的小数部分进行累加得到累加值,在各个***预设脉冲补偿周期,如果累加值的整数部分大于0则对时钟计数器进行脉冲补偿且将累加值的整数部分清零,如果累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
较佳地,所述的步骤(1),包括以下步骤:
(1-1)筛选出合适的晶振,要求筛选出的晶振开口一致,且温度-晶振误差曲线中的系数误差在预设范围内;
(1-2)将筛选出的晶振应用至所述的具有温度补偿的实时时钟计时精度修正电路中;
(1-3)对所述的电路中的晶振的温度-晶振误差曲线进行拟合;
(1-4)测量所述的电路中的晶振在室温下的晶振误差值;
(1-5)结合拟合得到的温度-晶振误差曲线和室温下的晶振误差值得到***预设温度-晶振误差曲线。
较佳地,所述的步骤(5),包括以下步骤:
(5-1)选择***预设脉冲补偿周期为秒并烧写至脉冲计算模块;
(5-2)采用脉冲计算模块对脉冲补偿值的小数部分进行累加得到累加值;
(5-3)判断当前时刻是否达到***预设脉冲补偿周期,如果是,则继续步骤(5-4),否则继续步骤(5-2);
(5-4)判断累加值的整数部分是否大于0,如果是,则继续步骤(5-5),否则继续步骤(5-6);
(5-5)对时钟计数器进行脉冲补偿且将累加值的整数部分清零,然后继续步骤(5-2);
(5-6)不对时钟计数器进行脉冲补偿,然后继续步骤(5-2)。
更佳地,所述的脉冲计算模块包括计数器、第二加法器和脉冲补偿单元,所述的第二加法器对脉冲补偿值的小数部分进行累加得到累加值,所述的计数器对时钟脉冲进行计数,所述的脉冲补偿单元根据加法器的累加值和计数器的计数值进行脉冲补偿,所述的步骤(5-3),具体为:
判断计数器的计数值是否达到2m-n,如果是,则继续步骤(5-4),否则继续步骤(5-2),其中2m为晶振标准工作频率值,且m≥n。
采用了该发明中的具有温度补偿的实时时钟计时精度修正电路,具有如下有益效果:
(1)可以将每秒的精度误差控制在1/32768,也就是30.517578125ppm,如果进一步采用四舍五入法,误差精度再缩小一半,也就是15.2587890625ppm;
(2)如果不考虑曲线拟合误差,和温度切换过程中引入的误差,并假设final_comp_value在实际运算中可以保留小数点后无穷位长,长期累加后,每分钟的累计精度误差小于等于15.2587890625ppm,每小时的累计精度误差小于等于15.2587890625ppm,每天的累计精度误差小于等于15.2587890625ppm,每年的累计精度误差小于等于15.2587890625ppm,计时误差小于0.02s/天;
(3)直接得到精准的脉冲,无需大量存储数据和求平均工作,节省内存,降低温度对计时准确性的影响,提高计时准确性,整个修正过程全部由硬件实现,无需软件实时操作,具有更广泛的应用范围。
附图说明
图1为温度和晶振误差值之间关系的曲线图。
图2为本发明的具有温度补偿的实时时钟计时精度修正电路的结构示意图。
图3为本发明的脉冲计算模块的结构示意图。
图4为本发明的根据不同方法拟合晶体曲线后与实际晶体测出的晶体误差之间偏差的绝对值的比较示意图。
图5为本发明的拟合的二次晶体曲线与实际晶体测出的晶体误差之间比较的示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
如图2所示,本发明提供了一种具有温度补偿的实时时钟计时精度修正电路,其中,所述的电路包括温度检测模块、精度误差计算模块、补偿值计算模块和脉冲计算模块,所述的温度检测模块的输出端与精度误差计算模块的输入端相连接,所述的补偿值计算模块的输入端与精度误差计算模块的输出端相连接,所述的脉冲计算模块的输入端与所述的补偿值计算模块的输出端相连接;其中:
温度检测模块,用以检测当前温度值;
精度误差计算模块,用以根据当前温度和***预设温度-晶振误差曲线计算得到当前晶振误差值;
补偿值计算模块,用以根据当前晶振误差值和晶振标准工作频率值计算得到当前脉冲补偿值;
脉冲计算模块,用以对脉冲补偿值的小数部分进行累加得到累加值,在各个***预设脉冲补偿周期,如果累加值的整数部分大于0则对时钟计数器进行脉冲补偿且将累加值的整数部分清零,如果累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
在一种较佳的实施方式中,所述的温度检测模块为12比特温度检测模块,所述的12比特温度检测模块包括温度传感器,所述的检测当前温度值检测当前温度值。
在一种较佳的实施方式中,所述的精度误差计算模块包括第一乘法器/第一加法器和第一运算控制器,所述的第一运算控制器控制所述的第一乘法器/第一加法器根据当前温度和***预设温度-晶振误差曲线计算得到当前晶振误差值。
在一种较佳的实施方式中,所述的补偿值计算模块包括第二乘法器、移位寄存器和第二运算控制器,所述的第二运算控制器控制所述的第二乘法器和移位寄存器根据当前晶振误差值和晶振标准工作频率值计算得到当前脉冲补偿值。
在一种较佳的实施方式中,如图3所示,所述的脉冲计算模块包括:
计数器,用以对时钟脉冲进行计数并于计数值达到***预设补偿间隔值时重新计数,所述的***预设脉冲补偿周期为每秒,所述的***预设补偿间隔值为2m-n,其中2m为晶振标准工作频率值;
第二加法器,用以累加当前补偿值的小数部分得到累加值,在各个***预设脉冲补偿时刻,如果累加值的整数部分大于0则将累加值的整数部分清零;
脉冲补偿单元,用以在各个***预设脉冲补偿时刻,如果累加值的整数部分大于0则对时钟计数器进行脉冲补偿,如果累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
下面以一个具体实施例来介绍本发明的技术方案:
1、将晶振进行分批筛选
首先将晶振进行分批筛选,具体是将开口一致,二次系数a2的误差控制在±0.0012×10-6/℃2的晶振分批筛选出来;
2、然后将分批筛选后的晶振应用到所述的晶振误差计算电路中,再将该电路中的晶振进行三次曲线的拟合,按照横轴表示温度,纵轴表示晶振误差的曲线关系进行拟合,拟合的三次曲线的关系式满足y=a3·(x-T0)3+a2·(x-T0)2+offset,通过拟合得出参数a3、a2、T0的值,并将参数值都烧写到精度误差计算模块中;
对分批后的晶振进行曲线拟合,拟合出来的温度-晶振误差曲线如图1所示,横轴表示温度,纵轴表示晶振误差,也可以将其拟合为二次曲线,如果采用三次曲线,可以获得更好的精度,但是一般二次曲线的精度即可以满足要求。设计电路时可以将曲线设计为三次的(也可以设计为更高阶次),当需要用二次曲线的时候,可以将大于2的阶次的系数配置为0(an=0,n>2)。工作的时候,只需将拟合后的系数配置进去,根据当前温度可以算出当前晶振的误差,由于不同的晶振offset会相差较大,然后再测量晶振误差公式(1)中的offest值,该值的测量是在室温下,将offest值设置为0,再通过晶振误差计算电路多次测量校正后的脉冲误差,取多次测量的脉冲误差的平均值即为公式中的offest值,并将该值烧写到晶振误差计算电路中;
y=a3·(x-T0)3+a2·(x-T0)2+offset (1)
其中,a3,a2为***已知的晶振温度系数,offset为室温下测量的偏差值,T0为室温,x为当前温度值,y为当前晶振误差值。
公式(1)也可以为:
y=a3·(x-T0)3+a2·(x-T0)2+a1·(x-T0)
其中,a3,a2,a1为***已知的晶振温度系数。
根据曲线拟合算出晶体误差err为:
err=p1*(T-ct)^3+p2*(T-ct)^2+p3*(T-ct)+p4+offset;
如图4为根据不同方法拟合晶体曲线后与实际晶体测出的晶体误差之间偏差的绝对值的比较示意图。横坐标表示温度,纵坐标表示拟合晶体误差与实际晶体误差的偏差的绝对值。线A是浮点运算得到的,线B是量化运算得到的。
3、再通过晶振误差计算电路中的温度传感器获取当前温度,将当前温度代入晶振误差计算公式(1)中,由晶振误差计算电路计算出晶振误差CrystalError。
4、根据计算出来的晶振误差,计算出脉冲补偿值
晶振误差CrystallError可以用公式(2)表示,即公式(2)是计算晶振误差值的公式,其中f为实际的振荡频率,f0为标准频率(即32768Hz),
C r y s t a l E r r o r = f - f 0 f 0 &times; 10 6 - - - ( 2 )
也可以描述为1秒钟用频率为f0的晶振需要振动32768个周期,用频率为f的晶振需要振动32768+comp_value个周期,所以可以得到公式(3)
f=f0+comp_value (3)
将公式(3)带入公式(2),可以得到
c o m p _ v a l u e = C r y s t a l E r r o r &times; f 0 10 6 = 32768 &times; C r y s t a l E r r o r 10 6 - - - ( 4 )
根据上述公式(1)计算得到的晶振误差值和上述公式(4),即可以计算得到脉冲补偿值comp_value,可以用脉冲补偿值补偿当前工作的晶振f中得到标准的工作频率f0
实际应用中很多晶体并不是简单的三次曲线,特别是在温度较低和温度较高的地方差别更大。所以这个模块设计的时候将拟合曲线分成了三段,如以下公式(5)所示。当一个三次曲线就拟合得很好时,la3=ma3=ra3,la2=ma2=ra2。当出现低温部分拟合曲线与室温部分拟合曲线偏差较大时,la3,la2就可以描述低温部分的曲线,同理,当高温部分拟合曲线与室温部分拟合曲线差异较大时,ra3,ra2就可以描述高温部分的曲线。其中x<low_temp表示低温部分,x>high_temp表示高温部分。
y = la 3 &CenterDot; ( x - T 0 ) 3 + la 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , x < l o w _ t e m p ma 3 &CenterDot; ( x - T 0 ) 3 + ma 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , l o w _ t e m p &le; x &le; h i g h _ t e m p ra 3 &CenterDot; ( x - T 0 ) 3 + ra 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , x > h i g h _ t e m p - - - ( 5 )
其中,low_temp为***已知的温度低限值,high_temp为***已知的温度高限值,la3,la2为***已知的在温度小于low_temp时的晶振误差系数,ma3,ma2为***已知的在温度介于low_temp和high_temp之间时的晶振误差系数,ra3,ra2为***已知的在温度高于high_temp时的晶振误差系数,offset为室温下测量的偏差值,T0为室温,x为当前温度值,y为当前晶振误差值。由于la3、ma3和ra3数值较小,在一些情况下可以忽略不计,则拟合成二次曲线,拟合出的曲线与晶振误差值的实际曲线的对比关系如图5所示。
将晶振误差CrystalError值代入补偿值公式(4)中,该公式中的f0为标准工作频率,其值是32768Hz,从而计算出由补偿值计算电路计算出每秒钟补偿的脉冲个数,即秒脉冲补偿个数。这个地方有一个问题硬件电路计算除法不是很方便。所以,采用了公式(6)的等价表达式代替32768/1000000,最后选定q=28,p=8796093=0x8637bd。
由于晶振误差不会超过500ppm,所以用32768/1000000计算出来的补偿值是16.384,用8796093/(2的28次方),即8796093/228,计算出来的补偿值也是16.384。
由于一般晶振的误差的绝对值不会超过500ppm,所以comp_value的值不会超过16.384个脉冲。所以每秒钟补偿的脉冲个数不会超过17个。如果希望任何时候测量的时间都准确,那么:
每1/2秒的脉冲补偿个数不会超过9个;
每1/4秒的脉冲补偿个数不会超过5个;
每1/8秒的脉冲补偿个数不会超过3个;
每1/16秒的脉冲补偿个数不会超过2个;
每1/32秒的脉冲补偿个数小于1个。
如果晶振的误差的绝对值大于500ppm,用上面的方法可以同理推导。如果需要精度更高,间隔补偿的时间可以继续降低,同时,功耗也会增大。更低功耗与更高精度的选择的平衡点建议为补偿个数小于1的周期比较合适。当然,其他的选择也是可以实现这个功能的。
5、根据脉冲补偿值对时钟计数器进行校准
脉冲计算模块的基本原理是将误差的小数部分保留,累加,产生进位后,调整计数器,多计算一个脉冲或者少计算一个脉冲,达到高精度时钟校准的目的。
具体包括以下步骤:
定义秒为脉冲补偿周期并将其烧写到脉冲计算模块中,其中n为大于等于5的正整数;
最后定义每秒的累计误差为final_comp_value,每计数到215-n时(n为大于等于5的正整数),将final_comp_value的值的小数部分与秒对应的脉冲补偿个数相加,如果final_comp_value的整数部分大于等于1,那么时钟计数器就停一拍不加或者加2,然后将final_comp_value的整数部分清零,将final_comp_value的小数部分继续保留,留给后面进行误差累加。
下面以每秒补偿16.384个为例进行说明,也就是每1/32秒补偿0.512个。定义每1/32秒的加法器的累计误差为final_comp_value,每计数到1024(1024=32768/32)时,将final_comp_value的值的小数部分和1/32秒对应的脉冲补偿个数相加,如果final_comp_value的整数部分大于等于1,那么时钟计数器就停一拍不加或者加2(如果时钟频率快了,就停一拍不进行累加,如果时钟频率慢了,就加2),然后final_comp_value的整数部分清零,final_comp_value的小数部分继续保留,留给后面进行误差累加。
采用了该发明中的具有温度补偿的实时时钟计时精度修正电路,具有如下有益效果:
(1)可以将每秒的精度误差控制在1/32768,也就是30.517578125ppm,如果进一步采用四舍五入法,误差精度再缩小一半,也就是15.2587890625ppm;
(2)如果不考虑曲线拟合误差,和温度切换过程中引入的误差,并假设final_comp_value在实际运算中可以保留小数点后无穷位长,长期累加后,每分钟的累计精度误差小于等于15.2587890625ppm,每小时的累计精度误差小于等于15.2587890625ppm,每天的累计精度误差小于等于15.2587890625ppm,每年的累计精度误差小于等于15.2587890625ppm,计时误差小于0.02s/天;
(3)直接得到精准的脉冲,无需大量存储数据和求平均工作,节省内存,降低温度对计时准确性的影响,提高计时准确性,整个修正过程全部由硬件实现,无需软件实时操作,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (14)

1.一种具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的电路包括温度检测模块、精度误差计算模块、补偿值计算模块和脉冲计算模块,所述的温度检测模块的输出端与精度误差计算模块的输入端相连接,所述的补偿值计算模块的输入端与精度误差计算模块的输出端相连接,所述的脉冲计算模块的输入端与所述的补偿值计算模块的输出端相连接;其中:
温度检测模块,用以检测当前温度值;
精度误差计算模块,用以根据所述当前温度和***预设温度-晶振误差曲线计算得到当前晶振误差值;
补偿值计算模块,用以根据所述当前晶振误差值和晶振标准工作频率值计算得到当前脉冲补偿值;
脉冲计算模块,用以对所述脉冲补偿值的小数部分进行累加得到累加值,在各个***预设脉冲补偿周期,如果所述累加值的整数部分大于0则对时钟计数器进行脉冲补偿且将所述累加值的整数部分清零,如果所述累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
2.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的***预设温度-晶振误差曲线烧写在精度误差计算模块中。
3.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的***预设温度-晶振误差曲线为烧写在精度误差计算模块中且满足如下公式的曲线:
y = la 3 &CenterDot; ( x - T 0 ) 3 + la 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , x < l o w _ t e m p ma 3 &CenterDot; ( x - T 0 ) 3 + ma 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , l o w _ t e m p &le; x &le; h i g h _ t e m p ra 3 &CenterDot; ( x - T 0 ) 3 + ra 2 &CenterDot; ( x - T 0 ) 2 + o f f s e t , x > h i g h _ t e m p
其中,low_temp为***已知的温度低限值,high_temp为***已知的温度高限值,la3,la2为***已知的在温度小于low_temp时的晶振误差系数,ma3,ma2为***已知的在温度介于low_temp和high_temp之间时的晶振误差系数,ra3,ra2为***已知的在温度高于high_temp时的晶振误差系数,offset为室温下测量的偏差值,T0为室温,x为当前温度值,y为当前晶振误差值。
4.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的精度误差计算模块包括第一乘法器和第一运算控制器,所述的第一运算控制器控制所述的第一乘法器根据所述当前温度和***预设温度-晶振误差曲线计算得到所述当前晶振误差值。
5.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的精度误差计算模块包括第一加法器和第一运算控制器,所述的第一运算控制器控制所述的第一加法器根据所述当前温度和***预设温度-晶振误差曲线计算得到所述当前晶振误差值。
6.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的补偿值计算模块根据如下公式计算得到所述当前补偿值:
c o m p _ v a l u e = C r y s t a l E r r o r &times; f 0 10 6
其中,comp_value为当前补偿值,CrystalError为当前晶振误差,f0为晶振标准工作频率值。
7.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的补偿值计算模块包括第二乘法器、移位寄存器和第二运算控制器,所述的第二运算控制器控制所述的第二乘法器和移位寄存器根据所述当前晶振误差值和晶振标准工作频率值计算得到所述当前脉冲补偿值。
8.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的脉冲计算模块包括:
计数器,用以对时钟脉冲进行计数并于计数值达到***预设补偿间隔值时重新计数,所述的***预设脉冲补偿周期为每秒,所述的***预设补偿间隔值为2m-n,其中2m为晶振标准工作频率值,且m≥n;
第二加法器,用以累加当前补偿值的小数部分得到累加值,在各个***预设脉冲补偿时刻,如果累加值的整数部分大于0则将累加值的整数部分清零;
脉冲补偿单元,用以在各个***预设脉冲补偿时刻,如果累加值的整数部分大于0则对时钟计数器进行脉冲补偿,如果累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
9.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,所述的晶振标准工作频率值为数值32768,***预设每脉冲补偿个数为数值32,所述的***预设补偿间隔为数值1024。
10.根据权利要求1所述的具有温度补偿的实时时钟计时精度修正电路,其特征在于,当脉冲计算模块的累加值的整数部分大于1,如果当前晶振误差值为正值,则所述的脉冲计算模块控制时钟计数器的输出减一个脉冲信号;如果当前晶振误差值为负值,则所述的脉冲调整信号控制时钟计数器的输出加一个脉冲信号。
11.一种基于权利要求1至10中任一项所述的电路的具有温度补偿的实时时钟计时精度修正方法,其特征在于,所述的方法包括以下步骤:
(1)将待修正的晶振应用至所述的具有温度补偿的实时时钟计时精度修正电路中;
(2)将所述的电路中的晶振的***预设温度-晶振误差曲线烧写至精度误差计算模块中;
(3)获取温度检测模块的温度值并采用精度误差计算模块计算当前晶振误差值;
(4)采用补偿值计算模块计算得到脉冲补偿值;
(5)采用脉冲计算模块对脉冲补偿值的小数部分进行累加得到累加值,在各个***预设脉冲补偿周期,如果累加值的整数部分大于0则对时钟计数器进行脉冲补偿且将累加值的整数部分清零,如果累加值的整数部分为0则不对时钟计数器进行脉冲补偿。
12.根据权利要求11所述的具有温度补偿的实时时钟计时精度修正方法,其特征在于,所述的步骤(1),包括以下步骤:
(1-1)筛选出合适的晶振,要求筛选出的晶振开口一致,且温度-晶振误差曲线中的系数误差在预设范围内;
(1-2)将筛选出的晶振应用至所述的具有温度补偿的实时时钟计时精度修正电路中;
(1-3)对所述的电路中的晶振的温度-晶振误差曲线进行拟合;
(1-4)测量所述的电路中的晶振在室温下的晶振误差值;
(1-5)结合拟合得到的温度-晶振误差曲线和室温下的晶振误差值得到***预设温度-晶振误差曲线。
13.根据权利要求11所述的具有温度补偿的实时时钟计时精度修正方法,其特征在于,所述的步骤(5),包括以下步骤:
(5-1)选择***预设脉冲补偿周期为秒并烧写至脉冲计算模块;
(5-2)采用脉冲计算模块对脉冲补偿值的小数部分进行累加得到累加值;
(5-3)判断当前时刻是否达到***预设脉冲补偿周期,如果是,则继续步骤(5-4),否则继续步骤(5-2);
(5-4)判断累加值的整数部分是否大于0,如果是,则继续步骤(5-5),否则继续步骤(5-6);
(5-5)对时钟计数器进行脉冲补偿且将累加值的整数部分清零,然后继续步骤(5-2);
(5-6)不对时钟计数器进行脉冲补偿,然后继续步骤(5-2)。
14.根据权利要求13所述的具有温度补偿的实时时钟计时精度修正方法,其特征在于,所述的脉冲计算模块包括计数器、第二加法器和脉冲补偿单元,所述的第二加法器对脉冲补偿值的小数部分进行累加得到累加值,所述的计数器对时钟脉冲进行计数,所述的脉冲补偿单元根据加法器的累加值和计数器的计数值进行脉冲补偿,所述的步骤(5-3),具体为:
判断计数器的计数值是否达到2m-n,如果是,则继续步骤(5-4),否则继续步骤(5-2),其中2m为晶振标准工作频率值,且m≥n。
CN201610516719.XA 2016-07-01 2016-07-01 具有温度补偿的实时时钟计时精度修正电路及方法 Pending CN105978555A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610516719.XA CN105978555A (zh) 2016-07-01 2016-07-01 具有温度补偿的实时时钟计时精度修正电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610516719.XA CN105978555A (zh) 2016-07-01 2016-07-01 具有温度补偿的实时时钟计时精度修正电路及方法

Publications (1)

Publication Number Publication Date
CN105978555A true CN105978555A (zh) 2016-09-28

Family

ID=56954976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610516719.XA Pending CN105978555A (zh) 2016-07-01 2016-07-01 具有温度补偿的实时时钟计时精度修正电路及方法

Country Status (1)

Country Link
CN (1) CN105978555A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933300A (zh) * 2017-04-05 2017-07-07 上海矽奥微电子有限公司 实时时钟温度漂移校准电路
CN110380724A (zh) * 2019-07-26 2019-10-25 北京智芯微电子科技有限公司 Rtc时钟频率温度补偿芯片
CN110769546A (zh) * 2019-10-22 2020-02-07 厦门通士达照明有限公司 多变温度环境下定时led灯具的温度补偿方法及***
CN111106769A (zh) * 2018-10-29 2020-05-05 深圳市帝迈生物技术有限公司 可读存储介质、转盘检测***及其补偿方法
CN111884589A (zh) * 2020-08-26 2020-11-03 硅谷数模(苏州)半导体有限公司 频率源的温度补偿参数确定方法和装置
CN111982208A (zh) * 2020-09-18 2020-11-24 河南许继仪表有限公司 一种提高时钟精度的电路及时钟
CN114200815A (zh) * 2021-11-15 2022-03-18 秦佳电气有限公司 一种提高普通定时器计时精度的方法及***
CN115248608A (zh) * 2021-04-26 2022-10-28 华润微集成电路(无锡)有限公司 低功耗温湿度计电路结构及其测量控制方法
CN116865746A (zh) * 2023-07-31 2023-10-10 青岛鼎信通讯股份有限公司 一种时钟电路控制方法、装置、介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292066B1 (en) * 1997-07-11 2001-09-18 Matsushita Electric Industrial Co., Ltd. Function generator, crystal oscillation device and method of adjusting crystal oscillation device
CN103684255A (zh) * 2012-09-12 2014-03-26 无锡华润矽科微电子有限公司 内置晶体的温度补偿晶体振荡器的补偿校准判断控制方法
CN104143960A (zh) * 2014-07-11 2014-11-12 钜泉光电科技(上海)股份有限公司 一种校正mems计时时钟的溢出补偿方法及装置
CN105573106A (zh) * 2014-10-08 2016-05-11 无锡华润矽科微电子有限公司 一种智能电表中对rtc计时精度的修正电路及其方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292066B1 (en) * 1997-07-11 2001-09-18 Matsushita Electric Industrial Co., Ltd. Function generator, crystal oscillation device and method of adjusting crystal oscillation device
CN103684255A (zh) * 2012-09-12 2014-03-26 无锡华润矽科微电子有限公司 内置晶体的温度补偿晶体振荡器的补偿校准判断控制方法
CN104143960A (zh) * 2014-07-11 2014-11-12 钜泉光电科技(上海)股份有限公司 一种校正mems计时时钟的溢出补偿方法及装置
CN105573106A (zh) * 2014-10-08 2016-05-11 无锡华润矽科微电子有限公司 一种智能电表中对rtc计时精度的修正电路及其方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933300A (zh) * 2017-04-05 2017-07-07 上海矽奥微电子有限公司 实时时钟温度漂移校准电路
CN111106769A (zh) * 2018-10-29 2020-05-05 深圳市帝迈生物技术有限公司 可读存储介质、转盘检测***及其补偿方法
CN110380724A (zh) * 2019-07-26 2019-10-25 北京智芯微电子科技有限公司 Rtc时钟频率温度补偿芯片
CN110380724B (zh) * 2019-07-26 2023-01-24 北京智芯微电子科技有限公司 Rtc时钟频率温度补偿芯片
CN110769546A (zh) * 2019-10-22 2020-02-07 厦门通士达照明有限公司 多变温度环境下定时led灯具的温度补偿方法及***
CN111884589A (zh) * 2020-08-26 2020-11-03 硅谷数模(苏州)半导体有限公司 频率源的温度补偿参数确定方法和装置
CN111982208A (zh) * 2020-09-18 2020-11-24 河南许继仪表有限公司 一种提高时钟精度的电路及时钟
CN115248608A (zh) * 2021-04-26 2022-10-28 华润微集成电路(无锡)有限公司 低功耗温湿度计电路结构及其测量控制方法
CN115248608B (zh) * 2021-04-26 2023-05-09 华润微集成电路(无锡)有限公司 低功耗温湿度计电路结构及其测量控制方法
CN114200815A (zh) * 2021-11-15 2022-03-18 秦佳电气有限公司 一种提高普通定时器计时精度的方法及***
CN116865746A (zh) * 2023-07-31 2023-10-10 青岛鼎信通讯股份有限公司 一种时钟电路控制方法、装置、介质
CN116865746B (zh) * 2023-07-31 2024-03-29 青岛鼎信通讯股份有限公司 一种时钟电路控制方法、装置、介质

Similar Documents

Publication Publication Date Title
CN105978555A (zh) 具有温度补偿的实时时钟计时精度修正电路及方法
CN105573106B (zh) 一种智能电表中对rtc计时精度的修正电路及其方法
CN106569544B (zh) 实时时钟芯片及其时钟校准方法、装置
JP4950922B2 (ja) 時刻装置および可搬型電子機器
CN106505996B (zh) 一种结合可变电容的rtc芯片高精度频偏补偿方法
CN107272821B (zh) 实时时钟校准方法及装置、存储介质、电子设备
CN108063617A (zh) 一种低频rc振荡器的时钟频率校准方法和***
CN107256065A (zh) 一种实时时钟的处理***及方法
CN104702214B (zh) 一种晶体振荡器频率补偿的方法
CN104297716B (zh) 一种智能电表rtc校准方法
CN103970008B (zh) 一种基于晶振误差补偿的守时方法
WO2019200974A1 (zh) 支持NB-IoT的高精度温度传感器
CN103684255A (zh) 内置晶体的温度补偿晶体振荡器的补偿校准判断控制方法
CN105807027A (zh) 气体能量计量方法及装置
DE60139472D1 (de) Verfahren, vorrichtungen, drahtlose endgeräte, und komputerprogrammprodukten zur kalibrierung von einer elektronischen uhr die ein basisreferenzsignal benutzt
CN106292839A (zh) 实时时钟补偿电路及校准方法、装置
JP6282723B2 (ja) クオーツ電子時計の高精度計時方法
US20200378813A1 (en) Calibration circuit and associated signal processing circuit and chip
CN102759881B (zh) 在工业温度范围内保持当日时间的设备和方法
CN107525968A (zh) 一种基于压控晶体振荡器的频率测量***
CN103034116A (zh) 一种提高石英计时器时间计时准确度的方法
CN102507993B (zh) 一种具有初始相位自动校准功能的猝发信号发生器
CN104635193B (zh) 一种电表用的soc芯片实时时钟高精度补偿方法
JP2000315121A (ja) Rtc回路
JPS63168536A (ja) 振動式密度計に於ける振動周期検出方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160928