SeruTek 双通道TDC测试报告

SeruTek 双通道TDC测试报告

–基于Xilinx 7 Series 面向ToF应用

简介

SeruTek TDC 是一款基于Xilinx 7系列FPGA/SoC的TDC IP核。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现开放免费评估试用,该IP核适用于Zynq(基于Artix的7010-7020)及Artix系列,理论上也可用于Spartan-7(未经测试)。如需更多通道或应用于更高阶的型号,请搜索SeruTek或瑟如电子了解详情。

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的连续采样速率。

实验设置

软硬件环境

测试硬件组成:

  • 一块黑金AX7103开发板,芯片型号为XC7A100T-2FGG484;

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

测试软件组成:

  • Vivado Suit 2017.4

  • SeruTek sdk library r0.9 (SDK 软件库,用于TDC核配置、控制以及原始数据解析)

SeruTek 双通道TDC IP测试设置

在这里插入图片描述

两路hit信号通过SMA-转杜邦线接入AX7103开发板的扩展端口(2.54mm)。这样的方式并不是最优的,但有助于了解TDC
IP在一般条件下的性能。因为2.54mm扩展口并没有经过阻抗匹配,串扰抑制能力也一般,如果客户新设计电路板,需要对时钟信号、hit信号的阻抗匹配、串扰抑制等问题多加考虑。

时钟设置

为了模拟用户真实的使用场景,TDC的时钟源与定时信号的时钟源为独立时钟源,并不同源。因此测量结果会引入两个时钟源之间的频差及相位抖动。免费评估版的SeruTek TDC的参考时钟输入为50MHz的单端输入,在AX7103上配置有200MHz的有源差分晶振,SiT9102-200,其抖动较低,约为1ps。通过MMCM模块将此差分时钟信号转换为50MHz单端时钟输入到SeruTek TDC。需要注意的是,该方法并非最优,增加的MMCM将引入额外的抖动。用户可定制TDC core的时钟输入。

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

测试内容

本测试主要考察SeruTek TDC在不用频率的触发信号下的测量结果。主要考察测量结果的抖动、测量结果的准确度以及通道之间的时延差的波动。

TDC的一大应用领域是飞行时间测量ToF。下表是不同的hit频率下,hit信号之间的时间间隔对应光速行进的距离。由于10倍数频率与TDC参考时钟50MHz有固定的相位关系,即使两个时钟不同源,但当高速测量时(hit频率较高时),测量值的精计数值可能集中在某些bin上,表现为极低的测量抖动。然而这种情况并不能全面表征TDC在整个测量范围内的性能,因此我们特意在10倍数频率上随意增加了频率分量,以求在精密计数环节增加足够多的变化,以便全面考察TDC的性能。

光行进距离(真空)对应的Hit信号频率测试时选取的频率
30000m10KHz10.2345K
3000m100KHz100.23456K
300m1MHz1.23456M
30m10MHz10.23456M
4.3m70MHz70.23456M

频差的影响

由于TDC参考时钟与Hit信号来源于不同的晶振,因此晶振之间的频率差会影响到测量结果,造成测量值与真值的偏差,偏差可以通过下列公式估算:

Δ t =   Δ f ∗ ( t n − t n − 1 ) \mathrm{\Delta}t = \ \mathrm{\Delta}f*(t_{n} - t_{n - 1}) Δt= Δf(tntn1)

其中 ( t n − t n − 1 ) (t_{n} - t_{n - 1}) (tntn1)是两次hit间隔的时间。可见,偏差对低频hit信号,或远距离测距影响较大,解决方式是选用频率精度较高,温漂较小的晶振作为TDC以及激光发射时序的时钟源。

测试项目

  1. 对测量获得的时间戳序列进行一阶拟合。

  2. 原值减去拟合值得到残差序列,计算残差的标准差。

  3. 对同一通道的时间戳序列使用numpy.diff函数求取相邻前后两个测量值的差,得到邻差序列,并求取平均值,得到被测信号的时钟周期。

  4. 求反,得到被测信号的频率。

  5. 邻差序列求取标准差,得到时钟周期的测量标准差

  6. 最后,两个通道的时间戳序列两两相减,并计算均值,得到通道差的平均值。

