← 全部文章

如何精确测量时间

  • ToF
  • LiDAR
  • TDC
  • 数字电路
目录

严格来说,电子测量系统通常测量的不是抽象的“时间”,而是两个事件之间的时间间隔。例如,在脉冲式飞行时间(Time of Flight,ToF)激光雷达中,START 事件对应激光发射,STOP 事件对应回波被探测器接收。

这两个事件可能只相隔几纳秒,甚至几百皮秒。普通微控制器的定时器无法直接分辨如此短的时间,那么专用芯片是如何做到的?

1. 为什么需要皮秒级时间测量

脉冲式 ToF 激光雷达发射一个短激光脉冲,脉冲被目标反射后返回接收器。若光在介质中的传播速度为 vv,往返时间为 Δt\Delta t,传感器到目标的距离为:

R=vΔt2R=\frac{v\Delta t}{2}

公式中的 22 来自光的往返传播。在空气中可以近似取 vcv\approx c;精密测量时还要考虑空气折射率 nn,此时 v=c/nv=c/n

脉冲式 ToF 测距原理

如果希望距离分辨率达到 ΔR=3 cm\Delta R=3\ \mathrm{cm},理想情况下所需的时间分辨率为:

Δt=2ΔRc=2×0.033.0×1082.0×1010 s=200 ps\Delta t=\frac{2\Delta R}{c} =\frac{2\times0.03}{3.0\times10^8} \approx2.0\times10^{-10}\ \mathrm{s} =200\ \mathrm{ps}

200 ps 相当于 5 GHz 时钟的一个周期。对常见微控制器来说,直接使用同步计数器确实无法得到这样的时间分辨率。

不过,这并不意味着整个芯片必须以 5 GHz 运行。工程上通常使用一个较低频率的参考时钟完成“粗计数”,再使用模拟或数字插值电路测量不足一个时钟周期的“细时间”。

2. 从普通计数器到时间数字转换器

测量 START 与 STOP 之间的时间间隔,最直观的方法是在 START 到来时打开计数门,在 STOP 到来时关闭计数门。如果参考时钟周期为 TrefT_\mathrm{ref},计数结果为 NN,那么最简单的计数器只能得到:

ΔtNTref\Delta t\approx N T_\mathrm{ref}

其量化步长就是参考时钟周期。例如,100 MHz 时钟的周期为 10 ns,无法直接区分 10.1 ns 和 10.2 ns。

高分辨率时间间隔计数器会在粗计数之外增加细时间插值。根据具体电路对 START 和 STOP 相位的定义,测量结果可以概括为:

Δt=NTref+tfine\Delta t=N T_\mathrm{ref}+t_\mathrm{fine}

其中,NTrefN T_\mathrm{ref} 表示整数个参考时钟周期,tfinet_\mathrm{fine} 表示不足一个时钟周期的细分部分。

将时间间隔转换为数字码的电路称为时间数字转换器(Time-to-Digital Converter,TDC)。它可以是独立 ASIC,也可以集成在传感器芯片、FPGA 或专用测量仪器中。

3. 抽头延迟链如何测量细时间

一种经典 TDC 结构是抽头延迟链(Tapped Delay Line)。

START 信号进入由缓冲器、反相器或 FPGA 进位单元构成的延迟链。信号每通过一级,就产生一个很小的传播延迟 τk\tau_k。每一级的输出都连接到锁存器或寄存器;STOP 到来时,所有抽头状态被同时采样。

抽头延迟链 TDC 原理

如果 START 已经传播过前 kk 级,但还没有到达第 k+1k+1 级,采样结果会形成类似下面的“温度计码”:

11111111110000000000
          ^
       波前位置

根据波前位置可以估计细时间:

tfinej=1kτjt_\mathrm{fine}\approx\sum_{j=1}^{k}\tau_j

原始示意图将每个非门抽头连接到“动态存储器”,这个说法不够准确。实际 TDC 一般使用一组锁存器或触发器,在 STOP 或参考时钟边沿到来时并行捕获延迟链状态。

3.1 为什么不能假设每一级延迟都完全相同

