王岳平,張道振,邱于保
(1.華立科技股份有限公司,浙江 杭州 310023;2.萬(wàn)向一二三股份有限公司,浙江 杭州 311215)
最小二乘法曲線擬合的RTC補(bǔ)償在智能電表中的應(yīng)用
王岳平1,張道振2,邱于保1
(1.華立科技股份有限公司,浙江 杭州 310023;2.萬(wàn)向一二三股份有限公司,浙江 杭州 311215)
在降本增效要求的推動(dòng)下,智能電表的電機(jī)控制單元(MCU)逐漸采用片上系統(tǒng)(SoC)方案,在集成電子技術(shù)發(fā)展基礎(chǔ)上趨向多元件集成。針對(duì)目前應(yīng)用的大多數(shù)SoC芯片內(nèi)置實(shí)時(shí)時(shí)鐘(RTC)模塊需要時(shí)鐘補(bǔ)償才能滿足國(guó)網(wǎng)±0.5 s/d精度要求的問(wèn)題,提出了通過(guò)硬件溫度檢測(cè)和在軟件上采用最小二乘法曲線擬合晶體振蕩器溫度特性對(duì)RTC進(jìn)行溫度補(bǔ)償?shù)姆桨福Y(jié)合Matlab最小二乘法曲線擬合工具進(jìn)行數(shù)據(jù)分析與研究,并采用三次曲線擬合補(bǔ)償曲線,經(jīng)測(cè)試驗(yàn)證可達(dá)到在-45~+75 ℃的溫度范圍內(nèi)±0.5 s/d的系統(tǒng)精度要求。該方法已通過(guò)批量驗(yàn)證,完全能滿足國(guó)家電網(wǎng)新一代智能電表的時(shí)鐘精度要求,為智能電表等自動(dòng)化儀表的RTC方案選擇提供了新思路和新方向。
能源; 電力; 智能電表; 最小二乘法; 溫度補(bǔ)償; Matlab; 精度
智能電表分費(fèi)率及預(yù)付費(fèi)要求時(shí)鐘精度在±0.5 s/d以內(nèi),且在電池供電時(shí)須保證時(shí)鐘正常工作。考慮到電池的使用壽命,一般選擇低頻、低功耗的32 768 Hz石英晶體振蕩器作為實(shí)時(shí)時(shí)鐘(real time clock,RTC)的時(shí)鐘源。
晶體振蕩器由晶體單元和各種半導(dǎo)體組成,頻率特性主要取決于其內(nèi)部晶體單元,而晶體單元特性取決于切割工藝,切割工藝決定了晶體振動(dòng)模式、頻率范圍和溫度特性[1-4]。晶體振蕩器根據(jù)切割工藝主要有音叉型、AT切型、聲表面波型三種,每種都具備特有的頻率范圍和溫度特性。智能電表的RTC振蕩器常選擇音叉型,其溫度特性曲線表現(xiàn)為拋物線,在全溫度范圍內(nèi)很難滿足儀器儀表的精度要求。另外,晶體的生產(chǎn)廠家、生產(chǎn)批次和工藝的差異等也會(huì)對(duì)其溫度特性曲線和晶體固定頻率產(chǎn)生影響,所以必須對(duì)晶體振蕩器進(jìn)行溫度和固定頻偏校正。
在智能電表設(shè)計(jì)中,RTC一般有以下三種方案。
①采用時(shí)鐘芯片。該芯片自帶補(bǔ)償,時(shí)鐘輸出精度穩(wěn)定、可靠,操作與應(yīng)用方便;但其不僅價(jià)格高、有悖于降本增效,而且電機(jī)控制單元(moter control unit,MCU)必須通過(guò)I2C總線獲取日歷時(shí)間等相關(guān)信息,在電池供電環(huán)境下頻繁讀取,會(huì)增加額外功耗,減少電池使用壽命。
②采用片上系統(tǒng)(system on a chip,SoC)+預(yù)設(shè)擬合曲線。RTC以獨(dú)立模塊的方式強(qiáng)制集成在MCU芯片上,片內(nèi)預(yù)設(shè)供應(yīng)商提供的溫度補(bǔ)償擬合曲線和溫度補(bǔ)償機(jī)制,用戶只需頻偏校正,操作方便。但由于該方案需要定制對(duì)應(yīng)的晶體振蕩器,且更換晶體振蕩器須通過(guò)供應(yīng)商修改預(yù)置擬合曲線,故延長(zhǎng)了供貨周期。
③采用SoC,RTC模塊同方案二集成在MCU芯片上。因片內(nèi)既無(wú)溫度補(bǔ)償機(jī)制,也無(wú)預(yù)設(shè)的溫度補(bǔ)償擬合曲線,所以應(yīng)用時(shí)必須進(jìn)行溫度補(bǔ)償和頻偏校正才能滿足時(shí)鐘精度要求。
應(yīng)用廠家常因溫度補(bǔ)償不到位導(dǎo)致RTC精度不達(dá)標(biāo)而選用方案一。
表1對(duì)比了這三種RTC方案的優(yōu)缺點(diǎn)。

