BQ25700A

BQ25700A 是德州仪器(Texas Instruments, TI)推出的一款高度集成的电源管理芯片,主要用于单节或多节电池充电管理。

主要特性

多源充电:支持从多种输入源为 1 至 4 节电池充电,输入电压范围为 3.5V 至 24V,兼容 USB 2.0、USB 3.0、USB 3.1 (Type-C) 和 USB_PD。

功率管理:具有窄 VDC (NVDC) 电源路径管理,支持无电池或深度放电电池的瞬时启动,并能在适配器满载时由电池补充系统电量。

USB OTG 功能:支持从电池为 USB 端口供电,输出电压范围为 4.48V 至 20.8V,兼容 USB PD,输出电流限制高达 6.35A。

可编程开关频率:支持 800kHz 或 1.2MHz 的可编程开关频率,适用于 1μH 至 3.3μH 的电源器。

系统配置与控制:通过 SMBus 端口实现灵活的系统配置和状态报告,支持硬件引脚设置输入电流限制,无需外部控制器。

高精度监控:集成 ADC 监控电压、电流和功率,具有高精度的调节和监控功能。

安全性:包括热关断、过电压保护和 MOSFET 电磁过流保护等多种安全特性。

低静态电流:具有低电池静态电流,优化了电池使用效率。

输入电流优化器:可获取最大输入功率,支持多种化学电池充电。(ICO)

封装:采用 32 引脚 4 x 4 WOFN 封装。

引脚说明

yjsm

引脚名称 引脚编号 输入/输出 描述
VBUS 1 PMR 充电器输入电压。建议使用 12Ω 和 0.47µF(最小)的输入低通滤波器。
ACN 2 PWR 输入电流检测电阻负端输入。ACP 和 ACN 的漏电流匹配。ACP 和 ACN 引脚上的串联电阻放置在检测电阻和滤波电容之间。请参阅数据手册《应用与实现》中的 ACP/ACN 滤波器设计。
ACP 3 PWR 输入电流检测电阻正端输入。ACP 和 ACN 的漏电流匹配。ACP 和 ACN 引脚上的串联电阻放置在检测电阻和滤波电容之间。请参阅数据手册《应用与实现》中的 ACP/ACN 滤波器设计。
CHRG_OK 4 O 开漏主动高电平指示器,用于通知系统已连接到充电输入的良好电源。通过 10 kΩ 电阻连接到上拉电源轨。当 VBUS 上升到 3.5V 以上或下降到 24.5V 以下时,CHRG_OK 在 50ms 去抖时间后为高电平。当 VBUS 下降到 3.2V 以下或上升到 26V 以上时,CHRG_OK 为低电平。发生故障时,CHRG_OK 被置为低电平。
EN_OTG 5 I 高电平有效以启用 OTG 模式。当 EN_OTG 引脚为高电平且 REG0x32[13] 为高电平时,可以启用 OTG,请参阅 USB On-The-Go (OTG) 以了解如何启用 OTG 功能的详细信息。
ILIM_HIZ 6 I 输入电流限制输入。通过从电源轨到 ILIM_HIZ 引脚再到地的电阻分压器编程 ILIM_HIZ 电压。引脚电压计算为:V(ILIM_HIZ) = 1V + 40 × IDPM × RAC,其中 IDPM 是目标输入电流。充电器使用的输入电流限制是 ILIM_HIZ 引脚和 REG0x3F() 的较低设置。当引脚电压低于 0.4V 时,设备进入高阻模式,静态电流低。当引脚电压高于 0.8V 时,设备退出高阻模式。
VDDA 7 PMR 内部参考偏置引脚。从 REGN 到 VDDA 连接一个 10Ω 电阻,并从 VDDA 到电源地连接一个 1µF 陶瓷电容。
IADPT 8 I/O 缓冲的适配器电流输出。V(IADPT) = 20 或 40 × (V(ACP) − V(ACN))。比例可通过 REG0x12[4] 选择。根据使用的电感从 IADPT 引脚到地放置一个电阻。对于 2.2μH,电阻为 137kΩ。在 IADPT 引脚到地之间放置一个 100pF 或更小的陶瓷去耦电容。IADPT 输出电压被钳位在 3.3V 以下。
IBAT 9 O 由 SMBus 选择的缓冲电池电流。V(IBAT) = 8 或 16 × (V(SRP)−V(SRN)) 用于充电电流,或 V(IBAT) = 8 或 16 × (V(SRN)−V(SRP)) 用于放电电流,比例可通过 REG0x12[3] 选择。在 IBAT 引脚到地之间放置一个 100pF 或更小的陶瓷去耦电容。如果未使用,此引脚可以悬空。其输出电压被钳位在 3.3V 以下。
PSYS 10 O 电流模式系统功率监视器。输出电流与来自适配器和电池的总功率成正比。增益可通过 SMBus 选择。从 PSYS 到地放置一个电阻以生成输出电压。如果未使用,此引脚可以悬空。其输出电压被钳位在 3.3V 以下。在电阻上并联一个电容以进行滤波。
PROCHOT 11 O 处理器热指示器的低电平有效开漏输出。它监控适配器输入电流、电池放电电流和系统电压。在 PROCHOT 配置文件中的任何事件触发后,会发出一个脉冲。最小脉冲宽度可在 REG0x33[5:2] 中调整。
SDA 12 I/O SMBus 开漏数据 I/O。连接到主机控制器或智能电池的数据线。根据 SMBus 规格连接一个 10kΩ 上拉电阻。
SCL 13 I SMBus 时钟输入。连接到主机控制器或智能电池的时钟线。根据 SMBus 规格连接一个 10kΩ 上拉电阻。
CMPIN 14 I 独立比较器的输入。独立比较器将 CMPIN 引脚上的电压与内部参考电压进行比较,输出在 CMPOUT 引脚上。内部参考电压、输出极性和去抖时间可通过 SMBus 选择。当极性为高(REG0x30[6] = 1)时,在 CMPIN 和 CMPOUT 之间放置一个电阻以设置滞后。当极性为低(REG0x30[6] = 0)时,内部滞后为 100mV。如果独立比较器未使用,将 CMPIN 接地。
CMPOUT 15 O 独立比较器的开漏输出。从 CMPOUT 到上拉电源轨放置一个上拉电阻。内部参考电压、输出极性和去抖时间可通过 SMBus 选择。
COMP1 16 I 降压-升压转换器补偿引脚 1。请参阅 bq25700 EVM 原理图中的 COMP1 引脚 RC 网络。
COMP2 17 I 降压-升压转换器补偿引脚 2。请参阅 bq25700 EVM 原理图中的 COMP2 引脚 RC 网络。
CELL_BATPRESZ 18 I 电池单元选择引脚,用于 1-4 单元电池设置,CELL_BATPRESZ 引脚从 VDDA 偏置。CELL_BATPRESZ 引脚还将 SYSOVP 阈值设置为 1 单元时为 5V,2 单元时为 12V,3 单元/4 单元时为 19.5V。CELL_BATPRESZ 引脚拉低至 VCELL_BATPRESZ_FALL 以下以指示电池移除。设备退出 LEARN 模式并禁用充电。REG0x15() 恢复为默认值。
SRN 19 PMR 充电电流检测电阻负端输入。SRN 引脚也用于电池电压检测。将 SRN 引脚与可选的 0.1 µF 陶瓷电容连接到 GND 以进行共模滤波。在 SRP 和 SRN 之间连接一个 0.1µF 陶瓷电容以提供差模滤波。SRP 和 SRN 的漏电流匹配。为防止反向电池插入,SRP 和 SRN 上放置了 10Ω 的串联电阻。
SRP 20 PMR 充电电流检测电阻正端输入。在 SRP 和 SRN 之间连接一个 0.1µF 陶瓷电容以提供差模滤波。SRP 和 SRN 的漏电流匹配。为防止反向电池插入,SRP 和 SRN 上放置了 10Ω 的串联电阻。将 SRP 引脚与可选的 0.1µF 陶瓷电容连接到 GND 以进行共模滤波。
BATDRV 21 O P 沟道电池 FET (BATFET) 栅极驱动输出。短路到 VSYS 以关闭 BATFET。低于 VSYS 10V 以完全打开 BATFET。当电池耗尽时,BATFET 处于线性模式以调节 VSYS 至最小系统电压。在快速充电和补充模式下,BATFET 完全打开。
VSYS 22 PMR 充电器系统电压检测。系统电压调节限制在 REG(x15f) 和 REG(x3Ef) 中编程。
SW2 23 PMR 升压模式高侧功率 MOSFET 驱动器源极。连接到高侧 n 沟道 MOSFET 的源极。
HIDRV2 24 O 升压模式高侧功率 MOSFET (Q4) 驱动器。连接到高侧 n 沟道 MOSFET 栅极。
BTST2 25 PWR 升压模式高侧功率 MOSFET 驱动器电源。在 SW2 和 BTST2 之间连接一个 0.047 µF 电容。REGN 和 BTST2 之间的自举二极管已集成。
LODRV2 26 O 升压模式低侧功率 MOSFET (Q3) 驱动器。连接到低侧 n 沟道 MOSFET 栅极。
PGND 27 GND 设备电源地。
REGN 28 PWR 6 V 线性稳压器输出,由 VBUS 或 VSYS 供电。当 VBUS 高于 VVBUSVVBUS 凸点时,LDO 处于活动状态。从 REGN 到电源地连接一个 2.2 或 3.3μF 陶瓷电容。REGN 引脚输出用于电源级栅极驱动。
LODRV1 29 O 降压模式低侧功率 MOSFET (Q2) 驱动器。连接到低侧 n 沟道 MOSFET 栅极。
BTST1 30 PWR 降压模式高侧功率 MOSFET 驱动器电源。在 SW1 和 BTST1 之间连接一个 0.047µF 电容。REGN 和 BTST1 之间的自举二极管已集成。
HIDRV1 31 O 降压模式高侧功率 MOSFET (Q1) 驱动器。连接到高侧 n 沟道 MOSFET 栅极。
SW1 32 PMR 降压模式高侧功率 MOSFET 驱动器源极。连接到高侧 n 沟道 MOSFET 的源极。
热焊盘 IC 下方的裸露焊盘。模拟地和电源地在 IC 的地附近星形连接。始终将热焊盘焊接到电路板上,并在热焊盘平面上设置通孔连接到电源地平面。它还用作散热焊盘以散发热量。

