王 軍,王 磊,張福弟,何 昕,曹永剛
(1.蘇州科技學(xué)院,江蘇蘇州215009;
2.中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,吉林長春130033;
3.中國人民解放軍63861部隊,吉林白城137001)
基于FPGA的高精度守時方法研究
王 軍1,2,王 磊1,張福弟2,3,何 昕2,曹永剛2
(1.蘇州科技學(xué)院,江蘇蘇州215009;
2.中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,吉林長春130033;
3.中國人民解放軍63861部隊,吉林白城137001)
提出一種基于現(xiàn)場可編程門陣列(FPGA)的高精度守時方法,以統(tǒng)計學(xué)為基準(zhǔn),結(jié)合高精度恒溫晶振和北斗/GPS雙模接收器產(chǎn)生同步標(biāo)準(zhǔn)秒脈沖信號.當(dāng)授時系統(tǒng)導(dǎo)航衛(wèi)星失連,系統(tǒng)根據(jù)存儲晶振脈沖數(shù)計算出均值和方差,動態(tài)設(shè)置系統(tǒng)晶振脈沖計數(shù)器閾值從而模擬產(chǎn)生高精度秒脈沖信號,消除晶振累積誤差.實驗結(jié)果表明,1 h內(nèi)授時系統(tǒng)守時誤差小于250 ns,可滿足授時系統(tǒng)在電力、靶場等系統(tǒng)中的守時要求.
FPGA;雙模;失連;守時
高精度授時系統(tǒng)被廣泛用于衛(wèi)星導(dǎo)航、電力同步采樣系統(tǒng)中[1].起初高精度授時系統(tǒng)在導(dǎo)航衛(wèi)星失連下,由于恒溫晶振實際值與標(biāo)稱值存在誤差,所以1 h守時誤差可達(dá)到幾微秒.近些年,部分學(xué)者提出統(tǒng)計每分鐘標(biāo)準(zhǔn)秒脈沖信號下授時晶振產(chǎn)生的總脈沖數(shù)的方法來修正導(dǎo)航衛(wèi)星失連后授時系統(tǒng)的守時誤差[2].但此方法精確度取決于導(dǎo)航衛(wèi)星失連前1 min的晶振計數(shù)模塊記錄的脈沖數(shù)值,因而靈活性低且并未從根本上消除累積誤差帶來的影響.針對現(xiàn)有技術(shù)的不足,本文提出一種以統(tǒng)計學(xué)為基礎(chǔ)消除累積誤差的高精度守時方法.
守時方案設(shè)計了5個模塊:導(dǎo)航衛(wèi)星信號接收模塊、時間解碼模塊、晶振計數(shù)模塊、模擬秒脈沖產(chǎn)生模塊、顯示模塊.守時方案框圖如圖1所示.由導(dǎo)航衛(wèi)星信號接收模塊接收衛(wèi)星信號,輸出標(biāo)準(zhǔn)秒脈沖和時間碼至FPGA時間解碼模塊,F(xiàn)PGA解出時間信息并根據(jù)通訊協(xié)議發(fā)送給顯示模塊[3-5].晶振輸出脈沖至FPGA,晶振計數(shù)模塊計錄標(biāo)準(zhǔn)秒脈沖每個周期內(nèi)晶振脈沖數(shù)[6].當(dāng)記錄時間達(dá)到30 min,計算這組數(shù)據(jù)的均值和方差.導(dǎo)航衛(wèi)星失連后,根據(jù)前30 min計算的均值和方差動態(tài)設(shè)置晶振計數(shù)模塊的脈沖產(chǎn)生計數(shù)器閾值以產(chǎn)生高精度的模擬秒脈沖.
圖1 守時總體方案框圖Fig.1 Punctuality diagram of the overall scheme
FPGA采用Altera公司Cyclone II系列中的EP2C8T144C8N,該芯片具有144個IO端口、36個RAM塊、2個PLL鎖相環(huán)、18個嵌入式乘法器、四種配置方式和AS、JTAG下載調(diào)試接口. EP2C8T144C8N擁有豐富的資源且編程靈活,使得該芯片作為系統(tǒng)主控芯片[7-9].導(dǎo)航衛(wèi)星信號接收模塊采用MHKJ-1612為主芯片,其能提供精確的授時服務(wù).通過使用量化誤差信息去補(bǔ)償時間脈沖中的顆粒誤差,導(dǎo)航衛(wèi)星信號接收??炷軌蚺渲幂敵鰰r間脈沖頻率,授時精度可高達(dá)15 ns.即使設(shè)備在有遮擋物的情況下保證有一顆衛(wèi)星正常連接,芯片就能輸出準(zhǔn)確的時間信息.導(dǎo)航衛(wèi)星信號接收模塊與FPGA采用串口通信,有多種波特率可供選擇.系統(tǒng)晶振采用恒溫晶振,頻率精度可以達(dá)到正負(fù)0.2 ppm.消耗電流一般300 m A~2 A,主要應(yīng)用于衛(wèi)星,通訊基站等.守時部分硬件連接圖如圖2所示.
圖2 守時部分硬件連接示意圖Fig.2 Punctuality part of the hardware connection diagram
4.1同步秒脈沖信號設(shè)計
授時系統(tǒng)導(dǎo)航衛(wèi)星連接正常情況下,導(dǎo)航衛(wèi)星信號接收模塊接收到衛(wèi)星信號產(chǎn)生標(biāo)準(zhǔn)秒脈沖和時間碼,并發(fā)送給FPGA接收模塊.FPGA利用PLL鎖相環(huán)將50 MHz恒溫晶振倍頻到200 MHz,當(dāng)晶振計數(shù)模塊脈沖計數(shù)值達(dá)到閾值或檢測到導(dǎo)航衛(wèi)星信號接收模塊輸出的標(biāo)準(zhǔn)秒脈沖信號上升,F(xiàn)PGA產(chǎn)生100 ms高電平信號并將晶振計數(shù)器清0,隨后產(chǎn)生低電平信號.同步標(biāo)準(zhǔn)秒脈沖產(chǎn)生流程圖如圖3所示.
4.2平均脈沖數(shù)及方差設(shè)計
圖3 同步標(biāo)準(zhǔn)秒脈沖產(chǎn)生流程圖Fig.3 Synchronous standard second pulse received flow chart
圖4 平均1 s晶振的脈沖數(shù)及方差產(chǎn)生的流程圖Fig.4 Crystal's average pulses number per second and variance received flow chart
4.3導(dǎo)航衛(wèi)星失連后的高精度秒脈沖產(chǎn)生設(shè)計
導(dǎo)航衛(wèi)星失連后,F(xiàn)PGA根據(jù)每秒內(nèi)晶振脈沖數(shù)的平均值和方差,求出+3 s和-3 s作為設(shè)定脈沖計數(shù)的兩個閾值BV1、BV2.在一個周期T內(nèi),前當(dāng)晶振脈沖計數(shù)達(dá)到BV1的時候,產(chǎn)生一個滯后模擬秒脈沖(與標(biāo)準(zhǔn)秒脈沖秒頭相比);后當(dāng)晶振脈沖計數(shù)達(dá)到BV2的時候,產(chǎn)生一個超前模擬秒脈沖.產(chǎn)生的模擬秒脈沖秒頭在標(biāo)準(zhǔn)秒脈沖左右有規(guī)律的晃動從而消除累積誤差.導(dǎo)航衛(wèi)星失連后的高精度秒脈沖產(chǎn)生流程圖如圖5所示.
圖5 GPS失步后的高精度秒脈沖產(chǎn)生流程圖Fig.5 After GPS out-of-step high-accuracy second pulse received flow chart
為避免測試結(jié)果的偶然性,實驗使用4套授時系統(tǒng)板,采用50 MHz標(biāo)稱值的恒溫晶振,精度可達(dá)正負(fù)0.2 ppm.先將恒溫晶振輸出的50 MHz的脈沖信號倍頻到200 MHz,然后統(tǒng)計標(biāo)準(zhǔn)秒脈沖信號每個周期下授時系統(tǒng)恒溫晶振所產(chǎn)生的脈沖數(shù)值的均值和動態(tài)方差.測試結(jié)果如表1所示.
表1 導(dǎo)航衛(wèi)星未失連下每秒晶振脈沖數(shù)值的均值和方差Tab.1 Crystal's average pulses number per second and variance when navigation satellite works
圖6 均值隨時間變化折線圖Fig.6 Average changes over time line chart
圖7 方差隨時間變化折線圖Fig.7 Variance changes over time line chart
表1統(tǒng)計了不同時刻秒脈沖單位時間內(nèi)晶振的脈沖數(shù)值的平均值和方差.圖6圖7橫坐標(biāo)為時間,縱坐標(biāo)為均值和方差,折線圖直觀的反映了均值和方差隨著時間的變化趨勢.表2統(tǒng)計了在導(dǎo)航衛(wèi)星失連下不同時刻模擬秒脈沖與標(biāo)準(zhǔn)秒脈沖的誤差.圖8橫坐標(biāo)為時間,縱坐標(biāo)為誤差大小,折線圖直觀的反映了誤差隨著時間的變化趨勢.
圖8 守時誤差隨時間變化折線圖Fig.8 Punctuality error changes over time line chart
表2 導(dǎo)航衛(wèi)星失連下守時誤差Tab.2 Punctuality error when navigation satellite lost
本文通過統(tǒng)計30 min內(nèi)標(biāo)準(zhǔn)秒脈沖每秒晶振脈沖數(shù)值的均值和動態(tài)方差,動態(tài)設(shè)置晶振計數(shù)模塊計數(shù)閾值以產(chǎn)生模擬秒脈沖,以達(dá)到高精度守時目的.從實驗可知,秒脈沖在導(dǎo)航衛(wèi)星失連1 h內(nèi),與標(biāo)準(zhǔn)秒脈沖相比秒頭誤差不超過250 ns,符合電力、靶場等系統(tǒng)守時要求.
[1] 羅衛(wèi)兵,胡健生.基于STM32+ucGUI的北斗導(dǎo)航定位系統(tǒng)設(shè)計[J].液晶與顯示,2014,29(2):195-201.
Luo W B,Hu J S.Design of Beidou navigation system based on STM32&ucGUI[J].Chinese Journal of Liquid Crystals and Display,2014,29(2):195-201.(in Chinese)
[2] 楊永標(biāo),楊曉渝,周捷.利用FPGA實現(xiàn)GPS失步下精確守時[J].電力自動化設(shè)備,2007,27(7):109-112.
Yang Y B,Yang X Y,Zhou J.Realize accurate timing with FPGA during GPS synch failure[J].Electric Power Automation Equipment,2007,27(7):109-112.(in Chinese)
[3] 張學(xué)明,張振婭,戴明,等.機(jī)載-設(shè)備IRIG-B(AC)碼的濾波及其數(shù)字相位補(bǔ)償[J].光學(xué)精密工程,2009,17(1): 213-219.
Zhang X M,Zhang Z Y,Dai M,et al.Filtering and digital phase compensation of IRIG-B(AC)code in airborne equipment[J].Optics and Precision Engineering,2009,17(1):213-219.(in Chinese)
[4] 魏豐,朱廣偉,王瑞清,等.一種GPS校準(zhǔn)的數(shù)字式高精度守時鐘[J].儀器儀表學(xué)報,2011,32(4):920-926.
Wei F,Zhu G W,Wang R Q,et al.GPS disciplined precise digital timekeeping clock[J].Chinese Journal of Scientific Instrument,2011,32(4):920-926.(in Chinese)
[5] 趙東艷,原義棟,石磊,等.用于智能電網(wǎng)建設(shè)的北斗/GPS高精度授時方案關(guān)鍵技術(shù)[J].電網(wǎng)技術(shù),2013,37(9): 2621-2625.
Zhao D Y,Yuan Y D,Shi L,et al.Key Technology in Beidou/GPS high-precision time service scheme for smart grid construction[J].Power System Technology,2013,37(9):2621-2625.(in Chinese)
[6] 梁軍,冉建華.基于單片機(jī)的秒脈沖誤差測量系統(tǒng)設(shè)計[J].艦船電子工程,2010,30(4):178-180.
Liang J,Ran J H.A design of a MCU based measure system for the error of 1PPS[J].Ship Electronic Engineering,2010,30(4):178-180.(in Chinese)
[7] 張鵬,杜彬彬,任勇峰.基于FPGA的超聲數(shù)據(jù)采集裝置的設(shè)計與實現(xiàn)[J].電子器件,2014,37(1):81-84.
Zhang P,Du B B,Ren Y F.Design and implement of ultrasound data acquisition device based on FPGA[J].Chinese Journal of Electron Devices,2014,37(1):81-84.(in Chinese)
[8] 何斌.FPGA的EDA設(shè)計方法[J].光學(xué)精密工程,1995,3(6):113-116.
He B.EDA design method for FPGA[J].Optics and Precision Engineering,1995,3(6):113-116.(in Chinese)
[9] 王劍.基于FPGA的高速多路同步數(shù)據(jù)采集系統(tǒng)[J].科技視界,2013(27):42-43.
Wang J.High-speed multi-channel synchronous data acquisition system based on FPGA[J].Science&Technology Vision,2013(27):42-43.(in Chinese)
Method for high accuracy time keeping based on FPGA
WANG Jun1,2,WANG Lei1,ZHANG Fu-di2,3,HE Xin2,CAO Yong-gang2
(1.Science and Technology University of Suzhou,Jiangsu,215009,China;
2.Changchun Institute of Optics,F(xiàn)ine Mechanics and Physics,Chinese Academy of Science,Changchun 130033 China;
3.The PLA Unit 63861,Baicheng 137001,China)
Based on Field-Programmable Gate Array(FPGA),a high precision time keeping technology is proposed.Combined with high precision constant temperature crystals and BD/GPS dual-mode synchronous,standard second pulse signal is received based on statistics.If navigation satellite loses the connection,F(xiàn)PGA will set the pounding threshold of crystal pulse according to average value and variance to simulate producing highly precision second pulse so that cumulative error can be eliminated.Experimental results show that timing system error is less than punctual 250 ns in one hour which fully meets the requirements of time keeping of the timing system in the power systems,range systems and other systems.
FPGA;dual-mode;connection losing;time keeping
1007-2780(2015)06-1052-05
TN967.2
A doi:10.3788/YJYXS20153006.1052
王軍(1979-),男,博士,江蘇蘇州人,主要研究方向為光電測控技術(shù).E-mail:wjyhl@126.com
王磊(1991-),男,碩士,江蘇鹽城人,主要研究方向為智能信息處理技術(shù).E-mail:demowl@163.com
2015-03-18;
2015-06-11.
國家自然科學(xué)基金(No.61472267)
Supported by National Nature Science Foundation of China(No.61472267)
?通信聯(lián)系人,E-mail:wjyhl@126.com