MC9S08MG64實時時鐘的校準和補償(二)
在此方案中我們使用總線時鐘(bus clock),該總線時鐘由外部的32768Hz 晶體(XOSC1)組成的振蕩器產(chǎn)生參考頻率,然后經(jīng)由片內(nèi)倍頻電路鎖頻環(huán)(FLL)倍頻獲得。鎖頻環(huán)(FLL) 和實時時鐘(iRTC)共用同一外部振蕩源。鎖頻環(huán)(FLL)的倍頻系數(shù)設(shè)置為512,所以總線頻率最大為16.78MHz(512×32768)。每一秒的補償時間為(512×N)/M 總線時鐘周期,它消除掉了溫度和晶體老化的影響。
從圖2-1(補償后的實時時鐘秒脈沖輸出)中我們可以看出,當前補償周期的最后一個時鐘沿就是下一個補償周期的第一個時鐘沿。用第一個時鐘沿做對齊,實時時鐘的補償精度得到繼承(上升沿和下降沿都可以用來做對齊;由軟件來設(shè)定)。
MC9S08GW64 的FTM模塊的每個通道可以單獨工作在輸入捕捉或者輸出比較模式。我們可以使用一個FTM模塊的兩個通道,其中的一個通道來捕捉iRTC輸出的窄脈沖,另一個通道輸出50%占空比的秒脈沖。
當 FTM模塊的通道1捕捉IRTCCLKOUT的上升沿(或下降沿)時使用總線時鐘,在FTMCH1中斷觸發(fā)后保存FTM計數(shù)器的捕獲值到FTMCH1V。在FTMCH1中斷程序中,F(xiàn)TMCH0被設(shè)置為輸出比較模式,輸出比較值設(shè)置為FTMCH1V加一個偏移Ф。Ф為一個常量加每一個脈沖周期的調(diào)整值。表3列出了IRTCCLKOUT和FTM輸出邊沿的上升時刻,以及兩者的脈沖寬度。
表3 IRTCCLKOUT 和FTM 輸出時序
TAVG = V ÷ M(晶體振蕩周期)
= 512 × V ÷ M(總線時鐘周期)
從表3可以看出,RTCCLKOUT先右移了σ。每一個秒脈沖用平均的補償值進行補償。
圖4-1和圖4-2對這種補償方法做了詳細地說明。圖4-1演示了加入一些振蕩周期的情形。
在圖4-1中:
圖4-2 說明了減少一些振蕩周期的情形。
圖4-2:
偏移量 σ(延遲)有兩個作用:
對實時時鐘iRTC 輸
電涌保護器相關(guān)文章:電涌保護器原理
過電壓保護器相關(guān)文章:過電壓保護器原理 電機保護器相關(guān)文章:電機保護器原理
評論