一种基于时域分段插值补偿提高RTC校准精度的方法转让专利

申请号 : CN202011416453.4

文献号 : CN112731790B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张晓东杨国烨华号杨玉勇陶英浩钱晓明张晨云

申请人 : 江阴长仪集团有限公司

摘要 :

本发明公开了一种基于时域分段插值补偿提高RTC校准精度的方法,包括数学建模、晶振校验、建立方程、方程求解、补偿值计算和时域分段插值补偿,时域分段插值补偿的方法如下:(1)以RTC芯片中能够写入到补偿寄存器的最小补偿步长作为基准补偿值;(2)设置一个预定长度的补偿时域周期,并将补偿时域周期分割为若干个时间分段;若干个时间分段由k1个正补偿时间分段、k2个负补偿时间分段和k3个零补偿时间分段所组成;(3)进行分段补偿:在每一个正补偿时间分段内,在补偿寄存器中增加一个基准补偿值;在每一个负补偿时间分段内,在补偿寄存器中减去一个基准补偿值;在每一个零补偿时间分段内,保持补偿寄存器中的值不变;本发明提高了RTC校准精度。

权利要求 :

1.一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,包括如下步骤:步骤一、数学建模:建立RTC晶振频率误差补偿值Ferr与温度T关系的n次曲线数学模型公式:

n n‑1 n‑2

Ferr=Cn×T+Cn‑1×T +Cn‑2×T +…+C1×T+C0;

其中,Cn,Cn‑1,Cn‑2,…,C1,C0为误差补偿待定系数;

步骤二、晶振校验:通过校验设备获取RTC晶振在n+1个不同温度点时的Ferr校验值:Ferr1,Ferr2,Ferr3,…Ferrn,Ferrn+1;

步骤三、建立方程:将步骤二得到的所述Ferr校验值和对应的温度点数据代入到步骤一的n次曲线数学模中,形成以所述误差补偿待定系数Cn,Cn‑1,Cn‑2,…,C1,C0为未知数的(n+

1)元一次方程组;

步骤四、方程求解:求解步骤三中的所述(n+1)元一次方程组,得到误差补偿待定系数Cn,Cn‑1,Cn‑2,…,C1,C0的实际数值;并将所述误差补偿待定系数的实际数值代入到步骤一中的数学模型公式中;

步骤五、补偿值计算:每分钟进行多次温度测量,取平均值,代入数学模型公式后,计算得到频率误差补偿值Ferr;

步骤六、时域分段插值补偿:将所述频率误差补偿值Ferr通过时域分段插值补偿的方法进行补偿;所述时域分段插值补偿的方法如下:(1)以RTC芯片中能够写入到补偿寄存器的最小补偿步长的ppm值作为基准补偿值f;

(2)设置一个预定长度的补偿时域周期,并将所述补偿时域周期分割为若干个时间分段,所述时间分段的时长为t;所述若干个时间分段由k1个正补偿时间分段、k2个负补偿时间分段和k3个零补偿时间分段所组成;

(3)进行分段补偿:在所述补偿时域周期的每一个正补偿时间分段内,在补偿寄存器中增加一个基准补偿值f即+f;在所述补偿时域周期的每一个负补偿时间分段内,在补偿寄存器中减去一个基准补偿值f即-f;在所述补偿时域周期的每一个零补偿时间分段内,保持补偿寄存器中的值不变即+0;通过设置适当的k1、k2和k3,实现在所述补偿时域周期内所需的频率误差补偿值Ferr。

2.根据权利要求1所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述n次曲线数学模型中的n≥5。

3.根据权利要求1所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述补偿时域周期为60s,所述时间分段的时长为5s。

4.根据权利要求3所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,在所述补偿时域周期内各所述时间分段的补偿起始点分别为第3s、第8s、第13s、第

18s、第23s、第28s、第33s、第38s、第43s、第48s、第53s、第58s。

5.根据权利要求4所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述RTC芯片中能够写入到补偿寄存器的最小补偿步长为0.96ppm,换算成补偿值为

0.08s/day。

6.根据权利要求5所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述补偿时域周期内的日计时误差的初始值为‑0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,-f,+0,+0,+f,-f,+0,+0,+f,-f,+0,+0,+0,从而实现‑0.02s/day的精度补偿结果。