表1 RTC方案優(yōu)缺點(diǎn)對(duì)比
針對(duì)方案三,提出以最小二乘法曲線擬合的方式擬合溫度補(bǔ)償曲線,對(duì)晶體振蕩器因溫度影響而產(chǎn)生的頻率偏差進(jìn)行補(bǔ)償,以達(dá)到時(shí)鐘輸出穩(wěn)定、高精度的要求,從而在降本增效的基礎(chǔ)上,為智能電表等儀表生產(chǎn)廠家選擇自由定制的RTC方案提供幫助。
RTC的校正方式可分為模擬補(bǔ)償和數(shù)字補(bǔ)償兩種[4-5]。
模擬補(bǔ)償即硬件自校正,其通過(guò)提高或調(diào)整晶體振蕩器晶體本身、負(fù)載電容、電壓、應(yīng)力及優(yōu)化硬件拓?fù)浣Y(jié)構(gòu)[1-6],以達(dá)到理想的精度。
數(shù)字補(bǔ)償通過(guò)補(bǔ)償寄存器(trim-register)在固定時(shí)間間隔內(nèi)增減時(shí)鐘個(gè)數(shù)進(jìn)行調(diào)整,從而達(dá)到補(bǔ)償目的[6-8];通常有調(diào)整高頻振蕩時(shí)鐘個(gè)數(shù)和低頻32 768 Hz時(shí)鐘個(gè)數(shù)兩種方法。
晶體振蕩器補(bǔ)償原理如圖1所示。

圖1 晶體振蕩器補(bǔ)償原理圖
通過(guò)修改預(yù)分頻器和調(diào)整補(bǔ)償寄存器的數(shù)值,可增減計(jì)數(shù)周期內(nèi)低頻32 768 Hz晶體振蕩器的時(shí)鐘個(gè)數(shù),從而影響計(jì)數(shù)器半秒或秒的進(jìn)位頻率,比如STM32F1XX系列、STM32L1XX系列采用此方法;SH79F642采用調(diào)整計(jì)數(shù)周期內(nèi)高頻振蕩時(shí)鐘個(gè)數(shù)的方法。
相對(duì)高頻計(jì)數(shù),低頻計(jì)數(shù)會(huì)在固定周期內(nèi)增減不固定的低頻時(shí)鐘個(gè)數(shù)[7-8],導(dǎo)致因秒輸出不均勻而跳出一個(gè)大誤差值[4,7]。其雖不影響累積誤差,但如需秒輸出均勻,則可采用類似文獻(xiàn)[7]的方法。該方法在固定時(shí)間周期內(nèi),使用定時(shí)器(高頻計(jì)數(shù))捕捉方式測(cè)量并計(jì)算周期內(nèi)的累計(jì)計(jì)時(shí)誤差;然后平均到每秒,根據(jù)每秒誤差,修改半秒或秒窗口定時(shí)器,比較寄存器數(shù)值,通過(guò)定時(shí)中斷方式輸出半秒或秒信號(hào)。無(wú)論是低頻計(jì)數(shù)還是高頻計(jì)數(shù),其補(bǔ)償原理都一樣,目的是獲取補(bǔ)償值并寫(xiě)入數(shù)字校正模塊的補(bǔ)償寄存器。
智能電表中常用時(shí)鐘芯片中,DS3231采用的是電容式補(bǔ)償,而RX-8025T及常用的SoC方案均采用數(shù)字補(bǔ)償。
結(jié)合SoC方案,將數(shù)字補(bǔ)償分為溫度補(bǔ)償和頻偏補(bǔ)償,提出通過(guò)最小二乘法和固化軟件算法擬合晶體溫度特征曲線,以達(dá)到理想的溫度補(bǔ)償效果。首先,對(duì)同類型、同批次或具有相同溫度特征曲線的晶體振蕩器進(jìn)行溫度補(bǔ)償曲線擬合,并將擬合曲線預(yù)置到軟件中;然后,采用溫度傳感器測(cè)取環(huán)境溫度,根據(jù)溫度,通過(guò)預(yù)置的擬合曲線計(jì)算補(bǔ)償值;最后,將溫度補(bǔ)償值加上頻偏補(bǔ)償值,并按要求將其寫(xiě)入指定補(bǔ)償寄存器,完成RTC校正。

