劉瓊瑤,劉音華,劉正陽,李孝輝
(1.中國科學院 國家授時中心,西安 710600;2.中國科學院 時間頻率基準重點實驗室,西安 710600;3.中國科學院大學,北京 100049;4.中國科學院大學 天文與空間科學學院,北京 101048)
中國科學院國家授時中心承擔著我國標準時間的產生、保持和發播等重大任務。將國家基準時間UTC(NTSC)以更準確、更經濟的手段傳播給用戶,是科學家們堅持不懈研究的目標。目前為止,主要的授時手段有長短波授時、低頻時碼授時、互聯網授時、衛星單向授時、衛星共視、衛星雙向比對、光纖傳遞等。其中,光纖時間傳遞是目前為止授時精度最高的時間傳遞方法,時間比對不確定度優于1 ps,但是其成本較高,長短波授時、衛星單向授時等方法成本較低,用戶只要具備相應的接收機即可,但其精度也低,短波的授時精度約為1 ms,長波約為1 μs,衛星單向授時為100 ns左右[1-3],這些方法均不能滿足高精度時間服務的需求。衛星共視法于1999年被國際電信聯盟采納為計算協調世界時的方法,相比其他授時手段,其比對精度較高,并且成本適中,成為現在廣泛使用的時間比對方法[4]。
傳統的衛星共視法每個觀測周期都存在3 min的死時間,且觀測結束后才進行數據處理,使得比對結果滯后,存在較大的局限性[5]。國家授時中心針對該問題對衛星共視法進行了改進,通過連續時間比對的方法設計了UTC(NTSC)遠程復現系統。
在UTC(NTSC)遠程復現終端中,時間間隔的精密測量是關鍵的一個環節,且時間間隔的測量精度直接影響著最后的復現精度,因此要提高系統的復現精度,設計更高精度的時間間隔計數器也是十分重要的。目前,通訊、導航等各行業領域對時間頻率信號的準確度要求越來越高,為滿足更多用戶的需求,不僅要探索更高性能的授時手段,還要設計更精密的時間頻率信號的測量方法。本文基于FPGA(field-programmable gate array)加法進位鏈設計了時間間隔計數器,并在UTC(NTSC)遠程復現終端中進行了驗證。
遠程復現系統基于衛星共視原理進行時間比對:時間基準端和復現端的接收機在同一個共視時間表作用下,在同一時刻觀測同一顆衛星,事后進行數據交換,計算出基準端和復現端的鐘差,實現兩地的時間比對[6-7]。
基于衛星共視法的原理,國家授時中心設計了UTC(NTSC)遠程復現終端,其原理圖如圖1所示。

圖1 UTC(NTSC)遠程復現原理圖
該系統通過連續時間頻率比對的方法進行UTC(NTSC)遠程復現。工作原理就是:時間基準端和復現端同時觀測所在地的共同可視衛星,通過時間間隔計數器分別測得國家標準時間UTC(NTSC)與導航系統時間、本地原子鐘與導航系統時間之間的鐘差,并將測得的鐘差傳送至數據處理中心,抵消鐘差、部分星歷誤差以及大部分路徑時延,得到復現端與基準端的時間偏差,并將其反饋至UTC(NTSC)復現終端,UTC(NTSC)復現終端根據收到的數據及歷史結果,輸出一個對時間復現端本地原子鐘的駕馭量,控制復現端本地原子鐘的輸出,使其與基準端的標準時間UTC(NTSC)同步,從而實現UTC(NTSC)遠程復現[1-4]。
在上述的UTC(NTSC)遠程復現系統中,UTC(NTSC)的準確復現依賴于對復現端與基準端時間偏差的準確測量,而時間間隔計數器在這個過程中起到了決定性作用,其測量精度直接影響著最后的時間復現精度。因此,對于整個系統而言,設計一個高精度、穩定性好的時間間隔計數器是必須的。
在UTC(NTSC)復現終端中,時間間隔計數器主要是測量兩個不同來源的1 PPS信號之間的時間間隔,針對此應用需求,筆者基于精密時間內插法設計了測量范圍為0~1 s的時間間隔計數器。
時間間隔計數器的設計采用“粗+細”的測量模式,原理如圖2所示。

圖2 時間間隔測量原理
粗測量部分采用脈沖計數法,通過周期為TP的基準時鐘進行直接脈沖計數,粗測量部分計數結果為N,則該部分測量的時間間隔為NTP[8]。但是該部分測量分辨率為TP,對于小于TP的時間間隔,如圖2所示的ΔT1和ΔT2的測量則通過細測量實現。
最終待測量的起始信號與停止信號之間的時間間隔為:
T=NTP+ΔT1-ΔT2。
(1)
細測量部分通過利用FPGA內部的加法進位延遲鏈資源實現時間的精密內插,從而有效提升測量的分辨率。FPGA芯片中具有大量的邏輯單元LE,LE之間具有用于快速進位功能的進位鏈,其carry-in到carry-out的進位延遲一般都在幾十皮秒,且各級LE之間沒有多余的走線延遲[9]。將LE之間的進位延遲作為精密時間內插的最小延遲單元,理論上可以將時間間隔測量的分辨率至少提高到100 ps,足夠滿足時間復現精度的需求。
FPGA中進位連線是為了加減法運算而設計的,各級進位連線之間沒有任何關系,要將它們級聯起來,才能形成一個完整的測量鏈路。串行加法器可以將各級進位連線級聯起來,如圖3所示。
第一級加法器的兩個輸入端分別接起始信號和高電平,其余加法器的兩個輸入端分別接低電平和高電平,當起始信號的上升沿到來時,就會在所構建的進位鏈中進行傳播。各級加法器的輸出端均接入一個D觸發器,D觸發器的時鐘端接入粗計數的基準時鐘信號,當基準時鐘信號的上升沿到來時,就可以定位起始信號在進位鏈中的位置。根據起始信號在進位鏈中傳播的延遲單元個數以及各個延遲單元的時延,從而求得起始信號上升沿和緊接著的下一個時鐘信號上升沿之間的時間間隔,達到細測量的目的[10]。

