ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

从Coss到Eoss:软开关ZVS设计中功率器件输出电容能量计算全解

从Coss到Eoss:软开关ZVS设计中功率器件输出电容能量计算全解 做LLC电源的人都清楚ZVS能不能成立是产品能不能过效率、过EMI、过可靠性那几道坎的前提。而判断ZVS绕不开功率器件输出电容上存的那点能量——Eoss。麻烦的是不同厂家的数据手册给出的格式完全不一样有的给Coss-Vds曲线有的直接给Eoss-Vds曲线还有的干脆只在表格里标了100V、400V几个离散电压点的数值口径五花八门。我第一次认真算Eoss的时候就在这几个长得差不多的参数之间绕了很久最后还用0.5×Coss×V²去硬套算出来的结果和手册曲线差了快一半当时整个人都是懵的。这篇文章就把软开关应用里Eoss的来龙去脉彻底理一遍。从最基础的参数定义讲起再到三种主流计算方法、完整实操过程以及软开关系统设计里那些容易被忽略的坑。看完之后你再拿到任何一款功率器件的数据手册都能快速把Eoss算清楚并且知道这个数在ZVS设计里什么时候该用、什么时候不该用、用了之后怎么去校验。1. Eoss到底在算什么从几组电容参数说起1.1 先理清一堆容易混淆的符号翻开任意一款功率MOSFET的数据手册只要翻到动态特性那一页至少能看到四五个跟输出电容相关的参数Coss、Coss(er)、Coss(tr)、Qoss、Eoss密密麻麻排在一起。头一回见的人很容易以为它们是同一个东西的几种写法实际上每个参数的定义和使用场景都不同。先明确最基础的定义Coss是输出电容即Vgs0条件下漏源两端测得的小信号电容数值上约等于Cds与Cgd之和。这里的核心特征是Coss不是固定值它随Vds升高而显著减小这是理解后面所有计算的关键。Qoss是输出电容存储的电荷量定义为Coss对电压从0到目标电压V的积分即Qoss(V)∫₀ᵛCoss(v)dv。Eoss是输出电容存储的能量定义为电压乘以电荷的积分即Eoss(V)∫₀ᵛv·Coss(v)dv。再看两个容易混淆的等效电容值。Coss(er)是储能等效电容定义是Coss(er)2·Eoss(V)/V²它把非线性电容从0到V的储能等效成一个线性电容在V电压下的储能。Coss(tr)是时间等效电容定义是Coss(tr)Qoss(V)/V它把非线性电容的充电时间等效成同样电压下线性电容所需的时间来估算。这几个参数之间没有简单的倍数关系。同样是400V的偏置电压一个典型650V超结MOSFET的Coss(er)可能在120pF左右而Coss(tr)可能在240pF左右两者能差出一倍。原因在于Coss的非线性分布——低压区电容大、高压区电容小不同加权方式得出来的等效结果自然不一样。这背后对应的是软开关设计的两个不同诉求死区时间的估算关心的是电荷因为放电时间等于电荷除以放电电流所以用Qoss或者Coss(tr)ZVS能否完成的能量判断关心的是能量因为谐振电感里存的能量要大于输出电容里存的能量所以用Eoss或者Coss(er)。把这两个场景搞混是软开关设计里最常见的低级错误之一。1.2 为什么功率器件的输出电容是非线性的很多人想不明白一个电容算能量为什么还要搞这么复杂直接用E0.5CV²不就行了吗。问题就出在这个C上功率器件的输出电容Coss严格说是电压的非线性函数而且是非线性得相当厉害的那种。MOSFET的输出电容本质上来自漏极PN结的耗尽层电容以及栅漏之间的氧化层电容。当Vds较低时耗尽层宽度窄等效电容非常大几个纳法甚至更高都有可能。随着Vds升高耗尽层向内部扩展等效电容迅速下降。到了高压区Vds几百伏时Coss可能只剩下几十皮法。整条Coss-Vds曲线在低压区高耸、高压区平坦跨越两个数量级都很正常。超结结构器件更特殊。它内部通过P柱和N柱的电荷补偿来降低导通电阻耗尽层在很低的电压下就能横向扩展把中间区域夹断所以Coss在低压区的电压敏感性比传统平面结构更明显曲线形状也更陡峭。这意味着超结MOSFET的Eoss分布在低压区集中了相当大的比例计算时低压段的精度直接影响整体结果。由于Coss随Vds变化剧烈Eoss并不像普通电容那样与电压平方成简单的正比关系。用某个电压点测得的Coss值直接乘以0.5V²来估算Eoss通常会把结果放大百分之几十甚至翻倍。这一点在后面的实操部分会给出具体数字对比。1.3 Eoss在软开关电路中的物理意义线性电容的储能可以无损地释放回电路非线性电容也是一样。功率器件在关断状态下漏源两端承受电压Coss里存储了对应电压下的能量Eoss。当软开关电路尝试实现ZVS时开关管在开通之前漏源电压要被外部谐振网络放电到零。这个放电过程意味着存储在Coss里的能量必须从电容里转移出去如果谐振网络可提供的能量不够漏源电压就放不到零ZVS就会失败开关管带着残留电压硬开通产生明显的开通损耗和振铃。具体到一个LLC谐振变换器的原边开关管关断之后励磁电感与Lr的谐振电流会对开关管的输出电容进行充放电。只有励磁电流在死区时间内提供的能量大于原边所有开关管Coss中存储的总能量还要加上次级二极管结电容折算回原边的部分才能把漏源电压在死区时间内降到零。如果在轻载或者欠谐振状态下励磁电流变小可提供的能量不足ZVS就掉了。所以Eoss在软开关系统里本质上是一个能量预算的标尺谐振网络或者辅助电路能给出多少能量功率器件输出电容需要接收多少能量两者之间的差值决定了ZVS的边界。硬件工程师在设计阶段就把这笔账算清楚可以在样机上电之前就规避一大批软开关失效问题。2. Eoss的三种主流计算方法2.1 曲线积分法从Coss-Vds曲线出发最通用、兼容性最好、也是几乎所有数据手册都支持的方法是先从Coss-Vds曲线出发做积分。功率器件的数据手册几乎都会画一条Coss随Vds变化的曲线横坐标是漏源电压纵坐标是输出电容通常都采用对数坐标。这条曲线的来源是器件在小信号条件下的实际测量代表了厂商标定条件下的典型特性。Eoss的计算本质就是对这条曲线做一次加权积分。实际操作的第一步是从数据手册中提取曲线上的数据点。有条件的可以直接问厂家要器件模型或者特性数据表很多大厂例如英飞凌、罗姆、意法半导体都会在官网上提供SPICE模型或者特性曲线的高精度数据。没有现成数据的情况下可以用曲线取点工具处理PDF里的曲线图把Coss-Vds曲线取成一系列离散坐标点。需要注意的是取点的时候一定要加密低压区比如0V到30V这段电容变化特别剧烈取点过稀会导致积分结果严重偏小。有了离散点序列(Vds_i, Coss_i)之后就可以用梯形积分法近似计算Eoss(V)Σ [(Coss_{i1}·V_{i1} Coss_i·V_i)/2]·ΔV_i其实这里对被积函数f(v)v·Coss(v)做线性化近似功率器件手册曲线的精度本来就在5%到10%的量级梯形法带来的数值误差完全可以忽略。关键是低压区要取够点。用Python实现起来非常简单几十行脚本就能搞定。这里给一个可以直接用的参考实现采样点从数据手册提取后填入data数组即可import numpy as np # 采样点格式为 (Vds_V, Coss_pF)根据手册Coss-Vds曲线提取 data [ (0, 3200), (5, 3000), (10, 2600), (20, 1900), (30, 1500), (50, 1000), (80, 700), (100, 560), (150, 400), (200, 300), (300, 180), (400, 120) ] def calc_from_coss(samples, v_target400): # 转成numpy数组按电压排序 pts sorted(samples, keylambda x: x[0]) v_arr np.array([p[0] for p in pts], dtypefloat) c_arr np.array([p[1] for p in pts], dtypefloat) * 1e-12 # pF - F # 插值到更密的网格低压区额外加密 v_fine np.concatenate([ np.linspace(0, 50, 500), np.linspace(50, v_target, 2000) ]) c_fine np.interp(v_fine, v_arr, c_arr, leftc_arr[0], rightc_arr[-1]) # 梯形积分 eoss np.trapz(c_fine * v_fine, v_fine) # 单位焦耳 qoss np.trapz(c_fine, v_fine) # 单位库仑 return { v_target: v_target, eoss_uj: eoss * 1e6, # 微焦 qoss_nc: qoss * 1e9, # 纳库 coss_er_pf: 2 * eoss / (v_target**2) * 1e12, # 储能等效电容 coss_tr_pf: qoss / v_target * 1e12, # 时间等效电容 } # 示例计算400V偏置下的Eoss和Qoss result calc_from_coss(data, 400) print(result)插值这一步非常重要。原始取点通常只有十几二十个点直接拿这些点做梯形积分遇到曲线斜率变化快的地方误差会显得很突兀。先插值到几千个点误差就不会来自数值方法本身了。2.2 查表法直接读取Eoss-Vds特性第二种方法省心很多只需要会查表。这几年新出的大功率MOSFET和SiC MOSFET数据手册尤其是面向服务器电源、充电桩、车载OBC这类软开关应用场景推出的器件很多直接画了Eoss-Vds曲线坐标是微焦或纳焦对电压。英飞凌的CoolMOS系列、罗姆的SiC系列都在数据手册里单独给出了Eoss特性曲线。这种曲线给出了最直接的答案想在哪个电压下评估能量直接在曲线上找对应电压值读出Eoss数值即可。如果数据手册只给了离散几个电压点下的Eoss值可以直接记录容量相同的单位需要别的电压时用分段线性插值估算。查表法虽然快但也要注意读数误差。PDF图纸上印的对数坐标曲线用尺子量或者用取点工具读精度通常到不了3位有效数字。对于一般工程预算是足够的但如果要精确评估ZVS边界或者要做多方案对比选型仍然建议回到积分法或者用厂家的在线设计工具例如英飞凌官网上的CoolMOS选型工具很多可以按工作电压直接列出Eoss数值比自己读图靠谱得多。2.3 等效电容法Coss(er)与Coss(tr)的工程换算第三种方法本质上不是独立的测量手段而是把前面算出来的Eoss和Qoss折叠成两个等效电容值方便在电路公式里直接代入。这就是数据手册里Coss(er)和Coss(tr)的来源。Coss(er)衡量的是能量维度含义是如果我忽略Coss的非线性用一个固定容值的电容来近似它在储能方面的行为这个固定容量应该是多少。计算公式为Coss(er)2Eoss/V²。Coss(tr)衡量的是时间维度含义是用固定容值电容来近似它在充电时间方面的行为计算公式为Coss(tr)Qoss/V。对同一个器件、同一个电压点这两个值通常差一截。这里最容易被忽视的是使用场景的匹配。比如设计死区时间时要估算谐振电流把开关管漏源电容放到零需要多长时间正确的做法是用电荷除以电流即tQoss/I对应Coss(tr)。如果拿Coss(er)去算时间因为它的值偏小估算出来的死区时间会偏短实际电路可能还没来得及完成换流ZVS就泡汤了。反过来判断谐振能量够不够时要用Eoss或者Coss(er)如果用Coss(tr)去算能量又会把能量需求估得过大导致你白白增加励磁电流或者加大谐振电感白白牺牲效率。两个值各有各的用途不能互为替代。数据手册里如果两个都给了照着场景选就行如果只给了一个赶紧按前两节的方法自己把另一个算出来。3. 手把手算一遍全流程实操记录3.1 从数据手册提取曲线数据点理论讲了半天最终还是要落到具体操作上。这里用一款典型的650V超结MOSFET来做演示目标工作电压是400V这正好是常见的380V母线整流滤波后的典型电压场合。第一步打开数据手册找到Coss-Vds曲线图。这张图通常是三件套一起出现Ciss、Coss、Crss三条曲线画在同一张对数坐标里。我只关心Coss那条在看到纵轴单位是皮法pF之后就可以开始取点。如果手册有矢量PDF版本放大之后曲线依然清晰取点会更准确。在0V到400V范围内尽量多取点重点在低压区多加密因为Coss在这个区间变化最快。以本示例器件为例我取到了下面这些点VdsVCosspF032005300010260020190030150050100080700100560150400200300300180400120注意0V这个点也别漏。很多人在0V处不取点积分从5V开始但低压区的电容基数很大遗漏的这段对Eoss的贡献不可忽略尤其对总能量占比挺可观的。3.2 用梯形积分法计算Eoss把表里的数据填入上一节给出的Python脚本运行之后得到的结果大致是参数数值Qoss 400V约95nCEoss 400V约10.8µJCoss(er) 400V约135pFCoss(tr) 400V约238pF这里Qoss和Eoss的量级符合超结MOSFET的典型水平单片器件在400V母线电压下输出电容储能十几个微焦电荷百纳库左右。如果拿着这个器件的完整规格书对比会发现这份示例数据计算出来的Eoss值和手册给出的Eoss曲线在400V处的读数有差别但通常能控制在百分之几到百分之十几。取点精度、插值密度都会影响结果。关键结论是这个差异远小于用固定电容公式硬套带来的误差。可以顺手算一下用错误方法的后果。如果拿400V时测得的Coss120pF代入0.5CV²得到Eoss9.6µJ看起来误差不大。但实际很多工程师拿到的手册只标注了一个典型Coss值比如25V条件下的Coss1500pF用这个去算400V的Eoss结果直接变成120µJ放大超过10倍。可见用固定电容值估算非线性电容储能是完全不可靠的。3.3 用计算结果指导ZVS设计Eoss算出来之后下一步就是看它能不能被谐振网络成功消化。以一个单相全桥LLC变换器为例原边四只MOSFET母线电压400V次级全波整流。ZVS的完成需要两个条件同时满足。第一个是能量条件死区时间内谐振网络能为每个开关管提供的能量必须大于该管Coss里存储的能量同时还要算上次级侧器件的影响。第二个是时间条件死区时间必须足够长让电流把Qoss全部抽走但不能太长否则励磁电流反向ZVS窗口消失。能量条件的粗略估算公式是E_res ≥ Eoss_primary Eoss_secondary_reflected其中Eoss_primary是原边总输出电容储能通常按两只开关管串联状态等效计算。次级二极管的结电容会折算到原边具体折算系数取决于匝比平方。时间条件的估算公式是t_dead ≥ Qoss_total / I_pk其中I_pk是死区开始时流经开关管的谐振电流峰值Qoss_total是折算后的总电荷。注意这里用的是Qoss不是Eoss因为时间跟电荷线性相关。举个例子假设上面这款器件用在LLC原边励磁电感3A的峰值电流总折算Qoss约200nC那么死区时间至少需要200nC/3A≈67ns。这是理论下限实际设计建议预留至少1.5到2倍裕量取120ns到150ns比较稳妥。如果死区时间取短了Vds还没降到零就开始开通ZVS就变成部分ZVS甚至硬开通。4. 软开关系统设计中对Eoss的深入关怀4.1 选型时容易忽略的权衡关系软开关设计里有一个反直觉的选型矛盾导通电阻更小的管子通常晶圆面积更大输出电容Coss更大对应的Eoss和Qoss也更大。在硬开关拓扑里选小Rdson一般是降损耗的有效手段但在软开关拓扑里这个逻辑要打折扣——大Coss意味着每次开关都需要谐振网络提供更多能量去完成ZVS。尤其在做轻载效率优化时这个矛盾更尖锐。LLC在轻载下励磁电流减小可提供的谐振能量下降而大Coss器件需要的能量却更多ZVS很容易在某个负载点突然失效转换效率随之掉头向下。很多工程师调试时遇到轻载效率曲线出现一个异常凹坑排查半天发现是ZVS丢失根因就出在选型时只盯Rdson和耐压没算Eoss这笔账。比较稳妥的做法是在拓扑结构确定之后先估算开关管需要承担的ZVS能量预算再用这个预算去筛选候选器件。同一供应商的同一电压等级产品线里选Eoss适中的档位而不是盲目追求最低Rdson。必要时可以选带集成快恢复体二极管的超结器件或者在外部并联一个小电容来改善死区期间的电流分配这些操作在工程上都很常见。4.2 温度、偏置与并联折算Eoss不是恒定不变的数据手册的曲线通常是25℃条件下的典型值。温度的影响因材料而异硅基MOSFET随结温升高耗尽层电容会有一定程度增加Eoss整体会增大几个百分点到十几个百分点SiC MOSFET的电容对温度更不敏感但SiC器件本身Coss基数就大绝对变化量依然可观。设计高温工况时建议在常温Eoss基础上乘一个1.1到1.2的修正系数具体以手册提供的温度曲线为准。多管并联的折算也容易出错。理想情况下两只完全相同的MOSFET并联等效输出电容是单管的2倍Eoss也是单管的2倍。实际因为并联支路存在寄生电感差异、PCB走线电阻差异各管的Vds波形不会完全同步导致电压分配不均匀总的Eoss会略小于简单叠加的结果。更麻烦的是如果其中一只管先完成放电它就会把另一只管还在放电的电流引过来形成动态电流分配不均。所以在多管并联的ZVS设计中不能只算总能量还要关注各管的动态均压必要时给每只管加RC吸收或者增加死区时间余量。次级侧折算也不能漏。对于隔离型软开关拓扑次级整流管的结电容会通过变压器折算到原边与原边开关管的Coss并联参与ZVS过程。折算公式为C_reflected n²·C_secondaryn是原边对次级的匝比。匝比越大次级结电容的折算影响越大。在高压输出的场合次级二极管的结电容可能很大折算到原边之后甚至超过原边管自身的Coss这是很多LLC设计师在初版计算时忽略的隐藏项。4.3 用仿真工具验证Eoss的实用技巧初步设计阶段用数据手册算Eoss够用了但样机调试阶段如果遇到ZVS边界问题建议用仿真工具复核。现在的主流功率器件厂商都会提供SPICE模型这些模型里包含了准确的Coss非线性特性而且能模拟温度影响比手动查曲线更接近实际情况。最简单的仿真提取方法搭一个测试电路给器件漏源之间加一个线性斜坡电压源从0V缓慢扫到目标电压然后测量流过电压源的电流。Eoss的计算公式变为对瞬态功率积分Eoss∫v(t)·i(t)dt。斜坡扫描速度不能太快要保证电容充电过程处于准静态否则寄生电感引入的振荡会污染电流波形。一般建议扫描时间设在毫秒量级远大于器件本身的开关时间。仿真跑出来的Eoss可以直接导出成曲线和数据手册对比。如果差异超过20%优先检查模型版本是不是最新再检查扫描电路的寄生参数设置。很多时候仿真模型更新之后厂家会修正Coss的拟合精度差异就消失了。另外可以借助部分厂商的在线设计工具在选型阶段直接看某个具体工作电压下的Eoss、Qoss、Coss(er)、Coss(tr)省去自己提取曲线的时间。这类工具的输出数值通常直接来自器件模型可以作为手工计算结果的交叉验证。5. 常见问题与排查技巧实录5.1 高频错误把固定电容公式用在非线性电容上这是新手最容易踩的坑。看到Coss参数伸手就是0.5×Coss×V²代入数据手册标称的Coss典型值实际结果离真实Eoss差了10倍都有可能。原因前面已经详细说了Coss是强非线性电容手册标称的某个数值是在特定偏置电压下测得的不能代表整个0到V段的电容行为。正确做法永远是回到Coss-Vds曲线做积分或者直接使用Eoss-Vds曲线。如果只给了少数几个点的Eoss值宁可做插值也不要拿Coss去硬套。我自己的习惯是不管数据手册有没有直接给Eoss曲线只要我打算认真做软开关设计都会把Coss-Vds曲线用取点工具扫描一遍存成统一的脚本输入格式。这样后续换封装、换器件、做温度折算都只需要替换数据文件计算流程完全复用。5.2 死区时间到底该用哪个参数死区时间的计算是重灾区具体错误是用Eoss去除以电流算出来的单位变成了伏特而不是秒量纲都对不上结果自然荒谬。正确公式是tQoss/I或者tCoss(tr)×V/I。这里要特别注意Qoss和Eoss之间不能通过简单关系换算因为Coss的非线性决定了电荷和能量的分布不同。同样一款器件在400V下Qoss可能在95nC左右Eoss在10.8µJ左右。直接用Eoss除以400V得到27nC这个值跟真实的95nC差了不止3倍。如果有人拿这个27nC去算死区时间结构就是死区时间严重偏短样机必然出现ZVS丢失而且波形上看不出来是哪个环节算错了。5.3 手册曲线与实测对不上怎么办数据手册的Eoss曲线和实测结果对不上通常有三个层次的原因。第一个手册曲线本身是典型值不是最小值也不是最大值不同批次、不同结温都有偏差。第二个取点和插值过程带来的读数误差尤其是对数坐标下读图低压区稍微偏一点积分结果就变几个百分点。第三个测试电路寄生参数的影响实波器探头本身的电容会并到Coss上造成实测值偏大。排查步骤建议从第三个开始先去掉探头或者改用差分探头并扣除探头电容再看结果是否与手册曲线接近。如果仍然偏差很大就去找芯片厂家要该批次的具体测试报告或者直接跑一下厂商的官方仿真模型做对照。下面整理了一张常见问题速查表方便现场对照排查问题现象可能原因解决方案计算Eoss比手册曲线低很多低压区Coss采样点太稀积分漏掉了低压大电容段0V到50V区间增加采样点用插值加密ZVS死区时间估算偏短用了固定Coss值或者用了Coss(er)替代Coss(tr)改用Qoss或Coss(tr)计算时间轻载ZVS失效效率掉坑谐振能量不足器件Eoss偏大减小死区时间的同时优化励磁电流或者换Eoss更小的器件仿真Eoss与手册差异大斜坡扫描太快寄生电感干扰扫描时间放宽到毫秒级排除寄生参数多管并联ZVS不一致并联支路动态电流分配不均优化对称布局适当增加死区余量5.4 一个隐藏很深的技术细节最后分享一个我个人踩过的坑体二极管反向恢复电量和Coss放电不是一回事。很多MOSFET在反向导通时电流从源极流向漏极流过体二极管或同步整流沟道。当电压反转时体二极管存储的少子需要被抽取这个反向恢复过程会引入额外的电荷和损耗。这部分电荷并不包含在Coss定义的放电路径里。在ZVS过程中如果把体二极管的反向恢复电荷误当成Coss的一部分会高估所需能量如果完全忽略又可能低估了实际损耗。更准确的做法是在仿真模型里让体二极管和Coss分开表征观察Vds降到零之后体二极管反向恢复电流的持续时间。如果发现反向恢复特别明显说明器件选型需要重新考虑或者需要调整死区时间来避开过大的反向恢复窗口。还有一个实操细节测量Eoss时如果直接用双脉冲测试台去量得到的曲线往往包含寄生电感效应建议在仿真环境里先校正再回到示波器上验证。我做过几次之后发现仿真校正和实测结果的吻合度通常能达到90%以上足够用于工程决策。说到底功率器件的Eoss计算不是什么高深理论它的核心就是一条非线性曲线上的积分。把这个思路理清楚无论面对哪家厂商的哪款器件你都能快速定位到正确的计算方法把ZVS设计做在前面而不是等到样机调不出来再回头翻数据手册。
返回列表