稳定性与频率补偿

General Considerations

Figure 10.1 (a) Basic negative-feedback system, and (b) phase shift around the loop at ω1

考虑 Fig. 10.1 的传输函数,容易写出:

[X(s)βY(s)]H(s)=Y(s)YX(s)=H(s)1+βH(s)

当分母为 0 时,传输函数趋向无穷,电路开始振荡,我们将这种情况称为 Barkhausen’s Criteria,此时的频率满足:

|βH(jω1)|=1βH(jω1)=180

当然,这只是临界条件,实际上,只要 βH(jω1)=180 时,|βH(jω1)|1 就会发生震荡。比如在 Fig. 10.2a 中,在 180 处,增益大于 0 dB,所以不稳定。而 Fig. 10.2b 中,增益为 0 dB 时(即 gain crossover),相位大于 180;或者在相位等于 180 时(即 phase crossover),增益小于 0 dB,所以稳定。

Figure 10.2 Bode plots of loop transmission for (a) unstable and (b) stable systems

我们将 gain crossover 处的频率记为 GX,此时相位离 180 的距离称为 phase margin(PM)。phase crossover 处的频率记为 PX,此时增益离 0 dB 的距离称为 gain margin(GM)。易知,要使系统稳定,至少要求 GX<PX,PM>0,GM>0

最后复习一下怎么画 Bode plots,我们主要用两点规则:

  1. The slope of the magnitude plot changes by+20 dB/dec at every zero frequency and by−20 dB/dec at every pole frequency
  2. For a pole (zero) frequency ofωm, the phase begins to fall (rise) at approximately 0.1ωm, experiences a change of 45(+45) at ωm, and approaches a change of 90(+90) at approximately 10ωm

利用这两点规则我们可以大致算出 PM。

Tip

Consider the stability of a feedback system incorporating a one-pole forward amplifier. Assuming H(s)=A0/(1+s/ω0)

Note

H(s)=A01+sω0YX(s)=A01+βA01+sω0(1+βA0)


we plot |βH| and βH in Fig. 10.5, observing that a single pole cannot contribute a phase shift greater than 90 and the system is unconditionally stable for all nonnegative values of β

Figure 10.5 Bode plots of loop transmission for a one-pole system

Phase Margin

系统要稳定,PM 要大于 0,但要大多少呢?前面说过,当 GX 与 PX 重合时(PM=0),输出会出现振荡,频率响应出现无穷大的点;

而当 PX 稍大于 GX 时(PM>0),输出会出现衰减的振荡,频率响应出现过冲(Fig. 10.10a);

当 PX 远大于 GX 时(PM0),基本上没有振荡,也没有过冲(Fig. 10.10b)。

Figure 10.10 Closed-loop frequency and time response for (a) small and (b) large margin between gain and phase crossover points

图中的过冲对应的就是振荡的幅度,我们可以利用如下方法近似计算过冲:βH=|βH|exp(βH),在 GX 处,|βH|=1,而 βH=180+PM,因此我们可以算出该点的 βH,把 βH 代入 YX 的表达式中,就能得到过冲。

Figure 10.11

那么多大的 PM 合适呢?我们先考虑最简单的情况:两个极点,并且 ωp2=unity-gain bandwidth (Fig. 10.11),那么 PM=45,利用上述方法,有:

|YX(ω2)|=H1+βH=1ββH1+βH=1βexp(j135)1+exp(j135)=1.306β

改变 PM,我们可以得到不同的过冲。当 PM=60 时,Y/X=1/β,是最理想的情况(实际上此时依然会有少量过冲,一般取 70)。当 PM=90 时,Y/X=0.707/β,此时完全无过冲,但阶跃响应的速度反而没有 60 时快(Fig. 10.13)。

Figure 10.13 Closed-loop time response for 45,60, and 90 phase margins

[!NOTE] 补充一下,在单极点系统中,unity-gain bandwidth 和 GBW(带宽增益积)是同一个东西,都是指 GX 对应的频率。并且这个值越大,响应速度越快。

GBW的直观含义

最后我们介绍一下已知 A0,ω1,ω2,如何计算 PM。

  • 计算 GBW:

    • 先计算 ω2 处的增益:A(ω2)=20lg(A0)20(lgω2lgω1)
    • 再求解 GBW 的方程:40lg(GBW/ω2)=A(ω2)
    • 或者像我一样,直接一条公式搞定:GBW=A0ω1ω2
  • 代入如下公式:

    PM=180arctan(GBW/ω1)arctan(GBW/ω2)=90arctan(GBW/ω2)ifGBWω1

我们一般希望 ω2=3GBW,就是想要 PM70

[!NOTE] 对上述公式的简单推导:我们知道传递函数 H=YX(Y 是分子,X 是分母),并且已知有如下三角公式:

arctanA+arctanB=arctanA+B1ABA=arctanimg(A)real(A)


于是我们只需要证明在 ω=GBW 处,开环增益形如:

k(1AB)+j(A+B)A=GBWω1,B=GBWω2

假设二阶系统的开环增益为 AO=Av0(1+jω/ω1)(1+jω/ω2),那么:

βAO=βAO(1+jω/ω1)(1+jω/ω2)=βAO(1ω2ω1ω2)+j(ωω1+ωω2)


ω=GBW 代入后,符合前面说的形式,得证。

当然,感性上不需这么复杂,看图 Fig. 10.5 可以发现相位在 ω1 处很像 arctan 函数,然后为了满足 arctanω1=45,我们就用 arctan(ω/ω1) 来拟合计算。(ω2 也是类似的)

Basic Freq Compensation

Compensation of Two-Stage Op Amps

Figure 10.28 Pole splitting as a result of Miller compensation

要增大 Phase Margin,我们希望 主极点靠近原点,非主极点远离原点,这样的目的是使增益在 180 之前尽可能下降得多。这称为 极点分离 。有两种方法实现这一点。

Miller Compensation

我们考虑下图中的两级 OPA,Cc 为 Miller Capacitor,Rn1 是第一级的输出阻抗。我们可以画出等效的小信号模型,注意到这个模型和频率响应一节中的 CS Stage 是一样的,故直接写出频率响应

Gerneric 2-stage opamp-Miller OTA

Generic two-stage opamp

Av=Av01Ccgm2s1+(Rn1Cn1+Av2Rn1Cc+RLCL)s+Rn1RLCCs2whereAv0=Av1Av2=gm1gm2Rn1RLCC=Cn1Cc+Cn1CL+CcCL

下面我们来分析 Cc 对极点的影响。首先为了求解零点,我们将上式化简为:

A=A01cs1+as+bs2

这么一来就能写出零、极点(假设两个极点离得比较远):

sz=1csp1=1asp1=ab

注意到当 a 增大时,主极点会减小,非主极点会变大,那么我们可以通过增大 Cc 来增大 a

  • Cc 较小时,a 可看作与 Cc 无关
  • Cc 较大时,a=Av2Rn1Cc
    • 此时的主极点为 fd=12πAv2Rn1Cc,显然 Cc 越大,fd 越小
    • 非主极点为 fnd=Av2Rn1Cc2πRn1RLCC
      • 如果 Cc 不够大,那么 CCCn1CL,显然 Cc 越大,fnd 越大
      • 如果 Cc 很大,那么 CCCc(Cn1+CL),此时 fndCc 无关。

综合以上分析,我们可以得到下面这幅图:

Miller OTA - pole splitting with Cc

注意到图中还有一条绿色的线,那是零点,其表达式为 fz=gm2πCc,如果 Cc 很大,那么零点就会靠近原点,并且由于这是个正零点,所以会使得相位 90(见下图),这是我们不希望的。所以 Cc 不能太大。当然,我们后面也会讲处理零点的方法。

Effect of positive zero

Choice of Cc

Cc 不能太小,也不能太大。前面说了,fnd 一般是 3GBW(对应 70° 的相位裕度),所以我们可以利用这个求出 Cc

先求 GBW,为了简化分析,我们先忽略 Cn1,得到下图。图中,易知 VoutjωCc=gm1Vin,故 Av=gm11jωCc,当 ω=gm1Cc 时,|Av|=1,所以 GBW=gm12πCc

Gerneric 2-stage opamp

下面再求 fnd

fnd=Av2Rn1Cc2πRn1RLCC=gm2Cc2π(Cn1Cc+Cn1CL+CcCL)gm22πCL11+Cn1Cc

代入 fnd=3GBW,得到:

gm2gm1=3CLCc(1+Cn1Cc)

由于我们一般取 Cn1Cc=0.3 (我也不知道为什么……),最终我们得到:

gm2gm1=4CLCcgm2Cc=4gm1CL

在设计时,一般给定了 GBWCL,我们可以按如下步骤求 gmCc

  1. 根据 fnd=3GBW=gm22πCL1.3,求出 gm2
  2. 根据 gm2gm1=4CLCc,求出 Cc
  3. 根据 GBW=gm12πCc,求出 gm1

Increase gm2

注意到在极点的表达式中:fd=12πAv2Rn1Ccfnd=Av2Rn1CcRn1RLCC 都有 Av2,那么我们可以通过增大 Av2 来让极点分离。

Miller OTA - pole splitting wih gm2

这种方法与 Miller Compensation 的区别是,非主极点会一直随着 Av2 一起增大,并且 fz 也会随 Av2 增大而远离原点,这再好不过了!

但这种方法也有缺点:the current consumption increases drastically