尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

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

STNRG012数字PFC+LLC控制器设计与调试实践

STNRG012数字PFC+LLC控制器设计与调试实践 1. 项目概述STNRG012是一颗什么样的片子做开关电源这行绕不开PFC和LLC这两个词。最近我在做一个2kW服务器电源项目主控选了ST的STNRG012一颗数字式多模PFCLLC谐振控制器。很多朋友看到数字式三个字就有点怵觉得又要写代码又要调参门槛很高其实用下来你会觉得它的思路非常贴近模拟电源工程师的习惯上手比想象中平滑得多。这篇文章就围绕这颗料聊聊它是什么、怎么用、坑在哪。先回答最核心的问题STNRG012是一颗把两级功率变换的控制算法全部数字化的二合一控制器。所谓两级就是前级的PFC升压和后级的LLC谐振变换。传统方案通常用两颗独立的控制IC各管一级中间再用一堆模拟电路处理信号衔接而STNRG012把这两级都收进了一颗芯片通过内部数字内核统一调度。这样一来PFC级和LLC级之间的时序配合、负载动态响应、保护逻辑都能放到一个框架里协调不用再设计复杂的模拟互锁电路。从应用场景看这颗料主要面向四类电源产品笔记本电脑适配器、电视和显示器的内置电源、高性能充电器以及我这次做的服务器电源。它的输入电压范围覆盖90V到264V交流输出功率从65W一路可以做到2kW以上属于典型的一颗料打一片的设计。对于想要精简BOM、缩小PCB面积、提高批量一致性的团队来说它比传统模拟方案有非常明显的优势。这篇文章适合三种人阅读一是正在对比PFCLLC控制芯片选型的硬件工程师二是想把数字电源控制吃透的电源设计初学者三是已经在用STNRG012但遇到了启动、轻载、保护等实际问题的调试人员。我会把原理、设计步骤、调试心得和踩过的坑一起写出来尽量做到可以直接对着操作。提示我这里提到的具体参数和工作模式一部分来自数据手册一部分来自我在2kW电源项目中的实测数据。不同输入电压、不同负载条件下数据会有出入但方法论是通用的。2. PFC与LLC组合的架构逻辑2.1 为什么非要PFCLLC两级结构先聊一个经常被新手问到的点为什么现代开关电源要做两级前级升压后级谐振不能一级搞定吗答案是效率、功率因数和体积三个指标要同时兼顾单级拓扑很难撑住。电网进来的交流电如果不做功率因数校正整流桥后面直接接大电容输入电流会变成很窄的尖峰脉冲。电流谐波极大功率因数可能只有0.5到0.6电线上的铜损、变压器铁损都会明显上升。现在安规对谐波有硬性要求比如IEC 61000-3-2Class D设备对谐波限值卡得很严所以PFC级基本是必须的。PFC级把输入电流校正成和电压同相位的正弦波之后输出电压通常是380V到400V的直流母线。但问题是PFC升压级的输出纹波很大因为瞬时功率在两倍工频频率100Hz/120Hz上波动。如果直接拿这个母线电压给后级做稳压输出输出端会看到严重的低频纹波负载瞬态响应也很差。LLC谐振变换器正好解决这个问题。它的电压增益随开关频率变化而且开关管能在零电压开关ZVS条件下导通开关损耗大幅降低。后级LLC不仅把母线电压稳压成48V或12V还能通过自身闭环带宽在一定程度上抑制低频纹波。两级合在一起既满足了谐波标准又把系统效率推到了93%到96%的范围这在单级方案里很难实现。2.2 数字多模控制相比模拟方案强在哪传统的PFC控制器比如UCC28019、ICE2PCS01这些模拟芯片控制环路是用误差放大器和补偿网络搭出来的。参数一旦定了就不能改工作模式也相对固定。LLC控制器就更麻烦——它的调制策略、死区时间、突发模式阈值全靠外接电阻电容设定想改一个参数就得动硬件。STNRG012把这两级的控制环路都搬进了数字域。用通俗的话讲模拟方案像是用一堆旋钮和齿轮调速的机械钟表数字方案像是用程序控制的电子表表面上功能一样但后者能在不同状态下切换不同算法。这颗芯片最核心的卖点叫多模PFC意思是在不同负载条件下自动切换不同的工作模式重载时工作在CCM连续导通模式电流纹波小适合大电流输出。中轻载时切换到CrM临界导通模式电感电流刚好降到零再开启下一周期实现准零电流关断。极轻载时进入DCM断续导通模式或者直接进入burst模式降低开关损耗。这种自动切换能力是模拟控制器很难实现的因为模拟电路的比较器阈值是固定的而数字控制器可以根据负载反馈实时计算最优切换点。在实测中我这个2kW电源在10%负载下PFC级效率比纯CCM方案高了约2个百分点就是靠这种模式切换省出来的损耗。2.3 芯片内部通信与调试架构STNRG012的另一个特点是它有一个8位8051内核内部有Flash存储控制算法。你可以通过ST的编程工具把它连接到PC用图形化界面修改控制参数。刚听到8051内核你可能会觉得性能拉胯但它跑的是控制算法不是跑操作系统主频几十MHz足够用了。每周期PFC约100kHzLLC约100到300kHz的中断处理时间只有几微秒完全来得及。调试接口方面它支持ST的eDesignSuite软件。通过这个软件你可以实时读写内部寄存器查看输入电压、输入电流、输出电压、开关频率这些状态量。我实测下来eDesignSuite的示波器面板虽然比不了专业示波器但看环路波形、抓启动瞬态足够用。这对于调试LLC的死区时间、PFC的电压环带宽来说非常方便——改参数不用换电阻改完点下载就能测试。3. 核心细节解析从PFC原理到LLC谐振3.1 PFC工作原理与STNRG012的实现方式PFC的基本目标就一句话让输入电流的波形跟随输入电压的波形。Boost拓扑是实现这个目标最常用的电路结构。它的工作原理其实不复杂开关管导通时电感储存能量开关管关断时电感把储存的能量释放到输出电容。通过调节开关管导通关断的比例可以控制电感电流在一个工频周期内跟随正弦参考信号。STNRG012的数字PFC控制环路采用了平均电流模式控制。每个开关周期内部ADC对输入电压、电感电流、输出电压三个信号采样数字误差放大器计算出当前周期需要的占空比。它的算法里有一个关键技巧叫输入电压前馈就是根据输入电压瞬时值实时调整电流环增益。因为输入电压是正弦波瞬时值从零到峰值变化很大如果不做前馈电流环的增益会随输入电压大范围波动轻则电流波形畸形重则环路震荡。从热词搜索中大家也很关心PFC过零点的问题。过零点指输入电压正弦波穿越零点的那一刻此时电压值接近零电感储能能力极弱电流环很难维持正弦基准。很多模拟PFC控制器在过零点附近会出现电流畸变表现为电压过零附近电流波形塌陷。STNRG012的处理方式是在过零点附近检测到电流误差信号异常时自动延长开关管导通时间做一次功率补偿。这个处理在总谐波失真上的改善很明显我实测满载时总谐波失真从模拟方案的约8%降到了5%以下。3.2 LLC谐振变换器为什么需要漏感参与谐振LLC是电感-电感-电容的缩写。具体来说谐振腔由谐振电容Cr、谐振电感Lr和励磁电感Lm组成。很多人困惑LLC为什么需要漏感参与谐振这里我展开讲一下。变压器在物理上做不到完全耦合初级和次级之间总会有一部分磁通不耦合对方这部分对应漏感。在LLC变换器中这个看似缺陷的漏感恰恰被利用起来了——它被串联进谐振腔作为谐振电感Lr的一部分。实际设计中还有一种做法是变压器外面单独串联一个电感把总谐振电感做大但大多数设计优先利用漏感因为这样可以减少一颗离散磁元件节省PCB空间和成本。漏感的具体大小直接决定了增益曲线的形状和短路特性。漏感太小谐振腔储能不足ZVS范围变窄漏感太大谐振频率变低增益曲线变得平坦宽范围输出时频率调节范围可能不够。设计变压器时一般通过调整初次级绕组的耦合紧密程度来微调漏感——初级用分层绕法漏感小用三明治绕法漏感也小想增大漏感就把初次级绕组分开一些或增加磁芯气隙的挡墙结构。3.3 LLC增益曲线与工作点选择LLC的电压增益曲线大家应该很熟悉就是输出/输入电压比随着开关频率变化的那条曲线。它的形状有两个谐振频率决定一个是Lr和Cr串联谐振频率fr另一个是LrLm与Cr的并联谐振频率fm。当开关频率处在fr附近时增益约为1频率越高增益越低工作在曲线右侧频率越低增益越高工作在曲线左侧。这里有一个经典问题LLC工作在右边比左边效率高吗答案是通常是的稍微展开一下。工作在曲线右侧时开关频率高于谐振频率励磁电感Lm被输出电压钳位的时间较短励磁电流的峰值相对较小循环能量低因此原边电流有效值小传导损耗和磁性元件损耗都更低。工作在曲线左侧时开关频率低于fr电路进入升压区增益高于1但励磁电流很大循环能量显著增加电流有效值上升开关管和磁元件的发热会明显增加。所以工程上的共识是设计LLC时常态满载工作点尽可能安排在fr附近让电路工作在曲线右侧略高于fr既能保证效率又有一定的增益余量。只有需要在输入电压跌落时维持输出电压稳定才让电路短暂落到曲线左侧。STNRG012的控制环路里默认的LLC调制策略也是类似思路它内部有最优频率窗口算法会尽量维持满载开关频率在谐振点附近只在输入电压变化时偏移频率。我在调试这个2kW电源时满载效率最高点确实出现在开关频率123kHz、谐振频率120kHz附近比偏离谐振点5%时效率高出约0.8个百分点实测差异很可观。3.4 LLC输出电容怎么选再聊一个很多人设计时不太在意、但踩坑无数的参数LLC输出电容。LLC输出电容的作用和反激电源不同。反激电源的输出电容需要承担几乎所有纹波电流而LLC的输出电容主要承担两倍工频纹波和负载瞬态能量。选择输出电容时我一般按三个维度来定纹波电压要求比如48V输出纹波目标100mV纹波电流在满载时可能有十几安培需要用多个电解电容并联分摊。瞬态响应要求负载从10%跳到100%时输出电压跌落限制在3%以内。这个要求通常比纹波要求更苛刻决定了电容总容量的下限。电流纹波寿命电解电容的纹波电流规格和寿命直接相关如果选小了电容内部发热严重寿命会急剧缩短。我这次的2kW设计48V输出输出电流约42A在LLC输出端并联了6颗470μF/100V的低ESR电解电容总容量2820μF。实测负载突变时电压跌落约1.2V在3%范围内纹波也能控到80mV以内。如果你做的是轻薄适配器可能装不下这么多直插电解就得考虑用聚合物电容配合MLCC混搭容量可以适当小一些但瞬态性能会受影响需要权衡。4. 实操过程基于STNRG012的完整设计流程4.1 从需求到电路拓扑的拆解我以这次2kW服务器电源项目为例带着大家走一遍基于STNRG012的完整设计流程。需求是这样的输入90V到264V交流电输出48V/42A峰值功率2000W效率目标94%待机功耗小于0.5W。第一步是确定整体架构。前级PFC用Boost拓扑输出母线设定为400V后级LLC用半桥拓扑谐振频率设定为120kHz。这里为什么选半桥而不是全桥STNRG012本身内置的是半桥驱动控制模块天然适配半桥LLC。而且2000W这个功率档位半桥LLC搭配输入母线400V输出电流42A副边用全波整流是成熟可靠的方案。如果功率超过3kW通常会考虑全桥或交错式架构那就不在这颗芯片的典型推荐范围内。为什么半桥LLC在这个功率档位是合理的因为半桥LLC的原边开关管承受的电压应力是400V母线电压副边用的是中心抽头全波整流二极管的电压应力大约是2倍输出电压。在2000W级别这种应力分配是可控的。如果强行用半桥做到3kW以上原边电流会变得很大变压器和开关管的导通损耗急剧上升性价比就不行了。第二步是选择功率器件。PFC开关管我用了一颗氮化镓GaN器件配合SiC二极管开关频率100kHz。GaN器件的反向恢复电荷很小在CrM模式下关断损耗极低。LLC原边用了两颗高压MOSFET做半桥死区时间由STNRG012根据负载自动调节我需要通过eDesignSuite设定死区时间的上下限。副边整流用的是两颗肖特基MOSFET管做同步整流由STNRG012的副边驱动信号控制这样在低压大电流输出场景下能再省下约2%的损耗。4.2 关键元器件的参数计算与选型PFC电感的计算是第一个关键步骤。母线电压400V最小输入电压有效值90V输出功率2000WPFC在CrM模式下电感峰值电流大约是满载平均电流的2倍。输入满载时平均电流约22A所以峰值电流设计值约44A。CrM模式下电感量L由下式决定L (Vout × D × (1-D)) / (2 × fr_switch × I_peak)其中D是占空比在峰值时刻的数值粗算约0.85因为90V输入时Boost占空比接近1-90峰值/4000.85I_peak约44A开关频率按最低设定为30kHz。代入算下来需要的峰值电感约100μH。实际我选择了110μH的电感留了一点余量。这里要提醒一句CrM模式的开关频率是随负载和瞬时电压变化的重载低输入时频率最低轻载时频率会升高到100kHz以上选择磁芯时要确保全频率范围损耗可接受。我用的磁芯是铁硅铝材质的环形磁芯优点是直流偏置特性好不易饱和。LLC谐振参数的计算稍微复杂一些。我设定满载谐振频率fr120kHz最高频率130kHz最低频率88kHz对应输入最低电压时增益约1.15。变压器匝比按满载增益1:1附近设计Np:Ns16:4即4:1。励磁电感Lm的选择直接关系到ZVS条件和增益范围经验公式是取Lm为谐振电感Lr的3到5倍。我先根据允许的最大励磁电流设定Lm450μH然后推算出Lr120μH。Cr则由谐振公式fr1/(2π√(L_r·C_r))计算得到约14nF。选用两颗C0G电容并联高温稳定性更好容量误差更小。注意Lm的取值要兼顾两个约束一是保证在最小输入电压、最大负载时增益足够二是保证原边开关管能实现ZVS。Lm太大励磁电流过小半桥的中点对地电容开关管寄生电容并联没有足够的电荷被抽走ZVS会失效Lm太小又会导致大的循环电流和额外损耗。这是一个典型的折中过程不能只看一个公式直接落地。4.3 基于eDesignSuite的配置流程STNRG012的寄存器配置是开发中绕不开的一环。用eDesignSuite新建一个STNRG012工程后界面会引导你填写规格参数包括输入电压范围、输出电压电流、PFC级和LLC级的期望开关频率。填完后软件会生成一版初始配置直接写入芯片就能跑起来。不过我必须提醒软件生成的是能工作的参数不是最优的参数。我在实际调试中发现软件默认生成的PFC电流环比例增益偏保守重载时母线电压有约8V的低频波动。我通过eDesignSuite把PFC电压环增益调高了一档同时把前馈系数做了微调母线波动降到3V以内。LLC部分最需要手动设置的参数是死区时间。STNRG012可以在芯片内部配置最小死区时间和最大死区时间范围从80ns到500ns。死区太短可能出现上下管直通死区太长开关管实现ZVS后有一段时间体二极管导通造成额外的二极管损耗。我建议把最小死区设为120ns最大死区设为300ns让芯片内部的自动调节算法根据负载状态在这两者之间动态选择。GaN器件更推荐用偏小的死区因为它的体二极管反向恢复比硅管快但死区过大时的振铃发热问题会更突出。4.4 负载瞬态与启动时序调试调完基本环路之后最花时间的是负载瞬态响应和启动时序。负载瞬态响应看的是输出电压在负载突变时的过冲和下冲。STNRG012的LLC环路是一个基于频率调制的环它对负载突变有天然的延时因为频率的变化要经过谐振腔才能反映到输出电压上。为了减小过冲芯片提供了一个前馈机制检测到负载突变时PFC级和LLC级同时做出响应LLC级会快速把频率拉到预设的上限或下限而不是靠普通环路慢慢爬。这种两级联动的效果比单独调LLC环路增益有效得多。启动时序方面STNRG012有一个内部状态机管理上电顺序。它会先让PFC工作把母线电压升到目标值母线稳定后再启动LLC输出电压软启动到设定值。这个顺序很重要如果LLC先启动母线电压不够它为了维持输出会输出最低频率导致非常大的原边电流很可能直接触发过流保护或烧掉开关管。我遇到过一版固件因为调试时关闭了PFC级、直接给LLC加直流母线结果一上电就进入过流保护。检查后发现是我把启动时序的delay参数设成了0芯片检测到母线电压还没稳定就提前解锁了LLC。这个参数一定要保留至少50ms的等待时间保险起见建议100ms。5. 常见问题与排查技巧实录5.1 PFC轻载时的间歇工作模式怎么处理热词搜索中PFC级在轻载时如何避免间歇工作模式的步骤和注意事项这个话题被反复问说明大家普遍遇到过。轻载时PFC的输出能量需求很小如果继续每周期开关开关损耗占比会急剧上升效率很难看。解决办法是进入突发模式即工作一段时间、停止一段时间用打嗝的方式维持输出。但突发模式有个副作用输出电压纹波会增大而且可能会产生音频噪音频率处于人耳可听范围20Hz到20kHz内时尤其明显。STNRG012的解决方案是让突发频率高于20kHz同时控制突发期间的电流幅值不要太大。我实际调试时发现一个细节突发模式开启的阈值不能设得太高否则从突发模式切回正常模式的过程中PFC电压环会觉得输出电压偏低突然加大占空比导致母线过冲几十伏。解决方法是把突发模式的退出阈值设得比进入阈值高10V左右形成一个迟滞窗口这样切换过程就会平稳得多。这个迟滞窗口可以在eDesignSuite的PFC配置页里设置。5.2 LLC启动时输出过冲怎么抑制LLC启动时输出过冲是常见问题。原因很好理解LLC的增益曲线在低频侧增益很大启动瞬间控制环还没建立反馈如果开关频率从低频开始扫描输出电压会迅速冲高。STNRG012内置了软启动功能启动时它会让开关频率从最高频率逐渐降低到目标频率。初始频率设多高很有讲究我建议设成满载谐振频率的1.3倍以上因为频率越高增益越低输出电压上升越平缓。实测中我的最高频率设为156kHz120kHz的1.3倍软启动时间设成20ms输出过冲控制在3%以内。如果你的电源过冲还是太大还有一个办法是分两步走先启动PFC让母线电压软启动到300V再切换LLC。这样LLC启动时的输入电压就降低了增益需求相应降低过冲自然变小。STNRG012支持这种分段式启动可以在寄存器里配置中间母线电压值。5.3 常见问题速查表这里直接把我在调试中遇到过的、以及同行经常问的问题整理成一个表格方便你以后对照排查。现象可能原因排查方法与解决措施PFC电流波形畸形电流环增益不足或输入前馈系数偏差在eDesignSuite中加大电流环积分增益同时校准输入电压采样分压电阻PFC电感啸叫突发模式频率落入可听频段提高突发模式的最小频率到22kHz以上或减小突发功率阈值轻载时母线电压过冲突发模式退出阈值设置过小增加迟滞窗口典型值10V至20VLLC启动时输出过冲软启动初始频率太低或软启动时间过短将初始频率设为满载谐振频率的1.3倍软启动时间设20ms以上原边MOSFET发热严重工作点长时间位于增益曲线左侧循环能量过大调整变压器匝比让满载工作点回到谐振点附近负载突变时输出跌落过大LLC环路带宽不足或缺少前馈启用STNRG012的负载前馈功能同时检查输出电容容量是否充足上电即过流保护启动时序设置不当LLC在母线未稳定时提前启动检查启动时序delay参数确保PFC母线稳定后再解锁LLC同步整流驱动异常副边驱动信号极性不对或死区冲突检查同步整流配置寄存器确认驱动极性匹配实际电路5.4 数字控制器的调试环境搭建经验最后聊点调试环境的心得。STNRG012的调试需要一块USB转I²C的调试板ST官方叫ST-LINK或专用编程小板。连接好之后用eDesignSuite打开在线调试模式可以看到实时寄存器值。我强烈建议准备三个工具再开工一台可以记录波形的示波器至少2个通道最好4个一个电子负载能支持动态负载模式以及一个隔离变压器给电源供电。为什么一定要隔离变压器因为你要测量PFC和LLC的波形示波器探头的地线会通过电源的地和你的系统地连在一起如果不隔离可能炸机或者跳闸。这是我第一个数字电源调试时的血泪教训。调试顺序上我也给一个建议先单测PFC确认母线电压稳定后再调试LLC。不要一上来就两级联调出了问题很难定位是前级还是后级的锅。STNRG012的一个好处是它支持在调试模式下单独禁用LLC输出只让PFC工作这比模拟方案里把后级控制芯片断电硬拆方便太多了。这里有个纯经验的小技巧分享给新手安装好eDesignSuite后第一时间把软件生成的默认配置原样写入芯片先让电源能启动、能带满载再去修改参数。很多人喜欢一开始就把所有参数改成自己的理想值结果整机一步到位启动失败不知道是硬件问题还是参数问题。先跑起来再逐步优化这个顺序能帮你省掉至少一天的排查时间。先用默认配置跑起来还有个好处就是你有了一个标准答案之后再改参数可以直接对比这个标准波形判断改动方向是否正确。6. 写在最后的几点实操心得STNRG012这套数字方案用下来我最直观的体会是它把电源工程师的精力从焊板子调电阻转移到了架思路整参数上。以前做一个两级电源PFC和LLC各有一个补偿网络每个网络至少两组RC参数和环路的耦合关系很微妙调起来全凭经验和运气。现在全在寄存器里改配合实时波形监控几分钟就能完成一次参数扫描。但我也要说句实话数字电源不是万能药。它的上限还是由功率级硬件决定的——变压器设计得不好增益曲线不对控制算法再强也救不回来。再一个就是调试门槛如果你完全不懂LLC的增益曲线、不懂ZVS条件那么面对几百个寄存器参数会非常茫然。工具再好功率级的基本功仍然是硬门槛。最后分享一个小习惯每次修改参数前先把当前配置用eDesignSuite导出保存成一个备份文件。我试过几次参数改乱想回到上一版如果没备份就只能凭记忆重填非常麻烦。给每个版本的配置文件命名时标上日期和修改内容比如STNRG012_2kW_v1.3_软启动20ms几周后回头看这个习惯能帮你理清很多调试思路。这个习惯看起来简单实际调试中能救你很多次。
返回列表