MCU内置RTC实现时钟精确计时的方法技术

技术编号:6505557 阅读:1063 留言:0更新日期:2017-05-06 22:47
本发明专利技术公开了MCU内置RTC实现时钟精确计时的方法,其特征是,包括以下步骤:(1)预分频器的调整:在使用kHZ晶振的情况下,预分频器默认值为k-1,预分频器计数到k值产生1个秒脉冲中断;(2)时钟校准寄存器的调整:在固定的时间窗口下,温度传感器采集外部的温度,利用温度查得频偏的数值计算出实际的频偏PPM个数,从而计算出校准寄存器的值;(3)由温度传感器采样温度,并测出在相应温度下的频率输出,与基准频率计算得出频偏acc,由这些大量数据拟合温度和频偏的函数的k值,从而产生一张温度与频偏的表,软件通过查表可以得到准确的频偏PPM值,该函数如下:(4)在RTC中断服务程序中间向RTC预分频寄存器和校准寄存器写入相应的值。

【技术实现步骤摘要】

本专利技术涉及各种单相、三相及多功能电能表内置RTC实现时钟精确计时的方法。
技术介绍
目前传统的电能表时钟通常采用独立带温补的RTC方式,使用该方式,需要另布线路、占用MUC资源,投资大。而MUC内置的RTC在性能及价格有较大的优势,但因其使用外置晶体而易受温度影响而产生频偏,导致MCU内置的RTC的误差远大于独立带温补的RTC的误差,从而造成电能表时钟不准。因此,如何根据晶体振荡特性和温度关系,对MCU内置RTC的预分频器寄存器和时钟校准寄存器进行调整以达到准确的时钟输出显得尤为重要。
技术实现思路
本专利技术的目的是:克服现有技术的缺点,提供一种RTC的软件校时,利用外部晶振和外部温度传感器,利用一定的算法使内部RTC可靠稳定的工作。为实现上述目的,本专利技术采用的技术方案是:MCU内置RTC实现时钟精确计时的方法,包括以下步骤:(1)预分频器的调整:在使用kHZ晶振的情况下,预分频器默认值为k-1,预分频器计数到k值产生1个秒脉冲中断。因此,对于预分频计数器,每调整一个“比特”,对应调整的误差为:1/k*1000,000个ppm,该调整可由软件控制,调整在1秒内生效。(2)时钟校准寄存器的调整:在固定的时间窗口下,温度传感器采集外部的温度,利用温度查得频偏的数值计算出实际的频偏PPM个数,从而计算出校准寄存器的值。(3)由温度传感器采样温度,并测出在相应温度下的频率输出,与基准频率计算得出频偏acc,由这些大量数据拟合温度和频偏的函数的k值,从而产生一张温度与频偏的表,软件通过查表可以得到准确的频偏PPM值,该函数如下:                                                (4)在RTC中断服务程序中间向RTC预分频寄存器和校准寄存器写入相应的值。本专利技术的有益效果是:通过外部温度传感器得到准确的频偏PPM,由该PPM可以预算得到实际的写入校准寄存器的值,精确校准时钟。附图说明下面结合附图和具体实施方式对本专利技术作进一步详细叙述。图1为本专利技术晶体频偏值与温度的关系图。具体实施方式如图1所示,本专利技术、MCU内置RTC实现时钟精确计时的方法,包括以下步骤:(1)预分频器的调整:在使用kHZ晶振的情况下,预分频器默认值为k-1,预分频器计数到k值产生1个秒脉冲中断。因此,对于预分频计数器,每调整一个“比特”,对应调整的误-->差为:1/k*1000,000个ppm,该调整可由软件控制,调整在1秒内生效;(2)时钟校准寄存器的调整:在固定的时间窗口下,温度传感器采集外部的温度,利用温度查得频偏的数值计算出实际的频偏PPM个数,从而计算出校准寄存器的值;(3)由温度传感器采样温度,并测出在相应温度下的频率输出,与基准频率计算得出频偏acc,由这些大量数据拟合温度和频偏的函数的k值,从而产生一张温度与频偏的表,软件通过查表可以得到准确的频偏PPM值,该函数如下:;(4)在RTC中断服务程序中间向RTC预分频寄存器和校准寄存器写入相应的值。本专利技术采用的技术方案,向RTC预分频寄存器和时钟校准寄存器写入初始值,通过上位机给RTC对时,采集温度传感器的数据和对应温度下读RTC预分频器的值,构成一张数据表,采用数据处理建立频偏和温度的数学模型;根据模型定出相应的参数作为该批次晶振的一张温度和频偏的数据表;用一个定时器作为秒脉冲的翻转处理,从IO口输出秒脉冲用于测试,同时进入定时器中断读出计数器的值,这个值用于在固定时间窗口计算RTC跨过的脉冲数的平均,用于计算写入定时器预分频器的值,达到秒脉冲输出精确;在固定时间窗口读外部温度传感器的值,利用查表得方法得出频偏值,通过数据计算(可以由相应的MCU数据手册得到)得到实际的频偏值和预分频值,再根据一个数量的PPM计算到校准寄存器的值,这样预分频值和校准寄存器的值都得到了,在RTC中断服务程序中向RTC预分频寄存器和校准寄存器写入相应的值。本专利技术的有益效果是:通过外部温度传感器得到准确的频偏PPM,由该PPM可以预算得到实际的写入校准寄存器的值,精确校准时钟。-->本文档来自技高网...

【技术保护点】
1.MCU内置RTC实现时钟精确计时的方法,其特征是,包括以下步骤:(1)预分频器的调整:在使用kHZ晶振的情况下,预分频器默认值为k-1,预分频器计数到k值产生1个秒脉冲中断,对于预分频计数器,每调整一个“比特”,对应调整的误差为:1/k*1000,000个ppm,该调整可由软件控制,调整在1秒内生效;(2)时钟校准寄存器的调整:在固定的时间窗口下,温度传感器采集外部的温度,利用温度查得频偏的数值计算出实际的频偏PPM个数,从而计算出校准寄存器的值;(3)由温度传感器采样温度,并测出在相应温度下的频率输出,与基准频率计算得出频偏acc,由这些大量数据拟合温度和频偏的函数的k值,从而产生一张温度与频偏的表,软件通过查表可以得到准确的频偏PPM值,该函数如下:;(4)在RTC中断服务程序中间向RTC预分频寄存器和校准寄存器写入相应的值。

【技术特征摘要】
2010.11.29 CN 201010563599.11.MCU内置RTC实现时钟精确计时的方法,其特征是,包括以下步骤:(1)预分频器的调整:在使用kHZ晶振的情况下,预分频器默认值为k-1,预分频器计数到k值产生1个秒脉冲中断,对于预分频计数器,每调整一个“比特”,对应调整的误差为:1/k*1000,000个ppm,该调整可由软件控制,调整在1秒内生效;(2)时钟校准寄存器的调整:在固定的时间窗口下,温度传感...

【专利技术属性】
技术研发人员:梁世清陆永华尹建丰季海涛
申请(专利权)人:江苏林洋电子股份有限公司
类型:发明
国别省市:32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1