Other Parts Discussed in Thread: BQ25798, BQSTUDIO
器件型号: BQ25798
主题: BQSTUDIO 中讨论的其他器件
大家好:
我正在设计一个 具有集成 PD 并由 ESP32 控制的双向 USB-BMS 电池包。 该架构使用 BQ25798 降压/升压充电器、 在电池侧结合使用 MAX17320 (4S 电量监测计/BMS) 和 FUSB302 来管理 USB-C CC 线路。
硬件状态: 硬件已完全组装、原型设计和测试。 I2C 通信完全正常。 我可以成功读取所有状态寄存器、检测 VBUS、VBAT 并正确切换/检测 VIN1 和 VIN2。 硬件经过验证、因此我现在仅关注固件状态机和寄存器时序控制。
BQ25798 寄存器转储(当前状态)
这是启动/空闲时 BQ25798 的当前 I2C 寄存器转储:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
-----------------------------------------------------
0x00: 0E 06 90 00 C8 2D 01 2C C4 05 D0 00 DC 4B 00 02
0x10: 17 01 28 41 24 AA 88 7A 54 01 2C 0B 0A 01 C0 00
0x20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00
0x30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x40: 00 00 00 00 00 00 00 00 19
硬件架构

-
电池: 4S 配置(标称值:~14.4V |最大值:16.8V)。
-
电源路径: VBUS 通过外部背对背 FET 路由到两个单独的输入:VIN1(专用于 USB-C)和 VIN2(保留用于未来的辅助输入太阳能电感充电器...)。
-
USB-C 和数据:USB-C CC 线路由 FUSB302 控制器管理(当前在传统/Type-C 模式下运行、限制为最大 5V @ 3A)。 Type-C 连接器的 USB D+/D-线路完全绕过 BQ25798;它们直接路由到 CH340 USB 转 UART 桥接器、因此 ESP32 可以流式传输电池遥测(SoC、百分比、Vcell 错误和系统状态)。
-
主机控制: ESP32 充当主控制器、并通过 I2C以及 INT、CE (CHG_EN) 和 QON 引脚与 BQ25798 进行连接。
使用案例和目标
-
标准充电模式(升压): 从 USB-C 输入 5V 或更高@ 3A(由 FUSB302 检测) ->升 压为 4 节串联电池包充电(14V-15V 目标)。
-
OTG /供电模式 (VBUS 生成和 PD): 电池为系统供电 -> BQ25798 执行降压/升压以 在 VBUS 上提供 5V @ 1A 或 3A(USB-C 用作供电方、FUSB302 检测到 5.1k 下拉电阻)。
-
通过 USB-C 进行遥测: 在运行期间读取 ADC 值(VBUS、IBUS、VBAT、VSYS 等)。
带来问题
虽然硬件运行正常、但我努力找到官方推荐的 I2C 寄存器写入序列 、以便在这些充电模式和 OTG 模式之间安全切换而不会触发安全覆盖、输入崩溃或看门狗复位。
根据寄存器转储和用例、您能否针对以下情况提供分步寄存器配置序列?
1.充电初始化序列(5V 输入或更多-> 4S 输出)
-
在开启充电器之前、必须先写入哪些寄存器才能安全地设置 4S 参数? 我是应该将物理 CHG_EN 引脚拉高/拉低、还是 Charger_Control_先切换 REG11_REG0 位?
-
如何正确地将 VINDPM 和 IINDPM 设置为固定 5V/3A 电源、而不会触发过早的输入电流限制或输入崩溃?
-
是否应在输入检测转换期间切换 EN_HIZ?
OTG 模式初始化序列(4 节串联电池-> 5V VBUS 输出或更多)
-
平稳启动 OTG 的确切顺序是什么? (例如,禁用充电器->配置 OTG 电压/电流限值-> 启用 REG11 中的 OTG 位?)
-
在启用 OTG 之前、是否有特定的时序要求或显式依赖于 VBUS_STAT 标志?
3. ADC 遥测读数
-
要读取 ADC 值(电压/电流)、我是否需要在每个读取周期之前显式启用 ADC (REG2E_ADC_Control 位 ADC_EN)、或使其保持连续运行?
-
是否有建议的序列来避免在 ESP32 从深度睡眠中唤醒后立即读取过时或未初始化的数据?
4、深度睡眠期间的看门狗管理
-
由于 ESP32 进入定期深度睡眠模式、BQ25798 看门狗的最佳实践是什么? 我们是应该完全禁用它 (REG10_4s1 Charger_Control_位= 00)、还是出于安全原因在 4s 应用中强烈建议使用它?
5、当前状态和障碍
我一直在努力改进固件配置、尝试了许多寄存器组合但没有成功。 在某种程度上、我实际上设法正确读取 ADC 值、但老实说、我不能完全确定哪种注册表步骤组合使其正常工作、而且我无法可靠地复制它。
非常感谢这些确切转换(启用 ADC,正确初始化充电器状态以及配置主机控制)的任何应用手册、伪代码或序列检查清单。
提前感谢您的见解!
-