测试结果汇总

下表列出了在不同频点的hit信号下,各通道的残差标准差和邻差标准差。残差的计算方法为:采用一阶多项式对时间戳序列进行拟合,再将实测值减去拟合值,得到残差。一阶模型认为频率是常数,在时间间隔较大的时候,一阶模拟不能反映晶振频率的变化,这种情况下,残差包含了频率变化的分量,不能完全表征TDC的测量性能。一组时间戳序列a[0:n]的邻差定义为a[1:n]-a[0:n-1]。如果hit信号是周期信号,邻差序列可以表示信号的周期。在之后的章节中对各频点的测试结果做更为详尽的分析。

测试项目10.2345KHz100.23456KHz1.23456MHz10.23456MHz70.23456MHz
通道1残差的标准差49.81(ps)20.87(ps)19.14(ps)19.41(ps)21.75(ps)
通道1邻差的标准差24.50(ps)29.14(ps)22.92(ps)25.96(ps)32.36(ps)
通道2残差的标准差50.42(ps)20.48(ps)18.12(ps)18.64(ps)20.64(ps)
通道2邻差的标准差25.62(ps)28.81(ps)21.45(ps)24.63(ps)28.86(ps)

测试结果 – 10.2345KHz

被测信号为Si5341
EVB输出的1组(2路)LVCMOS25互补(相位相差180度)信号。Si5341设置的输出频率为10.2345KHz,以下截图是各项测试内容的计算结果:
在这里插入图片描述

10.2345KHz 通道1、2残差序列:

10.2345KHz 通道1、2残差在这里插入图片描述

分析:在较大的时间间隔下,晶振的频率变化的高次分量对测量结果的影响非常明显。约50ps的残差抖动也较大,原因测量是包含了两个不同晶振的频率非线性变化。

10.2345KHz,通道1、2邻差序列及其均值、标准差

在这里插入图片描述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5UltxFmo-1592966020171)(media/706b6a88e2c7c348315eecc9e262ba45.png)]

理想情况下,10.23456KHz对应的时钟周期为97708730.28ps,而通道1、2的测量均值都为97708856.6ps,与理想值相差约126.3ps。计算可以得到TDC时钟与hit时钟的频率偏差约为126.3(ps)/97708730.28 (ps) = 1.29ppm。当然,近100us的时间间隔下,晶振频差已不能用简单的常数来表示了,所以这里算出的频差与之后采用更高频率hit信号算出的有微小的误差。

测试结果 – 100.23456KHz

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

在这里插入图片描述

100.23456KHz 残差序列

在这里插入图片描述在这里插入图片描述
分析:随着hit频率提升近十倍,晶振频率的高次非线性变化的影响显著减小,但二次项的影响仍然明显。残差的标准差显著减小。

100.23456KHz 邻差序列

在这里插入图片描述在这里插入图片描述

理想情况下,100.23456KHz对应的时钟周期为9976598.89ps,而通道1、2的测量均值都为9976611.4ps,与理想值相差约12.51ps。计算可以得到TDC时钟与hit时钟的频率偏差约为12.51(ps)/9976598.89 (ps) = 1.25ppm。

测试结果 – 1.23456MHz

被测信号为Si5341
EVB输出的1组(2路)LVCMOS25互补(相位相差180度)信号。Si5341设置的输出频率为1.23456MHz,以下截图是各项测试内容的计算结果:
在这里插入图片描述

1.23456MHz 测量残差

在这里插入图片描述在这里插入图片描述
分析:晶振频率变化仍然明显。但残差的标准差维持在20ps以下。

1.23456MHz 邻差序列

在这里插入图片描述在这里插入图片描述

理想情况下,1.23456MHz对应的时钟周期为810,005.18ps。通道1、2测得的时钟周期均值都为810006.2ps,有很好的一致性。与理想值的差值约为1ps,而可以计算得到TDC时钟与hit时钟的频率偏差约为1(ps)/810005.18
(ps) = 1.25ppm。

