关于运放那些事儿
运放1:理想运放与虚断虚短的来源

运放这个器件相对于电阻,电容,三极管,MOS管等器件算是比较复杂的,而且电路中也常用,出问题的情况也多,显然一篇文章根本就说不明白运放,因此,我可能要写很多期。具体多少期,写哪些内容,我一向都是不做计划,随心所欲,兄弟们有需求也可以提,我可以看情况安排。
背景介绍完了,那么就开始了。
第一步,理想运放
首先,第一个问题,我为什么要说理想运放呢?
因为一般来说,我们了解一个东西,都是先将它当做理想来看的,这样最为简单,也最容易懂。
当我们拿到一个陌生的电路,首先我们肯定是要知道这个电路是干什么用的对不?
这个时候我们就先不用考虑电路中器件的非理想特性,比如先不考虑温漂,漏电,寄生电感,寄生电容等等这些。我们就先把它当做理想的,然后看这个电路到底实现了什么功能,运放电路一般也是这么分析的。
等我们知道这个电路是干啥用的,然后再看看器件的哪些特性会导致这个电路失效,或者说不按照预期的工作,这个时候就要考虑非理想特性了。
所以,我们了解理想运放的目的,就是为了在一开始的时候能快速的分析出电路的工作原理,实现了什么功能。
其次,理想运放有哪些特性呢?
理想运放主要有以下三点:
1、增益无穷大
2、输入阻抗无穷大
3、输出阻抗为0
那么这三点特性又是怎么来的呢?
1、增益无穷大
增益无穷大好理解,因为一般运放的增益就是很大的,比如Ti的uA741,开环增益是105dB左右,计算一下是多少倍呢?
20log(Av)=105dB,计算得Av=10^5.25=177828,大约是18万倍。相对于我们一般电路中几十倍的放大倍数,这个很大了。

2、输入阻抗无穷大
理想运放的输入阻抗无穷大,我们看看实际运放的,还是以Ti的uA741为例,如下图:

可以看到,输入阻抗还是比较大的,典型值是2MΩ,其实这个芯片在运放中阻抗算是偏小的了。比如TI的另外一款芯片LM358的输入阻抗就更大,差分输入阻抗10MΩ,共模输入阻抗4GΩ。

总之,运放的输入阻抗就是比较大的,因此呢,我们在进行原理性,分析电路工作原理的时候,就是把运放的输入阻抗看成是无穷大的。
3、输出阻抗为0
理想运放的输出阻抗可以看成是0。
一般我们不会用运放直接驱动大功率的负载,而运放的输出阻抗一般也就是几十Ω或者上百Ω,相对后级来说,输出阻抗可以忽略,因此可以将运放的输出阻抗看出无穷小,也就是0,这样分析起来方便,而且结果也不会有太大的差异……
原文链接:https://www.dianyuan.com/eestar/article-5952.html
运放2:放大器的电阻的选择
本文讲一讲运放周围电阻的选取,典型问题如下:

如下图:如果我们把运放当作理想的,那么放大电路的增益就是两个电阻的比值,如果要让增益等于2,那么R1和R2分别是2K,1K能达到目的,20K,10K也能达到目的,200K,100K也能达到目的,2Ω,1Ω看着也能达到目的,那么这些阻值都是可以的吗?

电阻大小影响什么?
这个问题以前也没有深究过,虽然大抵知道一些影响因素,估计也是一些片面的因素,正好借这个机会专门查一查下面就是查到的一些内容。
电阻的影响主要有这几个方面:
1、驱动能力与功耗
2、误差
3、稳定性
放大器驱动能力与功耗
显然,电阻越小,功耗越高,放大器的输出电流也是越大的。

如上图的例子,如果R1=2Ω,R2=1Ω,很容算出来,流过反馈电阻的电流是1A,这个电流是从放大器输出来的,显然这个电流太大了,一般的放大器都不会有这么大的驱动能力。
以TI的通用运放LM2904为例,其输出能力如下图:

我上面举例的电路,运放是往外输出电流的,这个电流叫做拉电流(Source)。如果电流是从输出端往运放里面流,那么就是灌电流(sink)。图中的吸电流应该就是拉电流的意思,我找了对应的英文的手册,里面就是source。

总之,这个LM2904运放的最大输出拉电流(source)最小值为10mA(典型值为30mA),所以针对上面的电路,显然,输出电压最大时,输出电流最大。如果采用3.3V供电,那么输出电压不会超过3.3V,所以最大输出电流Imax=3.3V/R1<10mA,计算得R1>330Ω,即反馈电阻R1至少要大于330Ω。
如果电阻小于这个,那么电流会大于10mA,那么输出电压幅度会降低,也会发生畸变。如下图是LM2904的输出电压与输出电流的关系,在电流过大时,输出的最大摆幅是会下降的。图中纵坐标我理解是“Vcc-Vout”,这个放大器为非轨至轨运放,在电流较小时,输出最大电压只比VCC小1.2V左右,当输出电流大于30mA,可以看到纵坐标“Vcc-Vout”急剧上升,即Vout急剧下降,输出电压幅度降低。

这里提一下,为什么图中是30mA呢?而我计算用的是10mA?从前面表中看出,30mA是典型值,显然,我们真正设计要考虑温度,器件一致性,所以计数时用的是表中的最小值,即10mA。
根据运放的驱动能力的限制,我们可以得到反馈电阻的最小值,那么电阻上限值如何得到呢?
误差
如果反馈电阻过大,输出误差可能会增大,这里原因我主要想到2点
1、电阻本身是有噪声的,阻值越大,噪声越大
2、电阻过大,增大了偏置电流引起的失调电压
关于第一点,一般有一个原则,就是电阻噪声,不能大于运放本身的噪声。因为运放本身的噪声大小与成本相关,如果花了钱选了一个高精密的运放,结果电阻噪声占主导地位,这显然是不合理的。
所以呢,我们需要计算运放的噪声和电阻的噪声。
先来看运放的噪声。
查看LM2904手册,噪声电压密度曲线如下:

我们要先求电路的带宽噪声,系统带宽这里指的是运放电路的带宽,上面电路放大两倍,LM2904本身的增益带宽积为0.7Mhz,所以系统3dB带宽为:0.7Mhz/2=0.35Mhz。这个电路等效为一阶滤波器,带宽还需要乘以相关的系数1.57,因此,最终系统带宽为:0.35Mhz*1.57=0.55Mhz……
原文链接:https://www.dianyuan.com/eestar/article-5959.html
运放3:失调电压Vos的理解与仿真验证
还是先带着问题看比较好,我们可以先想一下这几个问题:
1、失调电压是啥?咋产生的?
2、失调电压一般是uV,mv级别的,这么小,电路设计还需要考虑吗?它到底有啥用?如果要考虑,该咋考虑呢?
失调电压是啥?咋产生的?

如上图,我们评估运放的失调电压时,一般建立上面的模型。我们将Vp和Vn对地短路,如果是理想放大器,那么输出Vo应该是0V。
真实放大器内部处理Vp和Vn的输入级可能并不是理想的,其对应的晶体管会有偏差。导致当Vp=Vn=0V时,Vo并不是0V。
要想让Vo为0V,我们需要在输入端加上一个电压,这个电压就是失调电压Vos。我觉它的英文名input offset voltage(输入偏置电压)更容易理解一点。
为啥输入管子不一致会产生失调电压?
可能不好理解为什么管子不一致会导致产生失调电压。我结合看的资料,自己想了下,觉得可以这么理解(只是我的想法,不一定对)。

如上图,这是运放LM2904的框图,运放一般分为三级,第1级是输入级,对应图中的阴影部分,其输出Ib是后面两级的输入;第2级是中间级,主要提供放大倍数,第3级是输出级,主要是为了能改善带载能力,当然也有一定的放大能力(后两级未明确指出)。
我们看下输入级,最下面的两个管子构成了电流镜,这个电流镜在之前说TL431的时候我们聊过,再粘过来复习下。

