BQ25890H电源管理芯片:集成快充与OTG的嵌入式设计指南
2026/7/24 10:39:52 网站建设 项目流程

1. 项目概述与核心价值

在移动设备设计领域,电源管理单元(PMU)的性能直接决定了用户体验的“底线”与“上限”。这个底线是设备能否稳定开机、可靠运行,而上限则是充电速度、续航时长以及能否化身“充电宝”为其他设备应急供电。过去,我们常常需要将充电管理、升降压转换和路径管理等功能分散在多个芯片上,这不仅增加了布板面积和BOM成本,更带来了复杂的时序控制和可靠性挑战。今天要深入拆解的德州仪器BQ25890H,就是一款旨在解决这些痛点的“全能型选手”。它是一颗高度集成的I2C可控、5A开关模式电池充电管理芯片,不仅集成了高效的降压充电器,还内置了支持USB On-the-Go (OTG) 的升压转换器,其核心的MaxCharge技术能智能兼容各类高压快充适配器。简单来说,它把给设备快速充电(Buck)和让设备给外界供电(Boost)这两件事,优雅地整合在了一颗4mm x 4mm的小芯片里。

这颗芯片的价值,对于嵌入式硬件工程师和电源系统架构师而言是实实在在的。首先,它通过高达93%的充电效率(2A时)和91%(3A时),将更多的能量送入电池而非转化为热量,这对于追求轻薄化、内部空间紧凑的设备来说,意味着更简单的散热设计和更长的持续快充时间。其次,其窄VDC(NVDC)电源路径架构,保证了即使电池完全没电或缺失,系统也能从适配器直接取电瞬时启动,这极大地提升了产品的可靠性和用户体验。最后,通过I2C接口,我们可以实时监控输入/输出/电池电压、电流和温度,并动态调整充电参数,为实现软件定义的智能充电策略提供了硬件基础。接下来,我将结合数据手册和实际应用经验,为你拆解它的设计思路、关键配置以及那些手册上不会明说的实操细节。

2. 芯片架构与核心功能模块解析

要驾驭一颗功能复杂的电源管理芯片,不能只停留在引脚定义和寄存器列表,必须理解其内部的“交通规则”——即各功能模块如何协同工作。BQ25890H的架构可以看作一个智能的能源调度中心。

2.1 开关模式降压充电器:高效能量的核心

这是芯片的“主引擎”。它采用同步降压(Buck)架构,集成了高侧开关管(HSFET)、低侧开关管(LSFET)和自举二极管。其开关频率为1.5MHz,高频开关允许使用更小体积的电感和电容,有利于小型化。充电过程分为三个阶段:预充电恒流(CC)恒压(CV)。当电池电压低于V(LOWV)阈值(典型2.8V)时,芯片以较小的预充电电流(可编程,64-1024mA)对深度放电的电池进行安全恢复。电压升至V(LOWV)以上后,进入恒流快充阶段,电流最高可达5A(通过I2C设置)。当电池电压接近设定的浮充电压(VREG, 3.840V-4.608V可调,16mV/步进)时,转入恒压阶段,电流逐渐减小。当电流低于终止电流(ITERM,可编程)时,充电周期自动终止。

关键点:芯片的恒压精度高达±0.5%,恒流精度在典型条件下为±5%。这意味着在批量生产中,电池的充电终点电压一致性会非常好,对延长电池循环寿命至关重要。

2.2 电源路径管理与NVDC架构

这是体现其“智能”的关键。传统的充电管理是“充电器-电池-系统”串联路径,电池是系统供电的唯一来源。而BQ25890H采用了NVDC(Narrow VDC)路径管理。简单类比,它像一个“智能水坝+水库”系统。

  • 系统(SYS)是水坝后的河道,需要维持一个稳定的最低水位(最小系统电压VSYS(MIN),默认3.5V)。
  • 电池(BAT)是水库。
  • 输入源(VBUS)是上游来水。

其工作逻辑是:优先使用输入源的水直接供应河道(系统),多余的水存入水库(给电池充电)。当来水不足(输入功率有限)时,会自动从水库抽水补充河道,确保河道不干涸(系统不掉电)。当水库已满或无需充电时,水坝闸门(BATFET)可以近乎关闭,仅维持极小的泄漏电流(运输模式下典型值仅12μA)。这种架构实现了Instant-On功能:即使电池为零或移除,只要接入电源,系统也能立即获得电力。

2.3 USB OTG升压模式:角色反转

当设备需要作为主机为其他USB设备(如耳机、外设)供电时,需要启动OTG模式。此时,芯片内部的开关拓扑从降压(Buck)反转为升压(Boost),将电池电压(最低可至2.5V)提升至可调的5V(范围4.55V-5.55V)输出到VBUS引脚,最大输出电流可达2.4A。升压转换器同样支持500kHz或1.5MHz的可选开关频率,并可在轻载时进入PFM模式以提高效率。

实操注意:启用OTG模式需要同时满足两个条件:通过I2C将OTG_CONFIG寄存器位置1,并且将OTG引脚拉高。这种“软硬结合”的使能方式增加了安全性,防止误操作。

2.4 MaxCharge技术与输入源智能识别

这是实现“快充”且“安全”的核心。芯片通过D+和D-引脚,自动执行一套复杂的检测协议:

  1. 数据接触检测(DCD):检查USB端口是否连接了设备。
  2. BC1.2检测:区分标准下行端口(SDP, 500mA)、充电下行端口(CDP, 1.5A)和专用充电端口(DCP, 无数据, >1.5A)。
  3. 非标准适配器及高压适配器检测:通过检测D+/D-上的分压或特定电压,识别支持各类快充协议(如QC2.0/3.0)的高压适配器。这就是MaxCharge技术的一部分,它能自动将输入电压限制(VINDPM)适配到检测到的高压值(最高14V),从而最大化输入功率。

输入电流优化器(ICO)是另一个亮点。它会周期性地试探性增加输入电流,同时监测输入电压是否被拉低。通过找到在不导致适配器过载(电压跌落)前提下的最大输入电流点,ICO能动态挖掘适配器的最大输出能力,尤其适用于那些标称参数模糊的非标适配器。

3. 关键外围电路设计与选型要点

数据手册给出了典型应用原理图,但要把芯片用稳,每一个外围元件的选型和布局都藏着学问。

3.1 功率回路元件:电感与电容

功率电感(L1):这是影响效率和温升的关键。对于1.5MHz的开关频率,推荐使用屏蔽式功率电感以减小EMI。

  • 电感值计算:通常建议在0.47μH到1μH之间。可以使用公式估算:L = (VIN - VBAT) * D / (ΔIL * fSW),其中D为占空比,ΔIL为纹波电流(通常取最大充电电流的20%-40%)。例如,VIN=9V, VBAT=3.7V, ICHG=3A, fSW=1.5MHz, 取ΔIL=1.2A(40%), 则D=VBAT/VIN≈0.41, 计算得L≈1.2μH。实践中,1μH是一个常用且稳妥的选择。
  • 饱和电流:电感的饱和电流必须大于峰值电流。峰值电流Ipeak = ICHG + ΔIL/2。上例中,Ipeak = 3A + 0.6A = 3.6A。选择饱和电流至少4.5A以上的电感。
  • 直流电阻(DCR):尽可能选择DCR小的电感(如几毫欧级别),以减小导通损耗。

输入/输出电容(C1, C2, C3)

  • VBUS电容(C1):必须使用低ESR的陶瓷电容,容值至少1μF,并尽可能靠近芯片VBUS和PGND引脚放置。它用于滤除输入线上的高频噪声,并为瞬间大电流提供缓冲。
  • PMID电容(C2):数据手册建议将除C1外的其余输入电容放在PMID到PGND之间。总输入电容推荐值在10μF到22μF之间。使用多个X5R或X7R介质的陶瓷电容并联,以降低ESR和ESL。
  • BAT电容(C3):建议使用至少10μF的陶瓷电容,靠近BAT引脚。它用于稳定电池端的电压,吸收充电电流纹波。
  • SYS电容(C4):建议使用至少20μF的陶瓷电容,靠近SYS引脚。它为系统负载提供瞬态电流,保持电压稳定。

3.2 检测与配置网络

电流限制电阻(RILIM):连接在ILIM引脚和GND之间,用于设置硬件默认的最大输入电流限制。公式为IINMAX = KILIM / RILIM, 其中KILIM典型值为350 A*Ω。例如,要设置2A的限流, RILIM = 350 / 2 = 175Ω, 就近选择标准值174Ω或180Ω。注意,当通过I2C使能输入电流限制(EN_ILIM=1)时,实际限流值取硬件(ILIM引脚)和软件(IINLIM寄存器)中的较小值。这是一个重要的安全冗余设计

温度检测网络(TS):连接一个负温度系数(NTC)热敏电阻(如103AT-2)和分压电阻到REGN和GND。芯片内部通过比较TS引脚电压与REGN的百分比来判定温度窗口(如JEITA标准)。分压电阻的选取需要根据热敏电阻的B值和你的温度保护点来计算。例如,要实现0°C(T1)和45°C(T3)的窗口,需要计算在对应温度下热敏电阻的阻值,然后设计分压网络,使得TS电压在0°C时约为REGN的73.25%,在45°C时约为44.75%。

自举电容(CBOOT):连接在BTST和SW引脚之间的0.047μF电容至关重要,它为内部高侧MOSFET的驱动器供电。必须使用高质量、低ESR的陶瓷电容,并紧贴芯片放置。

3.3 PCB布局的黄金法则

开关电源的布局决定了性能上限和EMI水平。

  1. 功率回路最小化:VBUS输入电容(C1)、芯片的PGND、SW节点、电感、BAT/SYS输出电容构成的功率环路面积必须尽可能小。使用宽而短的走线,最好在顶层用大面积铜皮连接。
  2. 单点接地(星型接地):将功率地(PGND)和模拟/信号地(AGND)在芯片下方的PowerPAD附近通过一个单点连接。PowerPAD必须充分焊接,并通过多个过孔连接到内部接地层,这是主要的散热路径。
  3. 敏感信号远离噪声源:I2C线路(SCL, SDA)、TS、ILIM等模拟/数字信号线应远离SW节点、电感和VBUS等高频大电流路径。必要时可采用包地或走在内层进行隔离。
  4. 去耦电容就近放置:所有为芯片引脚服务的去耦电容(如REGN的4.7μF电容、DSEL的47nF电容)必须尽可能靠近对应引脚,回流路径要短。

4. I2C寄存器配置与软件策略详解

BQ25890H的灵活性很大程度上通过I2C寄存器实现。主机MCU通过读写这些寄存器来监控状态、配置参数、控制功能。这里重点解析几个关键寄存器组。

4.1 充电参数配置寄存器(REG04-REG06)

这是充电行为的“大脑”。

  • REG04(充电电流控制):设置快充恒流值(ICHG)。范围0-5056mA,步进64mA。例如,要设置3A充电,计算:3000mA / 64mA/步进 ≈ 46.875, 取整47。47的二进制为0010 1111, 所以写入REG04[6:0] = 0101111b(0x2F)。注意:实际电流精度受温度和电流大小影响,大电流时精度更高(±5%)。
  • REG05(预充与终止电流)IPRECHG(预充电电流)和ITERM(终止电流)共享此寄存器。通常设置IPRECHGICHG的10%-20%,ITERMICHG的5%-10%。例如,对于3A快充,可设预充为300mA(≈5%), 终止为150mA(≈2.5%)。
  • REG06(充电电压控制):设置电池恒压充电电压(VREG)。范围3.840V-4.608V,步进16mV。对于标准4.35V的高压电芯,计算:(4.350V - 3.840V) / 0.016V ≈ 31.875, 取整32。32的二进制为100000, 所以写入REG06[7:2] = 100000b(0x40)。BATLOWV位用于设置预充转快充的阈值电压(2.8V或3.0V)。

4.2 输入与系统配置寄存器(REG00-REG03)

这部分管理“能源进口”和“系统供电”。

  • REG00(输入电流限制):设置软件输入电流限制(IINLIM),范围100-3250mA,步进50mA。务必注意:如果EN_ILIM位使能,最终输入限流取IINLIM和ILIM引脚硬件设置的最小值。这是一个安全特性。
  • REG01/02(输入电压限制与杂项)VINDPM(输入电压限制)用于在适配器电压波动时,防止输入电压过低导致系统不稳定。SYS_MIN(REG03)设置NVDC架构中的最低系统电压,默认3.5V,可根据系统核心电压需求调整。

