|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
RTC(Real_Time Clock)为整个电子系统提供时间基准,mcu、MPU、CPU均离不开RTC电路设计,在设计、应用RTC单元时,常常会发现延时、超时或者功耗过大现象,如何解决RTC精度以及功耗问题呢?本文将为您介绍时钟芯片PCF8563应用设计,并给出相应的解决方法。! |. P# |8 N: k/ o/ C7 F0 i* R
一、什么是RTC
! z* l' t! J' b3 N6 G: P4 k 实时时钟(Real_Time Clock)简称为RTC,主要为各种电子系统提供时间基准。通常把集成于芯片内部的RTC称为片内RTC,在芯片外扩展的RTC称为外部RTC,PCF8563是一款低功耗的CMOS实时时钟/日历外部芯片,支持可编程时钟输出、中断输出、低压检测等,与处理器通过I2C串行总线进行通信,总线速率可达400kHz。) @, q% ?* P g3 q3 m& a2 D7 L. l: I
二、RTC精度设计
, t1 D N7 Q) k RTC的主要职责就是提供准确的时间基准,计时不准的RTC毫无价值可言。目前部分MCU在片内已集成RTC,实际测试中在电池供电6小时环境下片内RTC的偏差在1-2分钟。因此,若对实时时钟有较高的要求则需优先考虑外扩RTC,同时要求时钟精度更高的RTC,比如PCF8563,表1所示是不同RTC的时钟精度对比。4 t: V# Z9 V, X7 J1 i2 q$ O
1)电路设计
. n* v: ~# O6 T8 r8 b. T. D RTC设计电路简约而不简单,时钟芯片的选择、晶振的选择、电路设计、器件放置、阻抗控制、PCB走线规范均会影响RTC的时间基准的稳定性, 图 1为RTC芯片PCF8563电路设计。" ~( H2 a! B7 S% x! Y: }3 V
2)晶体对地电容容值选择
0 a* ?4 T+ b6 f3 {# f 负载电容Cload= [ (Ca*Cb)/(Ca+Cb) ]+Cstray,其中Ca、Cb为接在晶体两引脚到地的电容,Cstray为晶体引脚至处理器晶体管脚的走线电容(即杂散电容总和),一般Cstray的典型值取4~6pF之间;如要满足晶体12.5pF负载电容的要求,Cload= [ (15*15)/(15+15) ]+5=12.5pF。* Q* ]0 M; e* C1 C& `( ^3 R" u
3)PCB布线
3 \5 s2 M* z* T7 ]+ V 由于RTC的晶振输入电路具有很高的输入阻抗,因此它与晶振的连线犹如一个天线,很容易耦合系统其余电路的高频干扰。而干扰信号被耦合到晶振引脚导致时钟数的增加或者减少,考虑到线路板上大多数信号的频率高于32.768kHz,所以通常会发生额外的时钟脉冲计数,因此晶振应尽可能靠近OSC1 和OSC2引脚放置,同时晶振、OSC1 和OSC2的引脚布成地平面,具体PCB布线如图3所示。
+ f- }2 c0 q" d( o! y: ? 4)电路相关说明: ^. j; {! I' E- ^' j
如图1所示,R56、R57为 I2C 总线上拉电阻,PCF8563中断输出及时钟输出均为开漏输出,所以也需要外接上拉电阻,如图1中的的R58、R59,若不使用这两个信号,对应的上拉电阻可以不用。; }- P4 d1 }+ }" c+ X, V1 `. e
对于PCF8563芯片,需外接时钟晶振32.768kHz (如图1的 X1),推荐使用±20ppm或更稳定的晶振。PCF8563典型应用电路推荐使用 15pF的晶振匹配电容,实际应用时可以作相应的调整,以使RTC获得更高精度的时钟源。一般晶振匹配电容在15pF~21pF之间调整(相对于±20ppm精度的 32.768kHz晶振),15pF电容时时钟频率略偏高,21pF电容时时钟频率略偏低。" C: o7 t- l1 o* d( Y: H
5)精度调整方法
* E. ~3 P+ U4 G3 r 1.设置PCF8563时钟输出有效(CLKOUT),输出频率为32.768kHz;" P3 T" L, Q1 i$ y; d
2.使用高精度频率计测量CLKOUT输出的频率;
* L! {2 {' x% R0 R8 \- B' U: O& [ 3.根据测出的频率,对 CB1、CB2、CB3作短接或断开调整,频率比32.768kHz偏高时,加大电容值,频率比32.768kHz偏低时,减小电容值。
& |# ?) ~: u' S( _" `" ?" U 说明:图1中的 C41、C42、C43的值在1pF~3pF之间,根据实际情况确定组合方式,以便于快速调整,推荐使用(3pF、3pF、3pF)、(1pF、2pF、3pF)、(2pF、3pF、4pF)。
/ a+ [( \6 }/ E2 @ 三、RTC低功耗设计) d- a, _) G& ~ r- U/ o4 P
很多RTC设计成可以只依靠一块电池供电就能工作,如果主电源关闭,仅依靠一小块锂电池就能够驱动振荡器和整个时钟电路,如何降低RTC电路工作时功率消耗?
! Z/ Z/ H2 ?# ^8 \7 X9 Q! v0 l 通过应用几种不同的方法可以降低RTC功耗:
# g# |0 ?5 G- ]5 S. m 选择低功耗的RTC,比如PCF8563,表2所示是不同RTC的功率消耗对比5 ]3 h7 V3 Q. i$ G0 Z
RTC电源切换电路中,选择漏电流小的二极管比如BAV74,当系统电源电压3.3V断开时,BT1锂电池CR2032(3V/225mAh)通过二极管向RTC供电;
$ F" H4 Y* _' ^. j# W# v6 \ 尽量少而且合理地访问RTC,减少I2C总线的动态电流;
* T# R$ v* S7 N1 Q' w f) ?: A$ U0 [ 将 I2C 总线的上拉电阻设计得尽量大些,比如10k;: G0 t( {$ W0 z9 x. }7 v
在应用时,通过设置寄存器关闭RTC的时钟CLKOUT输出。 |
|