运算放大器

运算放大器（Operational Amplifier，缩写：op amp或opamp），简称运放，是一种直流耦合，差模（差动模式）输入、通常为单端输出（Differential-in, single-ended output）

高增益（gain）电压放大器。运算放大器能产生一个比输入端电势差大数十万倍的输出电势（对地而言）。因为刚开始主要用于加法，减法等类比运算电路中，因而得名。

通常使用运算放大器时，会将其输出端与其反相输入端（inverting input node）连接，形成一负反馈组态。原因是运算放大器的电压增益非常大，范围从数百至数万倍不等，使用负回授方可保证电路的稳定运作。但是这并不代表运算放大器不能连接成正反馈组态，相反地，在很多需要产生震荡讯号的系统中，正反馈组态的运算放大器是很常见的组成元件。

运算放大器有许多的规格参数，例如：低频增益、单位增益频率（unity-gain frequency）、相位边限（phase margin）、功耗、输出摆幅、共模抑制比、电源抑制比、共模输入范围（input common mode range）、转动率（slew rate）、输入偏移电压（input offset voltage，又译：失调电压）及噪声等。

目前运算放大器广泛应用于家电，工业以及科学仪器领域。一般用途的积体电路运算放大器售价不到五台币，而现在运算放大器的设计已经非常成熟，输出端可以直接短路到系统的接地端而不至于产生短路电流破坏元件本身。

## 历史

第一个使用真空管设计的放大器大约在1930年前后完成，这个放大器可以执行加与减的工作。

运算放大器最早被设计出来的目的是用来进行加、减、微分、积分的类比数学运算，因此被称为“运算放大器”。

同时它也成为实现模拟计算机的基本建构单元。然而，理想运算放大器在电路系统设计上的用途却远超过加减等的计算。今日的运算放大器，无论是使用晶体管或真空管、离散元件或积体电路元件，运算放大器的效能都已经逐渐接近理想运算放大器的要求。最早期的运算放大器是使用真空管设计，现在则多半是积体电路式的元件，但是如果系统对于放大器的需求超出积体电路放大器的能力时，也会利用分立式元件来实现这些特殊规格的运算放大器。

<image>

1960年代晚期，仙童半导体推出了第一个被广泛使用的积体电路运算放大器，型号为μA709，设计者则是鲍伯·韦勒（Bob Widlar）。但是709很快地被随后而来的新产品μA741取代，741有着更好的效能，更为稳定，也更容易使用。741运算放大器成了微电子工业发展历史上的一个里程碑式，历经了数十年的演进仍然没有被取代，很多积体电路的制造商至今仍然在生产741，而且在元件的型号上一定会加上“741”以资区别。但事实上后来仍有很多效能比741更好的运算放大器出现，利用新的半导体元件，如1970年代的场效晶体管或是1980年代早期的金氧半场效晶体管等。这些元件常常能直接使用在741的电路架构中，而获得更好的效能。

通常运算放大器的规格都会有严格的限制，而封装和对电源供应的需求也已经标准化。通常只需要少量的电阻、电容等外接元件，运算放大器就能执行各种不同的类比讯号处理任务。在售价方面，虽然今日的标准型或是一般用途运算放大器因为需求量及产量皆大的缘故而跌至一元美金以下，但是特殊用途的运算放大器售价仍然有可能是泛用型的一百倍以上。

### 里程碑

- 1941年：贝尔实验室的 Karl D. Swartzel Jr. 发明了真空管组成的第一个运算放大器，并取得2,401,779，名为“Summing Amplifier”（加算放大器），在第二次世界大战时，该设计大量用于军用火炮导向装置中。
- 1947年：第一个具有非反向输入端的运算放大器由哥伦比亚大学的 John R. Ragazzini 教授在论文中提出，并提及他的学生随后会实际设计出具有重大改进的运算放大器。
- 1949年：第一个使用截波稳定式（Chopper-stabilized）电路的运算放大器。
- 1961年：第一个由个别晶体管组成的运算放大器电路板组件，GAP/R 公司的 P45。
- 1962年：第一个胶封模组形式的运算放大器，GAP/R 公司的 PP65。
- 1963年：第一个以积体电路单一芯片形式制成的运算放大器是快捷半导体公司 Bob Widlar 所设计的 μA702，一开始但还不算很成功，直到1965年经修改后推出 μA709。
- 1963年：首次作为商业产品贩售的运算放大器是 George A. Philbrick Researches (GAP/R) 公司的真空管运算放大器，型号 K2-W。
- 1966年：第一个使用变容二极管桥（Varactor Bridge）电路的运算放大器。
- 1967年：美国国家半导体公司推出 LM101，改善了许多重要问题，使积体电路运算放大器开始流行。
- 1968年：快捷半导体公司推出 μA741，与 LM101 相比，μA741内部增加了30pF的频率补偿电容。该产品第二来源众多，迄今仍然在生产使用，它是有史以来最成功的运算放大器，也是极少数最长寿的IC型号之一。
- 1970年：开始出现输入端使用 FET 的高速、低输入电流（高输入阻抗）运算放大器。
- 1972年：第一个可使用单电源供应的运算放大器 LM324 推出。LM324 内含四个运算放大器，它的接脚排列方式也被随后的同类型运算放大器延用，成为业界标准。

