技术文章—如何解决RTC精度及功耗问题

2019-05-22来源: EEWORLD关键字:RTC

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;

 

  1. 使用高精度频率计测量CLKOUT输出的频率;

 

  1. 根据测出的频率,对 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输出。


关键字:RTC

编辑:muyan 引用地址:http://news.eeworld.com.cn/dygl/ic462534.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:同步整流器控制器提高LLC谐振转换器的效率
下一篇:ESD理论大科普

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

[正点原子]STM32开发板F103 第41讲 RTC实时时钟备份区域BKP原理

RTC模块与 时钟配置系统在后备区域,在复位时候不会被清除(框图: 中文参考手册)如何使用RTC实现时钟?RTCCLKRTC的时钟有几个来源有三种  32.768khz  8Mhz  40khzRTC_PRL是自动重装载寄存器RTC_DIV 预分频余数寄存器 RTC_DIV的作用就是  可以提供一个更加精确的时钟,时钟开启之后会给RTC_PRL写一个值(比如100),那么RTCCLK就会被 /100 之后得到 TR_CLK。 TR_CLK的一个周期有100个  RTCCLK ,RTC_DIV在你装载之后它的值就是100,他在 RTCCLK的控制下每一个时钟  减
发表于 2019-09-09
[正点原子]STM32开发板F103 第41讲 RTC实时时钟备份区域BKP原理

RTC--根据年月日计算[星期]的函数

一、u8 const table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; //月修正数据表     u8 RTC_Get_Week(u16 year,u8 month,u8 day){  u16 temp2; u8 yearH,yearL;  yearH=year/100; yearL=year%100;  // 如果为21世纪,年份数加100   if (yearH>19)yearL+=100; // 所过闰年数只算1900年之后的 
发表于 2019-09-03

RTC--日期必须重启才更新问题

芯片:STM32F030C8T6问题:RTC设置时间,时间可正常设置,日期需要重启才能设置成功相关代码:/************************************************函数名称 : RTC_GetDateTime功    能 : 读取RTC日期时间(含日历、星期)参    数 : RTC_DateTimeStructure -- RTC结构体返 回 值 : *************************************************/void RTC_GetDateTime(RTC
发表于 2019-09-03

STM32开发 -- 时钟系统详解

上一篇文章讲了RTC,里面其实已经包含了时钟系统的介绍了。这篇文章将再详细的讲一下。一、时钟系统框图二、时钟系统STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。 ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。系统时钟
发表于 2019-09-02
STM32开发 -- 时钟系统详解

STM32F429 >> 19. RTC_实时时钟(Code)

配置及读取日期和时间此工程没有读取亚秒值。若想让时钟断电后持续计时,则不要使能RTC_Config() 函数中的后备域访问。bsp_rtc.h/**  ******************************************************************************  * @file    bsp_rtc.h  * @author  Waao  * @version V1.0.0  * @date    17-Feb-2019  * @brief   This
发表于 2019-08-29

STM32F429 >> 19. RTC_实时时钟

简介RTC—Eeal Time Clock,实时时钟,主要包含日历、闹钟和自动唤醒这三部分的功能,其中的日历功能我们使用的最多。日历包含两个 32bit 的时间寄存器,可直接输出时分秒,星期、月、日、年。功能框图1. 时钟源RTC 时钟源 —RTCCLK 可以从 LSE、LSI 和 HSE_RTC 这三者中得到。其中使用最多的是 LSE。LSE 由一个外部的 32.768KHZ(6PF 负载)的晶振提供,精度高,稳定,RTC首选;LSI 是芯片内部的 30KHZ 晶体,精度较低,会有温漂,一般不建议使用;HSE_RTC由 HSE 分频得到,最高是 4M,使用的也较少。2. 预分频器预分频器 PRER 由 7 位的异步预分
发表于 2019-08-29
STM32F429 >> 19. RTC_实时时钟

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved