This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ25756:升压模式下的 I2C 通信问题

Guru**** 2493175 points
Other Parts Discussed in Thread: BQ25756, USB2ANY, EV2400

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1490130/bq25756-i2c-communication-issues-in-boost-mode

器件型号:BQ25756
主题中讨论的其他器件: USB2ANYEV2400

工具与软件:

在升压模式下使用 BQ25756时、我会遇到间歇性 I2C 通信故障。 该器件正在定制电路板中使用、由 STM32H7 MCU 控制。 仅当在升压模式下开始充电时、在降压模式下运行时才会发生该问题。

I2C 故障:

  • 通信随机失败、出现任意丢失错误和超时。
  • 故障偶尔出现、有时通信正常、然后再次出现故障。
  • 在极少数情况下、器件会继续通过 I2C 响应、但从它读取的数据是不正确的(例如错误的寄存器值、不切实际的测量值)。

我已经测试了不同的 I2C 时钟速度、在各种速度下该问题仍然存在。 我还检查了故障寄存器、但未报告相关故障。

我猜该问题与影响 I2C 操作的开关瞬变有关。  升压模式下的 I2C 稳定性是否存在已知问题?  是否有任何建议的设计指南或缓解措施来提高升压模式下的 I2C 可靠性? 在器件"崩溃"的情况下、建议通过什么过程对其进行复位?


