晶振自校准老化以及温补可操作性指南

1. 确定晶振误差校准值的方法
要校准实时时钟计数器,第一步是确定与振荡器关联的 误差。确定误差的方法很多,本文档重点讨论两类误差 估计和校准方法。 方法 1 – 基于查找表的途径 前面讨论过,温度和负载电容是导致振荡器误差的重要 来源。可以假定负载电容导致的误差是恒定的,而温度 导致的误差是可变的。基于这个假设,我们可以生成温 度 — 晶振误差查找表。然后,可在固定时间间隔更新 RCFGCAL 值,或者在温度发生变化时进行更新。
图 4 和图 5 所示是开发基于查找表的晶振校准软件的典 型流程图。 从 TC 曲线生成查找表 考虑图 2 所示的 X-Cut 时钟晶振 TC 曲线,曲线由公式 2 产生。 例 1A、例 1B 和例 2 说明了如何计算校准值,附录 A:“ 查找表 ” 给出了完整的查找表,针对的温度范围从 -25°C 至 85°C,考虑的是 10 ppm 的负载电容失配情形。

 方法 2 – 基于参考系统时钟的途径 方法 1 使用附录 A:“ 查找表 ” 中给出的事先计算好的 表。此表没有考虑诸如老化、器件与器件之间的差异性 或者环境变化这样的因素。 在嵌入式系统中大部分高频晶振是 AT-Cut(条形切割) 晶振,与 X-Cut 晶振相比较, AT-Cut 晶振的精度更高(0.1 ppm 至 4 ppm)且温度漂移更小。通过比较 RTCC 值与基于这些高频晶振的定时器值,可以最小化效应 / 误差,公式 4 说明了两种时钟源在一秒钟之内的误差。

 根据上述计算,显然,通过比较低频晶振与高频稳定的 系统振荡器,使用软件例程可改善频率较低晶振的精 度。使用这种方法校准晶振的所需步骤如下: 1. 选择系统频率,系统频率应是 RTCC 定时器频率 的整数倍。这将简化计算,减少由于定时器异步 操作导致的误差。 2. 配置可用的定时器,使用系统时钟作为时钟源, 选择约 2 秒钟溢出对应的预分频值。 3. 初始化 RTCC。 4. 使能每秒钟的 RTCC 中断。 5. 在第一个中断中,清零定时器计数。 6. 在后续中断中,清除 RTCC 中断并读取定时器 值。 7. 使用下面的公式,计算晶振频率误差: 误差计数 = 32768 – 一秒内累积的定时器计数 8. 使用下面的公式,把频率误差转换为校准值: 校准值 = 误差计数 /4 9. 计算 1 分钟的平均校准值。把计算得到的平均值 载入 RCFGCAL 寄存器,每分钟载入一次。 10. 需要的话,重复5至10, 补偿系统温度变化,通常 在 1 至 5 分钟之间。
通过这种方法,我们可以克服方法 1 的所有局限;不 过,这需要高度稳定且精确的系统时钟和定时器。

 使用这个配置&

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪江南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值