MC9S08MG64实时时钟的校准和补偿(二)
在此方案中我们使用总线时钟(bus clock),该总线时钟由外部的32768Hz 晶体(XOSC1)组成的振荡器产生参考频率,然后经由片内倍频电路锁频环(FLL)倍频获得。锁频环(FLL) 和实时时钟(iRTC)共用同一外部振荡源。锁频环(FLL)的倍频系数设置为512,所以总线频率最大为16.78MHz(512×32768)。每一秒的补偿时间为(512×N)/M 总线时钟周期,它消除掉了温度和晶体老化的影响。
从图2-1(补偿后的实时时钟秒脉冲输出)中我们可以看出,当前补偿周期的最后一个时钟沿就是下一个补偿周期的第一个时钟沿。用第一个时钟沿做对齐,实时时钟的补偿精度得到继承(上升沿和下降沿都可以用来做对齐;由软件来设定)。
MC9S08GW64 的FTM模块的每个通道可以单独工作在输入捕捉或者输出比较模式。我们可以使用一个FTM模块的两个通道,其中的一个通道来捕捉iRTC输出的窄脉冲,另一个通道输出50%占空比的秒脉冲。
当 FTM模块的通道1捕捉IRTCCLKOUT的上升沿(或下降沿)时使用总线时钟,在FTMCH1中断触发后保存FTM计数器的捕获值到FTMCH1V。在FTMCH1中断程序中,FTMCH0被设置为输出比较模式,输出比较值设置为FTMCH1V加一个偏移Ф。Ф为一个常量加每一个脉冲周期的调整值。表3列出了IRTCCLKOUT和FTM输出边沿的上升时刻,以及两者的脉冲宽度。
表3 IRTCCLKOUT 和FTM 输出时序
TAVG = V ÷ M(晶体振荡周期)
= 512 × V ÷ M(总线时钟周期)
从表3可以看出,RTCCLKOUT先右移了σ。每一个秒脉冲用平均的补偿值进行补偿。
图4-1和图4-2对这种补偿方法做了详细地说明。图4-1演示了加入一些振荡周期的情形。
在图4-1中:
图4-2 说明了减少一些振荡周期的情形。
图4-2:
偏移量 σ(延迟)有两个作用:
对实时时钟iRTC 输
电涌保护器相关文章:电涌保护器原理
过电压保护器相关文章:过电压保护器原理 电机保护器相关文章:电机保护器原理
评论