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;
 
2. 使用高精度頻率計測量 CLKOUT 輸出的頻率;
 
3. 根據測出的頻率,對 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 輸出。