分析了基本的Miller补偿的零极点位置,同时也要关注Folded Cascode结构中的折叠极点和镜像零极点对,让这些零极点频率高于次级点。
两级运放,gm1/gds1和gm2/gds2,第一级输出电容C1,第二级输出电容C2,米勒电容调零电阻RzCc,负载低通滤波器RLCL
|
Basic Miller |
Nulling Resisor |
LPF |
1/p1 |
gds1gds2gm2Cc |
gds1gds2gm2Cc |
gds1gds2gm2Cc |
1/p2 |
gm2(CcC1+1)C2+C1 |
gm2(CcC1+1)C2+C1 |
gm2(CcC1+gm2RL+1)CL+C1 |
1/p3 |
- |
1+CcC1+C2C1C1Rz |
1+CcC1+CLC1+gm2RLC1(Rz+RL) |
1/z1 |
gm2Cc |
(Rz−gm21)Cc |
(Rz−gm21)Cc |
1/z2 |
- |
- |
RLCc |
N输入对M1/M2,N负载M3+M4/M5+M6,N cascode M7/M8,P cascdoe M9/M10,diode current mirror M11/M12
折叠极点(cascode pole)
pc1=gm7+gds3+gds5Cs7+Cd3+Cd2+Cd1≈gm7Cs7
镜像零极点对(mirror pole/zero)
pm1=gm11Cg11+Cg12+Cd9+Cd7zm1=2gm11Cg11+Cg12+Cd9+Cd7
用于检查设计
ClearAll["Global`*"];
ClearAll["Subscript"];
(*STEP1:写入DC工作点参数*)
gm1 = 403*10^-6;
gm2 = (705 + 738)*10^-6;
c1 = (908 + 332)*10^-15;
c2 = (593 + 6000)*10^-15;
rz = 3000/2*1;
cc = 451*20*10^-15;
rL = 2000;
cL = (20 + 6)*10^-12;
gmc = 181*10^-6;
cgc = 300*10^-15;
gmm = 153*10^-6;
cgm = 681*2*10^-15;
(*STEP2:计算零极点对*)
gbw = 1/10^6*(0.5/\[Pi])*gm1/cc // N;
p2 = 1/10^6*(0.5/\[Pi])*gm2/((c1/cc + gm2*rL + 1)*cL + c1) // N;
p3 = 1/10^6*(0.5/\[Pi])*(1 + c1/cc + c1/cL +
gm2*rL)/(c1*(rz + rL)) // N;
z1 = 1/10^6*(0.5/\[Pi])*1/((rz - 1/gm2)*cc) // N;
z2 = 1/10^6*(0.5/\[Pi])*1/(rL*cL) // N;
pc = 1/10^6*(0.5/\[Pi])*gmc/cgc // N;
pm = 1/10^6*(0.5/\[Pi])*gmm/(cgm*2) // N;
zm = 1/10^6*(0.5/\[Pi])*(2*gmm)/(cgm*2) // N;
lpf = 1/10^6*(0.5/\[Pi])*(1)/(cL*rL) // N;
(*STEP3:打印结果(MHz)*)
Print["gbw=", NumberForm[gbw, {Infinity, 3}], "MHz ", "p2=",
NumberForm[p2, {Infinity, 3}], "MHz ", "p3=",
NumberForm[p3, {Infinity, 3}], "MHz "]
Print["z1=", NumberForm[z1, {Infinity, 3}], "MHz ", "z2(LPF)=",
NumberForm[z2, {Infinity, 3}], "MHz "]
Print["pc(cascode)=",
NumberForm[pc, {Infinity, 3}], "MHz ", "pm(mirror)=",
NumberForm[pm, {Infinity, 3}], "MHz ", "zm(mirror)=",
NumberForm[zm, {Infinity, 3}], "MHz "]
两级运放,gm1/gds1和gm2/gds2,第一级输出电压Vx,第一级输出寄生电容C1,负载电容C2
⎩⎪⎨⎪⎧gm1Vin+Vxgds1+VxsC1+(Vx−Vout)sCc=0gm2Vx+Voutgds2+VoutsC2=(Vx−Vout)sCc
代入Matlab,得到完整的表达式
VinVout=(C1C2+C1Cc+C2Cc)s2+(gm2Cc+gds1(C2+Cc)+gds2(C1+Cc))s+gds1gds2gm1(gm2−sCc)
通常双极点传函的分母具有如下形式
D(s)=(1−p1s)(1−p2s)=(p11+p21)s+1
如果是实数极点且相距较远,有如下近似
D(s)≈p1p21s2−p11s+1
按照以上形式对传函进行化简,注意成立条件:极点相距较远且忽略合理的,
VinVoutz11p11p21=gds1gds2C1C2+C1Cc+C2Ccs2+gds1gds2gm2Cc+gds1(C2+Cc)+gds2(C1+Cc)s+1gds1gds2gm1gm2(1−sgm2Cc)=gm2Cc=gds1gds2gm2Cc=gds1gds2gm2Ccgds1gds2C1C2+C1Cc+C2Cc=gm2(CcC1+1)C2+C1
两级运放,gm1/gds1和gm2/gds2,第一级输出电压Vx,第一级输出寄生电容C1,负载电容C2,调零电阻Rz
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧gm1Vin+Vxgds1+VxsC1+(Vx−Vout)G1=0gm2Vx+Voutgds2+VoutsC2=(Vx−Vout)G1G1=1/(sCc1+Rz)
解方程,得到
VinVoutA3A2A1=gds1gds2gm1gm2⋅A3s3+A2s2+A1s+11+(Rz−1/gm2)sCc=gds1gds2C1C2CcRz=gds1gds2C1C2+C1Cc(1+gds2Rz)+C2Cc(1+gds2Rz)=gds1gds2gm2Cc+gds2C2+Cc+gds1C1+Cc+RzCc
如果极点相距较远,且以上忽略合理,可以得到
z11p11p21p31=(Rz−gm21)Cc≈gds1gds2gm2Cc≈gds1gds2gm2Ccgds1gds2C1C2+C1Cc+C2Cc=gm2(CcC1+1)C2+C1≈gm2(CcC1+1)C2+C1⋅gds1gds2gm2Ccgds1gds2C1C2CcRz=RzC1⋅CcC1+C2C1+11
电路配置,方程如下
- 两级运放,gm1/gds1和gm2/gds2,
- 第一级:输出电压Vx,输出寄生电容C1,
- 第二集:输出电压Vout,负载电容C2,米勒电容Cc,调零电阻Rz
- LPF电阻电容RLCL,输出电压采样电压Vs
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧gm1Vin+Vxgds1+VxsC1+(Vx−Vout)G1=0gm2Vx+Voutgds2+VoutsC2+VoutG2=(Vx−Vout)G1G1=1/(sCc1+Rz)G2=1/(sCL1+RL)(Vout−Vs)/RL=VssCL
求解上述方程得到以下完全解,有两个零点,LPF导致的右零点,以及调零电阻+米勒前馈通路的零点;
Num=(1+sRLCL)(1+sCc(Rz−gm1))
分母比较复杂,完整表达式如下
DemA1A2A3A4=1+A1s+A2s2+A3s3+A4s4=gds1gds2gm2Cc+gds1(C2+Cc+CL)+gds2(C1+Cc)+RLCL+RzCc=gds1gds2C1(C2+CL)+(C1+C2+CL+gm2RLCL)Cc+gds1(C1+C2)RLCL+C1RzCc+gds2(C2+Cc)RLCL+(C2+CL)RzCc+RLCLRzCc=gds1gds2(C1C2+C1Cc+C2Cc)RLCL+(C1C2+C1CL)RzCc+RzCcRLCL(gds1C1+gds2C2)=gds1gds2C1C2RzCcRLCL
主极点p1,RLCL 通常限制GBW处,RzCc=Cc/gm2通常在3倍的GBW处,因此也可以;
p11=A1=gds1gds2gm2Cc+gds1(C2+Cc+CL)+gds2(C1+Cc)+RLCL+RzCc≈gds1gds2gm2Cc
次主极点p2,分析A2表达式,
- Rz和RL都是gm2量级的,所以可以直接忽略掉后三项;
- C2只有Drain的电容,甚至比C1要小。C1小于Cc和CL,视情况忽略
- RL应该和1/gm2是一个数量级,因此约不掉;
A2=gds1gds2C1(C2+CL)+(C1+C2+CL+gm2RLCL)Cc≈gds1gds2C1CL+Cc(C1+CL+gm2RLCL)
次主极点计算,如果RL=0,CL=C2的话,这个结果和普通的米勒是一样的。
p21=A1A2=gm2CcC1CL+Cc(C1+CL+gm2RLCL)=gm2(CcC1+gm2RL+1)CL+C1
高频p3极点的分析,首先要去分析A3的表达式
- Rz和RL都是gm2量级的,所以可以直接忽略掉第二项;
- C2只有Drain的电容,远小于CL,同时小于C1,因此忽略掉包含C2的项目
A3=gds1gds2(C1C2+C1Cc+C2Cc)RLCL+(C1C2+C1CL)RzCc=gds1gds2C1CcRLCL+C1CLRzCc
这样可以得到p3极点
p31=A2A3=C1CL+Cc(C1+CL+gm2RLCL)C1CcRLCL+C1CLRzCc=1+gm2RL+CcC1+CLC1C1(Rz+RL)

