5·17

5.4–5.5 补:有限增益 op amp 与 loop gain

About 21 minBook · Davis 5.4–5.5

理想 op amp 假设增益 A=∞A = \infty,所以有 virtual short v+=v−v_+ = v_-。真实 op amp 的 AA 很大但有限(常见 10410^4 到 10610^6)。这一节回答三个问题:AA 有限时放大器的增益是多少;为什么 AA 很大时结果几乎不依赖 AA;AA 有限、甚至只知道一个范围时,怎样选电阻。方法只有一个:按 5·16 把 op amp 换成 VCVS,然后当普通的 dependent source 电路做节点法。

① 模型和四步

有限增益 op amp vo=A (v+−v−)v_o = A\,(v_+ - v_-)

v+v_+、v−v_-、vov_o 都是对地的节点电压,AA 是 op amp 自己的增益(open loop gain)。另外两条理想化照旧:Rin=∞R_{in} = \infty,两个输入端不取电流;Rout=0R_{out} = 0,VCVS 直接接在输出上,没有串联电阻。

  1. 换图。op amp 换成 VCVS A(v+−v−)A(v_+ - v_-):两个输入端之间开路,输出到地是菱形(5·16)。给节点上色,看清哪些导线是同一个节点。
  2. 输入端节点写 KCL。op amp 不取电流,所以 + 端、− 端所在节点的 KCL 只含外面的元件。把 v+v_+、v−v_- 写成"输入电压和 vov_o 的组合"。输出节点不写 KCL:VCVS 的电流未知。
  3. 撕胶带。代进 vo=A(v+−v−)v_o = A(v_+ - v_-),消掉 v+v_+、v−v_-,只剩 vov_o 和输入。
  4. 解,再检查。解出 vov_o,整理成 ③ 的"正向增益 / (1+AF)(1 + AF)";令 A→∞A \to \infty,应该回到理想 op amp(virtual short)的答案。

② 两个例子

例题

例 1 noninverting amplifier:推一般式

+ − vin v₊ v₋ 开路 R1 R2 + − A(v₊ − v₋) vo
vinv_{in} 接 + 端(紫);R1R_1 从 − 端(青)到地,R2R_2 从输出(橙)接回 − 端;输出到地是 VCVS A(v+−v−)A(v_+ - v_-)。

推出一般的 GG,再代 R1=1R_1 = 1 kΩ、R2=9R_2 = 9 kΩ、A=100A = 100 和 A=1000A = 1000,vin=1v_{in} = 1 V。(5·16 例 2 用具体数字算过一次,这里推一般式。)

  1. 换图(上图),读颜色:v+=vinv_+ = v_{in}。
  2. − 端(青):只连着 R1R_1、R2R_2,op amp 不取电流,两个电阻流同一个电流,是普通分压器:v−=R1R1+R2 vo=F vov_- = \frac{R_1}{R_1 + R_2}\, v_o = F\, v_o 其中 F=R1R1+R2F = \frac{R_1}{R_1 + R_2}(这就是 − 端 KCL v−R1+v−−voR2=0\frac{v_-}{R_1} + \frac{v_- - v_o}{R_2} = 0 解出来的结果)。FF 是输出送回 − 端的比例,③ 叫它 feedback factor。
  3. 撕胶带:vo=A(v+−v−)=A(vin−Fvo)v_o = A(v_+ - v_-) = A(v_{in} - F v_o)。
  4. 解 vov_o:展开 vo=Avin−AF vov_o = A v_{in} - AF\, v_o;移项、提出 vov_o:(1+AF) vo=A vin(1 + AF)\, v_o = A\, v_{in} G=vovin=A1+AFG = \frac{v_o}{v_{in}} = \frac{A}{1 + AF}
  5. 检查极限:A→∞A \to \infty 时分子分母同除以 AA,G=11/A+F→1F=1+R2R1G = \frac{1}{1/A + F} \to \frac{1}{F} = 1 + \frac{R_2}{R_1},正是理想 noninverting amplifier ✓。
  6. 代数:F=11+9=0.1F = \frac{1}{1 + 9} = 0.1。A=100A = 100:AF=10AF = 10,G=100/11=9.091G = 100/11 = 9.091。A=1000A = 1000:AF=100AF = 100,G=1000/101=9.901G = 1000/101 = 9.901。理想值 10。
  7. 输入端差多少(A=100A = 100、vin=1v_{in} = 1 V):vo=9.091v_o = 9.091 V,v−=0.1×9.091=0.9091v_- = 0.1 \times 9.091 = 0.9091 V,v+−v−=0.0909v_+ - v_- = 0.0909 V,正好等于 vo/Av_o / A。
