在日常工作中,大家应该都会经常遇到需要调节cascode的bias这种情况。不敢自吹自擂的说,作者君目前还是能挺快的调好管子的参数的。不过回想起来刚学模拟电路的时候,作者君也是曾经感觉是如打地鼠一般的痛苦。
所以作者君就想跟小读者们分享一下自己的经验,帮助大家更快的跳过这个“打地鼠”的环节。
PS:大部分情况下,我们假设一旦电流确定,Vgs也是确定的。
如图这样的一个bias 产生电路。我们有了从外面拉进来的两路电流Iref,所以这左边三个管子就是我们调节这个bias的全部工作量了。应该很容易吧?
让我们试试看?
首先确定V1.
因为V1是diode M1产生的,对于右边的M2和M3来说,它包括两个电压,Vgs3和Vds2. 我们来分别看看这两方面:
Vgs3:因为电流已经确定,所以如果M3在饱和区,那么Vgs3也是确定的。
如果Vdsat3大概在100mV到200mV之间(作者君的习惯),并且M3的Vds3也大概比Vdsat3多100mV左右,作者君会认为M3的size就调好了,不需要动了。
如果Vdsat3的数值太小,也就是这个管子太过于strong了,减小(W/L)3就好;
如果Vdsat3的数值太大,也就是这个管子太过于weak了,增大(W/L)3就好;
Vds2:M2是主要的电流源,所以一般给它预留的Vdsat2,以及Vds2会稍微大一些。比如作者君一般的习惯,Vdsat2会给大概150mV到250mV的预留。同样Vds2会给多100mV左右的预留。
假设我们已经调节好了M3的size。如果此时看到的Vds2在我们预留范围内,那么就大功告成了。撒花!
如果Vds2过小,那么就减小V1吧!因为一个饱和区的M3,V3其实是会跟着V1一起浮动的。减小V1就很容易了,M1是个diode嘛!要让M1的Vgs变大,那就减小(W/L)1.
跟V1相关的M3已经确定了,我们来花力气针对一下和V2有关的M2吧!
首先,我们还是看看M2的周围环境:M3已经确定的情况下,V3是基本固定的;
此时,如果Vgs2大小合适,也就是Vdsat2是在前面提到的范围内,那就哈哈哈,完工!
如果Vgs2不够好,那就调M2吧!
Vgs2如果太小,说明M太strong,减小(W/L)2就好;
Vgs2如果太大,说明M太weak,增大(W/L)2就好;
最后,我们在已经确定了M1,M2,M3的情况下,再重新看看M2和M3的Vds。
可能出现的一种情况是:M3的Vds3有点大。假设这种情况:理想的Vds3是250mV,Vds2是350mV,但是此时的Vds3是500mV。
大家想想看,为什么会出现这样的情况呢?
一般来说,这是由于比较大的Vth2造成的。
因为Vgs2=Vds2+Vds3,所以如果此时的Vth2是600mV,Vdsat2是250mV,就会出现Vds2是350mV,而Vds3是500mV的情况。
怎么办?或者说需要调吗?
那就看你的要求啦!如果一般情况下你的电流源的负载会让M3的drain这边产生大概1V的电压,当你的Vdd是1.8V的时候,等效M3的Vds3也有450mV。作者君觉得,放过自己未尝不是一件好事情?^_^
如果你的Vdd只有1.6V(不要问我为什么设置这样的Vdd,当然是为了好算啊!1V+250mV+350mV),嘿嘿嘿,没办法,革命尚未成功……
因为调节M2和M3的过程就是打地鼠,如果只是Vds3造成的问题,我们为什么不换个思考方向呢?
当当当!surprise!加个电阻R1就好了!
这个电阻分去了Vds3上面不应该有的500mV-250mV=250mV的电压,让这个bias的产生支路和有外界loading的右边各个支路的情况变得接近。所以能过让current mirror变得更准确。
最后留个课堂作业吧?有时候,我们能看到有这样的电阻R2-4存在,大家说说它有什么作用?
PS:最后多说一句,如果需要有倍数的加大current mirror,大家务必保证L是一样的。比如说W/L=1u/0.5u是bias产生模块里面2uA对应的size,那么要mirror出4uA的电流,应该是W/L=2u/0.5u,而不是说只要ratio成比例就行。大家可以试试看4u/1u能不能让你得到精确的mirror的4uA电流?
编辑:jq
全部0条评论
快来发表一下你的评论吧 !