请告诉我您还需要哪些其他信息来提供支持。 我附上了 BQ25756连接的原理图

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Federico、

    感谢您的配合。

    升压模式下 I2C 稳定性是否存在已知问题?

    在升压模式下不存在 I2C 稳定性的已知问题。

    如果设备"崩溃"、建议使用什么方法重置设备?

    我想通过几个问题来帮助大家对此进行调试:

    • 您看到哪些寄存器读数错误?
    • 您看到什么类型的 I2C 错误?
    • 如果可能、您能将您的布局发送给我吗? 您可以通过 E2E 论坛向我发送朋友请求、这将允许您根据需要直接向我发送布局消息。

    此致、
    埃森·加洛韦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ethan、您好!

    感谢您的答复。

    我仅读取以下寄存器:IAC、IBAT、VAC、VBAT、TS、 Charger Status 1和 Fault Status;以及写入寄存器 Charger Control 以复位看门狗和启用/禁用充电。 这些是定期读取/写入的数据。 我 省略了我在启动期间只配置一次的那些。  

    我正在尝试将一个逻辑分析仪连接到评估板、以密切监测实际发生的情况、但目前我只能向您提供我在软件方面看到的内容。  当 I2C 通信开始失败时、我会收到仲裁丢失错误、有时还会收到超时错误。  

    我们遇到的问题之一是、有时器件会在一秒(或多或少)内中断充电过程、然后重新启动充电过程。 通过外部 ADC 测量和电源中的测量可以确认这一点。 故障寄存器不显示任何故障(故障是否锁存在这些寄存器中? 由于我们存在 I2C 通信错误、因此我不确定是否可以在发生故障时及时读取故障、因此如果寄存器复位、可能是我遗漏了错误)。

    有时器件只是"崩溃"。 I2C 通信未显示任何错误、但测量结果都是错误的。 充电器状态显示涓流充电阶段、电流测量值固定在0.07安培左右、电压测量值也固定为某个值。 但是、将它们与外部 ADC 测量值和电源进行比较、结果都是错误的。 在某些情况下、故障状态寄存器显示 DRV_OKZ 故障、但用万用表测量时发现 DRV_SUP 在范围内。

    我已尝试将其保留为默认模式、以便其能够独立处理充电、我只需在需要时启用或禁用充电(通过写入 Charger Control 寄存器或使用 CE 引脚)。 我没有成功、即使我禁用看门狗、充电也会在启动后30到40秒内停止。

    目前我刚刚在开始充电之前与器件通信以配置寄存器、然后我只在充电期间复位看门狗。 下面是 IBAT 电流(使用外部 ADC 进行测量)的图片。 您可以看到、充电似乎 偶尔会停止或减小电流


    我希望我很清楚、但如果您需要我对任何内容提供更详细的说明、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frederico、

    感谢您的详细分析。 下周同一时间再见。

    此致、
    埃森·加洛韦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frederico、

    感谢您耐心等待。

    故障是否锁存在这些寄存器? 由于我们存在 I2C 通信错误、我不确定是否可以在故障发生时及时读取故障、因此如果寄存器复位、可能我缺少错误[/QUOT]

    是的、状态寄存器不会被锁存、但标志寄存器会被锁存。 发生这种情况时、您是否看到设置了任何标志寄存器?

    充电器状态显示涓流充电阶段、电流测量值固定在0.07安培左右、电压测量值也固定为某个值。 但是、将它们与外部 ADC 测量值和电源进行比较、结果都是错误的。 [报价]

    我认为这可能是正常行为。 BQ25756上的 ADC 可用作电池状态的通用指示器。 我建议使用外部 ADC 以获得更高的精度。 有关 ADC 的更多信息、我们提供了常见问题解答

    [报价 userid="633521" url="~/support/power-management-group/power-management/f/power-management-forum/1490130/bq25756-i2c-communication-issues-in-boost-mode/5725473 #5725473"]目前我刚刚与器件通信以在开始充电前配置寄存器、然后我只在充电期间复位了看门狗。 下面是 IBAT 电流(使用外部 ADC 进行测量)的图片。 如您所见、充电似乎 偶尔会停止或降低电流[/QUOT]

    我以前没见过这个。 我有关于该电路的一些问题、有助于对此进行调试:

    • 您是否有权使用 USB2ANY 或 EV2400来读取 BQ25756的寄存器?
    • 当充电器停止充电时、您能否获取 SW2和 IBAT 的示波器图像?
    • 此时、您对负载使用什么? 如果您在 CV 模式下使用电子负载、我建议向电子负载添加一个1000µF 电容器、以帮助更好地对电池进行仿真。
    • 您能将开关 FET 的器件型号发送给我吗?

    我有几个原理图建议:

    • 我建议在 VSYS 和 P_OUT 上添加小陶瓷电容器。 这些电容器将帮助滤除高频噪声。
    • 我建议在 VAC 和 BAT_PLUS 上添加56µF 电容器。

    此致、
    埃森·加洛韦

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ethan、您好!

    要回答您的问题:

    [报价 USERID="454523" url="~/support/power-management-group/power-management/f/power-management-forum/1490130/bq25756-i2c-communication-issues-in-boost-mode/5737850 #5737850"]是的、状态寄存器未被锁存、但标志寄存器被锁存。 发生这种情况时是否看到设置了任何标志寄存器?[/QUOT]

    否、唯一设置的标志寄存器是 ADC_DONE_FLAG 和 CHARGE_FLAG。 在某些其他情况下、还设置了 IAC_DPM_FLAG 和 MPPT_FLAG。

    [报价用户 id="45454523" url="~/support/power-management-group/power-management/f/power-management-forum/1490130/bq25756-i2c-communication-issues-in-boost-mode/5737850 #5737850"]您是否有权使用 USB2ANY 或 EV2400来读取 BQ25756的寄存器?[/QUOT]

    没有。 目前、我只能通过与器件与 MCU 的 I2C 通信来访问寄存器。

    [报价 USERID="454523" url="~/support/power-management-group/power-management/f/power-management-forum/1490130/bq25756-i2c-communication-issues-in-boost-mode/5737850 #5737850"]当充电器停止充电时、您能获取 SW2和 IBAT 的示波器图像吗?[/QUOT]

    我会尝试这样做、然后回复给您。

    目前、您正在为负载使用什么? 如果您在 CV 模式下使用电子负载、我建议在电子负载上添加一个1000µF 电容器、以帮助更好地模拟电池。

    我正在使用实际的电池组。 标称电压52 [V]。

    感谢您提供 原理图建议、我会将其考虑到返工。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Federico、

    感谢您耐心等待。 下周同一时间再见。

    此致、
    埃森·加洛韦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frederico、

    再次感谢您耐心倾听。 我用原理图建议回复了您的直接信息。

    我还有其他几个问题来帮助对此进行调试。

    • 您能否确保电池传感电阻器5mΩ?
    • 在 BQ25756充电时、您能否获取 SDA 和 SCL 的示波器捕获?
    • 另外、为了澄清一下、当输入= 48V 时、您可以看到大多数 I2C 误差? 当输入为24V 而输入为48V 时、SDA 和 SCL 信号是否会发生变化?

    另外、请注意、我将在4月3日至4月10日的时间银行工作。

    此致、
    埃森·加洛韦