例题

例 2 两路输入的 summing amplifier,A = 40

+ − 0.3 V 10 kΩ + − 0.4 V 20 kΩ 20 kΩ − + A=40 v₋ vo
① 原图:0.3 V 经 10 kΩ、0.4 V 经 20 kΩ 接到 − 端(青),20 kΩ 从输出(橙)接回 − 端;+ 端接地。
+ − 0.3 V 10 kΩ + − 0.4 V 20 kΩ 20 kΩ − 输入:不取电流 + − 40(0 − v₋) v₋ vo
② 换成 VCVS:+ 端接地,所以标签是 40(0 − v₋)。青色节点上连着三个电阻,没有别的。

Rin=∞R_{in} = \infty,Rout=0R_{out} = 0。求 vov_o 和 v−v_-,和理想值比较。

单位 kΩ、mA、V。

  1. 换图(图 ②):v+=0v_+ = 0,VCVS 的电压是 40(0−v−)=−40 v−40(0 - v_-) = -40\,v_-。
  2. − 端(青)的 KCL:流出青色节点的三个电流之和为 0(op amp 不取电流): v−−0.310+v−−0.420+v−−vo20=0\frac{v_- - 0.3}{10} + \frac{v_- - 0.4}{20} + \frac{v_- - v_o}{20} = 0 两边乘 20 再合并:4v−=1.0+vo4v_- = 1.0 + v_o,即 v−=0.25+0.25 vov_- = 0.25 + 0.25\,v_o 0.25 V 是两路输入单独在 − 端产生的电压(vo=0v_o = 0 时);0.25 vo0.25\,v_o 是输出送回来的部分。
  3. 撕胶带:vo=−40 v−=−40 (0.25+0.25 vo)=−10−10 vov_o = -40\,v_- = -40\,(0.25 + 0.25\,v_o) = -10 - 10\,v_o。
  4. 解:11 vo=−1011\,v_o = -10,vo=−10/11=−0.9091v_o = -10/11 = -0.9091 V;v−=−vo/40=0.0227v_- = -v_o/40 = 0.0227 V。
  5. 和理想比较:理想加法器 vo=−(2010×0.3+2020×0.4)=−1v_o = -\left(\frac{20}{10}\times 0.3 + \frac{20}{20}\times 0.4\right) = -1 V,− 端是 virtual ground。A=40A = 40 让输出小了 9.1%,− 端也不是 0。
  6. 核对 KCL:流出青色节点的三个电流 0.0227−0.310=−0.0277\frac{0.0227 - 0.3}{10} = -0.0277、0.0227−0.420=−0.0189\frac{0.0227 - 0.4}{20} = -0.0189、0.0227+0.909120=0.0466\frac{0.0227 + 0.9091}{20} = 0.0466 mA,和为 0 ✓。

③ feedback factor 与 loop gain:分母里的 1 + AF

两个例子的分母都是"1 + 某个数":例 1 是 1+AF1 + AF,例 2 是 1+101 + 10。这一小节说明这个数是什么。

feedback factor F

把所有独立输入置零(电压源换成短路),输出电压经电阻网络送回 − 端的比例叫 feedback factor:v−=F vov_- = F\, v_o。例 1:F=R1R1+R2F = \dfrac{R_1}{R_1 + R_2}。例 2:两路输入短路后,10 kΩ 和 20 kΩ 都接地,并联成 6.67 kΩ,再和 20 kΩ 分压:F=6.676.67+20=0.25F = \dfrac{6.67}{6.67 + 20} = 0.25,正是例 2 第 2 步里 vov_o 的系数。