## 操作原理

<image>

放大器的差分输入包括一个非反相输入电压V +与的反相输入电压V -；理想的运算放大器放大只有两个电压的差，这就是所谓的差模输入电压。运算放大器的输出电压V out由下式给出：

$$V_\mathrm{out} = (V_+ - V_-) \cdot A_\mathrm{do}$$

其中Ado代表运算放大器的开回路差动增益。

### 开回路组态

由于运算放大器的开回路增益非常高，对于集成运算放大器可以达到100,000以上，因此就算输入端的差动讯号很小，仍然会让输出讯号饱和，导致非线性的失真出现。因此运算放大器很少以开回路组态出现在电路系统中，少数的例外是用运算放大器做比较器进行满幅输出，输出值通常为逻辑准位的“0”与“1”。

### 闭环组态

#### 负回授组态

将运算放大器的反向输入端与输出端连接起来，放大器电路就处在负回授组态的状况，此时通常可以将电路简单地称为闭回路放大器。闭回路放大器依据输入讯号进入放大器的端点，又可分为反相（inverting）与非反相（non-inverting）两种。

必须注意的是，所有闭回路放大器都是运算放大器的负回授组态。

##### 反相闭回路放大器

<image>

右图是一个反相闭回路放大器的电路。假设这个闭回路放大器使用理想的运算放大器，则因为其开回路增益为无限大，所以运算放大器的两输入端为虚接地（virtual ground），因为V-跟V+由于负回授呈现虚短路（virtual short)，导致此时V-等于V+。又因为输入阻抗无限大，此时I-跟I+均为零，此时自Vin到V-之电流Iin，等于V-到Vout之电流If，所以:

$$V_\mathrm{out} =- \frac{R_\mathrm{f}} {R_\mathrm{in}} \cdot V_\mathrm{in}$$

输入电阻等于Rin。

电压关系：

$$V_{out} = - V_{R_f} = - I \cdot R_f = - { V_{in} \over R_{in}} \cdot R_f = - { R_f \over R_{in}} \cdot V_{in}$$

##### 正相闭回路放大器

<image>

右图是一个非反相闭回路放大器的电路。负反馈通过分压电阻 Rf, Rg 决定了闭环增益 ACL = Vout / Vin。当 Vout 刚好足以“接近并改变与 Vin 相同的反相输入”时将建立平衡。因此整个电路的电压增益是 1 + Rf/Rg。作为一个简单的例子，当 Vin = 1 V 且 Rf = Rg时，Vout 就会是 2 V，恰好能够让 V− 保持在需要的 1 V。由于反馈是由 Rf, Rg 网络提供的，这就是一个闭环电路。

分析这个电路的增益的另一种方法是通过以下假设（通常是有效的）：

- 当运算放大器工作于线性（即非饱和）模式，非反相 (+) 端子和反相 (−) 端子是小到可以忽略的。
- (+) 和 (−) 端子之间的输入阻抗比电路中任何其他电阻都大很多。

输入信号 Vin 既出现在 (+) 也出现在 (−) 端子，导致流过 Rg 的电流 i 等于 Vin/Rg.

$$V_\text{out} = V_\text{in} + i \times R_f = V_\text{in} + \left(\frac {V_\text{in}} {R_g} \times R_f\right) = V_\text{in} + \frac{V_\text{in} \times R_f} {R_g} = V_\text{in} \left(1 + \frac{R_f} {R_g}\right)$$

#### 正回授组态

会使用正回授的情况有：

