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.

[参考译文] BQ25886:连接到 USB 主机时充电电流出现问题

Guru**** 2392095 points
Other Parts Discussed in Thread: BQ25886

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1113476/bq25886-problem-with-charging-current-while-connected-to-a-usb-host

器件型号:BQ25886

您好!

我正在开发两个器件。 让我们将它们称为主机和设备。

它们应该通过 USB 进行通信、而主机也会为器件的电池充电。

主机基于 Raspberry Pi。 USB 集线器 USB7216可扩展 Raspberry Pi 的单个 USB 端口、并允许主机为器件提供 USB 充电(CDP)。

在器件端、BQ25886用于为2节电池充电。 此外、USB 转 UART 转换器提供主机和器件 MCU 之间的通信。

下面的方框图对此进行了说明。

根据数据表、BQ25886可从 CDP 器件灌入1.5A 电流、从 DCP 器件灌入3.0A 电流。

由于我的主机上的 BC1.2兼容 USB 集线器配置为 CDP (充电+数据)、我希望输入电流流入器件的电流为1.5A (因此充电电流约为0.9A)。

问题在于、当我将主机连接到器件时、电流仅为500mA、这意味着 BQ25886无法识别充电源(未知的5V 适配器)。

我执行了不同的测试、以尝试找到问题所在的位置。 表中总结了这些结果。

根据所述的测试用例、可以得出以下结论:

  • 如果识别到充电端口、该器件能够灌入更高的电流
  • 主机能够为符合 BC1.2标准的器件(智能手机)提供超过1A (高达1.5A)的电流
  • 某种情况会阻止器件将主机识别为 CDP。

您能给我一些建议吗?问题可能出在哪里?我该如何解决?

提前非常感谢!

