FPGA控制TDC-GPX2时间间隔测量(三)
前兩篇分別介紹了TDC-GPX2的使用詳情以及FPGA控制代碼,本文將會該處測量精度以及操作過程
測試平臺
由于目前沒有高精度時間間隔測量的儀器在身邊(之前還有過一臺SR620,現在沒有了),所以將會采用FPGA自身產生兩個可控的時間間隔,最后將測量的結果通過ILA打印出來。
啟動測量
開始測量之前,我們先檢查硬件連接,確保通信引腳(SCK MOSI MISO SSN INTERRUPT)、參考時鐘引腳(CLK)、脈沖觸發引腳(STOP1)順利連接到FPGA的引腳上,之后啟動VIVADO,生成BIT流文件之后下載到芯片中,此時ILA的顯示界面如下所示:
目前所有的值都是初始值,然后我們按下啟動測試按鍵,再來看看ILA的界面:
此時狀態已經跳到狀態5(等待狀態),數據校驗值和預期的一致,目前結果值還沒有,因為還沒有給STOP脈沖。下面我們給出STOP脈沖,根據程序中所給的stop脈沖間距是10個時鐘周期(如下所示):
所以時間間隔應該是(1s/50M)×10=200ns,下面我們給入STOP信號,ILA顯示如下:
上述結果第一個參數表示REFID,結果相差1,說明兩個STOP脈沖處于相鄰的兩個時鐘周期內,在分析第二個參數,STOP1為00efc2,用十進制表示就是61378ps=61.378ns,STOP2為00ef85,用十進制表示就是61317ps=61.317ns,按照前文所述的計算公式,得到的時間間隔就是:200-61.378+31.317=199.939,測量誤差為199.939-200=0.061ns=61ps,下面我們多測幾組數據如下所示:
(時間間隔:200ns)
上圖中的誤差為13ps;
上圖中的誤差為10ps;
上圖中的誤差為23ps;
接下來我們更改時間間隔為35個時間間隔,代碼如下所示:
測量結果如下所示:
(時間間隔700ns)
上圖所測的時間間隔為:700.096ns,誤差96ps。
上圖所測的時間間隔為:700.130,誤差130ps。
上圖所測的時間間隔為:700.056,誤差56ps。
思考
上面的第二組數據明顯誤差增大,甚至達到百ps級別,我想這個和基準頻率源有關,因為FPGA采用晶振作為時鐘源,當周期數提高后,對應的誤差也會增大,這就是誤差的主要來源。其次,FPGA的DCM時鐘管理單元是否可靠還有待考究。
結語
本次實驗介紹就到此結束了,如果大家有更好的建議或者本文檔寫的不到之處,歡迎評論區指出。
以下是本實驗的工程鏈接,
CSDN資源鏈接:
FPGA控制TDC_GPX2時間間隔測量
百度網盤鏈接:
鏈接:https://pan.baidu.com/s/1vWyToTMimA1mgutUf7LGkw?pwd=1146
提取碼:1146
總結
以上是生活随笔為你收集整理的FPGA控制TDC-GPX2时间间隔测量(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蜜蜂遗传学在社会传播中塑造肠道微生物群的
- 下一篇: [前端之旅] - 01 开端 (持续更新