- 作为有迟滞的比较器，形成施密特电路
- 产生振荡

## 特性

### 理想运算放大器

<image>

一个理想的运算放大器（ideal OPAMP）通常应具备下列特性：

- 无限大的开回路增益（Ad=∞）：理想运算放大器的一个重要性质就是开回路的状态下，输入端的差动讯号有无限大的电压增益，这个特性使得运算放大器在实际应用时十分适合加上负回授组态。
- 无限大的输入阻抗（Zin／Rin=∞）：理想的运算放大器输入端不容许任何电流流入，即上图中的V+与V-两端点的电流讯号恒为零，亦即输入阻抗无限大。
- 零输入失调电压
- 无限大的带宽（BW=∞）且零相移与无穷大的摆率：理想的运算放大器对于任何频率的输入讯号都将以一样的差动增益放大之，不因为讯号频率的改变而改变。
- 零输出阻抗（Zout／Rout=0）：理想运算放大器的输出端是一个完美的电压源，无论流至放大器负载的电流如何变化，放大器的输出电压恒为一定值，亦即输出阻抗为零。
- 零噪声
- 无限大的共模抑制比（CMRR=∞）：理想运算放大器只能对V+与V-两端点电压的差值有反应，亦即只放大$V_{+}-V_{-}$的部分。对于两输入讯号的相同的部分（即共模讯号）将完全忽略不计。
- 无限大的电源电压抑制比

在负回授的情况下，以上理想放大器之特性可总结为以下二条“黄金规则”：

- 输出会使得输入电压间的差异成为零，V+=V-
- 因输入阻抗无限大，故输入电流I+=0,I-=0

第一条规则通常情况下只适用于在所述运算放大器被用在闭环设计（负反馈，其中有某种形式的一个从输出到反相输入端进行反馈的信号路径）。这些规则通常用作好的一次近似，用于分析或设计运算放大器电路。

所有这些理想化都不可能完全实现。运算放大器模型中可以使用等效电阻和电容来模拟真正的运算放大器的非无限或非零参数。设计者这样就可以将这些影响考虑进最终电路的整体性能中。一些参数对最终设计的影响可能可以忽略不计，但其他那些实际制约最终性能的参数必须计算。

### 实际运算放大器

实际运算放大器和理想放大器在许多方面上都不同。

#### 直流的非理想问题

实际运算放大器受到几个非理想效应影响：

- 有限的增益

实际的运算放大器开回路增益为有限的而不是无限的。典型的设备具有从10万到超过100万的开环直流增益范围。根据电子电路相关书籍资料，以OP Amp 741元件而言，其开回路电压增益大约为200000。只要环路增益（即开环增益和反馈增益的乘积）是非常大的，电路增益将完全由负反馈量决定（将与开环增益无关）。在闭环增益必须非常高的情况下，反馈增益会很低，而低反馈增益会导致低环路增益；在这些情况下，运算放大器将不再表现得理想化。

- 有限的输入阻抗

运算放大器的差模输入阻抗被定义为它的两个输入端之间的阻抗；共模输入阻抗 则是每个输入端对地的阻抗。MOSFET输入的运算放大器通常具有能有效地短路比小阈值大的输入任何差异的保护电路，这样在一些测试中输入阻抗可以非常低。然而，只要这些运算放大器在一个典型的高增益负反馈应用中使用，这些保护电路将不起作用。下面描述的输入偏置和泄漏电流是典型的运算放大器应用中更重要的设计参数。

- 大于零的输出阻抗
- 大于零的输入偏压电流
- 大于零的共模增益

#### 交流的非理想问题

- 有限的带宽 讯号频率高到一定程度时，也不能忽略频率愈高，增益愈低的情形。
- 输入电容

#### 非线性的问题

- 讯号饱和
- 延迟率
- 非线性转换函数

#### 功率损耗的考量

- 输出功率的限制
- 输出电流的限制

## 在电路设计中的应用

- 积分器
- 微分器
- 施密特触发器
- 稳压电路
- 定电流电路
- 主动滤波器
- D/A转换电路
- 精密整流电路
- 仪表电路
- 对数放大器
- 指数放大器
- 乘法器

## 741运算放大器的内部结构

<image>

了解运算放大器的内部电路，对于使用者在遭遇应用上的极限而导致无法达成系统设计规格时，非常有帮助。而虽然各家厂商推出的运算放大器性能与规格互有差异，但是一般而言标准的运算放大器都包含下列三个部分：

