張青松,徐光輝,李 娜
(陸軍工程大學 研究生院,江蘇 南京 210007)
對時間精度測量的要求廣泛存在于通信工程、激光測距、醫學成像、科學計量等實際應用中[1-3]。目前,時間數字轉換器(Time-to-digital Converter,TDC)是時間精準測量的一種基本方法,它通過將表示時間間隔的模擬信號轉換為數字信號這一途徑,實現對時間間隔的精確測量[4]。
由于時間測量技術自身高度依賴于所在系統的參考時鐘的特點,也就必然導致其測量分辨率由系統時鐘所限制。隨著分辨率的提高,無可避免的會提高系統的時鐘頻率,時間測量的分辨率如果提高到50 ps,那么相應的時鐘頻率就要達到20 GHz的標準,這無疑會給硬件設計帶來巨大挑戰。此外,在高分辨率的工程應用下,系統自身所帶有的非線性也會愈發的明顯,在測量設備的設計和使用中必須考慮到這一點。
目前,現下流行的時間數字轉換器系統的實現方式有兩種:利用CMOS實現的全定制ASIC-TDC和可編程邏輯門陣列實現的FPGA-TDC。其中,可編程邏輯門陣列實現的FPGA-TDC憑借其開發周期短、研發成本低、靈活性高的優點,逐漸成為當下此類系統的首選方案。因此,本文采用主流Xilinx工具平臺(Vivado)在7系列FPGA(Field-Programmable Gate Array)芯片上構建抽頭延遲線結構,從而實現高精度的TDC系統。
盡管通過延遲單元來構建進位鏈結構有其自身的優勢,但與此同時也不可避免的帶來一些其他方面的問題。首先要面對的就是編譯工具本身[5]的特定屬性,使得底層硬件難以實現穩定的進位鏈結構。其次,可編程邏輯器件中最小延時單元的時間是不可控的,并且會根據溫度、電源電壓等實際外部因素[6]進行變化,這一問題可以通過對TDC系統進行偏差校準來加以解決。
本文將該系統分為粗測量部分和精測量部分,粗測量部分用來滿足系統對測量量程的要求,精細測量部分來保證對分辨率要求的設計。實際應用中,針對粗測量部分的要求,普遍采用時鐘脈沖計數法,這是最簡單的測量方法。而精密測量部分則利用底層硬件搭建的延遲鏈,通過測量起始和結束信號的邊緣與基準時鐘邊緣之間的間隔來實現。
本文采用現下已經很成熟的時間內插技術,通過7系列芯片中Slice單元中專用進位鏈CARRY4進行級聯來構造抽頭延遲鏈結構,每個CARRY4器件內部分布著18個端口(10個輸入和8個輸出端口)。其中,CYINIT成為開始信號的輸入端口,上一個器件的CIN口用來與下一級的CARRY4器件的CI輸入端口進行級聯,通過這種方法,就可以在在底層硬件中固化成為足夠使用的延遲鏈結構。CARRY4模塊內部的具體構造,如圖1所示。CARRY4的內部由4個MUXCY和1個MUX組成,最多能引出4個由MUXCY作為基本延遲單元的抽頭端口。

圖1 CARRY4結構
當start信號和stop信號的上升沿到來時,所發出的開始信號就能在構造的延遲鏈中傳播,系統通過設立的多級觸發器來準確的捕捉信號的傳播位置,一旦某一級的觸發器輸出變為0,則說明輸入信號已傳播到此處。其中每級進位鏈的具體延時可由器件本身工藝來確定,于是就可求得開始信號與結束信號的時間間隔。TDC測量時序圖如圖2所示。

圖2 TDC測量時序
在系統的設計與實現的過程中,針對時間測量,有兩個非常重要的關鍵指標:數據精度的最小時間間隔和系統量程的最大時間間隔。通常為了達到設計需要,我們要求測量精度要達到皮秒級別的水平。另外,可以通過擴展Gray碼的位數來進行擴展量程。但是,實現細計數精度的提高則是一個相對復雜的過程,也是實際應用中需要重點關注的地方。
根據實際要求,細測模塊的量程要達到5 ns(現有條件下的最高的時鐘參考頻率達到200 MHz),整個系統的時間分辨率應小于100 ps。為測量信號留下10 ps的抖動空間。本文分析并結合現有實際,采用Xilinx工具在7系列FPGA芯片中實現TDC系統,以滿足系統的實際要求。
本文設計的TDC系統如圖3所示,主要由延遲鏈模塊、兩級觸發器鎖存模塊、校準系統和編碼模塊等構成。使用系統時鐘為200 MHz的底層硬件,通過配置255個延遲單元以滿足系統的實際需要。由于底層硬件的物理原因,導致各級器件的參考時鐘可能并不同步,一旦數據的0-1跳變發生在時鐘上升沿周圍,那么抽頭數據信號便無法滿足觸發器的建立和保持時間,就會出現亞穩態現象。一旦出現亞穩態,就會造成系統測量錯誤甚至導致系統在短時內無法正常工作,所以要盡可能避免此類情況發生的概率。

