SeruTek 4通道 TDC 简介与测试

SeruTek 4通道TDC简介与测试

–基于Xilinx 7 Series,面向ToF应用

简介

SeruTek TDC 是上海瑟如电子公司开发的一款基于Xilinx 7系列FPGA/SoC的TDCIP核。SeruTek TDC 采用多通道时间戳机制,对各个通道输入的脉冲记录其时间戳。时间戳分为两部分:粗计数和精计数。粗计数由FPGA内部实现的计数器得到,精密计数由FPGA内部的进位链组成的延时链得到。在采用类似的粗、精计数组合的技术方法中,最大的问题在于输入脉冲有可能非常靠近粗计数器时钟的上升沿,从而不满足其Flip-Flop register的setup时序要求并导致非稳态。非稳态的产生使得粗计数的值极有可能发生单周期跳变,从而严重影响计数精度。SeruTek TDC采用自研的独有技术完美解决了这一问题,从而大大提升了TDC的实用性。此外,SeruTek
TDC还具有片上自动码宽度自动校准功能,并采取了多种技术手段减小了通道之间的时延差变化波动,保证了在结温变化时,通道之间的时延差小于20ps。

高精度、大量程、高速率、低通道差、多通道等优异的特性使得SeruTek广泛适用于通用计数器领域以及需要用到脉冲飞行时间(ToF)的应用,如激光测距、激光雷达、PET、超声波等应用。SeruTek TDC采用标准的AXI、AXIS接口,可与Zynq A9硬核以及Microblaze软核集成,实现高速数据传输。

SeruTek TDC的主要技术特性如下:

One-shot RMS 精度 < 25ps
最大量程 约70年
单通道最小触发间隔(dead time) 14 ns
最小可测时间间隔 单通道:14ns 将start、stop信号分布在不同通道上可以测量任意小的时间间隔
通道间一致性 < 20 ps(外部校准后,时延差变化范围)
突发触发速率(burst hit rate) 70MHz 突发速率最大样本数受限于片上FIFO的容量。标准情况下为2048个点,可根据使用芯片容量定制。
连续触发速率 取决于采用的readout机制,当使用DMA时,单通道连续触发速率>30MSa/s。当配合riffa实现PCIE传输时,可在PCIE2.0 X8配置下实现多通道总和180Msa/s的连续采样速率。

测试设置

IP设计

示例程序

为了方便用户对4通道TDC
IP进行快速测试与评估,我们开发了基于黑金AX7020的最小示例程序。

设计框图

示例的Vivado 设计框图如下图:
SeruTek 4通道 TDC 简介与测试

4通道TDC有两个AXI-lite接口,分别为CLKCMD_AXI以及FIFO_AXI,它们以及附属的时钟和重置信号都可以通过Vivado的自动连接功能进行快速连接。Zynq PS 通过CLKCMD_AXI对TDC IP进行配置和控制,通过FIFO_AXI读取存入FIFO的测量结果。与IP核一起发布的SDK函数库中提供了通过这两个接口进行控制和读取的函数。

布局与资源利用

该示例的所使用资源在器件中的布局如下图:

SeruTek 4通道 TDC 简介与测试

4通道TDC都放置在X1Y2时钟域。从器件图可见部分BRAM被用作了TDC的FIFO。每通道FIFO的大小决定了该通道能够以最大测量速率(约70Msa/s)测量的点数。在示例中,每通道配有256点FIFO。FIFO大小可定制。

软硬件环境

测试硬件组成:

  • 一块黑金AX7020开发板,芯片型号为XC7Z020-CLG400-2;

  • 一块Si5341 开发板,作为定时触发信号源;

测试软件组成:

  • Vivado Suit 2017.4

  • SeruTek sdk library r1.1 (SDK 软件库,用于TDC核配置、控制以及原始数据解析)
    SeruTek 4通道 TDC 简介与测试

基于Zynq 7020-400clg的4通道TDC其进位链位于X1Y2 时钟区(clock region)。该区的4路CCIO(时钟IO)都位于扩展口J11。从CCIO引入hit信号有助于降低测量抖动以及降低通道间的时延波动。但J11扩展口至有3个GND
PIN脚,因此测试时只能引入3路hit信号。信号通过SMA转杜邦线接入AX7020开发板的扩展端口(2.54mm)。需要注意,从杜邦线引入hit信号要注意信号线之间的间距,否则容易发生串扰。建议在使用多通道IP时新设计PCB(或底板),在设计时需对时钟信号、hit信号的阻抗匹配、串扰抑制等问题多加考虑,以保证最优的测量性能。

时钟设置

为了模拟用户真实的使用场景,TDC的时钟源与定时信号的时钟源为独立时钟源,并不同源。因此测量结果会引入两个时钟源之间的频差及相位抖动。免费评估版的SeruTek TDC的参考时钟输入为50MHz的单端输入。在黑金AX7020开发板上配置有50MHz的有源晶振,通过U18引脚引入FPGA。SeruTek TDC采用该时钟信号作为TDC测量的参考信号。用户可定制TDC
core时钟信号输入的频率与格式。

