本帖最后由 Plantt 于 2019-9-17 22:35 编辑
MC9S08MG64实时时钟的校准和补偿
MC9S08MG64是针对国网单相电表推出的一款半SoC芯片,它集成了片上液晶驱动器和实时时钟模块,以及多种通讯接口。用于智能电表设计时,配合外部电能计量芯片,即可完成性价比良好的单相电表设计。此单片机内部集成的实时时钟模块(iRTC) 具有时间保持和日历功能。对由晶体本身的频偏及温度漂移引起的误差,可以利用实时时钟本身的补偿功能进行修正。本文讨论如何对实时时钟进行校准和补偿,以达到国网要求的标准(误差小于5ppm)。
]晶体的特性 1.1 负载电容的影响 一般说来晶体的振荡频率是很稳定的,但我们也知道晶体的振荡频率受负载电容和温度变化的影响。如下图所示的例子为一个负载电容为12.5pF的晶体,当负载电容变化时其振荡频率偏差的随动特性
振荡电路匹配电容的离散性和温度漂移,电路板的分布电容都会对振荡频率造成影响。对于MC9S08MG64,使用32.768kHz晶体时其振荡器可以有两种配置。当使用低功耗模式(RANG = 0, HGO = 0)时,负载电容、反馈电阻、和串行电阻已经集成在单片机内部了,外面只需加晶体即可。这种配置的功耗比较低,且可以抵消上述误差因素的影响。当使用高增益模式(RANG = 0,HGO = 1)时,外部要加负载电容、反馈和串行电阻。这种配置的抗干扰能力比较强,但外部元器件对振荡频率的精确性存在影响。对于负载电容引起的频率漂移,我们可以通过选用温漂系数小的电容(如COG电容)来减小其影响。
1.2 温漂
上图是音叉型的晶体振荡频率随温度变化的曲线,它可以用抛物线方程描述为: Fdev = B (T - TQ)2 + K 其中:
由以上分析可见,对于一个晶体振荡电路,影响其振荡频率误差的因素有: 负载电容 晶体在转折温度点的频率偏差K 温漂Fdev 因此,要使iRTC精确计时,必须消除以上因素带来的误差。负载电容可以通过振荡电路元器件的选择来保证。而后两项则必须通过软件的办法来校准和补偿。
|