• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

ZLG嵌入式筆記(連載07) | RTC時(shí)鐘偶發(fā)性延時(shí)或超時(shí)該怎么辦?

2024/12/18
2640
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

導(dǎo)讀

嵌入式系統(tǒng)運(yùn)行時(shí),RTC 時(shí)鐘受多種因素干擾致延時(shí)或超時(shí),影響系統(tǒng)時(shí)間同步與功能穩(wěn)定。本文將提出從硬件適配到軟件算法優(yōu)化的綜合性方案,以解決此問(wèn)題,保障 RTC 時(shí)鐘的精確性與可靠性。

引起延時(shí)和超時(shí)的主要原因是計(jì)時(shí)系統(tǒng)使用的基準(zhǔn)頻率32.768Khz精度不夠。MCU片內(nèi)自帶的RTC功能電路由于受到芯片集成工藝的影響一般計(jì)量精度都比較差而且功耗也比較大,一般在對(duì)時(shí)鐘精度要求比較高的情況下建議直接使用外部RTC專用時(shí)鐘芯片,比如PCF8563/PCF85063,下表列出了不同RTC芯片的時(shí)鐘精度。

圖1 不同RTC芯片的時(shí)鐘精度在選擇高精度的RTC時(shí)鐘芯片后,還需注意32.768Khz晶振的匹配電容選型是否符合晶振設(shè)計(jì)手冊(cè)的要求。

圖2 晶振的匹配電容負(fù)載電容CL 的計(jì)算公式:

其中:CL1、CL2 :晶振匹配電容;Cstray:電路板雜散電容

圖3 晶體的連接方式及器件參數(shù)代入數(shù)值:CL =?[?(15*15)/(15+15)?]+5=12.5pF以上是通過(guò)硬件電路設(shè)計(jì)的優(yōu)化來(lái)提高時(shí)鐘精度,但由于生產(chǎn)工藝、芯片差異等其它不可控因素的存在,實(shí)際的時(shí)鐘精度會(huì)存在一定偏差,在時(shí)鐘頻偏穩(wěn)定的情況下還可以通過(guò)軟件方式進(jìn)一步對(duì)時(shí)鐘精度進(jìn)行補(bǔ)償,即通過(guò)設(shè)置RTC內(nèi)部的補(bǔ)償寄存器來(lái)補(bǔ)償時(shí)間。補(bǔ)償寄存器的基本原理是通過(guò)增加或者減少時(shí)鐘的修正脈沖來(lái)補(bǔ)償時(shí)間而不是改變晶振的頻率,如圖4所示,補(bǔ)償寄存器的bit7設(shè)置補(bǔ)償?shù)哪J?,bit[6:0]設(shè)置補(bǔ)償?shù)闹怠?/p>

圖4 補(bǔ)償寄存器描述

1. 補(bǔ)償值計(jì)算方法一計(jì)算流程如圖5所示。

圖5 補(bǔ)償值計(jì)算方法一

    先用頻率計(jì)或者高精度的示波器測(cè)量PCF8563芯片pin7腳CLKOUT的頻率Fmeas(軟件要先設(shè)置pin7輸出才可測(cè)到波形);轉(zhuǎn)化成時(shí)間tmeas;計(jì)算和理想時(shí)鐘32.768KHz周期的偏差Dmeas;根據(jù)測(cè)量值計(jì)算ppm的偏移量;根據(jù)設(shè)置模式計(jì)算補(bǔ)償寄存器的值,如圖中32768.48Hz計(jì)算得到的ppm偏移量是14.648ppm,如果是模式0,則算出來(lái)的補(bǔ)償值為3.375,四舍五入取值3。

根據(jù)補(bǔ)償計(jì)算方式的算式整合簡(jiǎn)化,若測(cè)得實(shí)際頻率F實(shí)測(cè)值,ppm的偏移量Eppm可以用以下公式快速計(jì)算:

如上補(bǔ)償校準(zhǔn)計(jì)算框架圖32768.48Hz算出來(lái)的值也是14.648。由此可見(jiàn),若F實(shí)測(cè)值≥32768Hz,則算出的補(bǔ)償值≥0;若F實(shí)測(cè)值<32768Hz,則算出的補(bǔ)償值<0。

2. 補(bǔ)償值計(jì)算方法二

圖6 補(bǔ)償值計(jì)算方法二如圖6所示,±20ppm的晶振頻率每1 ppm的偏差會(huì)導(dǎo)致每天偏差0.0864 s。在沒(méi)有測(cè)試條件測(cè)頻率的情況下,可以先測(cè)試24h下的時(shí)間偏差,時(shí)間走的快補(bǔ)償正值,時(shí)間走的慢補(bǔ)償負(fù)值,比如某個(gè)RTC 24小時(shí)下測(cè)得比北京時(shí)間快7s,那么先算出ppm的偏移量Eppm = 7/0.0864 = 81.0185 ppm,然后算出模式0下補(bǔ)償寄存器的值為81.0185/4.34 = 18.67,取值19;算出模式1下補(bǔ)償寄存器的值為81.0185/4.069 = 19.9119.91,取值20。

再比如某個(gè)RTC 24小時(shí)下測(cè)得比北京時(shí)間慢7s,那么先算出ppm的偏移量Eppm = 7/0.0864 = 81.0185 ppm,然后算出模式0下補(bǔ)償寄存器的值為81.0185/4.34 = 18.67,取值-19;算出模式1下補(bǔ)償寄存器的值為81.0185/4.069 = 19.91,取值-20。

注意:0.0864 s的計(jì)算方式為:ppm的單位是百萬(wàn)分之一,20ppm一天的偏差描述為(24小時(shí)*60分*60秒*20)/106 = 1.728s,所以1ppm一天的偏差時(shí)間為1.728s/20?=?0.0864 s。其他精度的晶振也可以用此類方式推算。

如果產(chǎn)品對(duì)RTC精度要求較高,使用常規(guī)RTC通過(guò)以上校準(zhǔn)/補(bǔ)償仍達(dá)不到產(chǎn)品要求,就需要考慮選用高精度的RTC芯片,如RX8025T。

ZLG創(chuàng)新性CPM核心板

RZ/G2UL、RZ/G2L處理器

1.0/1.2GHz主頻

Cortex?-A55+Cortex?-M33

參考價(jià)格:99元起

致遠(yuǎn)電子

致遠(yuǎn)電子

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊(cè)資金5000萬(wàn)元,國(guó)家級(jí)高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測(cè)量?jī)x器工程技術(shù)研究開(kāi)發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊(cè)資金5000萬(wàn)元,國(guó)家級(jí)高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測(cè)量?jī)x器工程技術(shù)研究開(kāi)發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