您好,欢迎来到维库电子市场网 登录 | 免费注册
16年
企业信息

深圳扬兴科技有限公司

卖家积分:15001分-16000

营业执照:已审核

经营模式:原厂制造商

所在地区:广东 深圳

企业网站:
https://www.yxc.hk/

人气:1899407
企业认证
源头工厂
企业档案

相关证件:营业执照已审核 

会员类型:

会员年限:16年

小扬 企点QQQQ:3008636061

电话:13332948667

手机:13332948667

阿库IM:

地址:深圳市龙华区民塘路385号汇德大厦1号楼19层(扬兴科技)

E-mail:3008636061@qq.com

确定晶振误差校准值的方法

发布时间: 2016/11/17 15:08:33 | 1033 次阅读

计算PIC24F RTCC 的晶振校准常数

为了化计时误差, Microchip 引入了的思路:根据装入到校准寄存器RCFGCAL 中的误差值,自动修正RTCC 计数器值。 寄存器的值用来每分钟自动调整晶振误差,不会产生软件开销。为了确定正确的校准值,应找到每分钟的误差时钟脉冲数,并把这个值存放在RCFGCAL 寄存器的低半部分中。 值以位有符号数格式存放。外设把这个值乘以四,然后每分钟把它从RTCC 定时器中加上或者减去。使用公式1,根据晶振误差(ppm)率,计算正确的校准值。在公式1中,误差时钟分是一个有符号值,从而根据其正负号来对RCFGCAL 值进行加减。



确定晶振误差校准值的方法

要校准实时时钟计数器,步是确定与振荡器关联的误差。确定误差的方法很多,本文档重点讨论两类误差估计和校准方法。
方法1 – 基于查找表的途径前面讨论过,温度和负载电容是导致振荡器误差的重要来源。可以假定负载电容导致的误差是恒定的,而温度导致的误差是可变的。基于这个假设,我们可以生成温度— 晶振误差查找表。然后,可在固定时间间隔更新RCFGCAL 值,或者在温度发生变化时进行更新。

方法2 – 基于参考系统时钟的途径

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

根据上述计算,显然,通过比较低频晶振与高频稳定的系统振荡器,使用软件例程可改善频率较低晶振的。使用这种方法校准晶振的所需步骤如下:

1. 选择系统频率,系统频率应是RTCC 定时器频率的整数倍。这将简化计算,减少由于定时器异步操作导致的误差。

2. 配置可用的定时器,使用系统时钟作为时钟源,选择约秒钟溢出对应的预分频值。

3. 初始化RTCC

4. 使能每秒钟的RTCC 中断。

5. 在个中断中,清零定时器计数。

6. 在后续中断中,清除RTCC 中断并读取定时器值。

7. 使用下面的公式,计算晶振频率误差:误差计数 = 32768 – 一秒内累积的定时器计数

8. 使用下面的公式,把频率误差转换为校准值:校准值 误差计数/4

9. 计算分钟的平均校准值。 把计算得到的平均值载入RCFGCAL 寄存器,每分钟载入。

10. 需要的话,重复510, 补偿系统温度变化,通常在分钟之间。

通过这种方法,我们可以克服方法的所有局限;不过,这需要高度稳定且的系统时钟和定时器。

使用这个配置,每秒钟定时器应该有32,768 次计数。如果晶振的误差是0 ppm,计数的任何变化都将导致计数误差。

计数误差 = 32768 – 定时器计数值RFGCAL 值 计数误差/4

结论

如果没有运行时误差校准,使用廉价的时钟晶振来设计实时时钟及日历将充满挑战。现在,针对这一问题,Sitime提供了简便且环保的解决方案,使用Microchip全硅可编程晶振,您将能够实现误差小于±2.59 月的实时时钟。深圳扬兴科技有限公司作为Sitime代理商,公司备有大量现货,无论是在货期和价格方面都有优势。