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