《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于累積誤差控制的RTC補(bǔ)償算法及電路
一種基于累積誤差控制的RTC補(bǔ)償算法及電路
2014年電子技術(shù)應(yīng)用第12期
趙東艷,周芝梅,王于波,張海峰
(北京南瑞智芯微電子科技有限公司,北京100192)
摘要: 介紹了晶體振蕩器的溫漂特性,提出了基于累積誤差控制的RTC溫度補(bǔ)償算法,累積頻率誤差控制在15.3 ppm以內(nèi)。設(shè)計(jì)了應(yīng)用于微控制器中的RTC補(bǔ)償電路,開發(fā)了自動(dòng)調(diào)教電路,能很好地滿足智能電表高精度、低功耗的計(jì)時(shí)要求。
中圖分類號(hào): TN492
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)12-0066-03
A RTC compensation arithmetic and circuit based on cumulated deviation limitation
Zhao Dongyan,Zhou Zhimei,Wang Yubo,Zhang Haifeng
Beijing NARI Smartchip Microelectronics Company Limited.,Beijing 100192,China
Abstract: The temperature has a great impact on crystal oscillator. A compensation arithmetic is presented in this paper, dedicated in limiting the cumulated frequency deviation in 15.3 ppm. A RTC compensation circuit and also an automatic trimming circuit used in MCU have been implemented, which can perfectly satisfy the smart electronic meter’s requirement.
Key words : cumulated deviation;compensation arithmetic;frequency deviation;RTC

0 引言

  高精度實(shí)時(shí)時(shí)鐘是現(xiàn)代智能電表的關(guān)鍵技術(shù),我國智能電表對(duì)時(shí)鐘精度的要求為日計(jì)時(shí)誤差必須小于等于0.5 s/天,這要求計(jì)時(shí)電路的時(shí)鐘偏差控制在5.7 ppm以內(nèi)。目前國內(nèi)智能電表實(shí)時(shí)時(shí)鐘的產(chǎn)生主要依靠高精度RTC芯片,此類RTC芯片目前90%以上依賴從國外進(jìn)口,造成我國的電表生產(chǎn)嚴(yán)重依賴國外進(jìn)口芯片。

  近年來國內(nèi)集成電路行業(yè)開始研究集成高精度RTC模塊的微控制器(Micro Controller Unit,MCU)芯片。采用這種MCU芯片的電表方案,不再需要單獨(dú)的RTC芯片,可以逐步擺脫對(duì)國外RTC芯片的進(jìn)口依賴,也可以使表方案設(shè)計(jì)簡(jiǎn)單,成本降低。這類MCU設(shè)計(jì)面臨的問題是,如何能對(duì)集成在MCU內(nèi)的RTC模塊進(jìn)行全溫區(qū)調(diào)教,使其計(jì)時(shí)精度滿足國網(wǎng)對(duì)電表的精度要求。

  本文首先介紹了晶體的溫度頻率誤差特性,介紹了目前較常用的RTC溫度補(bǔ)償?shù)姆椒?,提出了基?a class="innerlink" href="http://ihrv.cn/tags/累積誤差" title="累積誤差" target="_blank">累積誤差控制的溫度補(bǔ)償算法,該算法能將累積計(jì)時(shí)誤差控制在15.3 ppm以內(nèi),計(jì)時(shí)時(shí)間越長(zhǎng),計(jì)時(shí)精度越高。并在集成有RTC模塊的MCU內(nèi)完成了補(bǔ)償電路的設(shè)計(jì),開發(fā)了自動(dòng)補(bǔ)償電路,該MCU能很好地滿足國網(wǎng)電表的計(jì)時(shí)精度要求。

1 補(bǔ)償原理及算法

  1.1 補(bǔ)償原理及傳統(tǒng)補(bǔ)償方式

  MCU中的實(shí)時(shí)時(shí)鐘通常是用32 768 Hz晶振來產(chǎn)生,32 768 Hz石英晶振的振蕩頻率會(huì)隨溫度變化,稱之為溫度特性[1]。晶振的溫度特性如圖1所示,呈二次函數(shù)關(guān)系。

001.jpg

  從圖1的曲線可以看出,在橫軸的兩頭即低溫和高溫區(qū)晶體的頻率偏差很大。32 768 Hz晶振的這種特性決定了其本身無法達(dá)到國網(wǎng)對(duì)智能電表的計(jì)時(shí)精度要求,必須加入溫度補(bǔ)償電路以提高計(jì)時(shí)精度。通常的溫度補(bǔ)償系統(tǒng)中,首先通過溫度傳感器,獲得當(dāng)前的晶振溫度,然后根據(jù)圖1的曲線計(jì)算出晶體的振蕩頻率偏差,根據(jù)這個(gè)偏差值進(jìn)行頻率補(bǔ)償。

  目前常見的溫度補(bǔ)償方法,有改變振蕩器的負(fù)載電容來調(diào)整振蕩頻率[2]。此方法的優(yōu)勢(shì)在于調(diào)整精細(xì),可以實(shí)現(xiàn)步距±1 ppm的校準(zhǔn),實(shí)現(xiàn)精確微調(diào),但為保證晶振起振和穩(wěn)定運(yùn)行,電容的大小有一定限制,電容補(bǔ)償?shù)钠罘秶ǔO薅ㄔ凇?0 ppm以內(nèi)。且電容占據(jù)較大的芯片面積,補(bǔ)償成本比較大,還有就是電容本身隨集成電路的工藝穩(wěn)定性比較差。另外也可以通過對(duì)32 768 Hz振蕩器的秒標(biāo)輸出進(jìn)行數(shù)字調(diào)校[3]的方式來調(diào)整計(jì)時(shí)精度。由于32 768 Hz振蕩器一個(gè)時(shí)鐘周期能帶來30.5 ppm的頻率變化,所以該方法必須設(shè)定一個(gè)較長(zhǎng)時(shí)間的校準(zhǔn)周期才能達(dá)到較高的調(diào)教精度,比如參考文獻(xiàn)[3]中的例子,校準(zhǔn)周期假定為10 s。并且此方法,10 s校準(zhǔn)完成那一刻,計(jì)時(shí)精度是最高的,在校準(zhǔn)之前的時(shí)間內(nèi),計(jì)時(shí)誤差是在累積增長(zhǎng)的。

  1.2 基于累積誤差控制的補(bǔ)償算法

  利用32.768 kHz晶體振蕩電路計(jì)數(shù),計(jì)數(shù)周期滿32 768時(shí)計(jì)為一個(gè)秒周期。所以計(jì)數(shù)器的一個(gè)計(jì)數(shù)周期,相當(dāng)于秒周期改變量為:

  1.png

  如果簡(jiǎn)單的對(duì)秒脈沖進(jìn)行數(shù)字補(bǔ)償,能獲得的計(jì)時(shí)精度是30.5 ppm,對(duì)于小于30.5 ppm的頻率偏差,無法得到補(bǔ)償,且這些偏差會(huì)形成累積效應(yīng),隨著計(jì)時(shí)時(shí)間的加長(zhǎng),計(jì)時(shí)偏差會(huì)越來越大。

  經(jīng)過研究,本文提出了基于累積誤差控制的補(bǔ)償算法。補(bǔ)償算法公式如下:

  2.png

  式中,Xn為當(dāng)前時(shí)刻根據(jù)晶振溫度得到的需要補(bǔ)償?shù)念l率誤差(單位ppm),Yn-1為上次補(bǔ)償后遺留的剩余誤差,N為當(dāng)前秒需要數(shù)字補(bǔ)償?shù)恼麜r(shí)鐘周期數(shù),Y為本次數(shù)字補(bǔ)償后的剩余頻率偏差。由于對(duì)補(bǔ)償值N進(jìn)行了四舍五入,所以Y的值會(huì)小于15.3 ppm,且由于本次補(bǔ)償?shù)氖S嗾`差會(huì)累積到下次需要補(bǔ)償?shù)恼`差值中,所以計(jì)時(shí)誤差不會(huì)隨著計(jì)時(shí)時(shí)間的變長(zhǎng)累積變大。

2 補(bǔ)償算法電路實(shí)現(xiàn)

  2.1 補(bǔ)償電路實(shí)現(xiàn)

  根據(jù)補(bǔ)償算法式(2)設(shè)計(jì)了新的全數(shù)字時(shí)鐘補(bǔ)償電路,結(jié)構(gòu)示意圖如圖2所示。

002.jpg

  圖2中X對(duì)應(yīng)新輸入的頻率偏差值,Y代表上次補(bǔ)償后殘余誤差,N為運(yùn)算后需要對(duì)秒標(biāo)進(jìn)行調(diào)整的計(jì)數(shù)周期數(shù)。該電路采用全數(shù)字電路實(shí)現(xiàn),電路受集成電路工藝波動(dòng)的影響小,且實(shí)現(xiàn)簡(jiǎn)單。

  2.2 MCU的硬件自動(dòng)補(bǔ)償流程

  國網(wǎng)電表要求在無市電情況下,依靠1 200 mA電池能工作至少5年,這對(duì)智能電表主控芯片提出很高的功耗要求。為了節(jié)省功耗,該MCU中實(shí)現(xiàn)了硬件自動(dòng)補(bǔ)償電路,即對(duì)上面的補(bǔ)償電路實(shí)現(xiàn)硬件自動(dòng)定時(shí)觸發(fā)調(diào)教。當(dāng)MCU處在休眠狀態(tài)時(shí),CPU及除RTC外的電路都在斷電模式下,以降低芯片功耗。 當(dāng)預(yù)設(shè)的調(diào)教時(shí)間到時(shí),硬件自動(dòng)打開溫度傳感器、ADC及調(diào)教電路的電源,并依次通過溫度傳感器獲得溫度值,通過ADC轉(zhuǎn)化為數(shù)字?jǐn)?shù)據(jù),然后再用此數(shù)據(jù)從查找表獲得此溫度下需要校準(zhǔn)的頻率誤差值,開啟自動(dòng)補(bǔ)償電路完成頻率誤差的補(bǔ)償,完成后重新設(shè)計(jì)相關(guān)電路進(jìn)入休眠。整個(gè)補(bǔ)償過程不需要CPU參與,通過RTC的定時(shí)報(bào)警功能自動(dòng)打開相關(guān)電路開始補(bǔ)償,完成后再自動(dòng)關(guān)閉這些電路以節(jié)省功耗。工作流程如圖3所示。

003.jpg

3 電路仿真及結(jié)果分析

  對(duì)基于累積誤差控制的時(shí)鐘補(bǔ)償電路的仿真結(jié)果如圖4所示。

004.jpg

  圖4 中對(duì)式(2)中的數(shù)據(jù)都乘以10以實(shí)現(xiàn)整數(shù)運(yùn)算,圖中的變量分別為:trim_value,根據(jù)溫度獲得的新的ppm值;rtc_sum,累計(jì)誤差;rtc_quo,累積誤差除以30.5以后的商值;rtc_remainder,累積除以30.5以后的余數(shù);rtc_quo_new,對(duì)rtc_quo校正過的新商值;rtc_remainder_new,rtc_remainder校正過的新余數(shù)值;clk_second,秒脈沖輸出。

  圖4中rtc_quo_new為每秒實(shí)際需要調(diào)整的計(jì)數(shù)周期數(shù),負(fù)值代表計(jì)數(shù)個(gè)數(shù)減少,比如正常計(jì)數(shù)32 768個(gè)周期為1 s,當(dāng)rtc_quo_new為-4表示計(jì)數(shù)只需要計(jì)數(shù)到32 764個(gè)時(shí)鐘周期即可;rtc_remainder_new為本次補(bǔ)償遺留的誤差值,需要與下次需要補(bǔ)償?shù)恼`差值進(jìn)行累積。

  由式(2)和仿真結(jié)果都可以看出,該補(bǔ)償電路能確保每次補(bǔ)償后的累積誤差都控制在15.3 ppm以內(nèi),累積誤差不隨時(shí)間變長(zhǎng)而變大,所以當(dāng)達(dá)到累積10 s時(shí)長(zhǎng)時(shí),平均誤差達(dá)到1.53 ppm,時(shí)間越長(zhǎng)精度越高,計(jì)時(shí)精度遠(yuǎn)高于國網(wǎng)電表的標(biāo)準(zhǔn)要求。

  該新方法與負(fù)載電容調(diào)整方式相比,電路簡(jiǎn)單,面積小,成本低,受集成電路工藝波動(dòng)影響小。與傳統(tǒng)的數(shù)字補(bǔ)償調(diào)校方式相比,在控制每秒誤差同時(shí),不會(huì)累積誤差,有效保證了實(shí)時(shí)時(shí)鐘在長(zhǎng)期運(yùn)行的情況下累積誤差維持在15.3 ppm內(nèi),計(jì)時(shí)精度的補(bǔ)償效果如圖5所示。

005.jpg

  本文新提出一種基于累積誤差控制的RTC溫度補(bǔ)償算法,累積誤差控制在15.3 ppm內(nèi)。開發(fā)了硬件補(bǔ)償電路,并在MCU中設(shè)計(jì)了硬件自動(dòng)補(bǔ)償流程,能很好地滿足國網(wǎng)電表計(jì)時(shí)精度高、功耗低的應(yīng)用需求。

參考文獻(xiàn)

  [1] 鄒云.溫度補(bǔ)償晶體振蕩器的研究[D].天津:南開大學(xué),2010.

  [2] 張昭.一種溫度補(bǔ)償晶體振蕩器芯片的設(shè)計(jì)[D].成都:四川大學(xué),2006.

  [3] 鄧乾中.自校準(zhǔn)實(shí)時(shí)時(shí)鐘RTC的研究和設(shè)計(jì)[D].武漢:華中科技大學(xué),2008.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。