拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

DrMOS电路仿真实战:从模型搭建到参数调优

DrMOS电路仿真实战:从模型搭建到参数调优 1. 先别急着搭电路DrMOS仿真为什么值得花时间干硬件这行的人十个里有九个都经历过这种夜晚板子刚贴片回来上电一瞬间冒了烟万用表一量DrMOS烧了。换一颗料不难难的是不知道怎么烧的。是驱动时序不对是Layout寄生电感太大是死区时间没调够翻了好几页数据手册也看不出个所以然。我大概从2015年开始把DrMOS电路仿真正式纳入自己的设计流程。那会儿做服务器电源的VRM模块输出电流动不动就是上百安培传统的分立MOS管方案已经被DrMOS集成方案按在地上摩擦但问题也来了器件集成度越高内部越是个黑盒数据手册写得再详细也只给你静态的数值碰到动态的开关过程、寄生参数、Layout寄生效应纯靠经验估算真的不够用。所谓DrMOS电路仿真本质上就是把原来只能靠“上电试试看”来验证的功率级电路放到软件环境里先跑一遍。仿真能帮你在花钱打样之前把关键波形看个大概把开关应力估个八九不离十把效率曲线和温升趋势算出来。说句实在话它不能替代实测但绝对能帮你省掉几轮改板的钱和时间。这篇东西整理自这几年我做DrMOS仿真的实操记录包括工具的选择、模型的取舍、常见参数的设定还有一堆踩过的坑。适合正在做开关电源、VRM供电、或刚接触集成式功率级的工程师参考。不管你是刚毕业的新手还是已经画过几版电源板的老手这篇文章里应该都有你能直接拿走的经验。1.1 从“仿真无用论”到“先仿后画”的改变入行头两年我其实对仿真嗤之以鼻理由和大部分工程师一样仿真模型不准仿真结果和实测差得远仿真浪费时间。后来被现实教育了一顿,一个48V转12V的方案因为没算清楚自举电容的充电回路上管驱动波形畸变得一塌糊涂效率掉了5个点板子改了两次才好。从那以后我开始老老实实地在画板之前先搭个仿真模型。仿真这东西关键看你拿它当什么用。你要是拿仿真结果去对标实测波形的每一个毛刺那肯定失望因为模型里永远少考虑了一堆实际存在的寄生参数。但你要是拿仿真来验证拓扑是否合理、参数选型是否靠谱、应力是否超出器件额定值那仿真的价值就非常大了——它相当于给你一个零成本的试错空间。拿DrMOS来说它内部集成了上管、下管、驱动器和部分检测电路你没法像用分立MOS管那样随意更改内部参数。但通过仿真你可以模拟各种异常工况输出短路、负载跳变、输入电压跌落、驱动时序错乱看看这些情况下芯片会不会损坏做到心里有底。1.2 谁最需要这套仿真经验我接触过的DrMOS仿真需求大致可以分成三类人。一类是做服务器、通信设备、高性能计算的供电设计。这类场景普遍采用48V或者12V母线的VRM架构输出电流大动态响应要求极高DrMOS几乎是标配。这类工程师往往对效率和瞬态响应有硬指标仿真主要用于验证环路稳定性和评估瞬态过冲是否符合CPU/GPU的供电规范。另一类是汽车电子和工控领域的朋友。车规级的DrMOS越来越多但使用条件和服务器完全不同——环境温度范围宽、振动大、电磁兼容要求严格。这类工程师最喜欢问的问题是温度对损耗的影响怎么仿真地弹怎么仿真开关振铃的EMI风险怎么评估第三类就是学生和刚入行的人。说实话学生时代能把Buck的仿真跑明白对理解整个电源系统非常有帮助。我见过不少应届生问起Boost和Buck的区别头头是道但一问DrMOS内部是怎么协同工作的就有点露怯了。这部分内容也值得认真学习。2. 拆开看DrMOS到底集成了什么做仿真之前得先把手里的器件摸透。很多人一听到DrMOS就以为是一个DrMOS管加一个控制IC实际上这是个误解。DrMOS这个叫法源自Intel主导的DrMOS规范全称是Integrated Driver MOSFET也就是把驱动器、上管功率MOSFET和下管功率MOSFET集成在同一个封装里面。更完善一点的DrMOS还会把电流检测放大器和温度检测电路也做进去形成一个近乎完整的功率级模块。你在仿真软件里看到的DrMOS符号往往只是两三个引脚,但实际上它内部是一个微型系统。理解这一点非常关键因为仿真时如果只把它当作一个简单的开关管那你就丢掉了它最重要的价值——驱动器和功率管的时序协同、感性开关过程、以及死区时间管理。2.1 DrMOS内部结构与仿真模型映射一颗典型的DrMOS内部结构大致可以拆成这样几块。功率部分是上管Control FET和下管Sync FET串联的半桥结构。上管负责开通时给电感充电下管负责续流两者互补导通。驱动器部分是上管和下管各自的驱动放大电路它接收来自PWM控制器的逻辑信号转换成足够强的电流去驱动功率管栅极。检测保护部分负责电流采样、温度采样、过流保护、过温保护等。这些内部模块在仿真软件里的映射方式取决于你手头有多少资料。如果你能拿到芯片原厂提供的SPICE模型那直接调用最省事。如果没有就只能用分立元件把它搭出来用两个MOS管模型模拟功率部分用半桥驱动器的等效电路模拟驱动部分再用电阻、电容、受控源去凑检测和保护电路。这里有一个常见的疑问为什么DrMOS的原厂模型不太愿意公开原因很现实——封装寄生参数、驱动级细节、保护电路的行为这些都算厂商的核心竞争力。所以很多时候你只能在NDA协议下拿到加密模型或者在Nexperia、Vishay这类厂商官网下载简化版公开模型。提示动手仿真前先去器件官网上找“Design Tools”或者“Simulation Models”栏目。如果找不到公开模型最快的办法就是联系原厂FAE说明你的应用场景大部分情况下FAE会提供加密模型或测试波形这些信息对校准你的仿真模型非常有价值。2.2 必须吃透的关键参数从封装寄生到开关特性做DrMOS仿真第二件重要的事是把数据手册里的关键参数和仿真模型里的对应关系搞明白。首先是封装寄生参数。DrMOS常见封装是PQFN尺寸大概5mm×5mm或者6mm×6mm引脚间存在杂散电感、杂散电容。高频开关时这些寄生参数会和PCB走线电感叠加引起振铃和过冲。如果你用原厂模型这些参数通常已经包含在里面了如果自己搭模型就得根据封装尺寸估算——对PQFN封装来说单引脚寄生电感典型值在0.3nH到0.5nH之间寄生电容在0.2pF到0.5pF左右。其次是开关特性参数。包括上管和下管的栅极电荷Qg、导通电阻Rds(on)、输出电容Coss、反向恢复电荷Qrr以及体内二极管的参数。这些参数直接决定了开关损耗和死区时间设置。仿真中这些参数主要影响两件事开关波形的上升/下降时间以及损耗计算的结果。最后是热阻特性。很多DrMOS仿真模型里会附带热学等效网络最常见的是所谓Foster模型用RC网络模拟结到外壳、外壳到环境的热传导路径。有了这个模型你就可以在仿真里看到瞬态热阻抗曲线从而估算在过载条件下芯片会不会超温。拿我之前做过的一个48V转12V的仿真来说常温下Rds(on)是5.5毫欧但结温跑到125°C时这个值会变成8.5毫欧左右——差别非常大直接影响满载效率。所以做仿真时一定要把温度对Rds(on)的影响放进去不然效率曲线就是错的。3. 仿真工具选型与模型搭建思路说完器件本身接下来说说用什么工具来仿真以及怎么建模型。市面上的仿真工具五花八门但适合做DrMOS这种功率级电路的主要就那几款。有的适合做系统级仿真有的适合做器件级精细仿真有的则把重点放在寄生参数提取和电磁兼容分析上。选择上不用太纠结关键是你手中的模型是什么格式以及你关心的是哪一类的指标。3.1 主流仿真工具对比与选择LTspice是模拟电路仿真里使用度最高的。它是免费的对于功率电子设计来说足够了特别是LTspice的收敛性非常优秀处理开关电源这种强非线性电路时很少崩溃。缺点是从TI、英飞凌这些厂商下载的模型并不全是兼容LTspice的有些只提供PSpice格式需要转换一下。Simplis是电源工程师的汽车级选择尤其在环路稳定性和大信号瞬态仿真方面表现很好。据说越来越多的服务器电源团队在用它做VRM的环路分析。它的特点是仿真速度快特别适合做很多周期的开关电源动态仿真缺点是价格不菲而且上手难度比LTspice高。还有一类是电磁场仿真工具比如ANSYS SIwave、HFSS、Q3D专门用来提取PCB和封装的寄生参数并把提取出来的寄生参数导出成SPICE模型放入电路仿真里联合分析。这种属于高阶玩法适合对标高频振铃、EMC辐射这类问题。对一般的工程师来说前期用不上等做到合规预测试阶段再考虑也不迟。注意如果你要找其他工程师的仿真文件来参考强烈建议优先找同行在LTspice上传的开源仿真工程。无论是GitHub上搜“LTspice DrMOS”还是在ADI官方的Example Circuit里找十有八九能捞到不少可以借鉴的文件。3.2 模型选择策略行为级 VS 物理级 VS 厂商原厂模型模型的选择会直接影响仿真的难度和结果的可靠度这也是很多人忽视的地方。行为级模型是最高层抽象不关心器件内部具体的半导体物理过程只关心外部表现出来的电气特性比如开关阈值、导通压降、开通延迟时间。这种模型仿真速度最快适合做环路分析、系统级性能评估。缺点是看不到振铃尖峰、驱动电流过冲等细节。物理级模型则尽可能还原器件内部的半导体物理过程包括非线性的结电容、米勒效应、体二极管反向恢复等等。SPICE里的MOSFET模型大多属于这一类。它的优点是仿真结果贴近实测缺点是仿真速度慢参数调整麻烦并且需要非常准确地设置一堆次级参数。厂商原厂模型是介于两者之间的“官方饭”一般来说厂商模型会在物理模型基础上做了不少针对性的简化和修正能在保证精度的基础上尽量提高仿真速度。有些加密模型还会包含热学和可靠性等额外信息。能拿到原厂模型的时候果断用它。我自己习惯的做法是先拿行为级模型跑通系统方案确定环路参数和器件电压电流应力是否在一个合理范围等方案确定了再用厂商原厂模型跑一轮精细仿真核对开关波形、效率、热阻等细节指标如果遇到EMC疑难点最后再用场路联合仿真提取完整寄生参数。3.3 没有原厂模型怎么办手把手搭一个行为级DrMOS模型实际工作中有时候真的拿不到原厂模型这时候就得自力更生。我教大家一个我常用的方法。在LTspice里面搭一个行为级DrMOS模型只需要几个元件两个NMOS管用来模拟上管和下管两个栅极电阻模拟驱动器的输出阻抗一组受控电压源/受控电流源模拟驱动逻辑和死区时间如果还想模拟保护行为可以用比较器加触发器实现过流关断。先把两个NMOS管半桥连接好漏极接VIN的上管、源极接输出开关节点下管则把漏极接到开关节点、源极接地。栅极各串一个驱动电阻这里我会根据数据手册里的驱动上升下降时间反推。比如数据手册说上升时间12ns栅极电荷30nC那么驱动电流大概在2.5A左右对应的等效驱动电阻用RC时间常数估算大概1欧到2欧之间。死区时间的仿真实现也很直接在驱动信号源上加一对非交叠脉冲发生器。最简单的做法是使用两个单独的脉冲电压源分别设置不同的延迟和脉宽让上管关断到这下管开通之间留出一段空档。在LTspice里还可以直接用“AND”和“NOT”门电路搭一个死区生成电路用逻辑门的传播延迟来控制死区时间长短。实操心得行为级模型最重要的不是参数多精确而是趋势正确。比如你调整死区时间从20ns变成60ns仿真的效率曲线会有一个先升后降的变化这个趋势只要和实测一致模型的基本可信度就足够了。之后再根据实测波形反推调整延迟参数就能把模型修得越来越准。4. 手把手搭一套完整的DrMOS Buck仿真工具和模型都聊完了现在进入正题——完整地跑一遍DrMOS Buck电路仿真。我们设定一个常见的应用场景输入48V输出12V/30A开关频率400kHz使用一颗典型的集成DrMOS作为功率级外面配一个PWM控制器或者用简单的电压模式控制。整个仿真搭建过程可以拆成几步确定主电路拓扑、计算无源元件参数、搭好控制环路、设置仿真参数并跑通收敛、最后读取和分析结果。4.1 主电路搭建与参数计算我一般会在LTspice里新建一个原理图先放DrMOS模型如果有原厂模型就直接放没有的话用上一章说的行为级模型。然后接输入电容、输出电感、输出电容、负载电阻或者恒流负载。计算输出电感的公式是 L (Vin - Vout) * D / (ΔI * fsw)。这里的占空比 D Vout / Vin 12/48 0.25。ΔI 取输出电流的20%到40%也就是6A到12A之间。电感值算出来大约是L (48 - 12) * 0.25 / (8 * 400000) 2.8125µH我取了一个标称值3.3µH这样磁芯饱和风险更低代价是瞬态响应略微变慢。输出电容的选择主要看负载瞬态时的允许电压跌落假设允许150mV过冲负载电流从5A跳变到30A那么 C ΔI * Δt / ΔV。这里的Δt按环路带宽的1/10来估算假设带宽50kHz那么响应时间大概3.2µs。C 25A * 3.2µs / 0.15V ≈ 533µF我会用两颗330µF的陶瓷电容并联再加上两颗470µF的电解电容来打底。输入电容也不能忽略。输入纹波电流的有效值 Iin,rms Iout * sqrt(D * (1 - D)) 30 * sqrt(0.25 * 0.75) ≈ 13A。这可不是个小数目所以我通常会在输入端并联至少4颗10µF的陶瓷电容再看情况加几百微法的电解电容来应对大电流瞬态。好算完这些可以在LTspice里画原理图了。基本的节点关系输入源VIN设为48V串一个0.1欧的电阻模拟热插拔保护然后接输入电容CIN再接DrMOS的VIN引脚。DrMOS的SW引脚接电感L电感另一端是12V输出再接输出电容COUT和负载。4.2 环路补偿与控制参数设置很多工程师搭仿真电路的时候总是先调好控制环路的元件值然后再仿真。这其实步子太大仿真结果十有八九是发散或者振荡的。我的习惯是先开环仿真把功率级跑通了再加反馈补偿。具体怎么做呢先把DrMOS的PWM输入引脚接一个脉冲电压源设置频率400kHz、占空比25%然后跑一个瞬态仿真看看开环下输出电压是不是稳定的12V。这一段跑通后就可以开始做闭环了。闭环控制我是先设计一个Type II补偿网络。输出电压经过分压电阻反馈到误差放大器误差信号与PWM比较器的斜坡比较生成占空比控制信号。为了简化我会直接用LTspice里的电压控制电压源(VCVS)搭一个简化模型把误差放大器的传递函数用Laplace表达式搭出来。增益的设定上我会把低频增益拉高保证直流精度中频段放在开关频率的1/10到1/5之间也就是40kHz到80kHz左右高频段压低滤掉开关噪声。这样环路相位裕度勉强能做到50度以上我对这个指标的接受底线是45度低于它就需要调整补偿参数。注意DrMOS的PWM输入是高电平有效还是低电平有效一定要看数据手册。有的片子还支持三态输入做环路仿真的时候如果不小心把三态状态给触发了输出波形会变得非常奇怪。我第一次搭仿真时就犯了这种错误查了整整一个下午。4.3 仿真设置与收敛性调整电路搭好了接下来是仿真参数设置。我通常设置仿真时长为2ms到5ms因为开关频率400kHz2ms相当于800个开关周期足以让系统达到稳态也足以覆盖常见的负载瞬态。如果只是想看稳态波形1ms就够了如果要看负载跳变至少给3ms。最大步长设成开关周期的1/100左右也就是2.5ns。这个步长对于捕捉开关瞬态的上升沿和振铃来说勉强够用如果你关注EMI振铃的细节可以再调小到1ns甚至0.5ns。收敛性问题是仿真实操中最常见的一个坑。LTspice默认会尝试各种算法但碰到强非线性电路时经常提示“Singular matrix”或者“Time step too small”。我的排查顺序如下第一步检查所有电源和接地是否都接好了第二步看是否有浮空的引脚第三步降低最大步长试试第四步给输出电容加一个极小的串联电阻ESR哪怕只有1毫欧也能显著改善收敛性第五步在输出节点并联一个电阻到地提供直流通路。很多时候我遇到不收敛的情况都是因为这个电路拓扑在某个工作点上状态变量存在无限解。加了一个“泄漏电阻”之后问题就消失了。这类问题不用过度担心仿真调参本来就是反复试验的过程。5. 仿真结果怎么看效率、纹波、振铃、热评估仿真跑完不是任务结束把波形拉出来读懂才是仿真真正的核心价值所在。我拿到仿真结果后一般会先看四个东西稳态工作点的电压电流是否正常、开关节点波形是否干净、输出纹波是否在预期范围、负载瞬态响应是否满足要求。效率、振铃、热点这些问题都要在确认前四项没问题之后再逐一分析。5.1 开关节点波形与振铃分析DrMOS的开关节点SW波形是整个电路工作状态的“晴雨表”。理想情况下SW应该在0V和48V之间快速跳变。实际上由于上管的寄生电容和PCB走线的寄生电感会在开关瞬间形成一个高频振铃。看波形的时候重点关注两个地方一个是上升沿顶部的过冲幅度。如果过冲量超过了上管漏源电压额定值的70%以上就得小心了。另一个是振铃频率。振铃频率f 1/(2π√(Lstray * Coss))如果实测振铃频率是200MHz而封装寄生电容是200pF就能反推出PCB走线电感大约是3nH左右。振铃太厉害有两个后果一个是产生严重的开关噪声耦合到控制电路里引起误动作另一个是振铃带来的高频损耗会让DrMOS局部过热。如果仿真中发现振铃幅度超过输入电压的10%这基本是Layout有问题。你可以试着在开关节点加一个RC吸收电路一般阻值2.2欧、电容470pF起步反复扫描看振铃幅度的变化。心得RC吸收电路不是越大越好。电容太大每个开关周期都要充放电额外损耗反而上升电阻太大会失去阻尼作用。我通常的做法是先把电容从小到大扫描一遍直到振铃明显收敛为止再微调电阻找到损耗和振铃抑制之间的平衡点。5.2 效率计算与损耗拆分效率是DrMOS应用最关心的指标。在LTspice里可以通过测量输入端和输出端的平均功率来计算效率。效率η Pout / Pin。输入功率用V(VIN) * I(VIN)的积分除以时间求得输出功率同理。我在LTspice里会直接用键盘操作“按住Alt键点击原理图中的元件”——LTspice会自动弹出该元件的功耗曲线非常方便。进一步拆分损耗来源的话DrMOS的损耗主要由导通损耗、开关损耗和驱动损耗构成。导通损耗可以根据I_rms²乘以上下管Rds(on)来估算开关损耗则可以从开关过程的重叠面积来估算驱动损耗约为Qg * Vg * fsw。把这三部分加起来和LTspice测出来的总损耗对比如果接近说明你的模型设置基本合理如果差很多就要检查是不是漏掉了死区损耗或体二极管反向恢复损耗。5.3 热评估回到散热设计如果模型里带了热学网络仿真结束后还可以看一下结温曲线。这个数据直接决定了散热器的尺寸和风道设计。我们前面说过DrMOS的Rds(on)随温度上升而变大导通损耗也随之增加。所以在热评估时用25°C的Rds(on)去算损耗会导致严重的低估。我的习惯是直接按100°C结温对应的Rds(on)作为最恶劣工况来计算损耗然后再反推所需散热条件。看结温曲线的时候有个技巧如果结温在稳态时离最大结温还差20°C以上说明散热设计余量充足如果只差10°C不到那就要考虑加大铜箔面积或者加散热片了。在仿真里把热阻网络挂上拖到满载跑一遍你就能对这个系统在极限工况下的生存能力有个清晰认知。6. 常见问题与排查技巧实录这部分我把这几年做DrMOS仿真遇到的典型问题整理一下方便大家按图索骥。6.1 仿真不收敛的检查清单现象可能原因解决方法Time step too small节点有瞬时高di/dt步长无法收敛减小最大步长到0.5ns给电感并联一个很小的阻尼电阻Singular matrix存在浮空节点或直流通路缺失检查是否有未接电源的引脚在浮空节点加一个1M欧电阻到地输出电压持续振荡补偿元件参数不当先确认环路相位裕度尝试减小补偿电容开关节点振铃过大PCB寄生电感与Coss谐振加RC吸收电路减小模型中的走线电感值迭代次数过多初始条件设置不当设置UICUse Initial Conditions选项逐步初始化电感电流第一条最常见。处理方法是先跑一个非常小的仿真时长比如10µs只观察几个开关周期确认没问题后再逐渐加大时间跨度。如果小步长都收敛不了就得回过头去检查模型本身。6.2 杂散参数设置错误导致的结果偏差有一次我用某个DrMOS模型做仿真效率算出来只有82%和官方参考设计里给的93%差了十万八千里。后来逐项排查才发现问题出在模型里自带的封装电感比我预想的大了一个数量级导致开关振铃严重关断损耗暴涨。这个教训就是拿到任何模型先跑一个最简单的基本电路验证一下它是否正常比如静态导通测试或开环开关测试把驱动的波形、开关损耗和手册上的典型值对一下。如果对不上就不要拿它去做整个系统的仿真。模型本身不准确的话后面的仿真结果就完全失去意义。6.3 死区时间设置不当的典型表现死区时间是DrMOS仿真中被忽视但影响极大的一个参数。死区时间太短上下管同时导通形成直通短路输入电流瞬间飙升。在仿真中你会看到电流波形出现一个特别尖锐的大幅尖峰同时效率急剧下降。这会引发严重的发热问题。死区时间太长下管体二极管提前导通续流虽然不会瞬间损坏器件但体二极管的正向压降大、反向恢复损耗高长时间运行效率会明显下降而且体二极管发热严重。我见过的很多工程师做仿真时直接沿用某个网上的配置然后发现波形不对。实际上正确的做法是根据数据手册推荐值先设一个初值然后扫描死区时间画出“死区时间vs效率”曲线。效率峰值对应的死区时间就是接近最优的值之后再根据实测情况微调。6.4 封装模型版本不一致导致的结果混乱最后提醒一个容易踩的坑同一个型号的DrMOS英飞凌官方可能同时存在PSpice模型、LTspice模型和Simplis模型三个模型的行为特性可能不完全一致特别是在封装寄生参数上。如果用PSpice模型做了损耗分析又用LTspice模型做了环路验证两者之间可能会出现微妙的偏差。我的做法是尽量固定一个平台做完整仿真。如果必须要跨平台那就至少要对两个模型在同一个标准测试电路上做对比确认关键波形和效率误差在可接受范围内再放心用于后续的设计。写在最后这些年做DrMOS仿真的最大体会就是仿真这事查资料、跑通模型都不是最难的最难的是建立判断力——你知道哪个波形重要、哪个参数可以忽略、哪个步骤能跳过、哪个细节必须死磕。这种判断力没法靠看文章获得只能靠一次一次试错积累。早期我做仿真经常一头扎进LTspice里调半天出了波形就开始兴奋结果拿给老工程师一看对方指着开关节点波形说“这里振铃超过10%了你Layout肯定要改。”我才意识到仿真不止是让自己看得高兴更要让结果经得起推敲。如果你现在刚开始接触DrMOS电路仿真我的建议很简单先不要追求复杂的模型和花哨的分析老老实实把一个Buck电路跑通对比一下开关节点波形、电感电流波形和实测值之间的差异。把这个流程走完了你对整个电源系统的理解会上一个台阶。仿真这条路没有捷径但只要你肯花时间它给你的回报一定远超预期。
返回列表