基于virtuoso IC 618的LDO仿真实验

前言:

       这里是我的LDO仿真记录帖。

       往后各种结构的LDO仿真记录就存放在这个帖子里了。

       不定期更新。

目录

序    LDO学习

0.1 仿真参数

0.2 《CMOS低压差线性稳压器》学习记录

       我想在这里把书里看到的一些重要的话记录在这里。分小点记录,有重要的内容我会加个标题(一个标题内可能会包括多个小点内容),方便查询。


1、电源管理芯片可以归为12个大类,其中线性稳压器、开关稳压器(DC/DC)、驱动芯片(Driver),以及电源管理单元(PMU)占据了大半江山。


0.2.1 选择第二级放大器

2、要先选择第二级放大器的使用:
①第二级放大器只能选择共源极或者源跟随器结构;
②第二级放大器受最低电源电压的影响大。
第二级放大器的结构决定误差放大器输出电压的范围,进一步决定功率管栅极电压的变化范围->其结构可以获取功率管的最小尺寸.
④第一级放大器选择面多。


3、第二级为PMOS管输入的源跟随器时,电源电压小于两倍PMOS管阈值电压,第二级不能用源跟随器
在这里插入图片描述
如果小于两倍PMOS管阈值电压,Vo1就小于0了。


4、第二级为NMOS管源跟随器时,|Vthn|<|Vthp|,不然Vo1就要大于Vdd了,但同时Vo2会随着VDD上升而上升,由于体效应,|Vthn|也会变大,故一般不选择NMOS管源跟随器作为第二级
在这里插入图片描述

在这里插入图片描述


0.2.2 功率管的最小尺寸计算

5、功率管的最小尺寸计算:

       第二级放大器是共源极放大器时,其输出电压范围为:
在这里插入图片描述
       第二级放大器是源跟随器时,其输出电压范围与输入电压也有关系((4)中写了第二级不用NMOS的源跟随器,所以只计算PMOS输入管的源跟随器):
在这里插入图片描述

在这里插入图片描述

       故Vo2的上限都是VDD-Vov,功率管要正常工作需要Vg,pow<VDD-|Vthp|,可以看到Vo2的上限电压值大多数情况均大于功率管要正常工作需要的电压值,即不存在由于第二级放大器输出范围的原因造成功率管无法关断的情况

       但是为了保证LDO系统能够正常工作,功率管的栅端电压最小值要大于Vo2的最小值,根据此就可以计算出功率管的最小尺寸了

       I=0.5μCox(W/L)(Vgs-Vth)^2;
       故有W/L=2I/(μCox(Vgs-Vth)^2);

       电源电压最低和输出电流最大时,功率管栅极电压最低

在这里插入图片描述


6、低压与高压管
       **低压管用来构建核心电路,以实现更低的功耗和更高的运算速度;低压管阈值电压更低,特征尺寸更小,有利于提高电路性能。

       高压管用来实现芯片的输入输出电路,以获得更好的信号传递特性,并降低芯片间连线上的能量损耗。


0.2.3 选择第一级放大器类型

7、由于反馈网络的反馈系数β小于1(β是可调的),故基准电压Vref一定要小于LDO输出电压的最小值。(如果不这样,满足下面等式的β就需要大于1了)
在这里插入图片描述

8、β与PSR_LDO有关,PSR_LDO越小越好,越小说明噪声性能越好,故反馈系数β越大越好
在这里插入图片描述

9、先确定Vref的大小,然后根据最低电源电压就能确定输入MOS管的类型了。
在这里插入图片描述
       上面的等式指的是能够让输入管和尾电流源正常工作的电压范围。


10、第一级放大器的负载MOS管类型最好和第二级放大器的输入MOS管类型相同。目的是实现两级放大器输出/输入端直流工作点的匹配。


0.2.4 书4.2.2节(精彩)

11、书上4.2.2节讲得相当精彩,建议反复阅读后读懂。
在这里插入图片描述

空载,零差分输入时(VD就被成为无差分输入时的直流工作点):

在这里插入图片描述

有微小差分输入时(在直流工作点VD上叠加电压值):

在这里插入图片描述

下面这一段文字是这一部分的核心:

在这里插入图片描述

进一步得到:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

       输出电压的误差是由第一级放大器的输出直流工作点的偏移造成的,与负反馈系统的有限环路增益造成的误差是有区别的。(换句话说,第二级放大器的输入电压决定第一级放大器的输出电平,正是由于第二级放大器的输入电压不可能永远是第一级放大器的直流工作点(空载,无差分输入),最终使第一级放大器的输入端产生偏差来让第一级放大器的输出电平对应到第二级放大器的输入电压。有点绕口。)

