首页> 中国专利> 一种基于时域分段插值补偿提高RTC校准精度的方法

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

摘要

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

著录项

  • 公开/公告号CN112731790A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 江阴长仪集团有限公司;

    申请/专利号CN202011416453.4

  • 申请日2020-12-07

  • 分类号G04G5/00(20130101);

  • 代理机构32247 无锡义海知识产权代理事务所(普通合伙);

  • 代理人杨晓华

  • 地址 214400 江苏省无锡市江阴市澄江街道新华村(新华工业园区东区)

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

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

背景技术

随着售电业务进一步的放开,现货交易必将在未来电力市场占据核心位置。智能电能表做为整个电网中的基础单元,现货交易的实现必须要通过采集智能电表的基础数据进行负荷分析,现货交易的本质是负荷在不同时间段的分割和计算。这就必然要求智能电能表具备精准的实时时钟功能。现在一般智能电能表都具备实时时钟功能,根据行业标准,要求其在工作温度范围内精度满足小于1s/day(11.5ppm),在23℃时满足小于0.5s/day(5.75ppm)。

根据行业标准要求,以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这个精度要求的。

目前智能电能表行业都采用了主控芯片带RTC的方式做为时钟,时钟的准确度完全依赖于外置的32.768kHz晶振的曲线的一致性以及对曲线的校准,32.768kHz晶振的温度和频率偏差曲线见图1,一般晶振手册推荐的曲线为一个接近于2次曲线的公式Ferr=B*(T-T0)

发明内容

本发明目的是要在不增加硬件成本的基础上,通过一种基于时域分段插值补偿方法,实现实时时钟的高精度校准,达到0.02s/day的最高特性检测要求,以满足时钟精准度的要求。具体的技术方案如下:

一种基于时域分段插值补偿提高RTC校准精度的方法,包括如下步骤:

步骤一、数学建模:建立RTC晶振频率误差补偿值Ferr与温度T关系的n次曲线数学模型公式:

Ferr=C

其中,C

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

步骤三、建立方程:将步骤二得到的所述Ferr校验值和对应的温度点数据代入到步骤一的n次曲线数学模中,形成以所述误差补偿待定系数C

步骤四、方程求解:求解步骤三中的所述(n+1)元一次方程组,得到误差补偿待定系数C

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

步骤六、时域分段插值补偿:将所述频率误差补偿值Ferr通过时域分段插值补偿的方法进行补偿;所述时域分段插值补偿的方法如下:

(1)以RTC芯片中能够写入到补偿寄存器的最小补偿步长的ppm值作为基准补偿值f;

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

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

优选的,所述n次曲线数学模型中的n≥5。

更优选的,所述n次曲线数学模型中的n≥5。

作为本发明中补偿时域周期的一种优选方案,所述补偿时域周期为60s,所述时间分段的时长为5s。(备注:其中的s即为时间单位秒,下同)

其中,在所述补偿时域周期内各所述时间分段的补偿起始点分别为第3s、第8s、第3s、第13s、第18s、第23s、第28s、第33s、第38s、第43s、第48s、第53s、第58s。

其中,所述RTC芯片中能够写入到补偿寄存器的最小补偿步长为0.96ppm,换算成补偿值为0.08s/day。

当所述补偿时域周期内的日计时误差的初始值为-0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,-f,+0,+0,+f,-f,+0,+0,+f,-f,+0,+0,+0,从而实现-0.02s/day的精度补偿结果。

当所述补偿时域周期内的日计时误差的初始值为-0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,+0,-f,+0,+f,+0,-f,+0,+f,+0,-f,+0,实现-0.01s/day的精度补偿结果。

当所述补偿时域周期内的日计时误差的初始值为+0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+f,+0,+0,-f,+f,+0,+0,-f,+f,+0,+0,实现+0.02s/day的精度补偿结果。

当所述补偿时域周期内的日计时误差的初始值为+0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+0,+f,+0,-f,+0,+f,+0,实现+0.01s/day的精度补偿结果。

其中,所述基准补偿值f为0.08s/day。

考虑到温度测量存在一定的误差,本身会存在0.01的偏差,所以最好根据温度变化引起的不同的日计时误差,其所述补偿时域周期的补偿起始点相互错开设置,从而把温度的影响降低到最小。

本发明的有益效果是:

第一,本发明的一种基于时域分段插值补偿提高RTC校准精度的方法,在不增加硬件成本的基础上,通过一种基于时域分段插值补偿方法,实现实时时钟的高精度校准,达到0.02s/day的最高特性检测要求,以满足时钟精准度的要求。通过这个方法极大的提高了日计时的精度,从而使时钟精度也得到了提高,从而为精准的现货交易提供公平性。

第二,本发明的一种基于时域分段插值补偿提高RTC校准精度的方法,建立了通过校验设备校正的RTC晶振频率误差补偿值Ferr与温度T关系的高次曲线数学模型公式,相比传统的Ferr计算公式其精度更高。

