本發(fā)明涉及一種自動(dòng)裝置(微機(jī)保護(hù)裝置、故障錄波裝置、數(shù)據(jù)集中器裝置、電能計(jì)量裝置等自動(dòng)化設(shè)備)高精度守時(shí)方法,屬于電力系統(tǒng)自動(dòng)化技術(shù)領(lǐng)域。
背景技術(shù):
現(xiàn)在電站大多采用不同廠家的自動(dòng)化裝置,微機(jī)保護(hù)裝置,故障錄波裝置,電能計(jì)量裝置,計(jì)算機(jī)監(jiān)控系統(tǒng)等。隨著智能變電站建設(shè)的深入,智能自動(dòng)化裝置的對(duì)時(shí)間精度指標(biāo)有了進(jìn)一步的要求。比如錄波裝置和數(shù)據(jù)集中器裝置在外部同步信號(hào)消失后,至少能在24h內(nèi)滿足±1s同步精度要求。這就要求二次自動(dòng)化設(shè)備必須具備高精度的系統(tǒng)守時(shí)功能。常用的DS3232時(shí)鐘芯片用來(lái)守時(shí)的設(shè)計(jì)一般是通過CPU或者FPGA通過I2C接口來(lái)讀取RTC芯片中存儲(chǔ)的時(shí)間信息來(lái)進(jìn)行守時(shí),但是這種時(shí)鐘芯片內(nèi)部存儲(chǔ)的時(shí)間信息只能精確到秒,因此在外部授時(shí)信號(hào)消失的情況下,如果僅靠I2C讀取內(nèi)部時(shí)間信息的方法進(jìn)行守時(shí)會(huì)造成系統(tǒng)時(shí)間的較大誤差。
目前有以下幾種方式能提高自動(dòng)化裝置系統(tǒng)守時(shí)精度的方案。
參見圖1,方案A:利用溫補(bǔ)晶振TCXO作為系統(tǒng)定時(shí)器晶振,主要是利用溫補(bǔ)晶振的高頻率精度參數(shù)進(jìn)行計(jì)數(shù),達(dá)到減小守時(shí)誤差的目的。方案A主要是使用高精度的溫補(bǔ)晶振TCXO作為自動(dòng)化裝置的工作晶振,這種方案的精度主要取決于溫補(bǔ)晶振的頻率精度,而且由于使用了獨(dú)立的工作晶振,在不采用頻率補(bǔ)償和相位補(bǔ)償?shù)幕A(chǔ)上會(huì)造成系統(tǒng)時(shí)間的不同步,而且精度越高的溫補(bǔ)晶振,成本也比較高。
參見圖2,方案B:利用RTC芯片的I2C接口定時(shí)讀取時(shí)間存儲(chǔ)器的內(nèi)容,然后更新系統(tǒng)時(shí)間信息。方案B在外部GPS對(duì)時(shí)信號(hào)消失后依靠RTC內(nèi)部的時(shí)間寄存器進(jìn)行守時(shí),時(shí)間精度完全依賴CPU的定時(shí)器中斷時(shí)間,系統(tǒng)守時(shí)的精度最差。
參見圖3,方案C:直接利用CPU的主頻時(shí)鐘進(jìn)行定時(shí)器計(jì)數(shù),首先對(duì)GPS的秒脈沖寬度進(jìn)行計(jì)數(shù),進(jìn)行插值平滑得到主頻時(shí)鐘的補(bǔ)償系數(shù),然后對(duì)計(jì)數(shù)器值進(jìn)行變換,減小CPU主頻頻率偏差。方案C直接利用CPU對(duì)主頻時(shí)鐘進(jìn)行插值平滑進(jìn)行補(bǔ)償,由于CPU主頻采用普通的晶振,頻率偏差較大,CPU需要頻繁的進(jìn)行插值計(jì)算,增加了CPU的負(fù)荷,降低了CPU的運(yùn)行效率。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的不足,本發(fā)明目的是提供一種自動(dòng)裝置高精度守時(shí)方法,在不改變?cè)瓉?lái)RTC電路拓?fù)涞幕A(chǔ)上,利用RTC脈沖進(jìn)行守時(shí),在降低設(shè)計(jì)成本的同時(shí),又能滿足電站二次自動(dòng)化設(shè)備裝置對(duì)于守時(shí)精度的要求。
為了實(shí)現(xiàn)上述目的,本發(fā)明是通過如下的技術(shù)方案來(lái)實(shí)現(xiàn):
本發(fā)明的一種自動(dòng)裝置高精度守時(shí)方法,具體包括以下幾個(gè)步驟:
(1)自動(dòng)裝置上電后,F(xiàn)PGA從RTC讀取時(shí)間信息,并保存到內(nèi)部32位時(shí)間寄存器中;
(2)開始檢測(cè)是否有GPS外部授時(shí)脈沖存在,如果外部GPS脈沖存在,轉(zhuǎn)向步驟(3),如果GPS脈沖不存在,轉(zhuǎn)向步驟(5);
(3)判斷GPS秒脈沖在授時(shí)過程中是否丟失,如果沒有丟失,F(xiàn)PGA直接檢測(cè)GPS秒脈沖上升沿及每個(gè)GPS上升沿時(shí)刻,并轉(zhuǎn)向步驟(6),如果丟失,保存GPS時(shí)間到RTC,然后判斷RTC脈沖與GPS脈沖是否同步,如果同步則轉(zhuǎn)向步驟(2),如果不同步則轉(zhuǎn)向步驟(4);
(4)FPGA通過檢測(cè)GPS秒脈沖上升沿來(lái)維護(hù)內(nèi)部計(jì)數(shù)器SysTimeCnt,當(dāng)GPS秒脈沖上升沿到來(lái),讀取SysTimeCnt值,同時(shí)清零進(jìn)行下次計(jì)算,然后計(jì)算32.768KHz與GPS的秒脈沖之間相位和頻率關(guān)系,從而達(dá)到外部GPS脈沖與32.768KHz脈沖頻率和相位同步;
(5)FPGA開始對(duì)RTC的32.768KHz脈沖進(jìn)行計(jì)數(shù),計(jì)數(shù)值等于32767+Coff_Reg時(shí)表示1秒,然后轉(zhuǎn)向步驟(6);
(6)系統(tǒng)內(nèi)部時(shí)間寄存器值加1,然后產(chǎn)生CPU中斷請(qǐng)求,CPU收到中斷請(qǐng)求后進(jìn)行中斷處理,得到FPGA發(fā)送來(lái)的整秒時(shí)間和自身內(nèi)部計(jì)數(shù)器的納秒時(shí)間信息后,進(jìn)行系統(tǒng)時(shí)間更新。
步驟(1)中,F(xiàn)PGA從RTC通過I2C總線讀取時(shí)間信息。
本發(fā)明的一種用于變電站自動(dòng)化裝置在外部GPS對(duì)時(shí)信號(hào)丟失時(shí)可以進(jìn)行高精度守時(shí)的技術(shù)方案,該方案不需要價(jià)格昂貴的溫補(bǔ)晶振,而是利用RTC芯片自身的32.768kHz的脈沖進(jìn)行守時(shí),降低了生產(chǎn)成本;本發(fā)明利用FPGA對(duì)GPS的脈沖的上升沿對(duì)RTC的32.768kHz脈沖進(jìn)行頻率和相位校正,產(chǎn)生一個(gè)跟GPS秒脈沖同步的中斷信號(hào),在GPS秒脈沖信號(hào)丟失時(shí)依然能保持高精度的守時(shí)需求;本發(fā)明在RTC芯片只能保存整秒的時(shí)間信息的基礎(chǔ)上增加納秒信息,提高了自動(dòng)化裝置的守時(shí)精度。
附圖說(shuō)明
圖1為高精度溫補(bǔ)晶振方案原理圖;
圖2為I2C讀取RTC時(shí)間信息方案原理圖;
圖3為CPU守時(shí)設(shè)計(jì)方案原理圖;
圖4為本發(fā)明的守時(shí)方案原理框圖;
圖5為本發(fā)明的FPGA中斷請(qǐng)求時(shí)序圖;
圖6為GPS秒脈沖同步處理時(shí)序圖;
圖7為系統(tǒng)工作流程圖;
圖8為CPU守時(shí)工作流程圖。
具體實(shí)施方式
為使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體實(shí)施方式,進(jìn)一步闡述本發(fā)明。
本發(fā)明所要解決的技術(shù)問題是外部GPS授時(shí)脈沖丟失后,如何高精度的進(jìn)行系統(tǒng)守時(shí),具體的實(shí)現(xiàn)原理如下:
參見圖4,F(xiàn)PGA對(duì)RTC的32.768kHz的脈沖進(jìn)行計(jì)數(shù),從0計(jì)數(shù)到32767就是1s,然后FPG A產(chǎn)生一個(gè)中斷請(qǐng)求Irq給CPU,CPU在中斷中記錄自身計(jì)數(shù)器值(在I.MAX6中,用64bit的Timebase值),然后對(duì)計(jì)數(shù)器進(jìn)行插值平滑記錄CPU中斷到讀取FPGA時(shí)間信息需要的時(shí)間偏差,計(jì)算得出CPU計(jì)數(shù)值和RTC的32.768kHz的相位關(guān)系,這樣達(dá)到CPU自身時(shí)鐘與RTC的脈沖的頻率同步和相位同步的目的,在外部GPS秒脈沖丟失時(shí)能保證高精度的守時(shí)需求。
參見圖5,在FPGA內(nèi)部維護(hù)1個(gè)計(jì)數(shù)器CntNum對(duì)RTC的32.768kHz的脈沖進(jìn)行計(jì)數(shù),記滿32768個(gè)脈沖就是1秒,此時(shí)產(chǎn)生中斷請(qǐng)求信號(hào)給CPU,CPU利用內(nèi)部定時(shí)器進(jìn)行插值平滑算法,達(dá)到時(shí)間精度需求。
FPGA與GPS授時(shí)秒脈沖同步設(shè)計(jì)
參見圖6,F(xiàn)PGA內(nèi)部另外一個(gè)計(jì)數(shù)器SysTimeCnt是對(duì)GPS的秒脈沖到來(lái)時(shí)刻開始計(jì)數(shù),工作時(shí)鐘為50MHz,分辨率為20ns,通過該計(jì)數(shù)器值的插值計(jì)算RTC脈沖與GPS的頻率關(guān)系和相位關(guān)系,并把計(jì)算得到的系數(shù)放到系數(shù)寄存器Coff_Reg中,該寄存器可以通過USART進(jìn)行訪問,用來(lái)計(jì)算CPU內(nèi)部Timebase與RTC 32.768kHz脈沖的關(guān)系。
參見圖7,在本發(fā)明方案中,裝置上電后,F(xiàn)PGA通過I2C總線讀取RTC的日歷信息,從而達(dá)到斷電守時(shí)的功能,然后進(jìn)行GPS脈沖檢測(cè),RTC脈沖與GPS秒脈沖頻率同步,GPS脈沖存在時(shí),系統(tǒng)使用GPS時(shí)間,在GPS秒脈沖消失后對(duì)RTC脈沖進(jìn)行計(jì)數(shù),在整秒時(shí)刻產(chǎn)生中斷請(qǐng)求給CPU,通知CPU進(jìn)行系統(tǒng)時(shí)間的校正。
具體步驟如下:
(1)自動(dòng)裝置上電后,F(xiàn)PGA從RTC讀取時(shí)間信息,并保存到內(nèi)部32位時(shí)間寄存器中;
(2)開始檢測(cè)是否有GPS外部授時(shí)脈沖存在,如果外部GPS脈沖存在,轉(zhuǎn)向步驟(3),如果GPS脈沖不存在,轉(zhuǎn)向步驟(5);
(3)判斷GPS秒脈沖在授時(shí)過程中是否丟失,如果沒有丟失,F(xiàn)PGA直接檢測(cè)GPS秒脈沖上升沿及每個(gè)GPS上升沿時(shí)刻,并轉(zhuǎn)向步驟(6),如果丟失,保存GPS時(shí)間到RTC,然后判斷RTC脈沖與GPS脈沖是否同步,如果同步則轉(zhuǎn)向步驟(2),如果不同步則轉(zhuǎn)向步驟(4);
(4)FPGA通過檢測(cè)GPS秒脈沖上升沿來(lái)維護(hù)內(nèi)部計(jì)數(shù)器SysTimeCnt,當(dāng)GPS秒脈沖上升沿到來(lái),讀取SysTimeCnt值,同時(shí)清零進(jìn)行下次計(jì)算,然后計(jì)算32.768KHz與GPS的秒脈沖之間相位和頻率關(guān)系,從而達(dá)到外部GPS脈沖與32.768KHz脈沖頻率和相位同步;
(5)FPGA開始對(duì)RTC的32.768KHz脈沖進(jìn)行計(jì)數(shù),計(jì)數(shù)值等于32767+Coff_Reg時(shí)表示1秒,然后轉(zhuǎn)向步驟(6);
(6)系統(tǒng)內(nèi)部時(shí)間寄存器值加1,然后產(chǎn)生CPU中斷請(qǐng)求,CPU收到中斷請(qǐng)求后進(jìn)行中斷處理,得到FPGA發(fā)送來(lái)的整秒時(shí)間和自身內(nèi)部計(jì)數(shù)器的納秒時(shí)間信息后,進(jìn)行系統(tǒng)時(shí)間更新。
CPU與FPGA的接口設(shè)計(jì)以及誤差校正
參見圖8,在GPS脈沖丟失后,RTC脈沖與GPS已經(jīng)進(jìn)行了同步校正,對(duì)RTC脈沖的計(jì)數(shù)器值已經(jīng)進(jìn)行了插值平滑,保證FPGA的中斷請(qǐng)求與GPS的秒脈沖信號(hào)已經(jīng)做到了頻率同步和相位同步。CPU在收到中斷請(qǐng)求后讀取內(nèi)部的計(jì)數(shù)器值到64bits的Timebase中,CPU對(duì)計(jì)數(shù)器值插值平滑后更新系統(tǒng)時(shí)間,完成自動(dòng)化裝置的守時(shí)。
與背景技術(shù)中的方案A相比較,采用本發(fā)明的自動(dòng)化裝置守時(shí)方案,在不改變?cè)须娐吩O(shè)計(jì)的基礎(chǔ)上利用RTC等RTC芯片的32.768kHz的脈沖輸出作為FPGA計(jì)數(shù)器的輸入時(shí)鐘,而RTC芯片的該脈沖輸出在-40~85℃的工作環(huán)境下頻率誤差僅為±3.5ppm(1ppm為百萬(wàn)分之一),這樣配合頻率補(bǔ)償和相位補(bǔ)償算法,滿足電力自動(dòng)化裝置守時(shí)精度的要求,而且降低了成本。
與背景技術(shù)中的方案B相比較,采用本發(fā)明的自動(dòng)化裝置守時(shí)方案,首先對(duì)GPS的1pps秒脈沖對(duì)RTC的32.768kHz脈沖進(jìn)行頻率同步和相位同步,在1pps信號(hào)消失后,利用校正后的脈沖進(jìn)行守時(shí),可以在RTC的內(nèi)部寄存器基礎(chǔ)上增加納秒的時(shí)間信息,大大提高自動(dòng)化裝置的守時(shí)精度。
與背景技術(shù)中的方案C相比較,采用本發(fā)明的自動(dòng)化裝置守時(shí)方案,采用的RTC的輸出脈沖頻率精度在工業(yè)范圍內(nèi)為±3.5ppm,由于普通的晶振,另外使用了FPGA進(jìn)行對(duì)該脈沖計(jì)數(shù)進(jìn)行頻率校正和相位校正,CPU只需要在1s的時(shí)刻進(jìn)行回讀即可,大大降低了CPU的負(fù)荷,提高了CPU的運(yùn)行效率。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書中描述的只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。