news 2026/9/29 5:16:23

精密运放电路设计与调试:误差预算、GBW与稳定性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
精密运放电路设计与调试:误差预算、GBW与稳定性

前年帮朋友看一块称重变送器的板子,标称精度 0.05%,常温下零点能漂二十几毫伏,客户装到现场就投诉。板子上用的全是最常见的运放电路:一级同相放大、一级反相放大,后面跟一个运放恒流源给传感器供电。电路拿出来,谁看都说"这有什么问题"。问题恰恰出在"太常见"——常见电路是按理想运放写的,而精密运用得按真实运放算。同样四个电阻两个电容,误差预算怎么列、GBW 怎么分、SR 留多少余量、失调电压从哪冒出来,决定了成品是 0.05% 还是 5%。

下面这份东西我按自己实际的调试顺序写:先把误差源摊开,再回到放大倍数怎么推导、GBW 与 SR 怎么算余量,然后落到加法器、减法器、差分放大、恒流源这些具体电路上,最后讲自激排查、RFI 整流、输出接 MOS 栅极这些最容易翻车的环节,以及仿真里那些不能全信的地方。适合已经在画板子、被精度和稳定性折磨过的模拟工程师,也适合刚学完模电想把运放电路工作原理真正用对的人。

1. 精密运放电路的误差地图:先知道哪里会漂、哪里会失真

做精密电路,第一步不是选运放,而是把误差源分类。我习惯分成四类:直流误差、噪声误差、交流误差、非线性误差。这四类对应完全不同的对策,混在一起想,最后只会得出"换个贵运放就好了"这种没用的结论。直流误差来自失调电压、偏置电流、电阻容差和温漂;噪声误差来自运放电压噪声密度、电阻热噪声和电流噪声;交流误差来自 GBW 有限、SR 有限和建立时间不足;非线性误差则来自开环增益不够、共模抑制比有限、输出级交越和热反馈。

这四类误差里,最容易被忽视的是第四类。很多人算完失调觉得没问题就放心了,结果一测 THD 发现不对。原因是非线性误差不体现在静态数据里,它只在信号动态变化时才暴露,而且随频率升高而恶化。理解这一点,后面很多问题就顺了。

1.1 教科书公式成立的三条隐藏前提

模电书上写同相放大是Vout = Vin × (1 + Rf/Rg),反相放大是Vout = -Vin × (Rf/Rin)。这两条公式能成立,暗含了三个条件:开环增益无穷大、输入阻抗无穷大、输出阻抗为零。真实运放三条全不满足,只是程度不同。开环增益 100 dB 时,闭环增益误差大约是 1/(1+Aβ) 量级,β 是反馈系数。当噪声增益为 100 时,β≈0.01,环路增益 Aβ≈10^3,闭环增益误差约 0.1%。这个数字在 1% 精度系统里可以忽略,但在 0.05% 系统里就已经吃掉一半预算了。

输入阻抗这一条更微妙。双极型输入的运放,输入阻抗不是无穷大,输入偏置电流会在外部电阻上产生压降,这个压降直接被当成信号放大。很多人算失调电压算得很细,却忘了偏置电流这一项,结果实测比计算值大好几倍。

1.2 一张误差预算表把问题说清楚

我一直主张在动烙铁之前先列一张误差预算表,把所有误差源换算到输入端(RTI)或者输出端(RTO),然后按均方根或者最坏情况叠加。表长这样:

误差源典型值折算到输入端放大 100 倍后输出是否可校准
运放失调电压 Vos0.5 mV0.5 mV50 mV可,上电调零
Vos 温漂 5 µV/°C × 40°C0.2 mV0.2 mV20 mV不可,需选低温漂器件
偏置电流 200 nA × 10 kΩ2 mV2 mV200 mV部分可,需匹配源阻抗
电阻热噪声(20 kHz 带宽)—0.6 µV60 µV不可,只能降阻值或降带宽
运放电压噪声—0.7 µV70 µV不可,选低噪声器件

看这张表就明白了:直流项里最狠的不是 Vos,而是偏置电流在源阻抗上的压降。200 nA 乘以 10 kΩ 就是 2 mV,比运放自身的失调电压大四倍。而噪声项虽然绝对值小,但它不可校准,决定了系统的分辨率下限。

提示:误差预算表必须按"最坏情况"和"均方根"各算一遍。最坏情况用来判断会不会超出指标,均方根用来判断实际典型性能。两者差距往往有 3 到 5 倍。