Si5341 EVB是一款时钟发生器评估板,具备10组时钟输出,时钟频率
120Hz-1028MHz,输出可配置成LVCOMS或LVDS等不同的格式,便于多通道TDC的测试与评估。测试时,基于Si5431 EVB板载的48MHz晶振,产生不同频率的触发定时信号,作为SeruTek TDC的hit信号。

测试内容

在之前发布的《SeruTek双通道TDC测试报告》已经对Serutek TDC的各项指标进行了详尽的测试,如需了解SeruTek TDC在不同hit速率下的表现,请参阅该报告。

本次测试主要考察项目之一是考察SeruTek TDC 4通道 IP核各通道之间的时延差波动。Hit信号的走线长度很难保证精确一致,这是因为hit信号线的长度是FPGA底板走线、核心板走线以及FPGA内部走线长度之和。因此当产品定型后,需要通过外部校准手段,校准各通道间的时延差。但在TDC使用过程中,难以通过外部校准对时延差波动进行动态的补偿。因此,通道间的时延差波动对最终测时的准确度有着非常重要的影响。

第二个考察项为高hit速率下,SeruTek TDC 4通道IP的抖动性能,验证在hit速率限值附近,SeruTek 4通道TDC仍然能够正常运行。

测试结果 – 70.2345MHz

被测信号为Si5341 EVB输出的3路LVCMOS25信号,其中互补(相位相差180度)信号。Si5341设置的输出频率为70.2345MHz,以下截图是各项测试内容的计算结果:

为了减少篇幅,便于阅读,现将通道1的各项数据绘制如下,如需完整数据,和联系瑟如电子,提供原始数据以及分析的python程序。
SeruTek 4通道 TDC 简介与测试

下图为串口输出的原始时间戳数据截图。第一列为通道号,第二列为时间戳,单位是ns(小数点前一位表示ns)。

SeruTek 4通道 TDC 简介与测试

时间戳轨迹

SeruTek 4通道 TDC 简介与测试

测量残差

SeruTek 4通道 TDC 简介与测试

邻差序列

SeruTek 4通道 TDC 简介与测试

理想情况下,70.2345MHz对应的时钟周期为14238.02ps。通道1、2测得的时钟周期均值都为14238.13ps。由于hit速率高达70MHz,因此每通道采样点的数量上限为每通道FIFO的深度(256点)。可以看到,256点测量平均值能达到1皮秒的测时精度

通道间时延变化测试

多通道测量能力是SeruTek TDC极为重要的特性,不仅拓展了其使用场景,更大大简化了多通道TDC的部署与校准流程。对于SeruTek TDC IP而言,由于每个通道hit信号、时钟信号的走线长度不同,各通道间存在时延差。这些时延差是否固定,它们随结温变化的波动幅度关系到多通道TDC测量值的可信程度。在SeruTek TDC内部,针对重要的信号如时钟信号等都采用了低时延斜率(skew)布线资源,以减小通道时延差,并控制走线长度、减小结温对时延的影响。

需要提出的是,由于AX7020 J11端口只有3个GND 引脚,所以我们将两条SMA转杜邦线的地线焊在了一起。这种形式在频率增大时容易发生窜扰,所以hit频率不宜太高。

采取多次断电重启FPGA开发板的方式,验证每次重启后对相同hit时钟信号的时差测量值。下表列出了6次断电启动后,对2组(4路)1.23456M信号进行测量,每组信号是互补信号(相位相差180度)。得到时间戳序列,并将通道2-通道1,得到通道差序列,每个通道838个点,求平均值及标准差,录表于下:

通道间时差平均值 – 6次上电循环

Mean(Chan2-Chan1) (ps) Mean(Chan3-Chan1) (ps) Mean(Chan4-Chan1) (ps)
1 405037.21(-404964.49) 404818.52 -324.46
2 405037.03 404815.63( 1214817.33) -323.54
3 405032.69(-404969.01) 404814.42 -323.48
4 405035.42 404814.57(1214816.27) -325.95
5 405035.29(-404966.41) 404813.58 -322.80
6 405033.65(-404968.05) 404813.46 -321.83

通道间时差标准差 – 6次上电循环

Std(Chan2-Chan1) (ps) Std(Chan3-Chan1) (ps) Std(Chan4-Chan1) (ps)
1 19.04 19.44 13.87
2 20.23 18.48 14.33
3 19.92 19.67 13.37
4 20.95 17.71 13.98
5 20.85 18.81 13.70
6 19.22 19.50 13.97

由于测试中hit信号是连续的时钟信号,而TDC使能时刻相对于连续时钟信号的相位是随机的,所以TDC使能后,有可能hit1先触发,也有可能hit2先触发。Hit2先触发时,通道2-通道1的时差值就为负值,为了便于比较,可加减1个周期的时差(测得时差约为810001.7)。在实际使用时,hit信号都是受控的时序信号,因此只要保证在使能TDC后再产生hit信号就不会产生测试中周期模糊度的问题。

从测试结果可以看出,在6次断电启动的过程中,各通道间时延差变化小于6ps,能够满足绝大部分应用的需求。