張青松,徐光輝,李 娜
(陸軍工程大學(xué) 研究生院,江蘇 南京 210007)
對(duì)時(shí)間精度測(cè)量的要求廣泛存在于通信工程、激光測(cè)距、醫(yī)學(xué)成像、科學(xué)計(jì)量等實(shí)際應(yīng)用中[1-3]。目前,時(shí)間數(shù)字轉(zhuǎn)換器(Time-to-digital Converter,TDC)是時(shí)間精準(zhǔn)測(cè)量的一種基本方法,它通過將表示時(shí)間間隔的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)這一途徑,實(shí)現(xiàn)對(duì)時(shí)間間隔的精確測(cè)量[4]。
由于時(shí)間測(cè)量技術(shù)自身高度依賴于所在系統(tǒng)的參考時(shí)鐘的特點(diǎn),也就必然導(dǎo)致其測(cè)量分辨率由系統(tǒng)時(shí)鐘所限制。隨著分辨率的提高,無可避免的會(huì)提高系統(tǒng)的時(shí)鐘頻率,時(shí)間測(cè)量的分辨率如果提高到50 ps,那么相應(yīng)的時(shí)鐘頻率就要達(dá)到20 GHz的標(biāo)準(zhǔn),這無疑會(huì)給硬件設(shè)計(jì)帶來巨大挑戰(zhàn)。此外,在高分辨率的工程應(yīng)用下,系統(tǒng)自身所帶有的非線性也會(huì)愈發(fā)的明顯,在測(cè)量設(shè)備的設(shè)計(jì)和使用中必須考慮到這一點(diǎn)。
目前,現(xiàn)下流行的時(shí)間數(shù)字轉(zhuǎn)換器系統(tǒng)的實(shí)現(xiàn)方式有兩種:利用CMOS實(shí)現(xiàn)的全定制ASIC-TDC和可編程邏輯門陣列實(shí)現(xiàn)的FPGA-TDC。其中,可編程邏輯門陣列實(shí)現(xiàn)的FPGA-TDC憑借其開發(fā)周期短、研發(fā)成本低、靈活性高的優(yōu)點(diǎn),逐漸成為當(dāng)下此類系統(tǒng)的首選方案。因此,本文采用主流Xilinx工具平臺(tái)(Vivado)在7系列FPGA(Field-Programmable Gate Array)芯片上構(gòu)建抽頭延遲線結(jié)構(gòu),從而實(shí)現(xiàn)高精度的TDC系統(tǒng)。
盡管通過延遲單元來構(gòu)建進(jìn)位鏈結(jié)構(gòu)有其自身的優(yōu)勢(shì),但與此同時(shí)也不可避免的帶來一些其他方面的問題。首先要面對(duì)的就是編譯工具本身[5]的特定屬性,使得底層硬件難以實(shí)現(xiàn)穩(wěn)定的進(jìn)位鏈結(jié)構(gòu)。其次,可編程邏輯器件中最小延時(shí)單元的時(shí)間是不可控的,并且會(huì)根據(jù)溫度、電源電壓等實(shí)際外部因素[6]進(jìn)行變化,這一問題可以通過對(duì)TDC系統(tǒng)進(jìn)行偏差校準(zhǔn)來加以解決。
本文將該系統(tǒng)分為粗測(cè)量部分和精測(cè)量部分,粗測(cè)量部分用來滿足系統(tǒng)對(duì)測(cè)量量程的要求,精細(xì)測(cè)量部分來保證對(duì)分辨率要求的設(shè)計(jì)。實(shí)際應(yīng)用中,針對(duì)粗測(cè)量部分的要求,普遍采用時(shí)鐘脈沖計(jì)數(shù)法,這是最簡(jiǎn)單的測(cè)量方法。而精密測(cè)量部分則利用底層硬件搭建的延遲鏈,通過測(cè)量起始和結(jié)束信號(hào)的邊緣與基準(zhǔn)時(shí)鐘邊緣之間的間隔來實(shí)現(xiàn)。
本文采用現(xiàn)下已經(jīng)很成熟的時(shí)間內(nèi)插技術(shù),通過7系列芯片中Slice單元中專用進(jìn)位鏈CARRY4進(jìn)行級(jí)聯(lián)來構(gòu)造抽頭延遲鏈結(jié)構(gòu),每個(gè)CARRY4器件內(nèi)部分布著18個(gè)端口(10個(gè)輸入和8個(gè)輸出端口)。其中,CYINIT成為開始信號(hào)的輸入端口,上一個(gè)器件的CIN口用來與下一級(jí)的CARRY4器件的CI輸入端口進(jìn)行級(jí)聯(lián),通過這種方法,就可以在在底層硬件中固化成為足夠使用的延遲鏈結(jié)構(gòu)。CARRY4模塊內(nèi)部的具體構(gòu)造,如圖1所示。CARRY4的內(nèi)部由4個(gè)MUXCY和1個(gè)MUX組成,最多能引出4個(gè)由MUXCY作為基本延遲單元的抽頭端口。
圖1 CARRY4結(jié)構(gòu)
當(dāng)start信號(hào)和stop信號(hào)的上升沿到來時(shí),所發(fā)出的開始信號(hào)就能在構(gòu)造的延遲鏈中傳播,系統(tǒng)通過設(shè)立的多級(jí)觸發(fā)器來準(zhǔn)確的捕捉信號(hào)的傳播位置,一旦某一級(jí)的觸發(fā)器輸出變?yōu)?,則說明輸入信號(hào)已傳播到此處。其中每級(jí)進(jìn)位鏈的具體延時(shí)可由器件本身工藝來確定,于是就可求得開始信號(hào)與結(jié)束信號(hào)的時(shí)間間隔。TDC測(cè)量時(shí)序圖如圖2所示。
圖2 TDC測(cè)量時(shí)序
在系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的過程中,針對(duì)時(shí)間測(cè)量,有兩個(gè)非常重要的關(guān)鍵指標(biāo):數(shù)據(jù)精度的最小時(shí)間間隔和系統(tǒng)量程的最大時(shí)間間隔。通常為了達(dá)到設(shè)計(jì)需要,我們要求測(cè)量精度要達(dá)到皮秒級(jí)別的水平。另外,可以通過擴(kuò)展Gray碼的位數(shù)來進(jìn)行擴(kuò)展量程。但是,實(shí)現(xiàn)細(xì)計(jì)數(shù)精度的提高則是一個(gè)相對(duì)復(fù)雜的過程,也是實(shí)際應(yīng)用中需要重點(diǎn)關(guān)注的地方。
根據(jù)實(shí)際要求,細(xì)測(cè)模塊的量程要達(dá)到5 ns(現(xiàn)有條件下的最高的時(shí)鐘參考頻率達(dá)到200 MHz),整個(gè)系統(tǒng)的時(shí)間分辨率應(yīng)小于100 ps。為測(cè)量信號(hào)留下10 ps的抖動(dòng)空間。本文分析并結(jié)合現(xiàn)有實(shí)際,采用Xilinx工具在7系列FPGA芯片中實(shí)現(xiàn)TDC系統(tǒng),以滿足系統(tǒng)的實(shí)際要求。
本文設(shè)計(jì)的TDC系統(tǒng)如圖3所示,主要由延遲鏈模塊、兩級(jí)觸發(fā)器鎖存模塊、校準(zhǔn)系統(tǒng)和編碼模塊等構(gòu)成。使用系統(tǒng)時(shí)鐘為200 MHz的底層硬件,通過配置255個(gè)延遲單元以滿足系統(tǒng)的實(shí)際需要。由于底層硬件的物理原因,導(dǎo)致各級(jí)器件的參考時(shí)鐘可能并不同步,一旦數(shù)據(jù)的0-1跳變發(fā)生在時(shí)鐘上升沿周圍,那么抽頭數(shù)據(jù)信號(hào)便無法滿足觸發(fā)器的建立和保持時(shí)間,就會(huì)出現(xiàn)亞穩(wěn)態(tài)現(xiàn)象。一旦出現(xiàn)亞穩(wěn)態(tài),就會(huì)造成系統(tǒng)測(cè)量錯(cuò)誤甚至導(dǎo)致系統(tǒng)在短時(shí)內(nèi)無法正常工作,所以要盡可能避免此類情況發(fā)生的概率。
圖3 四通道TDC結(jié)構(gòu)
為了保證系統(tǒng)正常穩(wěn)定工作,文章通過將兩個(gè)觸發(fā)器級(jí)聯(lián)在一起的方式,充分利用了兩級(jí)觸發(fā)器特有的鎖存功能,可以有效的降低系統(tǒng)出現(xiàn)不穩(wěn)定狀態(tài)的概率。因?yàn)橹灰到y(tǒng)在第二級(jí)觸發(fā)器建立的時(shí)間前達(dá)到穩(wěn)定狀態(tài),即使前一級(jí)觸發(fā)器出現(xiàn)亞穩(wěn)態(tài),第二級(jí)觸發(fā)器鎖存的數(shù)據(jù)就依然是穩(wěn)定的。同時(shí),采用觸發(fā)器鎖存技術(shù),還能夠靈活控制與之相關(guān)的溫度計(jì)編碼模塊的保持時(shí)間,使之不受系統(tǒng)時(shí)鐘頻率的制約,從而降低編碼電路的處理速度。
與此同時(shí),為了進(jìn)一步的提高了系統(tǒng)的測(cè)量精度,本文分別配有4條延遲鏈同時(shí)對(duì)待測(cè)信號(hào)進(jìn)行測(cè)量,最后通過求平均值的方式來獲得最終的測(cè)量結(jié)果。
雖然編譯軟件的后仿可以大概模擬進(jìn)位鏈的延遲數(shù)據(jù),但這只是一個(gè)估計(jì)值。實(shí)際研究表明,受底層硬件的物理特性的影響,各級(jí)延遲單元的延遲時(shí)間并不相同。隨著電壓和溫度等外部環(huán)境的變化,延遲單元也會(huì)隨之發(fā)生改變[7-8]。因此,實(shí)現(xiàn)數(shù)字系統(tǒng)轉(zhuǎn)換器的首要問題是怎樣實(shí)現(xiàn)和固化器件內(nèi)部的基本單元,并保持系統(tǒng)各個(gè)操作的一致性。另外,受頻率漂移和底層硬件布局布線的影響,會(huì)給測(cè)量數(shù)據(jù)帶來一定的誤差,必須加以校正,以提高系統(tǒng)的測(cè)量精度。
進(jìn)位鏈的校準(zhǔn)方式平均延遲校準(zhǔn)和碼密度校準(zhǔn)兩種。其中,前者是以各個(gè)延遲單元延遲時(shí)間相同為前提。然而,該方法是高度假設(shè)的,并且不對(duì)每個(gè)延遲單元執(zhí)行更精確的校準(zhǔn)。當(dāng)延遲單元的大小發(fā)生很大變化時(shí),會(huì)導(dǎo)致較大的測(cè)量誤差,并大大降低系統(tǒng)的靈敏度。當(dāng)進(jìn)位鏈中的信號(hào)經(jīng)過LAB邊界或者半邊界時(shí)會(huì)導(dǎo)致該級(jí)延遲增大,從而影響最終的測(cè)量精度。因此,文章選擇第2種方式進(jìn)行在線校準(zhǔn)。
碼密度法是一種逐位校準(zhǔn)的方法,用于測(cè)量每一個(gè)延遲單元的真實(shí)延遲時(shí)間。首先,使用大量均勻分布在一個(gè)時(shí)鐘周期內(nèi)的隨機(jī)脈沖作為TDC系統(tǒng)中要測(cè)量的輸入信號(hào)。由于輸入信號(hào)是隨機(jī)的,所以信號(hào)在落在一個(gè)周期內(nèi)任何一點(diǎn)上的概率是相等的。然后,記錄落在各級(jí)延遲單元上的次數(shù),并且當(dāng)隨機(jī)事件的數(shù)量足夠大時(shí),延遲時(shí)間會(huì)與事件的數(shù)量成正比,從而可以得出每個(gè)延遲單元的具體大小,計(jì)算公式如下:
第m個(gè)延遲單元采樣得到的實(shí)際次數(shù)為M,N為隨機(jī)事件的數(shù)量,Tm為第m個(gè)延遲單元的延遲時(shí)間。
利用碼密度法對(duì)系統(tǒng)進(jìn)行校準(zhǔn)的一個(gè)關(guān)鍵問題,就是確定隨機(jī)事件的具體數(shù)量N。雖然從數(shù)學(xué)的角度看,樣本數(shù)量當(dāng)然是越多越好,但是數(shù)量太多會(huì)導(dǎo)致較長(zhǎng)的校準(zhǔn)時(shí)間。對(duì)于有限的隨機(jī)數(shù)N,實(shí)際計(jì)數(shù)值nq服從二項(xiàng)分布,其平均值為:
標(biāo)準(zhǔn)偏差為:
假設(shè)樣本都是隨機(jī)的,得出:
最后,根據(jù)測(cè)量精度和進(jìn)位鏈級(jí)數(shù)就可以估算出最小樣本數(shù)量。在本文中,要求誤差小于10 ps,則可以計(jì)算出:
通過以上分析,本文設(shè)計(jì)的校準(zhǔn)電路結(jié)構(gòu)框圖如圖4所示。校準(zhǔn)電路主要由隨機(jī)信號(hào)產(chǎn)生電路、保持電路以及查找表存儲(chǔ)電路等幾個(gè)部分組成。隨機(jī)信號(hào)產(chǎn)生電路是利用環(huán)形振蕩器產(chǎn)生隨機(jī)信號(hào),而校準(zhǔn)電路則是通過對(duì)實(shí)際存儲(chǔ)的校準(zhǔn)結(jié)果建立累加查找表的方式進(jìn)行工作。
通過統(tǒng)計(jì)結(jié)果分析,可以得到每個(gè)延時(shí)單元的具體延時(shí),如圖5所示。
圖4 校準(zhǔn)電路結(jié)構(gòu)
圖5 延遲單元測(cè)量
分辨率一般用最低有效位(Least Significant Bit,LSB)來表示,代表系統(tǒng)能識(shí)別的最小時(shí)間間隔。分辨率越高,也就是bit數(shù)值越大,信號(hào)范圍被分割成的區(qū)間數(shù)目越多,因此,能探測(cè)到的信號(hào)變量就越小,測(cè)量也就越精確。在本文中,由于延遲單元的不一致性,實(shí)際上使用的是平均LSB,表示為:
式中,Q為實(shí)際內(nèi)插的延遲單元個(gè)數(shù)。根據(jù)統(tǒng)計(jì)結(jié)果分析得到平均LSB為30 ps左右。
通過之前的分析可知,由于各個(gè)延遲單元的不一致性,導(dǎo)致了系統(tǒng)的非線性。非線性(Non-Linearity,NL)通常用:微分非線性(Differential Non-Linearity,DNL)和積分非線性(Integral Non-Linearity,INL)這兩個(gè)參數(shù)來衡量。
差分非線性(DNL)可以理解為刻度間的差值,即對(duì)每個(gè)模擬數(shù)據(jù)按點(diǎn)量化,由于量化產(chǎn)生的誤差。文章中用來表示碼寬與最低有效位(LSB)之間的偏移值,微分非線性實(shí)際上是反映了時(shí)間碼寬之間的不均勻程度,嚴(yán)重的微分非線性會(huì)導(dǎo)致失碼。可表示為:
式中,LSB′為各個(gè)延遲單元的實(shí)際延時(shí);LSB則為各個(gè)延遲單元的平均延時(shí)。
積分非線性(INL)可以理解為單值數(shù)據(jù)誤差,對(duì)應(yīng)模擬數(shù)據(jù)由于元器件及結(jié)構(gòu)不能精確測(cè)量而產(chǎn)生的誤差。相當(dāng)于微分非線性(DNL)的累加運(yùn)算,可以表示為:
根據(jù)結(jié)果統(tǒng)計(jì),微分非線性和積分非線性的仿真結(jié)果如圖6、圖7所示。可以看出延遲鏈微分非線性(DNL)為(-1,2)LSB,積分非線性(INL)為(-1,6.5)LSB,說明使用該方法有較好的穩(wěn)定性和線性度。
圖6 INL
圖7 DNL
本文采用近年來應(yīng)用廣泛的Xilinx 7系列FPGA芯片,借助主流軟件設(shè)計(jì)了一種高精度時(shí)間數(shù)字轉(zhuǎn)換器系統(tǒng),由延遲鏈、兩級(jí)觸發(fā)器、校準(zhǔn)模塊和編碼模塊等構(gòu)成。通過碼密度法可以得到每個(gè)延遲單元的具體延遲時(shí)間,并且可以分析其中的不一致性。在抽頭延遲線的數(shù)據(jù)鎖存過程中,采用了兩級(jí)觸發(fā)器級(jí)聯(lián)的方式,有效的降低了系統(tǒng)的亞穩(wěn)態(tài)性。該方法適用于目前Xilinx公司的主流芯片,填補(bǔ)了該公司在主流器件上利用時(shí)間內(nèi)插技術(shù)實(shí)現(xiàn)時(shí)間數(shù)字轉(zhuǎn)換器系統(tǒng)的技術(shù)空白,有利于該方法在各個(gè)電子應(yīng)用領(lǐng)域的推廣使用。