SPAD单光子雪崩二极管:原理、关键参数与iToF/dToF选型实战

发布时间:2026/10/8 9:28:09
SPAD单光子雪崩二极管:原理、关键参数与iToF/dToF选型实战 提到“SPAD”这个缩写这两年不管是在手机影像、扫地机器人避障还是车载激光雷达的方案讨论里出现的频率都高得吓人。SPAD全称Single Photon Avalanche Diode中文叫单光子雪崩二极管本质上就是一个工作在盖革模式下的PN结光电二极管反向偏压加到击穿电压以上来一个光子触发一次雪崩电流直接输出一个标准数字脉冲。看起来原理简单但真要从器件原理讲到系统应用再到“iToF到底该选CMOS图像传感器工艺还是SPAD工艺”这种热门问题里面的门道不少。这篇文章我尽量用一篇完整的实操笔记把SPAD的来龙去脉、关键参数、测试方法和落地场景讲透也给正在做选型和开发的工程师一些可以直接参考的经验。不管你是刚接触单光子探测的研究生还是在评估激光雷达、手机接近传感器方案的产品经理这篇文章都适合你。我会从SPAD为什么能探测单光子开始逐步拆解它的性能指标、与CMOS工艺/iToF选型的关系、实际测试系统的搭建再到常见故障的排查最后聊聊我自己的实操体会。1. SPAD器件的核心工作原理1.1 为什么一定要“单光子级”探测能力先聊一个基础但很多人没真正想过的问题普通的光电二极管、CMOS图像传感器甚至常见的APD雪崩光电二极管为什么都做不到“单光子”这个灵敏度关键原因在于增益不够。普通光电二极管内部没有增益一个光子产生一对电子空穴对电荷量大概只有几微安/瓦级别信号很容易被后端读出噪声淹没。APD虽然做成了内部雪崩倍增结构但一般工作在“线性模式”增益在几十到几百倍对于单光子量级的微弱信号仍然不够可靠。而SPAD的工作方式完全不同它一上来就把偏压加到击穿电压之上只要有一个光子触发就产生一个急剧上升的雪崩电流。这个电流不以电子空穴对数量来衡量而是以“有没有发生雪崩”这个数字事件来表示。所以SPAD的增益并不像线性APD那样是连续值从物理效果上说它相当于把一个光子放大成百万甚至千万个电子形成可被CMOS逻辑直接读取的电平。这一点带来的本质变化是SPAD不再像常规传感器那样统计“光强”而是统计“光子事件”的时间分布。正因为能记录每个光子的到达时刻它才成为dToF直接飞行时间测距的核心配合高精度时间数字转换器TDC每个像素都能直接测出光从发出到返回的飞行时间再换算成距离。1.2 盖革模式、雪崩与淬灭过程SPAD的关键工作状态叫“盖革模式”。这个词借用自盖革计数器意思是只要有一个粒子或光子进入灵敏区就引发一次可检测的放电。具体到硅基SPAD内部工作原理可以拆成四步器件被反偏到高于击穿电压V_BD的状态这个超出量叫过压电压V_OVOvervoltage通常控制在0.5V到5V左右视工艺结构和目标性能而定。一个光子进入耗尽层被硅材料吸收产生一个电子空穴对。电子或空穴在强电场中加速通过碰撞电离产生新的电子空穴对形成雪崩倍增。由于电场强度非常高这个过程在几十皮秒到几百皮秒内即可建立电流迅速增大。雪崩一旦发生如果不在短时间内部把电流“掐断”就会一直维持轻则器件发热重则烧毁结区。所以必须要有淬灭电路检测到雪崩电流后迅速把器件两端电压拉低或者串联电阻分压让电流降到维持电压以下雪崩停止。然后经过一小段“恢复时间”器件重新回到可探测下一个光子的状态。这里可以拿“拉闸停电”做个类比。盖革模式就像一条长期带电的高压线路任何一个微小的触发源都会导致短路放电。淬灭电路就是那个在短路后瞬间跳闸的空气开关跳闸后还必须等一小会儿才能重新合闸避免刚合闸又触发。这个“等一小会儿”在SPAD里就是死区时间它决定了器件的最大计数率和光强动态范围。淬灭电路的选择直接影响性能。最简单的是被动淬灭在SPAD阳极串联一个高阻值的淬灭电阻几十千欧到几百千欧雪崩电流在电阻上产生压降自动把结两端电压拉低。优点是电路极其简单缺点是恢复时间较长容易发生后脉冲雪崩过程中俘获的载流子被延迟释放刷新率提不上去。更常用的是主动淬灭雪崩发生后由比较器或逻辑门快速检测到电流变化主动把偏压拉低复位死区时间可以压缩到几十纳秒甚至更短这样单位时间能探测的光子数就高得多。不过主动淬灭对版图和时序控制要求更高功耗也会增加需要在系统层级权衡。1.3 五个关键参数决定SPAD好不好用我整理了一张表把衡量SPAD性能的核心参数和它们的影响列出来。选器件或者做版图设计时最先看的永远是这几个值参数含义典型量级影响与说明光子探测效率PDE入射光子被探测到并触发的概率可见光波段常见10%~30%红外波段通常低于10%PDE越高相同光强下计数越多测距越远暗计数率DCR无光照时单位时间内的误触发次数几十微米直径器件室温下几百Hz到几十kHzDCR决定探测底噪过高会让弱信号被噪声淹没后脉冲概率一次雪崩后释放被俘获载流子导致误计数常见0.1%~5%后脉冲会污染时间统计对dToF影响尤其明显时间抖动光子到达时刻与输出脉冲时刻之间的时间散布通常20ps~300ps FWHMdToF测距精度由抖动直接决定1cm对应67ps死区时间探测光子后到恢复可探测的时间主动淬灭下几十纳秒到几百纳秒决定最大计数率影响强光下的线性度这几个参数之间往往是互相牵制的。比如提高过压V_OVPDE会上升但是DCR、后脉冲和抖动都会变差减小器件面积能降DCR但填充因子和系统灵敏度又会受影响。好SPAD的设计本质上是在这些指标之间找平衡点这正是它的工艺和版图设计门槛所在。2. iToF用CMOS还是SPAD工艺先搞清楚两条测距路线2.1 iToF和dToF工作原理完全不同“iToF到底是用CMOS还是SPAD工艺”能成为一个热搜问题根源在于很多人把iToF和dToF混在一起讨论而这两条技术路线对传感器的需求其实南辕北辙。iToF是间接飞行时间测距。它发射的不是单发脉冲而是连续的正弦波或方波调制光。接收端需要在调制周期的不同相位窗口内多次采样光电流通过计算相位偏移来推算光的飞行时间。简单说iToF测的是“正弦波回归的相位差”而不是单个光子的到达时间。这就需要传感器具备非常强的“相位采样”能力高频调制、高速快门、低噪声的电荷域读取、多相位像素设计。这些能力恰好是CMOS图像传感器工艺最擅长的事。dToF是直接飞行时间测距。它发射一个极窄的光脉冲记录这个脉冲出发到返回之间的精确时间差。dToF要求传感器能记录单个光子的到达时刻并且时间精度要到皮秒级。而SPAD天然就是一个数字时间事件源搭配TDC和直方图统计电路就是为dToF设计的完美检测前端。所以这两个方案对工艺平台的需求是不一样的iToF主流方案用CMOS图像传感器工艺dToF主流方案用SPAD工艺。这不是哪家厂商拍脑袋决定的而是物理原理决定的。2.2 为什么iToF更依赖CMOS图像传感器工艺iToF用CMOS图像传感器工艺有几方面原因。第一像素尺寸和空间分辨率。iToF需要输出整个深度图像素密度越高越好。CMOS图像传感器工艺经过手机摄像头多年迭代像素间距已经做到1微米量级全局快门和锁相读出技术相当成熟。SPAD由于需要容纳雪崩倍增区和淬灭/计数电路像素尺寸很难做小通常都在5微米以上做大面积深度图上的密度完全不是一个量级。第二相位解调能力。iToF需要同时完成高频调制信号的相位采样典型调制频率在10MHz到200MHz之间这对像素内部存储区和读出时序要求非常苛刻。CMOS图像传感器工艺的高频全局快门设计、低延时行选通和深沟槽隔离能力都是为了这个问题优化过的。SPAD工艺在这方面没有积累它的强项是“时间戳”而非“相位积分”。第三成本与规模化。CMOS图像传感器工艺已经是一条极其成熟的产线良率高、功耗可控、封装方案多适合消费电子这种对BOM成本极度敏感的场景。SPAD专用工艺虽然也在往CMOS兼容方向走但目前仍是偏专用的平台成本天然要高一些。所以如果你搜到“iToF是用cmos还是spad工艺”直接记住一个结论当前几乎所有量产iToF深度相机用的都是CMOS图像传感器工艺。SPAD工艺主攻dToF方向。2.3 “CMOS还是SPAD”其实是个伪二分法不过还有一个要点需要讲清楚。很多人看到“CMOS工艺”和“SPAD工艺”这两个词会以为它们是两种完全不相干的平台实际上不对。SPAD本身完全可以做在CMOS工艺上而且大多数商用SPAD芯片就是标准CMOS工艺或改良CMOS工艺产出的。所谓“用CMOS工艺制造的SPAD”指的就是在CMOS工艺平台上做特殊的外延层设计、掺杂结构调整和隔离结构优化让PN结在击穿电压以上的行为符合单光子探测要求。而“SPAD专用工艺平台”则是在此基础上再引入更深度的定制比如更厚的外延层、增强的保护环结构、多晶硅淬灭电阻集成、深沟槽隔离DTI等目的在于压低暗计数、削弱串扰、优化近红外探测效率。用一句话概括CMOS工艺是制造SPAD的底座专用SPAD工艺则是在这个底座上为雪崩器件做了更多定制。真正值得纠结的不是“用CMOS还是SPAD”而是“用标准CIS工艺做SoC集成SPAD还是用专门优化的SPAD工艺做独立dToF传感器”。目前产业里两种思路都存在。很多手机里的激光对焦模块是把小尺寸SPAD阵列和TDC做在同一个CMOS兼容芯片上而高端车载激光雷达使用的SPAD面阵则更倾向于用专门的SPAD背照式BSI工艺以拿到更高的探测效率和更低的串扰。3. 从器件到系统偏压、淬灭、TDC与测试平台搭建3.1 偏压电路和淬灭电路的设计要点把一颗裸SPAD芯片拿来你不给它搭一套合适的外围电路它什么也干不了。这里最核心的三件事是偏压生成、淬灭控制、时间读出。偏压这块SPAD的工作电压通常是击穿电压加一个过压V_OV。不同工艺击穿电压差异很大从几伏到几十伏都有。如果用到几十伏偏压就需要用DC-DC升压配合线性稳压器输出而且纹波和噪声必须压得很低。为什么这个要求很关键因为过压直接决定PDE、DCR和抖动如果偏压纹波有几十毫伏时间抖动里就会混入偏压波动带来的误差更严重的是一旦偏压超过安全范围器件暗计数率会瞬间飙升甚至直接损坏。淬灭电路我们在前面提过被动淬灭和主动淬灭各有各的适用场景。这里给个选型建议单点测距或低速计数被动淬灭完全够用电路简单、不占面积要做高速dToF或者高计数率的TCSPC系统尽量上主动淬灭。主动淬灭电路需要快速比较器或专用逻辑检测到雪崩后立刻把偏压拉低再快速复位。我在调试中遇到过一种很隐蔽的主动淬灭问题复位时序如果和高频时钟冲突会出现间隔性丢脉冲表现出来的症状是计数率有规律地每秒掉几个百分点排查了很久才发现是复位信号宽度设得过长。时间读出方面如果要做dToFSPAD输出必须接TDC把“光子到达时刻”编码成数字量。TDC的分辨率和线性度直接决定测距精度1厘米距离对应67皮秒时间所以分辨率至少要达到几十皮秒。有些集成芯片会把TDC做在SPAD旁边形成“SPAD像素每像素TDC”的架构外置TCSPC模块也能实现皮秒级测量适合实验室研究。选择时要关注的指标除了分辨率还有差分非线性DNL和积分非线性INL这两个参数不好看的话直方图会变形距离公式标定都救不回来。3.2 搭建一个基础的SPAD单光子测试平台很多读者可能没接触过SPAD的实测这里我写一个基于实验室最常见设备的测试流程你照着搭也能复现。测试平台需要什么一个待测SPAD芯片或裸管焊在可调夹具上预留偏压和输出接口。一套可调直流稳压源至少两通道一个给偏压一个给淬灭电路供电。一个宽带示波器带宽500MHz以上用来观察雪崩脉冲的波形。一台脉冲激光器波长和待测SPAD响应波段匹配脉宽尽量窄最好小于50ps用于抖动测试。一组中性密度衰减片ND用来把激光衰减到单光子量级。一个频率计数器或者TCSPC计时模块用来统计计数率和时间分布。第一步偏压初始化。先把偏压从0V缓慢升高到击穿电压以下再逐步跨过击穿点同时观察示波器。跨过击穿电压的瞬间暗计数会出现。我不建议你一上去就拉满过压容易让器件进入持续雪崩状态烧坏淬灭管。正确做法是每次增加100mV左右看到暗计数出现后再加200mV作为初始工作点。第二步暗计数率DCR测量。关闭所有光源整个平台放在暗箱里用计数器统计100秒内的脉冲次数除以时间得到DCR。如果DCR比手册高很多先检查偏压是否超了推荐值再检查周围有没有漏光最后再看温度SPAD对温度非常敏感集成电路的热风枪吹一下都可能让DCR翻倍。第三步弱光响应和PDE测量。打开激光器加衰减片用标准光功率计最好用的是已标定的硅探测器测量到达SPAD平面位置的光功率换算成单位时间光子数。然后用SPAD计数减去暗计数除以入射光子数就是PDE。要注意的是如果光功率太强SPAD进入饱和区计算出的PDE会偏低所以衰减片要多加几档测到PDE不再随功率变化时才是真实值。第四步时间抖动测量。用窄脉冲激光触发TDC或示波器记录光子到达时刻相对激光同步信号的时间差做直方图。直方图的半峰全宽FWHM就是时间抖动。理想情况下抖动曲线应该接近高斯分布但带有稍长的尾部。如果测量时发现抖动特别大先不要急着怀疑器件看看激光脉冲本身有没有时间晃动timing jitter这种系统级误差很容易被误判成SPAD性能问题。3.3 死区时间、饱和效应和光子计数率修正用SPAD统计光子时死区时间会带来一个很经典的非线性问题。假设死区时间是t_d真实光子到达率为R则实际观测到的计数率S满足一个极限关系S R / (1 R * t_d)这个公式用大白话说就是光子越密每个死区期间漏掉的光子比例越大计数器在强光下会出现饱和。比如死区时间100ns理论上最大计数率是10MHz但实际到了3MHz左右非线性已经很明显了。做定量测量时要对这个非线性做修正。反过来用S和t_d可以估算真实光子率R。如果系统是并行形的多个SPAD并联组成阵列比如SiPM饱和规律更复杂大致是按“每个微元死区泊松统计”的模型修正。我在实际测过一组数据一个SPAD死区128ns用弱光照射实测计数率50kHz推算真实光子率约56kHz把光强加强后实测到达380kHz用公式推算真实值约437kHz两者差约13%。如果你不做修正后续标定出来的距离或光强曲线就会带系统偏差。3.4 集成与产线阶段容易忽略的几个坑芯片调好了不代表系统稳了集成阶段我踩过好几个坑这里挑典型的说。第一个是封装漏光。SPAD对单光子都敏感更何况普通封装材料本身的荧光和工作时邻近LED的侧向光。有些封装材料在近红外波段会发光或透光导致DCR和杂散计数飙升。解决办法是在封装内加黑色挡墙或在芯片表面覆盖只留光窗的金属遮光层同时严格控制光窗的视场角。第二个是温度补偿。SPAD的击穿电压随温度漂移典型值是几十毫伏/°C这意味着同一个偏压设定在冷天和热天对应的过压完全不同。批量产线一定要做查表校准用片上温度传感器采集温度再动态调整偏压保持过压恒定。别问我为什么强调这个我见过一批设备夏天测试全通过、冬天批量DCR超标的现场事故问题就出在偏压没做温度补偿。第三个是静电防护ESD。SPAD的结区面积小击穿电压低对ESD比常规CMOS芯片脆弱。版图设计时必须加保护二极管链但保护电路本身又会引入漏电流所以调试前期很多人会关掉保护环来提升性能这是非常危险的。量产阶段建议保留保护电路同时做严格的ESD管控流程操作台接地、物料车防静电、测试治具在插拔前先放电。4. SPAD前沿应用从手机到激光雷达再到显微镜4.1 消费电子手机激光雷达、接近传感与自动对焦智能手机是SPAD走进大众视野最大的推手。手机上那颗“激光雷达扫描仪”LiDAR其实就是一个典型的dToF方案内部由一颗VCSEL脉冲激光器和一片SPAD阵列组成。它发射红外激光脉冲SPAD记录每一个返回光子的时间然后做直方图统计利用“多脉冲累加”把原本淹没在噪声里的弱回波信号提取出来从而测出几米范围内物体的距离信息。这套方案的好处是响应快、功耗低能支撑自动对焦、AR测距和场景深度感知。除了高规格的激光雷达手机里还有大量SPAD在工作。比如接近传感器当手机贴近耳朵时SPAD检测接收到的反射光强突变触发屏幕熄灭。早年接近传感器用的是红外LED加普通光电二极管后来为了降低误触发率和适应弱光场景逐步迁移到SPAD方案。毕竟SPAD的灵敏度高可以把LED驱动电流压得很低既省电又不容易被环境光干扰。4.2 车载激光雷达从单点测距到SPAD面阵在车载激光雷达领域SPAD的应用路径更有意思。早期的机械旋转式激光雷达用单点激光器加APD每个扫描角度测一个点激光雷达要做旋转机构体积大、成本高、可靠性也一般。后来固态化演进到MEMS扫描方案本质上仍是点云扫描探测单元还是APD或线性光电探测器。真正让SPAD面阵在车载市场站稳脚跟的是“闪光式Flash激光雷达”。它用一个面阵光源一次性照亮整个视场再用一片SPAD面阵同时感应所有像素的光子返回时间。因为SPAD是数字输出每个像素都能给出一个时间值所以不需要逐点扫描帧率越高、测距越远完全取决于SPAD阵列的尺寸、PDE和暗计数控制。目前车载SPAD面阵的挑战集中在近红外波段905nm和940nm的PDE较低、高温环境下DCR偏高、大阵列良率不足这几个方面。不过从趋势上看车载激光雷达正在从机械式和半固态方案向纯固态Flash和可寻址VCSELSPAD方案迁移这是降本增量和提升可靠性的一条现实路径。我自己在评估车载方案时会把“阵列均匀性”作为一个重点考核项因为有些SPAD芯片平均PDE漂亮但不同像素之间差异极大最后点云中会出现固定条纹噪声。4.3 医疗与生命科学PET、FLIM与显微成像SPAD在医疗和科研领域的价值往往被消费电子热度盖住但它是最早推动SPAD技术成熟的应用场景。正电子发射断层扫描PET需要在极短时间内捕捉伽马光子或切伦科夫光信号SPAD和SiPM硅光电倍增管因为时间分辨率好、时间响应块、磁场兼容性强已经大规模替代传统光电倍增管PMT成为主流探测器。荧光寿命成像FLIM是另一个刚需场景。当荧光分子被脉冲激光激发后其发射光子的时间延迟分布中含有很多分子环境的化学信息。SPAD配合TCSPC模块可以把每一个荧光光子的到达时刻按皮秒级精度记录成直方图从而得到荧光寿命值。这在活体成像、药物筛选和单分子研究中都非常实用。实验室里做这类实验SPAD方案最大的优势是体积小、集成度高不需要像PMT那样背一个上千伏的高压模块。4.4 工业测量与量子技术中的SPAD工业上很多精密测距、测速设备用的就是SPAD做高精度时间测量。激光测距仪在工业现场和建筑测量中已经很普及不少型号用的是SPAD芯片因为单光子灵敏度可以保证在很低的激光功率下仍获得几十米以上量程同时满足人眼安全等级。更前沿的量子信息领域SPAD几乎是单光子源的标配探测器。量子密钥分发QKD、量子随机数发生器和一些量子光学实验都需要对单光子事件做时间关联计数。虽然超导纳米线探测器在某些性能上更强但SPAD能在常温条件工作、成本低、无需低温环境所以依然是工程系统和入门级量子实验中更现实的选择。5. 常见问题与排查技巧实录5.1 SPAD测试与开发常见问题速查表这里把我在开发过程中遇到的问题整理成一张速查表基本都是文档上不会写的经验。现象可能原因排查思路与解决暗计数异常高过压过高、漏光、芯片温度过高、封装荧光先关灯测DCR再降低过压检查暗箱密封加主动制冷计数率随光强增长到一定值后不再上升死区饱和用S R/(1R·t_d) 修正或降低光强时间直方图出现额外小峰后脉冲或电源纹波干扰检查淬灭电路和死区时间为偏压加低噪声LDO整个阵列部分像素完全不响应工艺缺陷、焊盘虚焊、ESD损坏先做功能测试脚本区分芯片级和封装级问题距离测出来整体偏差固定一段TDC原点偏移、直方图起始时间设置错误做系统级标定记录电气延迟并扣除强光下测距精度反而变差死区导致光子时间分布畸变、堆积效应降低激光功率或增加更多SPAD微元分摊光子率5.2 三个亲身踩坑案例第一个案例是暗计数虚高问题。当时拿到一颗标称DCR小于500Hz的SPAD实测却有8kHz所有标准检查都做了也没找出原因。后来用近红外相机拍芯片工作时才发现是测试夹具旁边的红色LED状态灯漏光经过光学平台反射后进入了探测窗口。把LED用黑胶带封死后DCR立刻降到300Hz不到。这个故事提醒我SPAD对光的敏感不是开玩笑的任何非探测目标光源都必须当成噪声源处理。第二个案例是时间抖动恶化。测试时激光脉冲宽度约30ps但最终SPAD输出抖动始终在500ps以上怎么调过压都没用。排查后发现问题出在偏压电源的输出噪声开关电源频率正好落在TDC的采样频带附近引入了明显的干扰。换成低噪声线性电源再加一级RC滤波后抖动降到100ps以内。高频测量系统里电源完整性影响效果常常被轻视。第三个案例是量产阶段的温度漂移问题。一批dToF测距模块在25°C环境下距离精度都很好但放到65°C高温箱做老练时测距误差从0.5cm暴涨到5cm。分析后确认是SPAD击穿电压随温度漂移过压变小PDE下降回波计数变少直方图峰值也产生了偏差。后来固件里加了温度补偿表每5°C调整一次过压档位问题才彻底解决。5.3 几个实用调试建议最后分享几个我多年调试下来的小习惯。一是每次测试前拿一个标准光源做一遍黑白对比确认SPAD的暗计数水平在基线附近。防止环境变化对环境本底的影响。二是所有时间相关测量都把激光脉冲的触发信号分出一路直接接到TDC的参考通道这样可以扣除系统固定的电气延迟。三是别迷信单个芯片性能参数。批量采购时关键的SPAD参数如PDE、DCR、抖动一定要抽样测分布而不是只看平均值。平均值容易掩盖边缘像素失效和工艺漂移问题。四是做一个简单的“光窗遮挡测试”。用不透光材料挡住SPAD光窗如果计数率没有下降到接近0说明有路径漏光要么是封装壳体缝隙要么是PCB走线反射。这个测试30秒就能完成但能避免后续大量无效调试。6. 我最后想说的几条大实话SPAD这个器件给我的感觉是原理一句话能讲完但每个环节都会教你怎么做人。偏压电源、淬灭时序、光线屏蔽、温度补偿、TDC校准任何一块偷懒最终都会以奇怪的抖动数据或者离谱的暗计数回报你。我个人在做项目时会先把需求固定清楚到底是做dToF还是iToF需要多远的探测距离光强环境是否受控这些决定传感器选型和工艺路线。然后再围绕SPAD的几大参数做取舍。没有一款SPAD能在所有指标上做到行业巅峰能找到“在目标场景下各项参数够用”的型号已经可以算很理想了。如果是刚开始接触SPAD我的建议是先买一块成熟的集成dToF模组就是市面上那种带VCSEL和SPAD的小模块跑通整套测试流程对“单光子事件时间直方图”建立直觉再回到芯片级做设计。磨刀不误砍柴工这个步骤省不得。等领域里的坑都踩过一遍你自然会理解为什么这么多人和产品都在往SPAD这条赛道上挤因为它把“测距离”这件事从模拟光强的模糊推断变成了数字时间戳的精确测量这个转变本身就是这个行业正在发生的最重要的事。