[发明专利]一种实时时钟计时误差补偿方法有效
申请号: | 201310536937.6 | 申请日: | 2013-11-04 |
公开(公告)号: | CN103699173B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 赵东世 | 申请(专利权)人: | 矽恩微电子(厦门)有限公司 |
主分类号: | G06F1/14 | 分类号: | G06F1/14 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 廖吉保 |
地址: | 361000 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 时钟 计时 误差 补偿 方法 | ||
本发明公开一种实时时钟计时误差补偿方法,包括补偿步骤:一,对分频计数器CNT赋值0,执行步骤二;二,等待1Hz时钟上升沿到达时,对补偿标志寄存器FLAG赋值1,执行步骤三;三,判断FLAG、M3,若FLAG=1且M3<0成立,则等待CNT=S4时,执行步骤四;若FLAG=1、CNT=0且M3>0成立,执行步骤五;否则,执行步骤二;四,执行赋值,CNT=0、M3=M3+S4、FLAG=0,重新执行步骤二,其中S4为1秒中最多补偿周期个数;五,执行赋值,CNT=S4、M3=M3‑S4、FLAG=0,重新执行步骤二。本发明相对误差ERR采样率可调,且补偿精度更高。
技术领域
本发明涉及一种实时时钟计时误差补偿方法。
背景技术
如图1所示,实时时钟计时最小单位为“秒”,其原理是对晶体振荡器输出频率为32768Hz方波进行分频1Hz ,1Hz方波驱动产生“秒”的时间和日历逻辑电路,进一步产生分、时、日、月、星期日历逻辑。晶体振荡器输出标准频率为32768Hz,但是,由于温度变化、石英晶体的制造工艺误差等原因,晶体振荡器输出的频率往往存在误差。
通常,把晶体振荡器输出的频率相对于标准频率32768Hz的相对误差作误差衡量标准,如下公式所示,单位为PPM(一百万分之一)。
为了补偿晶体振荡器输出的频率与标准频率32768Hz之间的误差,现有技术中,通常采用固定时间点补偿方法针对相对误差进行补偿,根据固定时间点如每隔10秒,查找相对误差(ERR)对应的需要补偿时钟个数,改变分频计数器(CNT)计数值。如图2所示,每隔10秒补偿时,10秒钟,分频计数器共计数基准频率时钟个数为32768*10=327680所以,10秒分频计数器CNT 多加1,相当于对基准频率做+3PPM的补偿,少加一次相当于对基准频率做-3PPM的补偿。通常,对ERR的采样率为0.1Hz,补偿数据ERR有效值为3 PPM,补偿后的最大误差为1.5PPM。
所述固定时间点补偿方法对ERR的采样率越低,补偿数据的有效值越高,但是,采样率低会引入频谱混叠误差。所以,所述方法对ERR的采样率,既不能太高,也不能太低,存在ERR采样率设置和最终补偿精度的矛盾关系。
发明内容
本发明的目的在于提供一种相对误差ERR采样率可调,且补偿精度更高的实时时钟计时误差补偿方法。
为达成上述目的,本发明的解决方案为:
一种实时时钟计时误差补偿方法,包括以下步骤:
包括计算步骤和补偿步骤:
计算步骤
一,循环减法寄存器M2赋值,循环减法寄存器M1=循环减法寄存器M2=;对累积误差周期个数寄存器M3赋值0,其中,S1用于调节ERR有效值,S2用于调节补偿电路工作频率,S3用于调节计算次数,执行步骤二;
二,等 Hz时钟上升沿到达时,对补偿标志寄存器COM赋值为0,对M2执行减法,M2=M1-︱ERR*S1︱,M1=M2,执行步骤三;
三,判断M2,若M2<0时,执行对M2赋值,M2=M1+,M1= M2,并对补偿标志寄存器COM赋值为1,执行步骤四;否则,执行步骤二;
四,判断ERR*S1,若ERR*S1﹥0,执行 M3= M3+,否则,执行M3= M3-,执行步骤二;
补偿步骤
一,对分频计数器CNT赋值0,执行步骤二;
二,等待1Hz时钟上升沿到达时,对补偿标志寄存器FLAG赋值1,执行步骤三;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于矽恩微电子(厦门)有限公司,未经矽恩微电子(厦门)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310536937.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:危险试剂运输车
- 下一篇:一种采用荧光灯罩的灯具