|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
RTC(Real_Time Clock)为整个电子系统提供时间基准,mcu、MPU、CPU均离不开RTC电路设计,在设计、应用RTC单元时,常常会发现延时、超时或者功耗过大现象,如何解决RTC精度以及功耗问题呢?本文将为您介绍时钟芯片PCF8563应用设计,并给出相应的解决方法。+ E1 @! u: {) K; ~( Q9 v
一、什么是RTC" U/ J5 B1 h1 S& Q. u' N4 v! a {! X
实时时钟(Real_Time Clock)简称为RTC,主要为各种电子系统提供时间基准。通常把集成于芯片内部的RTC称为片内RTC,在芯片外扩展的RTC称为外部RTC,PCF8563是一款低功耗的CMOS实时时钟/日历外部芯片,支持可编程时钟输出、中断输出、低压检测等,与处理器通过I2C串行总线进行通信,总线速率可达400kHz。5 |, S1 L9 ]" u; a5 c% ^6 Q
二、RTC精度设计
9 d9 b2 \. A0 w4 m1 Y RTC的主要职责就是提供准确的时间基准,计时不准的RTC毫无价值可言。目前部分MCU在片内已集成RTC,实际测试中在电池供电6小时环境下片内RTC的偏差在1-2分钟。因此,若对实时时钟有较高的要求则需优先考虑外扩RTC,同时要求时钟精度更高的RTC,比如PCF8563,表1所示是不同RTC的时钟精度对比。
6 [' F2 O: f& ~ 1)电路设计
$ }# m* F7 D8 u) r& e- I- N3 E2 o4 ^ RTC设计电路简约而不简单,时钟芯片的选择、晶振的选择、电路设计、器件放置、阻抗控制、PCB走线规范均会影响RTC的时间基准的稳定性, 图 1为RTC芯片PCF8563电路设计。3 I I, B. K" Z
2)晶体对地电容容值选择
& Q( h+ O) X+ \" I; B- f# D4 i 负载电容Cload= [ (Ca*Cb)/(Ca+Cb) ]+Cstray,其中Ca、Cb为接在晶体两引脚到地的电容,Cstray为晶体引脚至处理器晶体管脚的走线电容(即杂散电容总和),一般Cstray的典型值取4~6pF之间;如要满足晶体12.5pF负载电容的要求,Cload= [ (15*15)/(15+15) ]+5=12.5pF。
7 W" s9 p7 A4 y! F+ n$ c. @& u 3)PCB布线
# |' I( m8 e: h9 t' D ]4 C3 v7 C0 o 由于RTC的晶振输入电路具有很高的输入阻抗,因此它与晶振的连线犹如一个天线,很容易耦合系统其余电路的高频干扰。而干扰信号被耦合到晶振引脚导致时钟数的增加或者减少,考虑到线路板上大多数信号的频率高于32.768kHz,所以通常会发生额外的时钟脉冲计数,因此晶振应尽可能靠近OSC1 和OSC2引脚放置,同时晶振、OSC1 和OSC2的引脚布成地平面,具体PCB布线如图3所示。* g% @6 ]: |; W9 G ~& N5 }3 A6 o- k- A
4)电路相关说明9 z4 y, z; Z) _, H# i; i
如图1所示,R56、R57为 I2C 总线上拉电阻,PCF8563中断输出及时钟输出均为开漏输出,所以也需要外接上拉电阻,如图1中的的R58、R59,若不使用这两个信号,对应的上拉电阻可以不用。3 |, n; U$ G! B+ U8 y; O0 I8 [* P& Y
对于PCF8563芯片,需外接时钟晶振32.768kHz (如图1的 X1),推荐使用±20ppm或更稳定的晶振。PCF8563典型应用电路推荐使用 15pF的晶振匹配电容,实际应用时可以作相应的调整,以使RTC获得更高精度的时钟源。一般晶振匹配电容在15pF~21pF之间调整(相对于±20ppm精度的 32.768kHz晶振),15pF电容时时钟频率略偏高,21pF电容时时钟频率略偏低。8 |; g! @$ M( F$ m
5)精度调整方法
5 Y. p: P; ~/ A 1.设置PCF8563时钟输出有效(CLKOUT),输出频率为32.768kHz;1 e9 b* T: A- X. X" K |
2.使用高精度频率计测量CLKOUT输出的频率;
* S+ W0 `4 S* p: Y) x 3.根据测出的频率,对 CB1、CB2、CB3作短接或断开调整,频率比32.768kHz偏高时,加大电容值,频率比32.768kHz偏低时,减小电容值。
2 m( w, w, M+ {% D8 l3 T3 l 说明:图1中的 C41、C42、C43的值在1pF~3pF之间,根据实际情况确定组合方式,以便于快速调整,推荐使用(3pF、3pF、3pF)、(1pF、2pF、3pF)、(2pF、3pF、4pF)。 M7 J2 B% o% b; A
三、RTC低功耗设计
# U9 U' q& [3 r( {) p, y 很多RTC设计成可以只依靠一块电池供电就能工作,如果主电源关闭,仅依靠一小块锂电池就能够驱动振荡器和整个时钟电路,如何降低RTC电路工作时功率消耗?
! I7 t' `+ ?3 ]! O6 X5 J5 H 通过应用几种不同的方法可以降低RTC功耗:
8 X2 o8 a9 P4 c 选择低功耗的RTC,比如PCF8563,表2所示是不同RTC的功率消耗对比* R5 V: D; Z/ x! n8 `$ k" h8 F# h
RTC电源切换电路中,选择漏电流小的二极管比如BAV74,当系统电源电压3.3V断开时,BT1锂电池CR2032(3V/225mAh)通过二极管向RTC供电;
9 _ l7 W7 R4 d* m& i5 T 尽量少而且合理地访问RTC,减少I2C总线的动态电流;* u9 O- V6 U7 b% b" V' m
将 I2C 总线的上拉电阻设计得尽量大些,比如10k;
* q {+ X7 J- ^ k7 v# f2 X& o 在应用时,通过设置寄存器关闭RTC的时钟CLKOUT输出。 |
|