ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

运算放大器实战指南:从电路原理到选型仿真一次讲透

运算放大器实战指南:从电路原理到选型仿真一次讲透 很多刚入行的硬件工程师朋友总爱问我一个问题学长运放到底该怎么学我一般会反问一句你手上那台测温度的仪表、楼下快递柜里的扫码模块、甚至你手机充电器里的电流检测电路哪一样离得开运算放大器。运算放大器这个模拟电路里的“标配”做电源的用它做环路补偿做传感器的用它做信号调理做音频的用它做前置放大做测试测量的更不用说几乎每张板子上都躺着几颗。可以说只要你干硬件就一定绕不开它。这篇内容我不想给你复述教科书我想从我自己做项目这些年实际用运放的经验出发把运放的工作原理、增益本质、11种经典应用电路、差分放大与共模抑制、两级运放设计与密勒补偿、Cadence仿真流程再到FAE选型时真正要看的参数一次讲透。不管你是刚接触运放的在校学生还是已经画过几版板子但总被运放电路折腾的工程师这篇文章应该都能给你一些能直接落地的参考。1. 从项目反馈说起运算放大器到底是什么为什么人人都绕不开它1.1 一个伴随整个硬件生涯的“标配”元件先讲一个真实片段。四五年前我做一个工业温度采集模块前端用PT100铂电阻后端接MCU的ADC。当时方案很简单电阻分压之后直接进ADC结果发现温度数据跳得厉害精度根本达不到0.1摄氏度。后来改方案前端加了一级仪表放大器做差分采集噪声立刻压下去了精度也稳了。那一次之后我就明白运放不是课本上用来考试的“理想运放”而是解决实际信号链问题的核心工具。从器件分类看运算放大器属于模拟集成电路里的通用线性器件。它内部通常包含几十个晶体管、电阻和电容但对外就是两个输入端和一个输出端再加上供电引脚。它的价值在于能对输入信号进行数学运算级的处理放大、加减、积分、微分、比较、滤波、阻抗变换几乎覆盖了模拟信号处理的所有基础操作。正因如此运放被称作模拟电路中的“万能积木”工程上的应用电路数不胜数但追根溯源就是那十几种经典结构的组合。1.2 用生活类比理解运放天平与方向盘很多人第一次接触运放时被“虚短”“虚断”这些术语劝退我习惯用一个天平加方向盘的说法来解释。把运放想象成一台精度极高的天平两个输入端就是两个秤盘运放内部的放大倍数极大大到它只要察觉到两个秤盘之间有一丁点电压差输出就会立刻向能让这个差值归零的方向猛打方向盘。如果我们在输出端到反相输入端之间接一条反馈路径相当于把方向盘的结果反馈回其中一个秤盘系统就会自动稳定在一个平衡点。这个类比看似粗糙但抓住了运放最核心的行为特征负反馈让两个输入端的电压趋于相等这是“虚短”的本质输入阻抗极高几乎没有电流流入输入端这是“虚断”的本质。理解了这两点后面所有经典电路的计算就都有了底子。实际上我在项目里做任何运放电路设计时第一件事就是在脑子里先画这个“天平负反馈”的模型再决定外围电阻电容怎么接。2. 运算放大器的工作原理两个输入一只眼吃掉无穷大增益2.1 引脚、理想参数与“虚短虚断”一颗通用运放的引脚并不复杂以经典的LM358、TL072或OP07为例通常就是正相输入、反相输入、输出、正负电源以及调零端、补偿端这类辅助引脚。但在工程设计角度看真正决定一颗运放能不能用好的不是引脚数量而是几个核心参数开环增益、输入阻抗、输出阻抗、带宽、压摆率、失调电压、偏置电流、共模抑制比、电源抑制比还有噪声密度。理想运放模型假设开环增益无穷大、输入阻抗无穷大、输出阻抗为零、带宽无穷大、失调为零。现实中当然没有这样的运放但这个理想模型给了我们一个极好用的分析起点。基于理想模型我们可以推出两个关键结论第一由于增益无穷大且输出有限两个输入端之间的电压差必须趋近于零这就是“虚短”第二由于输入阻抗无穷大两个输入引脚上不会有电流流入运放这就是“虚断”。工程上99%的手算电路都是在“虚短虚断”这两个前提下进行的。2.2 增益为什么是“负反馈说了算”有人问运放开环增益那么大是不是可以直接拿来做放大实际上很少这么干。开环增益虽然大但极不稳定温度一变、电源一抖增益就跑了而且线性区极窄稍微有点输入差值输出就饱和到电源轨根本没法用。真正的用法是用负反馈把增益“锁”在一个由外围电阻决定的值上。以同相放大器为例输入信号从正相端进入输出经过Rf和Rg分压后反馈到反相端。根据虚短正反相端电压相等再结合虚断Rg上的电流等于Rf上的电流最后推出来的闭环增益是 1 Rf/Rg。你会发现只要运放的开环增益足够大闭环增益就几乎只取决于这两个电阻的比值与运放本身的离散参数无关。这就是负反馈的魔力用多余的开环增益换取稳定、可控、低失真的闭环增益。反过来反相放大器的增益是 -Rf/Rg多了个负号是因为信号从反相端输入输出与输入反相。实际选增益时我一般不会把闭环增益设计得太高比如单级做到100倍以上带宽和噪声都会变差。更合理的做法是分级放大第一级做小增益高精度信号调理第二级做幅度提升这样每一级的压力都小稳定性也更好。3. 运放不用背只要会用的11种经典电路网上经常流传“运算放大器11种经典电路”这种说法我看了下基本覆盖了工程里最常见的结构。下面我把这11种电路按用途分成三组每一组给出电路结构、增益公式和我在实际项目中的使用心得。3.1 最基础但最常用的同相、反相与电压跟随器同相放大器是最容易理解的电路信号从正相端进输出和输入同相增益为 1 Rf/Rg。它的最大优点是输入阻抗极高几乎不从信号源取电流非常适合直接接传感器输出或高阻抗信号源。我测pH电极、压电传感器时第一级一定会用同相放大器做缓冲和增益。反相放大器则是信号从反相端经Rg进入增益为 -Rf/Rg输出与输入反相。它的一个特点是反相端是“虚地”这意味着输入端对地呈现的阻抗近似等于Rg设计时可以方便地控制输入阻抗。反相结构在加法器、积分器等电路中很常用因为多个输入可以在虚地点线性叠加而不互相干扰。电压跟随器是最简单的电路输出直接短接到反相端增益为1。它的作用不是放大而是阻抗变换用极低的输出阻抗驱动后级同时用极高的输入阻抗隔离前级。我在给ADC前端做缓冲时几乎必用电压跟随器尤其是传感器内阻很大的场景如果没有它ADC的采样电容会反过来影响信号源导致采集结果非线性。3.2 加减法、差分与测量放大器加法器是反相放大器的扩展多个输入电阻接到反相端输出等于各输入按比例求和后取反。比如我要把三路0到1伏的传感器信号合成一路就可以用加法器实现 Vout -(V1/R1 V2/R2 V3/R3) * Rf。在音频调音台、多路信号混合场景里这个电路太常见了。减法器本质上是差分放大结构两个输入分别经过电阻网络接到正反相端输出与两输入之差成正比。当四个电阻等值时增益为1输出 Vout V2 - V1。差分放大电路的一大优势是能抑制共模信号对于叠加在直流偏置上的小信号比如电桥输出、电流检测电阻两端电压差分结构可以直接把有用的差值提取出来。仪表放大器是差分放大的进阶版它由三个运放组成前级两个同相放大器做高阻抗输入和增益设定后级一个差分放大器做减法合成。仪表放大器的共模抑制比可以做得很高输入阻抗也极高是传感器信号调理的黄金选择。我做过一个称重方案四个应变片构成惠斯通电桥输出只有毫伏级直接接差分放大器效果一般后来换成仪表放大器INA128共模干扰立刻消掉AD值也稳定了。如果只是想理解原理单运放差分结构足够如果做精密测量直接用集成仪表放大器是性价比最高的选择。3.3 积分、微分、电流电压转换与有源滤波积分电路把反馈电阻换成电容输出是输入对时间的积分典型公式是 Vout -1/(RC) ∫Vin dt。我在斜坡发生器、三角波发生电路里用过它也在PID控制器的积分环节中见过它的变体。积分电路有一个坑输入失调电流会持续给电容充电导致输出慢慢漂移到饱和所以实际使用通常要并联一个大电阻提供直流泄放路径。微分电路则把电容放到输入端输出正比于输入的变化率。单运放微分器对高频噪声极其敏感容易自激我在实际项目里很少直接用理想微分器而是会在电容支路串一个小电阻限制高频增益把纯微分变成实际可用的“准微分”。这个改动看似简单却能解决一大批噪声与振荡问题。电流电压转换有两种常见场景一是把电流源如光电二极管的输出电流转成电压用一个电阻跨接在反相端和输出端即可即跨阻放大器二是把4到20mA工业电流环信号转成电压常见做法是精密电阻取样后跟电压跟随器缓冲。与之对应的电压电流转换则常用运放配合三极管或MOS管实现把电压信号变成可控的电流输出比如驱动LED恒流源。有源滤波电路也是运放的经典应用方向。相比无源RC滤波有源滤波可以引入增益并隔离负载影响。工程上最常见的是二阶低通、高通和带通结构比如Sallen-Key拓扑。我在ADC前端加过一阶RC电压跟随做抗混叠滤波效果就比单纯RC好很多。如果对滤波阶数和截止特性要求高还可以用状态变量滤波和开关电容滤波但优先还是用Sallen-Key这种电阻电容少的简单结构。4. 差分放大与共模抑制共模抑制比的工程含义4.1 为什么差分放大电路如此“吃香”差分放大电路有两个输入端输出只对两个输入的差值响应对两个输入共同的成分不响应。这个“共同成分”就是共模信号它可以是传感器引线上耦合的工频干扰、地电位差也可以是信号本身的直流偏置。差分电路对共模信号不敏感这使得它在工业现场、电机驱动、医疗设备等噪声强烈的环境中特别吃香。衡量差分电路抑制共模能力的关键指标是共模抑制比CMRR定义是差模增益与共模增益之比通常用dB表示。一个CMRR为100dB的运放意味着差模信号被放大的能力是共模信号的10万倍也就是说1V的共模干扰等效到输入端只有10微伏。这个指标在精密测量中极其重要。举个例子我用INA128做电桥信号采集时电桥激励是5V共模电压大约2.5V如果CMRR不够高2.5V共模就会在输出端产生相当大的误差远超过电桥真实信号的变化量。4.2 两级差分与共模抑制的实测经验单运放差分电路的共模抑制能力受限于两个因素一是运放本身的CMRR二是外部四个电阻的匹配精度。很多人只关注运放规格书里CMRR多高却忽略了外围电阻失配会把整体CMRR拉低。我记得做过一个减法器电路运放本身CMRR是120dB但四个电阻用了1%精度算下来整体CMRR掉到大约66dB差距非常明显。后来我改用0.1%精度的电阻排或者用集成仪表放大器问题才得到解决。两级差分结构在需要更高CMRR或更高增益时很有用。常见做法是第一级用两个运放组成高输入阻抗差分增益级第二级再做一个减法器合成单端输出。这种结构的优点是增益可以分配在两极每级压力小同时第一级的高输入阻抗能直接连接高阻抗传感器。我实测过相同增益下两级差分结构比单级差分结构在共模抑制上普遍能改善20到40dB前提是每一级的电阻匹配都要做好。关于共模抑制还有一个实操细节运放输入端对地的寄生电容如果不匹配即使直流CMRR很高交流CMRR也会因为电容不平衡而恶化。在强干扰环境里我会在运放输入端加入匹配的RC滤波或者选用输入电容对称的运放型号尽量保证两条输入路径的阻抗和容抗一致这样对高频共模干扰的抑制才能保持住。5. 两级运算放大器设计从架构到密勒补偿5.1 为什么要两级增益和摆幅怎么分配很多教科书都会讲两级运算放大器因为它是运算放大器内部结构的基础教材也是很多通用运放的真实电路构架。为什么要做两级核心原因是增益和输出摆幅难以在一级内同时做好。一级共源或共射放大虽然能提供较高增益但输出摆幅受限驱动能力弱而为了驱动负载又需要推挽输出级通常做不到太高的电压增益。典型的两级运放结构是第一级采用差分输入对提供高输入阻抗和一定增益完成差模到单端的转换第二级是共源或共射放大级提供主要电压增益和输出摆幅最后还有输出级负责电流驱动。我在学校用CMOS工艺做过一个两级运放第一级用PMOS差分对加电流镜负载增益大概40dB第二级用NMOS共源放大增益大约30dB整体开环增益差不多70dB。这个分配方式很常规第一级负责精度和共模抑制第二级负责大信号摆幅。设计两级运放时增益分配要结合功耗、带宽和稳定性综合考虑。不是增益越高越好因为增益和带宽存在矛盾高增益节点会引入高阻抗导致次极点频率低稳定性变差。我一般会先把目标开环增益定下来比如60到80dB然后把第一级的增益控制在30到40dB剩下的给第二级这样每一级的偏置电流和管子尺寸都好设计。5.2 密勒补偿的原理与电容取值估算两级运放最经典的频率补偿手段就是密勒补偿。以前的工程师在两级放大器之间跨接一个电容这个电容利用密勒效应把第一级输出节点的高阻抗等效电容放大了很多倍从而把主极点压到足够低的频率保证在全增益范围内环路稳定。原理听起来复杂但本质上就是用一个电容把一个高阻节点的极点频率拉低让增益在穿越0dB之前已经以-20dB/dec的斜率下降。密勒补偿电容的取值可以用单位增益带宽和第一级跨导来估算。常用的近似公式是 Cc gm1 / (2π × GBW)其中gm1是第一级输入管的跨导GBW是期望的单位增益带宽。举个例子如果gm1是200微西门子目标GBW是10MHz那么Cc大约等于 200e-6 / (2π × 10e6) ≈ 3.2pF。这个电容太小会受寄生电容影响太大会牺牲带宽和压摆率。实际设计时我还会在密勒电容支路串联一个调零电阻Rz用来抵消右半平面零点的影响Rz通常取 1/gm2 数量级大约几kΩ到几十kΩ。5.3 完整小信号分析与补偿设计实战我自己设计两级运放时小信号分析的顺序是这样的先算各级的跨导和输出阻抗确定各级增益然后找出所有高阻节点把它们的极点频率算出来接着根据主极点和次极点的位置判断稳定性如果不满足相位裕度要求就引入密勒补偿调整极点位置。如果两级运放的次极点频率不够高单靠密勒电容可能不够还需要想办法降低次极点处的阻抗。常用的手段包括在第二级输入管源极加负反馈电阻或者用源极退化技术。负反馈电阻能降低第二级输入节点阻抗把次极点推到更高频率代价是第二级增益下降。这个取舍在低功耗设计中尤其重要因为低电流意味着管子跨导小、阻抗高极点和次极点的距离天然更近补偿难度更大。相位裕度是我每次仿真后必定检查的指标。一般要求不低于60度最好有70度以上这样阶跃响应不会出现明显的过冲和振铃。如果相位裕度只有45度电路虽然稳定但动态响应已经有可感知的振铃这在ADC驱动、线性稳压器等场景都是不可接受的。遇到这种情况我会适当增大密勒电容或调整调零电阻代价是GBW变小但换来了可靠稳定的动态性能。做运放设计就是这样指标之间全是取舍没有免费午餐。6. Cadence仿真把脑子里想的运放在电脑上先“跑一遍”6.1 用Cadence搭建两级运放原理图真正把运放设计落地Cadence是业界用的最多的平台之一。我当年做CMOS运放设计时就是Cadence Virtuoso从原理图到版图一路走过来的。先把工艺库里的PMOS和NMOS调出来搭第一级差分对和电流镜负载再搭第二级共源放大最后接上偏置电路和输出级。原理图阶段要注意给每个管子设置合理的宽长比W/L和偏置电流否则后仿真很容易因为偏置点不对而失败。在Cadence里做运放设计最常用的仿真类型有dc、ac、stb和tran。DC仿真用来查看静态工作点和输出电压摆幅AC仿真用来看幅频和相频曲线得到开环增益、GBW和相位裕度STB仿真用来做环路稳定性分析更准确瞬态Tran仿真用来观察阶跃响应、压摆率和建立时间。我个人的习惯是先做DC确认所有管子工作在饱和区再做AC确认增益带宽指标然后做STB检查稳定性最后做Tran看动态行为。6.2 仿真项怎么设、怎么看指标AC仿真时输入信号幅度一般设置为1单位可以是V或V/sqrt(Hz)在AC分析中幅度用相对值即可频率扫描范围从1Hz到100MHz甚至1GHz然后直接看输出频谱。开环增益就是低频平台的高度单位增益带宽是幅频曲线穿过0dB的那个频率点相位裕度是幅频过0dB时对应的相位角距离-180度的差值。STB仿真我一般用iprobe元件插入到反馈环路中或者用stb分析自带的probe设置它会在用户指定节点注入测试信号并测量环路的增益和相位。对这个结果我要重点看环路增益在穿越频率处的斜率理想情况是-20dB/dec如果有-40dB/dec迹象说明相位裕度可能不足需要回头检查补偿。瞬态仿真看阶跃响应时我会给运放接成单位增益跟随器输入一个快速上升沿观察输出电压是平滑还是过冲振铃。过冲超过10%通常说明相位裕度偏低。如果压摆率不达标则是偏置电流或补偿电容的问题。仿真过程里我踩得最多的坑是没设置好仿真时间步长导致瞬态波形出现虚假振荡后来养成了先设Tmax再仿真的习惯波形才真正可信。7. FAE选型心得从规格书到电路板的最后一公里7.1 选型前必看的参数清单很多工程师选运放只看增益带宽积和供电电压这是远远不够的。我做了这些年项目每次选型前都会列一个参数清单供电电压范围、静态电流、输入失调电压Vos、输入偏置电流Ib、增益带宽积GBW、压摆率SR、噪声密度、共模抑制比CMRR、电源抑制比PSRR、输出摆幅、最大输出电流、工作温度范围、封装类型以及是否轨到轨。这些参数里失调电压和偏置电流最容易被人忽略。如果你做的是高阻信号源比如光电二极管或pH电极输入偏置电流太大的运放会产生明显的直流误差如果做精密直流放大输入失调电压会直接叠加到信号上。像OP07这种低失调运放做直流很合适但带宽不足TL072这种JFET输入运放偏置电流小适合高阻信号但失调稍大。选型不是找“最好”的运放而是找最匹配你的信号源和系统精度的运放。7.2 大电流输出运放怎么选、怎么用“大电流输出的运算放大器”是很多工程师搜运放时关心的话题因为普通运放输出级只能提供几十毫安驱动稍重一点的负载就力不从心。需要大电流驱动时有两条思路。第一条是选集成大电流运放比如运放加内部缓冲输出级的型号可以输出几百毫安甚至安培级电流。这类运放在选型时要重点看输出电压摆幅和输出电流的关系很多标注“rail-to-rail输出”的运放在大电流下输出摆幅会明显缩水所谓轨到轨要打折扣。第二条思路是用运放外扩功率级常见做法是运放驱动一个NPN/PNP对管或MOSFET构成高电流输出级。我在恒流源和音频功放前级里都这么干过运放负责精确控制外接功率管负责出力。使用大电流输出运放时一个特别容易踩的坑是过热和稳定性。大电流意味着更高的内部温升失调电压和偏置电流会随温度漂移所以选型要留温度余量。另一方面输出端接大电容负载比如长线缆容易引起振荡需要用隔离电阻或补偿网络来稳定负载。还有一点大电流运放的电源去耦必须做足否则输出瞬态大电流会在电源线上产生压降和干扰反馈到输入端变成噪声。7.3 选型与应用的踩坑记录我踩过的坑不少挑几个典型说说。第一次做传感器采集板时选了一颗GBW为1MHz的通用运放结果信号里有几十kHz的纹波需要放大出来波形直接被削得不像样。后来才意识到闭环增益是100倍时运放实际可用带宽只有GBW除以增益也就是10kHz左右高频增益早就不够了。这个经验后来我总结成一条规则一定要按“实际闭环增益下的带宽”来选GBW而不是直接看GBW最高值。另一个坑是输入共模电压范围。很多非轨到轨运放输入共模范围不包含电源轨比如LM358输入可以到负轨但不到正轨如果信号接近正电源输出会突然失效。我在一个3.3V单电源系统里用过一颗非轨到轨运放信号偏置在2.8V结果输出完全是错的排查半天才发现是共模范围超了。从那以后单电源低压系统我优先选轨到轨输入输出运放省心省力。还有一个常被忽略的问题是Crosstalk和布局。运放周边的反馈电阻如果布得太远寄生电容会让相位裕度恶化。低频电路可能无所谓一旦增益高于10倍反馈网络阻抗又不低板子上多走一厘米线都可能带来几皮法寄生电容产生意外极点。现在我的习惯是反馈电阻尽量靠近运放反馈网络下方不走数字信号线电源引脚放0.1uF和10uF两级去耦必要时加磁珠隔离模拟电源和数字电源。8. 常见问题排查与实测技巧8.1 自激振荡、静态偏置不对、输出电压不对自激振荡是运放电路最常见的故障之一症状是输出波形叠加高频振荡甚至完全没有放大功能变成“啸叫”源。排查思路大致分几步先确认反馈极性负反馈接成同相不一定错但如果把反馈误接到正相端电路一定振荡再看输出负载尤其是电容负载输出端直接接大电容会引起相位裕度下降解决方法是串联一个小电阻隔离最后检查电源去耦和布局电源线上没有低阻抗去耦电容运放在高频下供电不正也会导致不稳定。静态工作点不对通常表现为输出不在预期电平。这种问题要优先检查供电是否在规格范围内、输入共模电压是否超限、输出是否被负载拉得太低。还有一个隐蔽原因输入端悬空。如果传感器没接运放输入端悬空会在杂散电场影响下输出随机跳变。我在调试时习惯把不用的输入端接地或接参考电平避免“天线效应”。输出电压范围不对也有两个常见来源。一个是输出摆幅限制运放输出并不能真正到达电源轨非轨到轨输出在低电源下尤其明显另一个是增益电阻计算错误这个最好查直接按虚短虚断从头算一遍再拿万用表测关键节点电压对比。遇到输出和计算值差很多时先用示波器看是不是振荡了再怀疑元件焊接和取值错误不要一上来就怀疑运放坏了实际上运放本身损坏的概率远低于外围设计问题。8.2 排查速查表异常现象可能原因快速排查与解决办法输出高频自激振荡反馈极性错、电容负载、去耦不足检查反馈连接输出串隔离电阻加强电源去耦输出漂移严重输入偏置电流、失调电压温漂减小源阻抗选用低Vos/Ib运放加调零电路增益与计算不符电阻焊接错、反馈接错、带宽不足重新计算并实测电阻检查网络连接换更高GBW输出顶格或削底共模超限、输出摆幅到轨检查输入共模范围选用轨到轨运放调整偏置信号噪声偏大电阻热噪声、缺少滤波、布局不佳减小电阻值加有源滤波优化布局和屏蔽大电流时输出跌落输出电流能力不足、过热选更大输出电流运放外扩功率管加强散热我个人的调试习惯是先用最简单的电路验证运放本身是否正常比如接成电压跟随器给一个直流电平看输出是否跟随。这一步通过之后再逐步加入增益电阻、滤波电容等外围每加一级就测一次问题就能很快定位。很多看上去玄乎的运放故障最后查出来都是很基础的外围问题。说到这分享一个我自己一直用的技巧。在不确定某颗运放型号好不好用时我会先去查它的datasheet里的“典型应用电路”页面。FAE没法24小时在线但datasheet的应用电路是芯片原厂工程师验证过的照着抄基本不会踩大坑。选型的时候把参数表拉出来横向对比比来比去可能看花眼但再复杂的选型最终都是围绕你的信号源阻抗、信号幅度、频率和所需精度这几个核心要素展开的把这些想清楚了运放选型自然就不难了。
返回列表