1.1 高精度时间数字转换器概述(TDC)
- TDC常被用于测量时间间隔,广泛应用于物理研究、飞行时间测量领域等。虽然分辨率是一个重要的参数,但TDC非线性将直接影响整个系统的精度。此外,全数字锁相环(PLL)、频率发生器、光检测和测距(激光雷达)系统等应用要求每秒多次测量,以提高其可靠性。因此,在现代TDC体系结构中,不仅要提高TDC的分辨率,而且要提高TDC的线性和采样率。在选择架构时,功耗和资源利用也是重要的因素,因为现代应用领域常常是要求多通道并行测量。目前的竞争市场增加了对较低开发时间和快速原型的需求,这可以通过使用现场可编程门阵列(FPGA)来解决。在过去的几年里,FPGA技术一直在表现出巨大的进步,从制造工艺和技术到增强现有的开发工具。这使得FPGA能够在性能上缩小与应用集成电路(ASIC)[1]-[3]的差距。因此,基于FPGA的系统开始集成到最终产品[4]中,使FPGA不再是一个只有原型的平台。这导致越来越多的研究探索FPGA的体系结构来实现TDC系统。
- 尽管如此,基于ASIC和FPGA的TDC系统之间仍然有明显的区别。
- 大多数关于基于FPGA的TDC的研究工作都提出了TDC作为系统应用的一部分。研究的重点是应用本身,将TDC作为一个子系统,应用领域通常按分辨率和采样率分类。在这种情况下,TDC设计方法将根据要测量的时间间隔的特点进行。主要的努力是解决不同系统的部分是如何集成的。当研究集中在TDC上时,无论应用如何,主要的目标是提高TDC的线性和分辨率,主要采用统计法标定各个BIN以量化转化曲线线性度。在ASIC实现上,没有这样明确的区别。即使TDC针对一个特定的应用场景,由于TDC体系结构及其构建单元是定制的,它的设计仍然是细节化的。这种差异可以解释为TDC系统对所使用的硬件底层逻辑架构的高度依赖。而在ASIC开发中,没有施加体系结构限制,在FPGA实现中,TDC的体系结构事先受到可用单元和布局布线资源的限制。因此,重要的是,根据应用领域,设计FPGA-TDCs,并确定新的研究路径。
- 基于FPGA的TDC普遍达到了在10ps以下的分辨率[2]、[3]、[5]-[7]。Szplet等人 [8]实现了1ps的分辨率。最近,Xilinx FPGA超尺度体系结构(UltraScale)的引入使人们能够探索不同的TDC方案[1]、[9]-[11]。与简单的抽头延迟链(TDL)方法相比,FPGA中可用的资源越来越多,这也有助于探索多链TDCs,从而实现更高的线性值。
1.2 TDC分类
基于FPGA的TDC体系结构进行广泛和深入的审查,提出一种标准化的分类。如图1所示。
为了实现高分辨率和高测量的动态范围,通常将高分辨率TDC体系结构与粗计数器[24]、[25]配合。每个TDC体系结构都可以通过使用这些技术来轻松地扩展其动态范围,并仅要对硬件进行小的修改。由于这个原因,使用粗计数器与否不作为区分体系结构的依据。
- (1) Coarse Counters
粗计数器实质上包括所有具有由系统时钟周期定义的分辨率的计时系统。这些体系结构基本上由被测信号启用或采样的计数器组成。 - (2) Phased Clocks
相移时钟结构使用多个时钟(具有相对相位关系)。一些使用过采样(oversample)来实现更好的分辨率,而另一些则只是使用多个相位时钟,并检查哪个相位最接近HIT信号。然而,两者都使用多个时钟之间的相位差作为插值机制来实现TDC的分辨率。 - (3) Tapped-Delay Lines
TDL组包括所有使用FPGA单元的本征传播延迟作为插值元件的TDC体系结构。具有多条延迟链的方法经常被用来提高TDC的分辨率。这是通过添加一个等效的延迟链来实现的,该延迟链采样相同的输入,并通过对所获得的测量结果进行平均来提高分辨率和精度。分辨率会随着延迟链条数的增加而成比例地增加。然而,基本结构仍可视为TDL。
混合体系结构也包括在TDL大类中。这些体系结构是建立在两级精细插值的体系结构。在这种TDC体系结构中,相位时钟和TDL是混合的。精细测量(第一阶段)是由相位时钟完成的,而在第二阶段,TDL只用于覆盖时钟之间的相位差,而不是覆盖整个系统时钟周期。通过这样做,TDL的大小(延迟单元数量)可以大大减少,而代价是稍微复杂一点的体系结构。由于该体系结构的分辨率是由用于构建TDL的单元的传播延迟来定义的,并且由于插值输出与传统的TDL(温度计代码)基本相同,因此该体系结构也包含在TDL组中。 - (4) Differential TDC
差分TDC组包括那些分辨率由两个中延时单元之间的延时差给出的TDC体系结构。在这组中,可以找到两种主要的体系结构类型:延迟链,其中输入信号(被测信号)和样本信号都被延迟,以及环形振荡器(带有相位匹配检测器)。虽然延迟链基本上是TDL,但TDC分辨率是由用于构建延迟链的两种单元的传播延迟之间的差异而不仅仅是单个延迟链。第二种结构是基于具有匹配检测器的环形振荡器。这些也满足了包括在差分TDC组中的要求,因为它们是基于两个频率略有不同的振荡器,即由这个频率差给出的TDC的分辨率。 - (5) Pulse Shrinking
脉冲收缩TDC组包括使用FPGA单元的上升和下降边沿延迟时间差异来构建延迟链循环的体系结构,该延迟链循环减少了每个循环周期的脉冲持续时间。虽然这些体系结构是基于延迟链的,但TDC分辨率是由循环周期的收缩因子而不是单元的传播延迟给出的。由于这个原因,这些体系结构被分组为脉冲收缩。脉冲收缩结构更适合在ASIC中实现,难在FPGA中部署。
1.3 评判标准
在讨论基于FPGA的TDC之前,有必要澄清即将使用到的重要性能评价指标。这些指标对于TDC是十分重要的,提出一种新TDC结构时,也应该展示这些指标。
- (1) 测量范围
测量范围是在TDC溢出之前,TDC可以测量的最大时间间隔。随着TDC的普及,对动态范围的需求变得越来越突出。例如,在基于时间的加速器中,数毫秒的测量范围是必须的。在TDL和differential delay lines被广泛应用于提高分辨率的背景下,使用延迟链来提高时间测量范围会造成很大的资源消耗。测量范围的扩张很容易通过引入一个粗计数模块来实现。 - (2) 分辨率和精度(Resolution and Precision)
分辨率通常是指最小有效位(LSB)[14],是可以量化和区别的最小时间间隔,也是在TDC转化曲线中的最小步进增量。TDC精度,有时是指单通道精度或者标准差,是评判期望值和测量值差别大小的标准。通常但非绝对,测量结果呈现出高斯分布特性。精度RMS值,根据[14],可以按照如下公式计算:
- (3) 非线性
由于工艺、电压和温度的状态不同,TDC的LSB是会变化的,因此导致了转化曲线和理想的曲线的量化步进值的差异。最常用的两个指标是积分非线性(INL)和微分非线性(DNL)。根据[29],DNL可以表示为单个量化步进值(实际的BIN)和理想值(LSB)的偏差。INL可表示为在单次测量中误差的最大累积值。在一个TDL中,DNL的测量通常是基于码密度法(code density test)的[30],为实施这一过程,一个与系统时钟毫无关联的周期性的信号被作为输入信号(以求采样时刻可以“均布”在系统时钟的各个相位)。记录所有延时单元的多次测量(采样)结果。考虑每一延时单元的延时相同,并且输入信号与系统时钟毫无关联,因此,每一延时单元的采样率是相同的。测量结果用柱状图表述出来,每一个延时单元的实际延时值可以按照如下公式计算:
注意:对于多相法类的TDC,INL也许不存在,因为根据解码,HIT到来时刻已经被定位到具体的两个时钟边沿之间,而与其他BIN的均匀性无关。 - (4) 死区时间
死区时间是指TDC从准备完成一次时间转换任务到可以开始下次时间测量的这段时间。这一指标定义了TDC的测量速率。许多应用领域要求TDC具有高采用率(低死区时间),因此设计低死区时间的TDC是十分必要的。当单个TDC不足以应对高速率测量需求时,可考虑使用interleaved(交叉测量或者交叉存取)结构[31]。一个系统时钟周期的死区时间往往在TDL结构中被表述。在基于ring oscillators(环形振荡器)的pulse shrinking脉冲收缩[32]或者differential architectures[34]结构中,由于测量间隔的不同,死区时间可达到数百纳秒。 - (5) 功耗与资源利用
数字设备的功耗通常分为动态(开关switching)和静态(泄露leakage)功耗。动态功耗与操作时钟频率有直接关系,而静态功耗则与(FPGA)使用的技术有关。在比较两种TDC系统解决方案时,可以使用总功耗。然而,由于这种技术依赖性,比较两种设计(架构)的功率感知时,需要考虑时钟频率和FPGA制造技术。关于系统的大小,在FPGA平台中,通常使用FPGA资源的利用量作为量化因子,这与FPGA的体系结构有关。