课本 5.5 用 opening the loop(断开回路)来量反馈:输入置零;在 op amp 的 − 输入端把导线剪开;给 op amp 的 − 输入加一个对地的测试电压 vtv_t;看信号绕一圈回到剪开处(电阻那一侧)的电压 vfv_f。

R1 R2 + − −A vt vf(剪开处) vo + − vt 接到 − 输入 vin = 0
例 1 的电路输入置零(+ 端接地),在 − 输入处剪开。op amp 只看到 vtv_t;输出经 R2R_2、R1R_1 分压回到剪开处 vfv_f。
  1. op amp 的 + 端接地、− 端是 vtv_t,所以 vo=A(0−vt)=−A vtv_o = A(0 - v_t) = -A\, v_t。
  2. 剪开处不接任何东西,不取电流,所以 R2R_2、R1R_1 是分压器:vf=F vo=−AF vtv_f = F\, v_o = -AF\, v_t。
  3. loop gain(回路增益)定义为绕一圈的比值:LG=vfvt=−AFLG = \frac{v_f}{v_t} = -AF

LG<0LG \lt 0 叫 negative feedback:送出去的 vtv_t 偏高,绕回来的 vfv_f 就偏低,把它往回拉。LG>0LG \gt 0 叫 positive feedback,偏差会被放大(5·18 讲它为什么不能用)。

有限增益放大器的通用形 G=正向增益1+AFG = \frac{\text{正向增益}}{1 + AF}

正向增益:假装输出不送回 − 端(把 v−v_- 里的 FvoF v_o 项拿掉)时,从输入到输出的放大倍数。例 1:拿掉以后 vo=Avinv_o = A v_{in},正向增益是 AA。例 2:拿掉 0.25 vo0.25\,v_o 以后 vo=−40×0.25=−10v_o = -40 \times 0.25 = -10 V;1+AF=1+40×0.25=111 + AF = 1 + 40 \times 0.25 = 11;−10/11-10/11 正是例 2 的答案 ✓。

AFAF 是绕一圈的放大倍数,等于 ∣LG∣|LG|。AF≫1AF \gg 1 时分母里的 1 可以忽略,G≈正向增益AFG \approx \frac{\text{正向增益}}{AF},AA 被约掉:例 1 剩 1F=1+R2R1\frac1F = 1 + \frac{R_2}{R_1};例 2 剩 −0.25A0.25A=−1\frac{-0.25A}{0.25A} = -1 V,正是理想加法器的答案。只剩电阻比。

记号:Davis 的 loop gain 带符号,LG=−AFLG = -AF,所以书上的写法是 G=正向1−LGG = \frac{\text{正向}}{1 - LG};很多教材把 T=AFT = AF 叫 loop gain,写成 正向1+T\frac{\text{正向}}{1 + T}。两者是同一个式子。

④ virtual ground 只是一个极限

由 VCVS 的方程,v−=−vo/Av_- = -v_o/A。输出只有几伏,所以 AA 越大,v−v_- 越接近 0。用例 2 的加法器(同样两路输入):vo=−0.25A1+0.25Av_o = \frac{-0.25A}{1 + 0.25A},v−=−vo/Av_- = -v_o/A。

AA(例 2 的加法器)vov_ov−v_-
40−0.9091 V0.0227 V
400−0.9901 V0.0025 V
40000−0.9999 V0.000025 V
∞−1 V0(virtual ground)

理想时 − 端是 summing junction:两路电流在这里汇合,全部流进 20 kΩ。AA 有限时 − 端有一点电压,每一路的电流就少一点(0.3−v−10\frac{0.3 - v_-}{10} 而不是 0.310\frac{0.3}{10}),流进 20 kΩ 的电流少了,输出也就小了。

⑤ 去敏 (desensitization):为什么故意用"很大但不准"的 A

5·15讲过想法;这里用公式定量。用例 1 的电路,R1=1R_1 = 1 kΩ、R2=9R_2 = 9 kΩ(F=0.1F = 0.1,理想 G=10G = 10),让 AA 从 3 变到 30 万:

AAG=A/(1+0.1A)G = A/(1 + 0.1A)离理想 10 差多少
32.30876.9%
307.50025.0%
3009.6773.23%
30009.96680.33%
3000009.999670.0033%
3 30 300 3000 3e5 5 10 0 log₁₀ A 理想 10 G 2.31 7.5 9.68
横轴是 AA 的对数。AA 大了以后曲线几乎是平的。

最后一列正好是 11+AF\frac{1}{1 + AF}(11.3=76.9%\frac{1}{1.3} = 76.9\%,131=3.23%\frac{1}{31} = 3.23\%),5·15推过 noninverting amplifier 的这个结论。

小变化的规律。两个例子的结果都是 G=cA1+AFG = \frac{cA}{1 + AF} 的样子,cc 是和 AA 无关的常数(例 1 c=1c = 1;例 2 把 vov_o 当成"增益",c=−0.25c = -0.25 V)。对 AA 求导(商的求导法则):

dGdA=c (1+AF)−AF(1+AF)2=c(1+AF)2\begin{aligned} \frac{dG}{dA} &= c\,\frac{(1 + AF) - AF}{(1+AF)^2} \\ &= \frac{c}{(1+AF)^2} \end{aligned}

再除以 GA=c1+AF\frac{G}{A} = \frac{c}{1+AF},得到两个相对变化之比:

dG/GdA/A=11+AF\frac{dG/G}{dA/A} = \frac{1}{1 + AF}

AA 的相对变化要缩小 1+AF1 + AF 倍才传到 GG。例 1 在 A=300A = 300 时 1+AF=311 + AF = 31:AA 变 1%,GG 只变约 1%/31=0.032%1\%/31 = 0.032\%。变化大一点也差不多:AA 从 300 变到 330(+10%),GG 从 9.677 变到 9.706,只变了 0.29%(估计 10%/31=0.32%10\%/31 = 0.32\%)。真实 op amp 的 AA 随温度、批次能差好几倍,而电阻比很稳定。negative feedback 用掉大部分 AA,换来一个几乎只由电阻比决定的准确增益。

例题

例 3 一级还是两级:A 不准时怎样做出准的大增益

要一个增益 100 的放大器。手上 op amp 的 AA 在 10410^4 到 10510^5 之间,具体是多少不知道。方案 A:一级 noninverting amplifier,理想增益 100。方案 B:两级 noninverting amplifier 串起来(第一级的输出接第二级的 + 端),每级理想增益 10。哪个方案的总增益更准?

看解答
  1. 两级可以直接相乘。第二级的 + 端不取电流,第一级 Rout=0R_{out} = 0,所以第二级不改变第一级的输出:总增益 = 两级增益之积。
  2. 方案 A:F=1/100=0.01F = 1/100 = 0.01。A=104A = 10^4:AF=100AF = 100,G=104101=99.01G = \frac{10^4}{101} = 99.01,低 0.99%。A=105A = 10^5:AF=1000AF = 1000,G=1051001=99.90G = \frac{10^5}{1001} = 99.90,低 0.10%。
  3. 方案 B:每级 F=0.1F = 0.1。A=104A = 10^4:AF=1000AF = 1000,每级 1041001=9.990\frac{10^4}{1001} = 9.990,总增益 9.9902=99.809.990^2 = 99.80,低 0.20%。A=105A = 10^5:每级 9.9990,总增益 99.98,低 0.02%。
  4. 比较:AA 不确定时,方案 A 的增益在 99.01 到 99.90 之间,方案 B 在 99.80 到 99.98 之间。B 的误差小 5 倍。
  5. 为什么:每级的相对误差 11+AF≈1AF\frac{1}{1 + AF} \approx \frac{1}{AF},而 1F\frac1F 就是这一级的理想增益,所以误差约等于 理想增益A\frac{\text{理想增益}}{A}。方案 A 约 100A\frac{100}{A};方案 B 每级约 10A\frac{10}{A},两级相乘时小的相对误差相加,共约 20A\frac{20}{A}。一级要的增益越大,留给 feedback 的 AFAF 越小,去敏越弱。

⑥ 设计:A 只知道一个范围时怎样选电阻