4.3 状态与故障读取寄存器(REG0B-REG0E)

实时监控离不开这些寄存器。

  • REG0B(NTC状态):读取TS引脚对应的温度状态(冷、酷、暖、热),用于实现JEITA温度曲线充电(低温/高温降电流降电压)。
  • REG0C(充电状态):获取当前处于哪种充电状态(待机、充电中、充电完成、故障等)。VBUS_STATCHRG_STAT位域提供了清晰的状态机信息。
  • REG0E(ADC数据):使能ADC后,可以读取转换后的VBUS、SYS、BAT电压,BAT电流和TS电压百分比。这是实现智能功率分配和健康监测的基础。例如,通过监测VBUS电压和输入电流,可以判断适配器带载能力;通过监测BAT电流和电压,可以精确计算输入功率和电池电量。

4.4 软件控制流程示例

一个健硕的上电初始化流程大致如下:

  1. 硬件初始化:配置MCU的I2C引脚, 确保OTG、CE、QON等控制引脚处于已知状态(如默认禁用OTG, 使能充电)。
  2. 器件复位与验证:向REG14写入0x01执行软件复位。延时后,尝试读取器件地址(0x6A)的REG14(默认值0x02),验证通信是否正常。
  3. 配置充电参数:根据电池规格(容量、化学类型、最大充电电压/电流)设置REG06(电压)、REG04(快充电流)、REG05(预充/终止电流)。
  4. 配置输入与系统:根据预期适配器能力设置REG00(输入限流)和REG01/02(输入限压)。设置REG03的系统最低电压。
  5. 配置保护与监控:设置REG07/08的热调节阈值、使能ADC(REG02)、配置NTC分压(REG09)。
  6. 使能充电:确保CE引脚为低电平,并设置REG03CHG_CONFIG=1
  7. 主循环监控:定期(如每秒)读取REG0C状态寄存器,检查充电状态和故障标志。根据需要读取REG0E的ADC数据,进行系统功率管理或UI显示。

5. 高级功能应用:USB OTG与运输模式

5.1 USB OTG功能的实现细节

当需要设备对外供电时,需按序操作:

  1. 硬件准备:确保VBUS引脚外部没有电压源(即未连接充电器)。将OTG引脚拉高。
  2. 软件配置
    • 设置REG0ABOOSTV位域,选择输出电压(例如,5.0V对应特定值)。
    • 设置REG0ABOOST_LIM位域,选择输出电流限制(例如,1.2A或2.4A)。
    • REG03OTG_CONFIG位置1。
  3. 使能与监控:完成上述配置后,芯片会自动进入升压模式。此时应监控REG0C中的VBUS_STAT,确认状态变为“OTG模式”。同时,可以通过ADC监测VBUS输出电压是否稳定在设定值。
  4. 退出OTG:将OTG引脚拉低,或通过I2C清除OTG_CONFIG位,即可退出升压模式。

重要提示:在OTG模式下,芯片会持续监测电池电压。如果电池电压低于V(OTG_BAT)阈值(可配置为~2.8V或~2.6V),芯片会自动关闭升压输出以防止电池过放。这是硬件保护,不可绕过。

5.2 运输模式与系统复位

运输模式用于在设备仓储和运输期间,将电池与系统完全断开,将电池漏电流降至最低(典型12μA)。

  • 进入运输模式:通过I2C设置REG09BATFET_DIS=1,即可关闭内部的BATFET,断开电池与系统的连接。
  • 退出运输模式:有三种方法:1)接入有效电源(VBUS);2)通过I2C清除BATFET_DIS位;3)将QON引脚拉低并保持约1秒(tSHIPMODE)。方法3是硬件应急唤醒手段,即使主MCU完全失电也能操作。

QON引脚的系统复位功能:在无VBUS(仅电池供电)的情况下,将QON引脚拉低并保持约15秒(tQON_RST),芯片会控制BATFET先关闭约0.3秒再重新开启,从而实现一次完整的系统电源循环复位。这对于调试死机的设备非常有用。

6. 常见问题排查与调试心得

在实际调试中,你大概率会遇到以下问题,以下是我的排查思路:

问题1:上电后无反应,I2C通信失败。

  • 检查电源:首先测量VBUS、REGN(应有~6V或~4.8V输出)、BAT、SYS引脚电压是否正常。REGN LDO是芯片内部模拟电路的电源,它的正常是芯片工作的前提。
  • 检查I2C上拉:SCL、SDA、INT、STAT引脚都需要外部上拉电阻(通常10kΩ)到逻辑电源(1.8V或3.3V)。确保上拉电源已就绪。
  • 检查地址:器件I2C地址为7位地址0x6A(写地址0xD4,读地址0xD5)。确认主机的寻址和时序正确。
  • 检查PowerPAD焊接:虚焊是导致芯片不工作或发热异常的常见原因。用热风枪或烙铁仔细补焊芯片底部散热焊盘。

问题2:插入适配器后,充电电流远低于设定值。

  • 确认输入源能力:读取REG0CVBUS_STAT,确认芯片识别出的适配器类型是否正确(SDP/CDP/DCP/非标)。如果被识别为SDP(500mA),自然无法进行大电流充电。检查D+/D-线路是否连接正确,或尝试更换一个已知的快充适配器。
  • 检查输入限流:确认REG00IINLIM设置值足够大,并且EN_ILIM位状态与ILIM引脚硬件电阻设置无冲突。使用ADC读取VBUS电压,如果一带载电压就大幅下跌,可能是适配器输出能力不足或线缆阻抗太大。
  • 检查热调节:读取REG0CTHERM_STAT位。如果芯片结温过高(>120°C),会触发热调节降低充电电流。改善散热条件(检查布局、增加散热孔、使用更厚铜箔)。
  • 检查电池电压和状态:如果电池电压已接近设定的VREG,则会进入恒压阶段,电流自然减小,这是正常现象。

问题3:OTG模式无法启动或输出带载能力差。

  • 确认使能条件:必须是OTG_CONFIG=1OTG引脚为高电平,两者缺一不可。
  • 检查电池电压:确保电池电压高于进入OTG模式的最低阈值(V(OTG_BAT_EN), 典型3.0V)。电压过低会被硬件禁止。
  • 检查输出限流REG0ABOOST_LIM设置了输出电流限制。如果设置过低,带载时可能提前进入限流。
  • 监测VBUS电压:在带载时通过ADC读取VBUS电压。如果电压被拉低,可能是电池电量不足、电感饱和或输出电容ESR过大。确保使用饱和电流足够的电力和低ESR的陶瓷电容。

问题4:系统在电池供电时异常重启。

  • 检查SYS_MIN设置REG03SYS_MIN设置了系统电压的最低值。如果设置过高(如3.8V),而电池放电至3.7V时,NVDC路径无法再维持SYS电压,会导致系统掉电。通常设置为比系统核心电压(如3.3V)高200-300mV即可,如3.5V。
  • 检查电池放电MOSFET(BATFET):其导通电阻仅11mΩ,但在大电流(如6A持续)放电时,其上的压降(I*Rds(on))会消耗一部分电压。确保在最重系统负载下,电池电压减去这个压降仍高于SYS_MIN

问题5:ADC读数不准确或跳动大。

  • 确保ADC已使能且稳定:在REG02中使能ADC(CONV_START=1),并等待足够的转换时间(每次转换约200μs)。连续读取时,建议单次触发(CONV_START置1后自动清零)而非连续模式,以减少干扰。
  • 注意ADC量程:VBUS ADC量程为15.3V,分辨率100mV;BAT/SYS ADC量程为4.848V,分辨率20mV。计算实际电压时需注意:电压 = ADC读数 * 分辨率。例如,BAT ADC读数为200,则电压约为200 * 20mV = 4.000V。
  • 硬件滤波:在TS、ILIM等模拟引脚,确保按照数据手册建议连接了滤波电容,并远离数字噪声源。

最后,强烈建议在开发初期,利用芯片的INT中断引脚。通过配置REG0A中的相应中断使能位,可以让芯片在状态变化(如充电完成、温度报警、输入源接入/移除)时主动通知MCU,而不是让MCU不断轮询,这能大大降低系统功耗并提高响应速度。电源管理设计,三分靠芯片,七分靠布局和调试,耐心和细致的测量是成功的关键。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询