基于GPS的異地數(shù)據(jù)采集的改進同步方法及其實現(xiàn)
1 同步原理與實現(xiàn)方案
GPS接收機輸出的NEMA信息通過串口1送入解碼模塊,并提取GPS狀態(tài)信息和時間信息分別輸出到與門和數(shù)據(jù)處理模塊。數(shù)據(jù)處理模塊處理輸入的時間信息,并每隔1 s與串口2輸入的預(yù)設(shè)時刻信息比較,若兩者完全相同,則在秒脈沖的下一個上升沿時刻產(chǎn)生同步信號。當(dāng)GPS狀態(tài)信息與同步信號電平都為高時,產(chǎn)生觸發(fā)信號觸發(fā)一組異地分布的數(shù)據(jù)采集裝置同步開始工作。
對于一組異地分布需要同步采集的數(shù)據(jù)采集裝置,每個裝置都增加1個(FPGA)同步裝置,預(yù)置相同的采集開始時刻。同步裝置根據(jù)GPS授時信息不斷檢測該時刻的到來,并在該時刻的下一個秒脈沖上升沿觸發(fā)數(shù)據(jù)采集動作,使得異地分布的數(shù)據(jù)采集裝置同步開始工作。
單個同步裝置的系統(tǒng)框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計
2.1 設(shè)備簡介
2.1.1 GPS接收機性能簡介
本系統(tǒng)采用Navysyc CW25接收機,此接收機是一款專門的授時型接收機。該接收機具有12個并行通道,可同時跟蹤12顆衛(wèi)星,完全校準(zhǔn)到UTC時間,產(chǎn)生精確度高達幾十納秒的同步授時,并且支持RS-232串口通信,通信速率38 400 b/s。
2.1.2 GPS秒脈沖輸出特性簡介
秒脈沖PPS(Pulse Per Second)[5-6],是1個電平信號,以方波形式輸出,周期為1 s,高電平持續(xù)時間為100 μs。高電平上升沿為PPS輸出的精確時刻,其波形如圖2所示。
接收機取得有效導(dǎo)航的時候,脈沖上升沿時刻與UTC時刻相差在±30 ns以內(nèi),RS-232傳輸數(shù)據(jù)中UTC時刻的輸出較秒脈沖上升沿有一定的延遲,即接收機先為用戶提供秒脈沖,再提供對應(yīng)的時間信息,(FPGA)同步控制模塊對此(時間信息的滯后)須進行恰當(dāng)處理,以使PPS的上升沿與實際的時間信息對應(yīng)。
2.2 系統(tǒng)硬件總體實現(xiàn)
本系統(tǒng)硬件設(shè)計主要是利用FPGA設(shè)計和實現(xiàn)同步控制功能。由于FPGA與GPS的串口通信采用標(biāo)準(zhǔn)的RS-232接口,所以利用EDK提供的IP核可以直接實現(xiàn)。
3 FPGA設(shè)計
3.1 頂層設(shè)計
利用FPGA實現(xiàn)基于GPS的異地數(shù)據(jù)采集同步控制系統(tǒng)的核心處理單元,采用自頂向下的設(shè)計方法,用Verilog HDL語言描述,使用Xilinx Spartan-3A FPGA在ISE 10.1中進行仿真、綜合和實現(xiàn)[2-3]。頂層設(shè)計由解碼模塊、I/O控制模塊和數(shù)據(jù)處理模塊組成。
工作過程為:串口接收到GPS接收機發(fā)來的NEMA $POLYT語句,I/O控制模塊檢測語句開始和結(jié)束標(biāo)志字符,并檢查語句格式的正確性,將正確的語句存入輸入緩存;解碼模塊提取出NEMA信息中的時間信息和GPS定位信息,時間信息輸入數(shù)據(jù)處理模塊,GPS定位信息作為“與門”輸入;數(shù)據(jù)處理模塊中,將解碼模塊送來的時間信息進行處理并鎖存,與預(yù)設(shè)的時間信息比對,當(dāng)兩者完全相同時,在下一個PPS上升沿時刻產(chǎn)生同步信號,此同步信號和GPS定位信息相與生成觸發(fā)信號,觸發(fā)數(shù)據(jù)采集卡同步開始工作。
評論