原创 LTspice:生成 SMPS 之博德图的基本步骤

2014-6-22 22:23 4303 17 17 分类: EDA/ IP/ 设计与制造

如何确定闭环开关模式电源 (SMPS) 的开环增益呢? 针对该问题,最好的解决方案是运用 Middlebrook 的方法,其首见于《International Journal of Electronics》第 38 卷第 4 期 (1975 年) 上。这种方法将测试信号注入闭环系统中以独立地求解电压和电流增益,从而可保持环路的封闭并且不会干扰操作点。在采用 LTspice IV 来实施 SMPS 的频率响应分析 (FRA) 的过程中,运用 Middlebrook 法的电压增益部分是特别有效的。


如欲采用 LTspice 来完成开关模式电源的 FRA,则:
 

* 在与反馈引脚相串联的 SMPS 反馈环路中插入一个数值 = “SINE(0 1m {Freq})”,并如图所示给该电压源的节点加上 “A” 和 “B” 标签。幅度的选择 (1mV) 将影响准确度和信噪比。幅度的降低将导致信噪比下降,而幅度越大则频率响应的相关性越小。上佳的幅度起点是 1mV 至 20mV。
 

20140622214115416.jpg


* 把下面的 .measure 语句作为 SPICE 指令粘贴在原理图上。这些语句用于执行节点 A 和 B 的傅里叶变换、计算 SMPS 的复数开环增益以及最终形成的幅度 (单位:dB) 和相位 (单位:°)。


.measure Aavg avg V(a)
.measure Bavg avg V(b)
.measure Are avg (V(a)-Aavg)*cos(360*time*Freq)
.measure Aim avg -(V(a)-Aavg)*sin(360*time*Freq)
.measure Bre avg (V(b)-Bavg)*cos(360*time*Freq)
.measure Bim avg -(V(b)-Bavg)*sin(360*time*Freq)
.measure GainMag param 20*log10(hypot(Are,Aim) / hypot(Bre,Bim))
.measure GainPhi param mod(atan2(Aim, Are) - atan2(Bim, Bre)+180,360)-180


* 把下面的 SPICE 指令粘贴在原理图上。参数 t0 是系统稳定至稳态所需的时间长度,并且设定了仿真器开始保存数据的时间点。在该场合中起动和停止次数之间的差异被选择为 25/freq,因而源自非整数型开关周期数的误差将很小,因为包括了许多周期。

.param t0=.2m
.tran 0 {t0+25/freq} {t0}


* 插入一个 .step 命令以设定希望进行分析的频率范围。在该例中,仿真在 50kHz 至 200kHz 的频率范围内运行 (每倍频程采用 5 个点)。提示:在逐步通过整个频率范围之前,可在几个频率 (例如:插入 “.param Freq = 125K”) 上进行测试并观察 V(A) 和 V(B) 以确定电压源具备足够的幅度,而且在可能的情况下可收紧频率范围以尽量缩短仿真时间。包括了 .options 和 .save 语句以改善精度,并最大限度地减少测量的次数。


.step oct param freq 5K 500K 5
.save V(a) V(b)
.option plotwinsize=0 numdgt=15


* 运行仿真 (观察左下角以了解状态更新)。
 

* 如欲查看博德图,则打开 SPICE 错误记录 (从 View 菜单选择 SPICE Error Log) 并在记录上单击右键以选择 “Plot .step’ed .meas data”。从 Plot Settings 菜单选择 Visible Traces。选择增益。依据该曲线图您随后就能确定 SMPS 设计的交叉频率和相位裕量。
 

20140622214255606.jpg
 

更多的示例和文档可在教学例子 (..\LTspiceIV\examples\Educational\FRA\) 和 “帮助主题” (Help Topics) 的 “常见问答” (FAQ) 部分中找到 (揿按 F1)。
 

20140622214413726.jpg

频率响应分析实例
 

文章评论0条评论)

登录后参与讨论
我要评论
0
17
关闭 站长推荐上一条 /2 下一条