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的容量。可根据使用芯片容量定制。
连续触发速率取决于采用的readout机制,当使用DMA时,单通道连续触发速率>30MSa/s。当配合riffa实现PCIE传输时,可在PCIE2.0 X8配置下实现多通道总和180Msa/s的连续采样速率。

测试设置

IP设计

示例程序

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

设计框图

示例的Vivado 设计框图如下图:
在这里插入图片描述

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

布局与资源利用

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

在这里插入图片描述

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核配置、控制以及原始数据解析)
    在这里插入图片描述

基于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速率下的表现,请参阅该报告。

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

本次测试的第二个测试项目为不同通道,不同频率下,窜扰对测量精度的影响。第一轮测试,3个通道都输入70.12345KHz的hit 信号,作为基准测试。第二轮,将其中一路信号改为7.12345MHz。由于本次测试采用杜邦线将hit信号引入扩展口,扩展口引脚及走线也没有充分考虑信号屏蔽,所以当信号频率提升后,高频hit信号对低频hit信号的干扰作用非常明显。

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

高hit速率测试结果 – 70.2345MHz

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

为了减少篇幅,便于阅读,现将通道1的各项数据绘制如下,如需完整数据,和联系瑟如电子,提供原始数据以及分析的python程序。
在这里插入图片描述

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

在这里插入图片描述

时间戳轨迹

在这里插入图片描述

测量残差

在这里插入图片描述

邻差序列

在这里插入图片描述

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

通道窜扰测试

第一轮测试,70.12345KHz基准测试

在第一轮测试中,3路hit信号,都是Si5341产生的70.12345KHz时钟信号。其中tdc2与tdc3是一组互补信号(相位相差180度)。由于4通道TDC示例程序采用了CCIO引入hit信号,因此测量结果的抖动得到了降低。3路hit信号的测试结果残差的标准差都小于15 ps。
在这里插入图片描述

第二轮测试,2路70.12345KHz, 1路7.12345MHz

在第二轮测试中,将1路信号(tdc1)改为7.12345MHz, 其余2路仍旧为一组70.12345KHz的互补信号。7.12345MHz输入FPGA的引脚离其中一路70.12345KHz的信号较近,离另外一路较远。从以下计算结果截图中可以看出,离7.12345MHz近的那路低频hit信号(tdc2)所受干扰较大,残差的标准差从13.8 ps 增大到了32.89 ps。 而远的那一路受影响较小,只增大到了16.92 ps。该测试表明,良好的信号与时钟走线设计,是保证TDC精度的关键。设计者需要在接地、信号屏蔽、阻抗匹配等多个方面保证hit信号之间、hit信号与时钟信号之间的窜扰最低。

而且通过对4通道TDC的测试可以看出,现有开发板并未引出足够多的CCIO引脚,很难有效的对大于4通道的TDC IP核进行评估与测试。后续SeruTek将生产多通道TDC SOM板,提供电路板、FPGA、软件一体化的解决方案,降低用户使用多通道TDC的门槛。
在这里插入图片描述

通道间时延变化测试

多通道测量能力是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)
1405037.21(-404964.49)404818.52-324.46
2405037.03404815.63( 1214817.33)-323.54
3405032.69(-404969.01)404814.42-323.48
4405035.42404814.57(1214816.27)-325.95
5405035.29(-404966.41)404813.58-322.80
6405033.65(-404968.05)404813.46-321.83
通道间时差标准差 – 6次上电循环
Std(Chan2-Chan1) (ps)Std(Chan3-Chan1) (ps)Std(Chan4-Chan1) (ps)
119.0419.4413.87
220.2318.4814.33
319.9219.6713.37
420.9517.7113.98
520.8518.8113.70
619.2219.5013.97

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

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

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值