光电二极管检测电路设计:跨阻放大与暗电流噪声优化
2026/9/19 13:38:20 网站建设 项目流程

简介:《光电二极管检测电路的工作原理及设计方案》是一份PDF技术文档,面向电子工程师、硬件开发人员及光电检测系统学习者。文档系统论述了光电二极管检测电路的组成与工作原理,涵盖光致电压方式下的电流-电压转换、前置运算放大器与反馈网络设计,并重点分析系统稳定性、噪声特性及改善方法,针对CMOS输入放大器、R//C反馈网络、光电二极管寄生电容等关键参数展开讨论。内容中还提供了光电二极管、运放与反馈网络的SPICE子模型及系统模拟实例,便于读者通过仿真验证设计思路。压缩包内共1个PDF文件,容量577KB,已有246人学习,适合需要从原理到仿真系统掌握光检测电路设计的中高级硬件开发者。

1. 光电二极管检测电路要处理的三个核心量:暗电流、结电容和噪声

光电二极管检测电路是光电传感器、激光测距、医疗分析仪和光纤通信接收前端里最常碰到的模拟前端。它的任务很直接:把探测器产生的光生电流转换成足够幅度、低失真、可被 ADC 采样的电压信号。难点在于电流往往只有几十纳安甚至几皮安,而背后的暗电流、结电容和运放噪声会在同一条信号链上叠加。很多人第一次搭跨阻放大电路时只关心放大倍数,结果输出要么饱和,要么像噪声发生器。下面会从光电二极管的等效模型讲起,把检测电路的工作原理、参数计算和基于 AD8605 的完整设计方案逐段拆开,并给出可以用示波器和万用表复现的验证方法。适合正在做光电检测前端、传感器信号调理或微弱电流测量的工程师。

2. 光电二极管工作原理与等效模型:光伏模式、光导模式怎么选

光电二极管本质上是一个反向偏置的 PN 结。光从表面进入耗尽区后,能量大于禁带宽度的光子会激发出电子-空穴对,耗尽区电场把这些载流子扫向两端,形成从阴极流向阳极的光生电流 Iph。这个电流在很大范围内与入射光功率 P 成正比,换算系数就是响应度 R(λ),单位 A/W。用公式写就是 Iph = R(λ)·P。R(λ) 和波长强相关,硅光电二极管在 900 nm 附近能达到 0.5 A/W 左右,在可见光波段通常只有 0.3~0.4 A/W。

2.1 PN 结的等效电路与 SPICE 模型

分析检测电路时,光电二极管不能只看成一个电流源。更实用的等效模型是:理想电流源 Iph 与结电容 Cj、并联电阻 Rsh 并联,再串一个几十欧姆的体电阻 Rs。Rsh 表示暗状态下 PN 结的漏电阻,一般在兆欧到吉欧量级;Cj 由耗尽区宽度决定,反偏电压越大,耗尽区越宽,结电容越小。这些寄生参数直接决定了后续放大电路最难看的那两个高频极点,也是最容易让跨阻放大电路自激的源头。

常见 SPICE 模型里把这几个参数写成两部分:电流源并联一个二极管 D,再并联 Cj 和 Rsh。做交流分析时看 Cj,做直流漂移分析时看 Rsh。一般在设计初期,我会先用数据手册上给出的 Cj 作为输入总电容的下限,再估算 PCB 走线和运放引脚贡献的 2~5 pF,加起来就是后面计算反馈电容的 Cin。

2.2 关键参数对检测电路的影响

下面的表把光电二极管检测电路里最常见的五个参数列在一起:

参数符号典型值对检测电路的影响
响应度R(λ)0.4~0.6 A/W决定 Iph 大小,也就是可获得的最大信号;波长不匹配可能导致响应度骤降
暗电流IdpA~nA在 TIA 输出端形成直流偏置,造成零点偏移;温度每升高约 10°C 近似加倍
结电容Cj20~200 pF与反馈电阻构成极点,限制带宽并影响相位裕度
并联电阻RshMΩ~GΩ在光伏模式下决定最低漏电流;Rsh 太低时低电平测量精度变差
结温系数--暗电流和噪声都随温度变化,高增益设计需要在固件里做温度补偿

暗电流是光电二极管检测电路里最容易被低估的一项。用 1 GΩ 反馈电阻放大一个皮安级信号时,只要暗电流漂移 1 pA,输出就会对应漂移 1 mV,已经超过很多 ADC 的分辨率。下面这个简单计算可以帮你估算温度变化后暗电流的数量级:

