死时间机制详解
各位同学,今天我们来聊聊SPAD里一个绕不开的话题——死时间。说实话,我刚开始接触SPAD时,觉得死时间就是个简单的“不响应时间”,后来踩了不少坑才明白,这里面门道深着呢。
死时间的定义与起源
死时间,英文叫Dead Time,说白了就是SPAD在检测到一个光子后,暂时“失明”的那段时间。为什么会有这个现象?
你想想看,SPAD的工作原理是雪崩击穿。一个光子打进来,触发雪崩电流,电流像滚雪球一样越滚越大。但雪崩不能一直持续下去啊,否则器件就烧了。所以我们需要把雪崩淬灭掉,让SPAD恢复到初始状态,准备检测下一个光子。
这个淬灭和恢复的过程,就是死时间的来源。我记得有一次在实验室调试,发现计数率怎么都上不去,折腾了半天才发现是死时间设置得太长了。嗯,这里要注意,死时间不是越小越好,后面我会细说。
核心要点:死时间 = 雪崩淬灭时间 + 恢复时间。这是SPAD的固有特性,无法完全消除,只能优化。
死时间对光子计数率的影响
死时间对计数率的影响,其实是个数学问题。我给大家一个公式:
实际计数率 = 真实光子率 / (1 + 真实光子率 × 死时间)
这个公式看着简单,但背后藏着大坑。举个例子:
| 真实光子率 (cps) | 死时间 10ns | 死时间 50ns | 死时间 100ns |
|---|---|---|---|
| 1M | 0.99M | 0.95M | 0.91M |
| 10M | 5.0M | 1.67M | 0.91M |
| 100M | 0.99M | 0.20M | 0.10M |
看到没?当光子率很高时,死时间长的SPAD反而计数更少。我在项目中遇到过这种情况:客户要求高动态范围,结果死时间没优化好,强光下计数率反而掉下来了。说白了,死时间决定了SPAD的“天花板”。
避坑指南:我曾经以为死时间越短越好,结果发现太短的死时间会导致后脉冲严重。死时间的优化,本质上是在计数率和噪声之间找平衡。
被动淬灭与主动淬灭电路
淬灭电路,我把它分成两派:被动派和主动派。
被动淬灭
被动淬灭,就是用一个电阻来限制雪崩电流。电路简单,成本低,但有个致命缺点——死时间长。为什么?因为电阻放电慢,恢复时间被拉长了。
// 被动淬灭的简化模型
Vbias -> 大电阻 -> SPAD -> GND
// 雪崩时,电流流过电阻,电压下降
// 但恢复靠RC放电,时间常数大
我记得刚入行时,用的就是被动淬灭。那时候觉得电路简单,挺好。后来发现,在高速应用中根本不行。死时间动辄几百纳秒,计数率上不去。
主动淬灭
主动淬灭就聪明多了。它用一个快速检测电路,一旦检测到雪崩,立刻主动拉低偏压,把雪崩掐断。然后快速恢复偏压,准备下一次检测。
// 主动淬灭的简化流程
1. 检测到雪崩电流
2. 快速拉低偏压(淬灭)
3. 保持一段时间(死时间)
4. 快速恢复偏压(恢复)
5. 等待下一个光子
主动淬灭的死时间可以做到10ns以内。我建议,只要条件允许,尽量用主动淬灭。虽然电路复杂一些,但性能提升是质的飞跃。
个人经验:主动淬灭电路里,检测阈值和淬灭速度是关键。我曾经调了一个月,才找到最优的检测阈值。太灵敏容易误触发,太迟钝又淬灭不及时。
死时间与恢复时间的关系
死时间和恢复时间,其实是同一个硬币的两面。死时间 = 淬灭时间 + 恢复时间。但这里有个微妙的地方:
- 淬灭时间:从雪崩开始到雪崩完全停止。这个时间越短越好,可以减少雪崩期间的热效应。
- 恢复时间:从淬灭结束到偏压恢复到正常工作点。这个时间决定了SPAD什么时候能再次检测光子。
你可能会问:能不能把恢复时间压缩到极致?我试过,结果发现恢复太快会导致偏压过冲,反而引入额外的噪声。说白了,恢复时间需要“温柔”一点。
我给大家画个图,展示一下死时间、淬灭时间和恢复时间的关系:
从图上可以看得很清楚:光子到达后,偏压迅速下降(淬灭),然后慢慢恢复。死时间就是淬灭时间加上恢复时间的总和。我建议在设计时,把淬灭时间控制在1-2ns,恢复时间控制在5-10ns,这样整体死时间可以做到10ns以内。
实战建议:如果你在做阵列式SPAD,死时间的均匀性比绝对值更重要。我曾经遇到过阵列里有的像素死时间10ns,有的20ns,结果成像质量一塌糊涂。后来花了大力气做匹配,才把问题解决。
好了,死时间这块就讲到这里。记住一句话:死时间决定了SPAD的上限,优化死时间就是优化SPAD的“天花板”。下一节我们聊聊暗计数,那又是另一个有趣的话题。