- 差动输入级
- 以一差分放大器作为输入级，提供高输入阻抗以及低噪声放大的功能。
- 增益级
- 运算放大器电压增益的主要来源，将输入讯号放大转为单端输出后送往下一级。
- 输出级
- 输出级的需求包括低输出阻抗、高驱动力、限流以及短路保护等功能。

其他在运算放大器内必备的电路还包括提供各级电路参考电流的偏压电路（bias circuits）。

### 电流镜与偏压电路

右图中，以红色虚线标示的区域为741运算放大器的偏压电路及其电流镜。741运算放大器内部各级所使用的偏压电流均来自此区，而这些偏压电流的源头是39KΩ的电阻R1、NPN晶体管Q11以及PNP晶体管Q12。正负电源的差值扣掉Q11与Q12的基极-射极电压后，再依照欧姆定律除R1的值，即可得到参考电流源的大小：

$$I_{ref}=\frac{(V_{S+}-V_{S-}-2V_{be})}{R_{1}}$$

上式中Vbe是双载子晶体管的基极-射极电压，对于工作在放大区（active region）的双载子晶体管而言，Vbe通常在0.7V左右。

参考电流Iref经由Q11/Q10/R2组成的韦勒电流源复制后，再由Q8/Q9组成的电流镜决定输入级的偏压电流，从而决定输入级的直流状态（DC condition）。这个偏压电路的重要功能在于提供十分稳定的定电流（constant current）给放大器的输入级，可让输入的共模范围更大，晶体管不会因为输入共模电压的改变而离开应有的工作区。假设当输入级晶体管Q1/Q2的偏压电流开始下降时，供应电流给Q1/Q2的电流源Q8会侦测到这个改变，进而改变从Q9流向Q10的电流。此时因为Q9与Q10的集极端与Q3/Q4的基极端相连，当Q9的电流下降时，Q3/Q4的基极电流必须增加，以满足由Q10与R2所设定的电流值。又因为Q3/Q4的基极电流增加，迫使Q3/Q4的射极电流也必须增加，亦即将整个输入级的偏压电流拉回原本的大小。这样的机制等同于一个高增益的负回授系统，能够让输入级的直流工作点（DC operating point）更加稳定，进而让输入级的整体效能更好。

Q12/Q13组成的电流镜负责提供增益级电路的偏压电流，让增益级的直流工作点不受其输出电压的干扰而飘移。

### 差动输入级

深蓝色的虚线所围起来的区域是741运算放大器的输入级，一共有七颗晶体管Q1至Q7。NPN晶体管Q1与Q2组成的差动对（differential pair）是整个741运算放大器的输入端。此外，Q1/Q2各是一个射极随耦器（emitter follower），接至共基极组态的PNP晶体管Q3/Q4。Q3与Q4的用途是电压位准移位器（level shifter），将输入级的电压位准调整至适当的位置，用以驱动增益级的NPN晶体管Q16。Q3/Q4的另外一个功用就是作为抑制输入级偏压电流飘移的控制电路。

Q5至Q7组成的电流镜是输入级差动放大器的主动式负载。NPN晶体管Q7的作用主要在于利用本身的共射增益增加Q5与Q6电流镜复制电流的精准度。同时，这个电流镜构成的主动式负载也以下列的过程将差动输入讯号转为单端输出讯号至下一级：

- 由Q3流出的讯号电流（亦即因输入讯号改变而引起的电流成分，与偏压电流无关）会流入电流镜的输入端，也就是Q5的集极。电流镜的输出端则是Q6的集极，连接至Q4的集极。
- Q3的讯号电流流进Q5，经由电流镜复制到Q6，因此Q3与Q4的讯号电流在此被相加。
- 对于差动讯号而言，Q3和Q4的讯号电流大小相等、方向相反。因此相加的结果会等于原本讯号电流的两倍。至此，差动输入转换至单端输出的程序已经完成。

差动输入级送至增益级的电压等于讯号电流与Q4和Q6集极电阻并联的乘积，对于讯号电流而言，Q4和Q6集极电阻的值非常高，因此开回路的增益非常高。

特别值得一提的是，741运算放大器的输入端电流并不等于零，实际上741运算放大器的等效输入电阻约为2MΩ，这个非理想现象导致741运算放大器两个输入端之间的直流电压准位会有些微的差异，这个差异称为输入端偏移电压（input offset）。在Q5和Q6的射极有两个用来消除输入端直流电压偏移的端点（offset null），可以借由外加直流电压将输入端偏移电压消除。

