datasheet

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

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

RTC(Real_Time Clock)为整个电子系?#31243;?#20379;时间基准,MCU、MPU、CPU均离不开RTC电路设计,在设计、应用RTC单元时,常常会发现延时、超时或者功耗过大现象,如何解决RTC精度以及功耗问题呢?本文将为您介绍时钟芯片PCF8563应用设计,并给出相应的解决方法。

 

一、什么是RTC

 

实时时钟(Real_Time Clock)简称为RTC,主要为各种电子系?#31243;?#20379;时间基准。通常把集成于芯片内部的RTC称为片内RTC,在芯片外扩展的RTC称为外部RTC,PCF8563是一款低功耗的CMOS实时时钟/日历外部芯片,支持可编程时钟输出、中?#40092;?#20986;、低压检测等,与处理器通过I2C串行总线进?#22411;?#20449;,最大总线速率可达400kHz。

 

二、RTC精度设计

 

RTC的主要?#38712;?#23601;是提供准确的时间基准,计时不准的RTC毫无价值可言。目?#23433;?#20998;MCU在片内已集成RTC,?#23548;什?#35797;中在电池供电6小时环境下片内RTC的偏差在1-2分钟。因此,若对实时时钟有较高的要求则需优先考虑外扩RTC,同时要求时钟精度更高的RTC,比如PCF8563,表1所示是不同RTC的时钟精度对比。

 

表1  常见RTC时钟精度对比

 

 

1)    电路设计

 

RTC设计电路简?#32423;?#19981;简单,时钟芯片的选择、晶振的选择、电路设计、器件放置、阻抗控制、PCB走线规范均会影响RTC的时间基准的稳定性, 图 1为RTC芯片PCF8563电路设计。

 

 

图1  PCF8563参考电路图

 

2)    晶体?#32536;?#30005;容容值选择

 

负载电容Cload= [ (Ca*Cb)/(Ca+Cb) ]+Cstray,其中Ca、Cb为接在晶体两引脚到地的电容,Cstray为晶体引脚至处理器晶体管脚的走线电容(即杂散电容总和),一般Cstray的典型?#31561;?~6pF之间;如要满足晶体12.5pF负载电容的要求,Cload= [ (15*15)/(15+15) ]+5=12.5pF。

 

 

图2  常见时钟电路

 

3)    PCB布线

 

由于RTC的晶振输入电路具有很高的输入阻抗,因此它与晶振的连线犹如一个天线,很容易耦合系统其余电路的高频干扰。而干扰信号被耦?#31995;?#26230;振引脚导致时钟数的增加或者减少,考虑到线路板上大多数信号的?#24503;?#39640;于32.768kHz,所以通常会发生额外的时钟脉冲计数,因此晶振应尽可能靠近OSC1 和OSC2引?#27431;?#32622;,同时晶振、OSC1 和OSC2的引脚最好布成地平面,具体PCB布线如图3所示。

 

 

图3  PCB布线

 

4)    电路相关说明

 

如图1所示,R56、R57为 I2C 总线上拉电阻,PCF8563中?#40092;?#20986;及时钟输出均为开漏输出,所以也需要外接上拉电阻,如图1中的的R58、R59,若不使用这两个信号,对应的上拉电阻可以不用。

 

对于PCF8563芯片,需外接时钟晶振32.768kHz (如图1的 X1),推荐使用±20ppm或更稳定的晶振。PCF8563典型应用电路推荐使用 15pF的晶振匹配电容,?#23548;?#24212;用时可以作相应的调整,以使RTC获得更高精度的时钟源。一般晶振匹配电容在15pF~21pF之间调整(相对于±20ppm精度的 32.768kHz晶振),15pF电容时时钟?#24503;事云?#39640;,21pF电容时时钟?#24503;事云?#20302;。

 

5)    精度调整方法

 

  1. 设置PCF8563时钟输出有效(CLKOUT),输出?#24503;?#20026;32.768kHz;

 

  1. 使用高精度?#24503;?#35745;测量CLKOUT输出的?#24503;剩?/span>

 

  1. 根据测出的?#24503;剩?#23545; CB1、CB2、CB3作短接或断开调整,?#24503;时?2.768kHz偏高时,加大电容值,?#24503;时?2.768kHz偏低时,减小电容值。

 

说明?#21644;?中的 C41、C42、C43的值在1pF~3pF之间,根据?#23548;是?#20917;确定组合方式,以便于快速调整,推荐使用(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://www.88536358.com/dygl/ic462534.html
本网站转载的所有的文章、?#35745;?#38899;频视频文件等资?#31995;?#29256;权归版权所有人所有,本?#38745;?#29992;的非本站原创文章及?#35745;?#31561;内容无法一一联系确?#20064;?#26435;者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子?#22987;?#25110;电话通知我们,以迅速采取?#23454;?#25514;施,避免给双方造成不必要的经济损失。

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

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

推荐阅读

伟世通SmartCoreTM技术亮相腾?#24230;?#29699;数字生态大会

伟世通与腾讯合作开发的最新出行科技成果——搭载腾讯TAI汽车智能系统的新一代SmartCoreTM座舱一体解决方案正式亮相于腾?#24230;?#29699;数字生态大会。该会是腾讯战略升级后打造的规格最高、规模最大的行业生态大会,它整合了“腾?#24230;?#29699;合作伙伴大会”、“腾?#23545;?未来峰会”和“互联网+数字经济峰会”三大峰会后,面向政府、企业、合作伙伴、开发者以及社会大众打造的全景式数字生态界面。此次伟世通在该生态大会的亮相,彰显了腾讯车联与伟世通在智慧出行时代,携手共?#30784;?#29983;态车联网?#20445;?#33268;力成为“智趣出行生活的创造者”的共同愿景。 “朋友圈”强强联手,腾讯、伟世通合作成果亮相 数字生活改变未来,?#29575;?#20303;行无不深受数字化的影响,享受
发表于 2019-05-22
伟世通SmartCoreTM技术亮相腾?#24230;?#29699;数字生态大会

STM32 基础系列教程 20 - RTC

前言学习stm32 RTC(实时时钟)的使用,学会用RTC实现钟表功能。示例详解基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。本示例所用的最小系统板原理图:从本节开始,关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置: 系统时钟树RTC定时器配置引脚配置(保持默认即可) 中?#21523;?#32622;(保持默认即可) 工程代码在main.c 中加入如下图所示代码:将程序编译,仿真调试,可以看到各个变量的值,其中Seconds每隔
发表于 2019-05-05
STM32 基础系列教程 20 - RTC

STM32 RTC与待机模式

1、背景最近用到低功耗模式-待机模式和RTC?#21483;眩?#22240;此重新梳理RTC和睡眠模式--待机模式。1.1什么是待机模式待机模式: 基于CortexTM-M4F深度睡眠模式,其中调压器被禁止,因此1.2V域断电---PLL、HSI振荡器和HSE振荡器也将关闭。除备份域(RTC寄存器、RTC备份寄存器和备份SRAM)和待机电路中的寄存器外,SRAM和寄存器内容都将丢失。从待机模式?#21483;?#21518;, 除了备份域+PWR电源控制/状态寄存器(PWR_CSR)外,所有寄存器都将复位。因此程序将按照复位(启动引脚采样、复位向量已获取)后的方式重新执行。1.2退出待机模式检测到外部复位(NRST引脚)、IWDG复位、WKUP引脚上升沿、RTC闹钟、RTC
发表于 2019-03-29
STM32 RTC与待机模式

STM32进入低功耗模式以及?#21483;眩≧TC+中断)

,?#28909;?#24453;机功耗最低为什么选停机模式,这是由于待机模式与停机模式都可以RTC?#21483;眩?#20294;是停机模式可以通过?#25105;?#31649;脚的外部中断?#21483;眩?#32780;待机模式只能通过NRST因脚伤的外部复位?#21483;眩?#23616;限性太大。第二部分,低功耗功能说明 /*RTC设置*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);PWR_WakeUpPinCmd(ENABLE);PWR_BackupAccessCmd(ENABLE);RTC_Configuration();NVIC_Configuration();//MCU进入停机模式void MCU_EnterSTOPMode
发表于 2019-03-29
STM32进入低功耗模式以及?#21483;眩≧TC+中断)

stm32f103 RTC周期?#28304;?#26426;?#21483;眩?#19968;)

做一个低功耗的东西,搞了好几天,程序一直卡在一个地方(见下图),今天终于发现问题出在哪里了,?#28304;?#26426;?#21483;?#30340;问题做一个总结(只针对我遇到的问题,其他部分网上都有,基于stm32f103)1、解决我遇到的问题       我的RTC初始化部分有个“保存在备份寄存器的RTC标志是否已经被配置过的判断?#20445;?#22914;果已经配置过,则进入else部分,但是这个else部分没有“要使能电源时钟,使能备份时钟,取消后备区的写保护”这些配置语句,而待机?#21483;?#21518;程序从主函数执行,会执行到else部分,因为没有?#20999;?#37197;置语句,所以再次对闹钟赋值就会不成功,就会卡在那里。(?#20999;?#37197;置语句在clock_ini函数里,有注?#20572;?、待机
发表于 2019-03-29
stm32f103 RTC周期?#28304;?#26426;?#21483;眩?#19968;)

小广播

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