FPGA實現基於時間內插法的TDC測量----第一章

前段時間有同學找我做這個畢業設計,一開始也不太瞭解TDC測量,只是聽學姐說是用FPGA實現時間測量的項目,第一直覺覺得不太難,所以就答應幫忙,所以此處給所有準備使用FPGA實現TDC的朋友們第一個建議,這個項目真的不太容易,請做好心理準備!
進入正題,首先是什麼是TDC和什麼是時間內插法?
TDC : Time To Digital Convertor
TDC的分類 : 起始停止計數型TDC、基於時間內插法、基於時間戳技術的TDC、基於時間放大技術的TDC
關於這些TDC技術具體是什麼請讀者朋友們自行百度,這裏由於篇幅有限個人時間有限,暫不一 一詳述,我想在這裏起到拋磚引玉的作用,把個人做這個項目中遇到的問題和解決的方法分享給大家,希望大家能在做相關項目時能儘快找到方向少走彎路。
時間內插法我的理解是:在FPGA中已有的時鐘的週期內部插入小的計數模塊(延遲鏈與時鐘相位),實現對已有的時鐘的一個時鐘週期再分割,使其有更小的刻度,這樣時鐘週期的測量精度也就能更高
時間內插法簡易原理圖
紅色的豎線即爲插入的延遲單元,這些延遲單元將一個時鐘週期平均等分,使得時鐘週期帶上了刻度,由於每個延遲鏈的延遲時間基本固定,所以可以精確的知道每個刻度代表的時間,從而實現實現更精確的測量。
如果你準備使用FPGA實現基於時間內插法的TDC測量的話,在這裏給大家幾個建議:
一、明確目標性能要求,使用FPGA一般可以做到10~200ps級別,其中10ps級別的代碼和實現方式屬於保密級別一般難以在網上直接找到方案和源代碼,45ps的延時用FPGA比較容易實現
二、使用FPGA的實現方案,如果是基於內部快速進位鏈(LE之間)實現的話,進位鏈延遲並不穩定關於這點,請大家查找和理解FPGA芯片內部的LAB和LE結構,不同的LAB之間有較長的連線造成比較大的延遲(現對於LE之間的連線延遲)需要使用一定的算法進行修正,並且FPGA芯片內部的延遲還很容易受到外界環境(溫度,供電電壓)的影響,出現比較大的波動,這個也需要算法去修正。
三、FPGA實現時間內插法的TDC測量的話,使用邏輯進位鏈和使用時鐘相位內插法均可以實現,其中時鐘相位內插法實現更爲簡單,但是精度受移動相位的時鐘多少的限制,一般使用PLL產生不同相位延遲的時鐘。
四、如果是工程應用TDC測量的話,建議直接買德國MAMC的TDC測量芯片GP-21系列可以穩定測量精度爲45ps,每片芯片的售價20元左右,高端的GP-X系列精度10ps,售價2000元左右

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章