# 暗电流温度漂移的经验估算 Id_25 = 50e-12 # 25°C 时的暗电流 for delta in (10, 20, 30): Id_t = Id_25 * 2 ** (delta / 10) # 每10°C翻倍 print(f"温度升高 {delta}°C 后暗电流约 {Id_t*1e12:.0f} pA")

这个“每 10°C 翻倍”不是严格物理公式,而是硅 PN 结暗电流随温度变化的常用工程近似,足够用来判断要不要在算法里留出漂移余量。若用雪崩光电二极管,暗电流会更大,只能从噪声和增益的角度再单独评估。

2.3 光伏模式与光导模式怎么选

光电二极管可以工作在两种模式下。光伏模式是把二极管两端电压保持为 0 V,短路电流直接进入运放的虚地。此时结区电场基本为零,暗电流最小,线性度最好,所以弱光、直流、低频测量基本都选它。缺点是耗尽区没有外加偏置,结电容偏大,高频响应受限制。

光导模式则给二极管加反向偏压,耗尽区变宽,结电容可能降到原来的几分之一,响应速度明显变快。代价是产生了反偏漏电流,也就是暗电流;偏压越高,暗电流越大,噪声也越高。因此只有在需要几百 kHz 以上带宽,或者使用雪崩光电二极管、需要高反压时,才会选择光导模式。很多光电二极管检测电路里,数据手册都会给出一个零偏下的 Cj 和反偏 5 V 下的 Cj,选型时把两种模式的数据都看一遍再决定。

3. 跨阻放大电路工作原理与参数计算方法:增益、带宽和稳定性

3.1 为什么用跨阻放大电路而不是电阻分压或高阻抗缓冲

光电二极管检测电路的电压输出方案不外乎三种:直接串电阻再加缓冲、用运算放大器做同相放大、用跨阻放大器。直接串电阻的问题是:光电二极管本身的结电容和电阻分压后会产生一个一阶低通极点,频率可能只有几千赫兹,而且负载变化会改变偏置点。高阻抗缓冲会受运放输入偏置电流影响,偏偏许多普通运算放大器的输入偏置电流有几十纳安,和光电流在同一数量级,根本没法用。

跨阻放大电路通过反馈电阻把光电流直接转成电压,运放反相输入端保持虚地,光电二极管两端电压被钉在一个固定值上,也就是工作在零偏状态。这样一方面大幅压缩暗电流,另一方面信号路径上不存在高阻节点,输入电容的影响也被反馈网络削弱。所以微弱光电流测量几乎都在用跨阻放大器,这也是相关应用笔记里跨阻放大电路占了非常大比重的原因。

3.2 增益、输出电压与二极管的连接方向

基本公式是 Vout = -Iph × Rf。负号取决于电流方向和二极管的接法。实际电路里,如果光电二极管阳极接地、阴极接运放反相输入端,反馈电流方向会让输出为正。若把阴极接地、阳极接反相端,输出会反相为负。许多单电源系统用第一种接法,输出从 0 V 往上抬,方便 ADC 采集。

Rf 的取值由最大光电流 Imax 和 ADC 满量程 Vref 决定:Rf = Vref / Imax。例如 ADC 量程 3.3 V,预期最大光电流 10 µA,Rf 就是 330 kΩ。需要注意,Rf 不是越大越好,因为输入端总电容 Cin 会和 Rf 形成一个零点,等效在噪声增益曲线上抬高频率,最终由运放带宽限制。

3.3 闭环带宽与反馈电容的最小值

跨阻放大电路输入总电容包括光电二极管结电容 Cj、运放共模和差模输入电容、PCB 走线杂散电容。没有反馈电容时,噪声增益以 20 dB/dec 的斜率上升,和运放开环增益曲线相交时往往只剩 20°~30° 相位裕度,输出会振铃甚至自激。反馈电容 Cf 在 Rf 上并联后,在高频段压低了反馈阻抗,为输入电容造成的零点引入一个极点,使噪声增益在回到 +20 dB/dec 斜率之前就安全穿过开环增益。

最小反馈电容可以按经验公式估算:

Cf = sqrt(Cin / (2π·Rf·GBP))

再用 -3 dB 带宽公式验算:

fp = 1 / (2π·Rf·(Cin + Cf))

举个例子,光电二极管结电容 68 pF,运放输入电容加布线下限约 6 pF,总输入电容 74 pF,Rf 取 100 kΩ,GBP 用 10 MHz。代入后 Cf 约 3.4 pF,实际用 3.3 pF 或 4.7 pF,对应带宽约 30 kHz。把几种常见情况列成表:

RfCin计算 Cf实际取值闭环带宽
10 kΩ70 pF10.6 pF10 pF199 kHz
100 kΩ70 pF3.3 pF3.3 pF43 kHz
1 MΩ70 pF1.1 pF1 pF15 kHz
10 MΩ70 pF0.33 pF0.5 pF3 kHz