下面这一段话解释了(10)中的内容:
在这里插入图片描述
在这里插入图片描述
同理:
①第二级为NMOS输入的共源极,第一级要用NMOS的电流镜负载。
②第二级为PMOS输入的共源极,第一级要用PMOS的电流镜负载。
③第二级为PMOS输入的源跟随器,第一级要用PMOS的电流镜负载。(因为第二级为PMOS输入的源跟随器时,Vo2随VDD变化,进而Vo1随VDD变化。另外,前面分析了,一般不使用NMOS输入的源跟随器,第二级放大器就三种选择。)


0.2.5 第一级放大器为折叠管

12、第一级放大器为折叠管时:
在这里插入图片描述
       第一级放大器的输入管,负载管,第二级放大器的输入管都应该是同类型的。

13、新引入的折叠极点表达式:
在这里插入图片描述

14、折叠部分向后提供的输出阻抗:
在这里插入图片描述
       但我觉得这个不太对,他忽视了M1-3与M1-4的ro。

15、宽与长对本征增益和极点的影响:
在这里插入图片描述

得到:

在这里插入图片描述

       可以看到,宽W增大a倍,长L缩小L倍,本征增益不变,但极点提高了a倍。

       故可以通过增大共源共栅管M1-5c与M1-6c的宽并等比缩小其长可以来提高其折叠极点

16、共源共栅管可以屏蔽输入管的寄生电容


0.2.6 单位增益频率补偿模块

17、单位增益频率补偿模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


一、 简单LDO仿真

1.1 总体结构

在这里插入图片描述
在这里插入图片描述
       如上图右侧的电路图,R1,R2对VOUT分压与误差放大器的正端相连,PMOS管是共源极工作状态,相当于有一个反相作用,所以误差放大器,PMOS,R1,R2构成了一个负反馈回路。电路正常工作时,输出电压增加后受到反馈作用有下降的趋势,下降后又有上升的趋势,最后使得输出电压稳定在一个值上。

       我选取电源电压为3v来设计各个电路模块。取Vout最终稳定在1.8v来计算反馈网络(这个好调,电阻值变一下就行了)。使用的是smic 0.18μm 工艺。

       需要的模块有运算放大器(LDO里一个,带隙里一个,均为折叠式共源共栅运放),一个带隙基准(普通带隙基准),用于提供不随温度变化,PSRR大的的Vref。

总体仿真图:
在这里插入图片描述
LDO仿真电路由该帖给出:
用Cadence Virtuoso IC617设计低压降 (LDO) 线性稳压器

1.2 运算放大器设计

在这里插入图片描述
       带隙中需要一个运放,但观察到X,Y点的电压一般在0.7-0.85V之间(我仿真时留意了下,一般在这个区间里),该运放如果使用NMOS输入的折叠式共源共栅运放输入可能不能满足要求,输入共模电压得大于一个尾电流源的Vov,再加一个Vgs,很可能就超过了0.9V,这时电路无法正常工作。故该运放使用PMOS为输入对管的折叠式共源共栅运放。

       LDO中需要一个运放。由于我的带隙基准就是最普通的结构,Vref一般为1.25v,同理,这里使用了一个NMOS输入的折叠式共源共栅运放。

带隙中使用的运放:
在这里插入图片描述

LDO中使用的运放:
在这里插入图片描述
其中,Iin_Dn_5u,指的是需要一个输入电流,Dn是指电流方向向下,5μA。

1.3 带隙基准设计

带隙结构就由这个基础电路图大致确定:
在这里插入图片描述
因为运放还需要偏置电流,就从这个结构上引出PTAT电流:
在这里插入图片描述
上下两个电路合并一下即可,多用一个PMOS而已。

仿真总体电路图为:
在这里插入图片描述
       上图,该电路图出自RiChing5的CSDN,更具体参数我是自己用gm/id的方法来设计的:

       wyy课堂cmos模拟设计课学习笔记-bandgap电路设计1

在这里插入图片描述
在这里插入图片描述
       上面这两部分电路使用做启动与使能控制,先去掉后,能够正常输出VBG后,再加启动与使能控制。PD为0时,PDn为3,PDp为0:
在这里插入图片描述
       开始上电时时,1点处为低(VBG=0),2点为高,2点处NMOS开启,3点处的M20栅电压为PDn=3,M20关闭,M21开启,在3点那里会有电流灌入,电路可以开启。当VBG变大后,1点为高,2点为低,2点处NMOS关闭,该支路电流几乎为0,虽然M21还在开启,但无法抽取电流了,3点处电压处于浮动状态,即3点左侧的电路不影响带隙基本电路了。同时也要关注M27处的PDp对VBG的控制状态。

1.4 总体仿真

在这里插入图片描述
在这里插入图片描述
还有一些参数仿真,之后给出了,目前还不太懂。

二、 何乐年教材仿真

2.1、基准电流源

1、从最简单的开始仿真起:
在这里插入图片描述
在这里插入图片描述
由于二级效应,导致此公式根本不准,没算计算出想要的电流值。比如μCox是关于Vgs与Vds的函数。

2、添加第三条支路,使得X与Y点电压相等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
经实测这个公式结果相对更接近实测值。

实测电路图:
在这里插入图片描述

I=1.5 * 27 * 1e-3 / 50000 * 1 / 2 * ln(4/1)=561nA
在这里插入图片描述

实测为541nA。

3、加入共源共栅管,提高电路电源抑制性:
在这里插入图片描述
设计参数:
在这里插入图片描述
仿真结果:
在这里插入图片描述

       另外,我给这个电路加入了启动电路,这也是我第一次在使用电路时遇到了启动问题,我当时还以为是cadence的仿真器坏了,有时候电流特别小也能工作,有时候电流又在正确值,让我想了好久。

下面给出没有接启动电路时电路的问题:

测试功能电路(一个单位增益缓冲器,方框里就是我的基准电流模块):
在这里插入图片描述

如图我将启动电路部分关掉
在这里插入图片描述
仿真:
在这里插入图片描述

在这里插入图片描述
可以看到电路正常工作,我们再换一个VIN:
在这里插入图片描述

在这里插入图片描述
       电路稳定在一个十分小的电流上了。

       当打开启动电路后,一切都可以正常工作了。

启动电路的设计思路:
拉扎维图12.5:
在这里插入图片描述
       构建一个能够拉动电路启动的“电阻”通路,且稳定后该通路断掉。

       如图12.5,上面的M3,M5,M1通路就是电阻通路,一上电,该通路必然导通,M3,M1有电流后电路各个管子就相继导通了。通过设计管子的参数等,在电路稳定工作后M5关闭。

利用此思想,针对如下电路图进行设计:
在这里插入图片描述
       可以看到,我们只需要在M7与M3之间搭一座“桥梁”即可。
       通过仿真,正常工作时,M7漏端电压约为2V,M3漏端电压约为0.62V。如果只加一个二极管形式的MOS管是无法在电路正常工作时将其关闭的。所以再引入一个MOS作为开关。
在这里插入图片描述
       最左边的两个MOS管就分别是我的二极管形式的MOS管与开关MOS管。刚上电还没有电流时,part1处电压为3V,part2处电压为0V,启动电路被导通。(当然,这里面还有一些复杂的过程,刚好我的电路在右侧也使用了三个二极管形式的MOS管,这才能使我启动电路的偏置电路在上电时导通。总之启动电路的设计思想就是如此,至少我目前这么认为。)

2.2、频率响应

2.2.1 单位增益频率补偿模块

       具体内容在前面的学习部分(0.2.6单位增益频率补偿模块)中有介绍。
在这里插入图片描述
1、首先是直流增益仿真:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
直流增益大约是622倍。即Az=622。

2、其次是进行单位增益放大器的输出电阻仿真,通过分析,其输出电阻为输入管的跨导分之一,下面通过电路仿真进行查看:
在这里插入图片描述
在这里插入图片描述

       在输出端加一个1v的小信号,并同时不改变其直流工作点。
ac交流分析得到:
在这里插入图片描述
可以看到输出电阻为33.7349KΩ。即Ro_az=33.74KΩ。
输出端相连PMOS的rout为:
在这里插入图片描述
输出端相连NMOS的rout及其跨导为:
在这里插入图片描述
在这里插入图片描述
1/gm=1/(29.6114*1e-6)=33770Ω
可以看到输入管的跨导分之一确实约为输出电阻。

3、接下来进行频率响应测试:
电路搭建:

在这里插入图片描述

       通过前面的分析我们知道了Ro_az的值为33735Ω。但此时有一个问题,我们的Cz会参和到等效负载电容CL_az中影响吗?毕竟书上给的公式可是没有影响的,下面进行验证。

