
我最近在调试一个支持USB PD的便携充电仓输入电压从5V到20V横跳电池端却始终要稳定在3.0V到4.4V之间整机功率需求还随着快充协议不断变化。用传统Buck方案时输入一高效率就往下掉换成Boost方案低压输入又扛不住电流。折腾了两个星期换了一轮评估板最后才意识到真正该选的是Buck-Boost Charger ICs。这类芯片不是简单把升降压拼在一起而是靠一套完整的拓扑和模式切换逻辑让整个功率路径在宽电压范围内始终贴着高效率区间走。这篇文章就把我在这轮选型和调试中沉淀下来的东西整理出来包括Buck-Boost充电IC的拓扑原理、模式切换逻辑、实测效率数据以及我在PCB布局和电感选型上踩过的几个坑希望能给正在做USB PD快充、TWS充电仓、移动电源或工业手持设备供电方案的朋友一些参考。1. 为什么普通Buck/Boost充电方案在宽电压场景下会“吃亏”先说结论Buck-Boost Charger ICs的定位不是要把单个转换效率做到99%而是让整个充电系统在宽输入电压、宽电池电压的区间内始终保持一个不拉胯的效率水平。这个“保持”过程恰恰是普通Buck或Boost方案做不到的。1.1 从一次TWS充电仓设计说起我最初做TWS充电仓电源方案时输入来自USB口标称5V电池是单节锂电电压范围3.0V到4.4V。当时用的是经典Buck充电IC效率曲线在5V输入、电池3.7V附近时确实漂亮峰值能到93%左右。但问题是一旦适配器输出电压掉到4.5V或者电池电压冲到4.35VBuck的占空比接近极限开关管的导通损耗和续流损耗占比迅速上升效率能掉到85%以下。这个场景其实很典型很多充电仓标称支持5V/2A输入但实际用的适配器线损大到设备端的电压可能只有4.6V左右。对Buck方案来说输入和电池电压越接近等效占空比越极端效率崩塌得越快。换成Buck-Boost方案之后4.5V输入和4.4V电池电压这种临界场景芯片会自动切换到Buck-Boost模式用一个“先降后升”或“先升后降”的中间路径来缓冲电压差反而能在临界点附近维持住效率。1.2 输入电压范围决定了拓扑选型的下限BB充电IC的核心场景有两个一个是输入电压低于电池电压时需要升压比如双节电池串联的设备用5V USB充电另一个是输入电压远高于电池电压时需要降压比如USB PD适配器输出20V给单节电池充电。单独的Buck只能做“高到低”单独的Boost只能做“低到高”而Buck-Boost则能覆盖“低到高”“高到低”以及“高低接近”三种场景并且通过模式切换让各个区间都工作在合理效率下。我见过不少工程师用“BuckBoost两级方案”来替代Buck-Boost也就是前面一级Boost把电压抬到固定值后面一级Buck再降压充电。这种方式在原理上可行但两级转换意味着两次损耗叠加满载效率天然少3到5个百分点而且物料成本多一颗电感、多两颗MOS。Buck-Boost Charger IC用一组四开关拓扑完成升降压单级转换损耗路径短效率天然有优势。1.3 哪类产品最该用Buck-Boost根据我这几年做的项目下面这三类场景最值得认真考虑Buck-Boost Charger ICs车载充电器或适配器直充设备输入电压范围从9V到24V波动传统Buck在低压差时效率掉得特别快Buck-Boost能把临界点平滑过去。支持USB PD的多电池串联设备适配器可能输出5V、9V、15V、20V电池电压也可能在6V到12V之间变化输入和输出交叉变化只有Buck-Boost能全部覆盖。宽温工业手持设备电池电压会随温度和放电深度大幅波动系统还要求全程稳定输出不能因为电压临界就在Buck和Boost之间频繁切换。如果你的产品输入和电池电压区间比较固定比如永远是5V输入、单节电池那用标准Buck方案就够了没必要多花钱。但只要有“输入可能比电池电压低”或“输入范围横跨电池电压”的情况Buck-Boost就不是备选项而是必选项。2. 四开关Buck-Boost拓扑的效率来源拆解Buck-Boost充电IC内部核心是四个MOSFET组成的H桥结构外加一个电感。相比单级Buck或Boost多了一对开关管但正是这对开关管的配合方式决定了它在宽范围下的效率表现。2.1 四种工作状态与模式切换四开关拓扑可以简单拆成四个工作状态Buck模式Q1作为高边开关以PWM方式工作Q2作为低边同步整流管Q3持续导通Q4持续关断。此时等效于经典Buck电路电流从输入经Q1、电感、Q3直接流向电池Q2提供续流回路。Boost模式Q3作为高边开关以PWM方式工作Q4作为低边同步整流管Q1持续导通Q2持续关断。输入经由Q1、电感直接进入升压级Q4负责存储和释放电感能量。Buck-Boost模式四个管子全部参与开关电感先充电再放电中间节点电压被钳位到某个中间电平从而实现“无论输入高于还是低于输出都能稳定调节”。直通模式当输入电压与目标充电电压非常接近时芯片可以跳过开关动作让输入直接经过电感和MOSFET的导通路径进入电池此时损耗只有Rdson和电感DCR上的导通损耗效率最高。模式切换是衡量一颗Buck-Boost充电IC好坏的核心指标。业内常见做法是设置一个“迟滞窗口”比如当输入电压比电池电压高0.3V时进入Buck模式低于电池电压0.3V时进入Boost模式中间区域则工作在Buck-Boost模式。这个窗口不能太小否则输入电压轻微波动就会导致模式频繁切换电感电流出现尖峰效率反而不稳定。2.2 轻载效率的关键——PSM模式B充电IC在重载下效率主要由开关损耗和导通损耗决定设计得当的话能跑到95%以上。但真正拉开差距的是轻载场景比如TWS充电仓充满后进入涓流充电充电电流只有50mA到100mA如果芯片还以固定频率做PWM开关开关损耗占比就会非常大效率可能跌破70%。很多Buck-Boost Charger ICs在轻载下会自动进入PSM脉冲跳跃模式。简单理解就是检测到输出电流变小后芯片不再每个周期都开关而是“看情况”地间隔几个周期才开一下让电感电流保持在临界连续和断续之间。这种模式下开关次数大幅减少静态损耗被压到极低我实测过某款芯片在30mA充电电流下PSM效率可以做到80%以上而同样的负载用固定PWM只能做到60%左右。当然PSM也有代价就是输出电压纹波会变大。对充电应用来说这不是大问题因为电池本身就是一个大电容纹波被电池吸收后影响可以忽略不计。2.3 同步整流和低Rdson值为什么值得看早期非同步Buck-Boost用的是二极管续流导通压降0.4V到0.5V电流一大损耗就非常可观。现代Buck-Boost Charger ICs全部采用同步整流结构也就是说续流路径也由MOSFET完成压降只有“电流乘以Rdson”通常在10mΩ到50mΩ级别。以2A充电电流计算非同步方案续流损耗接近1W而同步方案只有0.08W到0.2W差距巨大。挑选芯片时不能只看高边MOS的Rdson低边同步管的Rdson同样重要尤其是Boost模式低边管在一整个开关周期内都承担电感储能电流它的损耗占比往往比高边管还大。有些厂商datasheet会把两个Rdson分别列出来如果只给一个综合值一定要问清楚是哪个位置的。3. 充电管理里那些容易被忽略的效率杀手很多人在Buck-Boost充电IC上明明选了好芯片最终板子实测效率却和datasheet差了好几个点。问题往往出在充电管理的外围设计上以下几个细节是重灾区。3.1 充电电流检测电阻的位置充电电流检测通常有两种方式高边检测和低边检测。Buck-Boost充电IC内部集成了不少功能但如果是外部检测电阻方案电阻位置会直接影响系统效率。高边检测电阻串在输入或电池正端检测到的电流就是实际充电电流但电阻上的压降会造成额外的导通损耗。以10mΩ检流电阻、3A充电电流计算损耗就是0.09W看似不大但PCB上如果走线过长加上检测电阻本身的温漂效率损耗会被放大。低边检测虽然不增加正端路径损耗但会把系统地平面抬高对充电IC的模拟控制环路造成干扰需要额外注意布局。我个人的习惯是优先选择芯片内部集成检流放大器的方案这样外部只需要一个精密电阻而且可以通过芯片内部的校准机制减小误差。如果不支持就把检流电阻尽可能靠近芯片的电感引脚用开尔文走线接到检测端避免大电流路径和检测路径共用一段铜皮。3.2 路径管理NVDC与混合模式的取舍充电IC不只是简单把能量从输入搬到电池还需要同时给系统负载供电。经典的NVDC窄电压DC架构会把系统电压钳位在电池电压附近电池电压高时系统电压也高电池电压低时需要升压电路维持系统电压。这种架构在传统Buck充电IC上没问题但到了Buck-Boost上就需要额外注意如果系统负载和电池共用同一节点那么在模式切换的瞬间系统电压可能出现短暂的跌落。比较新的Buck-Boost Charger ICs采用了混合模式路径管理也就是输入功率可以在“给系统供电”和“给电池充电”之间动态分配系统电压由独立的降压或升降压转换器维持不直接跟随电池电压。这样做的好处是系统电压纹波小、效率高但代价是芯片外部需要一颗额外的电感或者一个更复杂的功率路径。选型时不要只看芯片本身的效率要看整个系统的“端到端效率”。如果芯片宣称效率97%但路径管理是NVDC架构系统电压被迫在3.0V到4.4V之间波动后级的DCDC还要再做一次转换那么系统整体效率就会损失两次转换的损耗。混合模式虽然增加了电路复杂度但对整机功耗敏感的场合是值得的。3.3 静态电流与电池漏电充电完成之后芯片并不会完全关闭内部的控制电路、电压检测、电池监控都会消耗静态电流。对便携设备来说这颗静态电流直接变成电池的自放电损耗长期静置后回来发现电池电量掉了一截多半就是芯片静态电流太大。我遇到过一个项目整机待机电流标称只有50uA但实测放一周电池掉了15%排查到最后发现是充电IC在“Standby模式”下静态电流居然有120uA而芯片手册标称的5uA是在“Shipment模式”下测的。这里提醒各位选型时一定要区分“待机”“休眠”“运输”“充电完成”这几种状态的静态电流指标并选择在对应状态下能真正进入低功耗的Buck-Boost Charger ICs。4. 实测效率数据与PCB布局建议理论讲完上实测。下面是我在一款支持1到4节电池的Buck-Boost充电IC上做的测试输入分别设定为5V、9V、20V电池电压3.7V负载为2A恒流充电测试了四种模式下的效率。输入电压工作模式充电电流效率备注5.0VBoost2A93.8%输入与电池压差约1.3V9.0VBuck2A96.2%输入远高于电池12.0VBuck-Boost过度区2A94.5%模式切换窗口内20.0VBuck2A95.1%高输入压差下开关损耗占比上升可以看到纯Buck模式下效率最高能达到96%以上Boost模式次之Buck-Boost模式因为四个开关管都在动作损耗天然偏高但仍然维持在94%以上。这个数据说明了为什么芯片要在“不需要升降压的时候尽量用Buck或Boost”而不是全程都跑Buck-Boost。4.1 布局影响效率的三个真实案例第一块样板我犯了个典型错误把输入电容放在距离芯片SW节点约8mm远的地方结果VIN引脚的寄生电感变大开关瞬间电压尖峰超过30V不仅效率低了2个百分点还差点打穿MOS。后来把输入电容和芯片VIN引脚放在同一层、距离小于2mm尖峰一下降到18V以内效率也回升了。第二个案例是电感下方铺铜问题。为了散热PCB底层在电感正下方做了一块大面积铺铜看起来散热好但实际上电感在开关频率下的交变磁场在铺铜面上感应出涡流涡流又反作用于磁场等效电感的AC损耗大幅上升。去掉电感正下方的铺铜后保留磁屏蔽区域之外的铺铜1300kHz下的电感温升降低了约8摄氏度整体效率提升了0.8到1个百分点。第三个案例是检测电阻的走线。最初用普通细线从检流电阻两端走回芯片结果因为走线过长且经过过孔引入额外的0.3Ω寄生电阻导致芯片实际检测到的电流比真实值大充电电流被压低效率计算看起来就不对。改成开尔文接法后问题消失。4.2 电感选型DCR比饱和电流更值得关注很多工程师选电感只盯着饱和电流觉得“电流够大就行”但Buck-Boost充电场景里电感的DCR直流电阻对效率的影响通常比饱和电流更明显。以2A充电电流为例一颗DCR为80mΩ的电感会产生0.32W的损耗而DCR为30mΩ的电感只有0.12W损耗差别就是约1个百分点的系统效率。选电感时除了看饱和电流要大于充电电流的1.2到1.5倍还要看DCR在100kHz下和开关频率下的AC阻抗。磁芯材料对AC损耗影响巨大铁硅铝和铁镍钼在高频下表现不同前者的AC损耗更低但饱和曲线更软。我个人的经验是开关频率超过1MHz时优先考虑低损耗磁芯的电感哪怕DCR稍高一点综合效率可能反而更好。4.3 模式切换时的动态响应这个放在布局里一起说因为它是容易被实测忽略的指标。Buck-Boost充电IC在做模式切换时如果环路的带宽不够或者切换逻辑有毛刺充电电流会出现短暂的过冲或回落。我在示波器上抓电流波形时发现切换瞬间电流尖峰最高能到设定值的1.6倍持续几百微秒。虽然对电池伤害不大但如果芯片与后级系统共用输入总线这个尖峰可能引起输入电压跌落干扰其他电路。解决方法是在芯片VIN和GND之间放至少一个100nF的高频陶瓷电容同时把模式切换阈值设置在“电流较小”的工作区间比如恒压充电阶段这样切换瞬间的能量冲击更小。如果芯片支持寄存器配置也可以适当增加切换迟滞窗口。5. 选型与调试阶段的常见坑最后聊聊选型和调试时最常遇到的问题。这些坑没有一个是我在datasheet上直接看到的全是实际调试中撞出来的。5.1 模式切换“死区”造成的电压塌陷有些低成本的Buck-Boost Charger ICs在做Buck到Boost切换时会有一个短暂的“死区”也就是四个开关管都处于关闭状态电感电流没有续流路径输出电容单独承担负载。如果切换瞬间负载电流很大输出电压就会出现明显凹陷严重时系统复位。我遇到过一款芯片在输入电压从5.2V下降到4.8V的过程中输出从4.2V瞬间跌到3.6V直接导致后级DCDC欠压保护。后来查了芯片手册发现它的模式切换带宽只有20kHz而负载瞬态变化速度远高于这个值。解决方法是换用切换带宽更高或采用无缝切换技术的芯片或者在输出端加一个足够大的储能电容。5.2 输入限流设置不当导致的充电电流波动Buck-Boost充电IC通常有输入限流功能也就是限制从适配器抽取的电流不能超过某个阈值。这个功能在输入电压很低时特别重要比如5V输入想拉3A电流适配器实际上可能只能提供2.5A如果芯片强行拉3A输入电压会被拉低芯片会通过降低充电电流来保输入电压。问题在于有些芯片的输入限流环路和充电电流环路互相影响当适配器电压波动时两个环路会形成振荡充电电流出现周期性波动。调试时我遇到过从1.5A到2.2A来回摆动的情况周期大约10ms。解决方法是检查输入电容的容值是否足够大推荐至少22uF同时确认芯片的输入限流点设置是否留有裕量不要把限流点设得和适配器最大输出完全一样留5%到10%的余量更稳。5.3 热设计效率再高也扛不住散热盲区Buck-Boost充电IC在满负载下芯片本体温度大约会比环境温度高40到60摄氏度如果PCB散热面积不够结温会逼近125摄氏度过温保护点。我见过一块小板子芯片底部焊盘没做过孔阵列充电到3A时5分钟就触发了过温降流实际充电电流被限制到1.2A。散热设计要点很简单芯片底部焊盘要开足够多的过孔到背面铜皮每个过孔直径0.3mm到0.35mm间距1mm以内然后背面铺铜并连接到系统GND。另外电感和检流电阻也要避开PCB边缘和远离发热源避免热叠加。我在一块27mm x 27mm的小板上验证过做好底部散热过孔后同样的条件下温升降低了约15摄氏度效率数据也稳定了。5.4 在IDE里看不到的寄存器配置问题现代Buck-Boost Charger ICs几乎都是I2C可配置的这带来了极大的灵活性也埋了坑。很多芯片出厂默认是“Transport模式”电流输出为零必须通过I2C写入正确的配置后才能正常充电。如果你拿到评估板发现芯片“不工作”先确认是不是没有初始化。另外寄存器里的“输入电压限制”和“充电电压限制”两个参数的优先级会影响整个充电过程。比如你把充电目标电压设成4.35V但输入电压限制设成4.2V那么芯片会认为输入电压不足始终不会进入恒压阶段充电电流会一直被压低。调试时遇到“电流上不去”的问题先读全寄存器再人工计算一下当前配置下的最大允许功率是多少别一开始就怀疑芯片坏了。6. 总结Buck-Boost Charger ICs不是万能药但解决的是根本问题做了这么多项目我的体会是Buck-Boost Charger ICs解决的核心矛盾是“输入电压和电池电压关系不确定”带来的效率问题。它通过四开关拓扑和智能模式切换把一个本来可能需要在不同拓扑之间相互切换的系统收敛到一颗芯片里效率更高、布板更简单、系统也更可靠。如果你正在做一个输入范围很宽、电池电压又会变化的充电方案建议直接评估Buck-Boost Charger ICs而不是在Buck和Boost两级方案里反复折腾。选型时重点看三件事模式切换逻辑是否平滑、轻载PSM效率曲线是否漂亮、外围电路对PCB布局的容忍度是否够高。我后面还会把这颗芯片在USB PD3.1多接口充电器里的实际表现整理出来包括不同协议档位下的动态切换和效率对照数据。如果你也在做类似的方案欢迎一起交流。