根据电流镜,有IC4=IC1,然后如果说输入级的管子完全一样,IN+和IN-电压又一样,那么必然有IC1=IC2。结合两式子,就有IC2=IC4,进而推出Ib=0。

Ib=0有什么特殊的吗?
Ib=0应该就对应运放线性区的中心点。我们回想一下运放的使用,运放工作在线性区时,是不是有“虚短”,就是IN+等于IN-,那不就对应Ib=0吗?
前面说的是IN-和IN+输入管子完全一样的情况,但是我们知道,实际生产中,管子肯定是有一定差别的,这就导致了在IN-和IN+电压一样的时候,导致IC1和IC2不一样,而因为电流镜,IC1=IC4依然成立,这样就导致IC2≠IC4,最终导致Ib≠0。这个Ib输入到后两级电路中被放大,最终反应到out端。
如果我们想要Vout=0,那么就要Ib=0,这时候就得在IN+和IN-端加一个电压差,来抵消管子差异带来的影响,正好让IC1=IC2,这个压差其实就是Vos。
运放给出的Vos一般是一个范围,同一个型号的运放,不同的个体之间,Vos也是不同的,如下图是LM2904的不同个体之间失调电压的分布情况。

到这里,脑子里应该对于运放的Vos有一个基本理解了吧,下面看看电路设计需要如何评估这个参数的影响。
电路设计时,Vos要不要考虑?
下图是LM2904手册中标注的失调电压……
原文链接:https://www.dianyuan.com/eestar/article-5976.html
运放4:偏置电流Ib与失调电流Ios(1)
今天来说一说运放的偏置电流和失调电流,我们还是带着问题看,先想想下面几个问题:
1、为什么不同运放的偏置电流差这么多?原因是什么?
2、运放输入端偏置电流方向是什么样的呢?是可以流进,也可以流出的吗?
3、实际应用中偏置电流是如何引起误差的呢?
4、实际应用中失调电流是如何引起误差的呢?
5、电路设计时应该如何考虑偏置电流和失调电流的影响呢?
要想回答上面这些问题,我们首先需要了解偏置电流和失调电流到底是怎么产生的。
偏置电流、失调电流是什么?
我们前面说过,理想运放的同相端和反相端的输入电流为0,所以才有“虚断”的说法,但是实际运放的输入管脚都会流入或流出少量的电流,并且经常同相端的电流和反相端的电流还不相等。
我们如果将流入同相端的电流用Ib+表示,流入反相端的电流用Ib-表示,那么放大器的输入偏置电流Ib就是Ib+和Ib-的平均值,即Ib=(Ib+ + Ib-)/2。

可以看到,偏置电流就是同相和反相端电流的平均值,而失调电流,衡量的是2相电流之间的差异。
我们还是以前几期的LM2904举例子,如下图:

图中标注IB就是LM2904的输入偏置电流,典型值为-20nA,Ios为输入失调电流,典型值为2nA。失调电流是偏置电流的十分之一,说明这个放大器同相端和反相端的电流还是比较接近的。
那么偏置电流是如何产生的呢?
偏置电流的来源
显然,偏置电流取决于流入或流出放大器同相端和反相端电流的大小,这自然和放大器输入级的构造晶体管类型有莫大的关系。
我们知道,晶体管有好几种,比如双极性晶体管BJT,结型场效应晶体管(JFET)和金属氧化物半导体场效应晶体管(MOSFET)。然后它们又分什么NPN,PNP,N沟通,P沟道,这样算起来种类还是不少的。
就输入阻抗而言,一般是MOSFET>JFET>BJT的,我是怎么记住这个的呢?我没有刻意去记住,而是理解的方式,脑子里面回想下这几个管子的结构也就出来了,这里也分享一下。
大体是这样的:
BJT三极管我们应该都比较熟,其是电流驱动的,其放大的时候,要给它合适偏置,b和e之间是有正向电压的,是一个有正向压降的PN结,处于放大区的时候里面是有电流流动的。