Folded Cascode处,看到输入管的阻抗为ro1(差分输入端源端为交流地),负载管的阻抗分别是ro3和ro5,cascode管源端看下去的阻抗取决于其Drain端的阻抗。
Drain的导纳,一端是gm11可以忽略;另一端是gm9gds11gds9+sCL,随着频率增高,在折叠极点起作用之前,输出的主极点已经起作用了,因此闭环使用时,输出端的导纳是由sCL决定的,因此也是一个低阻:
Rs7=1+gm7ro7ro7+RD7≈gm71
折叠极点的RC为(无论时单端输出还是差分输出):
pc1=gm7+gds3+gds5Cs7+Cd3+Cd2+Cd1≈gm7Cs7
有源负载单端输出的放大器,差转单的电流镜结构,除了基本的差转单功能外,也提供了输出共模偏置。与此同时,引入了一个极点和零点。
镜像极点是Diode的等效阻抗与栅电容引起的,相比Cascode管的gm和Cg,负载管的gm和Cg更容易挑战次级点:
pm1=gm11Cg11+Cg12+Cd9+Cd7
镜像零点,是因为从输入到输出存在两条路径,因此会在2倍的镜像极点处产生一个镜像零点:
Vout=2Vingm1⎝⎜⎜⎜⎛1+sgm11Cg11+Cg12+Cd9+Cd71⋅gm11gm12+1⎠⎟⎟⎟⎞Rout=2Vingm1Rout⋅1+sgm11Cg11+Cg12+Cd9+Cd72+sgm11Cg11+Cg12+Cd9+Cd7=Vingm1Rout⋅1+sgm11Cg11+Cg12+Cd9+Cd71+s2gm11Cg11+Cg12+Cd9+Cd7=Vingm1Rout⋅1+pm11+2pms