这张表的计算逻辑是从闭环极点出发反推 Cf。下面这段 Python 可以把计算过程固定下来:

import math Cj = 68e-12 # 光电二极管结电容 Ci_opamp = 5e-12 # 运放输入电容 Cstray = 2e-12 # 走线杂散电容 Rf = 100e3 # 反馈电阻 GBW = 10e6 # 运放增益带宽积 Cin = Cj + Ci_opamp + Cstray Cf = math.sqrt(Cin / (2 * math.pi * Rf * GBW)) fp = 1 / (2 * math.pi * Rf * (Cin + Cf)) print(f"输入总电容: {Cin*1e12:.1f} pF") print(f"最小反馈电容: {Cf*1e12:.2f} pF") print(f"闭环 -3dB 带宽: {fp/1e3:.1f} kHz")

注意这里算出的 Cf 是稳定性的下限。实际陶瓷电容容值有温漂和压偏效应,C0G/NP0 材质在高偏置电压下容量变化小,是反馈电容首选。若测试时发现过冲超过 10%,把 Cf 往上调到 2 倍也不奇怪,代价只是带宽变窄。

3.4 输出噪声的两个主要来源

跨阻放大电路输出噪声主要由三个来源组成:反馈电阻 Rf 的热噪声、运放电压噪声和运放电流噪声。Rf 的热噪声密度是 sqrt(4kTRf),在 1 MΩ、25°C 时约 128 nV/√Hz;运放电压噪声典型值可能只有 10 nV/√Hz,但在高频段会被噪声增益放大,所以反馈电容既决定了稳定性,也决定了高频噪声从哪里开始被抑制。

估算输出噪声时,不能只看带宽,还要看噪声增益在哪个频点进入 20 dB/dec 斜率。简单估算可以先用噪声增益与开环增益的交叉点确定等效噪声带宽,再把电压噪声均方相加。对于没有严格噪声指标要求的项目,我更推荐直接用示波器在遮光条件下测量输出底噪,比仿真省事,而且能暴露布局造成的额外干扰。

4. 基于 AD8605 的光电二极管检测电路设计方案:选型、布局与 ADC 接口

4.1 运算放大器选型为什么看这四个指标

检测电流到亚微安以下后,运放选型先看输入偏置电流,再看输入电压噪声、失调电压和带宽。AD8605 是 CMOS 输入轨到轨输出的精密运放,输入偏置电流典型值在皮安级,和大多数光电二极管的暗电流同一数量级,不会给低端信号造成系统性偏差。它的失调电压只有几十微伏,带宽约 10 MHz,做几十 kHz 上限的光电检测前端足够用。如果项目要求更低噪声,可以考虑 LMP7721 这类偏置电流控制在飞安级的型号,但 AD8605 在功耗、成本和稳定性之间更均衡。

4.2 完整信号链:从光电二极管到 ADC

我这里给一个可以直接复现的设计方案,后续参数按项目需求调整。

信号链是:光电二极管 D1 → TIA(U1)→ 有源低通滤波器(U2)→ ADC 输入。TIA 部分用 AD8605,Rf 取 1 MΩ,Cf 取 3.3 pF,目标输出 1 V 时对应光电流 1 µA。U2 用 AD8606 的另一半运放做二阶 Sallen-Key 低通,截止频率设在 5 kHz,滤掉 50 Hz 工频以外的宽带噪声后送给单片机 ADC。

主要器件清单:

位号器件典型参数说明
D1光电二极管 BPW347 mm² 光电二极管暗电流 2 nA 量级,结电容约 70 pF
U1AD8605带宽约 10 MHzTIA,重要参数是 pA 级输入偏置电流
Rf精密电阻1 MΩ 0.1%增益电阻,反馈到 U1 反相输入
CfC0G 电容3.3 pF稳定补偿,限制高频噪声
R1/R2分压偏置电阻10 kΩ设置同相端偏置点
U2AD8606 的一半Sallen-Key二阶低通,Q 值约 0.707

上表里 BPW34 的暗电流偏大,不适合做皮安级低端,若测更弱光可以换成硅光伏二极管如 S2386。总之,低端极限由光电二极管的暗电流和运放偏置电流共同决定。

4.3 PCB 布局:保护环、走线和电容摆放

用 AD8605 这类低偏置运放时,PCB 漏电流往往比运放偏置电流还大。常见做法是在反相输入端周围铺一圈与同相输入端等电位的保护环,并把反馈电阻和电容靠近反相输入端。保护环的作用是让高阻抗引脚与周围高电位节点之间没有直接漏电路径,脏污和潮湿的板面就不会把漏电流引到信号线上。