测试结果 – 10.23456MHz

被测信号为Si5341
EVB输出的1组(2路)LVCMOS25互补(相位相差180度)信号。Si5341设置的输出频率为10.23456MHz,以下截图是各项测试内容的计算结果:
在这里插入图片描述

值得一提的是,这里计算出的通道之间时间戳的差值341365.22(ps)已经不能直接表征信号相位的差值了。这里的差值包含了使能TDC通道的时延。TDC
IP的通道使能是通过寄存器实现的。Zynq A9 或Miroblaze
通过Xil_Out32指令,经过AXI接口写入对应通道的寄存器,从而使能测量。
这整个过程需耗费数十个时钟周期。要在本次测试的使用的Artix开发板上,MCU是Miroblaze, 频率较低,因此出现了近300ns的时延。可通过简单计算,将341365.22-3*97708.29 =48240.35(ps),这样就符合通道1与通道2信号相差180度的条件了。在大部分应用中使能寄存器的延时并不构成问题,比如可以等使能所有通道后,再开放hit信号。如果客户应用需要极低的使能时延,可通过瑟如电子定制。

10.23456MHz 测量残差

在这里插入图片描述在这里插入图片描述

分析:在近似100ns的时间间隔下,晶振频率变化已不太明显。但残差的标准差维持在20ps以下。

10.23456MHz 邻差序列

在这里插入图片描述在这里插入图片描述
理想情况下,10.23456MHz对应的时钟周期为97708.16ps。通道1、2测得的时钟周期均值都为97708.3ps。与理想值的差值只有0.14ps,因为从之前的计算可以得到,晶振之间的频差约为1.25ppm,那么在97708ps的时间间隔下,带来的测时偏差为:1.25E-6 * 97708 (ps)=
0.12(ps)。可以印证,当扣除频差的影响后,2000余点平均后,测时精度小于0.1ps。

测试结果 – 70.23456MHz

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

在这里插入图片描述
与10.23456MHz的情况一样,这里计算出的通道之间时间戳的差值333547.89(ps)已经不能直接表征信号相位的差值了。这里的差值包含了使能TDC通道的时延。如果客户应用需要极低的使能时延,可通过瑟如电子定制。

70.23456M 测量残差

在这里插入图片描述在这里插入图片描述

分析:在近似14ns的时间间隔下,又可以看到频率变化带来的波动。而且残差的标准差维持略微超出20ps。残差抖动的略微增大可能是由于70MHz的高频信号之间的串扰导致的。

70.23456M 邻差序列

在这里插入图片描述在这里插入图片描述

理想情况下,70.23456MHz对应的时钟周期为14238.00ps。通道1、2测得的时钟周期均值都为14238.0ps。在这么短的时间间隔下,1.25ppm的晶振间频差影响已经微乎其微。邻差的标准差达到了30ps左右,可能是由于杜邦线无屏蔽能力,hit频率增加引起的串扰增大,从而导致抖动增大。

通道间时延变化测试

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

对通道间时延采取多次断电重启FPGA开发板的方式,验证每次重启后对同一组(2路)hit时钟信号的时差测量值。从冷机状态到多次重启后,结温也会从50度左右上升到80度左右(通过JTAG口观察),可定性的评估结温变化时,通道时延的变化情况。下表列出了6次断电启动后,对同一组100.23456KHz互补信号进行测量,得到时间戳序列,并将通道2-通道1,得到通道差序列,并求平均值,录表于下:

14987697.69 ps
24987697.03 ps (-4988917.32)
34987698.37 ps (-4988915.98)
44987700.97 ps
54987701.43 ps
64987703.48 ps

由于TDC使能时刻相对于hit信号的相位是随机的,所以TDC使能后,有可能hit0先触发,也有可能hit1先触发。Hit1先触发时,通道2-通道1的时差值就为负值,为了便于比较,可加上一个周期的时差,使其为正。

可见尽管6次断电启动后,结温从50度上升到80度左右,但通道间时延差只变化了6ps,能够满足绝大部分应用的需求。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值