PMR:这通常表示“Power Management Rail”(电源管理轨),指的是与电源管理相关的引脚。这些引脚通常用于电源输入、输出或电源管理功能。

PWR:表示“Power”(电源),指的是与电源相关的引脚,如电源输入、电源输出或电源参考电压。

I:表示“Input”(输入),指的是该引脚用于输入信号或电压。

O:表示“Output”(输出),指的是该引脚用于输出信号或电压。

I/O:表示“Input/Output”(输入/输出),指的是该引脚既可以作为输入也可以作为输出。

示例电路

sldl

BATDRV:这个引脚控制电池的充电和放电,通过电流控制电池的充电过程。

VSYS:通过这个引脚,芯片可以向外部电路(比如主控 MCU)提供电源。当充电过程进行时,它可以从电池获取电源。

SRP/SRN:这两个引脚用于电池电压和充电电流的监测,可以帮助芯片评估电池的状态,并根据电池的健康状况调整充电策略。

CELL_BATPRESZ:这是一个电池存在检测引脚,可以检测电池是否存在或是否正常连接。

SDASCL:这两个引脚用于与主控 MCU 进行通信。它们支持 SMBus 协议,允许主控读取或写入 BQ25700A 的寄存器,从而控制充电参数或读取电池状态。

Host:通过 I2C(或 SMBus)接口,主控设备可以与 BQ25700A 进行数据交互,例如设置充电电流、电压、监测电池的健康状态等。

REGN:这是一个用于电压稳定的参考电压引脚,可以为其他相关电路提供稳定的电源。

COMP1 和 COMP2:这些引脚用于电流控制,芯片通过它们调整充电电流,使电池的充电过程更平稳、避免过充或过流。

ILIM_HIZ:这个引脚控制充电电流的限制,防止电池被过快充电。

CHRG_OK:这个引脚指示充电是否正常,当充电完成时会发出信号。

CMPIN:用于保护电池免受过压或过温影响。

