楊 儀,周 嚴(yán)
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇南京 210094)
時(shí)間數(shù)字轉(zhuǎn)換器TDC是微小時(shí)間間隔測量的專用電路結(jié)構(gòu)[1],在高分辨率時(shí)間間隔測量、頻率測量和相位信號分析等高精度、高分辨率測量領(lǐng)域有著重要的應(yīng)用[2]。等精度同步的頻率測量法,由于其計(jì)數(shù)閘門和基準(zhǔn)時(shí)鐘信號不同步,使基準(zhǔn)信號的脈沖上升沿與計(jì)數(shù)閘門的邊沿不重合,導(dǎo)致計(jì)數(shù)閘門的微小起始誤差Δt1和微小終止誤差Δt2,進(jìn)而降低了頻率測量的精度及分辨率。精確測量起始誤差Δt1和終止誤差Δt2是實(shí)現(xiàn)頻率高精度、高分辨率測量的關(guān)鍵。
目前,實(shí)現(xiàn)微小時(shí)間數(shù)字化的方法主要包括高頻計(jì)數(shù)法、游標(biāo)法、抽頭延遲線法以及差分延遲線法等[3-5]。隨著集成電路工藝的不斷成熟,抽頭延遲線法和差分延遲線法因具有成本較小、集成度高的優(yōu)點(diǎn)被越來越多的使用。其中,抽頭延遲線法的分辨率由延遲線中單個(gè)延遲單元的時(shí)延決定,這就受制于CMOS(complementary metal oxide semiconductor)的工藝水平。但是差分延遲線法只需要標(biāo)準(zhǔn)的CMOS工藝,在同樣的工藝水平下它可以實(shí)現(xiàn)更高的分辨率[6]。
在眾多TDC架構(gòu)中,基于FPGA的TDC近年來變得越來越重要,因?yàn)樗鼈兙哂懈咝阅?、更高的靈活性以適應(yīng)應(yīng)用程序的特殊需求,與ASIC(application specific integrated circuit)TDC相比,開發(fā)時(shí)間更短[7-8]。因此,利用FPGA上的邏輯單元陣列來搭建TDC已經(jīng)成了近年來的主流方法。
本文提出了一種基于差分延遲線法的TDC電路,可在FPGA平臺上實(shí)現(xiàn)對微小時(shí)間的高精度測量及數(shù)字校準(zhǔn)。
差分延遲線的基本結(jié)構(gòu)如圖1所示,由2條時(shí)延不同的延遲線和一組觸發(fā)器組成,開始信號START與停止信號STOP上升沿之間的延遲即待測時(shí)間Δt。上延遲鏈的時(shí)延為τ1,下延遲鏈的時(shí)延為τ2,τ1略大于τ2。開始信號上升沿沿著上延遲線傳播,每延遲τ1到達(dá)一級觸發(fā)器的數(shù)據(jù)出入D端。同理,停止信號經(jīng)過τ2延遲到達(dá)觸發(fā)器的時(shí)鐘輸入CLK端。觸發(fā)器在停止信號上升沿到來時(shí)對此刻的開始信號進(jìn)行采樣,輸出“1”。每經(jīng)過一級延時(shí),兩信號上升沿之間的時(shí)間差減少τ1-τ2。直到經(jīng)過m級延遲后,停止信號的上升沿趕上并超前于開始信號,此時(shí)觸發(fā)器輸出“0”。觸發(fā)器組將產(chǎn)生低m位全1高位全0形式的溫度計(jì)結(jié)構(gòu)輸出,經(jīng)過譯碼后可以得到其中“1”的個(gè)數(shù),即m的值。從而得到微小時(shí)間差為
圖1 差分延遲線結(jié)構(gòu)圖
Δt=m(τ1-τ2)
(1)
測量分辨率σ為
σ=τ1-τ2
(2)
采用差分延遲線法尤其是采用ASIC實(shí)現(xiàn)的TDC,大多數(shù)采用PLL(phase locked loop)或DLL(delay locked loop)進(jìn)行校準(zhǔn)[3]。PLL的壓控振蕩器會引入固有的不穩(wěn)定性,并會引入相位誤差和積累,但無條件穩(wěn)定的延時(shí)鎖定環(huán)(DLL)結(jié)構(gòu)則不會累積相位誤差。而就DLL的實(shí)現(xiàn)方式而言,用數(shù)字電路實(shí)現(xiàn)在噪聲敏感度方面優(yōu)于用模擬電路實(shí)現(xiàn),且具有較低的功耗和抖動性能。因此,在時(shí)延補(bǔ)償和時(shí)鐘調(diào)整的應(yīng)用中,全數(shù)字 DLL結(jié)構(gòu)具有優(yōu)勢[8]。電路使用DLL對延遲鏈校準(zhǔn)的基本思路是鑒相器比較兩個(gè)信號的相位關(guān)系,通過電荷泵充放電改變壓控延時(shí)單元的電壓,將2條延遲鏈的總延時(shí)差鎖定到1個(gè)參考時(shí)鐘周期。
圖2給出了本文設(shè)計(jì)的數(shù)字DLL校準(zhǔn)電路。它由兩條N級延遲鏈,兩個(gè)N輸入選擇器,鑒相器和計(jì)數(shù)控制單元組成。A、B端輸入的信號上升沿之間的時(shí)間差為一個(gè)參考時(shí)鐘周期Tclk。首先控制選擇器都只輸入一個(gè)延遲單元,A、B信號分別經(jīng)過一個(gè)延遲單元后得到Adelay、Bdelay信號,鑒相器比較這兩個(gè)信號的到達(dá)先后。如果Adelay信號先到達(dá),則說明延遲時(shí)間太小,B信號不足以趕超A信號,需要增加延時(shí)單元,計(jì)數(shù)控制模塊使選擇器的輸入遞增;反之,則說明延遲時(shí)間太大,控制選擇器輸入遞減;當(dāng)兩信號同時(shí)到達(dá)時(shí),鑒相器輸出鎖定信號load鎖定選擇器的輸入,標(biāo)志校準(zhǔn)完成。計(jì)數(shù)器輸出此時(shí)選擇器的輸入個(gè)數(shù)n,即每條延遲鏈的級數(shù)。那么每一級延時(shí)的時(shí)延為Tclk/n。因此,TDC分辨率為
圖2 數(shù)字DLL結(jié)構(gòu)圖
σ=Tclk/n
(3)
σ值根據(jù)環(huán)境變化而變化,可以有效避免溫度、電壓以及不同電路元件工藝誤差帶來的影響,使TDC具有更高的通用性和更小的誤差。
鑒相器的設(shè)計(jì)采取圖3結(jié)構(gòu)。復(fù)位信號RST高電平有效,低電平時(shí)鑒相器開始比較Adelay和Bdelay輸入的先后順序。在Bdelay信號的上升沿時(shí)由第1個(gè)觸發(fā)器對Adelay采樣,輸出Q1;2個(gè)信號分別延時(shí)τ1和τ2之后,輸入第2個(gè)觸發(fā)器,此時(shí)是Adelay上升沿對Bdelay采樣,輸出Q2。Q1和Q2和輸入信號的相位關(guān)系如表1所示,可以通過查表確定計(jì)數(shù)模塊的狀態(tài),遞加時(shí)add信號高電平,遞減時(shí)dec高電平,一旦鎖定load信號高電平。
表1 鑒相器輸入相位關(guān)系
圖3 鑒相器
TDC的整體結(jié)構(gòu)如圖4所示。首先,輸入控制模塊基于參考時(shí)鐘產(chǎn)生2個(gè)信號用于校準(zhǔn),其上升沿的時(shí)差為1個(gè)參考周期Tclk。此時(shí)鑒相器未鎖定,load信號低電平,輸入圖5所示的選通門電路控制延時(shí)線處于校準(zhǔn)狀態(tài)。延遲線中前一級信號從A1端輸入,從A2端輸出到下一級延遲單元。load信號低電平時(shí),下三態(tài)門工作,每級延遲之后的信號從AMUX輸入多路選擇器,開始校準(zhǔn);校準(zhǔn)完成之后load高電平,輸出延遲級數(shù)n,上三態(tài)門工作,延遲鏈的各級信號從Adff進(jìn)入觸發(fā)器組,開始測量。測量完成后,將溫度計(jì)結(jié)構(gòu)數(shù)據(jù)送入譯碼電路讀出測量級數(shù)m。
圖4 TDC整體結(jié)構(gòu)圖
圖5 選通門電路
最終通過該TDC測量的時(shí)間間隔為
(4)
本文設(shè)計(jì)的電路在Xilinx公司的開發(fā)板上搭建并進(jìn)行測試。2條延遲線中的上延遲線使用邏輯非門串聯(lián),每2個(gè)邏輯非門組成一級延遲單元。由于FPGA中的簡單邏輯關(guān)系都是通過查找表實(shí)現(xiàn),因此2個(gè)邏輯非門通過調(diào)用LUT的原語實(shí)現(xiàn);下延遲線使用快速進(jìn)位鏈,其中的每個(gè)CARRY4作為一級延遲單元。CARRY4固有的級聯(lián)特性使多個(gè)CARRY4單元在底層呈現(xiàn)鏈狀分布,只需要約束第一個(gè)的位置,就可以自動形成如圖6所示相對均勻的鏈狀。布局布線之后,對電路進(jìn)行時(shí)序仿真,上延遲線的單級時(shí)延在240~260 ps之間,下延遲線的單級時(shí)延在80~90 ps之間。根據(jù)式(2),TDC的分辨率σ可以達(dá)到150~180 ps。
圖6 超前進(jìn)位鏈布局結(jié)果
該TDC是對小于等于頻率計(jì)1個(gè)參考時(shí)鐘周期的時(shí)間進(jìn)行測量,本設(shè)計(jì)的參考時(shí)鐘頻率為250 MHz,因此延遲線的最大延時(shí)需要大于4 ns,即
σ·N>4 ns
(5)
考慮到極端情況下σ=150 ps,N取27。
試驗(yàn)所用的TDC測試平臺如圖7,外部晶振的頻率50 MHZ,調(diào)用FPGA內(nèi)部的鎖相環(huán)IP核,將晶振信號倍頻4倍后產(chǎn)生頻率為250 MHz的Tclk,作為TDC電路的參考時(shí)鐘以及串口發(fā)送模塊的系統(tǒng)時(shí)鐘。同時(shí),利用CARRY4和和計(jì)數(shù)器搭建一個(gè)簡易的芯片內(nèi)部信號發(fā)生器。高頻的參考時(shí)鐘信號輸入信號發(fā)生器之后先經(jīng)過計(jì)數(shù)器分頻成低頻信號START,再經(jīng)過快速進(jìn)位鏈延時(shí)產(chǎn)生STOP信號。通過改變快速進(jìn)位鏈中CARRY4的個(gè)數(shù)即延時(shí)級數(shù),就可以產(chǎn)生多個(gè)延時(shí)不同時(shí)間間隔的待測信號。START和STOP信號一方面輸入TDC電路中進(jìn)行測量,一方面經(jīng)FPGA開發(fā)板的擴(kuò)展口輸出,由Keysight 53220A 350 MHz通用頻率計(jì)進(jìn)行測量。TDC的測量結(jié)果由串口傳輸至計(jì)算機(jī),與頻率計(jì)的測量結(jié)果進(jìn)行對比。
圖7 測試平臺結(jié)構(gòu)
測試平臺搭建完成之后,測量9組時(shí)間間隔不同的待測信號。在25 ℃室溫下進(jìn)行測量,測試結(jié)果如表2所示。
表2 TDC時(shí)間測量數(shù)據(jù) ps
分析數(shù)據(jù)可以得到單次測量絕對誤差最小小于3.5 ps,最大小于90 ps。
保持信號發(fā)生器中超前進(jìn)位鏈的延遲級數(shù)不變。在-10~30 ℃對延時(shí)單元時(shí)延進(jìn)行測量。從圖8可以得到,-10 ℃下延時(shí)單元的時(shí)延為154 ps,30 ℃時(shí)延為173 ps,在此范圍內(nèi)分辨率較穩(wěn)定。
圖8 延時(shí)單元時(shí)延溫變情況
本文提出一種基于FPGA的全數(shù)字差分延遲TDC補(bǔ)償電路并針對其精度誤差和穩(wěn)定度進(jìn)行了相關(guān)測試。經(jīng)測試,在動態(tài)測量范圍以及分辨率方面都具有較好表現(xiàn),且在0~30 ℃之間有較高的穩(wěn)定性。該電路已經(jīng)在高精度頻率計(jì)中使用,并為高精度TDC的ASIC集成化提供了設(shè)計(jì)思路及經(jīng)驗(yàn)。