1.3 选型顺序:先定精度,再定带宽,最后定封装

我在选运放时的顺序是固定的:先看失调电压和温漂能不能满足直流预算,再看 GBW 和 SR 能不能满足交流预算,再看噪声密度能不能满足分辨率要求,最后才看封装、供电范围和价格。顺序反过来做,先看价格再往上凑,最后一定返工。

举个例子,一个 100 倍放大、信号带宽 10 kHz 的传感器前级。直流预算要求 1 mV 以内,那就得选 Vos 温漂在 5 µV/°C 以内、偏置电流在 10 nA 以内的器件;交流预算要求带宽余量 10 倍,那 GBW 至少要 100 × 10 kHz × 10 = 10 MHz。这两个条件同时满足的器件,价格不会便宜。如果先按价格选了通用双运放,Vos 温漂 10 µV/°C,那冬天和夏天的零点能差出几十毫伏,这是校准都救不回来的。

2. 放大倍数推导与噪声增益:GBW 到底该怎么算才不算错

很多人算 GBW 的时候直接把信号增益当分母,GBW / 放大倍数 = 带宽,这在同相放大里是对的,在反相放大里就错了。差别就在"噪声增益"这个概念上。我见过太多人反相放大设计出来的实际带宽只有预期的一半,查了半天以为是运放买到假货。

2.1 同相放大与反相放大的倍数推导

推导本身不难,但值得完整写一遍,因为中间那一步"虚短虚断"的假设边界,正是精度问题的源头。

同相放大:反馈电阻 Rf 从输出接回反相端,Rg 从反相端接地。由虚断,反相端没有电流流入运放;由虚短,反相端电压等于同相端电压 Vin。于是流过 Rg 的电流是 Vin/Rg,这个电流全部流过 Rf,所以:

Vout = Vin + (Vin/Rg) × Rf = Vin × (1 + Rf/Rg)

反相放大:输入电阻 Rin,反馈电阻 Rf,同相端接地。反相端是虚地(0 V),所以输入电流 Vin/Rin 全部流过 Rf:

Vout = -Vin × (Rf/Rin)

注意推导里"反相端没有电流流入运放"这条假设,它等价于输入阻抗无穷大。真实运放有输入偏置电流 Ib,所以严格来说流过 Rf 的电流是Vin/Rin - Ib。当 Rin 取 10 kΩ、Vin 取 10 mV 时,输入电流只有 1 µA,而 Ib 有 200 nA,那就是 20% 的误差。这就是为什么精密电路里输入电阻不能太大,或者必须用 FET 输入的运放。

2.2 噪声增益才是决定带宽的那个量

对反相放大,信号增益是 Rf/Rin,但闭环带宽由噪声增益决定。噪声增益的定义是"从运放输入端看出去的反馈网络增益",对反相和同相结构,它都是:

噪声增益 = 1 + Rf/Rg

其中 Rg 是反相端到地的等效电阻。在反相放大里,Rg 就是 Rin。所以反相放大的噪声增益是1 + Rf/Rin,比信号增益大 1。当增益很高时这个 1 可以忽略;当增益接近 1 时(比如 Rf = Rin),噪声增益是 2,信号增益是 1,带宽直接差一倍。

这个概念的实用价值在于:当你想扩展带宽时,不能只看信号增益。一个反相 10 倍放大的电路,噪声增益是 11,闭环带宽是 GBW/11,而不是 GBW/10。差 10%,在窄带精密系统里就是能不能留够余量的问题。

2.3 两级运放能先同相再反相吗,级联带宽怎么算

经常有人问两级运放能不能先同相放大再反相放大。答案是可以,极性上总增益为负,也就是反相,因为两级反相等于同相,一级同相加一级反相等于反相。真正需要担心的是三件事:级联后的带宽、失调和噪声的累积、以及每级独立的稳定性。

级联带宽的计算,如果每级都是单极点系统,总带宽是:

f_total = 1 / sqrt(1/f1² + 1/f2²)

两个相同带宽的级联,总带宽是单级的 0.707 倍。这个公式背后的意义很重要:想要总带宽宽,就得把每级的闭环带宽做得更宽,而闭环带宽宽意味着每级的增益小,于是需要更多级。所以级数不能太少也不能太多,一般两到三级是甜点区。

