摘 要: 提出了基于GPS授時(shí)的同步數(shù)據(jù)采集系統(tǒng)改進(jìn)方法。該方法預(yù)置采集開始時(shí)刻,利用GPS授時(shí)檢測(cè)所產(chǎn)生的觸發(fā)信號(hào),用于同步各異地分布的數(shù)據(jù)采集裝置。理論分析和仿真實(shí)驗(yàn)結(jié)果表明,上述方法可以達(dá)到微秒級(jí)的時(shí)間同步。
關(guān)鍵詞: GPS授時(shí);同步控制;FPGA;微秒級(jí)同步
工程中經(jīng)常需要實(shí)現(xiàn)異地?cái)?shù)據(jù)的同步采集?,F(xiàn)有的該類系統(tǒng)大多采用對(duì)采集的數(shù)據(jù)打“時(shí)間戳”的方法來實(shí)現(xiàn)數(shù)據(jù)采集的同步性。大量的“數(shù)據(jù)戳”隨數(shù)據(jù)一起存入RAM,占用了RAM的存儲(chǔ)空間,增加了后續(xù)數(shù)據(jù)處理的復(fù)雜度。針對(duì)上述問題,本文提出了一種電平觸發(fā)的同步方法,其要點(diǎn)是利用GPS授時(shí)檢測(cè)預(yù)置的采集開始時(shí)刻的到來,并在該時(shí)刻下一個(gè)秒脈沖的上升沿產(chǎn)生高電平的觸發(fā)信號(hào),一組異地分布的數(shù)據(jù)采集裝置因而可以同步工作。按照上述方法設(shè)計(jì)了具體系統(tǒng),并進(jìn)行了實(shí)驗(yàn),結(jié)果表明可以達(dá)到1 ?滋s的同步精度[1]。
1 同步原理與實(shí)現(xiàn)方案
GPS接收機(jī)輸出的NEMA信息通過串口1送入解碼模塊,并提取GPS狀態(tài)信息和時(shí)間信息分別輸出到與門和數(shù)據(jù)處理模塊。數(shù)據(jù)處理模塊處理輸入的時(shí)間信息,并每隔1 s與串口2輸入的預(yù)設(shè)時(shí)刻信息比較,若兩者完全相同,則在秒脈沖的下一個(gè)上升沿時(shí)刻產(chǎn)生同步信號(hào)。當(dāng)GPS狀態(tài)信息與同步信號(hào)電平都為高時(shí),產(chǎn)生觸發(fā)信號(hào)觸發(fā)一組異地分布的數(shù)據(jù)采集裝置同步開始工作。
對(duì)于一組異地分布需要同步采集的數(shù)據(jù)采集裝置,每個(gè)裝置都增加1個(gè)(FPGA)同步裝置,預(yù)置相同的采集開始時(shí)刻。同步裝置根據(jù)GPS授時(shí)信息不斷檢測(cè)該時(shí)刻的到來,并在該時(shí)刻的下一個(gè)秒脈沖上升沿觸發(fā)數(shù)據(jù)采集動(dòng)作,使得異地分布的數(shù)據(jù)采集裝置同步開始工作。
單個(gè)同步裝置的系統(tǒng)框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 設(shè)備簡介
2.1.1 GPS接收機(jī)性能簡介
本系統(tǒng)采用Navysyc CW25接收機(jī),此接收機(jī)是一款專門的授時(shí)型接收機(jī)。該接收機(jī)具有12個(gè)并行通道,可同時(shí)跟蹤12顆衛(wèi)星,完全校準(zhǔn)到UTC時(shí)間,產(chǎn)生精確度高達(dá)幾十納秒的同步授時(shí),并且支持RS-232串口通信,通信速率38 400 b/s。
2.1.2 GPS秒脈沖輸出特性簡介
秒脈沖PPS(Pulse Per Second)[5-6],是1個(gè)電平信號(hào),以方波形式輸出,周期為1 s,高電平持續(xù)時(shí)間為100 μs。高電平上升沿為PPS輸出的精確時(shí)刻,其波形如圖2所示。
接收機(jī)取得有效導(dǎo)航的時(shí)候,脈沖上升沿時(shí)刻與UTC時(shí)刻相差在±30 ns以內(nèi),RS-232傳輸數(shù)據(jù)中UTC時(shí)刻的輸出較秒脈沖上升沿有一定的延遲,即接收機(jī)先為用戶提供秒脈沖,再提供對(duì)應(yīng)的時(shí)間信息,(FPGA)同步控制模塊對(duì)此(時(shí)間信息的滯后)須進(jìn)行恰當(dāng)處理,以使PPS的上升沿與實(shí)際的時(shí)間信息對(duì)應(yīng)。
2.2 系統(tǒng)硬件總體實(shí)現(xiàn)
本系統(tǒng)硬件設(shè)計(jì)主要是利用FPGA設(shè)計(jì)和實(shí)現(xiàn)同步控制功能。由于FPGA與GPS的串口通信采用標(biāo)準(zhǔn)的RS-232接口,所以利用EDK提供的IP核可以直接實(shí)現(xiàn)。
3 FPGA設(shè)計(jì)
3.1 頂層設(shè)計(jì)
利用FPGA實(shí)現(xiàn)基于GPS的異地?cái)?shù)據(jù)采集同步控制系統(tǒng)的核心處理單元,采用自頂向下的設(shè)計(jì)方法,用Verilog HDL語言描述,使用Xilinx Spartan-3A FPGA在ISE 10.1中進(jìn)行仿真、綜合和實(shí)現(xiàn)[2-3]。頂層設(shè)計(jì)由解碼模塊、I/O控制模塊和數(shù)據(jù)處理模塊組成。
工作過程為:串口接收到GPS接收機(jī)發(fā)來的NEMA $POLYT語句,I/O控制模塊檢測(cè)語句開始和結(jié)束標(biāo)志字符,并檢查語句格式的正確性,將正確的語句存入輸入緩存;解碼模塊提取出NEMA信息中的時(shí)間信息和GPS定位信息,時(shí)間信息輸入數(shù)據(jù)處理模塊,GPS定位信息作為“與門”輸入;數(shù)據(jù)處理模塊中,將解碼模塊送來的時(shí)間信息進(jìn)行處理并鎖存,與預(yù)設(shè)的時(shí)間信息比對(duì),當(dāng)兩者完全相同時(shí),在下一個(gè)PPS上升沿時(shí)刻產(chǎn)生同步信號(hào),此同步信號(hào)和GPS定位信息相與生成觸發(fā)信號(hào),觸發(fā)數(shù)據(jù)采集卡同步開始工作。
3.2 解碼模塊
解碼模塊的任務(wù)是提取GPS接收機(jī)發(fā)來的NEMA語句中的時(shí)間信息。FPGA的串口接收到GPS接收機(jī)發(fā)來的NEMA $POLYT語句,I/O控制模塊檢測(cè)語句開始和結(jié)束標(biāo)志字符,并檢查語句格式的正確性,將正確的語句存入輸入緩存,再從緩存中提取出時(shí)間信息并鎖存。$POLYT語句格式如下:$POLYT,hhmmss.ss,ddmmyy,UTC_TOW,week,GPS_TOW,Clk_B,Clk_D,PG,cs,每一項(xiàng)以逗號(hào)相隔,其中“hhmmss”項(xiàng)為格林威治時(shí)間的時(shí)、分、秒信息,F(xiàn)PGA控制板通過解讀此報(bào)文信息便可得到與1 PPS信號(hào)對(duì)應(yīng)的時(shí)間信息[3]。解碼模塊工作的程序流程圖如圖3所示。
3.3 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊的作用有兩部分:調(diào)整從緩存提取的時(shí)間信息和產(chǎn)生同步觸發(fā)信號(hào)。
調(diào)整時(shí)間信息包括2個(gè)方面,(1)GPS接收機(jī)輸出的時(shí)間是GMT時(shí)間,需要轉(zhuǎn)換成當(dāng)前地理位置所在時(shí)區(qū)的時(shí)間。(2)由于GPS接收機(jī)的時(shí)間信息總是在與之對(duì)應(yīng)的秒脈沖上升沿到來后從串口發(fā)出,所以在t時(shí)刻的秒脈沖上升沿到來時(shí),t時(shí)刻的時(shí)間信息還未被數(shù)據(jù)處理單元接收到。為了實(shí)現(xiàn)秒脈沖和時(shí)間信息的同步輸出,需要將t-1時(shí)刻的時(shí)間信息加1 s作為t時(shí)刻的絕對(duì)時(shí)間。圖4所示顯示了調(diào)整前后的時(shí)間與秒脈沖的對(duì)應(yīng)關(guān)系。
將調(diào)整后的時(shí)間信息與預(yù)設(shè)的時(shí)間信息進(jìn)行比較,兩者完全相同。在下一個(gè)PPS脈沖的上升沿對(duì)應(yīng)時(shí)刻產(chǎn)生1個(gè)電平信號(hào),此信號(hào)和GPS狀態(tài)信息“相與”后輸出信號(hào)即為數(shù)據(jù)采集卡的觸發(fā)信號(hào)。仿真結(jié)果如圖5所示。
本文提出了一種改進(jìn)的基于GPS的異地?cái)?shù)據(jù)采集的同步方法,并利用FPGA進(jìn)行了具體設(shè)計(jì)和實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果表明,上述方法和設(shè)計(jì)克服了常用的“時(shí)間戳”方式占用額外存儲(chǔ)空間和加重?cái)?shù)據(jù)處理負(fù)擔(dān)的缺點(diǎn),滿足分布式數(shù)據(jù)采集對(duì)同步精度的要求,并且有助于實(shí)現(xiàn)同步裝置的小型化、高穩(wěn)定性,便于維護(hù)與升級(jí)。
參考文獻(xiàn)
[1] 李煒,王彪.基于GPS授時(shí)的異地同步數(shù)據(jù)采集系統(tǒng)[J].測(cè)控技術(shù),2006,25(3):40-42.
[2] 田耕,徐文波,胡彬,等.Xilinx ISE Design Suite 10.x FPGA開發(fā)指南[M].北京:人民郵電出版社,2008.
[3] Xilinx Inc. DS312 PDF, Spartan-3A FPGA Family:Complete Data Sheet[Z]. Xilinx Inc, 2006.
[4] BAUCH A, PIESTER D, MOUDRAK A,et al. Time comparisons between USNO and PTB: a model for the determination of the time offset between GPS time and the future galileo system time[C]. Frequency Control Symposium and Exposition, Montreal, Canada, 2004.
[5] 王琦,胡修林.基于OEM板的GPS定位接收機(jī)的研究與實(shí)現(xiàn)[J].電子工程師,2004,30(11):4-6.
[6] 苗世洪,王少榮,劉沛.一種基于GPS的時(shí)間同步裝置[J].電子計(jì)算機(jī)與外部設(shè)備,2000,24(1):15-16.