我的布局习惯是:先把跨阻放大器放在光电二极管旁边,走线尽量短;保护环紧贴反相输入端走线外扩 1 mm,但不能把输出线覆盖进去;Rf 和 Cf 放在运放输入引脚和输出引脚之间,打孔尽量少,因为一个过孔大约会贡献 0.3 pF 的杂散电容。另外,同相输入端的偏置点直接用低阻分压器,并用 0.1 µF 电容去耦到地,否则偏置噪声会直接作为共模信号进入运放。

4.4 与 ADC 和 MCU 连接时的采样率和滤波匹配

MCU 内部 ADC 输入通常有采样开关和外部电容,直接接在运放输出上会带来电荷注入,轻则产生毛刺,重则让模拟信号在转换期间跳动。因此 U2 后级再加一级 RC,或让 U2 直接驱动 ADC 的参考输入。这里只讨论采样率匹配:采样率最好取信号带宽的 5~10 倍以上;模拟低通截止频率要低于奈奎斯特频率的 0.4。

下面这段代码用来根据 ADC 采样率反推滤波器截止频率:

# 根据采样率确定抗混叠滤波器截止频率 fs = 200_000 # ADC 采样率,单位 Hz f_nyquist = fs / 2 fc = f_nyquist * 0.4 print(f"采样率 {fs/1e3:.0f} kHz,奈奎斯特频率 {f_nyquist/1e3:.0f} kHz,低通截止频率建议 {fc/1e3:.1f} kHz")

这样设置后,超出带宽的噪声被滤除,也不会让混叠频段的信号折回到基带。如果 MCU 内置 ADC 是 12 位以上,U2 的输出也要考虑驱动能力和建立时间,必要时把 U2 的输出接 10 Ω 电阻再进 ADC 引脚。

5. 用遮光和阶跃光验证光电二极管检测电路的三个测试

5.1 遮光测试:量化暗电流和零点偏移

把光电二极管完全遮住,用万用表或示波器记录 TIA 输出。理论上如果二极管零偏、运放偏置电流为零,输出就是 0 V。实际会看到几十毫伏的直流偏移,这来自运放失调电压和暗电流。遮光测试的读数除以 Rf,就是暗电流加偏置电流的总和。每记录 10 分钟看一次漂移,能提前发现受潮或 PCB 清洁度问题。若输出缓慢上升,检查保护环是否接对、反馈电阻是否有漏电。

5.2 阶跃响应测试:检查稳定性

用信号发生器驱动一个 LED 或激光二极管照射光电二极管,让光功率产生接近阶跃的变化。示波器接 TIA 输出,观察上升沿是否有过冲或振铃。10% 到 90% 上升时间应该和你计算的带宽基本一致。若过冲超过 5%,把反馈电容增大 50%,重新测直到临界阻尼。注意示波器探头电容会负载输出,探头尽量用 10:1 档,并限制 20 MHz 带宽观察。

# 读取示波器导出的 CSV,计算上升时间 import numpy as np t, v = np.loadtxt("tia_step_export.csv", delimiter=",", unpack=True) v_lo = np.mean(v[:50]) v_hi = np.mean(v[-50:]) t10 = t[np.where(v >= v_lo + 0.1 * (v_hi - v_lo))[0][0]] t90 = t[np.where(v >= v_lo + 0.9 * (v_hi - v_lo))[0][0]] print(f"采样点上升时间: {(t90 - t10) * 1e6:.2f} µs")

这个脚本直接从示波器导出的 CSV 算上升时间。手算也行,但脚本的好处是对容易漂移的 TIA 波形可以批量处理。

5.3 噪声带宽测试:看 FFT 底噪

把光功率稳定在直流,示波器采集 65536 点做 FFT。正常 TIA 输出频谱应该在低通截止频率内平坦,超过后按 -20 dB/dec 到 -40 dB/dec 下降。如果在 500 kHz 附近看到小尖峰,多半是 Cf 不够,反馈环路发生了轻微振铃,把 Cf 调大再测一次。测 FFT 时打开示波器的“峰值检测”模式,能捕捉到普通采样漏掉的毛刺,排错时更直观。

最后再补充一个高频易错点:TIA 的反馈电容千万不要只按实验室容值选,C0G 电容在 3.3 pF 附近有 5% 的初始容差和随温度变化的漂移,多装几个相邻档位,调试时用贴片镊子替换比每次重焊更方便;看到阶跃沿有 2% 以内的轻微过冲其实是可以接受的,此时相位裕度通常还有 60° 左右。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询