Skip to content

模拟集成电路

在读 Razavi 时,书中提到了两种极点估计的方法:

  1. 一个节点对应一个极点,书中指出:求解这个节点对应的极点频率,我们只需要求这个节点到地的等效电容和等效电阻,将他们相乘即得这个节点的时间常数。
  2. 在附录部分,还给出了估计主极点的方法,零值时间常数法(ZVTC):选定一个电容,移除其他所有的电容(开路),并将所有电源置零(电压源断路,电流源短路),计算从这个电容两端看进去的等效电阻,得到这个电容对应的时间常数。重复上述步骤直到选完所有电容,将他们的时间常数求和,即得主极点对应的时间常数。
  3. 在 Gray 的书中,还介绍了另一种估计极点的方法,短路时间常数法:选定一个电容,移除其他所有的电容(短路),并将所有电源置零(电压源断路,电流源短路),计算从这个电容两端看进去的等效电阻,得到这个电容对应的时间常数。重复上述步骤直到选完所有电容,将他们的时间常数的倒数求和,即得主极点对应的时间常数的倒数。这种方法主要用来估计低频的-3 dB 极点。与 ZVTC 的区别仅是一个开路一个短路。

ZVTC 方法作为一种估计主极点的方法,可以方便的求出主极点近似中的 b1b_{1}. 由于不需要进行复杂的计算,因此可以给电路设计者提供一些设计方向,而后再通过仿真工具验证自己的设计。

考虑一个共射放大电路,考虑电容后的小信号等效电路如下所示: Pasted image 20250518234314.png