### 增益级

上图中紫色虚线标示的区域是741运算放大器的增益级。此增益级电路使用一个达灵顿晶体管Q15与Q19，作为741运算放大器增益的主要来源。Q13与Q16是达灵顿晶体管的主动负载，而电容C1从增益级的输出端连接至输入端，作用是稳定输出讯号。这种技巧在放大器电路设计中相当常见，称为米勒补偿（Miller Compensation）。米勒补偿会在放大器的讯号路径上置入一个主极点（dominant pole），降低其他极点对于讯号稳定度的影响。通常741运算放大器主极点的位置只有10Hz，也就是当741运算放大器在开回路的情况下，对于频率高于10Hz的交流输入讯号，增益只有原来的一半（在主极点，放大器的增益下降3dB，即原本增益的一半）。米勒补偿电容能减少高增益放大器的稳定度问题，特别是如果运算放大器有内部的频率补偿机制，能够让使用者更简易地使用。

### 输出级

741运算放大器的输出级由图中绿色及浅蓝色虚线包围的区域构成。绿色区域包括NPN晶体管Q16以及两个电阻R7与R8，主要的功能是电压位准移位器，或是Vbe的倍增器。由于基极端的偏压已经固定，因此Q16集极至射极端的压降恒为一定值。假设Q16的基极电流为零，则其基极至射极间的跨压约为0.625V（亦为R8的跨压），故R7与R8的电流相等，跨过R7的电压约为0.375V。因此Q16集极至射极间的跨压约为0.625V+0.375V=1V。这个1V跨压会对741运算放大器的输出讯号造成轻微的交越失真（crossover distortion），有时候在某些用分立式元件实现的741运算放大器会改用两个二极管取代Q16的功能。

浅蓝色虚线包围的区域，包括晶体管Q14、Q17，以及Q20，构成741运算放大器的输出级。加上Q16所设定的偏压，这个输出级基本上是一个AB类（class AB）推挽式（push-pull）射极追随器（Q14与Q20），推动输出级的晶体管是Q13与Q19。741运算放大器的输出级电压摆幅（output swing）最高约可比正电源低1V，由晶体管的集极-射极饱和电压（Vce(sat)）所决定。

25Ω电阻R9的功能是限制通过Q14的电流，最大值不超过25mA。对于Q20而言，限流的功能则借由侦测流过Q19射极电阻R11的电流，再以此控制Q15的基极偏压电流来达成，而后来的741运算放大器对于限流功能有更多改良的设计。虽然741运算放大器的输出阻抗不如理想运算放大器所要求的等于零，不过在连接成负回授组态应用时，其输出阻抗确实非常接近零。

注：虽然早期741运算放大器在音响设备或是仪器上被广泛使用，但是今日已经有很多性能更好的运算放大器取代了741的功能，例如抗噪声的表现更好。对于741与其他早期的运算放大器而言，它们的共模抑制比逊于现代的运算放大器，在实际应用时容易造成干扰或是噪音。

## 参见

- 仪表放大器
- 主动式滤波器（active filter）
- 类比计算机
- 电流回授式放大器（current-feedback amplifier）
- 运算互导放大器（operational transconductance amplifier）

## 参考资料

7.林钟烲, 运算放大器电路赏析，四点设计，ISBN:9789860672916 (中文繁体)

## 外部链接

- Introduction to op-amp circuit stages, second order filters, single op-amp bandpass filters, and a simple intercom
- A table of standard applications
- Hyperphysics — descriptions of common applications
- Single supply op-amp circuit collection
- Op-amp circuit collection
- Another introduction
- Op-Amp Handbook
- Op Amps for Everyone 由 TI 公司提供的 PDF 格式电子书，由 Ron Mancini 主编，第二版，英文，可自由下载阅读。本书第二版、第三版均有实体书本版于书店出售。
- Op Amp Applications Handbook 由 Analog Devices 公司提供的 PDF 格式电子书，由 Walt Jung 主编，英文，可逐章自由下载阅读。本书有实体书本版于书店出售。

Additional applications:

- Logarithmic amplifier
- Precision half-wave rectifier
- Precision full-wave rectifier
- Log/anti-log generators, cube generator, multiply/divide amp
- Logarithmically variable gain from a linear variable component