您好!
关于 BQ25622与主机 MCU STM32F407的 I2C 通信、我们的原型面临一个大问题。
配置如下:
- BQ25622提供5V (外部),我们的电池是锂离子标准单节电池。
- BQ 的 VSYS 进入一个降压/升压转换器、从而使 VCC 稳定为3.3V。
-我们的主机 MCU STM32F407由上述3.3V 电源供电, I2C 线路通过 SDA SCL 上的10K 外部上拉电阻连接到 BQ 3.3V 的 VCC
- I2C 速度100K (用更低和更高的测试-根本不影响问题)
实际上、通信运行良好、我们可以成功地读取和写入 BQ 的寄存器-这不会造成问题。
问题在于(在示波器上进行了验证):只要 STM 发出 I2C 读取或写入信号、我们就会直接观察 VBAT 上的压降。 压降尖峰非常激进、以至于充满电的电池(4.15V)会下降至2.5V、低于 VSYSMIN、从而使 BQ "认为"电池电量耗尽、并会立即关闭系统。 然后、BQ 等待施加外部输入充电器、以使其重新启动系统...直到主机 MCU 从 BQ 中读取任何寄存器并且尖峰再次发生、然后重复该过程。
在下图中、请观察到黄色线的尖峰、即 VBAT 电压。 在过程中读取3个寄存器以从 BQ 中获取一些值时、会发生这种情况。 您可以观察到发出 I2C 读取3次的模式。 黄色线为 VBAT 和 VSYS 也相似、因此未在此处显示。 
我们尝试过的方法:
-移除上拉电阻(通信不起作用)
-只激活 STM 的弱上拉(通信工作-但尖峰是相同的)
-重新布线电阻器到 pul-up 到 vsys (没有变化)
-添加大2200uF 电解液在 parralel 与 VSYS (减少70%的尖峰),但这只是涵盖问题-不修复其原因,无论如何不适用。
问题是我们做错了什么? 在这种配置下、在何处上拉 I2C 线路? 该芯片是否有关于 I2C 的任何特殊要求。 我们是否需要用于 I2C 线路的电平转换器。
注意:我们在同一条 I2C 线路上测试了另一个 I2C 芯片(SDA SCL 线路上拉至 VCC 3.3V 的加速计)、使用该加速计的 STM 与 I2C 正常工作-无尖峰)
3.3V 电压仍然保持稳定、但 VBAT 在总线上应用 I2C 通信、这一事实让我们感到困惑。 这怎么可能呢? 处理总线上的 I2C 位时、BQ 存在一些内部问题。
请告知
谢谢。此致、
D·斯帕索夫斯基












