1. 课程导入

欢迎进入《SPAD ToF接收与测距工程》课程。本课程面向已经具备基本模拟电路、数字信号处理与光电探测知识的工程师,系统讲解基于单光子雪崩二极管(SPAD)的飞行时间(Time-of-Flight, ToF)接收链路与测距工程实现。学完本课程,你将能够独立分析SPAD接收前端的关键指标,设计并调试一套完整的ToF测距系统,并理解从光子入射到距离输出的全链路工程约束。

一、学习目标

本课程的学习目标分为四个层次,从器件理解到系统集成逐级递进:

  • 器件层:理解SPAD的盖革模式工作机理、雪崩击穿、淬灭与恢复过程,掌握光子探测效率(PDE)、暗计数率(DCR)、死时间等核心参数。
  • 电路层:掌握被动淬灭、主动淬灭与门控淬灭电路的设计方法,理解时间数字转换器(TDC)的架构与分辨率对测距精度的影响。
  • 算法层:能够实现直方图统计、峰值检测、质心法与匹配滤波等ToF估计算法,并分析多回波与背景光干扰下的鲁棒性。
  • 系统层:完成激光驱动、光学收发、SPAD阵列、TDC与数据处理模块的联调,输出满足精度与量程要求的距离数据。

二、核心概念与整体框架

SPAD ToF测距的本质是测量光脉冲从发射到返回的时间差。系统发射一束短激光脉冲,光子经目标反射后被SPAD接收,SPAD在盖革模式下将单个光子转换为可测的电脉冲,TDC记录该脉冲相对于发射时刻的到达时间,多次重复后形成光子到达时间直方图,直方图中的峰值位置即对应目标距离。

整个接收与测距链路可划分为五个功能模块:光学接收(滤光片、聚焦透镜)、SPAD探测(像素与淬灭电路)、时间测量(TDC与时钟管理)、数据统计(直方图累加)、距离解算(峰值/质心估计)。下图展示了这一信号链的完整拓扑与关键参数传递关系。

SPAD ToF 接收与测距信号链 激光驱动 脉冲宽度 / 峰值功率 发射光学 准直 / 扩散角 目标物体 反射率 / 距离 接收光学 窄带滤光 / 聚焦 SPAD 像素 PDE / DCR / 死时间 淬灭电路 被动 / 主动 / 门控 TDC 分辨率 / 量程 直方图统计 累加次数 / bin 宽度 距离解算 峰值 / 质心 / 滤波 关键关系: 距离 d = c · Δt / 2,其中 Δt 为光子往返时间;测距精度受 TDC 分辨率、SPAD 抖动(jitter)与直方图统计量共同制约。 最大量程由激光重复周期与 TDC 量程决定;最小可探测信号受 DCR、背景光与累加次数限制。

三、典型应用场景

SPAD ToF技术已从实验室走向大规模商用,典型场景包括:

应用场景 典型量程 精度要求 关键挑战
手机/平板激光对焦 0.1–3 m ±1 cm 低功耗、小体积、强背景光
车载激光雷达 10–200 m ±2–5 cm 远距离弱回波、多目标、人眼安全
工业三维扫描 0.5–20 m ±1 mm 高重复频率、高线性度
医疗内窥镜 1–50 mm ±0.1 mm 微型化、生物兼容、低电压
无人机避障 0.5–30 m ±3 cm 轻量化、抗振动、宽视场

四、方法流程:从光子到距离

一个完整的测距周期包含以下步骤,工程实现中通常以硬件状态机或FPGA流水线方式执行:

  1. 初始化:配置SPAD偏置电压(高于击穿电压VBD)、淬灭阈值、TDC量程与直方图bin数。
  2. 发射同步:激光驱动发出短脉冲,同时产生START信号送入TDC。
  3. 光子接收:SPAD探测到回波光子,输出STOP脉冲,TDC记录时间差。
  4. 直方图累加:将每次测量的时间差落入对应bin,重复N次(如1000–100000次)。
  5. 峰值搜索:在直方图中寻找最大值或进行质心计算,得到Δtpeak。
  6. 距离输出:按d = c·Δt/2计算距离,并进行温度与非线性校正。

工程提示:直方图累加次数N与信噪比的关系近似为SNR ∝ √N。当背景光较强时,单纯增加N会导致直方图底噪抬升,此时应优先使用窄带滤光片与时间门控(time gating)抑制背景。

五、常见误区与复盘

误区一:认为SPAD增益越高越好。实际上过高的过偏压会显著增加DCR和后脉冲(afterpulsing),反而恶化信噪比。

误区二:忽略死时间对高计数率的影响。当回波光子率接近1/死时间时,SPAD进入饱和,直方图峰值展宽甚至偏移。

误区三:只关注TDC分辨率而忽略SPAD抖动。系统时间抖动是TDC抖动与SPAD抖动(通常100–300 ps)的均方根合成,后者往往占主导。

复盘上述误区,核心原则是:SPAD ToF系统的精度与量程是光学、器件、电路、算法多域耦合的结果,任何单一模块的优化都必须放在全链路中评估。本课程后续章节将逐一拆解这些模块,并给出可复现的设计与调试方法。

六、关键参数速查

# SPAD ToF 接收链路核心参数示例
PDE          = 5% ~ 30%      # 光子探测效率,随波长变化
DCR          = 10 ~ 1000 cps # 暗计数率,与过偏压和温度强相关
Jitter       = 100 ~ 300 ps  # 单光子时间抖动(FWHM)
Dead Time    = 10 ~ 100 ns   # 死时间,决定最大计数率
TDC LSB      = 10 ~ 100 ps   # 时间数字转换分辨率
Histogram Bins = 256 ~ 4096  # 直方图bin数
Laser Rep Rate = 10 kHz ~ 10 MHz
Accumulation N = 1e3 ~ 1e5   # 累加次数