举个实际数字:总增益 100 倍,信号带宽要 100 kHz。单级实现,噪声增益 101,需要 GBW = 101 × 100 kHz × 10(余量法则)= 101 MHz,这个运放贵得离谱。改成两级各 10 倍,每级噪声增益 11,需要 GBW = 11 × 100 kHz × 10 × 1.414(级联补偿)= 15.6 MHz,一个普通的双运放就够。这就是级联的实际价值,也是我愿意多做一级的原因。

注意:级联会累积失调电压和噪声。如果第一级增益 10 倍,第二级也 10 倍,那第一级的失调被放大 10 倍进入输出,第二级的失调只放大 1 倍。所以失调最敏感的指标要放在第一级,或者在第一级之后加隔直。

3. SR 余量、自激与 4558 放大 70 倍的真实答案

"4558 运放增益 70 倍会自激吗",这个问题我被问过不止一次。直接给结论:单看增益,70 倍不但不会自激,反而比 1 倍缓冲稳定得多。会叫的电路,原因几乎都不在增益上。但 70 倍确实有另一个更现实的问题,就是带宽不够。下面拆开讲。

3.1 4558 与 NE5532 的典型参数对照

先把两者放一起看。下面是典型量级的对比,实际数值请以你手上具体型号的最新数据手册为准:

参数RC4558 典型NE5532 典型对精密电路的意义
GBW约 3 MHz约 10 MHz决定小信号闭环带宽
压摆率 SR约 1.7 V/µs约 9 V/µs决定大信号不失真上限
输入失调电压 Vos约 2 mV约 0.5 mV直流精度基线
输入偏置电流 Ib约 50–150 nA约 200 nA与源阻抗共同决定直流误差
输入噪声密度约 20 nV/√Hz约 5 nV/√Hz决定分辨率下限

按这个表算,70 倍放大的噪声增益是 71。4558 的闭环带宽约 3 MHz / 71 ≈ 42 kHz;NE5532 约 10 MHz / 71 ≈ 141 kHz。如果信号带宽是 20 kHz,4558 在 20 kHz 处已经接近 -1 dB 衰减、相位滞后二十多度,增益误差和失真都出来了。所以 4558 七十倍的真实瓶颈是带宽,是"放得不准",不是"自激"。

3.2 SR 余量该留多少:我的取值和验算

压摆率余量的设计,我自己的经验规则是:所需最小压摆率乘以 3 到 5 倍作为选型下限,最低不能低于 2 倍。所需压摆率的公式是:

SR_need = 2π × f × V_peak

其中 f 是最高信号频率,V_peak 是最高的输出峰值电压。为什么不能贴着极限用?因为 SR 是输出级的极限斜率能力,一旦信号斜率接近这个极限,运放内部会出现 slew-induced distortion,也就是大信号失真急剧上升,同时建立时间会明显变长。留 2 倍余量时还能用,但已经能测出失真抬升;3 到 5 倍之间的表现才比较从容。

拿 4558 验算一下:输出 ±2 V,最高频率 20 kHz,SR_need = 2π × 20k × 2 ≈ 0.25 V/µs。4558 有 1.7 V/µs,是所需值的 6.8 倍,SR 完全够。但如果输出要摆到 ±10 V,SR_need = 1.26 V/µs,余量只剩 1.35 倍,这时候波形顶部就开始出现斜率被削的痕迹了。所以同一个运放,输出幅度不同,结论完全相反,这也是为什么不能照搬别人的电路。

提示:AD 转换器前级尤其要注意 SR。采样保持电路在切换瞬间需要一个快速建立,建立时间由 SR 和大信号带宽共同决定,光看 SR 不够,还要看手册里给出的建立时间曲线。

3.3 增益越高越稳定:为什么自激常发生在低增益

这是最反直觉的一点。对于内部补偿、单位增益稳定的运放,噪声增益越大,反馈系数 β 越小,环路增益越小,相位裕度越充足。噪声增益为 1 时(电压跟随器)相位裕度最小,最容易振。所以"70 倍会不会自激"这个问题本身就是个误会,70 倍是相对安全的工况。

真正让 4558、NE5532 这类运放"叫起来"的,是下面几种情况:

第一种是容性负载。运放输出直接接长电缆、接探头、接 MOS 栅极,输出端等效一个大电容,输出阻抗与电容构成附加极点,把相位裕度吃掉。这是最常见的原因,也是我第一眼会怀疑的地方。

