
2019年11月04日 15:09安徽京準電鐘電子科技有限公司點擊量:662
基于FPGA的高精度守時方法研究
1 引言
高精度授時系統被廣泛用于衛星導航、電力同步采樣系統中[1]。起初高精度授時系統在導航衛星失連下,由于恒溫晶振實際值與標稱值存在誤差,所以1 h守時誤差可達到幾微秒。近些年,部分學者提出統計每分鐘標準秒脈沖信號下授時晶振產生的總脈沖數的方法來修正導航衛星失連后授時系統的守時誤差[2]。但此方法度取決于導航衛星失連前1 min的晶振計數模塊記錄的脈沖數值,因而靈活性低且并未從根本上消除累積誤差帶來的影響。針對現有技術的不足,本文提出一種以統計學為基礎消除累積誤差的高精度守時方法。
2 守時總體方案
守時方案設計了5個模塊:導航衛星信號接收模塊、時間解碼模塊、晶振計數模塊、模擬秒脈沖產生模塊、顯示模塊。守時方案框圖如圖1所示。由導航衛星信號接收模塊接收衛星信號,輸出標準秒脈沖和時間碼至FPGA時間解碼模塊,FPGA解出時間信息并根據通訊協議發送給顯示模塊[3, 4, 5]。晶振輸出脈沖至FPGA,晶振計數模塊計錄標準秒脈沖每個周期內晶振脈沖數[6]。當記錄時間達到30 min,計算這組數據的均值和方差。導航衛星失連后,根據前30 min計算的均值和方差動態設置晶振計數模塊的脈沖產生計數器閾值以產生高精度的模擬秒脈沖。
3 守時硬件設計
FPGA采用Altera公司Cyclone II系列中的EP2C8T144C8N,該芯片具有144個IO端口、36個RAM塊、2個PLL鎖相環、18個嵌入式乘法器、四種配置方式和AS、JTAG下載調試接口。EP2C8T144C8N擁有豐富的資源且編程靈活,使得該芯片作為系統主控芯片[7, 8, 9]。導航衛星信號接收模塊采用MHKJ-1612為主芯片,其能提供的授時服務。通過使用量化誤差信息去補償時間脈沖中的顆粒誤差,導航衛星信號接收模快能夠配置輸出時間脈沖頻率,授時精度可高達15 ns。即使設備在有遮擋物的情況下保證有一顆衛星正常連接,芯片就能輸出準確的時間信息。導航衛星信號接收模塊與FPGA采用串口通信,有多種波特率可供選擇。系統晶振采用恒溫晶振,頻率精度可以達到正負0.2 ppm。消耗電流一般300 mA~2 A,主要應用于衛星,通訊基站等。守時部分硬件連接圖如圖2所示。
4 守時軟件設計
4.1 同步秒脈沖信號設計
授時系統導航衛星連接正常情況下,導航衛星信號接收模塊接收到衛星信號產生標準秒脈沖和時間碼,并發送給FPGA接收模塊。FPGA利用PLL鎖相環將50 MHz恒溫晶振倍頻到200 MHz,當晶振計數模塊脈沖計數值達到閾值或檢測到導航衛星信號接收模塊輸出的標準秒脈沖信號上升,FPGA產生100 ms高電平信號并將晶振計數器清0,隨后產生低電平信號。同步標準秒脈沖產生流程圖如圖3所示。
4.2 平均脈沖數及方差設計
當存儲時間達到30 min時,利用 為1 s內晶振的脈沖數值,n為時長)和s2= ( 為平均1 s內晶振的脈沖數,Xi為1 s內晶振的脈沖數值)公式求出1 s內晶振的平均脈沖數和方差。根據拉依達準則,剔除數據中數值中大于 ± s+3 s或者小于x--3 s的異常值,然后再一次利用公式求出剔除后數據的平均值和方差。平均1 s內晶振的脈沖數以及方差產生的流程圖如圖4所示。
4.3 導航衛星失連后的高精度秒脈沖產生設計
導航衛星失連后,FPGA根據每秒內晶振脈沖數的平均值和方差,求出 ± s+3 s和 ± s-3 s作為設定脈沖計數的兩個閾值BV1、BV2。在一個周期T內,前 當晶振脈沖計數達到BV1的時候,產生一個滯后模擬秒脈沖(與標準秒脈沖秒頭相比);后 當晶振脈沖計數達到BV2的時候,產生一個超前模擬秒脈沖。產生的模擬秒脈沖秒頭在標準秒脈沖左右有規律的晃動從而消除累積誤差。導航衛星失連后的高精度秒脈沖產生流程圖如圖5所示。
5 實驗結果分析
為避免測試結果的偶然性,實驗使用4套授時系統板,采用50 MHz標稱值的恒溫晶振,精度可達正負0.2 ppm。先將恒溫晶振輸出的50 MHz的脈沖信號倍頻到200 MHz,然后統計標準秒脈沖信號每個周期下授時系統恒溫晶振所產生的脈沖數值的均值和動態方差。測試結果如表1所示。
表 1 導航衛星未失連下每秒晶振脈沖數值的均值和方差Tab. 1 Crystal’s average pulses number per second and variance when navigation satellite works
時間 | 10 min | 30 min | 1 h | 2 h | ||||
分類 | 均值 | 方差 | 均值 | 方差 | 均值 | 方差 | 均值 | 方差 |
1號板 | 199 999 856.6 | 3.21 | 199 999 857.8 | 3.28 | 199 999 859.3 | 3.29 | 199 999 860.5 | 3.31 |
2號板 | 199 999 852.9 | 2.32 | 199 999 853.5 | 2.40 | 199 999 854.4 | 2.48 | 199 999 856.2 | 2.51 |
3號板 | 199 999 814.3 | 2.25 | 199 999 815.4 | 2.32 | 199 999 818.3 | 2.41 | 199 999 820.0 | 2.47 |
4號板 | 199 999 903.2 | 1.89 | 199 999 904.1 | 1.91 | 199 999 905.3 | 1.90 | 199 999 907.1 | 1.95 |
表1統計了不同時刻秒脈沖單位時間內晶振的脈沖數值的平均值和方差。圖6圖7橫坐標為時間,縱坐標為均值和方差,折線圖直觀的反映了均值和方差隨著時間的變化趨勢。表2統計了在導航衛星失連下不同時刻模擬秒脈沖與標準秒脈沖的誤差。圖8橫坐標為時間,縱坐標為誤差大小,折線圖直觀的反映了誤差隨著時間的變化趨勢。
圖 6 均值隨時間變化折線圖
圖 7 方差隨時間變化折線圖
圖 8 守時誤差隨時間變化折線圖
表 2 導航衛星失連下守時誤差Tab. 2 Punctuality error when navigation satellite lost
分類 | 誤差/ns | |||
時間 | 10 min | 30 min | 45 min | 1 h |
1號板 | 45 | 78 | 127 | 183 |
2號板 | 44 | 84 | 138 | 197 |
3號板 | 45 | 69 | 132 | 211 |
4號板 | 42 | 76 | 141 | 204 |
6 結語
本文通過統計30 min內標準秒脈沖每秒晶振脈沖數值的均值和動態方差,動態設置晶振計數模塊計數閾值以產生模擬秒脈沖,以達到高精度守時目的。從實驗可知,秒脈沖在導航衛星失連1 h內,與標準秒脈沖相比秒頭誤差不超過250 ns,符合電力、靶場等系統守時要求。
下一篇:平移閘結構及其工作原理
本網轉載并注明自其它來源(非智慧城市網www.zvwid.cn)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。