ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SPAD单光子雪崩二极管:原理、关键参数与iToF/dToF工艺之争

SPAD单光子雪崩二极管:原理、关键参数与iToF/dToF工艺之争 你有没有注意到手机摄像头旁边那颗不起眼的小模组能在全黑环境下“咔”地一下得到场景深度信息帮助相机快速对焦甚至隔着一两米就能扫出一张带纵深的人像。这些功能背后很多靠的是一种叫SPAD的元件。SPAD全称Single Photon Avalanche Diode中文常叫单光子雪崩二极管。第一次看到这个名字很容易被“单光子”三个字带偏以为它是一种精密又脆弱的光学仪器实际上它是半导体器件工作方式也一点都不“温柔”——它在反向偏压远超击穿电压的状态下待命一个光子到达就能触发一场微型雪崩输出一个幅值巨大的电流脉冲。这篇文章我想从SPAD的物理原理讲起把关键参数掰开揉碎也会重点说一个我在各种技术交流群里被反复问到的问题手机上那些iToF测距传感器用的到底是CMOS工艺还是SPAD工艺这个问题很有代表性说明很多从业者在“探测器件类型”和“制造工艺”这两个概念之间绕进去了。如果你正在做dToF激光雷达、接近感应、医疗成像或者只是好奇手机深度摄像头里的门道这篇文章应该能帮你把整个框架捋清楚。1. SPAD到底是个什么器件盖革模式下的“一触即发”1.1 从一次光子吸收到一场雪崩放电SPAD的本质是一个PN结光电二极管但它工作在一个特殊的偏置区域——盖革模式。要理解这个模式得先回到半导体物理的几条基本规则。普通光电二极管在反向偏压下工作时耗尽区里存在一个电场。光子进入耗尽区能量大于硅禁带宽度的部分会被吸收激发出一个电子-空穴对。电子和空穴在电场作用下分别向两极漂移形成光电流。这个过程听起来很清爽但问题是效率太低一个光子产生一对载流子宏观上就是很小的电流信号通常需要外部放大器做大幅增益才能被电路识别。雪崩光电二极管APD在这个基础上往前走了一步把反向偏压提高让耗尽区的电场足够强强到漂移中的载流子在与晶格原子碰撞时能把价带电子撞到导带产生新的电子-空穴对。新产生的载流子继续被电场加速继续碰撞电离这就是雪崩倍增过程。APD能让增益达到几十倍甚至上百倍但它依然工作在“线性模式”下输出电流和入射光功率保持线性关系。SPAD和APD的分水岭就在这里。SPAD的反向偏压被推到击穿电压之上只要有一个载流子进入高场区触发碰撞电离雪崩就会在极短时间内自我维持形成一股电流大得惊人的雪崩流。这时候增益不再是几十倍而是10的5次方甚至10的6次方量级。一个单个光子的能量最终会变成一个毫安级甚至更大的电流脉冲直接可以用简单比较器识别成数字信号。打个比方APD像一个能把一声轻语放大成正常说话声音的话筒SPAD则像一挺子弹已经上膛、保险打开的扳机轻轻一碰整条链路完整击发没有任何中间挡位。1.2 雪崩一旦开始就必须“淬灭”盖革模式带来超高灵敏度的同时也带来一个麻烦雪崩一旦触发如果不干预电流会一直在高电场下持续流动PN结可能会因为局部过热而损坏。所以SPAD周围必须有一个淬灭电路负责在雪崩电流建立起来之后快速把偏压拉回击穿电压以下让雪崩停下来然后等一段时间再恢复偏压等待下一个光子。淬灭方式主要有三种被动淬灭在SPAD阳极串联一个大电阻雪崩电流流过电阻时产生压降把SPAD两端电压拖到击穿电压之下雪崩自然熄灭。这种方式简单可靠但因为RC延迟死时间通常比较长。主动淬灭用比较器实时监测雪崩电流检测到电流边沿后立刻通过晶体管把偏压短接到低电平整个淬灭过程可以做到几纳秒恢复电压也用主动方式快速完成死时间被压缩得很短。混合淬灭被动淬灭负责初步压制雪崩电流主动电路负责快速恢复兼顾两者的优点。从雪崩触发到淬灭完成、再到偏压恢复这个过程需要时间这个时间叫死时间。死时间很重要的原因我在后面讲参数时会展开这里只需要记住一个结论死时间决定了SPAD能承受的最大计数率也决定了它是“单光子触发的数字脉冲源”。1.3 把SPAD变成完整探测器需要哪些电路单个SPAD本身只是个毛坯要真正用来测量光的到达时刻需要一整套信号链。一个典型的dToF探测通道由这几个部分组成SPAD阵列负责光子到电流脉冲的转换。淬灭电路每个SPAD像素都配有被动或主动淬灭结构。时间数字转换器TDC记录光子到达时刻的时间戳。TDC的分辨率直接决定测距精度常用分辨率在几十皮秒到一两百皮秒之间。直方图处理模块把成千上万个光子事件按时间戳累计成直方图通过峰值查找判断真实回波信号。这个链路和普通光电传感器完全不同。普通CMOS图像传感器输出的是模拟电平经过ADC量化为灰度值SPAD输出的是数字脉冲天然就是“0/1”逻辑信号不需要高分辨率ADC因此抗噪声能力非常强。这一点在后面讨论iToF时会再次出现。2. SPAD和普通光电探测器放一起看到底赢在哪里2.1 一张表看清SPAD、APD、PIN和普通像素的区别很多刚接触SPAD的人容易把它往传统光电二极管上靠但实际上它们在偏压设置、输出形式和增益机制上的差异不是一点点。我把常见几类探测器放在一起对比器件类型偏压状态增益输出信号能否测光子时刻PIN光电二极管低反向偏压1微弱电流难以直接测APD雪崩光电二极管接近击穿电压几十到几百倍线性放大电流需要深度放大SPAD高于击穿电压10^5~10^6数字脉冲可以CMOS图像传感器像素积分模式下偏置1电荷转电压模拟电压/数字灰度不能拍单光子时刻从这个表能看出来SPAD真正的护城河在于直接输出数字脉冲它把“光信号—电子信号—可测时刻”这条链路缩短到极限。传统APD虽然也能提高信噪比但要检测单光子级信号仍需极低噪声的模拟放大链而且幅度信息受增益漂移影响很大SPAD不需要幅度信息它关心的只是“有没有发生雪崩”和“发生在什么时刻”。2.2 为什么数字脉冲让SPAD占有特殊生态位数字输出带来的优势在实际系统里非常实用。首先链路不需要高精度ADCTDC的计量对象是时间间隔时间测量的基础是稳定的时钟和逻辑门延迟而不是电压参考所以SPAD系统对电源电压波动有一定韧性。其次SPAD像盖革计数器一样对单个粒子敏感因此可以做到极低噪声极限下的探测这在荧光寿命成像和量子密钥分发这类光子极少、时间信息极关键的领域是刚需。数字脉冲和线性探测还有一个本质区别线性探测器在弱光条件下受读出噪声限制单个光子信号会被噪声淹没SPAD不受读出噪声影响——它只关心击穿与否本质上是一个阉割幅度信息、保留时间信息的“二元光子传感器”。2.3 SPAD也是CMOS造出来的一个容易混淆的点聊到“iToF是用CMOS还是SPAD工艺”之前必须先把“CMOS工艺”和“CMOS图像传感器”这两个词拆开。CMOS工艺本质上是制造集成电路的一套流程N阱、P阱、浅沟槽隔离、多层金属互连这些工序是很多模拟、数字、混合信号芯片的共同底座。SPAD就是在CMOS工艺线上制造出来的——它只是把PN结设计成工作在盖革模式下的高场结构再配合淬灭晶体管、TDC等电路就能做成单芯片集成。所以“SPAD工艺”和“CMOS工艺”不是对立的。准确说法是SPAD是目前可以用标准CMOS工艺实现的单光子探测器件而大家常说的“CMOS图像传感器”指的是以光电二极管阵列为核心、输出图像灰度信息的传感器。SPAD阵列也是一种CMOS图像传感器只不过它“拍”的是一幅光子到达时间图而不是光强灰度图。想通这一点再去思考iToF的问题就会顺很多。3. 数据手册不会明说的三大参数权衡PDE、DCR、死时间3.1 PDE光子探测概率不等于量子效率SPAD面前放着一个光子有多大可能真正触发一次雪崩这个概率叫光子探测效率PDE。它和量子效率QE不是一回事。一个光子被吸收并产生电子空穴对的概率是QE产生的载流子恰好进入高场倍增区并且成功触发雪崩的概率叫触发概率。PDE是两者以及终端结构耦合效率的乘积。PDE对波长敏感。短波长光子吸收深度浅容易在死区被复合长波长光子吸收得深可能穿过耗尽区进入衬底失去倍增机会。因此每个SPAD工艺都有自己最舒适的波段典型可见光SPAD在500nm附近PDE能做到30%~50%而905nm波段配合衬底减薄和背面入射技术PDE也能做到10%上下这也是车载激光雷达长期围绕905nm和1550nm做文章的原因之一。想提高PDE最直接的办法是增加过偏压。过偏压越高结电场越强触发雪崩的概率越大PDE曲线整体上移。但随后你就会遇到DCR的问题这也是所有选型工程师最头疼的地方。3.2 DCR暗计数率——你的“单光子探测器”有没有在撒谎没有光照时SPAD也会输出脉冲这叫暗计数。暗计数的来源主要是半导体结区内的热激发载流子、带带隧穿、陷阱辅助隧穿。一个载流子只要误入高场区就可能引发一场假的雪崩系统和真实回波无法区分。暗计数率DCR通常用cps表示即每秒暗脉冲数。单颗SPAD的DCR可以做到几十到几百cps但阵列大了以后因为工艺波动个别像素的DCR可能飙到几千cps。温度是DCR最大的推动力经验规律是温度每升高7到10摄氏度DCR差不多翻一番。这就是为什么很多激光雷达的SPAD芯片下面要贴TEC、整机要做温控设计——不是因为芯片会烧而是因为DCR上去以后探测信噪比会快速劣化。选型时必须看目标温度下的DCR而不是25摄氏度的单点指标。一个PDE 40%但DCR高到离谱的SPAD可能还不如PDE 25%但DCR极低的方案好用。3.3 死时间灵敏度、饱和计数率和后脉冲三方博弈死时间受淬灭电路速度和寄生电容影响。被动淬灭的死时间经常在几十纳秒到一百多纳秒主动淬灭能压到几纳秒到十几纳秒。死时间内SPAD完全失明无法响应新的光子所以最大可测量计数率理论上限是1除以死时间。以10ns死时间算理论上限是100Mcps。听起来很高但实际系统里还有光子堆积效应事件越密死时间损失越严重计数器读数会非线性饱和。死时间过长还容易带来另一个隐患——后脉冲。雪崩时被俘获在深能级的载流子可能在偏压恢复后几百纳秒到微秒量级释放再次触发雪崩形成一串虚假计数。过偏压拉高、雪崩电流增大都会加剧后脉冲所以想在PDE、DCR、后脉冲之间找平衡就需要仔细调过偏压和淬灭策略而不是一味追求“越灵敏越好”。3.4 时间抖动决定dToF测距精度的隐形指标除了PDE、DCR和死时间SPAD还有第四大关键参数时间抖动jitter。它描述的是光子到达时刻和SPAD输出脉冲起始时刻之间的时间不确定性。抖动来源包括光子吸收深度差异、雪崩传播延迟差异、电路噪声等。目前商用SPAD阵列的抖动通常在50到150ps先进工艺能做到更小比如20到40ps。在dToF测距里抖动直接转化为距离噪声抖动每10皮秒对应距离误差约1.5毫米。这个换算关系来自光速的一半乘以时间间隔c约等于0.3mm/ps往返距离所以系数是0.15mm/ps。如果抖动是100ps单光子的到达时刻噪声就是约1.5cm想压低测距噪声就需要大量光子累积去统计平均。很多dToF系统显示出的厘米级甚至毫米级精度其实是把数百万个光子事件堆出来的统计结果。4. 一个绕不开的行业纠结点iToF到底用的CMOS还是SPAD工艺4.1 iToF和dToF测距原理的根本差异网上经常有人问“itof是用cmos还是spad工艺”这个问题本身说明大家对iToF和SPAD的关系还是模糊的。两种测距方式的差异要先理清。iToF即间接飞行时间测量不直接测光子飞了多少时间而是用连续波调制的光信号配合传感器在多个相位偏移处积分采样。发射端发出固定频率的正弦波或方波调制光回波在传播过程中产生相位延迟。传感器在同一频率下做四次不同相位偏移的采样比如0度、90度、180度、270度然后从四组积分值里解出相位差Δφ。距离公式是distance Δφ * c / (4 * π * f_mod)调制频率越高距离分辨率越好但最大可测范围反而越小因为相位差超过2π就会混叠。比如50MHz调制频率对应的非混叠距离是3m100MHz就是1.5m。要测更远距离就得降低调制频率但精度会跟着变差这是一组天生的矛盾。dToF不一样。它发射短脉冲激光然后用TDC记录回波光子的具体到达时间t距离等于c乘以t除以2完全是在时间维度上做文章。dToF不需要线性积分多少个光子来估计相位它只需要尽量精确地记录一个时间戳。SPAD的数字脉冲输出和TDC天然是一对搭档。4.2 iToF为什么不直接用SPAD做线性解调回到那个问题iToF用的是CMOS还是SPAD工艺我的回答是主流消费级iToF传感器采用的是CMOS图像传感器工艺下设计的专用ToF像素而不是SPAD阵列。原因要从iToF的解调方式说起。iToF像素需要在积分时间内对入射光的强度做线性响应光子多就积累更多电荷这样才能通过多相位采样算出调制光的相位。SPAD在盖革模式下是典型的非线性器件——一个光子和十个光子触发出来的脉冲幅值几乎一样失去强度线性响应之后经典的四相位解调就无从谈起。当然业界也有人在做“单光子iToF”或“SPAD辅助ToF”的研究比如用SPAD阵列配合时间相关单光子计数TCSPC从记录的光子到达时间直方图里同时提取时间延迟和光强衰减信息这种方式可以承载一些间接测量逻辑。但从主流商用产品来看手机、汽车里量产的iToF方案像英飞凌的RS系列、索尼的专属iToF传感器走的都是CMOS图像传感器工艺在像素里加入调制抽头结构让光子产生的电荷能按相位门控分别转移本质上是在电荷域完成解调。做一个简单的对照表项目iToFdToF测量对象调制光相位差光子飞行时间核心器件线性光电二极管阵列SPAD阵列工艺CMOS图像传感器工艺CMOS工艺兼容SPAD代表应用手机浅景深、人脸解锁辅助激光雷达、接近感应、书房扫描精度影响因素解调对比度、积分噪声时间抖动、直方图统计SPAD顶多在某些方案里作为dToF辅助模块与iToF共存但两者在像素级形态上走的是完全不同的道路。4.3 那“CMOS工艺”的SPAD又是怎么回事这句话确实容易让人懵既然SPAD也能用CMOS工艺做出来为什么说iToF用CMOS工艺却不是SPAD问题出在“CMOS工艺”这个宽泛词上。SPAD的CMOS兼容工艺和iToF传感器的CMOS图像传感器工艺都是CMOS大家族里的分支但像素结构设计目标不同。SPAD像素要把PN结设计成超过击穿电压的高场结构还要想办法提高填充因子iToF像素要做线性电荷积分和相位解调。同一个工艺平台修一修PN结掺杂、加几层隔离阱、调整一下偏置方案就能造出完全不同的像素功能。所以如果有人拿“SPAD也是CMOS工艺”来论证“iToF用的就是SPAD”逻辑上是站不住的。工艺兼容是同一个底座器件类型决定像素行为。iToF要有线性响应所以用普通光电二极管像素加上解调抽头dToF要接单光子时间戳所以用SPAD加TDC。认清这个结论以后看各种发布会和产品资料就不会再被绕晕。5. 从手机激光雷达到量子通信SPAD能落地的主要战场5.1 消费电子里的dToF测距与深度传感苹果从2020年起在iPad Pro和iPhone系列的激光雷达扫描仪里大规模引入SPAD dToF模组主打的是快速对焦辅助、AR场景构建和人像虚化深度图生成。这类模组的典型结构是单点或小阵列SPAD配合VCSEL激光器发射多脉冲光内部TDC记录回波光子的时间戳把所有事件累计成直方图。消费电子场景有很强的环境光挑战阳光下面回波信号可能淹没在背景光里所以dToF系统做了几个针对性设计一是使用窄带滤光片匹配VCSEL波长二是时间门控只保留脉冲发射后一定时间窗内的光子三是多帧统计和直方图峰检测。用SPAD在这种场景里做测距本质上是用时间维度对抗背景光比纯强度探测抗干扰能力强不少。荣耀、OPPO、vivo部分旗舰机的激光对焦模块也用了类似的SPAD单点方案用来实现暗光下不失焦。这类模组不输出整张深度图只反馈“距离是多少”功耗和面积都控制得很好是SPAD消费化最轻量的落地形态。5.2 车载激光雷达与机器人导航车载激光雷达里的SPAD阵列是行业关注度最高的方向之一。传统机械旋转式激光雷达用单点或者少通道探测器做扫描角度分辨率很高但成本高、体积大Flash固态激光雷达则用大面积SPAD面阵一次性照亮整个视场每个像素对应一个方向通过直方图统计找每个像素的距离。SPAD面阵对光的敏感度远高于APD阵列这让Flash激光雷达在远程场景有一定回波优势。905nm波段的SPAD阵列如今已经能在几十米距离上取得可用的测距结果配合多脉冲累积和运动补偿算法能支撑L2级别辅助驾驶的场景需求。机器人、无人机、AGV这类近距应用更看重体积和功耗SPAD阵列的片上集成能力正好派上用场。工程上SPAD面阵的难点在于像素规模和功耗的平衡像素越多每个像素的TDC、计数器、淬灭电路都要占用面积和功耗读出的数据量也激增。很多芯片把直方图处理直接做在传感器内部只向主控输出最终的距离值降低系统集成难度。5.3 医疗影像PET和荧光寿命成像SPAD在医疗领域最有名的两个应用是正电子发射断层扫描PET和荧光寿命成像显微镜FLIM。PET的原理是正电子湮灭产生一对能量相同、方向相反的光子需要探测器在皮秒级时间窗口内找到那对“孪生光子”。传统方案用PMT光电倍增管体积大电压高SPAD做成阵列后体积小、时间分辨率高、磁场兼容性好和MRI结合的前景很被看好。SPAD阵列的每个像素都能独立记录光子到达时间做符合检测的算法灵活性也更强。FLIM则完全是SPAD拍时间的舞台。激发光打到荧光分子上分子发光的衰减寿命携带环境信息比如pH值、离子浓度和分子相互作用。FLIM需要在极弱荧光信号下记录光子到达时间的分布SPAD加TCSPC正好是标准答案。单分子荧光检测、DNA测序里对微弱光子信号的敏感需求也让SPAD成了很多高端生物仪器的核心感光器件。5.4 量子通信和量子随机数生成单光子是量子密钥分发QKD的基本信息载体核心需求是能高效探测单个光子的到达事件。SPAD的量子效率虽然不如超导纳米线探测器但胜在结构简单、工作温度没那么苛刻、可以做成紧凑模块。尤其是基于CMOS工艺的SPAD阵列为未来片上集成量子接收器提供了现实路径。量子随机数生成器也会用到SPAD。随机性来源可以是单光子在探测器上的随机触发时刻、随机到达路径等。SPAD输出的数字脉冲直接进FPGA采样时间戳天然随机比起用ADC采样噪声的方案更简单直接。除此之外大气遥感激光雷达、高能物理符合测量、荧光相关光谱、星载激光测高这些场景里SPAD渐渐成为标配。几乎所有需要“在极弱光下知道光子何时到达”的问题SPAD都是绕不开的核心器件。6. 从踩坑到上手SPAD系统调试的几个关键经验6.1 直方图基线“抬高”与环境光掩埋环境光是dToF系统最常见的噪声源。SPAD对单光子敏感这意味着它对任何光子都敏感——无论来自VCSEL回波还是太阳光。调试一款dToF模组时我曾在暗室环境里一切正常一搬到窗边距离就开始跳变原因就是环境光让直方图里每个时间单元都堆满了背景光子真实回波峰被淹没在噪声里。这类问题的通用解法是多脉冲直方图累计加时间门控。VCSEL以一定周期发射脉冲SPAD只记录发射后一段测量窗口内的光子窗口外光子直接被丢弃。窗口宽度对应最大测距范围。此外还可以引入随机脉冲编码或改变脉冲间隔让外部光源无法形成与发射脉冲同频的干扰峰。调试时要在示波器上看TDC输出的事件流而不是只看最终距离值这样才能定位到底是DCR高、环境光强还是回波信号本身太弱。6.2 温度变化打乱整条时间基准SPAD的击穿电压随温度漂移一般是温度升高击穿电压变大。如果偏压固定不变过偏压就会随温度下降导致PDE变低、DCR变化严重时系统灵敏度和死时间一起跑偏。我见过有团队冬天调试好的模组夏天户外一晒最大测距距离直接缩水三分之一。解决思路有两种。一种是SPAD芯片内部集成击穿电压监测结构实时跟踪V_BD变化并校准过偏压另一种是系统层面做温度查表校准。无论哪种都要求供应商提供完整的温度-偏压-PDE-DCR特性数据而不是只给25摄氏度的标称值。6.3 数组SPAD的串扰问题不能只看单点指标SPAD做阵列时一个像素雪崩时产生的明亮电致发光光子可能被相邻像素吸收造成相邻像素也触发一次假雪崩这叫光学串扰。阵列越小串扰影响越明显。单点SPAD指标再好放到阵列里就因为串扰导致DCR异常偏高。排查串扰时可以用一束聚焦激光只点亮一个像素然后观察周围像素的事件率变化。如果周围事件率跟着上升基本可以断定串扰严重。工艺上的深沟槽隔离DTI能有效抑制串扰但会牺牲填充因子。很多SPAD成像传感器在像素上做微透镜把光汇聚到有效有源区再配合DTI才把串扰压到可接受水平。6.4 TDC量程和测量距离的匹配dToF测距不是“测无限远”。VCSEL发出的每个脉冲对应一个测距窗口窗口长度由TDC最大时间戳决定。比如TDC量程200ns对应最大可测单程距离约30m。如果目标距离超过量程回波事件会落在下一个脉冲的窗口里产生距离混叠。提高最大测距距离的方法一是增大TDC量程二是降低脉冲重复频率。前者有功耗和面积代价后者导致单位时间内的有效光子事件数减少不利于远距离弱回波的累积。所以实际系统会选一个折中近距离模式用高重频提升精度远距离模式用低重频延长量程固件里动态切换。调参的经验是先根据目标距离倒推TDC量程和脉冲重复频率再通过直方图确认回波峰位置最后看接近饱和计数的情况防止强回波让探测器进入非线性区。6.5 给刚接触SPAD的人一个实操建议如果你刚拿到一块SPAD模组或者开发板我建议第一步不要急着算距离而是先把光子到达时间直方图打开看。给SPAD接一个小脉冲激光源对着几米外的墙面你会在直方图上看到一个干净的单峰峰所在的位置就是光飞行时间对应的bin序号。改变目标距离峰的位置跟着移动你会非常直观地感受到dToF测距的全部逻辑。之后再做减法挡住激光只测环境光和暗计数观察直方图基线。你会发现基线并不是零而是由DCR和环境光共同抬起来的一条底噪。真实信号就是从这条底噪里“长”出来的峰。理解了底噪和信号峰的关系你对SPAD系统的所有关键参数——PDE、DCR、死时间、时间抖动——就有了一个立体的认识。这比死磕数据手册参数要管用得多。从我自己的经验看SPAD是一个看着门槛很高、但只要把物理机制和参数权衡想明白就能快速上手做工程的领域。它不像传统图像传感器那样追求极致的画质而是把“什么时候有光子”这个时间信息做到了极致。以这个视角去审视那些消费级产品和技术方案你会对“光子级测距”有更加务实的理解和判断。
返回列表