附图说明

图1是本发明的一种基于时域分段插值补偿提高RTC校准精度的方法的实现原理图;

图2是晶振的温度和频率偏差曲线。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例1:

如图1至2所示为本发明的一种基于时域分段插值补偿提高RTC校准精度的方法的实施例,包括如下步骤:

步骤一、数学建模:建立RTC晶振频率误差补偿值Ferr与温度T关系的n次曲线数学模型公式:

Ferr=C

其中,C

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

步骤三、建立方程:将步骤二得到的所述Ferr校验值和对应的温度点数据代入到步骤一的n次曲线数学模中,形成以所述误差补偿待定系数C

步骤四、方程求解:求解步骤三中的所述(n+1)元一次方程组,得到误差补偿待定系数C

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

步骤六、时域分段插值补偿:将所述频率误差补偿值Ferr通过时域分段插值补偿的方法进行补偿;所述时域分段插值补偿的方法如下:

(1)以RTC芯片中能够写入到补偿寄存器的最小补偿步长的ppm值作为基准补偿值f;

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

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

优选的,所述n次曲线数学模型中的n≥5。

更优选的,所述n次曲线数学模型中的n≥5。

作为本发明中补偿时域周期的一种优选方案,所述补偿时域周期为60s,所述时间分段的时长为5s。(备注:其中的s即为时间单位秒,下同)

其中,在所述补偿时域周期内各所述时间分段的补偿起始点分别为第3s、第8s、第3s、第13s、第18s、第23s、第28s、第33s、第38s、第43s、第48s、第53s、第58s。

其中,所述RTC芯片中能够写入到补偿寄存器的最小补偿步长为0.96ppm,换算成补偿值为0.08s/day。

当所述补偿时域周期内的日计时误差的初始值为-0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,-f,+0,+0,+f,-f,+0,+0,+f,-f,+0,+0,+0,从而实现-0.02s/day的精度补偿结果。

当所述补偿时域周期内的日计时误差的初始值为-0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为+f,+0,-f,+0,+f,+0,-f,+0,+f,+0,-f,+0,实现-0.01s/day的精度补偿结果。

当所述补偿时域周期内的日计时误差的初始值为+0.04s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+f,+0,+0,-f,+f,+0,+0,-f,+f,+0,+0,实现+0.02s/day的精度补偿结果。

当所述补偿时域周期内的日计时误差的初始值为+0.05s/day,通过将所述补偿时域周期内从第3s开始到第58s的各时间分段的分段补偿方法依次设置为-f,+0,+f,+0,-f,+0,+f,+0,实现+0.01s/day的精度补偿结果。

其中,所述基准补偿值f为0.08s/day。

考虑到温度测量存在一定的误差,本身会存在0.01的偏差,所以最好根据温度变化引起的不同的日计时误差,其所述补偿时域周期的补偿起始点相互错开设置,从而把温度的影响降低到最小。

实施例2:

本实施例用于建立RTC晶振频率误差补偿值Ferr与温度T关系的三次曲线数学模型公式,并根据该数学模型公式进行RTC校正补偿,其可以不依赖晶振的固有B值和T0值,也即在校准中可以把温度的测量误差进行消除。

根据该数学模型公式得到补偿值后,需要把这个值写入到芯片的寄存器中,芯片就会按照这个值进行相应的频率补偿,但是有很多芯片的补偿的步长较大,达到了0.96PPM,也即为0.08s/day,想要提升到0.24ppm,也即为0.02s/day,必须使用插值算法才能进一步提升校准精度。

具体步骤如下:

1.建立多次曲线的数学模型:

Ferr=C

2.根据模型可知,如果想要得到一个完整的曲线,只需要知道(n+1)个温度点需要进行的补偿值即可,根据最小二乘法原理可知曲线越多次方,最后的结果值越精准。

3.假设我们进行四次曲线补偿,就需要获取5个温度点的补偿值,5个点选取可以为-25℃,0℃,25℃,45℃,65℃,整体算式如下:

Ferr1=C

Ferr2=C

Ferr3=C

Ferr3=C

Ferr3=C

其中,Ferr1、Ferr2、Ferr3、Ferr4,Ferr5是通过校验设备得到的日计时误差换算成写入到芯片中的寄存器值。由以上算式就可以计算出C

补偿值计算时,每分钟进行多次温度测量,取平均值,代入曲线公式后,计算出Ferr,写入到芯片的寄存器中。由此可以实现全温度范围内精准补偿。

4.通过以上的校准,由于步长是0.08s/day,最终的校准分辨率为±0.04s/day,如需在此上面再做提升,我们用60秒做为一个时间段,如果要把日计时误差校准到±0.02s/day以内,必须在时域上做插值补偿才可以,具体算法如下:我们以5s为一个时间分割点,为避开00秒这个比较特殊的时间点,选择从03秒开始,具体见下表:

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号