第二种是电源去耦不到位。运放电源脚到地的走线超过一厘米,或者只有电解电容没有陶瓷电容,高频时电源阻抗升高,输出级通过电源互相耦合,形成正反馈。两个通道的运放共用一个糟糕的电源,就很容易两个一起叫。

第三种是反馈路径布局问题。反馈电阻离反相端太远,走线电感在几十兆赫兹上产生相移,尤其在高阻节点上更明显。反相端是高阻节点,走线越短越好。

第四种是输入端耦合了射频干扰,被输入级非线性整流后形成一个等效的直流偏置变化,看起来像"低频振荡"或者"零点乱飘",其实不是自激。

3.4 自激排查的完整顺序

我自己的排查顺序是这样的,基本能覆盖九成以上的情况:

  1. 用示波器看波形,先确认振荡频率。几百千赫兹到几兆赫兹的持续振荡,基本是相位裕度问题;几十兆赫兹的毛刺,多半是布局或者地环路;频率随手指靠近而变化的,是高阻节点耦合。
  2. 把负载断开。如果断开后立刻停振,就是容性负载问题,回头加隔离电阻。
  3. 在输出串联 22 到 100 Ω 的隔离电阻,重新看波形。这个电阻把负载电容和输出级隔开,是最省事的办法,代价是带载能力下降。
  4. 在反馈电阻 Rf 两端并一个小电容 Cf 做相位超前补偿。Cf 的取值可以按Cf ≈ 1 / (2π × Rf × f_closed)估算,其中 f_closed 是闭环带宽。比如 Rf = 68 kΩ、闭环带宽 140 kHz,Cf ≈ 1 / (6.28 × 68000 × 140000) ≈ 17 pF,取 18 到 22 pF。注意 Cf 会限制高频增益,不能随便加大,否则信号带宽被削。
  5. 检查电源去耦。每个运放的电源脚旁边要有 0.1 µF 陶瓷电容,走线尽量短,再配一个 10 µF 的电解或者钽电容作为板级储能。
  6. 检查地。模拟小信号地和功率地分开走,单点相接,输入端的接地参考不要和输出级的回流路径共用一段走线。

4. 加法器、减法器与差分放大:电阻匹配决定精度上限

加法器和减法器看着简单,实际是精密电路里最容易翻车的两类。它们的共同点是精度几乎完全由电阻决定,而不是由运放决定。用一个贵运放配 1% 电阻,性能往往不如一个普通运放配 0.01% 电阻阵列。

4.1 反相加法器的源阻抗问题

反相加法器的标准形式是多个输入电阻 Ri 接到反相端,反馈电阻 Rf 接输出:

Vout = -Rf × (V1/R1 + V2/R2 + V3/R3)

推导过程是虚地加基尔霍夫电流定律,几个输入电流在反相端求和,全部流过 Rf。数学上很干净,但有两个实际坑。

第一是源阻抗。每个输入端的信号源内阻会与 Ri 串联,变成 Ri + Rsource,如果各通道源阻抗不一致,就会引入增益误差。解决办法是让 Ri 远大于源阻抗,或者在各通道加缓冲。

第二是偏置电流。反相端是虚地,偏置电流 Ib 会流过并联后的等效电阻R1//R2//R3//Rf,产生一个额外的直流输出:

