內置高精度溫補硬件RTC的SoC智能電表方案
從目前國網單相智能電能表整體方案來看,電子物料中成本較高的分別是實時時鐘芯片、ESAM安全芯片、MCU、計量芯片、LCD驅動。ESAM安全芯片由于安全需要為國網指定使用,不具備集成條件;計量芯片雖然在趨勢上最終要被集成到SoC芯片,但由于國網對此態(tài)度較為審慎,短時間難有突破。所以目前比較務實的SoC方案是將LCD驅動和實時時鐘芯片集成進去。LCD驅動大部分IC廠商均有類似產品,并不存在技術難度。而實時時鐘方面,單相智能電表使用的芯片主要為EPSON的8025T、Intersil12020M、美信DS3231,單價均在7元以上,價格較貴,但其性能指標較高,-40℃~85℃范圍內,精度優(yōu)于0.432s/d,遠高于國網要求的-25℃~60℃,1s/d的要求。要在SoC芯片中實現(xiàn)外置實時芯片接近的性能,雖有難度,但也并非完全不可能。
實時時鐘的計時精度主要取決于時鐘源的特性,以及如何根據時鐘源的特性做出補償機制。下面就這兩個方面來做簡單的介紹。
由于實時時鐘芯片需要在電池供電情況下工作,所以功耗成為一個很重要的考慮因素,通常采用高ESR的音叉晶振。音叉晶振精度受到以下幾個方面的影響。
生產工藝的偏差導致常溫下的頻率發(fā)生偏移。頻率偏移量一般在±20PPM左右,精度稍高的在±5PPM;
溫度的影響:這部分影響最大,頻率偏移與溫度近似成拋物線特性;
老化:晶振精度會隨著工作時間的增加而發(fā)生變化。第一年晶振精度最大會有±3PPM變異,整個使用壽命期間會有±10PPM的變化;
激勵功率的影響:過高的激勵功率會影響時鐘源的精確性和壽命,所以激勵功率應控制在晶振可接受的范圍內,對于常用的32768音叉晶振,激勵功率應小于1μW;
負載電容:包括外接的負載電容和PCB雜散電容。負載電容對頻率的影響稱為牽引率,可用以下公式表示:
其中,CM為晶體的動態(tài)等效電容,C0為晶體的靜態(tài)電容,CL為外接負載電容。
常見的補償機制分為模擬方法和數字方法
模擬方法主要原理是利用負載電容對頻率的影響來實現(xiàn),通過增加和減少負載電容來達到補償頻率偏移的目的。這種方法的優(yōu)點在于補償的實時性,補償后的每個32768kHz時鐘都是準確的。但缺點也很明顯,補償的范圍有限,電容太大或太小都將帶來穩(wěn)定性問題;補償的非線性以及補償效果與晶體本身的CM有關,這將帶來批量調節(jié)的復雜性。
常用的數字補償機制為TTF(數字脈沖吞吐法),通過吞吐時鐘的個數來達到對計時精度的補償。比如,對于32768Hz時鐘源,通常只需要數32768個脈沖,就可輸出精確的1Hz信號,但當時鐘源振蕩頻率由32768Hz變大為32769Hz時,仍按32768個脈沖計數輸出1Hz信號顯然會偏快。這時可以通過增加1個脈沖即數32769個脈沖再輸出1Hz,這時的1Hz就是精確的了。補償的精度為1/32768=30.5PPM。如果需要提高補償精度可以有兩種辦法:1) 增加吞吐脈沖數的周期時間,如由1s增加至60s,此時調節(jié)精度變?yōu)?/32768/60=0.51PPM,但實時性降低;2) 提高吞吐脈沖的頻率,如內置100倍頻的PLL電路,這樣增加1個脈沖改變的寬度僅為原32768Hz的1/100,此時補償精度可達到0.305PPM,但這樣會帶來功耗的增加。數字補償方法的優(yōu)點是不需要改變振蕩器本身,其補償范圍大,又不會帶來穩(wěn)定問題,補償效果確定,與晶體特性無關。缺點是補償的實時性和功耗難以同時保證。
目前市面上的實時時鐘芯片出于電池應用場合功耗考慮,大多采用模擬方法與數字低頻時鐘方法相結合的方法來實現(xiàn)實時性和功耗平衡,其缺點是工廠調校較多。而在智能電表特定應用場合,在電池供電情況下無需輸出1Hz秒脈沖,此時對校正的實時性要求不高,可以使用低頻脈沖補償方法,同時滿足功耗的要求。而在市電供電情況下要求輸出穩(wěn)定精確的1Hz秒脈沖,但此時對功耗要求不高,因此可采用高頻脈沖方式來進行輸出補償,這便使得全數字補償成為可能。
本文采用的方式就是全數字補償方式。系統(tǒng)結構圖如圖4所示。
該系統(tǒng)采用的是中穎電子為國網量身定制的SoC芯片SH79F6431。
SH79F6431主要資源如下:
工作電壓2.4V~3.6V(部分IO支持5V,用于PLC接口);
JTAG在線調試;
64KB FLASH程序存儲空間;
256B IRAM,2816 XRAM;
3路UART接口,一路內置紅外調制電路;
3路定時器,2路PWM,可用來產生ESAM和CPU卡時鐘;
硬件IIC接口,方便與LCD,EEPROM通訊;
內置4通道10 bit ADC,可內部直接測量電池電壓;
帶補償低功耗硬件實時時鐘;
內置高速PLL;
內置掉電檢測基準源,方便準確檢測外部掉電;
內置電源切換電路;
內置4*39 LCD driver;
支持ISP。
從資源上看,SH79F6431完全可以滿足國網單相電能表的應用,比較特別的是其RTC為硬件RTC,其運行獨立于CPU,不受各種復位電路的影響,并可提供兩種供電模式下的功耗兼顧和實時性補償機制。在保證市電供電情況下,每個秒脈沖都準確穩(wěn)定,而且用戶接口統(tǒng)一,非常簡單易用,用戶只要將需要校正的頻率偏差除以2.03并取整后寫入校正寄存器(RTCDATA)即可。
圖4中Rref,Rntc和C1組成測溫電路,用于晶體環(huán)境溫度的測量。考慮到功耗和自熱問題,Rref和Rntc的阻抗較大,這里Rref選用100kΩ/0.1%電阻,Rntc采用50kΩ,C1為1000pF,用于滿足ADC輸入動態(tài)電阻的要求。
振蕩器選用Seiko VT-200F及12pF,電容應采用溫漂較小的C0G電容。
對于前文提到的各種影響時鐘精度的因素,補償方法如下:
工藝和負載電容的影響:
在常溫(25℃左右)下測量出頻偏B(單位PPM),將B/2.03寫入RTCDATA即可。
老化的影響:
根據晶體實際工作時間和老化率,將老化引起的頻偏除以2.03可得到老化補償值,與常溫補償值和溫度補償值代數求和后,寫入RTCDATA,每年補償一次。
溫度的影響:
用測溫電路測量出當前的溫度值,根據溫度和晶振頻率隨溫度變化的曲線,找到對應溫度下由溫度影響引起的頻偏A。全溫度范圍內,要補償滿足國網要求,需確保溫度控制在±1℃以內。
晶振的溫度特性并非理想的拋物線,各廠商的溫度特性均不相同,需要大量的溫度實驗來獲取溫度特性,工作量巨大。實踐表明,每5℃一個點進行描繪,既可以保證精度,又可以使工作量得到較大的減輕。
補償動作在市電供電下,可一分鐘進行一次;在電池供電下,考慮到功耗,一般十五分鐘一次即可。一次補償的軟件流程如圖5所示。
本文小結
基于SH79F6431的內置RTC補償SoC方案,簡單易行,無需復雜運算,相比較獨立RTC芯片成本得到大幅降低。目前該方案通過批量試產驗證,性能可優(yōu)于國網要求,全溫度范圍內,達到±0.3s/d,補償效果關鍵取決于測溫精度和物料的一致性。
電能表相關文章:電能表原理
評論