MC9S08MG64實(shí)時(shí)時(shí)鐘的校準(zhǔn)和補(bǔ)償(二)
當(dāng)開發(fā)GW64工程時(shí),推薦在iRTC的初始化中禁止掉iRTC中斷,或者定義iRTC中斷服務(wù)程序。因?yàn)榧词巩?dāng)下載一個(gè)新程序時(shí),iRTC模塊仍然保留著上一次的配置(iRTC可以由VBAT供電,MCU掉電時(shí),iRTC的配置仍然保留)。在初始化時(shí)必須禁止掉iRTC中斷,或者定義其中斷服務(wù)程序。否則可能發(fā)生不可預(yù)期的錯(cuò)誤。
5 補(bǔ)償流程
使用上述軟件,我們可以不用關(guān)心補(bǔ)償算法的細(xì)節(jié),按照下面的簡單步驟來完成晶體振蕩電路在全溫度范圍內(nèi)的自動補(bǔ)償:
(1) 把補(bǔ)償間隔和補(bǔ)償值設(shè)置為0(Interval = 0, Value = 0),在全工作溫度范圍內(nèi)調(diào)整溫度并記錄頻率偏差值。測量點(diǎn)越多越好。
(2) 利用測量點(diǎn)擬合拋物線(a(x - t)2 + k),得出拋物線參數(shù)a, t, k。
(3) 把參數(shù)寫入程序中。
對于同一批次的晶體,如果晶體的一致性比較好,可以用上面的步驟確定出參數(shù)a,和t。在批量生產(chǎn)時(shí),在任意一個(gè)溫度點(diǎn)測量晶體的誤差,即可反推出k。其他溫度點(diǎn)的誤差即可通過拋物線公式計(jì)算得出,根據(jù)誤差查表得到需要的補(bǔ)償間隔和補(bǔ)償值。把補(bǔ)償間隔和補(bǔ)償值寫入補(bǔ)償寄存器即可得到精確的秒脈沖輸出。參數(shù)a, t和k 都要保存在非易失性存儲器中以防掉電丟失。
6 總結(jié)
本文介紹了實(shí)時(shí)時(shí)鐘iRTC的補(bǔ)償機(jī)制和如何輸出均勻秒脈沖的問題,探討了如何在全溫度范圍內(nèi)對iRTC進(jìn)行補(bǔ)償。iRTC可以在長時(shí)間內(nèi)保持高精度,F(xiàn)TM模塊用來輸出每個(gè)周期都很均勻的秒脈沖。在全溫度范圍內(nèi)的補(bǔ)償精度依賴于晶體的一致性,建議采用高精度,一致性好的晶體。溫度測量器件基于成本考慮建議采用NTC電阻,根據(jù)測量值用查找表來確定溫度,NTC電阻應(yīng)盡量靠近晶體。MG64有一個(gè)內(nèi)部溫度傳感器,通過標(biāo)定也可以達(dá)到比較高的測溫精度,使用它可以進(jìn)一步降低系統(tǒng)的硬件成本。
電涌保護(hù)器相關(guān)文章:電涌保護(hù)器原理
過電壓保護(hù)器相關(guān)文章:過電壓保護(hù)器原理 電機(jī)保護(hù)器相關(guān)文章:電機(jī)保護(hù)器原理
評論