RTC 为整个电子系统提供时间基准,MCU、MPU、CPU 均离不开 RTC 电路设计,在设计、应用 RTC 单元时,常常会发现延时、超时或者功耗过大现象,如何解决 RTC 精度以及功耗问题呢?本文将为您介绍时钟芯片 PCF8563 应用设计,并给出相应的解决方法。
 
RTC(Real_Time Clock)为整个电子系统提供时间基准,MCU、MPU、CPU 均离不开 RTC 电路设计,在设计、应用 RTC 单元时,常常会发现延时、超时或者功耗过大现象,如何解决 RTC 精度以及功耗问题呢?本文将为您介绍时钟芯片 PCF8563 应用设计,并给出相应的解决方法。
 
一、什么是 RTC
实时时钟(Real_Time Clock)简称为 RTC,主要为各种电子系统提供时间基准。通常把集成于芯片内部的 RTC 称为片内 RTC,在芯片外扩展的 RTC 称为外部 RTC,PCF8563 是一款低功耗的 CMOS 实时时钟 / 日历外部芯片,支持可编程时钟输出、中断输出、低压检测等,与处理器通过 I2C 串行总线进行通信,最大总线速率可达 400kHz。
 
二、RTC 精度设计
RTC 的主要职责就是提供准确的时间基准,计时不准的 RTC 毫无价值可言。目前部分 MCU 在片内已集成 RTC,实际测试中在电池供电 6 小时环境下片内 RTC 的偏差在 1-2 分钟。因此,若对实时时钟有较高的要求则需优先考虑外扩 RTC,同时要求时钟精度更高的 RTC,比如 PCF8563,表 1 所示是不同 RTC 的时钟精度对比。
 
表 1  常见 RTC 时钟精度对比
 
1)电路设计
 
RTC 设计电路简约而不简单,时钟芯片的选择、晶振的选择、电路设计、器件放置、阻抗控制、PCB 走线规范均会影响 RTC 的时间基准的稳定性, 图 1 为 RTC 芯片 PCF8563 电路设计。
 
图 1  PCF8563 参考电路图
 
2)晶体对地电容容值选择
 
负载电容 Cload= [ (Ca*Cb)/(Ca+Cb) ]+Cstray,其中 Ca、Cb 为接在晶体两引脚到地的电容,Cstray 为晶体引脚至处理器晶体管脚的走线电容(即杂散电容总和),一般 Cstray 的典型值取 4~6pF 之间;如要满足晶体 12.5pF 负载电容的要求,Cload= [ (15*15)/(15+15) ]+5=12.5pF。
 
图 2  常见时钟电路
 
3)PCB 布线
 
由于 RTC 的晶振输入电路具有很高的输入阻抗,因此它与晶振的连线犹如一个天线,很容易耦合系统其余电路的高频干扰。而干扰信号被耦合到晶振引脚导致时钟数的增加或者减少,考虑到线路板上大多数信号的频率高于 32.768kHz,所以通常会发生额外的时钟脉冲计数,因此晶振应尽可能靠近 OSC1 和 OSC2 引脚放置,同时晶振、OSC1 和 OSC2 的引脚最好布成地平面,具体 PCB 布线如图 3 所示。
 
图 3  PCB 布线
 
4)电路相关说明
 
如图 1 所示,R56、R57 为 I2C 总线上拉电阻,PCF8563 中断输出及时钟输出均为开漏输出,所以也需要外接上拉电阻,如图 1 中的的 R58、R59,若不使用这两个信号,对应的上拉电阻可以不用。
 
对于 PCF8563 芯片,需外接时钟晶振 32.768kHz (如图 1 的 X1),推荐使用±20ppm 或更稳定的晶振。PCF8563 典型应用电路推荐使用 15pF 的晶振匹配电容,实际应用时可以作相应的调整,以使 RTC 获得更高精度的时钟源。一般晶振匹配电容在 15pF~21pF 之间调整(相对于±20ppm 精度的 32.768kHz 晶振),15pF 电容时时钟频率略偏高,21pF 电容时时钟频率略偏低。
 
5)精度调整方法
 
1. 设置 PCF8563 时钟输出有效(CLKOUT),输出频率为 32.768kHz;
 
2. 使用高精度频率计测量 CLKOUT 输出的频率;
 
3. 根据测出的频率,对 CB1、CB2、CB3 作短接或断开调整,频率比 32.768kHz 偏高时,加大电容值,频率比 32.768kHz 偏低时,减小电容值。
 
说明:图 1 中的 C41、C42、C43 的值在 1pF~3pF 之间,根据实际情况确定组合方式,以便于快速调整,推荐使用(3pF、3pF、3pF)、(1pF、2pF、3pF)、(2pF、3pF、4pF)。
 
三、RTC 低功耗设计
很多 RTC 设计成可以只依靠一块电池供电就能工作,如果主电源关闭,仅依靠一小块锂电池就能够驱动振荡器和整个时钟电路,如何降低 RTC 电路工作时功率消耗?
 
通过应用几种不同的方法可以降低 RTC 功耗:
 
选择低功耗的 RTC,比如 PCF8563,表 2 所示是不同 RTC 的功率消耗对比
 
表 2  常见 RTC 功率消耗对比
 
 
RTC 电源切换电路中,选择漏电流小的二极管比如 BAV74,当系统电源电压 3.3V 断开时,BT1 锂电池 CR2032(3V/225mAh)通过二极管向 RTC 供电;
 
 
图 4  RTC 电源切换电路
 
尽量少而且合理地访问 RTC,减少 I2C 总线的动态电流;
 
将 I2C 总线的上拉电阻设计得尽量大些,比如 10k;
 
在应用时,通过设置寄存器关闭 RTC 的时钟 CLKOUT 输出。