通信方式

BQ25700A 电池管理芯片通过 SMBus (System Management Bus)进行通信,它与主控 MCU(如微控制器)之间的通信方式与 I2C 非常相似。SMBus 是 I2C 的一种扩展协议,专门用于电池、温控、电源管理等硬件设备的通信。

如果主控没有直接支持 SMBus 协议,但你仍然想与 BQ25700A 通信,实际上可以通过 I2C 接口来实现通信,因为 SMBus 基于 I2C 协议,它们在物理层面上是兼容的。

BQ25700A 的 SMBus 地址是 0x12(7 位地址)。

写入格式

xrgs

S (Start Condition):表示起始条件,主设备发出一个信号,表明通信的开始。

SLAVE ADDRESS:从设备的地址(7位),标识目标设备。

W (Write bit):写入位,值为 0,表示写操作。

ACK (Acknowledge):应答信号,接收设备确认收到数据。

COMMAND BYTE:命令字节,主设备向从设备发送的命令,用于指示操作的类型或目标寄存器。

LOW DATA BYTE 和 HIGH DATA BYTE:分别是数据的低字节和高字节。在一个完整的数据传输中,数据被分为低字节和高字节,逐字节传输。

P (Stop Condition):停止条件,表示通信的结束

写入时序图

xrsst

A = Start condition(起始条件)

  • 当通信开始时,主设备在 SMBCLK 为高电平时,SMBDATA 从高电平变为低电平。这个状态表示开始一个新的通信会话。

B = MSB of address clocked into slave(地址的高位字节被时钟同步到从设备)

  • 在主设备发送起始信号后,主设备开始向从设备发送地址的高位字节。此时,SMBDATA 会根据时钟信号(SMBCLK)同步传输数据。

C = LSB of address clocked into slave(地址的低位字节被时钟同步到从设备)

  • 继续传送从设备的地址,此时传送的是地址的低位字节。

D = R/W bit clocked into slave(读写位被时钟同步到从设备)

  • 主设备发送读写控制位,指定当前操作是读取还是写入。读写位(R/W)在这个阶段通过 SMBDATA 传送给从设备。

E = Slave pulls SMBDATA line low(从设备将 SMBDATA 拉低)

  • 从设备确认接收到主设备发出的地址和读写位后,它会拉低数据线,表示准备好接收数据或者准备发送数据。

F = ACKNOWLEDGE bit clocked into master(主设备接收到的应答位)

  • 从设备通过拉低 SMBDATA 线来确认它已成功接收到主设备发送的数据或命令。

G = MSB of data clocked into slave(数据的高位字节被时钟同步到从设备)

  • 主设备将要写入的数据的高位字节通过 SMBCLK 时钟信号发送到从设备。SMBDATA 数据线同步传送。

H = LSB of data clocked into slave(数据的低位字节被时钟同步到从设备)

  • 数据的低位字节被发送到从设备,继续通过 SMBDATA 进行传输。

I = Slave pulls SMBDATA line low(从设备将 SMBDATA 拉低)

  • 从设备确认已接收到数据的低位字节,再次拉低数据线进行应答。

J = Acknowledge clocked into master(主设备接收到的应答信号)

  • 主设备通过时钟信号接收到从设备的确认信号,表明数据已成功传输。

K = Acknowledge clock pulse(应答时钟脉冲)

  • 这表示主设备在通信过程中接收来自从设备的确认信号的时钟脉冲。

L = Stop condition, data executed by slave(停止条件,数据由从设备执行)

  • 在所有数据传输完成后,主设备发出停止条件(Stop condition),这标志着通信会话的结束。从设备会根据收到的数据执行操作。

M = New start condition(新的起始条件)

  • 如果主设备需要重新启动一个新的通信会话,它可以发出新的起始条件(Start condition)。

读取格式

dqgs

S (Start Condition):表示起始条件,主设备发出一个信号,表明通信的开始。

SLAVE ADDRESS:从设备的地址(7位),标识目标设备。

R (Read bit):读取位,值为 1,表示读操作。

ACK (Acknowledge):应答信号,接收设备确认收到数据。

LOW DATA BYTE 和 HIGH DATA BYTE:分别是数据的低字节和高字节。从设备返回的数据被分为低字节和高字节,主设备逐字节读取。

