ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VIPERGAN50TR GaN反激电源LTSpice仿真实战

VIPERGAN50TR GaN反激电源LTSpice仿真实战 做电源设计的应该都有这种经历芯片刚拿到样片想先通过仿真把外围参数摸一遍结果发现模型导入这一关就把人卡住。我最近在评估ST的VIPERGAN50TR——一颗集成GaN功率管的准谐振反激控制器准备把它用在50W级别的USB-PD适配器上。SPICE模型是官方提供的但真正要在LTSpice里把反激仿真跑通中间还是踩了不少坑。这篇文章我就以VIPERGAN50TR的Spice Model为主线完整走一遍从模型下载、导入、搭反激电路到仿真调通的流程。重点会放在LTSpice的操作细节、仿真收敛问题的排查思路以及最终怎么从波形里提炼出能指导Layout的设计参数。如果你是做电源的手上也有ST的VIPER/GaN方案想在LTSpice里验证这篇流程基本可以照搬。1. 拿到GaN反激芯片后我为什么先打开LTSpice而不是原理图编辑器1.1 仿真先行能给电源设计省下什么很多工程师的习惯是拿到新芯片先照着数据手册的应用电路画原理图、打板然后再慢慢调。这个流程对传统MOSFET反激也许可行但换成VIPERGAN50TR这种集成了GaN功率管的方案就必须谨慎一些。GaN的开关速度比普通硅MOSFET快得多dv/dt和di/dt都非常高PCB寄生电感、变压器漏感、驱动回路的微小差异都会被放大。这种情况下如果不在仿真阶段把关键应力点摸清楚板子打回来大概率要反复改。用LTSpice做仿真有几个现实原因免费、没有许可证限制、跨平台而且对PSpice风格模型的兼容性相当好。ST官方给VIPERGAN50TR提供的就是SPICE模型这意味着芯片内部的控制逻辑、驱动电路、GaN管的开关行为已经由厂商建模不需要我再搭行为级模型去猜内部时序。我要做的核心工作是把芯片模型放进一个可信的外电路里验证系统在启动、稳态、负载变化时能不能正常工作。不过一定要先明确一个边界SPICE模型擅长验证外电路不擅长精确复现芯片内部逻辑。比如逐周期谷底检测的延迟、内部数字状态机的跳变、各种保护逻辑的精确时序这些在模型里通常会被简化成端口级特性。所以仿真目标应该定在“验证外电路设计是否合理、量化系统趋势”而不是“完美复现芯片内部每一次状态切换”。把预期放对位置后面看仿真结果时才不容易被误导。1.2 从ST官网把模型抓下来文件里到底有什么模型来源没有悬念去ST官网搜索VIPERGAN50TR在产品页的CAD Resources或者工具软件下载区域可以找到SPICE模型包。ST偶尔会把模型挂在eDesignSuite这类工具里产品页通常会有跳转链接。下载下来一般是个zip压缩包解压后里面有几种典型文件.lib或.mod后缀的模型定义文件核心内容是一个.SUBCKT子电路块原理图符号文件常见.asyLTSpice或.olbOrCAD有的版本只给.lib不给符号一份readme或模型说明告诉你在哪个仿真器里验证过、SPICE版本要求。拿到压缩包的第一件事不是急着解压导入而是先用记事本打开.lib文件扫一眼。为什么因为工业界很多SPICE模型是加密的。如果打开后能直接看到.SUBCKT VIPERGAN50 1 2 3 4 5 6 7这样的明文结构LTSpice基本能直接吃如果读出来是一堆乱码或者明确写着encrypted那LTSpice就算导进去也是白搭只能换ST自家的仿真环境。另外还要注意依赖文件。有些模型内部会调用第三方二极管模型、运算放大器子电路如果主.lib文件引用了这些子电路就必须把依赖文件也放进工作目录否则导入时会报“Unknown subckt”。2. 模型进LTSpice的完整操作.lib导入、自动符号与引脚校验2.1 放置模型文件不会污染系统库的做法我见过很多人在网上问“为什么我把模型放进LTSpice安装目录还是找不到”其实不是放不进而是放的位置太乱了。我不推荐把厂商模型直接塞进LTSpice的系统库目录那样虽然F2组件面板里能直接看到但以后升级软件或者换电脑会留下很多历史包袱。更稳的做法是给工程建独立目录把模型文件放在工程目录内部。例如我的目录结构D:\PowerSim\VIPERGAN50TR_Demo\ ├── VIPERGAN50.lib ├── VIPERGAN50_Demo.asc └── ...在原理图编辑界面按S键输入一行Spice指令.include VIPERGAN50.lib这里用相对路径要求.lib和.asc文件必须同目录。这样整个工程拷到其他电脑只要保持目录结构仿真就能直接跑发给同事也不会出现路径失效的问题。这套组织方式对任何厂商模型都适用算是基本功。2.2 用Auto-generated符号把.subckt变成原理图元件模型文件放好、.include写进去之后下一步是把.SUBCKT变成一个能在原理图里连线的元件。LTSpice最省事的办法是让软件自动生成符号。操作流程是把VIPERGAN50.lib复制一份到LTSpice的自动生成符号目录通常是LTSpice安装目录\lib\sym\AutoGenerated然后重启LTSpice。重启后在原理图编辑界面按F2打开组件面板AutoGenerated分类下应该能看到VIPERGAN50这个符号选中放置即可。LTSpice会解析.SUBCKT的引脚编号自动生成一个对应引脚数量的方块符号。如果AutoGenerated分类下没有出现对应符号大概率是LTSpice没有识别出.SUBCKT语句需要回到文件语法检查。这时也可以手动创建符号Tools - New Symbol把每个引脚画出来但我不建议一开始就搞手动符号浪费时间还容易出错。另一种方式是直接用X指令手工调用一个通用子电路符号在属性里填写.subckt名和引脚顺序这个更适合已经对模型引脚非常熟悉的人。2.3 引脚定义核对五个脚还是七个脚顺序不能错到了这里我要单独花一段强调引脚校验因为这是我踩过的最大一个坑。PSpice风格模型用数字编号代替引脚名。比如.SUBCKT开头.SUBCKT VIPERGAN50 1 2 3 4 5 6 7数字1到7各自对应芯片的哪个功能脚只能靠模型文件里的注释或者芯片数据手册的Pinout去推。最常见的错误是引脚顺序搞反例如把HV和FB接反。这种错误仿真不会报错结果却完全不对排查起来非常难受。我现在的标准动作是三步打开.lib文件看.SUBCKT行附近有没有注释很多厂商会在注释里写清引脚功能打开VIPERGAN50TR的数据手册对照引脚定义和功能框图在原理图里双击自动生成的符号逐个Pin核对名字和编号必要时修改符号引脚。前三步加起来十分钟但能省下后续半天的排查时间。特别是像反激控制器这种既有功率脚又有信号脚的芯片功率脚接错和信号脚接错的失效模式完全不同功率脚接错轻则仿真结果异常重则电压应力仿真出来就是错的一旦你信了这个错误结果去打样后果很直接。3. 搭一个能跑起来的QR反激仿真平台从主电路到反馈回路3.1 原边主电路母线、变压器、RCD钳位模型装好、引脚确认无误接下来就是搭建反激主电路。我做的是QR准谐振反激目标输出20V 2.5A约50W负载用8Ω电阻。输入侧我直接用一个直流源模拟整流后的母线电压。220V交流整流滤波后大约310V DC所以我先用310V直流源。这里有个实用技巧不要一上来就画交流源加整流桥那会让仿真启动过程多出母线电容充电阶段跑起来又慢又难收敛。先把主功能验证完后面需要验证宽压输入行为时再加交流部分。变压器我用两个耦合电感建模L1原边电感量按反激功率公式粗算800uH比较合适设串联电阻Rseries30mΩL2副边根据匝比10:1折算副边电感量约为8uHRseries设5mΩK1 L1 L2 0.98耦合系数先给0.98漏感用额外串联电感模拟取原边电感量的2%到3%我放了20uH。RCD钳位网络参数初期给R150kΩ、C10nF、D用快恢复二极管模型MURS120。这些值后面要依据Vds尖峰波形再调。有一点要提醒LTSpice自带的二极管模型在反向恢复特性上往往偏向理想化所以RCD钳位损耗的绝对值别太当真但尖峰电压形状和趋势是有参考价值的。3.2 副边与反馈先用简易模型替代光耦和TL431很多人在LTSpice里搭反激仿真卡在反馈级找不到光耦模型TL431子电路也不知道去哪找。我的做法是先用行为级电压源替代光耦和TL431把主电路先跑通再逐步精化反馈链路。具体思路输出通过电阻分压得到采样电压与目标基准电压2.5V做差经过一个有限增益放大后送到FB引脚。方向按芯片数据手册的反馈极性来设定。如果用行为级电压源B1表达式大致是B1 FB 0 Vlimit(2.5 - (V(sense)-2.5)*20, 0, 5)其中V(sense)是输出采样分压点的电压。输出升高时sense升高FB下降控制器对应减小占空比实现负反馈。这个替代模型的频率响应和实际光耦TL431链路肯定有差异但对于验证主电路、观察启动过程、判断稳定趋势已经够用。如果后续要精细验证环路稳定性或做Bode图就需要换成精确的光耦TL431模型。LTSpice的Examples目录和网络上有些现成的比如SFH617A加TL431的组合模型。不过我的经验是先不要把仿真平台搞得太复杂一上来就塞满非理想器件出问题了你根本分不清是主电路还是反馈模型引入的。3.3 仿真设置求解器选择、时间步长、启动方式主电路搭完仿真参数设置是关键。我常用的配置.tran 0 50m 0 1u startup .options maxstep1ustartup让电源从0V开始爬升模拟真实上电过程maxstep给1us如果步长太大开关纹波只能看个轮廓想数准谐振谷底会糊掉仿真时长50ms让启动过程、环路建立、输出电压稳定都有充足时间。如果遇到器件开关瞬间收敛困难可以在LTSpice的Control Panel - SPICE里把Solver切成Alternate再跑。交替求解器对含GaN这类高速开关的电路经常有奇效。也可以临时加.options设置松弛容差但改容差属于最后手段一定要确认不是电路本身的问题。4. 一连跑了三个版本才稳定收敛问题与启动异常的排查记录4.1 “Timestep too small”不是模型问题是电路问题仿真第一次跑起来我就遇到了LTSpice最经典也最让人崩溃的报错Timestep too small。一开始我怀疑是VIPERGAN50TR模型和LTSpice兼容性不好但把外围电路逐段隔离后才发现问题出在反馈网络到FB引脚之间。具体原因是我用B1电压源驱动FB时输出端有高阻抗节点和芯片内部FB引脚等效输入电容构成了一个大时间常数求解器在每一步迭代里都被这个节点拖累步长被不断压缩最后小于数值精度下限。解决思路和实际硬件设计完全一致给芯片的VCC脚加本地去耦电容我放了10uF并联100nF同时在变压器原边并了一个10pF小电容给高频dv/dt提供路径。排查过程的顺序很重要。先把FB驱动断开给FB一个固定直流电平看开环能不能稳定跑。如果能跑说明模型没问题问题在反馈网络如果不能跑再看模型引脚、去耦和变压器耦合。这种逐级隔离的排查方法比盲目改求解器选项靠谱得多。4.2 启动阶段VCC爬不上去反馈和软启动的相互作用第二个坑是启动时输出电压一直在0附近VCC也爬不上去。查了半小时最后发现是反馈极性反了。反激电源的反馈必须是负反馈输出电压升高要让FB朝着关断方向驱动。我在用行为级电压源模拟光耦时把增益方向弄反了导致控制器认为输出偏低一个劲加大占空比结果过流保护持续触发VCC被反复拉低系统永远到不了稳定点。这个问题的排查思路很明确把反馈环路断开给FB一个开环固定电压确认开环状态下输出能正常建立。如果能正常建立说明主电路没毛病问题锁定在反馈极性或补偿方向。此时回到B1表达式把采样电压和基准的差值方向对调一下重新跑输出立即就正常了。这也回到前面说的引脚校验和极性核对仿真里任何一条信号的极性都不能想当然。4.3 变压器漏感引起的Vds尖峰异常用耦合系数和漏感参数还原第三轮仿真我把注意力放到了Vds波形上。刚开始看到Vds尖峰接近700V一度怀疑这颗GaN管是不是被模型设置得特别脆弱。后来仔细分析问题不在芯片模型而在变压器模型太理想。第一版我把耦合系数设为K0.98但漏感只在K值里体现了一个集中漏感的等效没有额外串联漏感电感。实际操作中漏感数值对关断尖峰的影响非常大。解决办法是额外串联一个20uH的漏感电感并且把RCD钳位网络加在正确的位置二极管阳极接原边开关节点阴极接母线正端电阻电容并联在二极管两端。改完后Vds尖峰明显被压回650V以内RCD网络的作用也能直观看到。这个案例说明仿真模型的逼真度和结果可信度直接挂钩。如果变压器太理想你看到的Vds应力和实际打样出来的结果就会有明显差异。用K值加独立漏感串联的方式虽然不能完全还原实际变压器的分布参数但对工程评估已经足够。5. 从仿真波形提炼设计参数Vds应力、谷底导通与效率估算5.1 关键波形对应的物理含义仿真跑通只是第一步怎么从波形里读出有价值的信息才是关键。我重点看这几个波形VdsDRAIN对GND电压主要看关断尖峰是否超过650V耐压在QR模式下还会观察Vds是否在谷底降到最低时开通原边电流电感电流看波形形状是否呈三角波峰值电流有没有接近芯片限流点VCC电压看芯片供电是否稳定有没有欠压重启的震荡输出电压看稳态值是否落在目标值启动阶段有没有过冲。QR反激的开关频率会随负载和母线电压变化这是正常现象。观察频率变化的趋势比死盯一个周期的频率更有意义因为频率变化直接反映了系统是否在准谐振谷底工作。下面是几个关键仿真的初始参数示例可以直接作为起点
返回列表