朱文松(中國電子科技集團公司第三十八研究所,合肥 230088)
?
基于FPGA的多相位時鐘TDC設計
朱文松
(中國電子科技集團公司第三十八研究所,合肥 230088)
摘 要:人類對時間測量最早的需求來源于天文學。天文學一個最重要的任務就是測量時間:從確定日的長短、四季的變化,到制定歷法。時至今日,測量時間的需求已經遠遠超過了天文的范疇。一般來說,人類實際用到的時間都是相對與某一參考的,即都是時間間隔。時間數字轉換是測量時間間隔的基本手段。本文介紹了一種利用FPGA實現的高精度多相位時鐘TDC。主要介紹了該TDC設計的三個關鍵問題:穩定的超高速計數器的實現、高精度鑒相器的實現、以及多時鐘域數據的處理。最后給出了測試結果。
關鍵詞:時間數字轉換;TDC;鑒相器;時間內插
時間是物質存在和運動的基本屬性之一,精密的時間測量是科學研究、工程試驗的基本和有效手段,精密的時間測量技術不僅在高能物理、相對論物理等基礎研究領域具有重要作用,在諸如航天、雷達、無線通訊、導航測繪以及醫療等工程領域也被普遍使用。如高能物理中的固定靶和對撞試驗、飛行時間譜儀、核醫療設備PET、雷達測距、激光測距等都離不開高精密的時間測量技術,其對時間測量的精度達到納秒甚至皮秒量級。一般TDC實現辦法分為模擬和數字兩種。模擬的方法包括電流積分技術和時間放大技術,這是早期的時間測量技術,由于需要模擬電路來實現,集成度,穩定性、精度等已經不能滿足要求。數字的方法主要包括計數器技術、游標卡尺技術、時間內插技術等。
在FPGA中實現TDC某種程度上可以理解成是利用FPGA對開始、停止信號進行采樣并記錄采到的兩個信號的時間間隔。FPGA中時鐘允許的最高頻率是有限的,利用計數器方法實現TDC的時候,相當于開始、停止信號的采樣間隔是一個時鐘周期,這樣在一個時鐘周期內信號何時到達的信息便無法被讀取出來。為了挖掘出單個時鐘周期內部的時間信息,一個思路便是利用不同相位的時鐘去對同一個HIT信號采樣,這樣相當于把采樣周期變為以前的N分之一,而各個移相的時鐘還是工作在FPGA允許的頻率下。利用多相位時鐘實現內插法TDC最大的挑戰是鑒相精度和多時鐘域數據同步。
1.1鑒相器
對一個N相位時鐘TDC,HIT信號到達N個D觸發器,這N個D觸發器各自工作在自己的時鐘下。假設理想情況下,不考慮任何延遲量,以一個八相位時鐘為例,則對應八個D觸發器,HIT在到來后,這八個D觸發會依據自身的時鐘對HIT進行采樣,將這八個D觸發器的輸出在各自時鐘下進行Level-to-Pulse轉換一下,使得高電平只保留一個時鐘周期的p0、p1、p2、p3、p4、p5、p6、p7, HIT信號到來的不同的時間反映到p0、p1、p2、p3、p4、p5、p6、p7出現的先后順序的不同,這個出現的順序反應了HIT在八個相位時鐘里哪個區間到來。即完成了簽相的功能。
上述的分析是假定理想的情況下作出的。簽相器的精度直接決定了TDC的精度,簽相器的精度是目前這種TDC設計的瓶頸所在。由于HIT信號進入FPGA后要扇出給不同的D觸發器,HIT信號到達各個D觸發的時間不可能完全一樣,同時由于八相位時鐘的產生一般是用FPGA內部的PLL或DLL等資源給出,通過全局時鐘資源送到FPGA內部的邏輯資源,這個時間也存在差異。綜上分析,要提高簽相器的工作性能,必須要盡量做到HIT信號扇出到各個D觸發器的時間盡量一致,即HIT到各觸發器之間的Skew越小越好,這個可以通過對FPGA開發軟件,設置約束文件等完成。另外各個相位的時鐘到達各自D觸發器的Skew也要越小越好,這個可以通過對FPGA時鐘管理資源的設置完成。
1.2多相位時鐘同步
鑒相器輸出的反映HIT信號到來時間的p0、p1、p2、p3、p4、p5、p6、p7信號。為了解決同步問題,我們設計了多相位計數器,原理與文獻中不同的是,這個八相位計數器的頻率只限于FPGA內核的速度,而不在受建立時間的限制,從而解決了文獻中的超高速計數器的穩定性問題。我們設計時用clk7去抓clk0的輸出,則建立時間為7/8時鐘周期,用clk6去抓clk7輸出的反,建立時間為7/8時鐘周期,同理類似,其他觸發器的建立時間也是7/8時鐘周期。這樣多相位時鐘的工作頻率就只受限于FPGA的內核性能。
多相位時鐘TDC在Altera公司Cyclone III芯片中實現, HIT信號由普通管腳輸入,邏輯設計利用verilog硬件描述語言。在對TDC測試中,TDC所能跑到的最高速度為350MHZ,主要受限于HIT到鑒相器中8個D觸發器之間的Skew,當速度在提高時,會出現丟碼現象,在350MHZ以下,TDC工作正常,沒有丟碼現象,但是BIN寬的不均勻性能夠觀察到。該TDC的精度357ps。
對TDC的測試主要是BIN寬的測試,測試方法是利用安捷倫任意信號發生器(AFG3252)隨機產生任意脈沖,測試讀取的TDC數據的后幾位(8相位對應最后3bit),這后幾位數據反映了HIT信號落在時鐘中的哪個區間,表明TDC的BIN寬信息。上圖反映的是對TDC添加不同約束測試的結果,當約束達到要求后,可以看出沒有丟碼現象,BIN的均勻性較好。
論文介紹了一種采用多相位時鐘TDC設計,采用多相位時鐘實現時間內插。這種TDC實現簡單,資源占用較少,性能優良。該TDC設計的關鍵在于鑒相精度和多時鐘域數據同步,論文給出了提高鑒相器精度的思路和多時鐘域數據同步的方法。最后在Cyclone III中實現了該TDC,并給出測試結果。
參考文獻:
[1]靳釗,喬麗萍,王聰華,王江安,郭晨.一種占空比可調的新型整數半整數分頻器設計[J].電視技術,2013(13).
[2]陳鑫,吳寧.數字鎖相環的最優化設計[J].南京航空航天大學學報,2012(01).
DOI:10.16640/j.cnki.37-1222/t.2016.13.236