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.

[参考译文] TPS25750:BC1.2广播不工作

Guru**** 2589280 points
Other Parts Discussed in Thread: TPS25750, BQ25792, TPS25750EVM

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1334224/tps25750-bc1-2-advertisement-not-working

器件型号:TPS25750
主题中讨论的其他器件: BQ25792

您好!

我们正在开发 USB-C 充电解决方案。
原理图如下所示。

设置如下:

  • 具有2S1P 锂离子电池的便携式设备
  • 便携式设备仅受电方
  • 便携式设备没有 USB 连接。

我正在测试硬件、遇到以下问题:

USB PD 在 PD 充电器上工作正常。 太好了!

USB BC1.2无法正常工作。
我希望 TPS25750能生成 D-/D+广播、但它根本不会生成广播。
D+/D-线保持平坦。

请注意、我没有连接 VIN_3V3线路、我始终在充电器连接时对 TPS25750进行软编程。
我还在 VIN_3V3连接的情况下尝试了、但行为是相同的。

软件使用 PORT_CONTROL 寄存器 ChargerAdvertiseEnable 在"DCP Auto 2 (1.2V、2.7V 和 DCP)"下对 TPS25750进行编程、并在"Detect BC 1.2和专有传统充电器"下对 ChargerDetectEnable 进行编程。

您能帮助我解决这个问题吗?

现在、我的便携式设备拉取了源端(充电器)可用的电流、完全忽略充电器 BC1.2功能、这是不正确的...
BQ25792可能正在调节电流以使电源不会过载...

我希望你能明白并解决我遇到的问题。。。

