專利名稱:Mcu內(nèi)置rtc實(shí)現(xiàn)時(shí)鐘精確計(jì)時(shí)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及各種單相、三相及多功能電能表內(nèi)置RTC實(shí)現(xiàn)時(shí)鐘精確計(jì)時(shí)的方法。
背景技術(shù):
目前傳統(tǒng)的電能表時(shí)鐘通常采用獨(dú)立帶溫補(bǔ)的RTC方式,使用該方式,需要另布線路、占用MUC資源,投資大。而MUC內(nèi)置的RTC在性能及價(jià)格有較大的優(yōu)勢(shì),但因其使用外置晶體而易受溫度影響而產(chǎn)生頻偏,導(dǎo)致MCU內(nèi)置的RTC的誤差遠(yuǎn)大于獨(dú)立帶溫補(bǔ)的RTC 的誤差,從而造成電能表時(shí)鐘不準(zhǔn)。因此,如何根據(jù)晶體振蕩特性和溫度關(guān)系,對(duì)MCU內(nèi)置 RTC的預(yù)分頻器寄存器和時(shí)鐘校準(zhǔn)寄存器進(jìn)行調(diào)整以達(dá)到準(zhǔn)確的時(shí)鐘輸出顯得尤為重要。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的缺點(diǎn),提供一種RTC的軟件校時(shí),利用外部晶振和外部溫度傳感器,利用一定的算法使內(nèi)部RTC可靠穩(wěn)定的工作。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:MCU內(nèi)置RTC實(shí)現(xiàn)時(shí)鐘精確計(jì)時(shí)的方法,包括以下步驟
(1)預(yù)分頻器的調(diào)整在使用kHz晶振的情況下,預(yù)分頻器默認(rèn)值為k-Ι,預(yù)分頻器計(jì)數(shù)到k值產(chǎn)生1個(gè)秒脈沖中斷。因此,對(duì)于預(yù)分頻計(jì)數(shù)器,每調(diào)整一個(gè)“比特”,對(duì)應(yīng)調(diào)整的誤差為l/k*1000,000個(gè)ppm,該調(diào)整可由軟件控制,調(diào)整在1秒內(nèi)生效。(2)時(shí)鐘校準(zhǔn)寄存器的調(diào)整在固定的時(shí)間窗口下,溫度傳感器采集外部的溫度, 利用溫度查得頻偏的數(shù)值計(jì)算出實(shí)際的頻偏PPM個(gè)數(shù),從而計(jì)算出校準(zhǔn)寄存器的值。(3)由溫度傳感器采樣溫度,并測(cè)出在相應(yīng)溫度下的頻率輸出,與基準(zhǔn)頻率計(jì)算得出頻偏acc,由這些大量數(shù)據(jù)擬合溫度和頻偏的函數(shù)的k值,從而產(chǎn)生一張溫度與頻偏的表,軟件通過查表可以得到準(zhǔn)確的頻偏PPM值,該函數(shù)如下
acc
(4)在RTC中斷服務(wù)程序中間向RTC預(yù)分頻寄存器和校準(zhǔn)寄存器寫入相應(yīng)的值。本發(fā)明的有益效果是通過外部溫度傳感器得到準(zhǔn)確的頻偏ΡΡΜ,由該P(yáng)PM可以預(yù)算得到實(shí)際的寫入校準(zhǔn)寄存器的值,精確校準(zhǔn)時(shí)鐘。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)敘述。圖1為本發(fā)明晶體頻偏值與溫度的關(guān)系圖。
具體實(shí)施例方式如圖1所示,本發(fā)明、MCU內(nèi)置RTC實(shí)現(xiàn)時(shí)鐘精確計(jì)時(shí)的方法,包括以下步驟 (1)預(yù)分頻器的調(diào)整在使用kHz晶振的情況下,預(yù)分頻器默認(rèn)值為k-Ι,預(yù)分頻器計(jì)數(shù)
到k值產(chǎn)生1個(gè)秒脈沖中斷。因此,對(duì)于預(yù)分頻計(jì)數(shù)器,每調(diào)整一個(gè)“比特”,對(duì)應(yīng)調(diào)整的誤差為l/k*1000,000個(gè)ppm,該調(diào)整可由軟件控制,調(diào)整在1秒內(nèi)生效;
(2)時(shí)鐘校準(zhǔn)寄存器的調(diào)整在固定的時(shí)間窗口下,溫度傳感器采集外部的溫度,利用溫度查得頻偏的數(shù)值計(jì)算出實(shí)際的頻偏PPM個(gè)數(shù),從而計(jì)算出校準(zhǔn)寄存器的值;
(3)由溫度傳感器采樣溫度,并測(cè)出在相應(yīng)溫度下的頻率輸出,與基準(zhǔn)頻率計(jì)算得出頻偏acc,由這些大量數(shù)據(jù)擬合溫度和頻偏的函數(shù)的k值,從而產(chǎn)生一張溫度與頻偏的表,軟
件通過查表可以得到準(zhǔn)確的頻偏PPM值,該函數(shù)如下-.actky^T-T^f ■
(4)在RTC中斷服務(wù)程序中間向RTC預(yù)分頻寄存器和校準(zhǔn)寄存器寫入相應(yīng)的值。本發(fā)明采用的技術(shù)方案,向RTC預(yù)分頻寄存器和時(shí)鐘校準(zhǔn)寄存器寫入初始值,通過上位機(jī)給RTC對(duì)時(shí),采集溫度傳感器的數(shù)據(jù)和對(duì)應(yīng)溫度下讀RTC預(yù)分頻器的值,構(gòu)成一張數(shù)據(jù)表,采用數(shù)據(jù)處理建立頻偏和溫度的數(shù)學(xué)模型;根據(jù)模型定出相應(yīng)的參數(shù)作為該批次晶振的一張溫度和頻偏的數(shù)據(jù)表;用一個(gè)定時(shí)器作為秒脈沖的翻轉(zhuǎn)處理,從IO 口輸出秒脈沖用于測(cè)試,同時(shí)進(jìn)入定時(shí)器中斷讀出計(jì)數(shù)器的值,這個(gè)值用于在固定時(shí)間窗口計(jì)算RTC 跨過的脈沖數(shù)的平均,用于計(jì)算寫入定時(shí)器預(yù)分頻器的值,達(dá)到秒脈沖輸出精確;
在固定時(shí)間窗口讀外部溫度傳感器的值,利用查表得方法得出頻偏值,通過數(shù)據(jù)計(jì)算 (可以由相應(yīng)的MCU數(shù)據(jù)手冊(cè)得到)得到實(shí)際的頻偏值和預(yù)分頻值,再根據(jù)一個(gè)數(shù)量的PPM 計(jì)算到校準(zhǔn)寄存器的值,這樣預(yù)分頻值和校準(zhǔn)寄存器的值都得到了,在RTC中斷服務(wù)程序中向RTC預(yù)分頻寄存器和校準(zhǔn)寄存器寫入相應(yīng)的值。本發(fā)明的有益效果是通過外部溫度傳感器得到準(zhǔn)確的頻偏PPM,由該P(yáng)PM可以預(yù)算得到實(shí)際的寫入校準(zhǔn)寄存器的值,精確校準(zhǔn)時(shí)鐘。
權(quán)利要求
1.MCU內(nèi)置RTC實(shí)現(xiàn)時(shí)鐘精確計(jì)時(shí)的方法,其特征是,包括以下步驟(1)預(yù)分頻器的調(diào)整在使用kHZ晶振的情況下,預(yù)分頻器默認(rèn)值為k-Ι,預(yù)分頻器計(jì)數(shù)到k值產(chǎn)生1個(gè)秒脈沖中斷,對(duì)于預(yù)分頻計(jì)數(shù)器,每調(diào)整一個(gè)“比特”,對(duì)應(yīng)調(diào)整的誤差為1/ k*1000,000個(gè)ppm,該調(diào)整可由軟件控制,調(diào)整在1秒內(nèi)生效;(2)時(shí)鐘校準(zhǔn)寄存器的調(diào)整在固定的時(shí)間窗口下,溫度傳感器采集外部的溫度,利用溫度查得頻偏的數(shù)值計(jì)算出實(shí)際的頻偏PPM個(gè)數(shù),從而計(jì)算出校準(zhǔn)寄存器的值;(3)由溫度傳感器采樣溫度,并測(cè)出在相應(yīng)溫度下的頻率輸出,與基準(zhǔn)頻率計(jì)算得出頻偏acc,由這些大量數(shù)據(jù)擬合溫度和頻偏的函數(shù)的k值,從而產(chǎn)生一張溫度與頻偏的表,軟件通過查表可以得到準(zhǔn)確的頻偏PPM值,該函數(shù)如下acc = kx(T-TQy ;(4)在RTC中斷服務(wù)程序中間向RTC預(yù)分頻寄存器和校準(zhǔn)寄存器寫入相應(yīng)的值。
全文摘要
本發(fā)明公開了MCU內(nèi)置RTC實(shí)現(xiàn)時(shí)鐘精確計(jì)時(shí)的方法,其特征是,包括以下步驟(1)預(yù)分頻器的調(diào)整在使用kHZ晶振的情況下,預(yù)分頻器默認(rèn)值為k-1,預(yù)分頻器計(jì)數(shù)到k值產(chǎn)生1個(gè)秒脈沖中斷;(2)時(shí)鐘校準(zhǔn)寄存器的調(diào)整在固定的時(shí)間窗口下,溫度傳感器采集外部的溫度,利用溫度查得頻偏的數(shù)值計(jì)算出實(shí)際的頻偏PPM個(gè)數(shù),從而計(jì)算出校準(zhǔn)寄存器的值;(3)由溫度傳感器采樣溫度,并測(cè)出在相應(yīng)溫度下的頻率輸出,與基準(zhǔn)頻率計(jì)算得出頻偏acc,由這些大量數(shù)據(jù)擬合溫度和頻偏的函數(shù)的k值,從而產(chǎn)生一張溫度與頻偏的表,軟件通過查表可以得到準(zhǔn)確的頻偏PPM值,該函數(shù)如下(4)在RTC中斷服務(wù)程序中間向RTC預(yù)分頻寄存器和校準(zhǔn)寄存器寫入相應(yīng)的值。
文檔編號(hào)G04G5/00GK102176112SQ20111004423
公開日2011年9月7日 申請(qǐng)日期2011年2月24日 優(yōu)先權(quán)日2010年11月29日
發(fā)明者季海濤, 尹建豐, 梁世清, 陸永華 申請(qǐng)人:江蘇林洋電子股份有限公司