理想模型常写成:

tfinekτt_\mathrm{fine}\approx k\tau

但真实芯片中,每一级延迟都会受到以下因素影响:

  • 制造工艺偏差;
  • 电源电压变化;
  • 芯片温度变化;
  • 布局布线与负载不一致;
  • 相邻逻辑和时钟网络产生的噪声。

这些因素通常简称为 PVT,即 Process、Voltage、Temperature。即使平均门延迟满足要求,各个时间格也不一定等宽。因此,高精度 TDC 不能只在出厂时标定一个统一的“门延迟”,还需要逐时间格标定、参考时钟校准或运行时温度补偿。

3.2 温度计码也可能出现错误

由于抽头附近存在建立时间、保持时间和亚稳态问题,采样结果不一定是完美的连续 111...000,可能出现:

11111101110000000000

这种局部不连续通常称为气泡码(bubble)。TDC 编码器需要通过气泡抑制、边沿检测或统计校准,将原始抽头状态转换成稳定的时间码。

4. 不只有延迟链一种方法

皮秒级时间测量可以采用多种架构。

4.1 粗计数器加细插值

这是许多专用 TDC 的基本思路:参考时钟计数器负责较长测量范围,延迟链、环形振荡器或模拟插值器负责一个时钟周期以内的细时间。

4.2 游标延迟线

游标结构使用两条传播速度略有不同的延迟链。两个边沿之间的时间差会在每一级缩小,直到快边沿追上慢边沿。理论时间分辨率由两条延迟链的单位延迟之差决定,而不是单条延迟链的绝对门延迟。

4.3 时间幅度转换

时间幅度转换器(Time-to-Amplitude Converter,TAC)可以在 START 到 STOP 之间对电容进行充电,将时间间隔转换为电压,再通过 ADC 完成数字化。这类方法能够提供较高分辨率,但对模拟电路、泄漏、电源和温度较敏感。

4.4 FPGA 进位链

FPGA 内部的快速进位链具有规则、短延迟的特点,可以用作抽头延迟线。它便于多通道和算法迭代,但仍需要处理布局约束、PVT 漂移、非线性和气泡码,不能把综合后的逻辑直接视为理想延迟链。

5. 分辨率、精密度和准确度不是一回事

宣传资料中常见“测量精度 20 ps”这样的表述,但它可能混淆了多个指标。

指标含义
时间格宽度或 LSB数字输出能够表达的最小时间步长
单次测量分辨率单次测量能够区分的最小时间差
重复性或单次精密度对相同时间间隔重复测量时结果的离散程度,常用标准差或 RMS 表示
准确度测量结果与可溯源真值之间的接近程度,包含系统偏差
DNL各时间格宽度相对于理想 LSB 的偏差
INL整个转换范围内累计转换曲线相对于理想直线的偏差

一个 TDC 的标称时间格为 20 ps,不代表每次测量的误差小于 20 ps,也不代表装入激光雷达后可以直接得到 3 mm 距离准确度。

例如,若只看理想时间量化,22 ps 对应的往返距离增量为:

ΔRideal=c×22 ps23.3 mm\Delta R_\mathrm{ideal} =\frac{c\times22\ \mathrm{ps}}{2} \approx3.3\ \mathrm{mm}

这只是数字化步长对应的理想距离增量。实际整机误差通常还会大得多。

6. ToF 系统的误差不只来自 TDC

在直接 ToF 激光雷达中,一次测距会经过完整的信号链:

flowchart LR
    A["参考时钟"] --> B["激光驱动与发射"]
    B --> C["目标与传播路径"]
    C --> D["光电探测器"]
    D --> E["跨阻放大器"]
    E --> F["比较器或判别器"]
    F --> G["TDC"]
    G --> H["校准与距离解算"]

最终测距误差是整条链路共同作用的结果。

6.1 激光脉冲宽度与发射抖动

START 信号并不一定等于光真正离开激光器的时刻。激光驱动器、激光器本身以及用于监测发射脉冲的电路都会引入固定延迟和随机抖动。激光脉冲越宽,分辨两个相近目标回波也越困难。

