ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

LTspice五管OTA仿真全流程:从手算到开环增益与相位裕度

LTspice五管OTA仿真全流程:从手算到开环增益与相位裕度 做模拟IC设计这行LTspice是我电脑里从来没删过的工具之一。它免费、轻量、启动快收敛性在同类软件里也算得上优秀更关键的是基本所有厂家的spice模型都能直接吃进来。今天这篇不整虚的就手把手带你用LTspice把一个经典五管差分运放五管OTA从零搭出来走一遍完整的仿真流程先做参数手算再搭原理图然后做直流工作点检查最后用交流仿真把开环增益、单位增益带宽和相位裕度都测出来顺便聊聊相位裕度不够时到底怎么调。如果你是刚开始学模拟IC的学生或者工作中突然要用LTspice验证一个运放雏形这篇文章可以直接照着操作。我会把每个步骤背后的为什么也讲清楚这样你不光会按按钮还能明白电路为什么这样工作、指标为什么这样变。1. 五管差分运放的设计目标与电路拆解1.1 五管运放的结构5个管子各司其职五管差分运放严格说是一个单级OTA跨导运放核心就5个MOS管一对输入差分对M1/M2、一对有源负载电流镜M3/M4、一个尾电流源M5。我这里用PMOS输入对、NMOS电流镜负载的组合来举例这是低电压应用里很常见的接法。这个结构的信号通路可以这样理解M5把总尾电流Iss固定住相当于给整个电路定了预算M1和M2把输入差分电压转换成差分电流M3和M4组成的电流镜负责把差分电流重新合并成单端电流并在输出节点转化为电压。输出节点是M2和M4漏极相连的那个点也就是整个电路唯一的低阻抗不对——对单级OTA来说输出节点是唯一的高阻抗节点这决定了它的增益特性。各管子角色列一下M5尾电流源管决定整个电路的总电流和功耗。M1/M2输入差分对跨导gm的大小由它决定。M3二极管连接NMOS形成电流镜基准它的栅漏短接等效阻抗约1/gm。M4电流镜输出管与M2在输出节点叠加电流输出阻抗影响增益。输出节点Vout通常还要接一个负载电容CL完成频率补偿。你可能会问为什么不用电阻做负载在集成电路里电阻面积大、阻值精度差而且压降固定很难在低压下保证输出摆幅。用MOS管电流镜做有源负载可以把阻抗推到MΩ级别用很小的面积就能拿到很高的增益这就是五管运放最核心的性价比。1.2 设计指标先定下来再动手没有指标就仿真等于没有地图开车。这次我给自己定的目标很典型适合1.8V电源下的低功耗应用电源电压VDD 1.8V地VSS 0V尾电流Iss 20µA也就是总功耗只有36µW直流开环增益目标 ≥ 40dB单位增益带宽目标 ≥ 30MHz负载电容CL 1pF相位裕度目标 ≥ 60°输出共模电平约0.9V处于电源中点是最好。这些指标不是随便拍的。增益40dB对应100V/V这个量级对单级OTA来说很合理不贪高。带宽30MHz配合1pF负载反推需要的输入跨导gm大概在200µS上下。功耗控制在36µW以内适合电池供电的传感器接口、开关电容电路、ADC采样保持前端等场景。相位裕度60°是反馈系统稳定性和响应速度的经典折中。1.3 为什么选LTspice做这次仿真LTspice是ADI出的免费仿真工具没有节点限制也不像有些软件那样随便就是几十GB的安装包。它收敛性调得不错尤其是对开关电源和运放这类电路默认设置往往就能跑通。对五管运放这种小规模电路来说LTspice完全够用仿真速度快到刚点下Run就出结果。LTspice当然也有短板比如不能直接画版图、自带的波形查看器不如高端工具顺手、模型库主要以器件厂商自己的模型为主。但对于学习电路结构、验证设计思路、做参数扫描它是我用下来最顺手的选择。特别是你只需要快速看一个趋势——宽长比增大20%增益怎么变LTspice的.step命令配合波形族功能非常好用。2. LTspice环境准备与原理图搭建2.1 新建文件与放置元件打开LTspice菜单File New Schematic新建一张原理图。接下来按快捷键F2打开元件库在搜索框里输入pmos4和nmos4这里一定要选带4的版本也就是四端MOS管。四端MOS管有D、G、S、B四个端子B是衬底/体端。用四端管能显式控制体电位更接近实际工艺中的情况。如果在元件库里选了pmos或nmos三端符号那就只能默认衬底和源极短接很多体效应、衬底噪声问题没法模拟出来。放元件时我习惯把NMOS和PMOS先各放三个布局如图M1/M2输入对在中间靠上M3/M4电流镜在下方M5尾电流源放在最上面。你不需要一步到位后面连线时随时可以用CtrlR旋转、CtrlE镜像调整方向。常用的快捷键整理一下F2打开元件库F3连线F4放置网络标号Net LabelG放置地符号CtrlR旋转元件CtrlE镜像翻转S放置SPICE指令文本。刚上手的人最容易犯的错是元件放好了不连线或者用肉眼看着差不多连上了但实际没接上。LTspice里连线一定要用工具栏的连线模式确保出现小红框吸附节点不能靠拖拽元件让引脚碰到一起。2.2 连线、节点命名与电源放置原理图连线时我建议用网络标号而不是把所有线都画出来。在网络比较多的电路里一根根拉线极易出错而且后面要改非常痛苦。用网络标号的方式在需要连通的节点上按F4放上相同名字的标号即可。对于五管OTA我先把节点规划好总共需要这些网络名vdd、gnd电源和地vinp、vinn同相和反相输入端vout输出端vtailM1/M2源极公共点也是M5漏极imirM3栅漏短接的镜像基准点vbiasM5栅极偏置电压。信号源和电源怎么放按F2选voltage放置两个电压源VDD接在vdd和gnd之间初始值1.8VVBIA S接在vbias和gnd之间。折腾完再把M5管子的B端接到vddM3/M4的B端接到gndM1/M2的B端同样接到vdd。这样每个管子都明确处于正确的衬底电位仿真结果才靠谱。2.3 模型定义与SPICE指令写法LTspice自带的元件库里有通用MOS模型但在我们这种学习验证场景我建议直接写一个简单的Level 1模型行为直观调参也方便。按快捷键S打开SPICE Directive编辑框输入下面两行.model NCH NMOS (Level1 VTO0.5 KP200u LAMBDA0.1 GAMMA0.3 PHI0.7) .model PCH PMOS (Level1 VTO-0.5 KP100u LAMBDA0.1 GAMMA0.5 PHI0.7)这两行放在原理图任意空白处即可LTspice会自动把它当作全局model。然后选中对应的MOS管右键把Value也就是模型名改成NCH或PCH。如果你的管子是四端管除了Value还要检查B端确实接了正确电位。这里有个容易踩坑的地方LTspice里四端MOS管的B端如果悬空它在某些版本里会默认等于源极电位但这是自动帮你省事的行为在很多电路里会产生完全错误的结果。尤其是PMOS输入对衬底不接到vdd而是悬空体效应、衬底漏电全都不对。所以每次仿真前我都习惯用View SPICE Netlist看一眼生成的网表确认B端连接这个习惯帮你省下大量排查时间。2.4 一个可以直接抄的原理图连接关系如果不想被连线搞晕可以直接照下面这个连接关系搭M1源极接vtail漏极接imir节点栅极接vinp衬底接vddM2源极接vtail漏极接vout栅极接vinn衬底接vddM3源极接gnd漏极接imir栅极也接imir衬底接gndM4源极接gnd漏极接vout栅极接imir衬底接gndM5源极接vdd漏极接vtail栅极接vbias衬底接vdd。VDD电源1.8V接在vdd和gnd之间VBIA S电压源先设1.2V这个是初步猜测值后面DC仿真要细调。CL负载电容1pF一端接vout一端接gnd。输入端先都接一个0.9V的直流共模电压后面AC仿真再加交流信号。3. 参数计算与DC工作点仿真3.1 手算电流、宽长比、增益和带宽有了电路结构接下来要确定每个管子的宽长比。这一步很重要先把笔算结果放在前面后面仿真才有对照目标。先定尾电流Iss 20µA镜像电流镜1:1分配所以M1/M2每路电流ID1 ID2 10µAM3/M4每路电流也是10µA。输入PMOS对管我取W/L 20µm/0.18µm换算成宽长比约111。在Level 1模型下跨导gm用公式gm sqrt(2 × KP × W/L × ID)计算。KPp取100µA/V²代人得到gm ≈ 471µS。这个值比我们需要的200µS大不少其实是留了余量——LTspice仿真时由于短沟道效应和实际Vov变化实测gm会比手算低一些。负载NMOS电流镜管取W/L 10µm/0.18µm同样的公式算出来它的gm ≈ 471µS。输出阻抗用ro 1/(λ × ID)估算。λ这里取0.1/VNMOS和PMOS都是每路电流10µA所以ro 1MΩ。输出节点看进去是两个ro并联Rout ro_p ∥ ro_n 0.5MΩ。直流增益Av gm_in × Rout 471µ × 0.5M ≈ 235约47.4dB满足≥40dB的目标。单位增益带宽GBW gm_in / (2π × CL) 471µ / (2π × 1p) ≈ 75MHz。这个值比目标30MHz高不少说明设计裕量很大。但要注意GBW太高往往会让相位裕度吃紧后面AC仿真时我会重点看这一点。整个过程手算一遍你会立刻建立起直觉想要更大的增益就去提高Rout也就是增加L减小λ或者减小每路电流想要更宽的带宽就增大gm或减小CL但二者都会牵扯到功耗和稳定性这就是模拟设计的牵一发动全身。3.2 DC仿真验证每个管子的工作状态参数定好后先做直流工作点仿真。在原理图中添加SPICE指令.op按Run按钮仿真结束后打开View SPICE Error Log你会看到每个节点的直流电压和每个器件的所有工作点参数。这一步千万别跳过——我见过太多人急着看AC曲线结果输出饱和在电源轨上AC结果全错回头又不知道错在哪。检查工作点有三个重点第一所有管子是否工作在饱和区。对MOS管来说就是VDS VGS - VTH在Error Log里可以直接看每个管子的Vds、Vgs和Vth。如果管子跑到线性区多数是偏置电压不对或者宽长比不合适。第二输出直流电平是否在0.9V附近。五管OTA的输出点直流电压理想情况下应该接近电源中点这样才能获得最大输出摆幅。如果发现输出被拉到接近0V或1.8V说明差分对两端存在隐形的直流失配或者偏置电压设置有问题。第三尾电流源M5的电流是否真的是20µA。看Error Log里M5的Id如果不是20µA就需要调整vbias。M5工作在饱和区时ID由公式ID 0.5 × KPp × W/L × (VSG - |VTHp|)²决定。取M5尺寸W/L 40µm/0.18µmKPp 100µ代算得到VSG ≈ 0.54V所以vbias VDD - VSG 1.26V左右。这是个起点实际仿真可能因为模型差异需要微调。3.3 工作点不对时怎么调整如果仿真完发现输出不是0.9V最常见的原因是偏置电压vbias没设置好导致尾电流偏大或偏小进而改变差分对的跨导和输出工作点。调整方法很粗暴但有效用.step扫描vbias参数一次看输出直流电平的变化趋势。比如把仿真指令改成.op .step param vbias 1.1 1.4 0.01然后波形查看器里画V(vout)找到电压接近0.9V的那个vbias值把它固定下来。我在自己的电路里最终试出来vbias约1.25V时工作点最合适和手算的1.26V基本吻合。另一个更隐蔽的问题输入共模电平不合适。PMOS输入对要求输入共模电压Vicm不能太高否则输入对管会退出饱和。经验上对1.8V电源Vicm取0.9V是一个稳妥起点。如果你把输入共模提到1.2VM1/M2的源极vtail被顶得很高M5的VDS被迫拉低尾电流源可能进入线性区整个电路的表现立刻崩盘。3.4 直流增益与输出摆幅的平衡五管OTA只有一个高阻输出节点输出摆幅范围大约是VDS,sat(电流镜)到VDD - VDS,sat(尾电流源)。想让输出摆幅大就要降低各管的过驱动电压也就是用小尺寸或小电流想让增益高就要增大输出阻抗也就是用更长的沟道。这两个需求在同一个尺寸上打架。我的建议是初学时先保证设计指标能用就行别一上来就追求极致。先把M1/M2和M3/M4的长都设成0.18µm最小沟道把增益和带宽跑出来再用长沟道把增益拉高对比一两次你就知道尺寸对性能的影响有多直接了。4. 交流仿真与相位裕度测量4.1 测开环增益的两种实用接法DC工作点搞定后该做AC小信号分析了。这里有一个很多人都栽过跟头的点直接按教科书把反相端接地、同相端加AC信号然后跑AC扫描得到的波形通常乱七八糟甚至完全不对。原因很简单五管OTA开环增益几十dB输入端只要有一丁点直流失配输出就直接饱和到电源轨AC小信号全被削没了。业界最常用的做法是直流闭环、交流开环。我在LTspice里用一个大电感和一个大电容实现大电感LFB从vout接到vinn反相输入端电感值1GH大电容CIN从AC信号源接到vinn电容值1GFVIN同相端vinp接一个DC0.9V、AC1V的电压源。直流情况下电感阻抗为0所以反相端和输出端直流短接整个运放形成单位增益缓冲器输出直流被反馈拉到约等于同相端0.9V工作点稳如泰山。交流情况下1GH电感的阻抗极大相当于开路反馈支路完全不起作用所以测出来的就是运放的开环增益。1GF的大电容则把AC信号完整耦合到反相端不会产生明显分压。这个电路里有两个极低频的极点/零点是大电感和1GF电容相互作用产生的频率低到纳赫兹量级完全不会污染目标频段。但如果你用1M H、1µF这种差不多大的数值低频段会出现明显的上升/下坠假象严重影响你对相位曲线的判断。数值一定要给得足够极端1G起步别省。4.2 从幅频/相频曲线读出关键指标在原理图添加指令.ac dec 100 10 1GRun之后波形窗口里选中V(vout)右键设为Bode图或者直接看实部/虚部。LTspice默认会画出幅度和相位两条曲线。幅度曲线的纵轴是dB相位是度数。用手势按住鼠标右键拖动放大中键拖动测量线可以很方便地读数。我通常按这个顺序读数先看低频平坦段幅度。理论上应该是47dB左右如果实际偏出太多说明手算和模型偏差大去查工作点。再看-3dB频率。从低频增益下降3dB的点就是主极点频率。五管OTA主极点由输出阻抗和负载电容决定f_p 1 / (2π × Rout × CL)按0.5MΩ和1pF算是约318kHz。然后找0dB交点也就是幅频曲线穿越0dB的频率这就是实际单位增益带宽。按设计应该在75MHz附近如果这个频率太靠近其他寄生极点相位裕度就会吃紧。最后看相位裕度。在0dB交点对应的频率处读出相位角度然后用180°减去这个角度的绝对值。比如频率在75MHz时相位是-115°那么相位裕度PM 180 - 115 65°处于一个很健康的状态。4.3 相位裕度为什么重要以及怎么判断相位裕度这个概念通俗讲就是反馈系统还有多少稳定余量才进入自激。你可以想象一辆车在高速上紧急变道相位裕度就是变道完成时车头和护栏之间的距离距离越小越容易失控。PM小于45°运放接成反馈后会剧烈振铃PM接近0°那就直接振荡了。标准值的说法是60°左右最好既稳定又响应快。想看PM的效果最直接的办法是跑瞬态仿真看阶跃响应。把运放接成单位增益缓冲器输入端从0.9V阶跃到1.0V观察输出波形PM高输出平稳过渡PM低输出会出现明显振荡PM负值输出直接发散。这个只可意会的直观感受强烈建议你亲手跑一次。4.4 相位裕度不足时怎么优化这次我的设计在中低频段看起来PM不错但如果你把负载电容降到0.1pF或者增大输入管W/L把GBW推高就会看到PM跌到30度甚至更低输出阶跃响应会有明显振铃。优化手段说穿了就三板斧。第一招增大负载电容CL。这是最简单的稳定化手段。CL增大主极点向低频移动低频增益不变但GBW下降远离高频寄生极点PM自然回升。代价是带宽变窄。比如CL从1pF加到3pFGBW从75MHz降到25MHzPM会有非常明显的改善。我经常用.step扫描CL值一次看三五个电容下PM的变化趋势比来回改参数高效得多。第二招降低输入管跨导gm。减小M1/M2的W/L或者减小尾电流Iss让GBW降下来。但注意这会同时降低增益因为输出阻抗基本不变。如果你只是PM不够、增益还有余量这招很合适。比如把M1/M2从20µm改成10µmgm大约降到原来的0.7倍GBW也相应降低PM改善。第三招减小内部寄生电容。PM不足的本质是GBW离第二极点太近。五管OTA的寄生极点主要来自两个节点输入对管的源极vtail节点以及电流镜像点imir节点。vtail节点电容包括M1/M2的Cgs、M5的漏端电容等如果能减小M1/M2的管宽会直接降低这个节点的寄生电容让第二极点往高频移动。但这是精细活在原理图阶段通常影响不大到了版图阶段才能感受到它的分量。这里提醒一句一级OTA通常不需要额外的频率补偿网络因为它的主极点天然在输出节点内部寄生极点离得较远。如果你看到某个版本的五管运放原理图里加了电阻电容串联补偿那大概率是为了带大容性负载或者配合某些特殊反馈网络属于比较进阶的操作初学阶段先不碰。5. 常见问题与排查技巧实录5.1 仿真不收敛与Time step too smallLTspice整体收敛性不错但五管运放配合大电感LFB和1GF大电容时偶尔会遇到Time step too small报错。这个问题根源是仿真器在某个瞬间无法收敛被迫把步长降到极限。我的排查顺序是先检查浮空节点。原理图上有节点没连线或者只连到元件一端仿真器会卡住。用View SPICE Netlist查网表凡是只有一端的节点都有问题。再查看初始条件。给关键节点加.ic V(vout)0.9指令或者加.nodeset V(vout)0.9让仿真器一开始就有合理初值。最后调整仿真器收敛选项。在SPICE Directive里加.options abstol1e-12 reltol0.003 .options methodgeargear算法比默认的trapezoidal对振荡问题更钝一些通常能帮助收敛。但注意这些都是治标手段根本问题还是电路模型或参数有问题该回头查的还是要查。5.2 输出直流饱和或振荡如果你跑.op发现输出直接是1.8V或0V首先怀疑偏置。把vbias用.step扫一遍看输出有没有穿过电源中点的趋势。如果怎么扫都饱和检查输入共模电压PMOS输入对时把Vicm往0.8V左右调往往能救回来。如果AC仿真相位曲线显示PM勉强为正但瞬态阶跃响应却发散重点检查你的反馈连接极性。最简单的判断把输出端通过大电感接到反相输入端同相端加信号如果电路振荡那可能是开环增益相位在单位增益频率处已经劣化到PM接近0甚至负值了。5.3 相位曲线出现异常的下降或抬升相位曲线在频率很低时出现奇怪波动不用慌这通常是直流反馈大电感和输入大电容引入的极低频率零极点。你只需要关注目标频段也就是从主极点到10倍GBW这个范围内。相位曲线在中高频段出现比一阶系统更陡的下降比如从-90°快速滑向-180°甚至更低说明至少有两个非主极点离GBW不远。对五管OTA来说嫌疑最大的是vtail节点。想验证的话把M1/M2和M5管子的宽度临时调小看相位曲线是不是变平缓。如果变平缓了就说明寄生节点确实在拖后腿。5.4 用.step做参数扫描培养直觉最后分享一个我特别推荐的工作习惯遇到任何指标不达标别一个参数一个参数手动试直接用.step把多个值一次跑完。比如同时扫描输入管宽度W和负载电容CL.step param W10u 20u 30u .step param CL0.5p 1p 2p然后观察整个波形族你能一下看出来哪些参数对增益影响最大、哪些对PM影响最明显。这种一眼看趋势的能力是做模拟电路最值钱的经验积累方式之一。仿真软件最大的价值不是帮你把某个点算准而是让你在几分钟内把一大片设计空间看明白。拿我这版五管OTA来说最终参数就是最开始那组输入PMOS 20µm/0.18µm电流镜NMOS 10µm/0.18µm尾电流源40µm/0.18µm尾电流20µA负载1pF。扫描结果表明当CL从1pF降到0.3pF时PM从65°左右掉到40°不到这个结论直接可以指导后续在系统里给它配多大的输出电容。手算、仿真、调整这个循环走完一遍你的模拟电路直觉会扎实很多。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表