这篇笔记围绕一个轨到轨(Rail-to-Rail, R2R)两级 OTA 展开:输入级是 NMOS/PMOS 互补差分对,并配合 Gm 控制电路;第二级是折叠式求和电路,含浮动电流源(M13、M14)和浮动电压源(M15、M16);输出级是 AB 类推挽输出(M17、M18),用 CM1C_{M1}、CM2C_{M2} 做密勒补偿。下面按设计时考虑问题的顺序记录。点击图片可查看大图。

轨到轨运放整体电路图

1. 浮动电压源的小信号分析

浮动电压源小信号分析

浮动电压源由一对 NMOS(M1)和 PMOS(M2)并联构成,上下分别由电流源 I2I_2、I1I_1 偏置。

  1. 本质理解:M1 与 M2 并不像 Cascode 管那样放大下方的电阻 R1R_1。在交流小信号意义上,VxV_x 与 VyV_y 是短路的。
  2. 大信号角度:当 VxV_x 想要抬高时,M2 的 VGSV_{GS} 增大,流过 M2 的电流增大;总电流固定,于是流过 M1 的电流减小,M1 的 VGSV_{GS} 减小,VyV_y 也随之抬高。

从上往下看进去的等效电阻推导:

vt=itr1+[ it−gm1(0−itr1)+gm2(0−vt) ] (ro1∥ro2)\begin{aligned} v_t &= i_t r_1 \\ &\quad + \big[\, i_t - g_{m1}(0 - i_t r_1) + g_{m2}(0 - v_t) \,\big]\,(r_{o1} \parallel r_{o2}) \end{aligned} [ 1+gm2(ro1∥ro2) ] vt=[ r1+(1+gm1r1)(ro1∥ro2) ] it\begin{aligned} &\big[\, 1 + g_{m2}(r_{o1} \parallel r_{o2}) \,\big]\, v_t \\ &\quad = \big[\, r_1 + (1 + g_{m1} r_1)(r_{o1} \parallel r_{o2}) \,\big]\, i_t \end{aligned} vtit=(ro1∥ro2)+[ 1+gm1(ro1∥ro2) ] r11+gm2(ro1∥ro2)≈1gm2+gm1gm2 r1\begin{aligned} \frac{v_t}{i_t} &= \frac{(r_{o1} \parallel r_{o2}) + \big[\, 1 + g_{m1}(r_{o1} \parallel r_{o2}) \,\big]\, r_1}{1 + g_{m2}(r_{o1} \parallel r_{o2})} \\[4pt] &\approx \frac{1}{g_{m2}} + \frac{g_{m1}}{g_{m2}}\, r_1 \end{aligned}

结果约为 1/gm2+(gm1/gm2) r11/g_{m2} + (g_{m1}/g_{m2})\, r_1,没有出现 Cascode 那样的 gmrog_m r_o 倍放大。

2. 浮动电流源

浮动电流源分析

以电路上半部分为例:

  1. 输入共模电压为 0.5 VDD 时:由 KCL 可知 I1+I11=I7I_1 + I_{11} = I_7。其中 I11I_{11} 是浮动电流源的电流 IbI_b,I1=12IrefI_1 = \tfrac{1}{2} I_{ref},所以流过 M7 的电流为 12Iref+Ib\tfrac{1}{2} I_{ref} + I_b,电路总电流为 2Iref+2Ib2 I_{ref} + 2 I_b。
  2. 输入共模电压为 VDD 时:P 管关断,流过 M1 的电流变为 2Iref2 I_{ref},流过 M7 的电流变为 2Iref+Ib2 I_{ref} + I_b,电路总电流为 5Iref+2Ib5 I_{ref} + 2 I_b。
  3. 如果忽略输入级的 3 倍电流镜:两种情况下电路总电流都是 2Iref+2Ib2 I_{ref} + 2 I_b。
  4. 本质上,浮动电流源的作用是让流过 M15、M16 的电流不随输入共模变化,进而使输出级的静态电流不随 VCMV_{CM} 和电源变化。

3. 压摆率(Slew Rate)

取单位电流 I=2 μAI = 2\,\mu\text{A},分别看输入共模在中间和接近电源轨两种情况下,大信号阶跃时各支路的电流分配。

输入共模为 0.5 VDD

输入共模为 0.5VDD 时的压摆率分析

此时流过 M15 和 M16 的总电流为 8I8I,所以:

SR=8ICM1+CM2SR = \frac{8I}{C_{M1} + C_{M2}}

输入共模接近 VDD

输入共模接近 VDD 时的压摆率分析

P 管关断后,3 倍电流镜把尾电流放大到 12I12I,此时:

SR=12ICM1+CM2SR = \frac{12I}{C_{M1} + C_{M2}}

这样设置出现了一个 Bug:流过 M8 的电流小于流过 M4 的电流。后续应该改进,增加浮动电流源的电流,例如增加到 16I16I。

小结

压摆率小结与折叠支路电流关系

  1. 对于基于 3 倍电流镜的 R2R OTA,要考虑输入共模对 SR 的影响。初步结论:
    • 输入共模接近 VCMV_{CM} 时,SR=2ISSCM1+CM2SR = \dfrac{2 I_{SS}}{C_{M1} + C_{M2}}
    • 输入共模接近电源轨时,SR=4ISSCM1+CM2SR = \dfrac{4 I_{SS}}{C_{M1} + C_{M2}}(修正浮动电流源、增加到 16I16I 后;当前偏置下受限于 M8,只有 3ISS3I_{SS})
  2. 对折叠运放,要验证各支路电流能否满足求和关系,不要出现上图中 I1>I2I_1 > I_2 的情况,否则共栅管 M2 会被“抽空”。

4. 零极点分析

电流镜负载带来的极点与零点

有源电流镜作负载的差分对,在镜像节点 E 上会带来一个极点和一个零点:

ωp,mirror=gm3CE,ωz=2 gm3CE\omega_{p,\text{mirror}} = \frac{g_{m3}}{C_E}, \qquad \omega_z = \frac{2\, g_{m3}}{C_E}

理解零点的一种方法:在零点频率 szs_z 处,传递函数 Vout(s)/Vin(s)V_{out}(s)/V_{in}(s) 必须为零。对有限的 VinV_{in},这意味着输出可以看作对地短路、流出的电流为零,于是从两条并行路径流向输出的电流必须大小相等、方向相反。以共源级为例,流过 CGDC_{GD} 的电流等于 M1 的电流:

V1CGD sz=gmV1⇒sz=+gmCGDV_1 C_{GD}\, s_z = g_m V_1 \quad \Rightarrow \quad s_z = +\frac{g_m}{C_{GD}}

5. 两级运放的噪声分析

两级运放闭环噪声模型

已知条件:

  • 反馈系数 β=C1C1+C2\beta = \dfrac{C_1}{C_1 + C_2}
  • 两级 OTA 的闭环带宽 BWcl=UGB=β⋅GBW=β Gm1CcBW_{cl} = UGB = \beta \cdot GBW = \beta\, \dfrac{G_{m1}}{C_c}
  • 输入参考噪声功率谱密度 PSDin=4kTγGm1PSD_{in} = \dfrac{4kT\gamma}{G_{m1}}

问题是:输出噪声是多少?

两级运放输出噪声推导

第一步:建立闭环传递函数。 输入参考噪声源位于第一级输入端,对闭环输出来说,它在直流和带内的闭环噪声增益等于同相放大增益:

An0=1β=C1+C2C1A_{n0} = \frac{1}{\beta} = \frac{C_1 + C_2}{C_1}

密勒补偿的两级运放可近似为主极点单极点系统,开环增益 A(s)≈Gm1sCcA(s) \approx \dfrac{G_{m1}}{sC_c},闭环表现为一阶低通:

Hn(s)=vout(s)vn,in(s)=1β⋅11+s/ωclωcl=β Gm1Cc,fcl=ωcl2π=βGm12πCc\begin{gathered} H_n(s) = \frac{v_{out}(s)}{v_{n,in}(s)} = \frac{1}{\beta} \cdot \frac{1}{1 + s/\omega_{cl}} \\[6pt] \omega_{cl} = \beta\, \frac{G_{m1}}{C_c}, \qquad f_{cl} = \frac{\omega_{cl}}{2\pi} = \frac{\beta G_{m1}}{2\pi C_c} \end{gathered}

第二步:求输出噪声谱密度。 输出噪声谱是输入噪声谱经过传递函数模方滤波的结果:

PSDout(f)=∣Hn(j2πf)∣2⋅PSDin=1β2⋅11+(f/fcl)2⋅4kTγGm1\begin{aligned} PSD_{out}(f) &= \lvert H_n(j2\pi f) \rvert^2 \cdot PSD_{in} \\ &= \frac{1}{\beta^2} \cdot \frac{1}{1 + (f/f_{cl})^2} \cdot \frac{4kT\gamma}{G_{m1}} \end{aligned}

在低频带内(f≪fclf \ll f_{cl}),输出噪声谱密度为常数:

PSDout(0)=4kTγβ2Gm1PSD_{out}(0) = \frac{4kT\gamma}{\beta^2 G_{m1}}

第三步:积分得到全频带总输出噪声。 一阶单极点系统的等效噪声带宽为

ENBW=π2fcl=π2⋅βGm12πCc=βGm14CcENBW = \frac{\pi}{2} f_{cl} = \frac{\pi}{2} \cdot \frac{\beta G_{m1}}{2\pi C_c} = \frac{\beta G_{m1}}{4 C_c}

所以

vn,out2‾=∫0∞PSDout(f) df=PSDout(0)⋅ENBW=(4kTγβ2Gm1)⋅(βGm14Cc)=kTγβCc\begin{aligned} \overline{v_{n,out}^2} &= \int_0^\infty PSD_{out}(f)\, df = PSD_{out}(0) \cdot ENBW \\ &= \left( \frac{4kT\gamma}{\beta^2 G_{m1}} \right) \cdot \left( \frac{\beta G_{m1}}{4 C_c} \right) = \boxed{\frac{kT\gamma}{\beta C_c}} \end{aligned}

结论:总输出噪声与 Gm1G_{m1} 无关,只由补偿电容 CcC_c 和反馈系数 β\beta 决定,依然是 kT/C 的形式。

6. 开关电容电路的噪声分析

开关电容电路噪声模型

在 ϕ2\phi_2 相,开关电容积分器的噪声源包括采样开关电阻 RsnR_{sn}、反馈开关电阻 RfnR_{fn}、输出开关电阻 RynR_{yn}(各自热噪声为 4kTR4kTR),以及 OTA 的输入噪声 vi2‾/Δf=4kTα/Gm\overline{v_i^2}/\Delta f = 4kT\alpha / G_m。把 OTA 和反馈网络化简成从输出看进去的 Req∥CeqR_{eq} \parallel C_{eq},就能用单极点模型分析。

两种噪声传递函数推导方法对比

求 OTA 输入噪声 vnv_n 到输出的传递函数,有两种等价的方法。

方法一:从开环增益出发

这是更习惯的方法,从开环增益 AOL(s)A_{OL}(s) 出发。先建立开环输出阻抗,这里必须使用 OTA 的物理输出电阻 RoutR_{out}:

Zout,OL(s)=Rout∥1sCeq=Rout1+sRoutCeqZ_{out,OL}(s) = R_{out} \parallel \frac{1}{sC_{eq}} = \frac{R_{out}}{1 + sR_{out}C_{eq}}

得到开环电压增益:

AOL(s)=GmZout,OL(s)=GmRout1+sRoutCeq=A01+s/ωp,OLA0=GmRout,ωp,OL=1RoutCeq\begin{gathered} A_{OL}(s) = G_m Z_{out,OL}(s) = \frac{G_m R_{out}}{1 + sR_{out}C_{eq}} = \frac{A_0}{1 + s/\omega_{p,OL}} \\[6pt] A_0 = G_m R_{out}, \qquad \omega_{p,OL} = \frac{1}{R_{out}C_{eq}} \end{gathered}

