datasheet

技術文章—如何解決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://www.xxmingchehui.com/dygl/ic462534.html
本網站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有,本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如果本網所選內容的文章作者及編輯認為其作品不宜公開自由傳播,或不應無償使用,請及時通過電子郵件或電話通知我們,以迅速采取適當措施,避免給雙方造成不必要的經濟損失。

上一篇:同步整流器控制器提高LLC諧振轉換器的效率
下一篇:ESD理論大科普

關注eeworld公眾號 快捷獲取更多信息
關注eeworld公眾號
快捷獲取更多信息
關注eeworld服務號 享受更多官方福利
關注eeworld服務號
享受更多官方福利

推薦閱讀

偉世通SmartCoreTM技術亮相騰訊全球數字生態大會

偉世通與騰訊合作開發的最新出行科技成果——搭載騰訊TAI汽車智能系統的新一代SmartCoreTM座艙一體解決方案正式亮相于騰訊全球數字生態大會。該會是騰訊戰略升級后打造的規格最高、規模最大的行業生態大會,它整合了“騰訊全球合作伙伴大會”、“騰訊云+未來峰會”和“互聯網+數字經濟峰會”三大峰會后,面向政府、企業、合作伙伴、開發者以及社會大眾打造的全景式數字生態界面。此次偉世通在該生態大會的亮相,彰顯了騰訊車聯與偉世通在智慧出行時代,攜手共創“生態車聯網”,致力成為“智趣出行生活的創造者”的共同愿景。 “朋友圈”強強聯手,騰訊、偉世通合作成果亮相 數字生活改變未來,衣食住行無不深受數字化的影響,享受
發表于 2019-05-22
偉世通SmartCoreTM技術亮相騰訊全球數字生態大會

STM32 基礎系列教程 20 - RTC

前言學習stm32 RTC(實時時鐘)的使用,學會用RTC實現鐘表功能。示例詳解基于硬件平臺: STM32F10C8T6最小系統板, MCU 的型號是 STM32F103c8t6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。本示例所用的最小系統板原理圖:從本節開始,關于CUBEMX工具及KEIL工具的操作將不再細講,如果還有不熟悉的可以查看之前的教程文檔。下面直接介紹工程配置: 系統時鐘樹RTC定時器配置引腳配置(保持默認即可) 中斷配置(保持默認即可) 工程代碼在main.c 中加入如下圖所示代碼:將程序編譯,仿真調試,可以看到各個變量的值,其中Seconds每隔
發表于 2019-05-05
STM32 基礎系列教程 20 - RTC

STM32 RTC與待機模式

1、背景最近用到低功耗模式-待機模式和RTC喚醒,因此重新梳理RTC和睡眠模式--待機模式。1.1什么是待機模式待機模式: 基于CortexTM-M4F深度睡眠模式,其中調壓器被禁止,因此1.2V域斷電---PLL、HSI振蕩器和HSE振蕩器也將關閉。除備份域(RTC寄存器、RTC備份寄存器和備份SRAM)和待機電路中的寄存器外,SRAM和寄存器內容都將丟失。從待機模式喚醒后, 除了備份域+PWR電源控制/狀態寄存器(PWR_CSR)外,所有寄存器都將復位。因此程序將按照復位(啟動引腳采樣、復位向量已獲取)后的方式重新執行。1.2退出待機模式檢測到外部復位(NRST引腳)、IWDG復位、WKUP引腳上升沿、RTC鬧鐘、RTC
發表于 2019-03-29
STM32 RTC與待機模式

STM32進入低功耗模式以及喚醒(RTC+中斷)

,既然待機功耗最低為什么選停機模式,這是由于待機模式與停機模式都可以RTC喚醒,但是停機模式可以通過任意管腳的外部中斷喚醒,而待機模式只能通過NRST因腳傷的外部復位喚醒,局限性太大。第二部分,低功耗功能說明 /*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進入低功耗模式以及喚醒(RTC+中斷)

stm32f103 RTC周期性待機喚醒(一)

做一個低功耗的東西,搞了好幾天,程序一直卡在一個地方(見下圖),今天終于發現問題出在哪里了,對待機喚醒的問題做一個總結(只針對我遇到的問題,其他部分網上都有,基于stm32f103)1、解決我遇到的問題       我的RTC初始化部分有個“保存在備份寄存器的RTC標志是否已經被配置過的判斷”,如果已經配置過,則進入else部分,但是這個else部分沒有“要使能電源時鐘,使能備份時鐘,取消后備區的寫保護”這些配置語句,而待機喚醒后程序從主函數執行,會執行到else部分,因為沒有那些配置語句,所以再次對鬧鐘賦值就會不成功,就會卡在那里。(那些配置語句在clock_ini函數里,有注釋)2、待機
發表于 2019-03-29
stm32f103 RTC周期性待機喚醒(一)

小廣播

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號 電信業務審批[2006]字第258號函 京公海網安備110108001534 Copyright ? 2005-2019 EEWORLD.com.cn, Inc. All rights reserved
乐天堂官网 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>