數(shù)據(jù)擬合的具體方法是:對(duì)給定數(shù)據(jù)(xi,yi)(i=0,1,…,m),在取定的函數(shù)類φ中,求p(x)∈φ,使誤差ri=p(x)-yi(i=0,1,…,m)的平方和最小。即:
(1)
在幾何意義上,就是尋找與給定點(diǎn)(xi,yi)(i=0,1,…,m)距離平方和為最小的曲線y=p(xi)。p(xi)為擬合函數(shù)或最小二乘解,該求擬合函數(shù)p(xi)的方法稱為曲線擬合的最小二乘法。
假設(shè)晶體振蕩器溫度及時(shí)鐘精度構(gòu)成數(shù)據(jù)點(diǎn)為(Ti,Acci)(i=0,1,…,m),為所有次數(shù)不大于n(n≤m)的多項(xiàng)式構(gòu)成的函數(shù)類,求取Pn(T)∈φ,使誤差ri=P(Ti)-Acci(i=0,1,…,m)的平方和最小。

(2)
將式(2)整合到式(1),進(jìn)行多項(xiàng)式擬合:

(3)
式中:I為a0,a1,…,an的多元函數(shù)。

(4)
即:

(5)
式(5)是關(guān)于a0,a1,…,an的線性方程組,用矩陣表示為:

從該式中解出ak(k=0,1,…,n),代入式(2),獲得溫度補(bǔ)償擬合曲線。
根據(jù)多項(xiàng)式擬合要求,先測(cè)取數(shù)據(jù)點(diǎn)(Ti,Acci)(i=0,1,…,m)。將數(shù)塊樣表放置在可設(shè)置溫度(溫度范圍為-45~+75 ℃)的箱體中,每隔5 ℃靜置不小于3h后,測(cè)取表內(nèi)溫度與樣表在此溫度下的時(shí)鐘精度。為保證表內(nèi)溫度測(cè)量的準(zhǔn)確性,必須使用外置溫度檢測(cè)電路;可使用溫度芯片或高精度熱敏電阻,在這采用高精度熱敏電阻。為闡述補(bǔ)償方法,在此僅選取一塊樣表進(jìn)行數(shù)據(jù)分析。實(shí)際補(bǔ)償中需要多組(至少5組)ak(k=0,1,…,n)擬合數(shù)據(jù),然后對(duì)ak(k=0,1,…,n)求平均來(lái)保證擬合曲線的一致性。
假設(shè)一塊樣表測(cè)取的溫度Ti(i=0,1,…,24)(℃)、時(shí)鐘精度Acci(i=0,1,…,24)(×10-6)數(shù)據(jù)為:
Ti(i=0,1,…,24)=(-28.3,-25.5,-21.9,-18.4,-14.6,-10.4,-6.0,-1.2,3.2,7.7,12.4,16.5,21.3,26.2,31.2,36.0,41.1,45.1,50.1,55.0,59.9,65.0,69.8,74.6)
Acci(i=0,1,…,24) = (-76.39,-59.33,-42.04,-27.89,-13.59,-1.02,9.85,19.93,27.74,33.97,39.14,42.22,44.07,44.46,43.21,40.23,35.57,30.14,22.30,12.40,0.88,-12.77,-27.59,-44.59)
利用Matlab命令窗口輸入Ti(i=0,1,…,24)、Acci(i=0,1,…,24);再打開(kāi)曲線擬合圖形用戶接口,使用figure與plot(x,y,′bs′)命令擬合多項(xiàng)式曲線[10]。通過(guò)曲線擬合圖形分析擬合多項(xiàng)式的合理次數(shù)[11],得到各次擬合溫度補(bǔ)償曲線如圖2所示。

