低时延 FPGA 基于时间到数字转换器,采用资源高效的下采样多路复用编码和双直方图技术用于 LiDAR 应用
摘要
本文提出了一种低时延、可调分辨率的时间到数字转换器(TDC),采用资源高效的下采样多路复用(DS-MUX)编码和基于现场可编程门阵列(FPGA)的双直方图技术。通过采用所提议的 DS-MUX 编码,能在一个时钟周期内同时处理由不同回波事件触发的延迟线中的多条过渡边缘,显著优于传统的温度计到二进制编码器。使用所提出的基于块随机存取内存(BRAM)的双直方图模块并配备唯一地址重映射,直方图吞吐量得到提升,同时借助粗粒度累加器去除了无效时间戳。除此之外,还应用了箱体衰减和箱宽校准,以提升线性度和精度。在 28nm FPGA 上实现的所提 TDC 将时延降低到 0.59 倍时钟周期,从而提高了转换速率 1.7 倍。更重要的是,所提 TDC 仅消耗 402 个查找表、588 个触发器和 2.5 个 BRAM。据我们所知,这是第一种通过 BRAM 基于直方图实现多通道光探测与测距应用的低时延、资源高效的 FPGA 基础 TDC。
作者
Shaoxian Liu 电子与信息技术学院,中山大学,广州市,中国 ORCID: 0000-0003-4286-394X
Yanxian Zhou 电子与信息技术学院,中山大学,广州市,中国 ORCID: 0009-0004-1519-4722
Shaolin Liao 电子与信息技术学院,中山大学,广州市,中国 ORCID: 0000-0002-4432-3448
Xianbo Li 电子与信息技术学院,中山大学,广州市,中国 ORCID: 0000-0001-8870-0586
出版信息
期刊: IEEE Transactions on Industrial Electronics 年份: 2024 卷: 71 期: 10 页码: 13395-13405 DOI: 10.1109/TIE.2023.3347843 文章编号: 10398599 ISSN: 印刷版 ISSN: 0278-0046, 电子版 ISSN: 1557-9948
指标
论文引用次数: 1 总下载量: 651
资助
广东珠江项目 (Grant: 2021ZT09X070)
中国国家自然科学基金 (Grant: 62004228)
广州基础与应用基础研究项目 (Grant: 202201011100)
关键词
IEEE 关键词: 编码, 时钟, 图像边缘检测, 激光雷达, 可编程门阵列, 校准, 线性
索引词: 光探测与测距, 时间数字转换器, 转换速率, 查找表, 死区, 多重边缘, 延迟线, 时钟周期, 过渡边缘, 技术进步, 资源消耗, 最终时间, 工作频率, 平均精度, 量化误差, 边缘检测, 脉冲发生器, 二进制码, 最终编码, 上升沿, 最重要位, 时钟周期, 触发脉冲, 测量范围广, 输入阶段, 高线性
作者关键词: 死区, 可编程门阵列 (FPGA), 光探测与测距 (LiDAR), 时间数字转换器 (TDC)
未定义
第一节. 介绍
TDC(时间到数字转换器)是用于自主车辆、无人机、机器人等系统的直接飞行时间(dToF)激光雷达(LiDAR)的关键组成部件,1, 2, 3, 4。如图1(a)所示,dToF LiDAR 依靠发射光束与回波激光脉冲之间的飞行时间(ToF)来测量目标距离,其中 TDC 提供精确的时序用于 ToF 测量。目标距离可表示为光速的一半(记为 c)乘以记录的 ToF。对于应用于 LiDAR 系统的 TDC,线性度、精度和测量范围是关键性能指标,而数十皮秒的分辨率已足够满足此类应用,5。此外,LiDAR 系统常常需要在短时间内进行多次测量以区分不同的回波事件,因此 TDC 的死区时间也起着重要作用。TDC 的死区时间代表在触发后需要多长时间准备下一次测量,它是转换速率的倒数。降低 TDC 死区时间可减少检测所有回波事件所需的 TDC 数量,这对于避免堆叠失真和降低硬件成本至关重要,6.
图 1. (a) dToF LiDAR 的原理. (b) 提议的 TDC 架构. (c) 提议的 DS-MUX 编码器. (d) Sub-TDL 编码器.
随着先进制造技术的发展,基于现场可编程门阵列(FPGA)实现的时差测量计(TDC)已经展现出与使用专用集成电路(ASIC)实现的时差测量计相当的卓越性能 7。FPGA-based TDC有几种架构,包括多相位时钟TDC 8、9、10、脉冲收缩TDC 11 和踏点延迟线TDC(TDL-TDC) 12、13、14。TDL-TDC是FPGA上最受欢迎的架构,它基于时间插值原理将时间间隔转换为计数 15。通过沿延迟线传播信号,可以通过计数信号已通过的延迟单元数量来测量时间长度,这一过程由温度计到二进制(T2B)编码器完成。尤其是,TDL-TDC因其停机时间仅为一或两时钟周期而适用于高吞吐量应用 16、17、18。然而,进一步将TDC停机时间降低到一个时钟周期以下具有挑战性,原因是传统的T2B编码方案无法同时处理TDL上的多个过渡边缘 19。在 20 中,虽然提出了一种多边缘编码方法,但它将过渡边缘转换为仅一个二进制码,这并未有助于降低停机时间。在 21 中,提出了一种简化架构,能够处理多次击中,但未提供设计细节。不同的是,在 22 中提出了一种直接直方图技术,用于同时采样多次事件,从而将停机时间降低到数百皮秒。然而,该技术存在气泡问题,并且消耗大量硬件资源用于直方图生成,不适合FPGA-based多通道TDC设计 23。因此,有必要探索资源高效、停机时间低的TDC架构,以适用于FPGA-based应用。
高灵敏度激光雷达系统通常执行重复的时间飞行 (ToF) 测量并累积直方图,以获得目标物体的可靠位置。基于集成在 FPGA 内部的块随机存取存储器 (BRAM) 的直方图技术在 FPGA 基于 TDC 之中非常流行 24, 25, 26, 27, 28,它释放了关键逻辑资源,例如查找表 (LUT) 和触发器 (FF),以便在多通道激光雷达中进一步数据处理 29, 30, 31。然而,BRAM 的最大工作频率不如其他 FPGA 组件 32,这固有地限制了基于 FPGA 的 TDC 的转换速率。因此,可以采用双 BRAM 并行直方图来提高转换速率 33。BRAM 基于直方图的另一个问题是数据地址通常通过连接粗粒度和细粒度代码来给出,如果最大细粒度代码未达到其上限,则会产生无效时间戳,从而浪费内存资源。
本文的目标是在为多通道激光雷达应用实现高线性、高精度和低死机时间的 FPGA 基于 TDC 的同时,最大限度地降低资源消耗。本文的主要贡献总结如下。
提出了一种采用资源高效的下采样多路复用(DS- MUX)编码技术的低死机时间 FPGA 基于 TDC。虽然所提出的 TDC 采用 400 MHz 的流水线,但其转换速率可达 680 MS/s,同时资源消耗低。
提出了一种双直方图模块和具有唯一地址重映射的粗粒度累加器,以提高吞吐量并消除无效时间戳。
实现了三种不同分辨率以扩展 TDC 的测量范围。此外,采用 bin 降采样和 bin 宽度校准来提升 TDC 的线性和精度。实验结果验证了所实现 TDC 的高线性和高精度。
本文章的其余部分组织如下。第二节介绍所提出的 TDC 架构并阐述关键构件。第三节展示实验结果,第四节则对比最先进技术。最后,第五节对本文进行总结。
第二节. TDC 架构与构件
A. 提出的 TDC 架构
如图 1(b) 所示,所提出的 TDC 由采样电路、编码块、校准器、粗粒度累加器和双直方图模块组成。采样电路包含一个输入阶段,在触发后重塑输入脉冲,一个调谐的 TDL 作为细时间插值器,以及四个子 TDL 用于在每个时钟周期采样调谐 TDL 的模式并生成温度计码。编码块随后根据所提 DS-MUX 编码将生成的温度计码转换为二进制码,而校准器则最小化因 TDL 不均匀导致的量化误差。此外,粗粒度累加器用于以最小资源使用实现快速地址重映射,从而使由两个基于 BRAM 的直方图组成的双直方图模块能够并行工作,提升直方图处理的吞吐量。
B. 输入阶段
如图 1(b) 所示,输入阶段包含一个多路复用器和一个带时钟使能及异步清除的 D 触发器(DFF)(FDCE 34),分别用于输入选择和脉冲产生。具体而言,HIT 是 TDC 的输入触发信号,用于启用 ToF 测量;TEST_SIG 是用于表征 TDC 性能的测试信号。触发脉冲的宽度可以通过调整 FDCE 的 Q(即输出)与 CLR(即清除信号)之间的延迟来调节。如果 FDCE 被触发,Q 将保持高电平直到激活 CLR,因此 FDCE 的死区约为 Q 与 CLR 延迟的两倍,这限制了输入触发脉冲的最高频率以及 TDC 的死区。因此,应优化 FDCE 的死区以降低 TDC 的死区,同时脉冲宽度应满足后续编码器的采样要求。
与基于 LUT 的单稳脉冲发生器相比,当输入具有不同宽度的触发脉冲时,边沿敏感的自动重置 FDCE 更加稳健。此外,在目标 FPGA 35 上,FF 的最大翻转频率可达 1818 MHz,这使得快速切换和高速脉冲生成成为可能。
C. 子 TDL 拓扑和调谐 TDL
基于 FPGA 的 TDL‑TDC 通常会受到泡沫问题的困扰,因为采用先进技术制造的 FPGA 易受工艺变异影响,导致 TDL 不均匀,TDC 性能下降。为解决此问题,已提出带泡沫校正的编码器,但其缺点是额外的逻辑资源消耗 36, 37。虽然基于 ones‑counter 的编码器能抵抗泡沫,但由于使用过多的加法器,资源消耗更高 38, 39。在 [^31] 中,提出了一种子 TDL 拓扑,将运算器输出重新分组为若干区段,等效地延长相邻探针之间的间隔,从而在不增加额外硬件成本的情况下消除泡沫。子 TDL 中的采样 DFF 和粗分辨率累加器由同一系统时钟驱动,以避免粗细量化之间的同步问题 [^32]。
如图 1(b) 所示,我们的设计采用了调谐 TDL,依赖于异质采样模式来调节槽宽,从而提高 TDC 的线性度和精度 40。用于实现时间插值的进位元件具有两种输出,包括 S(即和)和 C(即进位输出)。已证明“SCSC”采样模式(即 S[0], C[1], S[2] 和 C[3])在 Kintex‑7 FPGA 上实现了最佳性能 41, [^33],这也是我们设计中采用的模式。62 个 CARRY4 被用于构成 TDL,以确保长度略长于一个时钟周期,满足插值要求。结合子 TDL 拓扑,所有零宽度槽已被移除。
D. 下采样‑多路复用编码
在传统的 T2B 编码中,包含前置模块产生的多条比特流的输入会整体处理,这是一种一步到位的过程。相比之下,所提出的 DS-MUX 编码是一个两步过程,包含下采样和多路复用,如图 1(c) 所示。为保证 DS-MUX 编码器的正常工作,应避免在其输入处出现气泡。否则,可能检测到错误的边缘并产生错误。选取间隔为 2n−1 的若干个触发点作为下采样触发点,其中 n 为整数,在我们的设计中等于 3。下采样触发点的数量随后由 TDL 的长度决定。下采样触发点也会产生温度计码。由于子 TDLs 42 中不存在气泡,可以合理推断相邻触发点之间时间间隔更大的下采样触发点也不存在气泡。当信号传播到一个下采样触发点时,等同于经过 2n 个触发点,包括下采样触发点和 2n−1 个间隔触发点。因此,该下采样方案本质上将边缘检测结果转换为更高位的编码,从而显著降低资源消耗。边缘检测的 LUT 如表 I 所示。在我们的设计中,FDCE 在 TDL 中发射一个向前传播的正脉冲,因此需要精确定位上升沿以决定细时间。请注意,当表 I 中的 I3(即图 1(c) 中输入的 IN[31])等于 1 时,上升沿超出范围,因此应在较低的触发点中搜索下一个边缘。由于 FDCE 的死区时间,两个相邻脉冲之间存在最小间隔,因此该模块仅检测 I1 之前的边缘,忽略 I1 之后的边缘,因为在 I3 处检测到脉冲。
表 I
编码器的输入被下采样采样点(即图 1(c) 中的 IN[7]、IN[15] 和 IN[23])分成四个段。当检测到上升沿时,每个子编码器将 7 位热编码转换为 3 位二进制编码。子编码器可以是任何类型的 T2B 编码器 43、44、45。在本设计中,使用基于多路复用器的 T2B 编码器作为子编码器。根据边沿检测结果,子编码器的一个输出通过多路复用器被选中,然后与边沿检测模块输出的 2 位组合,形成 5 位二进制码。所提出的下采样方案的优点在于,子编码器最终输出的低位与边沿检测模块的高位相互独立,从而提高编码效率。
如图 1(d) 所示,每个子 TDL 编码器包含两个并行操作的 DS-MUX 编码器。如果 DS-MUX 编码器捕获到上升沿,相应的输出将是有效的。特别地,IN[31] 和 IN[63] 仅用于边沿检测以决定该边沿是否超出范围,对这两位不需要编码。因此,第一个和第二个 DS-MUX 编码器的编码输入范围分别为 0~30 和 32~62。结果,OUT1 和 OUT2 的最高位分别连接到逻辑 0 和逻辑 1。需要注意的是,如果在 tap 31 处捕获到边沿,则有效输出为 OUT2 而非 OUT1。由于不对最高位进行编码的独特特性,所提出的 DS-MUX 编码器相比现有 T2B 编码器更具资源效率。
Fig. 2比较传统T2B编码与所提出的DS-MUX编码在时序图中的差异。在传统编码方案中,每个时钟周期只能处理一个边沿,这导致资源利用率低,因为热码中的所有部分并未被高效利用(即热码中连续的0或1不为最终二进制码做出贡献)。此外,如果TDL中存在多个边沿,传统编码器可能无法正确识别它们,从而导致编码错误。相反,所提出的DS-MUX编码方案将整个TDL分成几个具有独立子编码器的部分,然后通过边沿检测选择子编码器生成的正确结果,从而实现多边沿编码,同时可以识别并忽略无效结果。
Fig. 2. 传统 T2B 编码与所提出的 DS-MUX 编码在不同 TDL 模式被采样时的比较.
E. 校准
由于工艺、电压和温度(PVT)变化以及FPGA内部的时钟偏移,基于FPGA的TDC通常会出现线性和精度问题,因此需要校准以实现高线性和高精度。所提出的TDC通过两步校准进行校准,包括 bin 减半(bin decimation)和 bin 宽度校准。bin 减半方法将若干个 bin 合并为一个更大的 bin 46。由于小 bin 之间的相对差异较大,而大 bin 之间的相对差异较小,合并小 bin 可以降低每个 bin 的差分非线性(DNL),从而消除缺码问题。此外,跨不同时钟区域的时钟偏移导致的非线性也可通过 bin 减半来最小化。bin 宽度校准用每个 bin 的宽度校准因子(WCF)替换直方图中的加数,以校准每个 bin 的计数 [^33]。WCF 可通过 [^33] 计算
\begin{equation*} \text{WC}{\mathrm{F}}_i = \frac{1}{{1 + \text{DN}{\mathrm{L}}_i}} \tag{1} \end{equation*}
其中 WCFi 和 DNLi 分别是第 i 个 bin 的 WCF 和 DNL。对于多通道 TDC 设计,上述两步校准保证了不同通道之间线性的一致性。
F. 粗粒度累加器与双直方图
在典型的TDC中,通常采用粗计数器来扩展测量范围,时间戳通过连接粗计数和细计数来给出 47。然而,细计数的最大值通常无法达到其上限(例如,3位细计数的上限是111),因为它是由时钟周期除以分辨率给出的。因此,存在无效的时间戳,这会浪费内存资源,因为时间戳被用作直方图的地址。在我们的设计中,采用了粗累加器,其最低有效位等于细计数,从而可以消除无效时间戳。
为进一步降低TDC的空闲时间,提出了采用地址重映射的双直方图技术。传统基于BRAM的直方图只能在一个时钟周期内处理一个测量结果。在我们的设计中,采用了一个包含两个并行运作的BRAM的双直方图模块,以提高吞吐量并同时处理多个事件。与使用多于一个BRAM(即扩展范围但不能在同一时钟周期内运作)的传统基于BRAM的直方图相比,所提出的双直方图在资源利用率更高、吞吐量更大,因为它支持基于地址重映射的双BRAM同步运作。
图 3 显示了流水线 TDC 的时间图。击中信号触发 FDCE,然后生成的脉冲被采样电路捕获。经过三时钟周期的延迟,其中一个周期用于子 TDL 编码,两个周期用于求和,细计数被发送到校准 BRAM 以获得校准后的细时间戳,这需要两个时钟周期。将粗计数和细计数组合,时间戳 T 可以计算为
\begin{align*} T &= C + B \tag{2}\\ B &= N - F \tag{3} \end{align*}
其中 C 是粗累加器的值,F 是细时间,B 是最终的细时间,表示信号自上一次上升沿以来触发 TDL 的持续时间,N 是校准后最大的细计数,其等于时钟周期除以相应分辨率。
Fig. 3. 提议的TDC的时间图.
一般来说,为了获得正确的时序,粗粒度代码应在每个周期更新。但是由于地址重映射,粗粒度累加器每两个周期执行一次加法,而信号 BRAM_SW 每个周期切换一次,这决定了数据将在哪个 BRAM 中处理,并在这两个时钟周期内使 C 发生差异,如图 3 和 4(a) 所示。粗粒度累加器的加数为 N,它可根据不同分辨率进行调整,因为它们的最大细粒度代码不同,从而为不同应用提供了灵活性。在地址重映射期间,C 是基地址,B 是偏移地址,BRAM_SW 是指示数据方向的标志。每个粗粒度周期(即 C 保持相同值的连续两个时钟周期)的数据被视为一个组,并共享一个公共基地址。如图 4(a) 所示,每个粗粒度周期由奇数周期 2K-1 和偶数周期 2K 组成,其中 K 是正整数。偏移地址 B 根据整数 M 分为两部分,每部分对应一个用于直方图计数的 BRAM。M 小于 N,通常设为 N 的一半,这意味着它会随 N 变化。如图 3 和 4(a) 所示,在每个粗粒度周期的第一半(即 BRAM_SW = 0)中,B 小于 M 的偏移地址被重映射到 BRAM_1 的低地址,而 B 大于或等于 M 的偏移地址被重映射到 BRAM_2 的高地址。在每个粗粒度周期的第二半(即 BRAM_SW = 1)中,过程类似,只是简单地交换了两个 BRAM 的偏移地址。在随后的粗粒度周期中,地址组通过添加 N 的倍数向上移动,因为基地址 C。重映射后,直方图计数过程可以视为两个直方图模块并行工作。如图 4(b) 所示,例如使用八个延迟单元来插值一个时钟周期(即 N = 8),每个 BRAM 处理 TDL 的第一半和第二半的数据(即 M = 4,对两块 BRAM)。根据图 3,分别对应 F11 和 F12 的命中落在 TDL 的第一半和第二半,因此它们的时间戳 T11 和 T12 分别被送到 BRAM_1(即 Histogram_1)和 BRAM_2(即 Histogram_2)。而在下一个时钟周期,T21 和 T22 分别被送到 BRAM_2 和 BRAM_1。换言之,每个原始时间戳被映射到一个特定的 BRAM 地址,这通过粗粒度累加器和 BRAM_SW 实现。
Fig. 4. (a) 在所提议的双直方图法中进行地址重映射。(b) 当 N = 8 并且 M = 4 时的示例(假设 T11 = 1, T12 = 5, T21 = 9, T22 = 14 且 C1=0).
第III节 实验结果
所提出的TDC在Xilinx Kintex-7评估板KC705上实现,并以400 MHz进行流水线处理。测试了三种不同分辨率,以覆盖不同的测量范围,因为LiDAR中TDC的测量范围通常受可用于直方图的内存限制,降低分辨率是延长测量范围的常用方法 [^34], [^35]。在码密度测试(CDT)中,使用任意波形发生器(RIGOL DG4202)生成独立的随机命中信号,并在每一轮CDT中捕获至少10 000 000个样本。测试结果存储在直方图中,并通过通用异步收发接口读取,以在MATLAB中进行进一步处理。在时间间隔测试(TIT)中,FPGA上可用的延迟单元IDELAYE2被用来生成覆盖一个2.5 ns时钟周期、步进为39 ps的短延迟 [^36]。每次TIT至少捕获500 000个样本。在死区时间测试(DTT)中,FPGA的混合模式时钟管理器被用来生成高频测试信号,并将超过1 000 000次命中输入到TDL中。
A. 线性
线性误差(包括DNL和积分非线性(INL))通常用于评估TDC中的量化误差 48。DNL表示单个箱的偏差,而INL表示累计偏差总和,这些由以下方程定义:
\begin{align*} \text{DN}{\mathrm{L}}_i &= \frac{{{w}_i - \bar{w}}}{{\bar{w}}} \tag{4}\\ \text{IN}{\mathrm{L}}_i &= \sum_{k = 0}^i {\text{DN}{\mathrm{L}}_k} \tag{5} \end{align*}
其中 wi 是第 i 个箱的大小,\bar{w} 是CDT直方图中所有箱的平均大小。
由于时钟抖动相对于 TDL 的非线性可忽略不计,DNL 和 INL 由 TDL 决定。所提出 TDC 的线性特性见表 II。具体而言,所提出 TDC 在不同分辨率下校准前后 DNL 与 INL 已被测试以验证校准效果,如图 5 和 6 所示。校准前的 DNL 和 INL 分别在 [−0.952, 2.334] LSB 与 [−5.807, 3.666] LSB 范围内。校准后,分辨率分别为 41.67 ps、83.33 ps 与 166.67 ps 时,DNL 的范围分别为 [−0.023, 0.023] LSB、[−0.017, 0.014] LSB 与 [−0.013, 0.012] LSB,INL 的范围分别为 [−0.019, 0.064] LSB、[−0.010, 0.033] LSB 与 [−0.004, 0.018] LSB。否则还可以采用等效量化误差 σeq 和等效码尺 ωeq 来评估 TDC 49、[^37]、[^38]、[^39] 的线性度,其计算方法如下
\begin{align*} {\sigma }_{\text{eq}} &= \sqrt {\sum\nolimits_{i = 0}^{N - 1} {\frac{{w_i^3}}{{12W}}} } \tag{6}\\ {\omega }_{\text{eq}} &= {\sigma }_{\text{eq}}\sqrt {12} \tag{7} \end{align*}
其中 W 为总码尺大小,即时钟周期。理论上,σeq 的最小值约为 0.289 LSB [^39]。实际上,所提出 TDC 的 σeq 接近 0.289 LSB,等效码尺分别为 41.67、83.34 与 166.68 ps。还实现了一个八通道 TDC,用以展示不同通道的均匀性,其线性特性见表 III。因此,所提出 TDC 在校准后表现出高线性。
表 II
图 5. 所提出 TDC 在校准前的 DNL 与 INL (LSB = 10.64 ps).
图 6. 所提出 TDC 在校准后,当 LSB = (a) 41.67 ps, (b) 83.33 ps, and (c) 166.67 ps 时的 DNL 与 INL.
表 III
B. 精度
精度,也称为单射精度,表示测量值与期望值相差多远 50。TDC 的精度可表示为
\begin{equation*} \sigma = \sqrt {\frac{{\sum_{i = 1}^H {{{\left( {{h}_i - \mu } \right)}}^2} }}{{H - 1}}} \tag{8} \end{equation*}
其中 hi 是第 i 次命中量化后的值,μ 是 TIT 中直方图的平均值,H 是命中总数。图 7 显示了经过不同分辨率校准后所提出的 TDC 的精度,其中每个点表示由 TIT 生成的直方图的标准偏差。图 8 展示了 TIT 中的典型直方图。如图 7 所示,TIT 中存在许多零偏差点,因为在某些情况下命中无法落在相邻两个箱子的边界上,因此平均或最大精度并不适合对 TDC 精度性能进行恰当表征 [^37]。此外,如果存在更多零偏差点,即使在 [^37] 中给出的有效均方根 (RMS) 分辨率也无法充分量化精度性能,如表 II 和图 7 所示。因此,在计算平均精度时,精度小于 0.025(即最大值的 0.05 倍)的点被忽略,见表 II。该方法提供了有效且直观的性能评估,适用于受类似问题影响的其他设计。如图 9 所示,所提出的 TDC 在不同分辨率下全范围操作的平均精度也得到了验证,证明了 TDC 在宽测量范围内的高度鲁棒性。
图 7. 校准后所提出 TDC 的精度,当 LSB = (a) 41.67 ps, (b) 83.33 ps, (c) 166.67 ps.
图 8. 从 TIT 生成的直方图 (LSB = 41.67 ps).
图 9. 校准后所提出 TDC 在全范围内运行的平均精度.
图 10. 死区测试配置.
C. 死区
如图 10 所示,DTT 使用了两个计数器,它们简单地计数输入和输出脉冲的数量,以检查 FDCE 在给定频率下是否正常工作,或者是否有任何脉冲在 TDL 中消失。此外,合法的过渡边缘将被记录在直方图中,然后可以计算总命中次数(记为 SHIST)来检查是否因为 PVT 变化和脉冲收缩而丢失任何事件。因此,如果
\begin{equation*} \text{CN}{\mathrm{T}}_{\text{IN}} = \text{CN}{\mathrm{T}}_{\text{OUT}} = {S}_{\text{HIST}}. \tag{9} \end{equation*}
在 DTT 期间,输入测试信号的频率从 650 MHz 开始以 10 MHz 的步长扫到出现事件丢失(CNTIN>CNTOUT)的频率,即 690 MHz。因此,所提议的 TDC 的死区时间约为 1.47 ns,相应的转换速率为 680 MS/s(见表 II),该速率受 FDCE 最大工作频率的限制。相比之下,若使用现有基于 FPGA 的单时钟周期死区时间 TDC 结构,死区时间将为 2.5 ns。因此,所提议的 TDC 将死区时间缩短了 0.59 倍,转换速率提升了 1.7 倍。
D. 资源消耗
提议的 TDC 的资源消耗列于表 IV,仅包含 402 个 LUT 和 588 个 FF,约为 [^37] 中的 60%。由于编码和直方图模块消耗了大部分组合逻辑资源,采用提议的 DS-MUX 技术相比传统基于 FPGA 的 TDC 设计,显著减少了所需资源。除此之外,多路复用器逻辑可以通过 FPGA 切片中的两种构件 F7MUX 和 F8MUX 实现,从而降低 LUT 用量。再者,采用若干移位寄存器 LUT(SRLs)对提议的 TDC 进行流水线化,以进一步降低 FF 用量。因此,所提议的 TDC 在多通道 LiDAR 应用中具有资源高效性。可集成到 FPGA 上的通道数通常由可用 BRAM 决定。
表 IV
第四节. 比较与讨论
本文提出了一种低死机时间分辨率可调 TDC,采用资源高效的 DS-MUX 编码和双直方图技术,适用于基于 FPGA 的应用。表 V 对比了所提出的 TDC 与此前在 ASIC 和 FPGA 上报道的 TDC。总体而言,所提出的 TDC 在与最先进的基于 FPGA 的 TDC 相比时,具有高线性和高精度,甚至可与部分基于 ASIC 的 TDC [^40], [^41], [^42] 相媲美,因为应用了有效的校准,足以满足 LiDAR 需要的亚厘米级精度。特别是通过采用 bin 减数,所提出的 TDC 的 DNL 限制在 ±0.3 LSB 范围内,从而提高了 bin 宽度校准的精度,并进一步提升了 TDC 的整体性能。尽管在 51, 52, 53 中提出的 TDC 具有更高分辨率,但它们并不适用于多通道 LiDAR,因为每个通道的资源消耗较大,尤其是在需要宽测量范围但 histogramming 可用内存受限的情况下。
表 V
TDL-TDC 通常具有两时钟周期的低死时间,54。波形联合-A(WU-A)TDL-TDC 的死时间可缩短至一个时钟周期。在 55,报告了一台运行于 710 MHz 系统时钟的 WU-A TDL-TDC,但测得的死时间大于 1.47 ns,因为其编码器无法同时处理多个转换边缘。本文的死时间接近先前研究 56,但所提出的 TDC 以 400 MHz 运行,既省电又降低了时序要求。虽然在 57 中,死时间可缩短到一个时钟周期,但由于需要处理额外的转换情况,编码器更加复杂,死时间无法进一步降低。相比之下,所提出 TDC 的死时间被压缩至 0.59 倍时钟周期,即仅 400 MHz 频率下的 1.47 ns,这得益于所提出的 DS-MUX 编码和带地址重映射的双直方图技术。更低的 TDC 运行频率更能降低功耗,这也是所提出 TDC 与更高时钟频率的 TDC(58、[^43]、[^44])相比功耗更低的原因。虽然 [^33] 能实现更低的死时间,但其基于直接直方图架构,容易出现气泡问题,并消耗大量硬件资源进行直方图计数,不适合 FPGA 基于多通道 TDC 设计。此外,尽管所提出的 TDC 在 28 nm FPGA 上实现,其性能与在 [^37] 中 20 nm FPGA 上实现的设计相当,但资源消耗更低。与大多数 TDL-TDC(59、60、61、62、63)相比,所提出的 TDC 更具资源效率,使其适用于多通道实现。
第 V 节 结论
本文提出了一种资源高效的 DS-MUX 编码技术,以在保持低工作频率的同时降低 TDC 的死时。此外,提出了基于 BRAM 的双直方图模块,并采用独特的地址重映射,进一步提升吞吐量,同时最小化资源消耗。基于上述技术,实现了采用低死时架构的 FPGA 基于 TDC。实验结果验证了所提技术的有效性,该技术显著将 TDC 死时降低 0.59 倍,从而将转换速率提升 1.7 倍,同时实现高线性和高精度,且逻辑资源消耗仅为类似设计的约 60%。
脚注
. 所有精度数据都被计数。
. 仅计数大于0.025的精度。
. 有效 RMS 精度。
. 从报告数据计算。
. 峰峰 DNL 或 INL。
. 未使用直方图化。
. 理论死时。
. 实验死时。
. 直接直方图架构。
. 上升沿。
. 下降沿。
. 有效 RMS 分辨率(零偏差数据)。
. 仅计数大于0.025的精度。