Xilinx Ultrascale 多通道高速TDC
SeruTek UltraTDC
– 基于Xilinx Ultrascale+ MPSoc的多通道高精度TDC
版本 1.1
2021年3月29日
簡介
SeruTek UltraTDC 是上海瑟如電子近期推出的高精度、多通道TDC
IP核。該IP核適用于Xilinx Ultrascale/Ultrascale+ 架構的多款FPGA/SoC器件。為了便于客戶能夠快速評估該IP核的性能,掌握IP核的使用方法,我們基于Alinx黑金的ZU3EG開發板,制作了8通道TDC的演示套件ZU3D8。
ZU3D8在ZU3EG MPSoc上集成了8路時間戳單元、自校準模塊、時間戳解析、時差計算模塊以及用于測試的脈沖序列產生模塊,使用開發板PL側的200MHz差分時鐘作為TDC部分的時鐘源;利用40pin
2.54mm擴展接口上的IO接口作為測量脈沖輸入接口。測量得到的時間戳或時差數據為標準的AXI Stream接口。
ZU3D8 每個通道的時間戳精度典型值為10ps,時差測量精度優于10 ps,每通道輸入脈沖最小間隔14ns(最小可定制為6.25ns),相當于每個通道具有最大70MSPS的測量能力。SeRuTDC能夠提供幾乎無限的時間戳測量范圍,默認配置下時間戳的表示范圍約為上電初始化后的60年,如有需要還可進一步擴展。
演示程序中通過,TDC IP輸出的測量數據緩存在PL側的AXI Stream FIFO中,PS(Arm A53)從AXI Stream FIFO讀取測量結果,再通過串口打印輸出。TDC測量結果進行復雜的處理算法,用戶可以在PS側通過C/C++實現,也可以在PL測編寫處理模塊,實現低延遲的高速數據處理。當然,用戶也可自行適配UDP或PCIE接口,實現測量數據的高速轉發。
ZU3D8 TDC演示方案提供了開箱即用的ToF快速驗證評估平臺,只需少量的修改,就可應用于客戶的定制環境,可極大地加快TDC系統設計,加速產品上市。ZU3D8的目標應用包括:多通道時間間隔計數、激光脈沖測距、質譜分析、醫學圖像、半導體自動化測試及精密時間同步等領域。
特點與優勢
| 集成化的多通道測量 | 在ZU3EG/CG上可部署多達12-14通道 在ZU4EG/CG上可部署多達20-24通道 在ZU15EG上可部署多達64通道 |
| 高精度高速率時間測量 | 時間戳精度典型值:10ps; 時差精度典型值 : 10ps; 同一通道最小脈沖間隔:14ns (標準版) 同一通道最小脈沖間隔:6.25ns (高速版) 不同通道間沒有最小脈沖間隔限制。 |
| 強大的持續測量能力 | 默認配置下,每一路TDC年的時間戳范圍高達約60年。 默認配置下,時間戳的持續讀出速率高達33Msa/s(每秒3千3百萬條,8通道總合),最高配置下可達250Msa/s。 配備PL側的鐘差計算模塊,可在線實時計算stop脈沖與start脈沖之間的時間差。標準配置下,可達50Msa/s的持續輸出速率。 |
| 片上校準 | 當TDC使用環境溫度發生大幅變化,對延遲鏈的BIN Size進行校準有利于提高測量準確度。本演示方案利用片上集成的PS處理單元對TDC延遲鏈的BIN Size進行校準,無需借助外部校準信號、外部計算單元。 |
| 基于IP的設計 便于用戶增加自定義邏輯 | 本演示方案包括了PS控制單元、8通道TDC、時間戳解析單元、時差計算單元。并預留了多個clock region,用戶可利用這些資源實現用戶自己的邏輯,如在PL側實現高速的時差分析處理單元,或實現基于UDP或PCIE的高速轉發模塊。 除了輸出時差數據,用戶還可以選擇輸出時間戳數據,以實現更多應用。 |
| 靈活配置,按需定制 | 可定制TDC通道數、時間戳量程、數據吐出速率、最小脈沖間隔等參數。 |
應用領域
車載多線激光雷達
激光測距
醫學成像(PET)
半導體自動化測試
單光子計數
質譜分析
高能物理
精密時間同步
時間戳格式
默認時間戳長度為12字節,最高位的一個字節為通道標識,用來表示產生該時間戳的通道編號。在ZU3D8中,通道編號范圍是1-8。在時差計算模塊中,通道1為作為start信號,通道2-8作為stop信號。
時間戳的低9個字節用來表示時間戳的值,數據類型為無符號整型。最小位LSB對應的單位是皮秒ps。
| 通道號 | 無定義 | 時間戳,無符號整型,LSB ps |
時差數據格式
時差數據在這里指通道2-8測得的時間戳相對通道1測得的時間戳的差值。時差數據長度可配置為32bit
或64bit。其中8bit用來表示時差數據的通道號。時差計算模塊默認通道1為start信號,并計算通道2-32相對于通道1的時間差。如果通道號為2,那表示該時差是通道2的時間戳-通道1時間戳得到的。
當時差數據長度為32bit時,剩余的24
bit數據用來表示實際的時間差,數據格式為有符號的整型,單位是ps。能夠表示的時間差范圍約為8.38微秒,用真空中的光速換算得到對應的測距范圍大約為2500米。
| 通道號 | 時間差,有符號整型,LSB ps |
當時差數據長度為64bit時,剩余的56bit數據用來表示實際的時間差,數據格式為有符號的整型,單位是ps。能夠表示的時間差范圍約為36000秒,用真空中的光速換算得到對應的測距范圍大約為10億公里。
| 通道號 | 時間差,有符號整型,LSB ps |
演示方案與測試
ZU3D8 示例方案設計:
模塊圖設計主要的組成部分為PS,8通道TDC IP,Clock Wizard 以及AXI Stream FIFO。其中Clock Wizard將外部時鐘信號轉化為TDC
所需的100MHz時鐘,用戶可以根據所用開發板的時鐘,更改clk
wiz的設置和輸入時鐘的管腳。TDC IP的8路脈沖輸入引出為外部接口,用戶可以根據實際情況修改管腳約束。TDC IP具有5路AXI-Lite配置總線,用來對內部各個模塊進行配置,這些總線通過AXI Interconnection 連接到 PS。
示例中配備了3個AXI Stream FIFO, 用來將不同的測量數據讀到PS中。FIFO0用來讀取原始測量數據,原始測量數據的格式不開放,但提供SDK軟件包,可以調用解碼函數,在PS中完成對原始數據的解碼,從而得到96bit的時間戳。同時,IP 內部的自校準模塊也需要用到FIFO0,與PS配合,一起完成自校準bin size的功能。
FIFO1用來讀取PL直接解碼輸出的96bit時間戳。相比較PS軟件碼的方式,PL解碼延遲極低(約10個clock),適合超高速應用。用戶也可自行編寫PL中的模塊,替代FIFO1,對時間戳進行高速處理。
FIFO2讀取時間差的輸出結果,也就是2-8通道相對于通道1的時間戳的時間差。
測試數據
這里以示例工程為基礎,對通道1、2進行簡單的測試,以驗證其高速測量能力,并驗證其測試精度。
TDC IP的時鐘為100MHz,是黑金開發板上的200MHz差分晶振,經過clock wiz
生成。測試信號使用Silicon labs的Si5341 時鐘產生器開發板生成,生成信號的頻率可以通過ClockBuilder
Pro在上位機進行配置。測試信號通過SMA轉杜邦線接入開發板的2.54mm 擴展口。
由于輸入脈沖與TDC時鐘源為不同源信號,為了避免兩個晶振的頻率差、頻率穩定度、頻率漂移過大地影響測試精度,輸入通道1、通道2的兩路信號設置為同相信號(相位基本一致),從而使得通道2相對于通道1的時間差較小,減小晶振對通道間時差測量的影響。當測量時間時間較大時,TDC的時鐘源必須是高穩時鐘,否則將導致測量結果包含較大的抖動和誤差。
70.321M測試
測試脈沖頻率:70.321MHz
測試目的:驗證高速測量能力,評估測量精度
通道1:
根據通道1測量得到的256個時間戳,計算兩個時間戳的前后時間差,得到以下結果:
平均時間間隔:14220.55 ps, 對應的脈沖頻率測量結果為:70.3207M
時間間隔測量的RMS為9.24 ps
通道2:
根據通道2測量得到的256個時間戳,計算兩個時間戳的前后時間差,得到以下結果:
平均時間間隔:14220.51 ps, 對應的脈沖頻率測量結果為:70.3209M
時間間隔測量的RMS為10.03 ps
通道2-通道1:
將通道2與通道1的時間差一一對應地相減,得到兩通道間脈沖信號的時間差,如下圖
時間差的RMS為:8.75ps。
ZU3D8資源利用
總結
以上是生活随笔為你收集整理的Xilinx Ultrascale 多通道高速TDC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专科毕业生该何去何从?
- 下一篇: java fmal_fma、fmaf、f