圖2 各次擬合溫度補(bǔ)償曲線
圖2顯示了-45~+90 ℃溫度范圍內(nèi),各次曲線與實(shí)測(cè)數(shù)據(jù)之間的偏移關(guān)系。擬合的各次曲線中,在-15~+60 ℃的溫度范圍基本重合,故只針對(duì)各次曲線低溫(小于0 ℃)和高溫(大于40 ℃)不重疊部分進(jìn)行分析。圖中從左邊第三個(gè)點(diǎn)即實(shí)測(cè)溫度小于-21.9 ℃后,曲線開(kāi)始分叉;在-25 ℃以下,擬合曲線的次數(shù)越低曲線開(kāi)口上翹越厲害,表明偏離實(shí)測(cè)數(shù)據(jù)越多。比如曲線中的實(shí)測(cè)溫度點(diǎn)-28.3 ℃,二次、三次、四次曲線擬合后的補(bǔ)償值分別為-68.41×10-6、-72.11×10-6、-74.48×10-6,與理想值-76.39×10-6分別相差-7.98×10-6、-4.28×10-6、-1.91×10-6,所以二次擬合曲線在低溫下存在補(bǔ)償不到位的問(wèn)題。圖2從右邊第二個(gè)點(diǎn)即實(shí)測(cè)溫度點(diǎn)69.8 ℃后,曲線有略微分叉,二次、四次擬合曲線基本重合,三次擬合曲線略有上翹,故高溫狀態(tài)各次曲線擬合后偏離實(shí)測(cè)不明顯。綜合高、低溫各次擬合曲線數(shù)據(jù)分析表明,四次擬合曲線最好,二次擬合曲線低溫補(bǔ)償不夠,三次擬合曲線高溫狀態(tài)雖略有偏差但在可控范圍內(nèi)。Matlab擬合結(jié)果顯示,二次、三次、四線擬合曲線殘差分別為12.653 0、8.028 4、3.655 4。按園網(wǎng)要求,在全溫度范圍內(nèi)誤差應(yīng)小于±0.5s/d,則殘差不應(yīng)超過(guò)5.79,即四次擬合曲線為最優(yōu),三次擬合曲線為其次。所以無(wú)論是Matlab對(duì)擬合結(jié)果的分析,還是對(duì)各次擬合曲線與實(shí)測(cè)數(shù)據(jù)點(diǎn)之間偏差分析都表明:四次擬合曲線為最優(yōu),三次擬合曲線其次,二次擬合曲線最差。在實(shí)際應(yīng)用環(huán)境,表內(nèi)溫度低于-35 ℃或高于75 ℃的應(yīng)用較少,且曲線次數(shù)越少,選取的測(cè)量點(diǎn)個(gè)數(shù)也可相應(yīng)減少[11];考慮到實(shí)驗(yàn)室測(cè)量操作的可行性及補(bǔ)償?shù)姆奖阈裕x擇三次擬合曲線。
通過(guò)Matlab擬合出式(2)的三次曲線,即n=3:
(6)
擬合結(jié)果為:a0=22.473,a1=1.996 3,a2=-0.044 777,a3=8.527 5×10-5。
為了使通過(guò)Matlab擬合得到的三次曲線能應(yīng)用到軟件算法,需分離出頻偏補(bǔ)償值與溫度補(bǔ)償值,即σ=σf+σt。其中:σ為需要補(bǔ)償?shù)臅r(shí)鐘精度;σf為頻偏值;σt為溫度補(bǔ)償值,通過(guò)曲線擬合補(bǔ)償。在批量生產(chǎn)中,只需要擬合校正溫度曲線,并在常溫下校正頻偏值即可。
σt=β×(T-T0)2+γ×T3
(7)
式中:σt為溫度補(bǔ)償值,×10-6;T0為頂點(diǎn)溫度,℃;β為二次系數(shù);γ為三次系數(shù);T為檢定溫度,℃ 。
式(7)分解成以P3(T)相似類型的多項(xiàng)式,加上σf,再將同次參數(shù)一一對(duì)應(yīng)于ak(k=0,1,…,3),得到式(8)。
(8)
求解式(8)即可確認(rèn)參數(shù),將參數(shù)復(fù)原到式(7),即可得到補(bǔ)償方程式(9):
σ=-0.004 477×(T-22.295)2+(8.527 5× 10-5)×T3+44.72
(9)
將計(jì)算得到的數(shù)值按要求寫(xiě)入補(bǔ)償寄存器后,便可完成時(shí)鐘的補(bǔ)償。
將上述最小二乘法擬合曲線方法,應(yīng)用于調(diào)整低頻時(shí)鐘個(gè)數(shù)數(shù)字補(bǔ)償方式的芯片STM32F100與調(diào)整高頻時(shí)鐘個(gè)數(shù)數(shù)字補(bǔ)償方式的芯片SH79F642SOC。針對(duì)不同的晶體振蕩器,分別選擇4塊樣表,在-45~+75 ℃的溫度范圍測(cè)量秒脈沖輸出誤差,測(cè)試結(jié)果對(duì)比如圖3所示。據(jù)測(cè)量數(shù)據(jù)分析,補(bǔ)償后頻率偏差均滿足±0.5s/d的要求,圖3中測(cè)試補(bǔ)償后的秒誤差數(shù)據(jù)均聚攏在±0.4s/d。對(duì)于兩種不同的數(shù)字補(bǔ)償方式,通過(guò)最小二乘法擬合曲線方法的補(bǔ)償效果差別不大。但測(cè)試結(jié)果顯示,20×10-6的晶體振蕩器比5×10-6的效果更佳。圖3(b)表明高溫70 ℃以上,補(bǔ)償后時(shí)鐘精度時(shí)鐘誤差絕大值大于0.3s/d;而圖3(c)中,溫度范圍聚攏在±0.3s/d。