Angelo

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

    您好、Angelo、

    背景:也会影响输入电流限制的充电器上的另一个元件是 ILIM 引脚。 ILIM 引脚使用 ILIM 引脚上的电阻和以下公式设置输入电流限制:

    充电器将通过获取 ILIM 引脚和 D+D-检测结果之间较小的电流限制值来设置输入电流限制。 (请参阅 数据表的第14页)

    问题:如果您的主机是支持1.5A 电流的 CDP 且 ILIM 引脚电流限制= 500mA、则即使检测到 CDP、充电器也会选择500mA 作为输入电流限制、这可能是问题的根源。

    解决方案:如果已确认上述问题是您面临的问题、请将 ILIM 引脚电阻设置为0.5欧姆、将 ILIM 引脚电流限制设置为2A、因此器件将选择较低的1.5A CDP 电流限制。

    此致、

    查尔斯  

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

    您好、Charles、

    感谢您的回复!

    我将 ILIM 引脚短接至 GND、因此输入电流限制设置为最大值3.3A

    如我的表中所述、我的 BQ25886能够成功灌入更高的电流。 例如、当连接到标准 USB 充电适配器或连接到我的 USB 集线器而不存在 Raspberry Pi 时。 这使我认为源代码识别存在问题。

    大家好

    Angelo

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

    您好、Angelo、

    检测 CDP 时出现问题。  当您尝试 CDP 时、器件会将 ILIM 设置为什么? 500mA?

    此致、

    查尔斯

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

    您好、Charles、


    没错。 我测量500mA 的输入电流。

    此致

    Angelo

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

    您好、Angelo、

    根据您的实验、如果您将 Raspberry Pi 保持在复位模式、似乎可以正常工作。  在输入端添加过多组件 通常会使检测变得更加困难、例如 、D+/D-上的阻抗可能已从所需值发生过多变化。 要简化输入设置并隔离问题、一种方法是找出根本原因。 理想情况下、我们希望在检测期间捕获 D+/D-波形。 我们希望两个节点上都有0.6V 脉冲。  

    此致、

    林红

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

    您好、林红、

    是的、如果没有 Raspberry Pi、则检测工作正常。 有趣的是、当我将主机连接到智能手机时、检测效果似乎很好。

    拥有 Raspberry Pi 对于我的应用至关重要、因为它需要与器件端的 MCU 进行通信。

    此致

    Angelo

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

    您好、Angelo、

    我怀疑 Raspberry 在使用时已更改 D+/D-引脚条件。 很可能不同的产品具有不同的工作裕度。 您可能需要与 Raspberry Team 一起检查如何解决此问题。

    另一方面、如果您具有固定电源、例如具有已知或可预测的电流能力、则可以从主机对充电器中的 IINDPM 进行编程、以设置自定义输入电流限制。 如果这适合您的应用、我可以在这方面为您提供帮助。

    此致、

    林红  

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

    您好、林红、

    您能否进一步解释一下"设置自定义电流限制"是什么意思? 这可能有用。

    还有一件事-我尝试将 USB 集线器连接到 Windows PC 而不是 Raspberry Pi、问题仍然存在。

    提前感谢!

    Angelo

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

    您好、Charles、

    您是否意味着 BQ25886在 CDP 中运行时通常会出现问题? 您能向我推荐一些变通办法/替代解决方案吗?

    非常感谢!

    此致

    Angelo

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

    您好、Angelo、

    如果您知道自己的输入能力、则可以使用主机将输入电流限制编程为更高的值、方法是将值(IINDPM)写入寄存器0x03。

    此致、

    林红

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

    您好、林红、

    我没有限制 BQ25886的输入电流(ILIM 引脚短接至 GND)。 这意味着芯片理论上可以灌入高达3A、拉取高达2A。

    这一点也很明显、因为当我将器件连接到外部2A 电源(智能手机充电器)时、电流大约为2A。 因此问题不在于 BQ25886的 ILIM、而在于源检测。 BQ25886无法检测到已连接到具有 CDP 功能的端口。

    此致

    Angelo

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

    您好、Angelo、

    我同意您的观点、在 DPDM 检测期间出现问题、可能是由于 Raspberry 被激活时引脚状态发生变化。

    我的意思是、您可以覆盖任何检测到的输入电流值(在本例中为500mA)、并使用主机在寄存器(而不是 ILIM 引脚)中设置新的 IINDPM 值、假设该新值对您的应用是安全的。 充电器将选择 ILIM 引脚和 IINDPM 寄存器设置的较低值。

    此致、

    林红  

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

    您好、林红、

    这在它正常工作时可能很有用。 您能解释一下如何操作吗?

    提前感谢!

    Angelo

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

    您好、Angelo、

    抱歉、我的错、您使用了 BQ25886、它是独立版本。 它没有 I2C 通信。 但任何其他 BQ2588x 都可以实现它。

    此致、

    林红

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

    您好、林红、

    我将介绍 I2C 版本。 我不确定这是否适合我们、因为我无法在主机和器件之间的连接器上添加更多引脚。

    在我检查其他 BQ2588x 选项后、我将再次向您发送文本。

    谢谢!

    此致

    Angelo

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

    例如、如果它满足您的预期、请尝试883。

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

    您好、林红、

    我查看了数据表。 I2C 选项看起来不错、但正如我昨天提到过的、我无法在主机和器件之间的接口上再添加两个引脚(由于机械方面的考虑)。

    我想、将 USB 数据线从 BQ2588x 中去耦合并通过将 D+和 D-引脚连接到分频器来设置限值是否合理、如表所示:

    理论上、我可以始终将电流设置为较高的值(例如2.1A)。

    但这里有一个问题... 当我将器件连接到只能提供500mA 电流的 PC 时、会发生什么情况? 电流是否会限制为500mA (对我来说没问题、这种情况仅用于调试)、或者 BQ 会尝试灌入2A 电流、从而烧断 PC 的 USB 端口?

    你怎么看?

    提前感谢!

    此致

    Angelo

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

    您好、Angelo、

    如果您想走这条路、我建议您保持在 SDP 和 CDP/DCP 上、以便您能够处理500mA 和1.5A 电流。 根据电池充电器(D+/D-)规范、 我们需要 D+和 D-之间的电阻小于200欧姆、以便在检测期间在 D+/D-引脚上实现所需的值。 您可能需要使用该值来查看它是否可以使 D+/D-检测工作。 但这需要您一侧额外的硬件组件。  

    然而、如果允许、使用 I2C 通信将使您在设计上有更多的自由。

    此致、

    林红