JFET分立管子用得非常少,我到目前还没用过这个,但是教材上都有这个器件的结构,集成运放也是有这种结构的,其工作的时候,输入端也可以理解为一个PN结,不过是反偏的(通过反偏控制耗尽区的厚度来控制导电沟道的宽度),也就是说电流很小。但是我们知道施加反向电压的PN结也是会漏电的,就像我们用的二极管,也会有漏电流这个参数。显然,这个电流要一般比三极管的输入电流Ibe要小,那么其直流输入阻抗也就比其要大。

MOSFET我们用得比较多,其栅极与衬底极是二氧化硅绝缘体,既然称为绝缘体,那阻抗就是非常大了,基本没有电流,因此,它的直流输入阻抗是最高的……
原文链接:https://www.dianyuan.com/eestar/article-5977.html
运放5:偏置电流Ib和失调电流Ios(2)
先把上期没回答的三个问题放上来:
3、实际应用中偏置电流是如何引起误差的呢?
4、实际应用中失调电流是如何引起误差的呢?
5、电路设计时应该如何考虑偏置电流和失调电流的影响呢?
偏置电流是如何引起误差的?
我们最常见的同相放大电路,反相放大电路如下图,理想情况下,在输入为0时,输出应该也是0。但是现在是非理想的,放大器有偏置电流Ib,这会造成输出就不为0了。根据电路的叠加原理,当输入为0时,这个输出不为0的电压就是偏置电流引起的误差。

输入为Vin=0时,不论是同相还是反相放大电路,最终的电路都变成了下面这个:

若是没有偏置电流,显然,上面输出Vo=0。
现在考虑偏置电流的影响,因为同相端和反相端的偏置电流可能并不相同,同相端的电流用Ib+表示,反相端的偏置电流用Ib-来表示,我们来求一求输出电压Vo是多少。
显然,流过同相端的电流等于流过电阻Rp的电流,因为电阻Rp左边接gnd,容易得到,同相端的电压vp就是电阻Rp的电压,假定电流方向向右,因此Vp=-( Ib+) *Rp。
我计算偏置电流的影响的时候,就先不考虑运放失调电压Vos的影响,那么根据虚短很容易就能求得Vo的表达式,具体过程如下图:

不过这个Vo的公式也看不出啥来,我们需要将其转化一下,因为一般放大器手册中标注的参数是Ib和Ios,而不是我上面写的Ib+和Ib-。
我们上一节已经知道了Ib和Ios的关系,那么就可以将Ib+和Ib-用Ib和Ios来表示:

然后我们将Ib+和Ib-代入到Vo的表达式中,就可以得到下面的式子了。

现在我们已经有了Vo的表达式,这其实就是偏置电流Ib和失调电流Ios引起的误差。这个公式回答了前面的两个问题,偏置电流和失调电流是如何引起误差的。
电路设计该如何考虑呢?
显然,我们希望Vo越小越好,从上面表达式中可以知道,如果Rp的阻值为R1和R2的并联阻值,即Rp=R1*R2/(R1+R2),表达式中第一项为0,那么我们可以消掉Ib的影响……
原文链接:https://www.dianyuan.com/eestar/article-6073.html
运放6:运放的增益都搞明白了吗?
开环增益和闭环增益
一般说到运放的增益,可能有两个,一个叫开环增益,另一个叫闭环增益。
关于这两个增益的定义,我觉得下图应该说清楚了:

实际放大电路中,一般是有反馈的,也就是说是构成了闭环电路。那么是不是就是说我们不用关心开环增益AoL呢?
答案当然是否定的。虽然我们总是更关心结果——闭环增益,但是这个结果是受到开环增益AoL的影响的。
我们可以看到,开环增益AoL=vo/(vp-vn),这里面是没有电阻的,也就是说这个参数是运放的自有属性,跟你外部接成什么样的电路是没关系的。
就拿上面的的图来说,闭环情况下,电路的增益我写的是:A闭环=1+R1/R2。这个总是成立的吗?当然不是,它是有条件的,这个成立的条件就是建立在“AoL=无穷大”的基础之上的。而实际情况是,运放的AoL并不总是无穷大,它跟频率还有关系。具体的影响后面再看,我们先看看AoL是如何影响闭环增益的。
开环增益是如何影响闭环增益的?
我们来分析下AoL是如何影响闭环增益的,假定运放的开环增益AoL不是无穷大,而是某一个有限的值,那么”虚短”这时候是不能用的,只能用”虚断”(虚断成立的条件是运放的输入阻抗无穷大)。

可以看到,如果运放的AoL不是无穷大,那么实际电路的闭环增益是和电阻有关系的。我们代一些具体的值进去看看影响有多大,假设R2=1K,R1=9K。开环增益从1到1百万时,闭环增益的情况如下图:

从上面至少可以看到两点:
a、在AoL比较小的时候,实际增益就与理想情况下的增益有明显差异了。比如如果AoL=1000,实际闭环增益Av=9.901,与我们想象的放大10倍就已经有1%左右的差异,如果AoL=100,实际Av=9.09,差不多有10%的差距了。
b、在AoL比较大的时候,一致性要求低。尽管AoL=100万和AoL=10万二者相差了10倍,但是闭环增益一个是9.9999,一个是9.999,相对于理想情况下的10来说,误差都非常小。也就是说只要运放开环增益AoL足够大,闭环增益都基本稳定在同一个值,正是因为这样,我们对运放的开环增益AoL的一致性要求就很低了,只要求大就可以了,不管是50万倍还是100万倍,闭环增益都基本一样。我们实际运放的AoL也确实没那么精确。
以LM2904为例,如下图,其典型开环增益AoL是140V/mV=14万倍,最小值为7万倍,如果考虑温度,那就只有3.5万倍,至于上限,都是没有标出来的。总的来说,就是器件的开环增益一致性比较差,但是因为够大,也不影响我们使用。

除此之外,我们还应该看到第3点:
c、闭环增益越大,要求AoL越大。上面是放大10倍的情况,闭环增益误差1%时对应的开环增益是1000。假如我们放大100倍(即设计闭环增益=100倍),要求实际运放闭环增益与理想运放只有1%的差距,那么需要AoL≈10000(此时闭环增益Av=99)。相对于10倍只需要AoL=1000,此时AoL=10000提高了10倍。这可以自己算一下,就不再写出来了。
之所以前面写了这么多,就是因为运放的AoL本身就不是固定的,它跟频率有关系,这也就造成了运放的使用有了限制。
还是以LM2904为例,手册表格中的AoL=140V/mV=14万倍=20log(140000)=102db。手册还给出了AoL与频率的关系曲线,如下图:

从图中可以看到,AoL随频率是一直在下降的,最左边的频率为100Hz,开环增益AoL=82dB左右,相对表格中的直流开环增益AoL=102dB,下降了20dB,也就是10倍。频率为1Khz的时候,AoL=62dB左右,相对直流AoL下降了40dB,也就是100倍……
原文链接:https://www.dianyuan.com/eestar/article-6246.html
运放7:运放的压摆率SR啥时候考虑
先来看一个具体的例子,压摆率SR造成的问题现象。
例子:
1、使用TI的TLV9061轨至轨运放,构建下面的放大1倍的反相放大电路。

正常情况下,如果我输入1V正弦波,那么输出也是1V正弦波。
2、现在我们输入1Mhz的1V的正弦波进去运行下:

可以看到,输入1V,输出1V,有一点相移,但是没毛病。
3、将输入信号调大,频率保持1Mhz不变,幅度调到1.5V我们再运行一下:

可以看懂,输入1.5V的时候,输出严重失真,不仅幅度达不到1.5V,波形也酷似三角波。这是为啥嗯?1V输入的时候没问题,1.5V的时候输入有问题,难道是运放仿真模型不对,为非轨至轨?
4、我们将输入频率从1Mhz降低到500Khz,幅度保持1.5V再运行下看看:

可以看到,幅度不变,仅仅将频率降低一倍,输出也OK了,说明不是轨至轨的问题,那是带宽的问题吗?
要知道TLV9061的增益带宽积是10Mhz,现在电路放大倍数为1倍,这种情况下理论可以放大10Mhz的信号,现在才1Mhz就不行了?另外1V/1Mhz输入没问题,说明也不是带宽的问题,然后又不是幅度的问题,因为1.5V/500khz又没问题,说明输出达到1.5V是没问题的,那到底是哪里的问题呢?
答案自然是前面提到的压摆率SR的问题了。
压摆率SR
先看下压摆率SR是怎么定义的?
运放的压摆率SR 被定义为由输入端的阶跃变化所引起的输出电压的变化速率。它的单位是V/us。

压摆率SR表明了运放输出端所能提供的最大变化速率,如果输出端要想输出比这个速率还快的变化,那么运放就提供不了,这就会导致输出波形变形,原本的正弦波就变成了三角波。
设计中该如何考虑?
简单来说,在设计中,我们一般是知道我们输入的信号是长什么样子的,也知道运放的放大倍数,那么也就知道我们输出信号长什么样子,我们需要保证输出信号的最大斜率小于运放的SR参数就可以了。
以正弦波为例,假如我们需要运放输出幅度Vp,频率F的信号,那么需要运放的SR达到多大呢?
对于正弦波而言,幅度Vp,频率F信号可以用式子Vo(t)=Vp*sin(2πF*t)来表示。我们可以求得它的斜率表达式(其实就是高中的函数求导):
dVo(t)/dt=2πF*Vp*cos(2πF*t)。
我们很容易求得这个dVo(t)/dt的最大值为:2πF*Vp,也就是说我们需要这个值小于运放的SR。
即:2πF*Vp<SR。

式子2πF*Vp里面有两个变量,一个是信号幅度Vp,一个是信号频率,在信号幅度比较小,频率低时,2πF*Vp<SR这个条件比较容易满足。与此同时,频率一般会受到带宽的限制,所以,输出信号幅度小的时候,频率满足增益带宽积要求时,压摆率一般不会有问题。而信号幅度大的时候,即使频率在增益带宽积范围内,也有可能因为压摆率不够导致信号失真。
关于上面这一点,百度百科说得很清楚:

回到前面的问题
前面的例子中,我们有三种输入的情况,对应期望的输出信号是
a、1V/1Mhz
b、1.5V/1Mhz
c、1.5V/500Khz
我们使用公式:[dVo(t)/dt]max=2πF*Vp分别计算下这三个信号的最大斜率为:
a、1V/1Mhz时最大斜率:2*3.14*1000000Hz*1V=6280000V/s=6.28V/us
b、1.5V/1Mhz时最大斜率:2*3.14*1000000Hz*1.5V=9.42V/us
c、1.5V/500Khz时最大斜率:2*3.14*500000Hz*1.5V=4.71V/us
我们再从运放TLV9061手册中得到其压摆率SR=6.5V/us

可以看到,a和c两种情况都是满足最大斜率[dVo(t)/dt]max<SR的,所以其波形没有失真。而b这种情况,其最大斜率为9.42V/us,而运放最大只能输出SR=6.5V/us,运放的能力输出不了9.42V/us这么快,所以输出就失真了。
以上就是为什么我们输入1.5V/1Mhz正弦波,输出波形严重失真的原因……
原文链接:https://www.dianyuan.com/eestar/article-6318.html
更多精彩内容,尽在电子星球 APP(https://www.eestar.com/)
更多精彩内容: