高精度RTC需求来源
在电子电力行业中的一些应用如智能电表对计时精度有严格的要求,需要时钟误差PPM在个位数以内甚至更低。然而,直接依靠晶振产生的时钟往往不能满足技术规范要求。例如,常见的32.768KHz圆柱晶振,其温度特性曲线是以理想室温25℃为中心线的向下抛物线,温度变低或变高都会使频率稳定度变差,全温范围的时钟误差可达60PPM以上。
图表 1:晶振随温度变化的频差
为了实现符合规范要求的高精度RTC,业界常用两种方案。其一是使用带有温补功能的8025T RTC时钟芯片。此类芯片集成了晶振和温度补偿算法等功能。其内部功能框图如下,此类芯片集成了晶振和温度补偿算法等功能,其内部功能框图如下,该类芯片采用硬件补偿的方式,综合成本较高。
图表 2:具有温补功能的RTC芯片功能框图
另一种方案是将关键的温度补偿算法以及可调校的RTC集成在主控MCU中,外部电路只需增加温度传感器和晶振,即可实现和时钟芯片一样的带有温补功能的高精度RTC。这种方案总体成本低,但是需要MCU提供适配硬件的温度补偿算法。
小华高精度RTC方案
小华半导体通过和深圳锐能微深度合作,将RTC温度补偿算法核心技术应用在HC32F4系列产品上,实现了可以达到电表规范要求的高精度RTC,其方案结构图如下。
图表 3:小华高精度RTC方案
晶振的误差主要包含两种:一种是常温公差,另一种是温漂误差。这些误差可由公式拟合计算,通过计算出多项式的各项系数之和,就可以得到晶振在任意温度下的频率误差。
图表 4:频率误差计算公式
本方案将实验得到的不同温度误差数据代入公式,计算出多项式的各项系数,然后得到晶振频率的实际误差数据。有了晶振误差的数据,就可以通过MCU的内置RTC补偿功能进行校准。通过配置补偿寄存器的值,将晶振输入有误差的时钟信号校准成消除误差的高精度时钟信号,然后提供给RTC的功能单元,用于产生精确的时间数据。
小华方案验证板
针对客户的评估需求,小华提供专用的验证板以及包含DEMO程序的开发包。
图表 5:验证版的PCB图
DEMO程序中的算法软件库包括晶振校准、补偿值计算、补偿值写入等主要程序功能。这些程序可以实现市电供电与低功耗供电情况下的温度补偿,程序功能介绍如下:
晶振校准程序。此程序根据不同温度标定点数据计算晶振多项式的系数,只需要执行一次。用户可将计算结果保存在存储器中,后续直接读取使用,流程如下图:
图表 6:晶振校准流程
晶振补偿程序。此程序实现温度采集及补偿值计算,使用当前温度值计算晶振的误差,然后根据误差值计算出需要写入MCU补偿寄存器的值,可每秒钟执行一次,流程如下图。
图表 7:晶振补偿计算流程
补偿值写入程序。此程序在RTC的秒中断函数中运行,将计算出的MCU补偿值写入到RTC校准寄存器中,流程如下图。
图表 8:补偿值写入流程
温度补偿算法可以对累计一段时间内的误差进行多级补偿,累计时间越久,可消除的误差越多,平均后的补偿精度就越高。本方案中,程序每10秒补偿精度约为0.3PPM,每60秒补偿精度约为0.06PPM,实际测试数据统计如下图。
图表 9:几个温度点的温补后精度
验证板功耗数据。MCU在1MHz工作主频下,工作电流小于600uA。MCU在8MHz工作主频下,工作电流小于1000uA。MCU在睡眠模式下,工作电流约为11uA。打开补偿算法功能,其唤醒后运行时间小于50ms,整个周期平均工作电流小于600uA。
想要了解及购买小华半导体产品,请前往iCEasy商城品牌专区:
iCEasy商城欢迎您的到来!