圖3 晶振曲線擬合后測(cè)試結(jié)果對(duì)比圖
智能電表等自動(dòng)化儀表有低功耗及高時(shí)間精度的要求。為降低系統(tǒng)功耗,常選擇音叉型低頻晶體振蕩器(32 768 Hz)作為RTC時(shí)鐘源,但此晶體振蕩器溫度特性曲線表現(xiàn)為拋物線,在全溫度范圍內(nèi)很難滿足時(shí)間精度要求,所以需進(jìn)行溫度補(bǔ)償。在智能電表中,應(yīng)采用最小二乘法擬合溫度補(bǔ)償曲線方法對(duì)溫度引起的頻率偏差進(jìn)行補(bǔ)償。通過(guò)驗(yàn)證與分析,使用三次曲線擬合溫度補(bǔ)償曲線方法,進(jìn)行RTC全溫度范圍補(bǔ)償,能完全滿足智能電表中要求RTC頻率偏差為±0.5 s/d的要求,并且能在全溫度范圍-45~+75 ℃內(nèi)達(dá)到±0.5 s/d的計(jì)時(shí)誤差。根據(jù)二次、三次、四次曲線擬合結(jié)果分析,次數(shù)越高補(bǔ)償效果越佳;要想獲得更高精度,理論上四次曲線擬合效果更佳,但其軟件算法的實(shí)現(xiàn)更復(fù)雜,故可根據(jù)實(shí)際應(yīng)用需要選擇。最小二乘法擬合溫度補(bǔ)償曲線的方法不僅可以應(yīng)用于智能電表,也可以應(yīng)用于對(duì)RTC有時(shí)鐘精度要求的其他儀器儀表。
[1] 范爽.石英晶體振蕩器的溫度補(bǔ)償技術(shù)[D].天津:南開(kāi)大學(xué),2014.
[2] 徐磊.一種高精度溫度補(bǔ)償晶體振蕩器的算法研究及電路實(shí)
現(xiàn)[D].西安:西安電子科技大學(xué),2014.
[3] 鄒云.溫度補(bǔ)償晶體振蕩器的研究[D].天津:南開(kāi)大學(xué),2010.
[4] 劉會(huì)娟,伍冬,鄭德平,等.一種高精度模數(shù)混合溫度補(bǔ)償晶體振蕩器[J].微電子學(xué),2011,41(6):830-839.
[5] 白麗娜,周渭,李婉瑩,等.基于應(yīng)力處理的溫度補(bǔ)償石英晶體振蕩器[J].儀器儀表學(xué)報(bào),2014,35(7):1594-1598.
[6] 趙東艷,周芝梅,王于波,等.一種基于累積誤差控制的RTC補(bǔ)償算法及電路[J].電子技術(shù)應(yīng)用,2014,40(12):66-68.
[7] 梁世清,包海泉,季海濤,等.內(nèi)置RTC作為電能表計(jì)時(shí)鐘的應(yīng)用[J].自動(dòng)化儀表,2012,33(1):76-78.
[8] 周宣,任智仁,李宏華,等.智能電能表硬件RTC誤差補(bǔ)償系統(tǒng):202256438U[P].2012-05-30.
[9] 唐家德.基于MATLAB的非線性曲線擬合[J].計(jì)算機(jī)與現(xiàn)代化,2008(6):15-19.
[10]趙海濱.MATLAB應(yīng)用大全[M].北京:清華大學(xué)出版社,2012.
[11]陳嵐峰,楊靜瑜,崔崧,等.基于MATLAB的最小二乘曲線擬合仿真研究[J].沈陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,32(1):76-79.
Application of the RTC Compensation Based on Least Square Curve Fitting for Smart Meters
WANG Yueping1,ZHANG Daozhen2,QIU Yubao1
(1.Holley Technology Co.,Ltd.,Hangzhou 310023,China;2.Wanxiang A123 System Asia Co.,Ltd.,Hangzhou 311215,China)
Driven by the requirements of the cost reduction and higher efficiency,the System-on-a-Chip (SoC) scheme has been adopted gradually for MCU of the smart meters,and on the basis of the development of integrated electronic technology,the multi-component integration is the trend.At present,most of the built-in real time clock (RTC) modules of SoC need clock compensation for meeting the accuracy requirement of ±0.5 s/d for the State Grid;aiming at this issue,the strategy of temperature compensation for RTC is proposed;with this strategy,temperature is detected by using hardware,and the least square curve fitting for temperature characteristics of the crystal oscillator is used in software.Combining with Matlab least squares curve fitting tool,data analysis and research are conducted,by using cubic curve fitting compensation curve,and by test and verification that this method can reach the demand of ±5 s/d system accuracy between temperature -45 ~ +75 ℃.Batch verification of this method has been passed;the accuracy of the clock in new generation of smart meters can be fully satisfied,which provides a new concept and direction in selecting RTC scheme for smart meters and other automation instruments.
Energy; Electric power; Smart meter; Least square method; Temperature compensation; Matlab; Accuracy
王岳平(1982—),女,碩士,工程師,主要從事智能電表、配網(wǎng)故障指示器的研究。E-mail:yueping870@163.com。
TH-39; TP216
A
10.16086/j.cnki.issn1000-0380.201704019
修改稿收到日期:2016-11-21