圖3 四通道TDC結構
為了保證系統正常穩定工作,文章通過將兩個觸發器級聯在一起的方式,充分利用了兩級觸發器特有的鎖存功能,可以有效的降低系統出現不穩定狀態的概率。因為只要系統在第二級觸發器建立的時間前達到穩定狀態,即使前一級觸發器出現亞穩態,第二級觸發器鎖存的數據就依然是穩定的。同時,采用觸發器鎖存技術,還能夠靈活控制與之相關的溫度計編碼模塊的保持時間,使之不受系統時鐘頻率的制約,從而降低編碼電路的處理速度。
與此同時,為了進一步的提高了系統的測量精度,本文分別配有4條延遲鏈同時對待測信號進行測量,最后通過求平均值的方式來獲得最終的測量結果。
雖然編譯軟件的后仿可以大概模擬進位鏈的延遲數據,但這只是一個估計值。實際研究表明,受底層硬件的物理特性的影響,各級延遲單元的延遲時間并不相同。隨著電壓和溫度等外部環境的變化,延遲單元也會隨之發生改變[7-8]。因此,實現數字系統轉換器的首要問題是怎樣實現和固化器件內部的基本單元,并保持系統各個操作的一致性。另外,受頻率漂移和底層硬件布局布線的影響,會給測量數據帶來一定的誤差,必須加以校正,以提高系統的測量精度。
進位鏈的校準方式平均延遲校準和碼密度校準兩種。其中,前者是以各個延遲單元延遲時間相同為前提。然而,該方法是高度假設的,并且不對每個延遲單元執行更精確的校準。當延遲單元的大小發生很大變化時,會導致較大的測量誤差,并大大降低系統的靈敏度。當進位鏈中的信號經過LAB邊界或者半邊界時會導致該級延遲增大,從而影響最終的測量精度。因此,文章選擇第2種方式進行在線校準。
碼密度法是一種逐位校準的方法,用于測量每一個延遲單元的真實延遲時間。首先,使用大量均勻分布在一個時鐘周期內的隨機脈沖作為TDC系統中要測量的輸入信號。由于輸入信號是隨機的,所以信號在落在一個周期內任何一點上的概率是相等的。然后,記錄落在各級延遲單元上的次數,并且當隨機事件的數量足夠大時,延遲時間會與事件的數量成正比,從而可以得出每個延遲單元的具體大小,計算公式如下:

第m個延遲單元采樣得到的實際次數為M,N為隨機事件的數量,Tm為第m個延遲單元的延遲時間。
利用碼密度法對系統進行校準的一個關鍵問題,就是確定隨機事件的具體數量N。雖然從數學的角度看,樣本數量當然是越多越好,但是數量太多會導致較長的校準時間。對于有限的隨機數N,實際計數值nq服從二項分布,其平均值為:

標準偏差為:

假設樣本都是隨機的,得出:


最后,根據測量精度和進位鏈級數就可以估算出最小樣本數量。在本文中,要求誤差小于10 ps,則可以計算出:

通過以上分析,本文設計的校準電路結構框圖如圖4所示。校準電路主要由隨機信號產生電路、保持電路以及查找表存儲電路等幾個部分組成。隨機信號產生電路是利用環形振蕩器產生隨機信號,而校準電路則是通過對實際存儲的校準結果建立累加查找表的方式進行工作。
通過統計結果分析,可以得到每個延時單元的具體延時,如圖5所示。

圖4 校準電路結構

圖5 延遲單元測量
分辨率一般用最低有效位(Least Significant Bit,LSB)來表示,代表系統能識別的最小時間間隔。分辨率越高,也就是bit數值越大,信號范圍被分割成的區間數目越多,因此,能探測到的信號變量就越小,測量也就越精確。在本文中,由于延遲單元的不一致性,實際上使用的是平均LSB,表示為:

式中,Q為實際內插的延遲單元個數。根據統計結果分析得到平均LSB為30 ps左右。
通過之前的分析可知,由于各個延遲單元的不一致性,導致了系統的非線性。非線性(Non-Linearity,NL)通常用:微分非線性(Differential Non-Linearity,DNL)和積分非線性(Integral Non-Linearity,INL)這兩個參數來衡量。
差分非線性(DNL)可以理解為刻度間的差值,即對每個模擬數據按點量化,由于量化產生的誤差。文章中用來表示碼寬與最低有效位(LSB)之間的偏移值,微分非線性實際上是反映了時間碼寬之間的不均勻程度,嚴重的微分非線性會導致失碼。可表示為:

式中,LSB′為各個延遲單元的實際延時;LSB則為各個延遲單元的平均延時。
積分非線性(INL)可以理解為單值數據誤差,對應模擬數據由于元器件及結構不能精確測量而產生的誤差。相當于微分非線性(DNL)的累加運算,可以表示為:

根據結果統計,微分非線性和積分非線性的仿真結果如圖6、圖7所示。可以看出延遲鏈微分非線性(DNL)為(-1,2)LSB,積分非線性(INL)為(-1,6.5)LSB,說明使用該方法有較好的穩定性和線性度。

圖6 INL

圖7 DNL
本文采用近年來應用廣泛的Xilinx 7系列FPGA芯片,借助主流軟件設計了一種高精度時間數字轉換器系統,由延遲鏈、兩級觸發器、校準模塊和編碼模塊等構成。通過碼密度法可以得到每個延遲單元的具體延遲時間,并且可以分析其中的不一致性。在抽頭延遲線的數據鎖存過程中,采用了兩級觸發器級聯的方式,有效的降低了系統的亞穩態性。該方法適用于目前Xilinx公司的主流芯片,填補了該公司在主流器件上利用時間內插技術實現時間數字轉換器系統的技術空白,有利于該方法在各個電子應用領域的推廣使用。