基于GPS的時(shí)標(biāo)系統(tǒng)實(shí)現(xiàn)方法探究
摘要: 介紹一種利用全球定位系統(tǒng)(GPS)并輔以復(fù)雜可編程邏輯器件,給高速數(shù)據(jù)采集系統(tǒng)中的采集數(shù)據(jù)貼上精確時(shí)間標(biāo)簽的方法。該方法顯著地提高了時(shí)間標(biāo)簽的精度和可靠性。利用MAX PLUSⅡ開(kāi)發(fā)環(huán)境驗(yàn)證了設(shè)計(jì)方案的正確性。此設(shè)計(jì)方案已經(jīng)成功地應(yīng)用到自行設(shè)計(jì)的高速數(shù)據(jù)采集卡中。
本文引用地址:http://www.ex-cimer.com/article/88277.htm關(guān)鍵詞: 全球定位系統(tǒng)(GPS) 復(fù)雜可編程邏輯器件 時(shí)間標(biāo)簽 ADuC812
基于全球定位系統(tǒng)(GPS)的雙端行波故障定位系統(tǒng)是利用行波的第一個(gè)波頭到達(dá)線路兩端的時(shí)間差來(lái)計(jì)算故障點(diǎn)的位置的。由于行波的傳播速度非???約為光速的98%)[1],因此對(duì)行波波頭到達(dá)線路兩端時(shí)刻的時(shí)間精度要求非常高。在現(xiàn)場(chǎng)運(yùn)行中,由于衛(wèi)星信號(hào)調(diào)整、天線干擾以及GPS接收系統(tǒng)故障等原因,使得GPS接收系統(tǒng)可能在短時(shí)間內(nèi)失步。這時(shí)不同廠站間GPS接收器發(fā)出的秒脈沖之間的相對(duì)誤差可能達(dá)到幾百μs。再者,相對(duì)于高速數(shù)據(jù)采集系統(tǒng)而言,單片機(jī)對(duì)時(shí)間的分辨能力很低,而且單片機(jī)不能直接得到故障發(fā)生時(shí)對(duì)應(yīng)于靜態(tài)存儲(chǔ)器(SRAM)的確切地址。這兩方面的因素都會(huì)大大降低時(shí)間標(biāo)簽的精度和可靠性,直接影響故障測(cè)距的精度,甚至導(dǎo)致定位失敗。針對(duì)上述問(wèn)題,對(duì)高速數(shù)據(jù)采集系統(tǒng)中精確時(shí)標(biāo)的實(shí)現(xiàn)方法進(jìn)行了探討。
1 全球定位系統(tǒng)
GPS是美國(guó)于1993年全面建成并運(yùn)行的新一代衛(wèi)星導(dǎo)航、定位和授時(shí)系統(tǒng)。電力系統(tǒng)中主要是利用GPS的精確授時(shí)特點(diǎn)。GPS接收器在任意時(shí)刻能同時(shí)接收其視野范圍內(nèi)4~8顆衛(wèi)星信號(hào),其內(nèi)部硬件電路和處理軟件通過(guò)對(duì)接收到的信號(hào)進(jìn)行解碼和處理,能從中提取并輸出兩種時(shí)間信號(hào):(1)時(shí)間間隔為1s的脈沖信號(hào)PPS,其脈沖前沿與國(guó)際標(biāo)準(zhǔn)時(shí)間(格林威治時(shí)間)的同步誤差不超過(guò)1μs;(2)經(jīng)串行口輸出的與PPS脈沖前沿對(duì)應(yīng)的國(guó)際標(biāo)準(zhǔn)時(shí)間和日期代碼。若以PPS信號(hào)作為標(biāo)準(zhǔn)時(shí)鐘源去同步電網(wǎng)內(nèi)運(yùn)行的各時(shí)鐘,則能保證各廠站時(shí)鐘的高精確度同步運(yùn)行。
2 ADuC812
ADuC812芯片是美國(guó)AD公司推出的微轉(zhuǎn)換器。它是一個(gè)完整的數(shù)據(jù)采集微系統(tǒng),其組成為:一個(gè)8通道、5μs轉(zhuǎn)換時(shí)間、精度自校準(zhǔn)、12位精度、逐次逼近的ADC;兩個(gè)12位DAC;10.5KB的閃存E2PROM;16位計(jì)數(shù)/定時(shí)器和32條可編程I/O接口的8051/8052微控制器;256字節(jié)的SRAM[3]。由于ADuC812的特殊功能寄存器組中添加了一個(gè)DPP(地址為84H),它與特殊功能寄存器DPH、DPL配合,使得ADuC812能夠訪問(wèn)16MB的外部數(shù)據(jù)地址空間。ADuC812的內(nèi)核是國(guó)內(nèi)技術(shù)人員熟悉的Intel8051,應(yīng)用開(kāi)發(fā)比較方便。
3 復(fù)雜可編程邏輯器件及MAX PLUSⅡ開(kāi)發(fā)平臺(tái)
本設(shè)計(jì)選用ALTERA公司的MAX 7000系列復(fù)雜可編程邏輯器件(CPLD)。其高性能和高密度是基于它先進(jìn)的多重陣列矩陣架構(gòu)。它采用E2CMOS工藝制作,傳播延遲最小為3.5ns,可以實(shí)現(xiàn)速度高于200MHz的計(jì)數(shù)器,非常適合高速設(shè)計(jì)時(shí)應(yīng)用。該公司推出的MAX PLUSⅡ軟件是一款易于使用的開(kāi)發(fā)工具,其界面友好、集成化程度高、兼容工業(yè)標(biāo)準(zhǔn)、支持FLEXMAXACEX1K等系列產(chǎn)品[4]。CPLD要實(shí)現(xiàn)的邏輯功能一般是在MAX PLUSⅡ環(huán)境下通過(guò)硬件描述語(yǔ)言開(kāi)發(fā)出來(lái)的,并能脫離硬件對(duì)設(shè)計(jì)方案進(jìn)行仿真,在確認(rèn)邏輯功能正確無(wú)誤的情況下,通過(guò)并行口下載燒到CPLD中。CPLD在實(shí)際應(yīng)用中有如下優(yōu)點(diǎn):
(1)以內(nèi)部連線代替外部器件的連接,降低了噪聲干擾,實(shí)現(xiàn)了線路互聯(lián)的較短延時(shí)。
(2)可以在板編程,提高了系統(tǒng)的PCB設(shè)計(jì)和調(diào)試效率。
(3)在實(shí)際調(diào)試前,可由MAX PLUSⅡ開(kāi)發(fā)平臺(tái)對(duì)CPLD的邏輯功能進(jìn)行仿真,確保了系統(tǒng)邏輯設(shè)計(jì)的正確性[5]。
4 GPS失步監(jiān)測(cè)及時(shí)鐘信號(hào)實(shí)現(xiàn)方案
對(duì)GPS的PPS失步監(jiān)測(cè)[6]是通過(guò)解讀其有關(guān)輸出語(yǔ)句報(bào)文信息來(lái)實(shí)現(xiàn)的。報(bào)文信息通常使用NMEA-0183格式輸出,目前廣泛使用V2.0版本,輸出的數(shù)據(jù)代碼為ASCⅡ碼字符。在NMEA-0183的主要語(yǔ)句中,GPRMC為時(shí)間、定位和日期輸出語(yǔ)句,其標(biāo)準(zhǔn)格式為:
$GPRMC,hhmmss.ss,a,ddmm.mmmm,n,dddmm.mmmm,w,z.z,y.y,ddmmyy,d.d, v*CC
每一項(xiàng)以逗號(hào)相隔,其中第一項(xiàng)為格林威治時(shí)間的時(shí)、分、秒信息;第九項(xiàng)為格林威治時(shí)間的日、月、年信息;第二項(xiàng)為定位數(shù)據(jù)是否有效信息,“A”表示有效,“V”表示警告或者數(shù)據(jù)無(wú)效。單片機(jī)通過(guò)解讀此報(bào)文信息便可判斷GPS是否失步。
在GPS接收器工作正常時(shí)(GPS接收器能接收到衛(wèi)星信號(hào)),由GPS提供秒脈沖信號(hào)。否則,由頻率為20MHz的高精度恒溫晶振(OXOF系列頻率精度為1×10-8~1×10-9)和一個(gè)25位計(jì)數(shù)器臨時(shí)替代GPS發(fā)出秒脈沖信號(hào),使不同廠站間時(shí)鐘偏差在一定時(shí)間內(nèi)控制在要求的范圍。時(shí)鐘系統(tǒng)原理圖如圖1所示。
時(shí)鐘系統(tǒng)工作過(guò)程如下:
(1)采用Jupiter型GPS接收器,在秒脈沖信號(hào)前沿來(lái)臨前先發(fā)報(bào)文。
(2)采用單片機(jī)(如AT89C2051)接收GPS串行報(bào)文數(shù)據(jù),產(chǎn)生年、月、日、時(shí)、分、秒信號(hào),并判斷GPS即將發(fā)出的秒脈沖信號(hào)是否有效,從而控制P1.0口的狀態(tài)。
(3)采用頻率為20MHz的高精度恒溫晶振驅(qū)動(dòng)25位計(jì)數(shù)器計(jì)數(shù),當(dāng)計(jì)數(shù)器計(jì)滿1312D00H個(gè)數(shù)(時(shí)間為1s)時(shí),計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),同時(shí)在其輸出口置“1”。當(dāng)計(jì)數(shù)器計(jì)到7D000H個(gè)數(shù)(時(shí)間為25.6ms)時(shí),在其輸出口置“0”,產(chǎn)生秒脈沖信號(hào)。
(4)當(dāng)單片機(jī)獲悉GPS接收器跟蹤到衛(wèi)星信號(hào)時(shí),P1.0口置“1”,與門(1)打開(kāi),與門(2)關(guān)閉,在與門(1)的輸出口輸出精確的秒脈沖信號(hào),同時(shí)每一個(gè)秒脈沖信號(hào)上跳沿對(duì)25位計(jì)數(shù)器清零使之重新開(kāi)始計(jì)數(shù),為計(jì)數(shù)器提供精確的時(shí)間基準(zhǔn),以減少計(jì)數(shù)器的累計(jì)誤差。
(5)當(dāng)單片機(jī)獲悉GPS 接收器沒(méi)有跟蹤到衛(wèi)星信號(hào)時(shí),P1.0口置“0”,與門1關(guān)閉,與門2打開(kāi),由25位計(jì)數(shù)器臨時(shí)產(chǎn)生秒脈沖信號(hào)。
用MAX PLUSⅡ做仿真實(shí)驗(yàn)時(shí),由于計(jì)算機(jī)資源不足,無(wú)法進(jìn)行1秒鐘的仿真實(shí)驗(yàn),可以仿真1ms的情況。計(jì)數(shù)器計(jì)滿4E20H個(gè)數(shù)(0000H-4E1FH),時(shí)間為1ms。圖2和圖3反映的是同一次仿真的兩個(gè)不同片斷。
5 精確時(shí)間標(biāo)簽的實(shí)現(xiàn)方案
時(shí)鐘系統(tǒng)能保證在任何情況下產(chǎn)生一個(gè)穩(wěn)定的、高精度的秒脈沖信號(hào),從而為高速數(shù)據(jù)采集系統(tǒng)中的采集數(shù)據(jù)貼上精確的時(shí)間標(biāo)簽打下堅(jiān)實(shí)基礎(chǔ)。
時(shí)標(biāo)系統(tǒng)原理圖如圖4所示。高速ADC、地址發(fā)生器、地址計(jì)數(shù)器、計(jì)時(shí)器在時(shí)鐘源CLK(5MHz)的同步下以統(tǒng)一的步調(diào)工作。在ADuC812初始化時(shí),將P3.5置“0”,P3.4發(fā)出清零脈沖對(duì)地址發(fā)生器和地址計(jì)數(shù)器同時(shí)清零;當(dāng)故障信號(hào)出現(xiàn)時(shí),ADuC812將P3.5置“1”,計(jì)時(shí)器和地址計(jì)數(shù)器同時(shí)停止計(jì)數(shù);暫態(tài)信號(hào)記錄完畢后,ADuC812分時(shí)讀出計(jì)時(shí)器中的值并將該數(shù)值保存在雙口RAM中,此值即為精度為0.2μs的時(shí)間信息;ADuC812分時(shí)讀出地址計(jì)數(shù)器中的值并將該數(shù)值保存在雙口RAM中,此地址的精確時(shí)間即為計(jì)時(shí)器中的計(jì)數(shù)值。這樣,就為高速數(shù)據(jù)采集系統(tǒng)中的采集數(shù)據(jù)貼上了精確的時(shí)間標(biāo)簽。
時(shí)標(biāo)系統(tǒng)工作過(guò)程如下:
(1)ADuC812初始化時(shí)P3.5置“0”,同時(shí)P3.4發(fā)出清零脈沖使地址發(fā)生器和地址計(jì)數(shù)器同步計(jì)數(shù)。ADuC812控制內(nèi)部的A/D轉(zhuǎn)換模塊對(duì)經(jīng)過(guò)調(diào)整的取自電流互感器二次側(cè)的電流進(jìn)行A/D轉(zhuǎn)換。采用半波比較,在每個(gè)工頻內(nèi)采集36個(gè)點(diǎn),分別用第n個(gè)點(diǎn)和第n+18個(gè)點(diǎn)、第n+1個(gè)點(diǎn)和第n+19個(gè)點(diǎn)比較,依此類推。如果大于事先設(shè)定的門檻值即認(rèn)為故障已經(jīng)發(fā)生,ADuC812將P3.5置“1”,計(jì)時(shí)器和地址計(jì)數(shù)器同時(shí)停止計(jì)數(shù),計(jì)時(shí)器中的數(shù)據(jù)即為地址計(jì)數(shù)器記錄的對(duì)應(yīng)于SRAM相同地址的采集數(shù)據(jù)的時(shí)間標(biāo)簽。由于高速ADC的轉(zhuǎn)換頻率固定(本次設(shè)計(jì)為5MHz),所以,可以此為基準(zhǔn)為整個(gè)SRAM中的采集數(shù)據(jù)貼上時(shí)間標(biāo)簽。
(2)當(dāng)P3.5置“0”即STOP端口為低電平時(shí),計(jì)時(shí)器在5MHz的時(shí)鐘源下以相同的頻率計(jì)數(shù)。由于它是一個(gè)24位的計(jì)數(shù)器,從而確保了計(jì)時(shí)器能夠記錄一個(gè)整秒,并為一個(gè)整秒刻上了時(shí)鐘系統(tǒng)輸出的PPS信號(hào)(或SECOND信號(hào))的上跳沿給計(jì)時(shí)器清零,從而為計(jì)時(shí)器提供精確的時(shí)間基準(zhǔn),以消除計(jì)時(shí)器的累計(jì)誤差。
(3)當(dāng)P3.5置“1”即STOP端口為高電平時(shí),計(jì)時(shí)器停止計(jì)數(shù),在此狀態(tài)下時(shí)鐘系統(tǒng)輸出的PPS信號(hào)(或SECOND信號(hào))的上跳沿不能對(duì)計(jì)時(shí)器清零。
(4)地址計(jì)數(shù)器的工作過(guò)程與計(jì)時(shí)器的工作過(guò)程類似,唯一的區(qū)別是地址計(jì)數(shù)器的清零信號(hào)(CLR)是在初始化時(shí)由ADuC812的P3.4口發(fā)出的。由于地址發(fā)生器和地址計(jì)數(shù)器共用同一個(gè)清零信號(hào),從而確保地址發(fā)生器和地址計(jì)數(shù)器中的計(jì)數(shù)值完全相同。同理,當(dāng)STOP端口為高電平時(shí),地址計(jì)數(shù)器也停止計(jì)數(shù),在此狀態(tài)下ADuC812發(fā)出的清零信號(hào)不能改變地址計(jì)數(shù)器中的計(jì)數(shù)值。
(5)由于ADuC812是一種8位單片機(jī),所以地址計(jì)數(shù)器和計(jì)時(shí)器中的數(shù)據(jù)只能“分批”地送至雙口RAM中保存。所以要設(shè)計(jì)鎖存器、譯碼電路和總線隔離電路,避免總線沖突以及保證總線上的數(shù)據(jù)能正確無(wú)誤地傳遞。在本次設(shè)計(jì)中,當(dāng)ADuC812的特殊功能寄存器DPP高3位的值為“00H”時(shí)將計(jì)時(shí)器的高8位數(shù)據(jù)通過(guò)ADuC812送至雙口RAM中。依此類推,當(dāng)特殊功能寄存器DPP高3位的值為“05H”時(shí)將地址計(jì)數(shù)器的低8位數(shù)據(jù)通過(guò)ADuC812送至雙口RAM中保存。當(dāng)特殊功能寄存器DPP為其它值時(shí)釋放數(shù)據(jù)總線,便于ADuC812進(jìn)行其它操作。其仿真結(jié)果如圖5所示。
本文對(duì)GPS失步后的補(bǔ)救措施及給高速數(shù)據(jù)采集系統(tǒng)中的采集數(shù)據(jù)貼上精確時(shí)間標(biāo)簽的方法進(jìn)行了詳盡的敘述和仿真,得出如下結(jié)論:
(1)在高頻恒溫晶振的精度得到保證的前提下,時(shí)鐘系統(tǒng)產(chǎn)生的秒脈沖信號(hào)能滿足實(shí)際應(yīng)用的要求。
(2)設(shè)高速ADC的轉(zhuǎn)換頻率為5MHz,時(shí)標(biāo)系統(tǒng)能為存入SRAM中的轉(zhuǎn)換數(shù)據(jù)貼上精度為0.2μs的時(shí)間標(biāo)簽。
(3)通過(guò)CPLD間接地實(shí)現(xiàn)了“低速”的單片機(jī)系統(tǒng)對(duì)高速數(shù)據(jù)采集系統(tǒng)的實(shí)時(shí)監(jiān)視。
參考文獻(xiàn)
1 曾祥君,尹項(xiàng)根,陳德樹(shù)等. 基于整個(gè)輸電網(wǎng)GPS行波故障定位系統(tǒng)的研究.電力系統(tǒng)自動(dòng)化,1999(10)
2 高厚磊,厲吉文,文鋒等. GPS及其在電力系統(tǒng)中的應(yīng)用.電力系統(tǒng)自動(dòng)化,1995;19(9)
3 劉書(shū)明,馮小平.數(shù)據(jù)采集系統(tǒng)芯片ADuC812原理與應(yīng)用.西安:西安電子科技大學(xué)出版社,2000
4 趙曙光,郭萬(wàn)有,楊頌華. 可編程邏輯器件原理、開(kāi)發(fā)與應(yīng)用. 西安:西安電子科技大學(xué)出版社,2000
5 姚 嘉,施旭霞. CPLD在超高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用.電子技術(shù)應(yīng)用,1998; 24(10)
6 Zodiac Serial Data Interface Specification. America:Rockwell, 1996
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 晶振相關(guān)文章:晶振原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評(píng)論