为了便于分析,我们令 vi=0v_{i}=0,选定 v1,2,3v_{1,2,3} 为变量,激励由三个独立电流源 i1,2,3i_{1,2,3} 提供,(这样做的目的其实没看懂,AI 解释是极点的位置和外部输入无关,选取的电流源激励更方便我们分析问题 #困惑 )分别跨接在电容两端,如图所示: Pasted image 20250518234751.png 可列写节点电压方程(这似乎和传统的节点电压方程有所不同 #困惑 )得到

i1=(g11+sCπ)v1+g12v2+g13v3i2=g21v1+(g22+sCμ)v2+g23v3i3=g31v1+g32v2+(g33+sCx)v3\begin{gathered} i_1=\left(g_{11}+s C_\pi\right) v_1+g_{12} v_2+g_{13} v_3 \\ i_2=g_{21} v_1+\left(g_{22}+s C_\mu\right) v_2+g_{23} v_3 \\ i_3=g_{31} v_1+g_{32} v_2+\left(g_{33}+s C_x\right) v_3 \end{gathered}

注意:与电容有关的项都在系数行列式的主对角线上。

由极点的物理意义可知,若激励为零,即上述方程组是一个齐次线性方程组,当系数行列式 Δ=0\Delta=0 时,方程有非零解,即此时然后存在 vov_{o}. 于是电路传递函数的极点就是系数行列式 Δ\Delta 的零点,可以写成如下形式:

Δ(s)=K3s3+K2s2+K1s+K0\Delta(s)=K_3 s^3+K_2 s^2+K_1 s+K_0

为了改写成下式分母的形式

A(s)=N(s)D(s)=a0+a1s+a2s2++amsm1+b1s+b2s2++bnsnA(s)=\frac{N(s)}{D(s)}=\frac{a_0+a_1 s+a_2 s^2+\cdots+a_m s^m}{1+b_1 s+b_2 s^2+\cdots+b_n s^n}

Δ(s)=K0(1+b1s+b2s2+b3s3)\Delta(s)=K_0\left(1+b_1 s+b_2 s^2+b_3 s^3\right)

其中 K0K_{0} 是与电容无关的项,即令 Cx=Cμ=Cπ=0C_x=C_\mu=C_\pi=0Δ\Delta 的值,这一点可以对照节点电压方程得到。因此我们可以定义

K0=ΔΔ0=ΔCπ=Cμ=Cx=0K_0 \stackrel{\Delta}{=}\Delta_0=\left.\Delta\right|_{C_\pi=C_\mu=C_x=0}

下面我们考虑一次项 K1K_{1} 的值。显然 s 只和电容有关,因此 K1sK_{1}s 项可以写成:

K1s=h1sCπ+h2sCμ+h3sCxK_1 s=h_1 s C_\pi+h_2 s C_\mu+h_3 s C_x

可见,h1h_{1} 仅由 CπC_{\pi} 决定,下面我们对 Δ\Delta 按第一行展开,有

Δ(s)=(g11+sCπ)Δ11+g12Δ12+g13Δ13\Delta(s)=\left(g_{11}+s C_\pi\right) \Delta_{11}+g_{12} \Delta_{12}+g_{13} \Delta_{13}

可知

h1=Δ11Cμ=Cx=0h_1=\left.\Delta_{11}\right|_{C_\mu=C_x=0}

如法炮制,可得到 h2,3h_{2,3}

h2=Δ22Cπ=Cx=0h3=Δ33Cπ=Cμ=0h_2=\left.\Delta_{22}\right|_{C_\pi=C_{x}=0} \quad h_3=\left.\Delta_{33}\right|_{C_\pi=C_{\mu}=0}

从而可得 K1K_{1}

K1=(Δ11Cμ=Cx=0×Cπ)+(Δ22Cπ=Cx=0×Cμ)+(Δ33Cμ=Cπ=0×Cx)K_1=\left(\left.\Delta_{11}\right|_{C_\mu=C_x=0} \times C_\pi\right)+\left(\left.\Delta_{22}\right|_{C_\pi=C_x=0} \times C_\mu\right)+\left(\left.\Delta_{33}\right|_{C_\mu=C_\pi=0} \times C_x\right)

因此可得 b1b_{1}

b1=K1K0=Δ11Cμ=Cx=0Δ0×Cπ+Δ22Cπ=Cx=0Δ0×Cμ+Δ33Cμ=Cπ=0Δ0×Cxb_1=\frac{K_1}{K_0}=\frac{\left.\Delta_{11}\right|_{C_\mu=C_x=0}}{\Delta_0} \times C_\pi+\frac{\left.\Delta_{22}\right|_{C_\pi=C_x=0}}{\Delta_0} \times C_\mu+\frac{\left.\Delta_{33}\right|_{C_\mu=C_\pi=0}}{\Delta_0} \times C_x

现在让我们来分析一下每个电容前的系数(仅讨论 CπC_{\pi} )分别表示什么:

  1. Δ11Cμ=Cx=0\left.\Delta_{11}\right|_{C_\mu=C_x=0} 表示第二行第二列的代数余子式,而在这个代数余子式中只剩下 CxC_{x}CμC_{\mu},于是可以知道此表达式中再无电容分量。事实上我们可以写出其表达式为
Δ11Cμ=Cx=0=g22g23g32g33\left.\Delta_{11}\right|_{C_\mu=C_x=0}=\left|\begin{array}{ll} g_{22} & g_{23} \\ g_{32} & g_{33} \\ \end{array}\right|
  1. Δ0\Delta_{0} 表示令所有电容为零后的系数行列式,其表达式为
Δ0=g11g12g13g21g22g23g31g32g33\Delta_{0}=\left|\begin{array}{lll} g_{11} & g_{12} & g_{13} \\ g_{21} & g_{22} & g_{23} \\ g_{31} & g_{32} & g_{33} \end{array}\right|

由于 Δ11\Delta_{11} 中已经没有了 CπC_{\pi} 的作用,因此

Δ11Cμ=Cx=0Δ0=Δ11ΔCμ=Cx=Cπ=0\frac{\left.\Delta_{11}\right|_{C_\mu=C_x=0}}{\Delta_0}=\left.\frac{\Delta_{11}}{\Delta}\right|_{C_\mu=C_x=C_\pi=0}

为了得到此系数的物理意义,我们还需要回到那三个节点电压方程,若令 i2=i3=0i_2=i_3=0,由 Cramer 法则可知:

v1=Δ11i1Δ(s)v1i1=Δ11Δ(s)v_1=\frac{\Delta_{11} i_1}{\Delta(s)}\Rightarrow \frac{v_1}{i_1}=\frac{\Delta_{11}}{\Delta(s)}

上式的物理意义是:只有 CπC_{\pi} 两边的激励源作用时从 CπC_{\pi} 看进去的等效电阻(注意:此时没对其他两个做任何的开路处理,仅仅令其两边的激励源为零,实际上此时开路的仅有 CπC_{\pi})。

因此我们在意的系数其实就是将另外两个电容开路后从 CπC_{\pi} 看进去的等效电阻(求解等效电阻时其两端的电容已经被看出开路),我们定义:

Rπ0=Δ11Δ0Cμ=Cx=0R_{\pi 0}=\left.\frac{\Delta_{11}}{\Delta_0}\right|_{C_\mu=C_x=0}

类似的我们还可以定义

Rμ0=Δ22Δ0Cπ=Cx=0Rx0=Δ33Δ0Cπ=Cμ=0R_{\mu0}=\left.\frac{\Delta_{22}}{\Delta_0}\right|_{C_\pi=C_x=0}\quad R_{x0}=\left.\frac{\Delta_{33}}{\Delta_0}\right|_{C_\pi=C_\mu=0}

于是

b1=Rπ0Cπ+Rμ0Cμ+Rx0Cxb_1=R_{\pi 0} C_\pi+R_{\mu 0} C_\mu+R_{x 0} C_x

[!summary] 从上面的推导过程中我们就可以看出为什么 ZVCT 只能用来估计主极点了,或者说这个问题本身就不是个问题,因为我们做 ZVCT 的初衷就是为了求出 b1b_{1} 的值,b1b_{1} 就是我们做主极点近似后的传递函数的分母一次项系数。

现在我们就可以用 ZVCT 来估计主极点了,先试一下上面的例子,

ω3 dBp1=1b11Rπ0{Cπ+Cμ[(1+gmRL)+RLRπ0]}\omega_{-3 \mathrm{~dB}} \simeq\left|p_1\right|=\frac{1}{b_{1}}\simeq \frac{1}{R_{\pi 0}\left\{C_\pi+C_\mu\left[\left(1+g_m R_L\right)+\frac{R_L}{R_{\pi 0}}\right]\right\}}

这个计算留给读者。

[!warning] ZVCT 并不总是有效的,虽然他可以准确的估计主极点的频率,但是如果电路中还存在主零点的话,他是无法准确估计的,此时再用 ZVCT 估计 ω3dB\omega_{-3dB} 将会出现很大误差。

短路时间常数法可以用来估计交流耦合放大器中的较低的-3 dB 频率(交流耦合存在耦合电容,类似与高通滤波器,存在下限截止频率,这是一个比较低频的-3 dB 频率),但是也可以用来估计两个距离较远的极点中非主导极点的大小。

我们依然用上面的电路来推导 SCTC,为方便起见,我们重新抄一遍上面的结果: 考虑一个共射放大电路,考虑电容后的小信号等效电路如下所示: Pasted image 20250518234314.png

为了便于分析,我们令 vi=0v_{i}=0,选定 v1,2,3v_{1,2,3} 为变量,激励由三个独立电流源 i1,2,3i_{1,2,3} 提供,(这样做的目的其实没看懂,AI 解释是极点的位置和外部输入无关,选取的电流源激励更方便我们分析问题 #困惑 )分别跨接在电容两端,如图所示: Pasted image 20250518234751.png 可列写节点电压方程(这似乎和传统的节点电压方程有所不同 #困惑 )得到

i1=(g11+sCπ)v1+g12v2+g13v3i2=g21v1+(g22+sCμ)v2+g23v3i3=g31v1+g32v2+(g33+sCx)v3\begin{gathered} i_1=\left(g_{11}+s C_\pi\right) v_1+g_{12} v_2+g_{13} v_3 \\ i_2=g_{21} v_1+\left(g_{22}+s C_\mu\right) v_2+g_{23} v_3 \\ i_3=g_{31} v_1+g_{32} v_2+\left(g_{33}+s C_x\right) v_3 \end{gathered}

注意:与电容有关的项都在系数行列式的主对角线上。

由极点的物理意义可知,若激励为零,即上述方程组是一个齐次线性方程组,当系数行列式 Δ=0\Delta=0 时,方程有非零解,即此时仍然存在 vov_{o}. 于是电路传递函数的极点就是系数行列式 Δ\Delta 的零点,可以写成如下形式:

Δ(s)=K3s3+K2s2+K1s+K0\Delta(s)=K_3 s^3+K_2 s^2+K_1 s+K_0

下面不同的就来了,这次我们这样改写:

Δ(s)=K3(s3+K2K3s2+K1K3s+K0K3)=K3(sp1)(sp2)(sp3)\begin{aligned} \Delta(s) & =K_3\left(s^3+\frac{K_2}{K_3} s^2+\frac{K_1}{K_3} s+\frac{K_0}{K_3}\right) \\ & =K_3\left(s-p_1\right)\left(s-p_2\right)\left(s-p_3\right) \end{aligned}

现在我们看二次项的系数,有

K2K3=i=13pi\frac{K_2}{K_3}=-\sum_{i=1}^3 p_i

由于二、三次项系数为

K3=CπCμCxK2=g11CμCx+g22CπCx+g33CπCμK_3=C_\pi C_\mu C_{x} \quad K_2=g_{11} C_\mu C_x+g_{22} C_\pi C_x+g_{33} C_\pi C_\mu

从而

K2K3=g11Cπ+g22Cμ+g33Cx=1r11Cπ+1r22Cμ+1r33Cx\frac{K_2}{K_3}=\frac{g_{11}}{C_\pi}+\frac{g_{22}}{C_\mu}+\frac{g_{33}}{C_x}=\frac{1}{r_{11} C_\pi}+\frac{1}{r_{22} C_\mu}+\frac{1}{r_{33} C_x}

其中 r11=1/gm11r_{11}=1/g_{m11}, 在此对照我们列写的节点电压方程,可知

r11=1g11=v1i1v2=v3=0,Cπ=0r_{11}=\frac{1}{g_{11}}=\left.\frac{v_1}{i_1}\right|_{v_2=v_3=0, C_\pi=0}

从而,r11r_{11} 的物理意义就是将 v2v_{2}v3v_{3} 置零后(即 Cπ,xC_{\pi,x} 短路)从 CπC_{\pi} 看进去的等效电阻。同理可知

r22=1g22=v2i2v1=v3=0,Cμ=0r33=1g33=v3i3v1=v2=0,Cx=0r_{22}=\frac{1}{g_{22}}=\left.\frac{v_2}{i_2}\right|_{v_1=v_3=0, C_{\mu}=0} \quad r_{33}=\frac{1}{g_{33}}=\left.\frac{v_3}{i_3}\right|_{v_1=v_2=0, C_x=0}

现在我们可以将二次项系数改写为

K2K3=i=131τsi\frac{K_2}{K_3}=\sum_{i=1}^3 \frac{1}{\tau_{s i}}

其中 1/τsi1/\tau_{si} 表示第 i 个电容的短路时间常数。第 i 个电容器的短路时间常数可通过其电容值乘以与第 i 个电容器看进去的等效电阻得到。

下面来解释为什么 SCTC 是用来估算低频极点的。那是因为近似,读者可以参考主极点近似看一下这里是怎么近似的,再和短路时间常数法的极点近似做对比:

因为

i=13pi=i=131τsi\sum_{i=1}^3 p_i=-\sum_{i=1}^3 \frac{1}{\tau_{s i}}

该关系对任何由电阻、电容和受控源组成的小信号电路都成立,前提是电路中不存在电容环路(若存在一个电容环路则少一个极点)。若 p1p_{1} 的频率远大于另外两个极点频率,那么有:

p1i=13pi=1τsip_1 \approx \sum_{i=1}^3 p_i=-\sum \frac{1}{\tau_{s i}}

若这里只有两个极点且距离较远,那么就可由开路时间常数法估计出主导极点,由短路时间常数法估计出非主导极点。

[!question] 上面我们说 SCTC 可以估算较低频的 -3 dB 极点,而 ZVTC 可以估算较高频的-3 dB 极点,但是我们的推导中的近似是:SCTC 求的是最高频的极点,而 ZVTC 求的是最低频的极点。如何解释这一看似矛盾的说法呢?

原因在于:较低频的-3 dB 极点往往由耦合电容或者旁路电容引起,由耦合、极间电容的数量级可知,这些电容的阻值往往较大,而且看进去的等效电阻也较大,于是由这些电容引起的极点频率远远低于由极间电容或者负载电容引起的极点。因此说**在低频时(此时极点电容和负载电容相当于开路)用 SCTC 可估算出低频的-3 dB 极点(这就是低频极点中最高频的极点了);在高频是(此时耦合电容和旁路电容相当于短路)用 ZVTC 可估算高频的-3 dB 极点(这就是高频极点中最低频的极点了)。 **

现在回答一下为什么在低频时用的是短路时间常数,而高频时用的是开路时间常数。答案就藏在上面的辨析之中。

由于 ZVCT 求得是所有极点中最低频的那一个,而 SCTC 求得是所有极点中最高频的那一个。又因为用 ZVCT 时仅关注极间电容和负载电容,这些电容都提供比较高频的极点,我们需要从中找到最低的那一个,才是我们想要的-3 dB 极点,而 ZVCT 找的就是所有极点中最低频的,SCTC 反之。

这种方法可以估算出每一个节点对应极点的频率,但是要问:用这种方法有什么前提条件呢?在什么情况下都是准确的吗?

先来看书上的一个例子: Pasted image 20250519030327.png 这里存在两个节点,故对应两个极点,对 CGDC_{GD} 进行 Miller 等效之后,可求出两个极点分别是:

ωin=1RS[CGS+(1+gmRD)CGD]ωout =1RD(CDB+CGD)\omega_{i n}=\frac{1}{R_S\left[C_{G S}+\left(1+g_m R_D\right) C_{G D}\right]} \quad \omega_{\text {out }}=\frac{1}{R_D\left(C_{D B}+C_{G D}\right)}

下面我们用列节点方程的方法来求解精确表达式:

Vout Vin (s)=(CGDsgm)RDRSRDξs2+[RS(1+gmRD)CGD+RSCGS+RD(CGD+CDB)]s+1\frac{V_{\text {out }}}{V_{\text {in }}}(s)=\frac{\left(C_{G D} s-g_m\right) R_D}{R_S R_D \xi s^2+\left[R_S\left(1+g_m R_D\right) C_{G D}+R_S C_{G S}+R_D\left(C_{G D}+C_{D B}\right)\right] s+1}

经过一顿分析,可得到如上表达式,来对他进行主极点近似:

ωp1=1RS(1+gmRD)CGD+RSCGS+RD(CGD+CDB)\omega_{p 1}=\frac{1}{R_S\left(1+g_m R_D\right) C_{G D}+R_S C_{G S}+R_D\left(C_{G D}+C_{D B}\right)}

ωin\omega_{in} 对比,发现只多了 RD(CGD+CDB)R_D(C_{GD}+C_{DB}) 这一项,但是问题不大,可以认为两者近似相等。

由此可以看出,一个节点对应一个极点的做法也是在主极点近似下才能做到比较好的精确度。

ZVTC、SCTC、一个节点对应一个极点,这三种方法想要获得比较好的精度都要满足主极点近似!