此致
P·霍格沃斯特
工程精神

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

    尊敬的 Peter:

    连接 BC1.2器件时、您是否可以捕获 PD 控制器和 BQ 器件之间的 I2C 日志?

    我认为 TPS25750不具备更新 BQ 电流消耗以正确反映 bc1.2协议的能力、这可能需要外部 MCU 来正确配置 BQ 器件的电流消耗。

    谢谢。此致、

    克里斯

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

    Chris、您好!

    感谢您的快速响应!


    我认为 I2C 日志没有帮助、因为我没有看到 D+/D-线路广播、这是我们首先需要解决的问题。
    I 电源状态寄存器将"0"反映为充电器广播状态、将"0"反映为充电器检测状态。

    我的测试设置是在 USB VBUS 上连接5V 实验室电源。
    我还在 D+和 D-线之间连接了一个200Ohm 的电阻。
    这应该代表 DCP 情况。

    您可能能够说明的另一件奇怪的事情:

    如果我在未编程的 TPS25750上打开5V VBUS 电源、VBUS 也会出现在 TPS25750输出端。
    如果我在已编程的 TPS25750上打开5V VBUS 电源、则 VBUS 不会出现在 TPS25750输出端。
    因此未给 BQ 芯片供电。

    我希望您可以帮助我解决这些问题...

    谢谢!

    彼得。

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

    尊敬的 Peter:

    您能否共享用于 GUI 的.json 文件? 另外、您正在使用哪个 GUI 版本?

    我面临的一个问题是、我认为 PD 控制器不会通过 I2C 更新 BQ、可能需要外部 MCU 对 BQ 进行编程以汲取适当的电流。 但是、我们首先看一下 D+/D-。

    如果我在未编程的 TPS25750上打开5V VBUS 电源,则 VBUS 也会出现在 TPS25750输出端。
    如果我在已编程的 TPS25750上打开5V VBUS 电源、则 VBUS 不会出现在 TPS25750输出端。

    TPS25750输出"、我假设您是指 PPHV?

    您是否在电池电量耗尽的状态下引导? (通过 USB 连接器/VBUS 而不是内部电源供电)。 如果电池电量耗尽、则有一组"电量耗尽的电池配置"(请参阅数据表中的表9-5)定义了在对 PD 控制器进行编程之前 PD 控制器的行为。 其中一些在对器件进行编程之前不会启用受电路径。

    谢谢。此致、

    克里斯

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

    Chris、您好!

    "TPS25750输出"、我假设您是指 PPHV?"
    是的、正确。

    附加了 JSON 文件。 我使用的是 TPS25750_TPS7.0.4.7 Application_Customization_Tool

    由于 VIN_3V3悬空、TPS 始终在电池电量耗尽配置下启动。
    我在对 TPS 进行编程之后要做的第一件事是清除电池电量耗尽标志。
    TPS 硬件配置为"AlwaysEnableSink"。
    当我采用未编程的 TPS 为 VBUS 供电时、PPHV 接通。 然后、当我对 TPS 进行编程时 、PPHV 保持打开状态。
    但当我首次对 TPS 进行编程、然后为 VBUS 供电时、PPHV 保持关断(我在 VIN_3V3连接到3V3电源的情况下进行了尝试)。 这种情况是仅为 VBUS 供电时。 D+/D-线路未连接、并使用200Ohm 电阻器进行短路。

    我将一个 MCU 连接到 TPS、因此在需要时更新 BQ 寄存器不是问题。

    此致

    彼得。

    JSON:
    {"2":{"version":"7.0.4.7"、"Answers":[4、null、1、null、0、null、0、"088D"、0、"51"

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

    尊敬的 Peter:

    请尝试使用随附的 json。 我使用您作为基础共享的 JSON 启用 BC1.2充电器检测启用。

    但是当我第一次对 TPS 进行编程并为 VBUS 供电时,PPHV 仍保持关闭状态(我在 VIN_3V3连接到3V3电源时尝试了此操作)。 这种情况是仅为 VBUS 供电时。 D+/D-线路未连接、并与200Ohm 电阻短接。

    这可能是由于禁用了 BC1.2检测、并且可以使用新配置来解决。

    /cfs-file/__key/communityserver-discussions-components-files/196/PeterHoogervorst_5F00_BC12_5F00_Detect.json

    谢谢。此致、

    克里斯

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

    Chris、您好!

    不幸的是,我没有做这个工作。。。

    1)
    我的第一个问题是:
    TPS 器件是否能够进行 BC1.2广播?
    或者 BQ 必须这样做。 目前我已将 TPS USB 线连接到插头、并断开 BQ 线。

    2)
    我更改了硬件并将 BQ USB 线并行连接到 TPS USB 线和连接器。

    然后、BQ 仅在下电上电后执行一次 BC1.2广播。
    之后、TPS 重新对 BQ 进行编程并禁用广告(TPS 清除 ChargeControlRegister2中的位6)

    当我强制 BQ 进行额外的 BC1.2广播(在 ChargeControlRegister2中设置位7)时、它不起作用。
    我认为这是因为 TPS 将 D+线路拉低。

    当我将 TPS USB 线路与 BQ USB 线路断开(TPS USB 线路悬空)时、BC1.2广播完成得很正确。

    我的结论是否正确?


    3)
    我的解决方案是:
    -当电源连接到 TPS 时,主机 MCU 将对 TPS 进行编程。
    TPS 不更改任何 ChargeControlRegisters。 主机 MCU 将接管对主器件的
    允许 TPS 更改其他寄存器。
    - BQ 将开始在0.5A 充电
    -主机 MCU 将初始化 BC1.2广播
    -主机 MCU 将读出结果并根据需要设置充电电流。

    实际上、我希望 TPS 在固件更新后不会更新任何 ChargeControlRegisters。
    或者更好的是、应更改 TPS25750_ChargeControlRegisters、以便用户能够更改 Application_Customization_Tool。

    您能帮助我吗?

    谢谢
    彼得

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

    尊敬的 Peter:

    让我来做一些测试,我会回来给你。

    谢谢。此致、

    克里斯

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

    尊敬的 Peter:

    感谢您的耐心、请尝试随附的 json。 我需要更新 DP/DM 线路的 GPIO 配置。 我能够验证 TPS25750EVM 上的 BC1.2检测是否正常工作。

    e2e.ti.com/.../PeterHoogervorst_5F00_BC12_5F00_Detect2.json

    TPS 设备是否能够进行 BC1.2广播?

    它能够广播(供电方)和检测(受电方)。 我已将您的项目配置为检测、正如您提到的、它仅受电方。

    我更改了硬件并将 BQ USB 线并行连接到 TPS USB 线和连接器。

    然后、BQ 仅在下电上电后执行一次 BC1.2广播。
    之后、TPS 重新对 BQ 进行编程并禁用广告(TPS 清除 ChargeControlRegister2中的位6)

    当我强制 BQ 进行额外的 BC1.2广播(在 ChargeControlRegister2中设置位7)时、它不起作用。
    我认为这是因为 TPS 将 D+线路拉低。

    当我将 TPS USB 线路与 BQ USB 线路断开(TPS USB 线路悬空)时、BC1.2广播完成得很正确。

    我的结论是否正确?

    [/报价]

    遗憾的是、我主要支持 PD 控制器(TPS25750)、不确定 BQ 器件的功能。 从数据表来看、它看起来也支持 BC1.2。 如果可以使用这个.json 文件、我建议仅连接 PD 控制器的 D+/D-线路。

    3)
    我的解决方案是:
    -当电源连接到 TPS 时,主机 MCU 将对 TPS 进行编程。
    TPS 不更改任何 ChargeControlRegisters。 主机 MCU 将接管对主器件的
    允许 TPS 更改其他寄存器。
    - BQ 将开始在0.5A 充电
    -主机 MCU 将初始化 BC1.2广播
    -主机 MCU 将读出结果并根据需要设置充电电流。[/报价]

    TPS 器件加载了映像后、便可独立管理端口连接。 您可以使用 MCU 来控制器件的某些方面。

    我配置了第二个 json 以删除 ChargeControlRegisters。

    e2e.ti.com/.../PeterHoogervorst_5F00_BC12_5F00_Detect2_5F00_NoChargerControl.json

    这些事件主要用于在启动、分离和重置器件时配置器件以及设置工作模式。 (OTG/CHG)

    因此,实际上,我希望 TPS 在固件更新后不会更新任何 ChargeControlRegisters。
    甚至更好的是、应更改 TPS25750_ChargeControlRegisters、以便用户能够更改 Application_Customization_Tool。[/报价]

    APP_MCU 不支持该功能、因此目前必须在 Customization_Tool 中进行更改。

    谢谢。此致、

    克里斯

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

    Chris、您好!

    感谢您目前的帮助。
    不幸的是、我忙于并行的第二个开发、因此无法立即进行测试。
    我希望能在下周中继续。

    我会尽快回复您。
    祝大家周末愉快、下周同一时间再见。

    此致、
    彼得

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

    尊敬的 Peter:

    感谢您发送编修、希望您的周末也能愉快。

    谢谢。此致、

    克里斯

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

    Chris、您好!

    我又拿起了 TPS PD 控制器来完成这项工作。
    我已经使用被移除的 ChargeControlRegisters 对您的 JSON 进行了测试、现在效果要好得多。
    谢谢!

    只有几个问题需要解决:

    -在 USB SDP 和 USB CDP 上、3A 输入电流限制(REG 06)由 BQ 芯片的 TPS 设置。
     以下值应为:SDP 为0.5A、CDP 为1.5A
     所有其他电流设置都正常。

    - IRQ I2CMasterNACKed 未启用,我希望默认启用它。

    - GPIO0必须配置为"PlugEvent"

    您是否可以安排这样配置的 JSON 文件?

    实际上、我可以通过 TPS25750_TPS25750 Application_Customization_Tool 对其进行控制、效果会好得多。
    但现在当我打开你的 JSON 文件,更改它,并再次保存它,你所有的适应性都丢失了。
    怎样才能解决这一问题?
    此外、如何解决类似 D- USB 的短接至 GND 的问题? 在 TPS25750_USB 中、它配置为 Application_Customization_Tool 线路...

    希望能尽快收到您的反馈!

    此致、
    彼得。

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

    尊敬的 Peter:

    -在 USB SDP 和 USB CDP 中,3A 输入电流限制(REG 06)由 BQ 芯片处的 TPS 设置。
     以下值应为:SDP 为0.5A、CDP 为1.5A
     所有其他当前设置均可。

    不幸的是、这是不可能的。 在设置 BQ I2C 写入的方式中、我们无法使用 TPS25750更新 BC1.2合约的 BQ 寄存器、仅适用于 USB-C PD 合约。

    - IRQ I2CMasterNACKed 未启用,我想默认启用它

    我不确定这里的意思是什么、"IRQ I2CMasterNACKed"是什么?

    -必须将 GPIO0配置为"PlugEvent"[/报价]

    完成、请参阅随附的 json。

    实际上、我可以通过 TPS25750_TPS25750_TPS25750_TPS25750_TPS257462_TPS5115806"]对此 Application_Customization_Tool 进行控制、这点非常好。
    但现在当我打开你的 JSON 文件,更改它,并再次保存它,你所有的适应性都丢失了。
    如何解决这一问题?

    您是否正在使用最新的7.0.4 GUI? 就像你一样。 我想不出你不能编辑 JSON 的任何其他原因。

    以及如何解决类似 D- USB 的短接到 GND 的问题? 在 TPS25750_USB 中、它配置为 Application_Customization_Tool 线路... [/报价]

    这些事件看起来在 JSON 中正确配置。 我不知道您为什么会看到引脚短接至 GND。 它始终短路还是仅在特定时间短路?

    谢谢。此致、

    克里斯

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

    Chris、您好!

    查看我的评论如下:

    不幸的是、这是不可能的。 在设置 BQ I2C 写入的方式中、我们无法使用 TPS25750更新 BC1.2合约的 BQ 寄存器、仅适用于 USB-C PD 合约。

    >>好的,注意到。

    我不确定这里的意思是什么、"IRQ I2CMasterNACKed"是什么?

    >>

    完成、请参阅随附的 json。

    >>您可以上传新的 JSON 吗?

    您是否正在使用最新的7.0.4 GUI? 就像你一样。 我想不出你不能编辑 JSON 的任何其他原因。

    >>如果我加载了您的 JSON、然后再次将其导出。 从 JSON 中删除所有"额外"适配项。
    这是一个问题。

    这些事件看起来在 JSON 中正确配置。 我不知道您为什么会看到引脚短接至 GND。 它始终短路还是仅在特定时间短路?

    >>您的 JSON 工作正常。 与7.0.4 GUI 中导出的"标准"JSON 相比、您做了哪些更改?

    我希望能尽快收到您的反馈!

    此致、

    彼得

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

    尊敬的 Peter:

    感谢您提供反馈、下图是一个 json、低区域和完整区域、GPIO 0设置为"plug_detect"、并且 I2C nacked 位设置。

    /cfs-file/__key/communityserver-discussions-components-files/196/PeterHoogervorst_5F00_BC12_5F00_3.json

    /cfs-file/__key/communityserver-discussions-components-files/196/PeterHoogervorst_5F00_BC12_5F00_3_5F00_LowRegion.bin

    /cfs-file/__key/communityserver-discussions-components-files/196/PeterHoogervorst_5F00_BC12_5F00_3_5F00_FullFlash.bin

    谢谢。此致、

    克里斯