Vos_out ≈ Ib × (R1//R2//R3//Rf)

如果并联后是 3 kΩ,Ib 是 200 nA,那就是 0.6 mV 的输入误差。补偿办法是在同相端接一个同样大小的电阻到地,让两端的偏置电流产生相同的压降,共模抵消掉。这个技巧在同相放大器里也常用,但对 FET 输入运放意义不大,因为它的 Ib 是 pA 级。

4.2 减法器与差分放大的共模抑制比上限

差分放大电路(也就是减法器)的传递函数是:

Vout = (R2/R1) × (V2 - V1),成立条件是 R2/R1 = R4/R3

注意这个"成立条件"。四个电阻必须严格匹配,任何失配都会把共模信号转成差模信号泄漏到输出。共模抑制比的近似公式是:

CMRR ≈ (1 + R2/R1) / (4 × δ)

其中 δ 是电阻的相对失配量。按这个公式算出来的实际情况是:

电阻容差增益 1 时的 CMRR增益 10 时的 CMRR说明
1%约 34 dB约 49 dB通用应用可以,精密测量不行
0.1%约 54 dB约 69 dB普通仪表放大水平
0.01%约 74 dB约 89 dB需要电阻阵列或集成器件
0.001%约 94 dB约 109 dB只有激光修调器件能做到

这张表说明两件事:一是 1% 电阻做到三十分贝出头的共模抑制比,这是物理上限,换再贵的运放也没用;二是同样的电阻,增益越高共模抑制比越好,因为公式里有个1 + R2/R1。

比电阻容差更容易被忽视的是电阻的温漂匹配。两个 0.1% 精度的电阻,如果温度系数一个是 25 ppm/°C、一个是 100 ppm/°C,温度变化 40°C 之后失配量就从 0.1% 变成 0.4%,共模抑制比直接掉十几分贝。所以精密场合必须用同一封装、同一基板、同一批次的电阻阵列,它们贴在一起,温度同步变化。

4.3 双端输入双端输出结构的对称性要求

双端输入双端输出的运放结构,通常指全差分放大器或者带共模反馈的运放。它的价值在于输出摆幅翻倍、偶次谐波抵消、对共模干扰不敏感,常用于驱动差分输入的 ADC。

但它的精度完全建立在对称性上。两条支路的电阻必须成对匹配,两条支路的寄生电容也要尽量一致。PCB 上如果一条走线短、一条走线长,两条路径的相位就不同,共模抑制比会在高频段迅速恶化。我在这类电路上会强制做镜像布局:两条走线等长、等宽、等间距,中间的器件对称摆放,地平面完整不开槽。

另外,全差分放大器的输出共模电压需要单独设定,通常通过 VOCM 引脚给一个参考电压。这个参考电压的噪声会直接出现在输出的共模上,如果后级 ADC 的共模抑制比不够好,就会转成差模噪声。所以 VOCM 引脚上要加 RC 滤波,电阻取值别太大,否则引入热噪声。

5. 失调电压、偏置电流与恒流源的直流精度

精密电路的核心矛盾,说到底就是直流精度。交流性能可以靠带宽和反馈补救,直流误差一旦进了信号链,后面只能靠校准或者软件补偿。而校准只能在常温下做,温漂是校准不了的。

5.1 失调电压计算公式逐项拆解

常用的输出失调电压公式,我写成工程上最好用的形式:

Vos_out = (1 + Rf/Rg) × [ Vos + Ib+ × R+ - Ib- × R- ]

这里面有五项,每一项都可能成为主导:

Vos是运放自身的输入失调电压,由输入级晶体管的配对精度决定。双极型运放通常在 0.5 到 5 mV,精密型可以做到 50 µV 以内,零漂移斩波型可以做到 10 µV 以内。

Ib+和Ib-是两个输入端的偏置电流,双极型运放典型在几十到几百纳安,FET 输入的在皮安到几十皮安。注意这两项符号可能相反。

R+是同相端看到的等效直流电阻,R-是反相端看到的等效直流电阻。R-就是输入电阻和反馈电阻的并联值。

如果让R+ = R-,并且假设Ib+ ≈ Ib-,那么方括号里后两项就抵消了,只剩下Ios × R这一项残差,Ios是输入失调电流(两个 Ib 之差),通常只有 Ib 的十分之一到五分之一。这就是源阻抗匹配的意义:把几百纳安量级的误差,降到几十纳安量级。

举个具体数字。反相放大,Rin = 10 kΩ,Rf = 1 MΩ,增益 100 倍。R- = 10k // 1M ≈ 9.9 kΩ。如果不做同相端匹配,R+ = 0,那么Ib- × R- = 200 nA × 9.9 kΩ ≈ 2 mV,乘上 101 倍就是 200 mV 的输出误差。如果在同相端接一个 9.9 kΩ 电阻,假设Ios = 20 nA,残差变成20 nA × 9.9 kΩ = 0.2 mV,输出误差降到 20 mV。差了十倍,成本只多一个电阻。

注意:当Rf很大而Rin很小时,R-主要由Rin决定。此时同相端要接的是Rin // Rf,不是Rin,也不是Rf。这个数很多人会算错。

5.2 源阻抗匹配的失效场合与替代方案

源阻抗匹配不是万能的,有两种情况会失效。

第一种是Ib+和Ib-差异很大,或者随温度变化方向不一致。这时候匹配反而可能放大误差。精密场合更稳妥的做法是直接换低偏置电流的 FET 输入运放,或者换零漂移的斩波运放,把Ib项整体压到可忽略。

第二种是输入源本身就是高阻抗的。比如 pH 电极、光电二极管、压电传感器,源阻抗动辄兆欧到吉欧。这时候任何双极型运放都用不了,几纳安的偏置电流乘上吉欧就是几伏的误差。只能用 FET 输入或者 CMOS 输入的运放,并且要注意输入端的漏电流控制:PCB 上要用保护环,保护环接到与输入端同电位的低阻点,把漏电流引走。助焊剂残留也要洗干净,否则几十兆欧的漏电阻就能毁掉整个设计。

另外还要提一句调零。老器件(比如 OP07 这类)有专门的调零引脚,外接一个电位器就能把Vos拉到零。但调零只能补常温下的固定失调,补不了温漂,而且电位器本身有温漂和机械漂移。现代做法更倾向于用低失调器件配合软件两点校准,把硬件调零省掉。

5.3 运放恒流源:精度到底卡在哪个元件上

运放恒流源是一个很典型的"看起来简单、算起来有很多项"的电路。低压侧采样的经典拓扑是:运放同相端接基准电压 Vref,输出驱动一个 NPN 三极管的基极,三极管发射极串采样电阻 Rs 到地,反相端接发射极。负载接在集电极和电源之间。

输出电压使发射极电压等于 Vref,所以:

Ie = Vref / Rs Iload = Ic = Ie × β/(β+1)

精度来源分析如下:

采样电阻 Rs 是第一位。Rs 的容差直接就是电流的容差,Rs 的温漂直接就是电流的温漂。要 0.1% 的精度,Rs 得用 0.1% 精度的金属膜或者合金电阻,温漂控制在 25 ppm/°C 以内。这一点没有捷径。

第二位是三极管的基极电流损失。上面那个β/(β+1)项,β 为 100 时就是 0.99,误差 1%,比 Rs 的容差还大。要消掉它有两个办法:一是用 MOS 管代替三极管,栅极电流是漏电流级别,可以忽略;二是把负载接在发射极侧(变成射极跟随器输出电流),然后把采样电阻放到集电极侧去测。

第三位是运放的失调电压。Vos直接叠加在Vref上,100 µV 的失调在Vref = 2.5 V时是 40 ppm 的误差。要更好就得选低失调运放。

第四位是运放的偏置电流。Ib流过Rs会产生额外压降,不过如果Vref是由低阻基准源给出的,这一项通常较小。

还有一个经常被忽略的点:如果负载是接地的,低压侧采样的拓扑就用不了,得用 Howland 电流泵或者改进型 Howland。这类电路的输出电流精度依赖四个电阻的匹配,和差分放大一个道理,电阻匹配决定共模抑制比,也就决定了电流精度。

6. RFI 整流、容性负载与输出接 MOS 栅极的稳定性

前面讲的都是稳态精度,这一章讲的是实际调试中最容易碰到的动态问题。它们的共同特点是:原理上很隐蔽,现象上很离谱,一出现就让人怀疑人生。

6.1 RFI 整流:高频干扰怎么变成直流误差

RFI 整流是精密电路的一个大坑。现象是:明明输入端只接了一个直流信号,输出却出现缓慢漂移,或者零点在不同的环境下不一样。拿示波器看,输出上还叠加着高频毛刺。原因就是输入级的非线性把高频干扰整流成了直流。

机理是这样的:运放的输入级是差分对,虽然设计得很线性,但任何真实器件都有非线性。当输入端耦合了几百兆赫兹的射频信号(来自手机、无线模块、开关电源),输入级的 PN 结和寄生二极管会像检波器一样工作,把高频信号的平均值提取出来,形成等效的直流偏置。这个偏置看起来就像一个额外的失调电压,而且随干扰强度变化。

对策分三层。第一层是降低干扰的到达量:输入端加 RC 低通,差分和共模都要加。典型取值是每端串 1 kΩ,两端之间加 100 pF 到 1 nF 的差模电容,每端到地加 100 pF 左右的共模电容。截止频率按1/(2πRC)算,1 kΩ 配 1 nF 就是 160 kHz,对大多数低频精密信号足够。电阻的热噪声是4 nV/√Hz每千欧,1 kΩ 在 20 kHz 带宽下大约 0.57 µV 均方根,一般可以接受。

第二层是选对器件。有些运放输入级带反并联保护二极管,这些二极管的非线性更强,更容易整流。选型时可以优先考虑内部做过 RFI 抑制设计的型号,或者干脆用带宽本来就很窄的精密运放,让高频进不去。

第三层是布局。输入走线尽量短,远离时钟线和开关电源节点,两个输入端走线等长且互相靠近,这样耦合进来的共模干扰可以被后续的共模抑制比吃掉一部分。如果两条输入走线一条靠近干扰源、一条远离,干扰就变成差模,那是最糟糕的情况。

6.2 容性负载与隔离电阻的取舍

容性负载导致自激,前面已经提过。这里补充一下量的概念。运放手册里一般会给出"容性负载能力"曲线,通常是在特定噪声增益下给出的。低于某个增益时,可容许的负载电容可能只有几十皮法;增益高一些,可容许的电容能到几百皮法。所以低增益的缓冲电路反而最怕容性负载。

隔离电阻是最常用的解法,取值 22 到 100 Ω。它把负载电容与运放输出级隔开,破坏附加极点形成的条件。代价是输出摆幅在带载时会有压降,Vdrop = Iload × Riso。如果输出 20 mA 电流、隔离电阻 50 Ω,就是 1 V 的压降,这个在低压供电系统里不能忽略。

还有两种替代方案。一是用双通道运放做"环内补偿":一路运放做增益级,另一路做缓冲并带上负载,缓冲运放放在反馈环内,附加极点被包含进环路,稳定性由反馈网络决定。二是在输出端加小电感或者磁珠做高频隔离,但磁珠的阻抗随电流变化,特性不好预测,我一般不用在精密信号路径上。

6.3 输出接 MOS 栅极时的驱动能力与保护

运放输出直接驱动 MOS 栅极(很多人会口误说成"接基极",MOS 是三端器件,栅极才是控制端)是很常见的用法,比如运放做恒流源、做线性电源、做压控电流源。这时候要注意三件事。

第一是栅极电容。MOS 的输入电容从几百皮法到几纳法,密勒效应还会把它放大。这个电容就是前面说的容性负载,必须串隔离电阻,一般 22 到 100 Ω。如果开关速度要求高,就得加专门的栅极驱动,不能让运放硬扛。

第二是栅极电压限制。MOS 的栅源击穿电压通常在正负 20 V 左右,超过就永久损坏。运放的供电电压必须留出足够余量,并且在栅极上并联一个稳压二极管做钳位。这个保护二极管在正常工作时不导通,它的结电容很小,对电路影响不大。

第三是环路稳定性。MOS 的跨导随电流变化,在小电流时跨导低,环路增益低;大电流时跨导高,环路增益大。最坏情况通常出现在某个中间电流点,需要在全电流范围内验证相位裕度。做法是把 MOS 换成等效的小信号模型,用网络分析仪或者仿真扫环路增益,看相位裕度是不是在所有工作点都大于 45 度。45 度是底线,60 度以上才叫放心。

另外提一句,运放输出接 MOS 栅极时如果 MOS 是源极跟随器结构,负载电流会从运放输出流出,要核算运放的输出电流能力。很多精密运放的输出电流只有几毫安,驱动不了大电流 MOS 的栅极充电。

7. 仿真与实测的分工:从 circuitjs 设置到 THD 与 CMRR 的关系

仿真在模拟电路设计里的定位,我一直觉得是"快速排除明显错误",不是"验证性能"。尤其像 circuitjs 这类在线仿真器,运放模型是理想化的,用它验证自激或者失真基本等于没验证。

7.1 circuitjs 里运放增益设成多少合适

circuitjs 里的运放元件是一个理想化模型,它的开环增益可以设置。很多人问"增益怎么设置无穷大",其实没必要,也做不到。数值仿真里无穷大增益会导致迭代不收敛,程序会直接报错或者输出乱跳。

正确的做法是把开环增益设成一个足够大的有限值,让闭环误差小于你能接受的量级。闭环增益误差约等于1/(1+Aβ),其中 β 是反馈系数。如果噪声增益是 10,β 就是 0.1。开环增益设 10^5,环路增益是 10^4,闭环误差 0.01%,够用;设 10^6,误差 0.001%,更保险。一般填1e5到1e6就行。

另外要注意,circuitjs 的运放输出会被电源轨钳位,所以它会自然表现出饱和特性,这点和真实运放一致。但它没有 GBW 限制,没有压摆率限制,没有失调,没有噪声。所以用它看直流工作点、看反相端是不是虚地、看加法器的加权关系,都没问题;用它看带宽、看自激、看失真,完全没有意义。真要仿真这些,得上带 SPICE 模型的工具,把厂商提供的模型文件导入,模型里包含极点、噪声、失调参数。

7.2 仿真的可信边界

我自己的判断标准是:仿真能信三类东西,直流工作点、理想拓扑的正确性、极端情况下的保护行为(比如输出饱和、输入超范围会发生什么)。仿真不能信三类东西:绝对精度、绝对噪声、绝对稳定性。

绝对精度不能信,是因为模型里的失调、温漂通常是典型值甚至理想值为零。绝对噪声不能信,是因为模型里的噪声可能被简化了,而且实际噪声还包含 PCB 耦合的部分。绝对稳定性不能信,是因为相位裕度对寄生参数极其敏感,PCB 上的几皮法寄生电容在模型里是没有的。

所以我的流程是:先用仿真快速验证拓扑和直流工作点,然后按计算确定元件参数,再打样板实测。实测发现的问题再回到计算和仿真里去对,形成一个闭环。跳过实测这一步,只靠仿真交付,迟早出事。

7.3 THD 与共模抑制比之间那条看不见的线

最后一个问题:运放的总谐波失真和共模抑制比到底有没有关系。答案是有,而且是间接但明确的关系。

两者背后的共同变量是环路增益。环路增益越高,运放对自身非线性的校正能力越强,失真越低;同时环路增益高也让共模误差的传递更小,等效共模抑制比更好。所以从器件层面看,开环增益高、GBW 高的运放,通常两个指标都更好。

但更值得关注的是它们在电路里的耦合。共模抑制比有限意味着共模输入的变化会转成差分误差。如果共模输入本身是带频率变化的信号,比如电源纹波通过偏置网络耦合到输入端,那这个共模变化就会被转化为差分误差,被放大器放大,然后以谐波的形式出现在输出上。这时候测出来的失真变差,根源其实在共模抑制比,不在运放的失真指标上。

反过来也成立:当电路工作在共模干扰很大的场合(比如电机驱动旁边的电流检测),共模抑制比差会引起严重的失真,而用同一个运放搭一个共模干扰很小的电路,失真指标就正常。所以遇到"测得失真比手册指标差很多"的情况,先检查共模环境,再去怪运放。

实测时有几个实用技巧。测共模抑制比可以用标准方法:把输入端短路,给一个共模扫频信号,测输出的差模分量。测失真时要在几个不同的共模条件下各测一遍,如果失真随共模电压变化明显,那就说明共模抑制比是瓶颈,改进方向是提高电阻匹配精度或者换成集成差分放大器,而不是换更贵的运放。

我个人在实际操作中的体会是:精密运放电路里,九成的问题最终都落回电阻匹配、源阻抗匹配和布局这三件事上。运放本身选对了就行,选完之后能不能发挥出来,看的是外围。每次调试遇到说不清的现象,先把这三件事检查一遍,通常问题就在那儿。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 5:15:52

STM32F103开发板入门实战:从工具链选型到外设驱动全流程拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 5:15:52

SIP Layout设计实战:Die摆放与Wire Bond核心要点解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 5:12:32

OPNET仿真802.11 MAC协议源码:从编译到退避流程实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 5:10:44

OpenEuler上iSulad轻量容器引擎部署与调优实战

1. 为什么是iSulad:OpenEuler原生轻量容器引擎的选型逻辑我最早接触iSulad,是因为在一批ARM架构的边缘网关设备上需要跑容器化应用。当时手头只有几百MB的内存余量,装Docker一套下来,守护进程常驻内存就要吃掉一两百MB&#xff0c…

作者头像 李华
网站建设 2026/9/29 5:09:56

CRC8与E2E通信保护:车载总线数据完整性的实战解析

说个真事儿。有一年我在现场调一个CAN节点,从机上报的扭矩值每隔几分钟就会从稳定的读数突变成离谱数值,然后又自己恢复。用示波器抓了好几天都没抓到,最后锁定了问题:不是某个元器件坏了,而是总线上一阵电磁干扰把报文…

作者头像 李华