3、SPAD(单光子雪崩二极管)原理:SPAD结构、盖革模式工作、淬灭机制

聊到单光子探测,SPAD 是绕不开的核心器件。我入行那会儿,第一次看到 SPAD 的 I-V 曲线,说实话有点懵——一个二极管怎么还能工作在击穿区?后来亲手搭电路测了几次,才真正理解它的脾气。今天咱们就把 SPAD 的里里外外掰扯清楚。

3.1 SPAD 的基本结构

SPAD 本质上是一个 PN 结,但和普通光电二极管不一样。普通二极管你给它加反向偏压,它老老实实产生光电流。SPAD 呢?它被设计成专门「找刺激」的——偏压直接拉到击穿电压以上。

结构上,SPAD 通常采用 p+/n-well 或 p-well/n+ 的架构。我见过最经典的设计是在标准 CMOS 工艺上做的,p+ 层做得很浅,大概 0.2-0.5 微米,目的是让光子更容易到达耗尽区。下面这张图能帮你快速理解它的核心结构:

SPAD 基本结构示意图(p+/n-well 型) 入射光子 p+ 层(阳极) 耗尽区(倍增区) 高电场区域 ~ 5×10⁵ V/cm 雪崩倍增发生于此 n-well(阴极) p 型衬底 阳极电极 阴极电极 V_bias > V_br (偏压 > 击穿电压) 过偏压 V_ex = V_bias - V_br SPAD 关键结构参数 p+ 层厚度:0.2 - 0.5 μm 耗尽区宽度:1 - 3 μm 击穿电压:10 - 50 V(工艺相关) 过偏压:1 - 5 V(典型值)

关键参数我列一下:p+ 层厚度通常控制在 0.2-0.5 μm,太厚了光子进不去,太薄了电场分布不均匀。耗尽区宽度一般在 1-3 μm,这里就是雪崩倍增的主战场。击穿电压嘛,跟工艺关系很大——我做过 0.18 μm CMOS 工艺的 SPAD,击穿电压大概在 12V 左右;换成高压工艺,能到 40V 以上。

3.2 盖革模式工作

「盖革模式」这个名字,是从盖革计数器借来的。什么意思呢?就是让 SPAD 工作在击穿电压之上。你想想看,普通二极管击穿了就烧了,但 SPAD 不一样——它专门设计成可以反复进入击穿状态而不损坏。

具体怎么工作的?我用自己的话给你捋一遍:

  1. 待命状态:偏压 V_bias 高于击穿电压 V_br,差值 V_ex 叫「过偏压」。这时候 SPAD 处于「一触即发」的状态。
  2. 光子触发:一个光子打进来,在耗尽区被吸收,产生一个电子-空穴对。
  3. 雪崩倍增:这个初始载流子在强电场下加速,撞击晶格产生更多载流子。链式反应,1 变 2,2 变 4... 几纳秒内电流飙升到毫安级。
  4. 淬灭:雪崩不能一直持续下去,必须把它「掐灭」,否则 SPAD 就烧了。这就是下一节要讲的淬灭机制。

核心要点:盖革模式下,SPAD 的输出是一个数字脉冲——有光子就输出一个脉冲,没光子就静默。它本质上是一个「光子计数器」,而不是模拟探测器。

我刚开始做实验时犯过一个低级错误:以为过偏压越大越好。结果 V_ex 设到 8V,SPAD 自己就开始乱触发——这叫「暗计数」,是热噪声引起的。后来学乖了,过偏压一般控制在 1-5V,具体值要看你的暗计数率和时间抖动要求。

3.3 淬灭机制

淬灭,说白了就是「灭火」。雪崩一旦开始,如果不干预,电流会一直流下去。淬灭电路的任务就是:检测到雪崩 → 把偏压降到击穿电压以下 → 让雪崩停止 → 再恢复偏压准备探测下一个光子。

淬灭方式主要有两种:被动淬灭和主动淬灭。我两种都做过,各有各的脾气。

3.3.1 被动淬灭

被动淬灭是最简单的方案。在 SPAD 的阳极串一个大电阻(几十 kΩ 到几百 kΩ),雪崩发生时电流流过电阻产生压降,SPAD 两端的电压自然就掉下来了。

电路结构就这几样东西:

V_bias
  │
  ┌┴┐
  │ R│  ← 淬灭电阻(100 kΩ - 500 kΩ)
  └┬┘
  │
  ├─── V_out(输出节点)
  │
  ┌┴┐
  │  │  ← SPAD
  └┬┘
  │
  GND

优点很明显:简单、不占面积、功耗低。缺点呢?恢复时间太长。RC 时间常数决定了你多久能准备好探测下一个光子。R 取 100 kΩ,寄生电容 C 大概 0.5 pF,时间常数 τ = 50 ns。这意味着死时间(dead time)在 100 ns 左右。

我的经验:被动淬灭适合光子通量低的场景,比如单光子计数率在 1 MHz 以下。我曾经在一个荧光寿命测量项目里用过,效果还行。但如果你想做高速探测,被动淬灭就力不从心了。

3.3.2 主动淬灭

主动淬灭就聪明多了。它用一个快速比较器检测雪崩电流,一旦检测到,立刻用 MOS 开关把 SPAD 的偏压拉到击穿电压以下。淬灭完了再主动恢复偏压。

典型的主动淬灭电路时序是这样的:

// 主动淬灭电路工作流程(伪代码描述)
1. 待命:V_bias > V_br,SPAD 处于盖革模式
2. 光子到达 → 雪崩电流 I_avalanche 上升
3. 比较器检测到 I_avalanche > I_threshold
4. 淬灭信号 Q_en = HIGH
5. MOS 开关导通,V_SPAD 降至 V_br 以下
6. 雪崩停止,电流归零
7. 保持淬灭状态 t_hold(通常 10-50 ns)
8. 恢复信号 R_en = HIGH
9. V_SPAD 回到 V_bias,准备探测下一个光子

主动淬灭的优势在哪?死时间可以做到 10 ns 以下,对应的最大计数率能到 100 MHz 以上。我去年帮客户做的一个激光雷达项目,用的就是主动淬灭方案,最终实现了 80 MHz 的计数率。

参数 被动淬灭 主动淬灭
死时间 50 - 200 ns 5 - 20 ns
最大计数率 ~ 5 MHz ~ 100 MHz
电路复杂度 低(1 个电阻) 高(比较器 + MOS 开关 + 逻辑)
功耗 中等
适用场景 低光强、低速 高速、高精度

注意:主动淬灭电路设计时,比较器的响应时间至关重要。我曾经用过一个 2 ns 响应时间的比较器,结果因为 PCB 布线寄生电容太大,实际淬灭延迟到了 5 ns。嗯,高频电路里,每一皮法都算数。

3.4 我的选型建议

如果你刚开始做 SPAD 相关项目,我建议从被动淬灭入手。原因很简单:容易调通。搭一个电阻、一个 SPAD、一个示波器,半小时就能看到雪崩脉冲。等你把 SPAD 的脾气摸透了,再上主动淬灭方案。

但如果你做的是商用产品,比如激光雷达或者量子密钥分发,那必须上主动淬灭。被动淬灭的死时间会严重限制系统性能。我见过一个团队用被动淬灭做 ToF 测距,结果因为死时间太长,远距离目标根本测不到——白白浪费了三个月。

好了,SPAD 的原理就聊到这儿。记住三个关键词:结构、盖革模式、淬灭。把这三点吃透了,后面讲阵列、读出电路、系统集成,你就不会觉得吃力。