6.2 探测器和模拟前端抖动

回波首先由 APD、SPAD 等光电探测器转换为电信号,再经过跨阻放大器和比较器。光子统计、探测器时间抖动、放大器噪声和比较器传播延迟都会影响 STOP 时刻。

6.3 阈值越过引起的时间游走

如果比较器使用固定阈值检测回波,那么强回波上升得快,会较早越过阈值;弱回波上升得慢,会较晚越过同一阈值。即使两个目标距离相同,也可能得到不同的到达时刻。这种误差称为时间游走(time walk)或距离游走(range walk)。

常见补偿方法包括:

  • 使用恒比判别器;
  • 同时测量回波幅度或脉宽并建立标定模型;
  • 使用多个阈值估计边沿斜率;
  • 对完整回波波形进行采样和相关处理。

6.4 参考时钟的准确度与抖动

TDC 的内部细时间单元通常需要外部参考时钟校准。参考时钟的频率偏差会按比例转换为时间测量偏差;时钟抖动则增加随机测量不确定度。更细的 TDC 时间格无法补偿一个漂移严重或抖动很大的参考时钟。

6.5 环境和目标特性

目标反射率、入射角、距离、大气衰减、雨雾、背景光以及多路径都会改变回波幅度和波形。在更高精度的应用中,还需要考虑空气折射率随温度、气压和湿度的变化。

7. 如何进行校准

高分辨率 TDC 通常需要多层校准。

7.1 参考时钟校准

使用稳定、低抖动且频率误差已知的参考时钟,标定粗计数周期和细时间单元的平均尺度。有些专用 TDC 会在每次测量或每组测量前后自动执行校准周期。

7.2 时间格标定

向 TDC 输入相对于参考时钟均匀分布的随机事件,统计每个数字码出现的次数,可以估计各时间格的真实宽度。这种方法常称为码密度测试(code-density test),可用于修正 DNL 和 INL。

7.3 固定延迟与温度标定

测量已知电缆延迟、已知光路或已知距离目标,得到整个发射和接收链路的固定偏置。随后在不同温度、电压和信号幅度下重复测试,建立补偿表或模型。

7.4 平均不能消除系统误差

如果各次测量的随机误差相互独立,平均 MM 次后,随机误差的标准差理论上可按 1/M1/\sqrt{M} 缩小。但平均不会消除固定延迟、时间游走、INL 和温度漂移等系统误差,甚至可能掩盖错误的校准模型。

8. ToF 也不只有直接计时

本文重点介绍的是脉冲式直接 ToF(direct ToF,dToF),即直接记录光脉冲的发射与到达时刻。

其他常见方法还包括:

  • 间接 ToF(iToF):连续调制光源,通过发射信号与接收信号的相位差计算距离;
  • FMCW LiDAR:对激光频率进行调制,通过发射光与回波的拍频估计距离和速度;
  • 相关法或波形采样:对发射与接收波形进行相关匹配,不只依赖单个阈值越过时刻。

不同方法对激光器、探测器、模拟前端、计算量、抗背景光能力和最大无模糊距离的要求不同,不能用一套 TDC 指标概括所有 ToF 系统。

总结

皮秒级时间间隔测量并不要求微控制器或整个芯片以数 GHz 的频率同步运行。常见做法是用参考时钟完成粗计数,再用延迟链、环形振荡器或模拟插值器测量不足一个时钟周期的细时间。

抽头延迟链能够把信号传播距离转换成温度计码,是 TDC 的经典实现之一。但真实电路会受到 PVT 漂移、非线性、气泡码、亚稳态和参考时钟质量影响,必须通过校准和数字校正才能获得稳定结果。

对于 ToF 激光测距,TDC 只是整条链路的一部分。激光脉冲、探测器、模拟前端、比较器时间游走、目标反射率和环境条件都会影响最终测距性能。因此,在阅读数据手册时,应分别查看分辨率、单次精密度、准确度、DNL、INL、测量范围和校准条件,而不能只看一个“多少皮秒”的数字。

参考资料