ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

SPAD单光子雪崩二极管:原理、关键参数与激光雷达应用实战解析

2026/10/7 2:39:45 拓冰建站 浏览量
SPAD单光子雪崩二极管:原理、关键参数与激光雷达应用实战解析 1. 从“单光子”说起SPAD 到底是什么为什么突然火了我跟不少同行聊过很多人第一次听到“SPAD”这个缩写第一反应是“又是哪个新出的传感器型号”其实全称是 Single Photon Avalanche Diode单光子雪崩二极管。它不是新东西上世纪六七十年代就有了雏形但这几年突然从实验室走向了量产主要被两件事带火了一是智能手机上的激光雷达LiDAR二是各种车载激光雷达、AGV 避障、工业测距模组。SPAD 的能力用一个词概括就是“极限灵敏”。普通光电二极管PD检测到光时会产生一个微弱电流需要后端放大器才能读出而 SPAD 工作在盖革模式Geiger Mode下单个光子入射就能触发一次雪崩电流输出一个幅度大、边沿陡的数字脉冲。也就是说它把“检测光”这件事直接变成了“数光子”连模拟放大器都可以省掉。这个特性决定了它特别适合三种场景弱光探测、单光子计数、高精度时间测量。比如激光雷达里要测量光子从发射到返回的飞行时间ToF如果探测器的响应抖动很大测距精度就上不去而 SPAD 的时间抖动可以做到几十皮秒量级对应的测距精度在厘米甚至毫米级。再加上它能在极短曝光时间内捕捉到极微弱信号这让它成了 dToF直接飞行时间方案的核心器件。适合读这篇文章的人我想大致是三类一是做激光雷达、安防监控、生物荧光检测、量子通信相关硬件开发的工程师想搞清楚 SPAD 器件本身的门道二是用 SPAD 传感器做系统集成的朋友比如选型、评估、联调三是对光电半导体感兴趣的学生或研究者需要一个提纲挈领的认知框架。无论你属于哪一类我尽量不讲空话把原理、参数、选型、踩坑都掰开揉碎讲清楚。2. 为什么偏偏是“雪崩二极管”核心原理与工作模式拆解2.1 盖革模式把“一个光子”放大成“一场雪崩”要理解 SPAD先要理解它的工作区。普通 PIN 光电二极管通常工作在反向偏压较低的区间光生载流子在耗尽区被电场加速产生一定的倍增效应但增益有限一般在几十到几百倍。SPAD 不一样它的反向偏压被加到了击穿电压Breakdown Voltage简称 (V_{BD})之上进入所谓的盖革模式。在盖革模式下耗尽区的电场强度非常高一旦有一个光子被吸收产生一个电子-空穴对这个载流子在强电场中加速获得足够动能后会碰撞晶格原子电离产生更多的电子-空穴对这些次级载流子再继续电离像多米诺骨牌一样连锁反应最终形成一个宏观可测的雪崩电流。这个过程的增益可以达到 (10^6) 到 (10^7)也就是说一个光子就能产生百万到千万级的电子流根本不需要外部放大。这个“过度偏置”的电压差通常叫过偏压Excess Bias(V_{EX})是 SPAD 的一个核心控制参数。过偏压越大电场越强光子触发雪崩的概率光子探测概率PDP越高但暗计数率DCR也会同步上升两者之间需要平衡。实际应用中过偏压一般取击穿电压的 5%~20% 左右具体数值取决于工艺节点和器件设计。2.2 淬灭机制为什么雪崩不能一直持续雪崩一旦触发如果不做处理电流会一直流下去器件就烧掉了或者至少无法探测下一个光子。所以 SPAD 必须配备“淬灭”机制也就是在雪崩发生后快速把偏压降到击穿电压以下让雪崩停止然后再恢复到工作偏压准备探测下一个光子。淬灭方式有三种主流路线被动淬灭在 SPAD 阳极串联一个大电阻通常是几百 kΩ 到 MΩ 量级雪崩电流在电阻上产生压降使得 SPAD 两端的实际电压跌落到击穿电压以下雪崩自然停止。这是最简单、最常用的方式但恢复时间较长限制了最大计数率。主动淬灭通过比较器检测雪崩电流的上升沿然后快速驱动一个晶体管把偏压拉低淬灭速度可以做到纳秒级恢复时间大幅缩短。混合淬灭先被动淬灭一部分再主动加速恢复常用于对计数率要求极高的场景。我在实际调试中遇到过一个问题被动淬灭虽然简单但在高背景光环境下SPAD 很容易被连续触发导致死时间占比过高探测效率骤降。这时候要么换成主动淬灭架构要么降低过偏压、加上光学窄带滤波片先把杂散光压下去。2.3 死时间探测器的“不应期”淬灭和恢复不是瞬间完成的从雪崩发生到器件恢复到可再次探测新光子的状态需要一段时间这个时间就叫死时间Dead Time。死时间决定了 SPAD 的最大光子计数率。如果光子到达率很高死时间内到达的光子就会丢失导致计数非线性这一步在实际测距中特别关键。举个例子某个 SPAD 的死时间是 50ns那它的理论最大计数率就是 (1/50ns 20MHz)。但实际应用中要考虑泊松统计修正当输入光子速率达到 5MHz 以上时计数损失就比较明显了需要用公式做校正。 [ N_{true} \frac{N_{measured}}{1 - N_{measured} \times t_{dead}} ] 这个公式是把测到的计数率往真实值修正我从项目里拿到的经验是不管用的在低计数率下效果好但高计数率下误差会迅速放大。所以系统设计时最好留足余量别把 SPAD 推到计数极限去跑。2.4 SPAD 与普通 APD 的区别一个“数数字”一个“量模拟”很多人容易把 SPAD 和 APD雪崩光电二极管混淆这里必须说清楚。APD 工作在击穿电压以下增益是线性的、模拟的输出电流幅度与入射光强成正比而 SPAD 工作在击穿电压以上输出的是数字脉冲只能告诉你“有没有光子”不能直接告诉你“有多少光子”光子数量信息需要通过统计脉冲个数来恢复。所以 SPAD 本质上是一个单光子计数器适合做“光子到达时间分布”的测量而 APD 更适合做模拟光强检测比如光纤通信里的接收机。两者在应用上互补不是替代关系。3. 关键参数逐项拆解选型时该看什么、怎么算3.1 光子探测概率PDP效率就是生命PDP 表示一个光子入射到 SPAD 后能成功触发雪崩的概率它是波长、过偏压、温度的函数。在可见光到近红外波段好的 SPAD 的 PDP 能做到 30%~50%在 905nm 波长处通常低一些约 5%~20%。为什么激光雷达普遍选 905nm因为在这个波长下人眼安全阈值比可见光高很多而且大气透过率也还行代价就是硅基 SPAD 的 PDP 会下降。选型时有几个坑要避开数据手册里的 PDP 往往是在最优波长、最优过偏压、常温下测的实际工作条件要打折扣。PDP 和暗计数率是“连体婴”过偏压调高PDP 上去的同时 DCR 也上去。系统设计时要看信噪比不能只看单点参数。温度升高会导致击穿电压漂移PDP 曲线也会移动所以必须考虑温控或动态调节偏压。3.2 暗计数率DCR没有光也有“噪声”暗计数率是指在没有光照的情况下SPAD 每秒自发触发的雪崩次数单位是 cpscounts per second或者 Hz。暗计数的来源主要有两个一是耗尽区的热激发载流子二是隧道效应。温度越高热激发越强DCR 呈指数上升。DCR 对 dToF 测距来说非常致命因为它会在直方图里产生一个本底噪声弱信号可能被淹没。选型时可以关注“单位面积暗计数率”因为大面积 SPAD 的 DCR 会随面积增大而变差有些厂商会把大面积 SPAD 做成多个小 SPAD 阵列通过后端逻辑来“择优选取”这是常见的工程妥协。在实际测试时我一般会先做“暗箱测试”记录环境的 DCR 水平再做“光照测试”对比两者差异看信噪比是不是在可接受范围。这个基础动作能帮你规避掉很多后来在整机测试里才暴露的问题。3.3 时间抖动Timing Jitter测距精度的天花板时间抖动描述的是“光子到达时间”与“SPAD 输出脉冲时间”之间的时间偏差分布。它受两个主要因素影响一是载流子在耗尽区不同位置被吸收后到达倍增区的渡越时间差异二是雪崩建立过程的统计涨落。时间抖动的典型值在几十 ps 到几百 ps 之间半高全宽FWHM越小越好。在 dToF 系统中时间抖动直接影响测距精度简单换算一下1ns 的时间误差对应约 15cm 的距离误差光速约 (3 \times 10^8) m/s往返除 2所以 100ps 的抖动大致对应 1.5cm 的精度极限。3.4 串扰Crosstalk阵列芯片的隐形杀手SPAD 阵列芯片上一个像素雪崩时会发出少量二次光子这些光子可能被相邻像素吸收并触发雪崩造成虚假计数。这个现象叫光学串扰Optical Crosstalk在阵列设计中必须考虑。抑制措施包括像素之间加隔离沟槽Trench Isolation、深掺杂阱隔离、优化衬底厚度等。还有一种电学串扰是通过共享衬底或电源网络耦合过去的。这类串扰在评估阶段很难发现往往要到整机测试时才冒出来。我遇到过一次单颗 SPAD 测试正常但阵列跑起来后某些像素的暗计数率异常升高排查了半天才发现是电源走线耦合导致的。4. 应用场景分析dToF、iToF 与 SPAD 的关系4.1 dToF 为什么离不开 SPAD直接飞行时间dToF测距的原理很直白发射光脉冲记录光从发射到接收的飞行时间 (t)距离 (d c \times t / 2)。这个方案的关键在于探测器需要能精准记录单个光子的到达时间所以必须用 SPAD 或其它具备单光子探测能力的器件。发射端通常用 VCSEL 激光器配合 Diffuser扩散片打出一个照明区域。接收端做成一维或二维 SPAD 阵列每个像素记录自己的光子到达时间生成直方图提取峰值对应的时间即为飞行时间。需要特别强调的是dToF 和“用 CMOS 工艺做图像传感器”并不矛盾。SPAD 本身也可以基于 CMOS 工艺制造而且现在的主流趋势恰恰是 CMOS SPAD——就是把 SPAD 像素和读出电路、TDC时间数字转换器、直方图处理逻辑集成在同一个芯片上做成真正的单芯片 dToF 传感器。4.2 iToF 用 CMOS 还是 SPAD这个问题要分两半回答iToF间接飞行时间和 dToF 虽然都叫 ToF但工作原理完全不同。iToF 不直接测时间而是发射连续调制的光波通常是正弦波或方波接收端测量反射光与发射光之间的相位差再换算出距离。它用的是“相关采样”的方式每个像素在不同的相位窗口里积分得到多组强度值再解算出相位。那 iToF 到底用 CMOS 还是 SPAD 工艺这个问题的答案其实是两种都可以。先说传统的 iToF它通常用 CMOS 图像传感器工艺实现像素结构是“感光二极管 多个调制栅极”本质上属于累积分式探测器光子在像素内被“分拣”到不同的存储节点然后读出电压信号。这种方案的好处是像素可以做得很小、分辨率高、成本可控缺点是灵敏度相对有限弱光环境下表现一般。再说 SPAD 工艺的 iToFSPAD 输出的是脉冲信号iToF 测量的是“光子到达时间的概率分布”而 SPAD 恰好能输出“每个光子的到达时间”所以也能用来做 iToF。具体做法是在每个 SPAD 像素后接一个 TDC记录每个光子的到达时间然后累加出相位信息或者用更简单的办法——在每个调制周期内统计 SPAD 脉冲落在不同相位窗口的数量再解相位。那为什么有人会问 iToF 该用 CMOS 还是 SPAD我猜大家的困惑在于dToF 必须用 SPAD那 iToF 是不是也可以用 SPAD答案是可以用而且实际上一些前沿方案确实在往这个方向走。用 SPAD 做 iToF 的优势在于灵敏度高弱光、远距离表现更好。响应快调制频率可以做得更高理论上测距精度更高。数字输出天然免疫模拟读出噪声。劣势也很明显SPAD 像素面积大分辨率做不高。高光子率下死时间会引入非线性需要校正。功耗和成本相对更高。所以 iToF 用 CMOS 还是 SPAD不完全是工艺问题更是系统级权衡。如果追求成本、分辨率和成熟度传统 CMOS iToF 依然是当前主流如果追求远距离、强光抑制和弱光性能SPAD 方案更值得投入。4.3 激光雷达从单点测距到面阵成像目前主流车载激光雷达有两条技术路线机械式扫描和固态式。机械式方案用单点或少量 SPAD 配合旋转电机实现 360° 扫描固态式方案则倾向于用大面积 SPAD 阵列实现闪光式Flash LiDAR或无扫描部件的固态 LiDAR。闪光式 LiDAR 的原理就像拍照发射一个大面积光脉冲照亮场景接收端的 SPAD 面阵同时记录每个像素的光子飞行时间一次就能生成一帧 3D 深度图。这个方案的优势是结构简单、无运动部件、可靠性高难点在于发射功率、SPAD 面阵规模、散热和数据处理都得很强。我接触到的一些 Flash LiDAR 开发板SPAD 阵列规模在 32x32、64x64 量级帧率能跑到 30fps 以上测距范围在几十米以内。如果要做到 200m 以上的远距离探测对 SPAD 灵敏度和发射端功率的要求会迅速上升系统设计的复杂度也会跳一个台阶。4.4 医疗、科研与消费电子的延伸场景除了激光雷达SPAD 还有几个值得关注的应用方向正电子发射断层成像PET和荧光寿命成像FLIM需要高时间分辨率的探测器SPAD 阵列正好满足要求。量子密钥分发QKD单光子探测是量子通信的基础SPAD 是核心器件。穿透式成像和生物传感比如皮肤检测、血糖无创检测利用 SPAD 的高灵敏度捕捉微弱散射光。手机接近传感器和辅助对焦比传统红外接近传感器探测距离更远、功耗更低。这些方向的应用逻辑都是一样的弱光 时间分辨这两点是 SPAD 发挥价值的核心。5. 芯片选型与系统集成实操从规格书到电路板5.1 评估阶段必看的五个维度如果你准备在项目里用 SPAD 传感器拿到选型表后不要急着下单先用以下五个维度筛一遍像素结构与阵列规模你是需要单点测距、线阵扫描还是面阵成像像素数量和像素尺寸直接决定系统分辨率。时间抖动与死时间dToF 系统重点看抖动高计数率系统重点看死时间。温度特性关注击穿电压的温度系数是多少数据手册里有没有提供不同温度下的 PDP/DCR 曲线。如果温漂大必须预留偏压调整电路。集成度芯片是否集成了 TDC、直方图引擎、时间戳输出集成度高能大幅降低系统设计难度但灵活性会差一些。评估套件支持有些厂商提供完整的评估板和 SDK软件工具包能帮你快速验证光路、算法和系统性能这些工具的成熟度往往决定开发周期。5.2 硬件设计时的几个关键点SPAD 对电源噪声和参考电压噪声非常敏感因为雪崩触发的判定阈值通常在毫伏级甚至更低。我在设计时一般会做到以下几点模拟电源和数字电源严格分离SPAD 的偏置电压用低噪声 LDO低压差线性稳压器单独供电避免开关电源纹波耦合进去。高压偏置电路通常几十伏如 20V~40V具体看芯片规格需要尽量靠近 SPAD 引脚减少走线电感和寄生电容。PCB 布局时SPAD 的敏感引脚周围不要走高频数字信号线保持净空区域减少串扰。如果芯片有温度传感器输出建议预留采集通道用于温度补偿算法。散热也要重点考虑。SPAD 阵列功耗不低而且温度升高会带来 DCR 上升、击穿电压漂移等问题。如果系统做的是远距离测距建议把 SPAD 芯片的热设计做扎实散热片、导热垫、风道都要提前规划好。5.3 光路设计一个最容易被低估的环节SPAD 解决的是“电”的问题但整个系统的性能上限往往由“光”决定。光路设计包括发射端的准直、扩散、波长选择以及接收端的滤波、聚焦。接收端的光学滤波非常关键。室外场景下太阳光的光子通量远大于信号光如果不加窄带滤光片SPAD 阵列会被背景光淹没。滤光片的中心波长要和激光器匹配带宽越窄越好通常选 10nm 或更窄的带通滤波器同时在镜头表面镀增透膜减少反射损耗。发射端如果是 VCSEL要考虑温漂问题VCSEL 的发射波长随温度变化会漂移如果滤光片带宽太窄温度变化导致波长偏出通带接收效率就会断崖式下降。比较稳妥的做法是选带宽适中的滤光片并做发射端温控。5.4 数据处理链路直方图怎么用dToF 传感器输出的原始数据通常是每个像素的光子到达时间戳Time Stamp或者直接是直方图数据。直方图的横轴是时间 bin纵轴是每个时间 bin 内的计数。测距算法的核心是从直方图中提取“信号峰”的位置。最简单的做法是找全局最大值但在强背景光或多次反射场景下这么做很容易出错。实际工程中常用“先扣除本底——再找峰值——用峰值附近的重心做精确定位”的流程先采集一段“无信号”的直方图做本底估计通常是取多个时间 bin 的最小值或平均值。从原始直方图中减去本底。设定阈值超过阈值后视为有信号。在信号峰附近取几个 bin计算强度加权重心得到亚 bin 精度的时间位置。这个流程说起来简单调起来有不少细节。比如本底是随时间缓慢波动的不能一次性测完就固定再比如多目标场景下直方图可能有多个峰需要用聚类或峰值检测算法来分离。6. 常见问题排查与调试经验6.1 暗计数异常偏高先查偏压再查温度最后查光源如果你的 SPAD 传感器在无光照条件下暗计数率远超规格书标称值按这个顺序排查偏压是否准确确认实际加在 SPAD 两端的电压是否和寄存器配置一致用万用表实测关键节点电压。温度是否过高手摸芯片外壳温度如果明显烫手优先加强散热。是否存在漏光检查测试环境有没有被环境光照到特别是红外波段人眼看不见但 SPAD 感觉得到。供电是否干净用示波器看偏压电源的纹波如果超标加滤波电容或更换 LDO。芯片本身是否有问题排除以上因素后仍有问题可以换一颗芯片对比测试。6.2 测距噪声大多半是时间抖动和信号强度的问题测距结果跳动大常见的原因有几个信号太弱直方图峰不够尖锐。解决办法是增强发射功率、优化光学效率、增加积分时间。时间抖动过大可能是过偏压配置不合适。适当降低过偏压有时反而能改善抖动同时牺牲一点 PDP。温度漂移导致击穿电压变化测距偏置逐渐变大。解决办法是做温度传感器闭环补偿动态调整偏压。存在多路径反射直方图拖尾严重。这种场景下算法层面做波形拟合比简单峰值检测要稳得多。6.3 为什么在阳光下测距会失效背景光饱和问题阳光直射下的背景光子通量极高SPAD 很可能在信号到达之前就被背景光子触发导致死时间被占满信号光子到达时反而测不到。解决思路有几条加窄带滤光片把所有非信号波长的光全部挡掉。使用时间门控Time Gating技术只在预期信号到达的时间窗口内开启 SPAD窗口外直接关闭大幅降低背景光计数。提高发射端的峰值功率让信号光强度压过背景光。用多帧累加和本底扣除算法把固定背景削掉。我把这几条按效果排序滤光片最基础时间门控最有效但要增加系统复杂度。实际项目中这几条往往是组合使用。6.4 死时间导致计数饱和怎么判断和规避如果你发现测得的距离值在近距离时偏差越来越大很可能是死时间导致的计数饱和。判断方法是把目标拉远数值偏差是否减小如果拉远后偏差明显变小基本可以确认是饱和问题。规避手段包括降低 SPAD 的过偏压减小死时间如果芯片支持可调。缩短积分时间片避免长时间暴露在强回波下。用多像素合并或轮流采样降低每个像素的光子到达率。在后处理里做死时间修正不要直接拿原始计数当线性值用。6.5 阵列像素一致性差坏点校正必不可少大面积 SPAD 阵列上的坏点Hot Pixel和高暗计数像素几乎不可避免这和芯片工艺良率有关。做系统标定时必须做坏点校正在暗箱条件下采集多帧数据找出计数率异常高的像素记为坏点。在均匀光照条件下采集数据找出响应率异常低的像素记为暗点。在运行阶段把坏点的数据直接丢弃或者用邻近像素插值填补。这一步必须在整机标定流程里固化下来否则到了量产阶段不同芯片的坏点位置不一样如果不校正成品的点云质量会参差不齐。7. 写在最后我对 SPAD 选型与落地的一点实战体会做 SPAD 相关的项目最关键的认知是它不是一个“即插即用”的传感器而是一个需要系统级协同优化的器件。芯片只是决定了性能上限光学、电源、算法、标定共同决定了实际能达到的性能下限。我们做过一个评估项目同一颗 SPAD 芯片在没有优化光路时测距精度只能到 ±5cm优化了镜头、滤光片、偏压校准后精度提升到 ±1cm 以内差距非常大。另外一个小建议如果你刚开始接触 SPAD 方案尽量选择有完整评估套件和参考代码的厂商先用别人的方案跑通系统再逐步替换自研模块。这样可以大幅缩短初期调试时间也更容易积累对器件特性的直觉。SPAD 是一个“小器件、大系统”的典型。它本身的物理原理不复杂但真正落地时牵涉到光学、模拟电路、数字逻辑、算法、可靠性设计方方面面。这篇文章把我踩过的坑、归纳的方法、筛选过的思路都整理了出来希望对正在做或准备做 SPAD 方案的朋友有所启发。