目录
SeruTek TDC 简介
SeruTek TDC是上海瑟如电子科技公司开发的基于Xilinx 7系列FPGA的TDC
IP核。根据适用的芯片型号以及测量能力分为多种型号。其中SeruTek TDC
是基本型号,适用于Artix以及Zynq7020及以下FPGA型号。其最大测量频率(hitrate)达70MHz。 SeruTek Plus适用于Kintex-7系列以及Zynq-7030及以上型号,其最大测量频率达90MHz。
近期,我司在SeruTek Plus TDC的基础上,改进缓存结构后将最大测量频率提高到了160MHz。意味着对每个测量通道上,两个连续脉冲的间隔最小可达到6.25ns。该峰值测量频率的持续时间仅仅受限于片上高速缓存的数量以及时间戳数据的读出速率。在标准配置下,每通道配备2048点的高速缓存。当高速缓存填满后,新的测试数据将被丢弃。如果测量时采用DMA的方式将高速缓存中的数据转移到RAM(DDR),可以延长峰值测量频率持续的时间。当采用PCIE 2.0 X8 或以上的数据读出方式,并在上位机配备大容量内存以及高速磁盘整列则可以实现单通道或多通道的高速连续时间计数。
TDC 型号 | 适用FPGA | 峰值测量速率 | 等效脉冲间隔 |
---|---|---|---|
SeruTek | Artix-7,Zynq7020(最高) | 70MHz | 14.3 ns |
SeruTek Plus | Kintex, Zynq7030-7100 | 90MHz | 11.11 ns |
SeruTek Plus+ | Kintex, Zynq7030-7100 | 160MHz | 6.25 ns |
超高速TDC评估与测试
测试平台
本测试例程基于KC705开发,实现了双通道的TDC测量。TDC的参考时钟信号以及被测脉冲信号都由Silicon Labs 的时钟产生芯片Si5338开发板产生,其频率源为Si5338 EVM的板载25MHz晶振。TDC参考时钟为200MHz差分信号,通过KC705上的USER CLOCK SMA输入FPGA。一路脉冲通过USER GPIO SMA P输入,另一路则通过FMC LPC转接板上的SMA接口输入FPGA。
PCIE Spread Spectrum Clock(SSC)简介
SSC是一种缓慢调制时钟频率的技术,以便降低中心频率处的EMI发射,有了SSC,辐射能量就不会产生2.5GHz或5GHz的噪声尖峰信号,因为辐射被分散到中心频率周围的小频率范围上。(https://www.cnblogs.com/cute/archive/2011/05/27/2059631.html)
SSC扩频时钟对于PCIe来说是可选的,并非是强制的。如果选择支持扩频时钟的话,需满足以下要求(https://www.sohu.com/a/367547389_781333):
-
调制范围为+0%到-0.5%,即向下扩频(Down Spreading),如下图所示
-
调制频率必须在30KHz到33KHz,一般为三角波
-
参考时钟源的抖动(Jitter)需在300ppm以内
带有SSC的参考时钟频率变化曲线如下图所示:
测试目的
-
验证每通道160MSa/s的超高速测量能力
-
通过对Spread Spectrum Clock(SSC) 的测试,验证TDC 测量结果的正确性。
测试内容
测试分为两轮,第一轮测试中,两路被测脉冲频率分别为21.3131MHz和23.2323MHz。第二轮测试中,两路被测脉冲频率分别为160.123MHz和158.432MHz。每一轮测试进行以下两项内容的测试:
-
单一频点时钟信号测量。通道1、通道2输入频率不同的时钟信号,获取时钟信号每个上升沿对应的时间戳,求取前后相邻两个时间戳的时差,并绘制邻差轨迹。
-
采用Si5338的扩频功能,对输出的脉冲信号进行-5%的频率调制。经过调制扩频后的时钟信号作为被测脉冲信号输入FPGA,得到每个上升沿对应的时间戳,求取前后相邻两个时间戳的时差,并绘制邻差轨迹。
测试结果汇总
第一轮测试
第一轮测试中,双通道TDC的被测时钟信号的频率在20MHz左右。首先测试没有扩频的单频点时钟信号。再测试扩频后的时钟信号,观察测试结果的曲线。
单频点测试
通道号 | 输入信号频率 | 信号周期 | 扩频 |
---|---|---|---|
1 | 21.3131MHz | 46919.50 ps | 无 |
2 | 23.2323MHz | 43043.52 ps | 无 |
下图分别是通道1、通道2 时间戳的轨迹
下图分别是通道1、2前后时间戳的时差(邻差)曲线
扩频测试
通道号 | 输入信号频率 | 信号周期 | 扩频 |
---|---|---|---|
1 | 21.3131MHz | 46919.50 ps | -5%,31.5KHz |
2 | 23.2323MHz | 43043.52 ps | -5%,31.5KHz |
下图分别是通道1、通道2 时间戳的轨迹
下图分别是通道1、2前后时间戳的时差(邻差)曲线。值得注意的是,图中所示的STD测量方差计算的是图中所有测量点的方差,包含了被测信号本身的频率变化,因此不代表测量精度。
邻差反应了相邻两时间戳之间的时间差,可以表征被测信号频率的变化。从以上两幅邻差图上可以很明显的看出SSC对时钟频率的调制。
其中通道1的原始频率为21.3131MHz,对应的周期为46919.50 ps,通道1邻差的极小值与其相符。频率调制后的低频点 21.3131MHz*0.95 = 20.247445MHz,其对应的周期为1/20.247445M = 49388.95 ps,与通道1邻差的极大值相符。
通道2的原始频率为23.2323MHz,对应的周期为43043.52 ps,与通道2邻差的极小值相符。频率调制后的低频点为23.2323MHz*0.95 = 22.070685
MHz,对应的周期为45308.96 ps,通道2邻差的极大值与其相符。
第二轮测试
在第二轮测试中,两个TDC通道的被测脉冲信号的频率提高到160MHz左右,以验证SeruTek TDC Plus+的超高速测量能力。首先测试的是没有扩频的单点时钟信号,再测试扩频后的频率调制时钟信号。
单频点测试
通道号 | 输入信号频率 | 信号周期 | 扩频 |
---|---|---|---|
1 | 160.123MHz | 6245.20 ps | 无 |
2 | 158.432MHz | 6311.85 ps | 无 |
下图分别是通道1、2前后时间戳的时差(邻差)曲线
扩频测试
通道号 | 输入信号频率 | 信号周期 | 扩频 |
---|---|---|---|
1 | 160.123MHz | 6245.20 ps | -5%,31.5KHz |
2 | 158.432MHz | 6311.85 ps | -5%,31.5KHz |
下图分别是通道1、2前后时间戳的时差(邻差)曲线。值得注意的是,图中所示的STD测量方差计算的是图中所有测量点的方差,包含了被测信号本身的频率变化,因此不代表测量精度。
由于输入脉冲频率高,2048点不能显示频率变化的完整周期,但是还是能明显的看到调制后频率的变化。
对于通道1,调制后的低频点频率为160.123M*(1-0.05 ) = 152.11685MHz,对应的周期为6573.89 ps,与通道1的邻差图中的极大点相符。
对于通道2,调制后的低频点频率为158.432M*0.95 = 150.5104MHz,对应的周期为6640.06 ps,与通道2的邻差图中的极大点相符。
结论
通过本测试,验证了SeruTek Plus+ TDC 每通道高达160MHz的重复测量能力,并在SSC扩频时钟测试的场景下验证了TDC测量结果的正确性。该款超高速TDC在Kintex 325或 Zynq 7035上至少可实现16通道TDC。多通道加上超高的触发频率使其连续并发测量能力远远超出ASIC TDC芯片,极大地拓展了SeruTek TDC使用领域。欢迎搜索“上海瑟如电子”获取更多信息。