①Cz=10pF,CL_az=0F时:

在这里插入图片描述
②Cz=1pF,CL_az=0F时:

在这里插入图片描述
③Cz=1pF,CL_az=1nF时:
在这里插入图片描述

④Cz=1nF,CL_az=1nF时:
在这里插入图片描述
总结:

编号CzCL_az极点1计算
10pF0F4.72 * 1e51/(2 * pi * 33.7KΩ*10pF)≈4.72 * 1e5 Hz
1pF0F4.74 * 1e61/(2 * pi * 33.7KΩ*1pF)≈4.72 * 1e6 Hz
1pF1nF4.71 * 1e31/(2 * pi * 33.7KΩ*1nF)≈4.72 * 1e3 Hz
1nF1nF2.45 * 1e31/(2 * pi * 33.7KΩ*2nF)≈2.36 * 1e3 Hz

       通过计算可以看到Cz也会影响 CL_az的大小,只要CL_az远大于Cz,影响就不大了。


下面进行书上的分析仿真:
在这里插入图片描述
       我们知道了Cz会影响CL_az的大小,那么我们把Cz远远大于CL_az(或者直接不添加额外的CL_az),只改变Rz即可满足三种取值。
此时CL_az≈Cz。
满足取值1:Rz需要远远大于Ro_az.
满足取值2:Rz需要约等于Ro_az.
满足取值3:Rz需要远远小于Ro_az.

取值1时,令Rz=337KΩ,Cz=100pF:
在这里插入图片描述
取值2时,令Rz=33.7KΩ,Cz=100pF:
在这里插入图片描述
取值3时,令Rz=3.37KΩ,Cz=100pF:
在这里插入图片描述
       三种取值对比下来,并没有看到共轭极点的出现,极点中只有1与5两个极点在发生明显变化,零点中仅有零点1在发生明显变化。极点1与零点1均大致符合计算结果,极点5未知如何计算,且似乎极点5与Ro_az与Rz的并联关系有规律可循(目前还算不准)。

发现Cz远远大于CL_az时并不符合公式了,下面我们让Cz远远小于CL_az,再测试一次:

令CL_az=100pF,Cz=10pF:
满足取值1:Rz需要远远大于10 * Ro_az.
满足取值2:Rz需要约等于10 * Ro_az.
满足取值3:Rz需要远远小于10 * Ro_az.

取值1时,令Rz=3.37MΩ:
在这里插入图片描述

取值2时,令Rz=337KΩ:
在这里插入图片描述

取值3时,令Rz=3.37KΩ:
在这里插入图片描述

通过观察,没啥规律可循,放弃了。

2.2.2 环路增益仿真(stb仿真)------简单LDO频率响应分析

       我原本是想把单位增益缓冲器加入进去测试频率响应,发现过于不理想,通过和一位共同学习模拟ic的朋友探讨才知道,原来我一直在仿真的是闭环增益,很多极点的分析是在开环增益上进行的,下面给出开环增益的仿真,及其验证:

验证电路如下:
在这里插入图片描述
“iprobe”是用来stb仿真的一个工具,上面有一个小箭头,连接时让其从负反馈电路指向输入端。

电路变量参数如下:
在这里插入图片描述
功率管的输出电阻与跨导为(其输出电阻与Iout有关,故这个输出电阻仅在此时生效):
在这里插入图片描述
在这里插入图片描述


可以算出:

β=Rf2/(Rf1+Rf2)
=0.5
反馈系数换算成分贝表示就是-6.02dB。

Av_pow=gm_pow * Rout
=446.494u * (185K || 100K) ≈28.98
功率管的增益换算成分贝表示就是29.24dB。

(因为最后的开环增益为βAv1Av2Av_pow,其中Av1与Av2分别表示第一级放大器与第二级放大器增益。换算成分贝表示,最后直接相加减即可。分贝表示公式y=20dB(x),x为电压或电流的单位。)


仿真第一级与第二级放大器增益:

断开环路,给第一级放大器正向输入端加入一个1v的小信号:
在这里插入图片描述

对第一级与第二级放大器输出端进行ac分析,结果如下:
在这里插入图片描述
增益分别为:
Av1=55.9363dB
Av1+Av2=114.392dB

具体计算:

第一级放大器增益计算:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可以读出,负载PMOS管routp=141.517MΩ,输入NMOS管routn=25.4467MΩ,输入管跨导gm=29.0658uS