圖3 進位鏈的設計
由于制作工藝等因素的影響,不同型號的FPGA器件的進位鏈時延是不同的;同一器件各級進位延時單元的時延也并不完全相同,并且很容易隨著工作環境(溫度、電壓等)的改變而改變。為了使測量結果更加準確,需對進位鏈的各級進位延遲單元的時延進行實時校準[11]。
本文采用基于統計學的碼密度法對各個延遲單元的時延進行校準,校準原理如圖4所示[12]。

圖4 碼密度校準原理示意圖
大量具有隨機跳變特性的脈沖信號在進位鏈中傳播,同時用周期為TP的粗計數基準時鐘信號進行采樣,則隨機脈沖的跳變將均勻地分布在[0,TP)的區間內,隨機跳變落入第i級延遲單元內的次數ni正比于第i級延時單元的時延di,當樣本數N足夠大時,則有:
(2)
可以近似認為進位鏈中各個延遲單元的時延為:
(3)

(4)
(5)

進位鏈校準的過程如圖5所示。對進位鏈進行校準時,在進位鏈的開始端輸入隨機脈沖,在D觸發器陣列的時鐘端輸入粗計數的基準時鐘作為采樣信號,當采樣信號的上升沿到來時,通過編碼器對D觸發器陣列的輸出進行編碼,定位隨機脈沖在進位鏈中傳播的位置,并將該位置信息存儲到RAM存儲器中。根據多次采樣的結果,按照式(3)和(5)計算出各級進位鏈的時延,并存儲到查找表中,在之后計算測量結果時調用。

圖5 進位鏈校準過程示意圖
本文基于Altera 公司的Cyclone IVEP4CGX150DF31C7器件上設計了時間間隔計數器,并進行了測試驗證。試驗中測量了上百組不同時間間隔的秒信號,每組秒信號連續測量1 min,每秒輸出一次測量結果,取60次(即1 min)測量的平均值為最終測量結果。表1為10組1 PPS秒脈沖信號時間間隔的實測結果,并與SR620的標定結果進行了對比,測量范圍從100 ns至999 999 900 ns,測量時間為1 min。

表1 時間間隔計數器實測結果 ps
由表1中的實測結果可以看出,計數器的測量誤差保持在100 ps以內,具有較好的準確度;標準偏差小于80 ps,有較好的穩定度。
為進一步對時間間隔計數器的穩定性進行測試,對多組時間間隔進行了長達20 h左右的連續測試,圖6為對999 999 903 008 ps的時間間隔長時間測試的測量結果,測量均值為999 999 902 209 ps,對測量結果進行系統偏差的校準后,測量值與真值之間的偏差為68 ps,標準偏差為78.5 ps。圖7為該組測量結果的概率分布情況,由圖中可以看出,測量結果基本滿足正態分布,均值在999 999 902 200 ps左右,符合實際情況。

圖6 時間間隔計數器長期測量結果

圖7 測量結果的分布情況
將基于FPGA加法進位鏈設計的時間間隔計數器應用到UTC(NTSC)遠程復現終端中,復現由臨潼至西安衛星導航試驗場的時間,對遠程復現終端連續測試100 h,實現結果如圖8所示。
圖8所示的試驗中,每隔1 min采樣一次,即1 min輸出一次復現端與基準端的時間差值,單位為ns。表2為對復現結果的統計分析,用復現端與基準端的差值(復現誤差)來表征該UTC(NTSC)遠程復現的準確度,復現誤差的標準偏差表征該系統的穩定度。根據對復現結果的統計分析,可以得到UTC(NTSC)遠程復現的準確度始終保持在±10 ns以內,而時間間隔計數器的測量誤差小于100 ps,對UTC(NTSC)遠程復現誤差的貢獻小于1%。

圖8 復現端與基準端的時間差值

表2 對復現誤差的統計分析 ns
基于FPGA加法進位鏈,設計了時間間隔計數器,并且基于碼密度法對進位鏈進行實時校準。測量了時間間隔在100 ns與999 999 900 ns之間的多組信號,實驗結果表明,該時間間隔計數器測量準確度優于100 ps,穩定度也保持在80 ps以內,性能較好。
將該計數器應用于基于衛星共視的UTC(NTSC)遠程復現終端中,連續測試100 h,時間復現的準確度保持在±10 ns以內,穩定度優于5 ns,時間間隔計數器對UTC(NTSC)遠程復現終端的復現誤差貢獻小于1%,完全滿足UTC(NTSC)遠程復現終端中時間間隔計數器的應用需求,具有一定的推廣價值。