NACK (Not Acknowledge):非应答信号,表示读取完毕或传输结束。

P (Stop Condition):停止条件,表示通信的结束。

读取时序图

dqsst

A = Start condition: 这是传输开始的标志,数据线从高电平跳到低电平。

B = MSB of address clocked into slave: 这是传输地址的最高有效位(MSB),被时钟信号驱动传送给从设备。

C = LSB of address clocked into slave: 地址的最低有效位(LSB)被传送给从设备。

D = R/W bit clocked into slave: 读写控制位(R/W)传送给从设备,决定是读操作还是写操作。

E = Slave pulls SMBDATA line low: 从设备拉低数据线,表示准备响应。

F = ACKNOWLEDGE bit clocked into master: 主设备收到从设备的响应,表示数据有效。

G = MSB of data clocked into master: 数据的最高有效位(MSB)被传送给主设备。

H = LSB of data clocked into master: 数据的最低有效位(LSB)被传送给主设备。

I = Acknowledge clock pulse: 主设备发出时钟脉冲,从设备回传响应信号。

J = Stop condition: 这是传输的停止条件,数据线从低电平跳到高电平,表示数据传输结束。

K = New start condition: 新的起始条件,表示将开始新的数据传输

寄存器

SMBus 地址 寄存器名称 类型 描述
12h ChargeOption00 读写 充电选项 0
14h ChargeCurrent 读写 7 位充电电流设置,LSB 64mA,范围 8128mA
15h MaxChargeVoltage 读写 11 位充电电压设置,LSB 16mV,默认值:1S-4192mV, 2S-8400mV, 3S-12592mV, 4S-16800mV
30h ChargeOption10 读写 充电选项 1
31h ChargeOption20 读写 充电选项 2
32h ChargeOption30 读写 充电选项 3
33h ProchotOption00 读写 PROCHOT 选项 0
34h ProchotOption10 读写 PROCHOT 选项 1
35h ADCOption 读写 ADC 选项
20h ChargerStatus 只读 充电状态
21h ProchotStatus 只读 PROCHOT 状态
22h IIN_DPM 只读 7 位输入电流限制,LSB 50mA,范围 50mA - 6400mA
23h ADCVBUS/PSYS 只读 输入电压的 8 位数字输出,系统功率 PSYS 的 8 位数字输出,PSYS 全范围:3.06V,LSB 12 mV,VBUS 全范围:3.2V - 19.52V,LSB 64mV
24h ADCIBAT 只读 电池充电电流的 8 位数字输出,电池放电电流的 8 位数字输出,ICHC 全范围 8.128A,LSB 64mA,IDCHG 全范围:32.512A,LSB 256mA
25h ADCIN/CMPIN 只读 输入电流的 8 位数字输出,CMPIN 电压的 8 位数字输出,POR 状态 - IN 全范围:12.75 A,LSB 50mA,CMPIN 全范围:3.06V,LSB 12mV
26h ADCVSYSVBAT 只读 系统电压的 8 位数字输出,电池电压的 8 位数字输出,VSYS 全范围:2.88V - 19.2V,LSB 64 mV,VBAT 全范围:2.88V - 19.2V,LSB 64mV
38h OTGVoltage 读写 8 位 OTG 电压设置,LSB 64mV,范围:4480 – 20800mV
3Ch OTGCurrent 读写 7 位 OTG 输出电流设置,LSB 50mA,范围:0A – 6350mA
3Dh InputVoltage 读写 8 位输入电压设置,LSB64 mV,范围:3200mV – 19520mV
3Eh MinSystemVoltage 读写 6 位最小系统电压设置,LSB 256mV,范围:1024mV - 16182mV,默认值:1S-3.584V, 2S-6.144V, 3S-9.216V, 4S-12.288V
3Fh IIN_HOST 读写 主机设置的 6 位输入电流限制,LSB 50mA,范围:50 mA - 6400mA
FEn ManufacturerID 只读 制造商 ID - 0x0040H
FFh DeviceID 只读 设备 ID

具体描述请查看数据手册。

示例驱动

https://github.com/TooUpper/SensorDrive