日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPGA控制TDC-GPX2时间间隔测量(三)

發布時間:2024/1/8 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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個時鐘周期(如下所示):

stop_test #(.stop_time(4'd10), //脈沖間隔.stop_continue(4'd3) //每個脈沖高電平所持續的時間 ) u1_stop_test(.sys_clk(sys_clk),.sys_rst_n(sys_rst_n),.stop_en(key2_value),.stop_pulse(stop_pulse3) );

所以時間間隔應該是(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個時間間隔,代碼如下所示:

stop_test #(.stop_time(16'd35),.stop_continue(16'd3) ) u1_stop_test(.sys_clk(sys_clk),.sys_rst_n(sys_rst_n),.stop_en(key2_value),.stop_pulse(stop_pulse3) );

測量結果如下所示:
(時間間隔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时间间隔测量(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。