理想设计只解一个方程(比如同相 1+R2/R1=G1 + R_2/R_1 = G)。AA 有限时 GG 还依赖 AA:先用 ① 的四步写出 GG 和 AA、电阻的关系,再把要求写成方程或不等式去解。datasheet 只给 AA 的范围,所以常见的要求是"AA 在范围内怎么变,GG 都不超出某个区间"。

例题

例 4 设计:A 在 500 到 5000 之间,增益要在 10 ± 1% 以内

noninverting amplifier,R1=1R_1 = 1 kΩ。op amp 的 AA 可能是 500 到 5000 之间的任何值。要求不管 AA 是多少,都有 9.9≤G≤10.19.9 \le G \le 10.1。R2R_2 可以取多少?按理想公式取 R2=9R_2 = 9 kΩ 行不行?

  1. 先有 G(A)G(A)。例 1:G=A1+AFG = \frac{A}{1 + AF},F=R1R1+R2F = \frac{R_1}{R_1 + R_2}。
  2. 最坏情况在两端。G=11/A+FG = \frac{1}{1/A + F}:AA 越大,1/A1/A 越小,GG 越大。所以 A=500A = 500 时 GG 最小,A=5000A = 5000 时最大,只要检查这两个端点。
  3. 下限 G(500)≥9.9G(500) \ge 9.9:5001+500F≥9.9\frac{500}{1 + 500F} \ge 9.9,1+500F≤5009.9=50.5051 + 500F \le \frac{500}{9.9} = 50.505,所以 F≤0.099010F \le 0.099010。
  4. 上限 G(5000)≤10.1G(5000) \le 10.1:1+5000F≥500010.1=495.051 + 5000F \ge \frac{5000}{10.1} = 495.05,所以 F≥0.098810F \ge 0.098810。
  5. 换成 R2R_2。F=11+R2/R1F = \frac{1}{1 + R_2/R_1},所以 R2=R1(1F−1)R_2 = R_1\left(\frac1F - 1\right),FF 越小 R2R_2 越大。F≤0.099010F \le 0.099010 给 R2≥9.100R_2 \ge 9.100 kΩ;F≥0.098810F \ge 0.098810 给 R2≤9.120R_2 \le 9.120 kΩ。答案:9.100 kΩ≤R2≤9.120 kΩ9.100\ \text{k}\Omega \le R_2 \le 9.120\ \text{k}\Omega。
  6. 理想设计不行:R2=9R_2 = 9 kΩ(F=0.1F = 0.1)时 G(500)=50051=9.804G(500) = \frac{500}{51} = 9.804,低于 9.9。
  7. 代回检查,取中间的 R2=9.11R_2 = 9.11 kΩ:F=1/10.11F = 1/10.11,G(500)=9.910G(500) = 9.910,G(5000)=10.090G(5000) = 10.090,都在 9.9 到 10.1 之间 ✓。

读这个结果。允许的 R2R_2 只有 20 Ω 宽(0.2%),要用 0.1% 精度的电阻;而且它比理想值 9 kΩ 大,用来补偿 AA 小时的损失。换一个 AA 大 10 倍(5000 到 50000)的 op amp,同样的算法给出约 8.92 到 9.10 kΩ,9 kΩ 就在里面:AA 越大,设计越不在乎 AA。

常见错误
  • 在输出节点写 KCL:VCVS 的电流未知,写了只会多一个未知数。
  • AA 有限时仍然令 v−=v+v_- = v_+:这正是有限增益要修正的地方,应该用 v+−v−=vo/Av_+ - v_- = v_o/A。
  • VCVS 的符号:标签永远是 A(v+−v−)A(v_+ - v_-)。+ 端接地时它是 −Av−-A v_-(例 2),不是 Av−A v_-。
  • 把例 1 的 A1+AF\frac{A}{1+AF} 直接套到别的电路上:分母的 1+AF1 + AF 是共同的,正向增益要按电路自己求(例 2 的正向增益就不是 AA)。
  • 设计完不检查:代回看 GG 是否满足要求;还要看输出会不会饱和(5·18)。

详细讲解见:5·15("为什么用大而不准的 A")、零基础图解版(进阶"闭环增益 A/(1+Aβ)")