运放的带宽和压摆率是运放最重要的两个参数,今天我们来使用示波器测量它们。
下面是经典运放 741 的内部原理图:
从上图可以看到,运放由很多元件构成。每个元件都有自己的截止频率和频率响应。这会导致运放的频率响应是随机的,不确定的。芯片厂商会在运放中引入一个主导极点(single dominant pole), 也就是单极点, 以便运算放大器响应变得更加可预测。
单极点响应有一个很好的特性,即电压增益(Gain)和带宽(Bandwidth)的乘积是一个常数,称为增益带宽积(Gain Bandwidth Product):
从上面公式可以看出,如果增加增益,则会减小带宽;反之,如果减小增益,则会增大带宽。带宽和增益这两哥们是相生相克的,有你没我,你死我活。
我们可以从数据手册中查到 LM358P 这款运放的增益带宽积的具体值:
可以看到,其增益带宽积为 0.7 MHz。
开环运放增益和频率之间的关系可以用下面的伯德图(Bode plot)来表示:
开环增益以频率每倍频程(octave,频率翻倍)变化 6dB 的速度下降, 或者每十倍频程(decade)变化 20dB ,也就是频率每增加 10 倍,增益会降低 20dB。
在频率非常低(直流)时,运放的开环增益非常大:
这个曲线和我们在 无源 RC 低通滤波器教程 中的频率响应曲线非常相似:
在实验中,我们会用信号源给运放输入一个 1 伏峰峰值的正弦波,然后逐渐增加输入信号的频率,输出信号的峰峰值会逐渐下降,当输出信号的峰峰值降低到 0.707 伏左右时(此时输出信号强度相比输入信号下降了 3dB),当前输入信号的频率即为运放当前配置(增益)的带宽。至于为什么把信号衰减 3dB 时的频率定义为带宽,请参考【硬件工程师看海】的另一篇文章:为什么把系统带宽定义为-3dB?
我们使用下面的电路进行测量:
信号由信号源(AFG)产生,经过衰减电路 (Attenuator)。我们在实验中分别测量了 100 倍、10倍、1倍放大 (单位增益) 时的带宽,因此我们需要用衰减器将信号分别衰减 100 倍和 10 倍。50 欧姆的电阻是为了给信号源提供一个固定的输出阻抗。220uF 电容用于隔离信号中的直流部分。这是运放反相放大(Inverting Amplifier)电路,放大倍数由 1kΩ 电阻和 Rf 共同决定,在这里就是 Gain = Rf/1kΩ。举例来说,当 Rf 等于10kΩ时放大倍数为 100 倍。这里我们使用 5 伏单电源供电,没法放大负电压信号。我们使用两个 4.7kΩ电阻构成分压器,将输入的正弦波信号抬高(偏置) 2.5 伏。运放输出端加一个 2kΩ 的电阻可以防止过零失真(Crossover Distortion)问题。
不理解运放反相放大电路的可以看我的另一篇文章:运放教程3-负反馈电路。
网上的可调衰减器太贵了,买不起,DIY 了两个 π 型衰减器。衰减器的电路如下:
电路参数如下:
衰减值 | Rx 值 | Ry 值 | Rz 值 | 实际衰减值 |
20 dB | 61.9Ω | 61.9Ω | 249Ω | 19.95 dB |
40 dB | 51.1Ω | 51.1Ω | 2.49k | 39.95 dB |
π 型衰减器Rx 和 Ry 的值是一样的。
衰减小板长这样:
板子是我薅的立创的羊毛打的 PCB,你要是焊接技术(0805的电阻)好的话,买了电阻自己在洞洞板或覆铜板上焊也行。
20dB 衰减器会将信号电压衰减至原电压的十分之一,40dB 衰减器会将信号电压衰减至原电压的百分之一。
搭建好的完整的实验电路如下:
我们先测量 100 倍放大时的带宽。
我们接入 40dB(100倍) 的衰减小板,Rf 处放入 100kΩ 电阻,此时放大倍数为 100 倍。
调节信号源,使放大后的信号的频率为 1kHz, 峰峰值为 1 伏:
开始测量,保持信号源幅度不变,逐渐增大信号的频率,使放大后的波形的峰峰值在 0.707 伏左右:
可见,100 倍放大时,LM358P 的带宽为 7kHz, 增益带宽积 = 带宽 * 增益 = 7kHz * 100 = 700 kHz。和数据手册中给出的 0.7 MHz 一致。
我们再测量 10 倍放大倍数时的带宽。
我们接入 20dB(10倍) 的衰减小板,Rf 处放入 10kΩ 电阻,此时放大倍数为 10 倍。
调节信号源,使放大后的信号的频率为 1kHz, 峰峰值为 1 伏:
保持信号源幅度不变,逐渐增大信号源的频率,使放大后的波形的峰峰值在 0.707 伏左右:
可见,10 倍放大时,LM358P 的带宽为 63kHz, 增益带宽积 = 带宽 * 增益 = 63kHz * 10 = 630 kHz。和数据手册中给出的 0.7 MHz 有些差距。
10倍放大时的增益带宽积 GBP 为 630kHz, 100 倍放大时的 GBP 为 700kHz, 理论上这两个值应该是一致的,但我这里反复折腾,这两个值总是不一致,总是有些差距。我折腾了好久,也未解决这个问题,我估计是我自制的衰减器或者我的信号源的问题吧。
我们再测量 1 倍放大时的带宽。
我们去掉衰减小板,直接将信号接到运放输入端(220uF 电容前面),Rf 处放入 1kΩ 电阻,此时放大倍数为 1 倍,也就是单位增益。
调节信号源,使放大后的信号的频率为 1kHz, 峰峰值为 1 伏:
保持信号幅度不变,逐渐增大信号的频率,使放大后的波形的峰峰值在 0.707 伏左右:
单位增益时带宽才 144 kHz, 和预期的 0.7 MHz 差距也太大了点。
So what's going on ?
这是因为运放的另一个参数压摆率(Slew Rate),开始起作用了,它限制了运放的带宽。
仔细看一下此时(单位增益、144kHz信号)的波形,已经不是正弦波,而是三角波了:
啥是压摆率 (Slew Rate)?
运放的压摆率是运放可以调节输出电压的最大速度。
压摆率通常受到运放内部补偿电容器和给电容充放电的稳流器(Current Regulator)可提供的电流的限制:
压摆率引起的问题通常是在大(幅度)信号时发生,对小(幅度)信号来说不是问题。因为大信号,即使是在相同的频率下,也需要更高的压摆率。让我们看看这具体是什么意思。
信号的压摆率本质上是电压随时间变化的速度,或者说是电压比时间的斜率(slope)。
对于下面这个 10 kHz 的信号,当信号峰峰值是 0.5 伏时,信号最大斜率如下:
还是上面 10 kHz 频率的信号,我把峰峰值由 0.5 伏改为 1 伏,但信号的斜率变大了:
可见信号的幅度越大,在压摆率上对运算放大器的要求就越大,因为输出电压必须在给定的时间内变化得足够快。
很多时候,在你遇到运放的增益带宽积(GBP)限制之前,你会遇上运放的压摆率这堵墙, 尤其是对大信号来说更是如此。正如我们在上面的波形截图中看到的,随着信号变大,斜率变陡,需要更快的电压摆动率或压摆率。
所以可能会发生的情况是对于小信号来说,运放输出给定频率的信号完全没有问题,但随着信号幅度变大,可能会遇到运放的压摆率的限制,从而导致输出波形失真,因为此时运放不能在单位时间内产生足够快速的电压变化:
我们可以用示波器直观的观察到运放的最大压摆率。我们看一下大信号时运放单位增益(放大一倍)时的频率响应。我们逐渐增大信号的频率,可以看到波形的斜率逐渐增大,当斜率不再增大时,波形的斜率即为运放的最大压摆率:
运放压摆率限制波形进一步变陡
可以看到,随着频率逐渐增大,波形变得越来越陡。最终波形不能继续变得更陡峭,此时波形开始失真。
最终的斜率是这个样子:
我们换一种方式来观察运放的最大压摆率。我们将波形改为方波:
我们沿着方波的上升沿画一条线:
上面那条线就是运放此时的最大压摆率,此时,信号源输出方波的实际上升时间为 15 纳秒左右,经过运放的压摆率限制后,上升时间变大为 3.24 微秒。
我们重新输入正弦波, 逐渐增大信号的频率,可以看到波形会逐渐变得陡峭,但在撞到压摆率这堵墙后,信号不能进一步变陡了:
信号频率增大到一定程度后,信号开始失真,运放的压摆率已经跟不上信号幅度上的变化速度了:
以上,我们通过示波器直接看到了运放的压摆率和压摆率限制。
在很多运放的数据手册中经常提到小信号(Small Signal)就是因为压摆率的原因,单位增益、频率响应往往是在小信号时测得的。
有时压摆率会在芯片数据手册中直接给出,有时会以图表的形式给出,下面是 LM358 单位增益时的大信号响应图:
从上图中可以看出电压在大约10微秒内上升了2.5伏。这样的速度大概可以每微秒驱动(改变) 0.25 伏电压,也就是压摆率为 0.25 V/μs,压摆率通常以伏/微秒(V/μs )为单位。
下面我们来测量一下 LM358P 这款运放的压摆率。
我们给示波器输入方波, 打开光标测量功能:
在波形上升沿上选取两点,计算这条直线的斜率,斜率 = 324mV / 1.4μs = 0.23 V/μs。和数据手册中给出的压摆率 0.3 V/μs 基本一致:
反过来,我们可以根据输入(要放大的)信号的幅度值和频率计算出需要的压摆率:
只要该正弦波的压摆率小于运算放大器的压摆率,你就可以在该频率下使用该运算放大器,而不会有失真的问题。举个例子,假设需要运算放大器以 25kHz 的频率放大峰值幅度为 5 伏的信号,需要一个压摆率至少为 5 x 2 π x 25000 = 0.785V/µs 的运放。
今天我们学习了运放带宽和压摆率的基础知识,以及如何用示波器测量这两参数,希望你能学有所得!