潘建華 李香 朱世林 徐振偉
(揚州萬泰電子科技有限公司,江蘇揚州 225009)
一種提高智能電表MCU內置RTC精度的方法
潘建華 李香 朱世林 徐振偉
(揚州萬泰電子科技有限公司,江蘇揚州 225009)
目前普遍采用的晶振頻率誤差模型都是將晶振頻率隨溫度的偏差看作一條對稱軸平行于Y軸的拋物線,但與實際晶振頻率誤差有一定出入,因而校準的精度也會受到一定影響。本文以單相智能電能表為例,提出了一種提高電能表MCU內置實時時鐘RTC(Real-Time Clock) 精度的方法。
智能電表 SoC方案 晶振頻率溫度補償 RTC精度
目前智能電能表一般都具有分時、多費率電能表,對時間精確度的要求越來越高,而日計時誤差出現的問題也比較突出,國家電網公司給電能表供應商發出的整改通知中在第2條“元器件環節”和第11條“設計、制造工藝環節”都重點提出了日計時誤差超差問題,要求重點整改。按照國家電網公司的智能電能表的技術規范要求,電能表的日計時誤差必須≤0.5s/d。一般采用的實時時鐘有以下3種:(1)軟時鐘。由于晶振的不穩定性,軟時鐘對晶振質量的要求極高,出于成本考慮,電能表產品不可能采用價格高昂的晶振。(2)硬時鐘。硬時鐘同樣受到晶振穩定度的影響,如早期常用的RX-8025芯片,由于沒有溫度補償功能,因而時鐘準確度不高。后來的RX-8025T增加了溫補功能,時鐘精度較高,而且時鐘穩定度好,但成本較高。(3)混合法,即MCU內置RTC。由于成本較低,同時可通過軟件對RTC誤差進行校正,采用MCU內置RTC目前已經成為電能表設計的首選方案,如何提高內置RTC的時鐘精度就顯得異常重要。本文就是針對如何提高內置RTC的時鐘精度提出一種解決方法。
RTC溫度補償原理:由于溫度和離散性的影響,芯片正常運行時外接的32768Hz晶振的頻率在不同的時間會有不同的實際振蕩頻率。通過溫度傳感器測量當前溫度,根據溫度曲線得出當前溫度環境下RTC的補償值,校正寄存器可以對RTC計時進行校正,減小這種差異對最終實際走時帶來的影響。
采用RTC溫度補償原理,文獻1提出了一種MCU內置RTC實時時鐘精確計時的方法,文獻2中雖然是針對硬時鐘設計提出的校正方法,但原理與文獻1提出的方法一樣,都是將晶振頻率隨溫度的偏差看作一條對稱軸平行于Y軸的拋物線,即f=k*(T-T0)2,其中f為當前溫度下的頻率,k為曲率常數,T為當前溫度,T0為轉折溫度,這也是目前普遍采用的晶振頻率誤差數學模型。
但這種數學模型與實際晶振頻率誤差曲線有一定出入,因而采用這種模型校準的計時精度也會受到一定影響。
電能表時鐘模塊(RTC模塊、MCU內置RTC實時時鐘)精度是影響日計時誤差的最主要原因,也是最難解決的問題。針對目前普遍采用的晶振頻率誤差數學模型的不足,本文提出了一種改進的晶振頻率誤差數學模型,產品試驗結果證明,校正精度為±1ppm以內。
圖1 我司實測并經數據擬合的晶振頻率與溫度關系曲線
由V9811數據手冊提供的晶振頻率與溫度關系曲線可以看出,當晶振溫度低于轉折溫度時的曲率明顯大于晶振溫度高于轉折溫度時的曲率,但數據手冊中仍然把它當成拋物線處理。圖1為我司實測并經數據擬合的晶振頻率與溫度關系曲線,由圖1可以看出,當晶振溫度低于轉折溫度時的曲率明顯小于晶振溫度高于轉折溫度時的曲率。可見,晶振頻率與溫度關系曲線并不是理想的一條對稱軸平行于Y軸的拋物線,即f=k*(T-T0)2。具體關系曲線依采購晶振的供應商和批次有關,因此在確定晶振供應商后一般不要更換供應商,在更換供應商和不同批次采購時都必須重新進行溫補校正。
為了更精確地測出溫度曲線,可將V9811的寄存器CtrlADC5的PTATEN位置1以選擇溫度傳感器1,其溫度測量范圍為-40℃~85℃范圍。將10只電能表放入溫控箱,通過溫控箱從-40℃到85℃范圍內調整,步進值為1℃,依次讀取溫度傳感器測得的值。通過記錄,我們可以看出寄存器讀出的值與實際溫度值成線性關系,即TR=K*
(T+40)+TR40,其中TR為當前溫度下的寄存器值,K為斜率,T為當前溫度,TR40為-40℃溫度下的寄存器值。斜率K基本相同,但常數項TR40略有偏差。由于實際生產時不可能對每只表都進行溫度標定,因此可將這10只電能表測定的溫度-寄存器關系曲線進行曲線擬合,得出K1~K10、TR40-1~TR40-10,K1~K10和TR40-1~TR40-10分別進行中值濾波,得出溫度和寄存器值的對應關系TR=K*(T+40)+TR40,并將各溫度下的標定值存入存儲器。這樣,實際運行時電能表每30s測量一次溫度,將測得的溫度寄存器值通過查表與標定的溫度值比較,就能精確地測得環境實際溫度,實際溫度精度可達±0.5°C。
上述操作的同時,依次用頻率計測量出引腳P2.0(Pin62)輸出的晶振頻率。然后根據各溫度的頻率測量值,找出頻率最接近于32768Hz的溫度,得出轉折溫度T0以及轉折溫度下的頻率偏差f0。可以看出,實際頻率-溫度曲線近似拋物線,但并不是一個理想的拋物線,轉折溫度左側與右側的曲率并不一樣。但不同表之間曲線形狀偏差很小,僅上下偏移,即常數項f0略有偏差。
因此,本文以轉折溫度為界,將轉折溫度兩邊的頻率-溫度曲線分別用拋物線近似,即數學模型按以下公式建立:
采用上述數學模型設計的智能電表日計時誤差較小,最大日計時誤差小于0.3s/d。
如何提高內置RTC的時鐘精度是一個關鍵問題,本文提出的一種晶振頻率溫度補償數學模型較好的解決了這一問題。但今后仍然需要繼續進行研究,以便使這一問題得到更好的解決。
[1]梁世清等.內置RTC作為電能表計時鐘的應用.自動化儀表,2012,33(1):76-78.
[2]鄧乾中.自校準實時時鐘RTC的研究和設計.華中科技大學碩士學位論文,2008.5.