LTspice仿真实战:从基础操作到电源设计高级技巧 📅 发布时间:2026/8/26 1:54:28 👁 浏览次数: LTspice这个软件我是从“懒得用”到“离不开”的。大概六七年前我在一家做电源模块的公司负责硬件开发当时手头的仿真主力还是Cadence PSpice和另一款商业软件每次做反激电源环路补偿、算MOS管开关损耗总感觉要么收敛不了要么仿真速度慢得让人怀疑人生。后来一位老前辈扔过来一句“试试LTspice”这一试就再没换回去。如果你刚开始接触电子仿真或者正想找一个能稳定跑开关电源、模拟信号链电路的免费工具LTspice是目前最值得投入时间的那一个。它免费、轻量、收敛性好而且内置了大量亚德诺半导体ADI及其收购的凌力尔特LTC芯片模型特别适合电源设计、运放电路验证、MOS管损耗分析、浪涌防护仿真这些场景。这篇内容我打算按自己这么多年实际用下来的经验从入门到几个高频踩坑点一次讲透希望能帮你少走点弯路。1. LTspice到底好在哪免费之外的三张底牌1.1 免费之外的三张底牌LTspice在电源工程师圈子里几乎是默认配置但很多新手只知道它免费不知道为什么大家“非它不可”。其实它真正的优势是三张底牌收敛性好、元件库实用、速度和精度平衡。第一张底牌是收敛性。SPICE仿真的底层逻辑是反复求解非线性微分方程组收敛失败是家常便饭。早期我在PSpice里碰到“time step too small”或者“singular matrix”这类报错往往要折腾很久去调整参数而同样的电路拿到LTspice里经常一次就跑通。LTspice在步长控制和阻尼算法上做了很多针对性优化特别是对于含有电感、电容、开关管这类元件的开关电源拓扑它比好多商业工具都皮实。第二张底牌是元件库。LTspice内置了大量ADI和LTC的运放、LDO、开关电源控制芯片、基准源模型这些模型大多不是简单的理想模型而是带真实寄生参数的行为级模型。仿真出来的环路增益、启动波形、效率曲线和实测结果非常接近。ADI官网上还有专门的设计资源和示例电路库你可以直接下载别人搭好的仿真演示文件作为起点这对入门来说是非常友好的学习路径。第三张底牌是速度和精度的平衡。LTspice的求解器在瞬态仿真和波形查看上做了大量优化打开几万行波形的速度依然很快而且波形查看器内置了FFT、光标测量、功率计算、谐波分析这些常用功能不需要把数据导出到别的软件再处理。不过要注意LTspice并不是万能的。数字电路时序仿真、PCB信号完整性、射频微波设计这些场景有更专业的工具。LTspice的主场是模拟电路、电源电路、信号链仿真。如果你做的是开关电源、LDO、电池管理系统、功率变换器、模拟前端那你早晚需要用它。1.2 LTspice和PSpice/Multisim/Simetrix的定位差异很多同学在学校里用的是Multisim或者实验室买了PSpice授权纠结要不要再学一个LTspice。我的建议是LTspice值得学但你要知道它和主流工具之间的定位差异。对比维度LTspicePSpiceMultisim价格免费商业授权价格不低商业授权教学版常见元件库电源芯片和模拟器件丰富ADI/LTC为主通用库完整但厂商模型质量参差不齐教学元件全面深度一般收敛性开关电源和模拟电路表现很好复杂电路常需要手动调参数收敛处理较粗糙仿真速度快波形处理流畅中等中等偏慢擅长场景开关电源、信号链、环路分析通用模拟电路、学术研究教学、入门、课程设计这张表不是我拍脑袋列出来的是我在实际使用中一点一点体会到的。Multisim适合学生时代理解电路原理界面直观、上手快但真正做电源产品开发时你会发现它跑大型瞬态仿真很吃力。PSpice是业内老牌工具模型库庞大学术文档里引用很多但授权费用高而且在不同厂家的模型之间切换时兼容性问题比较头疼。Simetrix在电源仿真领域也有一席之地和SIMetrix/SIMPLIS的组合适合做环路补偿设计但它不是免费软件。LTspice的价值在于它把“免费”和“专业”这两件事同时做到了。对于个人开发者、初创公司工程师、学生来说它是性价比最高的选择。我见过不少资深电源工程师公司明明买了PSpice授权私下做技术验证时还是用LTspice原因无他——顺手且仿真结果够用。2. 第一次跑通运放仿真从放置元件到查看波形的全流程2.1 从零搭建一个同相放大电路很多新手上来就喜欢搞复杂的电路结果一出问题根本没法判断是电路错误还是仿真设置错误。我这边的建议是第一次用LTspice先老老实实搭一个同相放大电路把它完整跑通你就掌握80%的日常操作了。操作流程大概是这样的新建原理图使用快捷键R放置电阻快捷件C放置电容快捷键M放置MOS管放置运放要点击菜单栏的Component图标在搜索框里输入“opamp”或具体型号。我日常用得比较多的是UniversalOpamp2它是理想运放模型适合验证电路原理如果你想仿真真实运放的带宽、压摆率、失调电压等参数就要用元件库里的实际型号比如AD820、LT1001这些。把电阻和运放按同相放大电路的原理图接好。同相放大电路的结构是输入信号从运放的同相输入端进反相输入端-通过一个电阻接地再从输出端通过一个反馈电阻接回反相输入端。增益公式是1 Rf/Rg比如Rf10kRg1k增益就是11倍。给运放接上正负电源。这个步骤看起来傻但真的有很多人会忘。LTspice里的理想运放模型内部也有工作电压要求你必须在电源引脚上接上比如5V和-5V芯片才“活”过来。输入信号源设置为正弦波或脉冲。双击电压源符号在“Advanced”里设置正弦波参数或者直接输入PULSE(0 1 0 10n 10n 5u 10u)这种脉冲形式。为了让AC分析也能用建议在这里同时填上“AC 1”这样后面做扫频时不用重新设置。放置仿真指令。点击菜单栏的Simulate-Edit Simulation Command或者用快捷键S弹窗里选择“Transient”瞬态分析设置停止时间比如1ms。生成一个.tran 0 1m指令文本块把它放在原理图任意空白位置。点击运行按钮LTspice会弹出波形窗口。默认可能没有显示任何节点的波形你需要回到原理图鼠标放到想要观察的节点连线上光标会变成探针形状点击一下就能看到该节点的电压波形。跑通之后你会发现这是一个很单调的过程但整个环节涉及了元件放置、连线、设置源、设置仿真指令、观测波形这些最核心的操作。这些基础动作熟练之后后面再怎么折腾都顺。2.2 运放仿真跑不通时最常犯的三个错误我自己带过好几个新人总结下来运放仿真跑不通90%是下面三个问题。第一个错误是运放没接电源。理想运放模型在LTspice里依然需要供电如果你漏接电源波形输出会是平的或者完全不对而且很难排查。所以搭电路第一步最好先确认电源引脚。第二个错误是信号源没设置“小信号参数”。瞬态仿真里如果你用正弦波源默认频率是1MHz幅度如果设得太大运放直接输出饱和。而且如果你后面想做AC分析但信号源的AC幅度没有填那扫频输出会是0。这里有个小习惯可以养成无论做不做AC分析都给信号源的AC幅度填上1这样想跑频响时随时可以跑。第三个错误是仿真指令放错位置或写错语法。SPICE指令必须作为文本块放置在原理图中可以是任意位置但不能写在元件属性里。常见的语法错误包括写成了“.tran 0 1m 0 1n”但少写了参数或者用了中文标点这些都会导致仿真报错。另外一个非常容易让人困惑的现象是仿真跑完波形窗口一片空白。这不是仿真没跑而是你没有点击原理图上的节点。把鼠标移到你想观察的导线上变成红色探针后再单击波形就出来了。如果你发现某个节点电压完全不变十有八九是这个节点在网络里其实是个孤立点或者只接了高阻输入没有形成信号通路。3. 深挖pulse源ncycles参数应用场景与常见误用3.1 pulse源参数速查与一次完整的脉冲设置LTspice里的脉冲电压源是出现频率最高的信号源之一尤其在开关电源和数字驱动仿真里基本离不开它。它的完整语法是PULSE(Vinitial Von Tdelay Trise Tfall Ton Tperiod Ncycles)这一连串参数看着吓人其实每一个都有明确含义。我画个参数表方便你对照查参数含义示例Vinitial初始电平0Von脉冲电平高电平5Tdelay从0时刻到开始跳变的延迟时间0Trise上升沿时间10nTfall下降沿时间10nTon高电平持续时间5uTperiod脉冲周期10uNcycles脉冲重复次数0或空白表示无限循环空/2/1举个例子如果你想要一个频率100kHz、占空比50%、幅度0到5V的方波信号的Gate驱动波形周期是10微秒高电平时间5微秒就可以写成PULSE(0 5 0 10n 10n 5u 10u)注意LTspice的时间单位后缀m表示毫秒u表示微秒n表示纳秒p表示皮秒。老外写库文件时习惯用u不要误打成毫秒的m这个错误很隐蔽曾经有个同事把5u写成5m仿真出来的频率直接差三个数量级查了半天才找到原因。3.2 ncycles的实际用途burst模式与单次浪涌仿真Ncycles这个参数很多人买了软件几年都没用过因为平时做连续开关仿真时Tperiod就足够了Ncycles默认0或空白表示无限循环工作状态完全正常。但一旦你用到突发模式、间歇工作、浪涌仿真、上电时序模拟Ncycles就非常关键了。Ncycles的含义是脉冲串一共循环多少次。如果设为2那这个pulse源只输出两个完整周期然后跳回初始电平并一直保持。如果设为1就只输出一个脉冲相当于单次触发。最典型的使用场景是开关电源的burst模式仿真。现在的电源控制芯片在轻载时经常进入跳周期或burst模式表现为开关管不是持续工作而是每隔一段时间打一串脉冲就歇一阵。用pulse源产生这种驱动时你就可以把Tperiod设成脉冲串内部的开关周期Ncycles设成这一批的脉冲数然后再用第二个pulse源做周期性使能叠加起来得到间歇工作波形。另一个场景就是浪涌防护仿真尤其是做电源端口或信号端口的浪涌抗扰测试时需要注入一个单次浪涌脉冲。这时候把Ncycles设为1就能得到一个“打一次就不再打”的浪涌源。比如模拟一个8/20us的电流浪涌可以用类似这样的脉冲参数PULSE(0 1000 0 8u 20u 20u 1m 1)第一个时间常数控制上升沿第二个和第三个联合控制从峰值衰减到接近0的过程。虽然这种简单脉冲和真实的IEC浪涌双指数波形有差异但工程上作为初筛已经足够。如果需要更精确的波形可以改用EXP指数源来拟合双指数曲线。这里有个很常见的坑设置了Ncycles但波形看起来还是没有停止还在无限循环。原因通常有两个。第一仿真停止时间Tstop太短还没跑完预定的循环次数就停止了你自然看不到停止效果。第二你设置的Ncycles是一个小数比如2.5LTspice对这种非整数循环的处理容易让人困惑。实际用下来Ncycles填入正整数最稳妥。如果你想从某个时刻开始让脉冲停止更可靠的办法是Tstop刚好覆盖到那个时刻或者把Ncycles设置为你需要循环的完整整数。还有一个容易误用的行为Ncycles1时很多人以为会输出一个从0跳到高电平再跳回0的脉冲但如果你把Tdelay设成了非零值那么从0到Tdelay之间一直是初始电平从Tdelay开始才完成一次完整脉冲。如果Tstop设在Tdelay之前你会看到一个恒定的初始电平误以为pulse源没起作用这时候看一下Tstop设置就能明白原因。4. 导入外部SPICE模型下载、封装到报错排查的完整链路4.1 标准导入流程.subckt文件与.include指令LTspice内置库再丰富也总有覆盖不到的时候。很多厂商的MOS管、二极管、IGBT、变压器模型需要你从官网下载后手动导入。这个过程新手觉得麻烦其实只要理清套路十分钟就能搞定。标准流程分四步第一步从芯片厂商官网下载SPICE模型文件。常见的后缀有.lib、.mod、.sub、.cir这些都是纯文本文件用记事本就能打开。打开后你会看到类似“.subckt XX”开头的段落这就是子电路模型。看子电路的引脚定义是关键比如对于MOS管通常第一行会写“.subckt IRFP460 1 2 3”或者“.model IRFP460 NMOS...”你要弄清楚引脚顺序对应的功能。第二步把模型文件放到一个固定位置。有人习惯直接丢进LTspice安装目录下的lib\sub文件夹这样写.include语句时可以只写文件名。如果你不想污染官方库文件夹也可以建一个自己的model目录以后要引用时写绝对路径或相对路径都行。我更推荐后者方便管理。第三步在原理图里引用这个文件。方法是在原理图上放置一个SPICE指令文本块格式是.include path/to/yourmodel.lib如果文件在LTspice库目录里可以直接写文件名.include yourmodel.lib。还有一种快捷方式把模型文件里的内容用鼠标直接拖拽到LTspice原理图窗口里LTspice会自动生成一个名叫“SpiceModel”的文本块这一步等效于.include而且不用关心路径问题因为这个模型已经被“内嵌”到当前原理图了。第四步把符号和模型对应起来。这一步是很多人卡住的地方。如果模型文件是标准的.subcktLTspice里有个自动生成符号的功能右键点击原理图中的元件选择“Create Symbol”或“AutoGenerate Symbol”工具会读取子电路的引脚定义并自动生成一个方框符号。你在原理图上放置这个符号后需要把符号的引脚和子电路的引脚顺序对应上。如果顺序不对最常见的结果就是仿真能跑但输出波形完全不对或者直接报错“Too few nodes”。4.2 给第三方模型做一个像样的symbol自动生成符号虽然快但生成的符号往往引脚排布很随意电路图看上去乱糟糟的。更专业的做法是自己做一个symbol。我的习惯是先找一个LTspice内置库中引脚数量差不多的元件符号把它复制一份然后改引脚名和引脚顺序。比如要给一个三引脚MOS管做symbol可以直接在LTspice安装目录的lib\sym\NPN.asy等文件里找一个三脚器件的符号复制出来用文本编辑器打开修改里面的引脚标签和位置。这里有个关键细节symbol里的每个引脚都有一个Netlist Order属性这个顺序必须和.subckt定义的引脚顺序完全一致。比如你的.subckt模型定义是“.subckt IRFP460 D G S”那么symbol里漏极引脚的Netlist Order就是1栅极是2源极是3。如果顺序错了仿真器会把子电路的引脚接错位结果自然不对。修改完之后把.asy文件放到自己的符号目录或者直接放到LTspice的lib\sym目录下重启LTspice就能在Component对话框里看到这个新元件。这样以后每次放置它都像用内置元件一样方便。4.3 模型导入时报错的排查步骤导入外部模型最怕的就是报错我把常见的几个报错原因和排查思路列出来你对照着查基本三分钟能定位Unknown subcircuit called in仿真器告诉你“不知道你调用了哪个子电路”。这通常意味着.include没有找到文件或者文件名写错或者模型内部还有嵌套的.include引用了其他文件没被包含进来。排查方法打开模型文件看看第一行.subckt后面写的名字是否和你原理图中SPICE模型元件指定的值一致。Too few nodes / Missing node引脚数量不对。多半是symbol的引脚顺序和.subckt定义不一致或者symbol引脚个数比.subckt少。先确认两者引脚数一致再逐一核对Netlist Order。Value cannot be resolved模型参数解析失败。检查模型文件是否有语法错误比如缺少收尾的.ends或者某一行参数用了不支持的表达方式。用文本编辑器打开模型文件检查特殊字符和换行符有没有问题。Singular matrix雅可比矩阵奇异说明电路连接有问题或者模型自身定义不完整。可以先试试不加这个新模型跑一个简单电路确认模型本身没问题然后再把模型放进你的实际电路里检查是否有引脚悬空或短接。还有一个特别容易被忽略的坑模型文件同时包含多个.subckt其中一个又引用了另一个但如果两个文件在同一个.lib里而你的.include只写了外层文件名通常没问题如果模型文件内部用了.include去引用另一个文件路径写的是相对路径而你的LTspice工程文件在别的目录就会找不到。这种情况最省事的解决办法是把所有模型内容合并到一个文件里然后整体拖进原理图。5. MOS管损耗计算和米勒平台观测仿真结果异常时的排查思路5.1 损耗计算的两条路线瞬时功率波形与.meas语句MOS管损耗计算是电源工程师的高频需求。损耗主要分三块导通损耗、开关损耗、驱动损耗其中前两块在LTspice里都能比较直观地量化。最快速的方法是在瞬态仿真完成后按住Alt键鼠标左键点击原理图中的MOS管符号LTspice就会在波形窗口显示这个器件的瞬时功率波形。对于MOS管来说这个瞬时功率基本就是VDS乘以漏极电流ID的实时乘积。看着这个波形你能直观地观察到开关瞬间的功率尖峰有多大、导通期间的平顶功耗有多高。但问题来了只看波形你很难直接得出“一个开关周期平均损耗是多少毫瓦”。要拿到这个数值需要借助.meas语句。比如你想统计1毫秒内MOS管M1的平均功耗可以在原理图里放一个SPICE指令.meas TRAN avg_loss AVG V(vd,vs)*Id(M1) FROM0 TO1m这里面V(vd,vs)表示漏极和源极之间的电压差Id(M1)表示M1的漏极电流。不同版本的LTspice对MOS管电流的写法略有不同有的老版本可能只认Ix(M1:D)如果你使用这个语法报错可以换成Ix(M1:D)再试一次。跑完仿真后点击菜单View-SPICE Error Log在log窗口里就能看到“avg_lossxxx”这样的计算结果。另一种做法是计算能量损耗用积分.meas TRAN loss_energy INTEG V(vd,vs)*Id(M1) FROM0 TO1m得到焦耳数后除以时间窗口长度就是平均功率。这个办法在计算开关损耗时特别好用因为你可以把积分窗口只设在开关动作的那几十纳秒内排除掉其他时间段的贡献。5.2 为什么你的损耗仿真结果总是0这是很多人在论坛上问过的问题明明电路在跑VDS和ID波形都有变化但损耗计算出来是0或者小到离谱。我总结了一下原因基本出在下面几个方向。第一种情况是电路压根没开关。你看VGS节点波形如果栅极电压一直为0或一直为高MOS管根本没在开和关之间切换那它的损耗当然只有导通损耗或截止损耗算出来很小很正常。这种情况常见于驱动电阻没接好、脉冲源参数设置错误、或者栅极信号被短路到地。第二种情况是时间窗口没对准。你的.meas语句FROM和TO只覆盖了某个时间段而这个时间段里MOS管没有发生开关动作。比如你想算开关损耗结果窗口正好落在两次开关之间算出来的平均值几乎为0。解决办法是先观察VGS波形找到每个开关周期的起点和终点再设置对应的量化窗口。第三种情况是使用了理想开关模型。LTspice元器件库里有SW理想开关也有带寄生参数的真实MOS管模型。如果你用理想开关做仿真开关时间是无穷小没有Cgd、Cgs这些寄生电容那开关损耗天然就是0。仿真“太理想”导致损耗丢失这在概念验证阶段可以接受但做热设计时一定要换成真实的产品模型。第四种情况是模型本身不含开关损耗机制。即使你用了真实的MOS管型号如果你的模型是从某些简化库里来的它的内部可能不包含完整的电容和体二极管参数开关瞬态过程表现不完整开关损耗也会被低估。这时候建议去厂家官网下载最新的SPICE模型不要贪图方便用内置替代型号。遇到损耗仿真结果不对我的排查顺序是先看VGS和VDS波形是否正常翻转再看瞬时功率波形有没有出现尖峰最后才检查.meas的语法和窗口。千万别一上来就怀疑.meas写错了。5.3 米勒平台的观测方法与影响因素米勒平台是MOS管开关过程中一个很经典的物理现象。简单说在开通过程中栅极电压VGS上升到阈值后不会立刻冲到驱动电压而是会在一段区域内基本保持不变这期间VDS快速下降栅极驱动电流几乎全部用来给米勒电容Cgd充电/放电。这个VGS基本不变的区域就是米勒平台。在LTspice里观察米勒平台需要注意三点。第一需要真实的MOS管模型。LTspice里的理想开关没有Cgd不可能出现米勒平台。你必须使用有完整寄生参数的MOS管模型最好是厂家提供的实际型号。第二需要合适的栅极驱动电阻。米勒平台的宽度和可见度跟栅极电阻密切相关。栅极电阻越大平台越明显平台持续时间越长如果栅极电阻只有0.1欧平台可能窄到在波形上几乎看不出来。所以我习惯在栅极驱动源和栅极之间串联一个10欧到几十欧的电阻再配合带内阻的脉冲源来模拟真实驱动。第三需要合适的时间轴刻度。米勒平台通常在几十纳秒到几百纳秒之间如果你的仿真步长太大或者波形显示的横轴时间范围太宽平台会被“淹没”在整条上升曲线里。放大横轴到开关瞬态的几十纳秒到几百纳秒范围才能清楚地看到平台。观察波形时你会在VGS的上升沿看到这样一段电压从阈值附近开始爬升爬到某个电平之后突然变平缓维持一小段时间后再继续爬升到驱动电压。这个“平缓段”就是米勒平台。平台对应的时间点正好也是VDS快速下降的区间。VDS和ID的交叠时间越短开关损耗越小而交叠时间基本就是米勒平台附近的事情。所以读取平台宽度直接关系到你估算开关损耗的准确性。用LTspice的波形测量功能可以在平台上打两个光标点测出平台起始时间和结束时间这个时间差就是米勒平台持续时间。换用不同值的栅极电阻你会观察到平台宽度随电阻增大而增宽这就是为什么驱动电路设计时栅极电阻的选择要在开关速度和EMI之间做权衡。5.4 感性负载关断尖峰与浪涌防护仿真MOS管驱动电感、继电器线圈、电机绕组这类感性负载是很多电路里的常见场景也是浪涌防护仿真的起点。因为电感电流不能突变当MOS管关断时电感要继续维持电流方向不变如果没有续流通路它会强行给MOS管漏极电压充电产生一个可能远超电源电压的尖峰。在LTspice里搭这个场景很简单电源VBAT、电感L、MOS管M1、栅极驱动源负载电流从VBAT通过L流到M1的漏极。仿真后看漏极节点电压波形在关断时刻你会看到一个很高的电压尖峰有时候能冲到电源电压的好几倍。这个尖峰如果超过MOS管耐压管子就会损坏。实际整改手段通常是加续流二极管或TVS钳位。在电感两端并联一个反向二极管阴极接电源正极方向关断时电感电流通过二极管续流尖峰被限制在二极管压降左右。在LTspice里加上这个二极管再跑一次你会看到漏极电压尖峰明显变矮。如果用的是TVS管波形会呈现一个平台式的钳位效果。浪涌防护仿真的另一个方向是直接注入浪涌源。把前面的开关部分去掉用一个脉冲源作为干扰源注入到电路的输入端然后观察保护器件上的电压和电流波形。比如用一个PULSE(0 2000 0 1.2u 50u 50u 1m 1)的电压源来近似1.2/50us浪涌波形加在TVS管之前看TVS能不能把电压钳位在安全范围。这种仿真在电源口、通信口的雷击浪涌设计阶段非常实用能提前发现保护电路的设计漏洞而不是等打样出来再到实验室用浪涌发生器去轰。6. AC分析设置和仿真变慢提速两个高频问题一次理清6.1 AC分析的正确打开方式AC分析是做环路补偿、滤波器设计、信号链频响分析的必备功能但很多人第一接触时会觉得莫名其妙为什么我明明加了正弦波信号源AC扫描出来的曲线却是一条平线根本原因是你没有给信号源设置AC幅度。AC分析的本质是小信号线性化扫频。它的原理是先在静态工作点附近把电路线性化然后对输入施加一个幅度为1的微小正弦信号依次扫描不同频率测量电路的频响。所以你必须在输入信号源的属性里设置AC Amplitude为1比如在“AC Amplitude”一栏填1否则仿真器认为输入信号幅度为0输出自然为0。设置好信号源后点击Simulate-Edit Simulation Command选择“AC Analysis”然后设置扫描类型和参数。我常用的配置是Type of sweep选Decade十倍频程Number of points填10Start frequency填10Stop frequency填1Meg或者根据电路需求填写。注意这个“10”代表每十倍频程扫描几个点点数越多曲线越平滑但仿真时间也越长。仿真完成后波形窗口默认显示的是电压幅度单位可能是V或dBV取决于你如何设置。如果我要看幅频和相频我通常会在波形窗口输入公式dB(V(out))这样可以以分贝为单位显示幅度。同样可以输入phase(V(out))来查看相位曲线。如果你做的是电源环路分析可以把电压探针放在电源反馈节点上用这两个函数叠加出伯德图再判断相位裕度。还有一个容易踩的点AC分析结果是“小信号”的所以它不关心信号源的幅度是10V还是100V只关心AC幅度是否设为1。如果你把AC幅度设成100所有输出曲线都会抬高40dB导致误读增益。建议养成习惯AC幅度统一填1。6.2 LTspice仿真速度变慢的常见原因和提速思路“仿真速度突然变慢了”这个现象几乎每个LTspice用户都遇到过。有时候一个电路明明昨天跑得飞快今天多改一个参数就慢得像蜗牛。原因大多不是LTspice本身抽风而是仿真过程中时间步长被某种因素极限压缩了。第一个常见原因是瞬态振荡。当电路中出现高频谐振或寄生振荡仿真器为了保证收敛不得不把时间步长压缩到极小的量级比如皮秒级别仿真自然慢得离谱。这种振荡在波形上表现为高频毛刺或密集锯齿。解决办法是找到振荡源比如寄生电感电容形成谐振回路尝试在关键节点加一个小的RC吸收或串联一个小电阻来阻尼振荡。如果振荡不影响你关心的结果也可以调大最大步长限制来跳过。第二个原因是最大步长设置过小。仿真指令里可以这样写.tran 0 10m 0 1u最后的1u代表最大时间步长意思是仿真器不能跳过超过1微秒的时间步进。如果你为了看细节把它设成1n那仿真速度会急剧下降。我自己的经验是除非你非要看清纳秒级波形否则最大步长设为开关周期的百分之一到千分之一就足够了。第三个原因是电路时间常数太大需要仿真很长时间才能看到完整过程。比如一个大电感和一个大电容组合时间常数到了毫秒级别你又要观察100个周期仿真总时长自然就长了。这种时候要么降低输入频率要么缩小仿真时长只观察你有兴趣的窗口。第四个原因是波形数据存储太多。LTspice默认会保存所有节点的波形数据电路节点越多数据量越大波形窗口操作越卡。如果你只关心某几个关键节点可以在原理图放置一个.save指令.save V(sw) I(L1) I(M1)这样仿真器只保存指定节点的数据。注意这不影响仿真计算只是减少保存的数据量。第五个原因是模型本身太复杂。某些厂家的IGBT或MOS管模型为了精确建模内部可能包含几十个元件和非线性源每一秒钟仿真需要大量计算。如果你只是做系统级验证可以考虑用简化等效模型替代精确模型把仿真重点放在外部电路行为上等需要精确计算损耗时再做一次单独验证。还有一个容易被忽略的小技巧LTspice的波形窗口默认会把波形数据压缩存储你可以通过.option plotwinsize0关闭压缩但这样会占用更多内存。如果不做FFT之类的操作建议保持默认设置。如果你发现仿真结果有不自然的台阶或失真再考虑关闭压缩。在实际项目里我通常先跑一个短时间的瞬态看看电路行为是否合理确认没有振荡、没有接线错误之后再加大仿真时长。这样做的好处是能快速定位问题避免在错误电路上浪费大量仿真时间。最后再分享一个小习惯如果你发现自己经常在同样的电路结构上反复调参数、跑仿真不如把常用的仿真指令、测量语句存成模板文件。我电脑里有一个自己攒下的“仿真脚本库”里面放着各种常用的.meas语句、AC扫描设置、浪涌源格式需要时直接复制改参数就行既保证语法正确又省了每次手写的时间。LTspice就是这样刚接触时觉得和普通仿真器没什么两样用久了你会慢慢发现它真正舒服的地方在于——你花在“和软件较劲”上的时间越来越少花在电路本身上的时间越来越多。