通过反馈公式得到闭环噪声传递函数:

Hn(s)=vovn=AOL(s)1+βAOL(s)=Gm1/Rout+βGm+sCeqH_n(s) = \frac{v_o}{v_n} = \frac{A_{OL}(s)}{1 + \beta A_{OL}(s)} = \frac{G_m}{1/R_{out} + \beta G_m + sC_{eq}}

闭环直流增益与闭环极点:

Hn(0)=GmRout1+βGmRout=A01+βA0ωcl=1/Rout+βGmCeq=(1+βA0) ωp,OL\begin{gathered} H_n(0) = \frac{G_m R_{out}}{1 + \beta G_m R_{out}} = \frac{A_0}{1 + \beta A_0} \\[6pt] \omega_{cl} = \frac{1/R_{out} + \beta G_m}{C_{eq}} = (1 + \beta A_0)\, \omega_{p,OL} \end{gathered}

大环路增益下:

Hn(0)≈1β,ωcl≈βGmCeqH_n(0) \approx \frac{1}{\beta}, \qquad \omega_{cl} \approx \frac{\beta G_m}{C_{eq}}

方法二:直接建立闭环等效模型

这是论文中使用的方法:直接写出闭环的 ReqR_{eq}–CeqC_{eq} 模型。在输出端加测试电压 vov_o,反馈电容网络使 vx=βvov_x = \beta v_o,OTA 产生抵抗输出变化的电流 ifb=βGmvoi_{fb} = \beta G_m v_o,因此输出端总电导为

Gout,cl=1Rout+βGmReq=11/Rout+βGm=Rout1+βA0≈1βGm\begin{gathered} G_{out,cl} = \frac{1}{R_{out}} + \beta G_m \\[6pt] R_{eq} = \frac{1}{1/R_{out} + \beta G_m} = \frac{R_{out}}{1 + \beta A_0} \approx \frac{1}{\beta G_m} \end{gathered}

闭环输出阻抗:

Zout,cl(s)=Req∥1sCeq=Req1+sReqCeqZ_{out,cl}(s) = R_{eq} \parallel \frac{1}{sC_{eq}} = \frac{R_{eq}}{1 + sR_{eq}C_{eq}}

输入噪声先被 GmG_m 转换成输出电流 in=Gmvni_n = G_m v_n,再经过闭环输出阻抗得到 vo=inZout,clv_o = i_n Z_{out,cl},因此

Hn(s)=vovn=GmReq1+sReqCeqGmReq=A01+βA0,ωcl=1ReqCeq\begin{gathered} H_n(s) = \frac{v_o}{v_n} = \frac{G_m R_{eq}}{1 + sR_{eq}C_{eq}} \\[6pt] G_m R_{eq} = \frac{A_0}{1 + \beta A_0}, \qquad \omega_{cl} = \frac{1}{R_{eq}C_{eq}} \end{gathered}

大环路增益下:

Hn(s)≈1/β1+s/(βGm/Ceq)H_n(s) \approx \frac{1/\beta}{1 + s/(\beta G_m / C_{eq})}

两种方法的对应关系

项目开环法闭环等效法
起点AOL(s)A_{OL}(s)GmG_m 与 Zout,clZ_{out,cl}
使用的电阻物理 RoutR_{out}闭环 ReqR_{eq}
如何加入反馈除以 1+βAOL1 + \beta A_{OL}已包含在 ReqR_{eq} 中
噪声传递函数AOL/(1+βAOL)A_{OL}/(1 + \beta A_{OL})GmZout,clG_m Z_{out,cl}
适用场景多极点、复杂 A(s)A(s)单输出节点、一阶近似
注意事项不能在 A(s)A(s) 里使用 ReqR_{eq}不能再除一次 1+βA1 + \beta A

两者最终完全一致:

AOL(s)1+βAOL(s)=GmZout,cl(s)\frac{A_{OL}(s)}{1 + \beta A_{OL}(s)} = G_m Z_{out,cl}(s)