ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

LTSpice AC扫描实战:差模共模激励设置与共模电感阻抗测量

LTSpice AC扫描实战:差模共模激励设置与共模电感阻抗测量 1. 差模和共模到底在测什么为什么LTSpice的AC扫描是首选工具做电源、做接口、做模拟前端的人早晚都会撞上这两个词差模和共模。搞不清它们滤波电感选型会翻车运放电路稳定性分析会拿不到正确结果甚至连CAN总线收发器的共模输入范围这种基础参数都可能踩雷。我先用最直白的话把这两个概念捋一遍再说为什么在LTSpice里用AC扫描指令来分析它们是最顺手的方式。差模信号本质上是两根线之间“有用”的信号。比如差分线上的数据、扬声器两端的音频、桥式传感器的输出都是一根线相对于另一根线的电压差。它关心的是“两条线之间的电压”目标是尽量完整地传输、放大和处理。共模信号则是两根线相对于共同参考点通常是地的电压它的特点是两根线上同时出现、大小和方向完全一致。共模分量一般不是我们想传递的信息更多是外界干扰、地电位漂移或者驱动电路自身缺陷带来的“寄生血压”需要用电路结构去抑制它。在工程上有一个极其常见的误区很多人以为只要测一条线的频谱就能知道整个链路的抗干扰能力。实际上差模和共模在电路里走的路径完全不同器件对它们的响应也截然不同。最典型的就是共模电感两个绕组绕在同一个磁芯上差模电流在两半磁芯中产生的磁通方向相反、互相抵消所以差模阻抗很低而共模电流产生的磁通方向相同、相互叠加电感量对共模呈现得很大。不分别测算这两条路径你根本没法判断这个电感在你的电源入口到底有没有用。LTSpice里的AC扫描.ac指令属于小信号频域分析。它把电路在某个直流工作点上做线性化然后以正弦小信号扫过一段频率范围输出各节点的幅频/相频响应。这正是测差模和共模的绝配场景因为差模和共模本质上就是不同激励方式下的频域传输特性而AC分析天然就在频域里工作。你不需要造一个很复杂的时域干扰源不需要等瞬态收敛只要把激励源的AC属性设对就能一次性看到从10Hz到100MHz甚至更高的响应曲线。提示LTSpice的AC扫描是基于线性化模型的它不能处理大幅度信号下的非线性失真它告诉你的是“在这个工作点附近微小扰动怎么传输”。用来测阻抗、增益、滤波特性、CMRR这类参数结果非常可靠但不要指望它模拟压摆率限制或谐波失真。2. 在LTSpice里搭出差模和共模的“测试环境”2.1 核心是信号源的两个隐藏字段AC Amplitude和AC Phase很多LTSpice入门用户最先接触的是瞬态分析.tran那时候电压源里填的直流电压和SINE参数都很好理解。切到AC分析很多人一头雾水明明设置了正弦电压为什么AC扫描结果是一条平线答案很简单——AC分析看的不是你填的那个SINE信号而是电压源属性里专门的AC Amplitude和AC Phase两个字段。什么叫做AC Amplitude它的含义是“在这个交流小信号分析中该源注入的复数相量幅度”。AC Phase则是该相量的初始相位。时域波形部分对AC分析没有任何影响甚至你可以在时域部分留空只要AC字段填了值.ac指令就能正常工作。这是新手最容易卡住的一关我在这里多强调一遍AC扫描只认AC字段不认SINE字段。具体的操作路径是这样放置一个voltage源右键单击它在“Advanced”选项卡里能看到AC Amplitude和AC Phase两个输入框。默认情况下AC Amplitude是空的必须手动填入数值否则相当于这个源在AC分析里不存在。仿真跑完没曲线八成就是漏了这一步。2.2 差模激励两个源相位相反幅度各半要做一个纯差模测试原则是在两根信号线之间建立电压差并且让它们对地的共模分量为零。LTSpice里最常用的做法是用两个电压源源V1正端接信号线A负端接地。AC Amplitude设为0.5AC Phase设为0。源V2正端接信号线B负端接地。AC Amplitude设为0.5AC Phase设为180。这样对A线来说对地信号是0.5∠0°对B线来说对地信号是0.5∠180°。两条线之间的差模电压V(A)-V(B)就是0.5 - (-0.5) 1∠0°是一个完整的单位差模激励。而两线对地的共模分量(0.5 (-0.5)) / 2 0非常干净。用相位180°而不是直接把AC Amplitude填成负数是为了让原理图上的属性更直观可读也方便后续检查。当然你把AC Amplitude填成0.5和-0.5也能达到一样的效果LTSpice会自动把负幅度理解为180°相移。2.3 共模激励两个源完全同相共模测试就要反过来让两个信号线对地呈现完全一样的电压。做法是源V1接信号线AAC Amplitude为1AC Phase为0。源V2接信号线BAC Amplitude也是1AC Phase也是0。这时V(A)和V(B)都是1∠0°两线之间的差模电压为0而线对地的共模电压就是1。如果你要算电路的共模增益直接把输出节点电压V(out)除以V(in)也就是1就行数学上特别省事。值得多说一句如果你是用在真实电路板上测试给共模注入信号通常是通过一个隔离变压器或者直接用电容耦合到线束上但是在LTSpice里做仿真直接让两个源同相就是最标准的共模激励模型。别嫌它“太理想”AC仿真本来就该从最理想的激励开始先验证理论再考虑寄生参数。2.4 差模/共模激励方式速查表测试目标V1设置线A对地V2设置线B对地电路产生的差模分量电路产生的共模分量纯差模激励AC0.5, Phase0AC0.5, Phase1801∠0°0纯共模激励AC1, Phase0AC1, Phase001∠0°两线同时激励AC1, Phase0AC0.5, Phase90幅度和相位的叠加不为零第三行用于做混合模式分析比如测一个差分滤波器对非平衡干扰的响应。多数时候你用前两行就够了。3. 实操案例一用AC扫描测共模电感的差模阻抗和共模阻抗3.1 为什么阻抗曲线能反映共模电感的真实性能共模电感在电源输入端、CAN总线、RS-485等场景里几乎无处不在。它有两个绕组本质上是一个双绕组变压器结构。理想情况下差模电流产生的磁通在磁芯里抵消所以差模阻抗基本来自于绕组电阻和漏感共模电流产生的磁通则叠加表现为一个很大的电感量对共模干扰形成高阻抗。但是理想归理想实际器件有漏感、分布电容、磁芯损耗阻抗-频率曲线会呈现一个先升后降的形状低频段电感感抗主导阻抗随频率上升到了某个频率分布电容和感抗发生并联谐振阻抗达到峰值再往上容性占主导阻抗开始下降。如果只用直流电阻或者某个单点频率的电感量来衡量共模电感很容易被参数表骗过去。利用LTSpice的AC扫描把被测电感放到一个简单的两端口网络里注入单位交流激励直接测量阻抗随频率变化的曲线。这个方法不需要仪器不需要搭实际测试治具原理上和网络分析仪测阻抗的思路是一模一样的。3.2 直接建模两个耦合电感搭出共模电感在LTSpice里共模电感可以用两个电感配合K耦合系数来建模。先放置两个电感L1和L2设置电感量例如都是1mH。然后用K语句把它们耦合起来在原理图上放置一个“SPICE Directive”文本写上K1 L1 L2 1这表示L1和L2的耦合系数为1理想全耦合。如果要模拟真实器件漏感把K1改成0.98甚至0.95。绕组的直流电阻可以通过电感的Rser属性设置一般设置为几十毫欧到几百毫欧这样低频段曲线更真实。放置元件的时候L1接在输入端口两条线的一侧L2接在输出端口的对应位置两个绕组的同名端要标清楚共模电感的两个绕组的同名端通常在磁芯绕制时处于对角位置但在仿真里只需要保证K耦合的方向关系正确同名端用一个点标记即可。3.3 分别搭两套测试电路测差模阻抗时把信号源V1接在L1的输入端和地之间V2接在L2输入端和地之间按上面说的差模激励方式设置V1是AC 0.5∠0°V2是AC 0.5∠180°。测量电流时用一个0V电压源作为电流探针串联在输入端或者直接测量信号源流出的电流。如果不想用两个源还有一个更简便的方法把两个输入端短接输出端也短接然后把一个交流电流源接到输入和输出之间。不过这种方法会改变电路拓扑和真实差模测试有一定差异我更推荐双源法因为它和实际测试条件一致。测共模阻抗时把V1和V2都设为AC 1∠0°同样接入两条输入线。这样两条线上的信号完全同相等效于对地注入共模信号。测出的输入阻抗就是共模阻抗。3.4 测量阻抗的两种读数方法方法一直接测量I(V1)。在AC仿真结束后添加一个表达式V(in)/I(V1)就能画出输入阻抗模值曲线。这里的V(in)是输入端节点电压I(V1)是注入源V1的支路电流。因为差模激励是两源各贡献一半所以总阻抗要乘以2共模激励两源并联阻抗读数是单源阻抗的一半。这个换算关系很多人会忘记实际计算时要留意。方法二用一个1A交流电流源作为激励直接读节点电压。把V1改成电流源AC Amplitude设为1那么节点电压在数值上就等于该点的阻抗模值。这个方法后续处理非常简单适合批量仿真对比不同参数。仿真指令在原理图里放置一个文本指令.ac oct 100 10 100Meg意思是每十倍频程取100个点从10Hz扫到100MHz。为什么用oct而不是dec在宽频带扫描时oct的点在低频段更密画阻抗曲线更平滑特别适合看谐振峰。端点频率可以根据实际关心的范围调整测电源EMI滤波器关注150kHz到30MHz测CAN总线关注100kHz到10MHz就够。3.5 读曲线时要注意的几个关键点低频段共模阻抗应该是一条斜率为20dB/十倍频程的直线这说明是纯电感特性阻抗等于2πfL。用这个区间的曲线反推电感量随便取一个频率点读阻抗模值代入L |Z| / (2πf)算出来和设定值一致就是对的。中高频段注意看有没有谐振峰。峰值频率对应电感的自谐振频率SRF超过这个频率之后共模电感就是个电容滤波能力急转直下。如果你的系统噪声正好在这个频段光换更大电感没用得换SRF更高的型号。差模阻抗通常很小可能只有几欧到几十欧姆。它的形状会显示出漏感特性和绕组的电阻特性。如果差模阻抗在高频也一路升高说明漏感偏大这在某些需要同时兼顾差模滤波的场景反而是好事但对磁芯饱和可能不利。4. 实操案例二用AC扫描测量运算放大器的CMRR4.1 运放共模抑制比的概念再校准运放的关键指标之一就是CMRR共模抑制比定义为差模增益与共模增益之比通常用dB表示。理想运放对共模信号完全无动于衷但实际情况是输入级失配、尾电流源有限阻抗都会让共模信号漏到输出端。CMRR越高说明运放对共模干扰的免疫力越强。LTSpice的AC扫描是测CMRR最直接的仿真方法。原理上就是把同一个交流激励分别以差模和共模方式加在运放输入端测输出响应然后两者做比值。4.2 差模增益的测试接法搭一个最基本的同相放大电路运放正输入端接信号源负输入端通过电阻分压网络从输出取反馈。设置信号源为AC 1相位0运行AC仿真得到输出V(out)的幅频曲线。这个曲线除以输入幅度1就是闭环差模增益。注意增益单位。在LTSpice波形窗口里右键Y轴把纵轴单位改成dB可以直接读V(out)以dB为单位的增益。比如10倍增益就是20dB。4.3 共模增益的测试接法把两个输入端短接在一起然后接同一个信号源。信号源AC Amplitude设为1相位0。反馈网络保持不变。从输出读V(out)的dB值这个值就是共模增益。因为输入共模激励为1所以输出数值就是增益本身。理想情况下这个值应该趋近于负无穷大但真实模型和实际运放会给出一个有限值。LTSpice自带的运放宏模型如果只包含理想行为可能测出来CMRR高得离谱这是模型精度问题不是仿真出错。如果你用的是厂商提供的精确宏模型结果就更有参考价值。4.4 一键得到CMRR曲线在仿真结束后不需要开两个单独的仿真。你可以在同一个原理图上做两次AC扫描也可以用一副图里添加两个不同的测量表达式。更高效的做法是把差模测试电路和共模测试电路放在同一个原理图的不同位置分别设置两组输入源然后跑一次AC仿真。在波形窗口里添加表达式V(out_diff) / V(out_cm)再把它转换成dB就能直接看到CMRR随频率变化的曲线。如果在同一张图里做两个输出节点要起不同的网络标号例如out_diff和out_cm避免短路。当然你也会遇到一个问题差模增益和共模增益的测试电路反馈方式不同输出节点不能直接短接所以必须分成两个独立子电路。用LTSpice的“once”符号或者用独立的电源和地就行不影响同一次AC扫描。注意CMRR对频率是敏感的。直流或低频时CMRR很高高频时因为输入电容不对称、PCB寄生效应CMRR会明显下降。所以测CMRR曲线时高频段的滚降是正常现象。如果你的仿真结果CMRR从某个频率开始以20dB/十倍频程的斜率下降说明模型里考虑了输入失配电容效应这反而是更接近真实的情况。5. 新手最容易翻车的地方AC仿真常见问题排查实录5.1 波形窗口里什么都没有或者是一条平坦直线90%的情况是信号源的AC字段没填。记住.ac指令只会处理AC Amplitude和AC Phase。如果你在电压源里只设置了SINE参数没填AC Amplitude那这个电源在AC分析里就是个理想电压源内部短路输出永远为零。解决办法右键电源进入高级选项卡给AC Amplitude填一个非零值。如果你要分析的是滤波器或网络建议填充1这样输出节点电压直接等于增益或传输函数后续处理最简单。5.2 差模测试时两个源相位设置反了导致共模被当成差模如果你把两个源都设置成了0相位跑出来的是共模响应不是差模响应。这听起来很简单但在复杂的原理图里特别是在两个源离得很远、接线很长的情况下很容易弄混。建议给测差模的两个源在网络标签上做标记比如IN_P和IN_N从一开始就区分极性。还有一个隐藏很深的问题相位设置成180和设置成两个不同节点但相对参考地的幅值相反在结果上等价但在某些电路里因为直流工作点不同会带来细微差异。差模分析时最好两个源都设相同直流偏置避免改变静态工作点。5.3 阻抗曲线高频出现诡异谐振如果共模电感测出来的阻抗曲线在某个频率有一个非常尖锐的尖峰而且这个尖峰在厂家数据手册里根本不存在大概率是仿真模型里没有加分布电容导致理想电感的SRF跑到极高频去了。真实电感绕线之间、绕组与磁芯之间存在分布电容所以在LTSpice里建模时建议在电感两端并联一个电容典型值几pF到几十pF具体取决于绕线结构。同样如果谐振峰特别高、Q值接近无穷可以在电感模型里串联一个电阻Rser来模拟磁芯损耗和铜损。这样曲线会更接近真实元件的测试结果。5.4 AC扫描结果和瞬态仿真对不上AC扫描是线性化小信号分析它不能反映大信号下的压摆率限制、饱和削波、非线性失真。如果你在瞬态仿真里加了一个5V的大信号方波看到输出波形有明显失真而AC扫描看不出任何问题这不是仿真软件坏了而是两种分析方法本身适用条件不同。要理解这一点可以类比成去医院做体检AC扫描是空腹抽血查各项指标反映的是系统在这个状态下的基础健康情况瞬态仿真是跑了个800米看的是极限负荷下的表现。两个都不能互相替代。5.5 扫描频段太宽低频段点数太多导致仿真慢如果你设.ac oct 1000 0.001 10GLTSpice会按每十倍频程1000个点的方式扫描总数可能上百万个点仿真耗时会非常夸张。多数情况下只需要看几个十倍频程的频率范围用100点/十倍频程就足够光滑了。先粗扫例如50点/十倍频程确认曲线形状再针对谐振峰附近细分这样效率最高。另外如果你只关心特定频段的阻抗比如电源EMI滤波器的150kHz到30MHz就把扫描范围就设成这个区间不必每次都从1mHz开始。5.6 测量电流时忘记串0V电压源读取流过某个元件的电流可以直接用I(R1)这类表达式但这要求元件本身有明确的电流方向。对于电压源来说I(V1)可以测但正负方向容易搞混。更稳妥的做法是在被测支路串一个0V电压源命名为VPROBE然后用I(VPROBE)来读电流。这个技巧在测阻抗、测环路增益时都可以用是LTSpice老用户默认的标准操作。6. 一些补充心得把AC扫描用好等于多了一台虚拟网络分析仪我个人在实际操作中越来越觉得LTSpice的AC分析不只是拿来交作业或者“验证一下理论”的工具。它其实是一台功能非常完整的虚拟网络分析仪只是界面朴素了点很多潜力没有被挖掘出来。比如做开关电源设计的时候测一下输入端的差模/共模阻抗曲线就能预估辐射和传导干扰的趋势测输出滤波器在不同共模激励下的响应就能判断它对地回流噪声的抑制能力在CAN总线收发器前端搭一个共模电感模型扫一下共模抑制曲线就能快速筛选扼流圈的参数。这些场景全部建立在同一套方法论上搭电路、设激励、跑AC扫描、读曲线。再多说一个更具扩展性的用法很多人只在LTSpice里看增益曲线其实AC扫描也可以在“Probe”窗口里对表达式做数学运算。你可以轻松地画V(out)/V(in)的幅值曲线也可以画相位、群延迟、实部虚部。测环路增益时在断开点加一个AC扰动源用V(a)/V(b)就能读出开环增益和相位裕度。这些操作本质上和你测差模/共模是同一个思路只是换了节点和表达式。如果你希望更贴近实际测试还可以在原理图里加入真实器件的寄生参数模型例如电容的ESR、电感的DCR和分布电容、PCB走线电感。LTSpice的元件属性面板里都支持这些参数不需要额外搭复杂的子电路。给元件上多加一个Rser、Cpar往往比换一个更高阶的宏模型带来的精度提升更明显。最后再分享一个小技巧AC扫描结果如果想导出可以右键波形窗口选择File - Export data as text把曲线数据存成文本文件。配合Python的matplotlib或者Excel可以做更细致的后处理和报告绘图。仿真与数据处理分离能让你的分析报告专业不少。差模和共模的分析是模拟电路里绕不开的基本功但基本功未必等于简单。真正理解激励差异、读懂阻抗曲线、会排查仿真陷阱你手里的LTSpice就不再是一个画原理图的玩具而是一个真正能帮你做工程决策的工具。多搭几个电路试几次比看一百篇教程都管用。
返回列表