7.根据权利要求5所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述补偿时域周期内的日计时误差的初始值为‑0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,+0,-f,+0,+f,+

0,-f,+0,+f,+0,-f,+0,实现‑0.01s/day的精度补偿结果。

8.根据权利要求5所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述补偿时域周期内的日计时误差的初始值为+0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+f,+0,+0,-f,+f,+0,+0,-f,+f,+0,+0,实现+0.02s/day的精度补偿结果。

9.根据权利要求5所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,所述补偿时域周期内的日计时误差的初始值为+0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+0,+f,+0,-f,+0,+f,+0,实现+0.01s/day的精度补偿结果。

10.根据权利要求5所述的一种基于时域分段插值补偿提高RTC校准精度的方法,其特征在于,根据温度变化引起的不同的日计时误差,所述补偿时域周期的补偿起始点相互错开设置。

说明书 :

一种基于时域分段插值补偿提高RTC校准精度的方法

技术领域

[0001] 本发明涉及实时时钟校准技术领域,具体涉及一种基于时域分段插值补偿提高RTC校准精度的方法。

背景技术

[0002] 随着售电业务进一步的放开,现货交易必将在未来电力市场占据核心位置。智能电能表做为整个电网中的基础单元,现货交易的实现必须要通过采集智能电表的基础数据
进行负荷分析,现货交易的本质是负荷在不同时间段的分割和计算。这就必然要求智能电
能表具备精准的实时时钟功能。现在一般智能电能表都具备实时时钟功能,根据行业标准,
要求其在工作温度范围内精度满足小于1s/day(11.5ppm),在23℃时满足小于0.5s/day
(5.75ppm)。
[0003] 根据行业标准要求,以0.5s/day为例,如果经过一个月后时间就会偏差15秒,从现货交易的角度讲,时间的不准确必然会影响交易的公平性。所以未来对实时时钟的精度要
求必然越来越高,在一些国家实验室检测中也提出了更高的精度要求,现在最高的要求是 
0.02s/day。但是现在使用的一些主控制器内置RTC,如瑞萨电子的 R7F0C004的最小补偿分
辨率为((1/32768)*1/32)秒,也就是实际上是每32秒插入若干个时钟;将“((1/32768)*1/
32)”转为ppm单位,于是补偿的步长为:((1/2^20)*(10^6),大约为0.96ppm。也即每写入一
个值补偿0.08s/day。这是远远达不到0.02s/day这个精度要求的。
[0004] 目前智能电能表行业都采用了主控芯片带RTC的方式做为时钟,时钟的准确度完全依赖于外置的32.768kHz晶振的曲线的一致性以及对曲线的校准,32.768kHz晶振的温度
和频率偏差曲线见图1,一般晶振手册推荐的曲线为一个接近于2次曲线的公式Ferr=B*
2
(T‑T0) 。如常规采用的日本精工的型号为VT‑200‑F的晶振,B=‑0.035ppm/(℃*℃),T0=
2
25℃。一般方法都是采用的是单点校准曲线整体偏移度,补偿公式Ferr=B*(T‑T0) +K,K即
2
为T0温度时的晶振补偿值。在高温时比如大于50℃,补偿公式变为了Ferr=(B+M1)*(T‑T0) +
K, M1是高温时B值的修正值,在低温时比如小于‑15℃,补偿公式变为了 Ferr=(B+M2)*
2
(T‑T0) +K,M2是高温时B值的修正值。在不同温度点,采用不同的系数才能实现校准,且由
于这些系数都是某个温度点的值,如M1是在50℃时的偏移值,如果温度变成55℃,由于二次
曲线的特性(依赖于T0是否准确)必然会导致有校准精度的损失,而且如果我们在测量温度
时出现了测量误差,也会导致校准精度的损失,很多时候我们希望得到的误差精度为
0.08s/day但是实际校准下来精度为0.16s/day。

发明内容

[0005] 本发明目的是要在不增加硬件成本的基础上,通过一种基于时域分段插值补偿方法,实现实时时钟的高精度校准,达到0.02s/day的最高特性检测要求,以满足时钟精准度
的要求。具体的技术方案如下:
[0006] 一种基于时域分段插值补偿提高RTC校准精度的方法,包括如下步骤:
[0007] 步骤一、数学建模:建立RTC晶振频率误差补偿值Ferr与温度T 关系的n次曲线数学模型公式:
[0008] Ferr=Cn×Tn+Cn‑1×Tn‑1+Cn‑2×Tn‑2+…+C1×T+C0;
[0009] 其中,Cn,Cn‑1,Cn‑2,…,C1,C0为误差补偿待定系数;
[0010] 步骤二、晶振校验:通过校验设备获取RTC晶振在n+1个不同温度点时的Ferr校验值:Ferr1,Ferr2,Ferr3,…Ferrn,Ferrn+1;
[0011] 步骤三、建立方程:将步骤二得到的所述Ferr校验值和对应的温度点数据代入到步骤一的n次曲线数学模中,形成以所述误差补偿待定系数Cn,Cn‑1,Cn‑2,…,C1,C0为未知数
的(n+1)元一次方程组;
[0012] 步骤四、方程求解:求解步骤三中的所述(n+1)元一次方程组,得到误差补偿待定系数Cn,Cn‑1,Cn‑2,…,C1,C0的实际数值;并将所述误差补偿待定系数的实际数值代入到步骤
一中的数学模型公式中;
[0013] 步骤五、补偿值计算:每分钟进行多次温度测量,取平均值,代入数学模型公式后,计算得到频率误差补偿值Ferr;
[0014] 步骤六、时域分段插值补偿:将所述频率误差补偿值Ferr通过时域分段插值补偿的方法进行补偿;所述时域分段插值补偿的方法如下:
[0015] (1)以RTC芯片中能够写入到补偿寄存器的最小补偿步长的ppm 值作为基准补偿值f;
[0016] (2)设置一个预定长度的补偿时域周期,并将所述补偿时域周期分割为若干个时间分段,所述时间分段的时长为t;所述若干个时间分段由k1个正补偿时间分段、k2个负补
偿时间分段和k3个零补偿时间分段所组成;
[0017] (3)进行分段补偿:在所述补偿时域周期的每一个正补偿时间分段内,在补偿寄存器中增加一个基准补偿值f即+f;在所述补偿时域周期的每一个负补偿时间分段内,在补偿
寄存器中减去一个基准补偿值f即-f;在所述补偿时域周期的每一个零补偿时间分段内,
保持补偿寄存器中的值不变即+0;通过设置适当的k1、k2和k3,实现在所述补偿时域周期内
所需的频率误差补偿值Ferr。
[0018] 优选的,所述n次曲线数学模型中的n≥5。
[0019] 更优选的,所述n次曲线数学模型中的n≥5。
[0020] 作为本发明中补偿时域周期的一种优选方案,所述补偿时域周期为60s,所述时间分段的时长为5s。(备注:其中的s即为时间单位秒,下同)
[0021] 其中,在所述补偿时域周期内各所述时间分段的补偿起始点分别为第3s、第8s、第13s、第18s、第23s、第28s、第33s、第38s、第43s、第48s、第53s、第58s。
[0022] 其中,所述RTC芯片中能够写入到补偿寄存器的最小补偿步长为 0.96ppm,换算成补偿值为0.08s/day。
[0023] 当所述补偿时域周期内的日计时误差的初始值为‑0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,-f,+0,+0,+
f,-f,+0,+0,+f,-f,+0,+0,+0,从而实现‑0.02s/day的精度补偿结果。
[0024] 当所述补偿时域周期内的日计时误差的初始值为‑0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,+0,-f,+0,+f,
+0,-f,+0,+f, +0,-f,+0,实现‑0.01s/day的精度补偿结果。
[0025] 当所述补偿时域周期内的日计时误差的初始值为+0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+f,+0,+0,-
f,+f,+0,+0,-f, +f,+0,+0,实现+0.02s/day的精度补偿结果。
[0026] 当所述补偿时域周期内的日计时误差的初始值为+0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+0,+f,+0,-
f,+0,+f,+0,实现 +0.01s/day的精度补偿结果。
[0027] 其中,所述基准补偿值f为0.08s/day。
[0028] 考虑到温度测量存在一定的误差,本身会存在0.01的偏差,所以最好根据温度变化引起的不同的日计时误差,其所述补偿时域周期的补偿起始点相互错开设置,从而把温
度的影响降低到最小。
[0029] 本发明的有益效果是:
[0030] 第一,本发明的一种基于时域分段插值补偿提高RTC校准精度的方法,在不增加硬件成本的基础上,通过一种基于时域分段插值补偿方法,实现实时时钟的高精度校准,达到
0.02s/day的最高特性检测要求,以满足时钟精准度的要求。通过这个方法极大的提高了日
计时的精度,从而使时钟精度也得到了提高,从而为精准的现货交易提供公平性。
[0031] 第二,本发明的一种基于时域分段插值补偿提高RTC校准精度的方法,建立了通过校验设备校正的RTC晶振频率误差补偿值Ferr与温度T关系的高次曲线数学模型公式,相比
传统的Ferr计算公式其精度更高。

附图说明

[0032] 图1是本发明的一种基于时域分段插值补偿提高RTC校准精度的方法的实现原理图;
[0033] 图2是晶振的温度和频率偏差曲线。

具体实施方式

[0034] 下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0035] 实施例1:
[0036] 如图1至2所示为本发明的一种基于时域分段插值补偿提高RTC 校准精度的方法的实施例,包括如下步骤:
[0037] 步骤一、数学建模:建立RTC晶振频率误差补偿值Ferr与温度T 关系的n次曲线数学模型公式:
[0038] Ferr=Cn×Tn+Cn‑1×Tn‑1+Cn‑2×Tn‑2+…+C1×T+C0;
[0039] 其中,Cn,Cn‑1,Cn‑2,…,C1,C0为误差补偿待定系数;
[0040] 步骤二、晶振校验:通过校验设备获取RTC晶振在n+1个不同温度点时的Ferr校验值:Ferr1,Ferr2,Ferr3,…Ferrn,Ferrn+1;
[0041] 步骤三、建立方程:将步骤二得到的所述Ferr校验值和对应的温度点数据代入到步骤一的n次曲线数学模中,形成以所述误差补偿待定系数Cn,Cn‑1,Cn‑2,…,C1,C0为未知数
的(n+1)元一次方程组;
[0042] 步骤四、方程求解:求解步骤三中的所述(n+1)元一次方程组,得到误差补偿待定系数Cn,Cn‑1,Cn‑2,…,C1,C0的实际数值;并将所述误差补偿待定系数的实际数值代入到步骤
一中的数学模型公式中;
[0043] 步骤五、补偿值计算:每分钟进行多次温度测量,取平均值,代入数学模型公式后,计算得到频率误差补偿值Ferr;
[0044] 步骤六、时域分段插值补偿:将所述频率误差补偿值Ferr通过时域分段插值补偿的方法进行补偿;所述时域分段插值补偿的方法如下:
[0045] (1)以RTC芯片中能够写入到补偿寄存器的最小补偿步长的ppm 值作为基准补偿值f;
[0046] (2)设置一个预定长度的补偿时域周期,并将所述补偿时域周期分割为若干个时间分段,所述时间分段的时长为t;所述若干个时间分段由k1个正补偿时间分段、k2个负补
偿时间分段和k3个零补偿时间分段所组成;
[0047] (3)进行分段补偿:在所述补偿时域周期的每一个正补偿时间分段内,在补偿寄存器中增加一个基准补偿值f即+f;在所述补偿时域周期的每一个负补偿时间分段内,在补偿
寄存器中减去一个基准补偿值f即-f;在所述补偿时域周期的每一个零补偿时间分段内,
保持补偿寄存器中的值不变即+0;通过设置适当的k1、k2和k3,实现在所述补偿时域周期内
所需的频率误差补偿值Ferr。
[0048] 优选的,所述n次曲线数学模型中的n≥5。
[0049] 更优选的,所述n次曲线数学模型中的n≥5。
[0050] 作为本发明中补偿时域周期的一种优选方案,所述补偿时域周期为60s,所述时间分段的时长为5s。(备注:其中的s即为时间单位秒,下同)
[0051] 其中,在所述补偿时域周期内各所述时间分段的补偿起始点分别为第3s、第8s、第13s、第18s、第23s、第28s、第33s、第38s、第43s、第48s、第53s、第58s。
[0052] 其中,所述RTC芯片中能够写入到补偿寄存器的最小补偿步长为 0.96ppm,换算成补偿值为0.08s/day。
[0053] 当所述补偿时域周期内的日计时误差的初始值为‑0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,-f,+0,+0,+
f,-f,+0,+0,+f,-f,+0,+0,+0,从而实现‑0.02s/day的精度补偿结果。
[0054] 当所述补偿时域周期内的日计时误差的初始值为‑0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,+0,-f,+0,+f,
+0,-f,+0,+f, +0,-f,+0,实现‑0.01s/day的精度补偿结果。
[0055] 当所述补偿时域周期内的日计时误差的初始值为+0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+f,+0,+0,-
f,+f,+0,+0,-f, +f,+0,+0,实现+0.02s/day的精度补偿结果。
[0056] 当所述补偿时域周期内的日计时误差的初始值为+0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+0,+f,+0,-
f,+0,+f,+0,实现 +0.01s/day的精度补偿结果。
[0057] 其中,所述基准补偿值f为0.08s/day。
[0058] 考虑到温度测量存在一定的误差,本身会存在0.01的偏差,所以最好根据温度变化引起的不同的日计时误差,其所述补偿时域周期的补偿起始点相互错开设置,从而把温
度的影响降低到最小。
[0059] 实施例2:
[0060] 本实施例用于建立RTC晶振频率误差补偿值Ferr与温度T关系的三次曲线数学模型公式,并根据该数学模型公式进行RTC校正补偿,其可以不依赖晶振的固有B值和T0值,也
即在校准中可以把温度的测量误差进行消除。
[0061] 根据该数学模型公式得到补偿值后,需要把这个值写入到芯片的寄存器中,芯片就会按照这个值进行相应的频率补偿,但是有很多芯片的补偿的步长较大,达到了
0.96PPM,也即为0.08s/day,想要提升到 0.24ppm,也即为0.02s/day,必须使用插值算法才
能进一步提升校准精度。
[0062] 具体步骤如下:
[0063] 1.建立多次曲线的数学模型:
[0064] Ferr=Cn×Tn+Cn‑1×Tn‑1+Cn‑2×Tn‑2+…+C1×T+C0
[0065] 2.根据模型可知,如果想要得到一个完整的曲线,只需要知道 (n+1)个温度点需要进行的补偿值即可,根据最小二乘法原理可知曲线越多次方,最后的结果值越精准。
[0066] 3.假设我们进行四次曲线补偿,就需要获取5个温度点的补偿值,5个点选取可以为‑25℃,0℃,25℃,45℃,65℃,整体算式如下:
[0067] Ferr1=C4×(‑25)4+C3×(‑25)3+C2×(‑25)2+C1×(‑25) +C0
[0068] Ferr2=C0
[0069] Ferr3=C4×(25)4+C3×(25)3+C2×(25)3+C1×(25)+C0
[0070] Ferr3=C4×(45)4+C3×(45)3+C2×(45)3+C1×(45)+C0
[0071] Ferr3=C4×(65)4+C3×(65)3+C2×(65)3+C1×(65)+C0
[0072] 其中,Ferr1、Ferr2、Ferr3、Ferr4,Ferr5是通过校验设备得到的日计时误差换算成写入到芯片中的寄存器值。由以上算式就可以计算出C4,C3,C3,C1,C0
[0073] 补偿值计算时,每分钟进行多次温度测量,取平均值,代入曲线公式后,计算出Ferr,写入到芯片的寄存器中。由此可以实现全温度范围内精准补偿。
[0074] 4.通过以上的校准,由于步长是0.08s/day,最终的校准分辨率为±0.04s/day,如需在此上面再做提升,我们用60秒做为一个时间段,如果要把日计时误差校准到±0.02s/
day以内,必须在时域上做插值补偿才可以,具体算法如下:我们以5s为一个时间分割点,为
避开00秒这个比较特殊的时间点,选择从03秒开始,具体见下表:
[0075]
[0076] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰
也应视为本发明的保护范围。