Av1=gm * (routn || routp)
=29.0658u * 141.517M * 25.4467M / ( 141.517M + 25.4467M)
≈626.9
换算成分贝表示就是55.944dB。


第二级放大器增益计算:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以读出,负载NMOS管routn=34.7591MΩ,输入PMOS管routp=8.33352MΩ,输入管跨导gm=124.554uS

Av1=gm * (routn || routp)
=124.554u * 34.7591M * 8.33352M / ( 34.7591M + 8.33352M)
≈837.24
换算成分贝表示就是58.457dB。


至此,通过仿真计算得出:
20log(β)= – 6.02dB
20log(Av1)=55.944dB
20log(Av2)=58.457dB
20log(Av_pow)=29.24dB

另外有:
20log(Av1)+20log(Av2)=114.401dB
与之前仿真实测数据接近。

最终,环路增益为:
20log(βAv1Av2Av_pow)=
– 6.02dB+55.944dB+58.457dB+29.24dB=137.621dB

stb仿真结果为:
如图连好电路:
在这里插入图片描述

选择stb仿真:
在这里插入图片描述
在这里插入图片描述

选择Main Form:
在这里插入图片描述
在这里插入图片描述
20log(βAv1Av2Av_pow)= 135.427dB 和计算出来的差距不大
在这里插入图片描述
GBW=2.69157MHz
在这里插入图片描述
-3dB带宽=1.32984KHz
1/(2* pi * Rout * CL)=1/(2 * pi * (185K||100K) * 1n)
= 2451Hz

有一些误差。


### 进行运算放大器放大极电路的仿真 #### 设计准备阶段 在启动任何仿真实验之前,需确保拥有合适的工具链。通常情况下,会采用诸如Cadence Virtuoso、HSPICE 或者 LTspice 等EDA工具来进行设计与仿真工作[^1]。 #### 构建电路模型 依据具体需求构建运算放大器内部各组成部分——即偏置网络、差动输入级(由一对匹配良好的NMOS晶体管组成)、中间电压增益节点以及输出缓冲级;对于多级架构而言,则还需加入额外的放大单元来提升整体性能参数。特别值得注意的是,在此过程中应当引入米勒电容作为频率补偿手段以改善相位裕度并稳定直流操作点[^2]。 ```matlab % 创建一个新的原理图文件,并放置所需元件 addpart('nmos', 'X1'); % 添加第一个N沟道MOSFET用于构成差分对的一半 addpart('nmos', 'X2'); % 另一半同样使用N沟道器件实现 addpart('pmos', 'X3'); % PMOS负载晶体管连接至电源轨VDD addpart('capacitor', 'Cmiller'); % 米勒补偿电容器跨接于两个连续级之间 ``` #### 设置初始条件和激励源 定义必要的外部接口信号如正负输入端口(Vin+, Vin-)及其对应的交流/直流扫描范围;同时指定反馈电阻Rf值以便后续计算开环增益Avol=-gm*Rout*RF。另外还需要配置好供电电压Vdd/Vss水平以及其他可能影响到静态工作状态的因素。 ```matlab Vinp = acsource(0, 1); % 小幅度AC测试向量注入至同相输入端 Vinn = dcsource(0); % 对反相侧施加零伏特DC偏移 Vspply = dcsource(+5); % 正电源设定为+5V Vsnneg = dcsource(-5); % 负电源设定为-5V ``` #### 执行初步分析 利用内置的功能模块执行一系列预设好的测量流程,包括但不限于: - **直流传输特性曲线(DC Sweep)**:评估不同输入条件下输出的变化趋势; - **瞬态响应(Temporal Response Analysis)**:观察阶跃函数作用下系统的动态行为特征; - **波特图(Bode Plot Generation)**:绘制幅频响应图形从而判断稳定性边界位置; - **噪声密度谱线形貌(Noise Density Spectrum Shape Inspection)**:量化随机干扰成分的影响程度。 ```matlab runanalysis('dc', {'vin+', [-1e-3 : 1e-6 : 1e-3]}); runanalysis('tran', {tstart=0; tstop=1ms}); runanalysis('ac', fmin=1Hz, fmax=1GHz); runanalysis('noise'); ``` #### 结果解读与迭代改进 基于上述所得数据图表深入剖析潜在缺陷所在之处并对原设计方案作出针对性修正直至各项技术规格均满足预期目标为止。这一步骤往往涉及到反复试验的过程,因此建议保持耐心细致的态度对待每一次调整尝试。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值