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.

[参考译文] TPS65988DJEVM:协商交换至电源并将电压从端口1传递到端口2

Guru**** 2581345 points
Other Parts Discussed in Thread: TPS65988

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1330319/tps65988djevm-negotiating-swap-to-source-and-passing-through-voltage-from-port-1-to-port-2

器件型号:TPS65988DJEVM
主题中讨论的其他器件:TPS65988

我尝试使用此评估套件将 Type-C USB PD 充电器连接到平板电脑以进行充电。 我需要的功能是在未连接充电器时通过端口1将平板电脑电源(TPS 现在是一个接收器)输送到定制板、但该端口可在插入充电器时进行角色交换并切换至供电方。 我希望避免使用板载可变直流/直流转换器、因为可用的充电器是已知的且固定的、并且可以显著节省应用的电路板面积。

 

我被限制为5V 和9V 平板电脑可以使用的可能的 PDO。 我可以从 TPS GUI 读取这些、如此处所示:

在 J11上、我 将 PP_HV1和 PP_HV2连接在一起、并使所有其他引脚都断开连接。

是否有可支持此类操作的正确配置设置? 按照原样、如果我将端口1设置为受电方或供电方、并将端口2设置为仅受电方、我可以实现此行为、但前提是充电器协商的电压为5V。 我可以协商并从充电器接收9V 电压、但在这种情况下、无法将端口1切换到供电方。

如果可以、我很乐意分享配置文件。

有关此类操作的正确配置文件和跳线布置的任何指导?

我还会阅读另一篇论坛文章(https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1243030/tps65988dk-two-port-usb-c-power-delivery---power-pass-through)、其中使用 GPIO 和虚拟配置来模拟此行为。 不过、我无法使它正常工作。 如有必要,请就如何执行提出任何建议。

谢谢!

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

    Andrew、您好!

    我来看一下这个。 请务必共享工程配置文件、以便我也可以进行检查。

    此致!

    亚历克斯

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

    尊敬的 Alex:

    感谢您的帮助!

    当然、这是我一直在努力实现的目标。 我将继续尝试、因此随着时间的推移、该配置文件发生了一些变化。 但是、这是 latest.e2e.ti.com/.../tps65988evm_5F00_simple.pjt

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

    Andrew、您好!

    我将会介绍原理图和项目配置。 我将在下周早些时候向您介绍最新情况。

    此致!

    亚历克斯

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

    谢谢您、Alex! 对于它的价值,这篇文章也描述了我被卡住的情况。  https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1290646/tps65988-vbus-source-sink-power-path 

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

    Andrew、您好!

    很抱歉响应出现延迟。 我终于有了一些带宽来了解一下您的项目和设置。

    我在此处作为附件更改了配置文件中的一些配置。 没什么大不了的、但希望它将对 PD 合约协商和角色交换有所帮助。

    e2e.ti.com/.../tps65988evm_5F00_power_5F00_passthrough_5F00_mcu.pjt

    通过将 J11上的 PP_HV1跳接至 J11上的 PP_HV2来进行跳线配置应该可以、因为这样应该会直接将 PP_HV2受电路径(PP1)连接到 PP_HV2受电/源路径(PP2)。 我唯一担心的是、PD 控制器会在一段时间内从充电器接收 PP_HV2电源、从平板电脑接收 PP_HV1电源。 这将持续到端口 A 交换为源角色。 由于 PP_HV1和 PP_HV2与跳线配置相连、这可能会在内部引起一些保护(例如 RCP)、导致角色交换在9V 时失败。 让我向我的团队核实一下。

    我有几个需要澄清的问题:

    1.) 在插入任何平板电脑或 Type-C PD 充电器之前、是否使用桶形插孔为 EVM 供电? 否则、PD 将在电池电量耗尽模式下引导、并且行为将不同。

    2.) 在端口 B 开始从充电器连接接收功率后、您如何尝试在端口 A 上从灌电流到拉电流进行电源角色交换? 您是否使用 GUI 工具通过 I2C 在端口 A 上执行"SWSr"切换到供电方命令? 如果是、如果失败、结果会是什么?

    此致!

    亚历克斯

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

    您好、Alex、感谢您的跟进! 今天我将更深入地回顾这一点、并会对您的问题进行一些后续回答。 对我来说、这仍然是一个高优先级的项目、因此我们想要弄清楚。

    但我现在的情况是:

    1) 1)我不是通过桶形插孔为 EVM 供电、因此可能会在电池电量耗尽模式下启动。 我可以在配置设置或命令中考虑这一点吗?

    2) 2)是的、我使用的是 SWSr 命令。 今天我将再次尝试并分享结果、但通常它只是拒绝交换。

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

    Andrew、您好!

    如您所述、由于 EVM 采用电池电量耗尽情况进行引导、因此您应该会在"Boot Flags"状态寄存器中看到电池电量耗尽标志置为有效。 您可以使用 GUI 在调试模式下查看此内容。 在尝试使用"SWSr"交换到端口 A 上的供电方之前、请使用 GUI 工具通过"DBfg"命令清除电池无电标志。 如果 TPS65988 PD 仍处于电池电量耗尽模式、则无法正常为任一端口供电、并将拒绝 SWSr 命令。

    请尝试此操作、如果成功、请告诉我。

    此致!

    亚历克斯

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

    感谢 Alex、

    在启动时肯定会出现电池电量耗尽标志。

    使用你给我的项目文件、在启动时、插入平板电脑和充电器、VBUS 两个灯都亮起、下面是电源路径状态:

    因此、TPS 已从充电器协商了9V、3A 的电压、并从平板电脑接受了5V、0.5A 的电流。

    对我来说、反向电流保护会对端口1产生影响。

    电池电量耗尽标志也为真。

    我使用 DBfg 命令清除电池电量耗尽标志、端口1上的 VBUS 指示灯熄灭、电源路径状态为:

    切换到源代码时不返回任何结果(没有显示 sensance_cmd、abort_cmd、也不显示 reject_cmd)

    此外、收到的灌电流电容现在为:

    而在电池电量耗尽标志清除之前、它已在该线程中更进一步匹配先前的 PDO 列表。

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

    Andrew、您好!

    我今天使用您的配置文件在 EVM 上测试了直通设置。 我发现了电源角色交换无法正常工作的问题和原因。

    • 在电源直通设置中将 PP_HV1和 PP_HV2短接在一起时、PP_HV1将施加任何 PP_HV2接收的电压。 在本例中、连接到端口2的充电器通过 PP_HV2协商并向 TPS65988灌入9V 电压。 这意味着 PP_HV1的电压也将为9V。
    • 当在端口1上尝试进行电源角色交换(PR_Swap)以启用平板电脑的直通充电时、会出现该问题。 为了使 PR_Swap 请求成功、接收请求的远端必须接受、并且两侧(新受电方和新供电方)必须相互发送一个 PS_RDY。
    • 我已经使用 TPS65988的端口1连接了 PR_Swap 尝试的 PD 日志、以启用直通。 您可以通过下载 TotalPhase Data Center 软件来打开它。 您将看到远端发送 PS_RDY 到 TPS65988、但 TPS65988不会向远端发送 PS_RDY。 这是因为在 TPS65988固件中、必须在 PP_HV1处看到5V 电压、然后端口1才能将 PS_RDY 发送到远端。 但由于 PP_HV2和 PP_HV1短接、因此由于与充电器的合约、PP_HV1的电压为9V。 因此、我们无法完成此 PR_Swap 以启用电源直通。  
    • 我们本机不支持直通模式、因此需要一些额外的实现。 您可能需要直流/直流降压/升压转换器、它可以将 PP_HV2上充电器的9V 转换为 PP_HV1上的5V。 我曾尝试使用 EVM 的板载直流/直流转换器来模拟此情况、但未能使其工作。
    • 我已经将两个端口上的所有受电方/供电方 PDO 更改为仅5V 进行了测试。 直通模式、PR_Swap 在该配置下运行良好、因为 PP_HV1在端口1尝试 PR_Swap 到电源之前看到来自 PP_HV2的5V 电压。

    要点是使端口能够交换成电源角色、PD 需要该端口的 PP_HV 电源路径上存在5V 电压(在协商更高功率合约之前)。 如果不是5V、PD 将无法发送 PS_RDY、这会导致 PR_Swap 出现故障。

    e2e.ti.com/.../TPS65988_5F00_Power_5F00_Passthrough_5F00_PRSwap_5F00_Fail.tdc

    遗憾的是、看起来我们本机支持的电源直通配置在 EVM 上不适用。 不过、如果您可以在将充电器连接到端口2之后、在将电池电量耗尽标志清除/将端口1交换到电源之前为 PP_HV1提供稳定的5V 电压、那么所需的设置将会起作用。

    此致!

    亚历克斯

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

    尊敬的 Alex:

    非常感谢您在澄清我的问题方面所做的彻底的工作和您的帮助。  这真的帮助我思考了 PD 协商过程应该如何工作、以及我之前的尝试失败的原因。

    今天上午、通过协商过程中执行某些步骤、我能够使用 EVM 获得协商的9V、2A 充电。

    对我来说、这里的重要一步是 确保平板电脑与 TPS65988之间协商的 PDO 是一种可变源合约(5-9V)、幸好我正在使用的平板电脑上提供了 PDO。 如果我将此合约交换为拉电流(5V)、然后修改 TPS65988的灌电流能力、以便在充电器之间协商新合约、将总线电压增加到9V、则平板电脑将允许更高的功率直通。、

    我使用以下配置文件作为起点。 它与您发送给我的项目文件类似、但修改了一点:

    e2e.ti.com/.../tps65988evm_5F00_power_5F00_passthrough_5F00_mod_5F00_mcu.pjt

    我还在端口2 (J12、引脚2)上的 VBUS 和 SYSPWR 之间添加了一根跳线。 我认为这有助于在电池死区标志清除期间保持系统开启。

    最初插入平板电脑和充电器时、会出现不同的行为、具体取决于是首先插入端口1 (平板电脑)还是第二插入。 如果首先、两个端口都用作5V 灌电流。 如果是第二个、则端口2充当受电方、端口1充当5V、0.5A 的拉电流。

    假设两个端口都在5V 电压下进行"灌电流"、我开始重新协商 PDO、以便:

    1. 清除电池电量耗尽标志
      1. 现在、我将以5V、0.5A 的电压为平板电脑充电、协商的 PDO 如下:

        端口1 (平板电脑)

         

        端口2 (充电器)

    2. 更改端口2的配置以具有第二个受电方 PDO (可变5V 至9V、2A)

    3.在端口2上向充电器发送获取供电方能力(GSrC)命令、以重新协商充电器和 TPS65988之间的合约。 现在、我以9V、0.5A 的电压充电、协商的 PDO 如下:

    端口1 (平板电脑)

    端口2 (充电器)

    4.在端口1向平板电脑发送发送供电方能力(SSRC)命令、以协商更高的充电电流。 现在充电电压高达9V、1.67A、PDO 与上述者相同。

    现在、我将在 GUI 调试模式下执行所有这些步骤。 但在我的应用程序中、我将会使用微控制器通过 I2C 发送命令。 我还很好奇、我能否使用 TPS65988的虚拟配置和 GPIO 来自动执行上述过程?

    以上几点对您是否有意义? 我可能会采取一些不必要或无意的步骤、但现在不知道、只要端口1上的目标器件具有可变5-9V PDO、这对我来说是可行的。

    我会继续测试这一点、但想记录我昨晚的笔记后结束的地方。 感谢您的帮助、我将尽量了解 USB PD 的工作原理。

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

    我遇到了一些与平板电脑协商的供电方合约不是可变 PDO、而是固定5V 电压的情况、这会带来一些问题。 我会继续挖掘,但有时我可能会明白可变合约允许这起作用。 我希望在理想情况下确保 TPS65988和平板电脑之间始终协商可变合约。

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

    Andrew、您好!

    是的、如果您能够将 TPS65988和端口2上的充电器之间协商的 PD 合约更改为从5V 开始、然后重新协商为9V、则此直通设置可以在无需外部降压/升压转换器的情况下工作。 您重新配置的任何寄存器或在 GUI 调试模式下发送到 PD 的命令、都可以使用微控制器来执行。 我们还在 I2C 上具有中断、可用于您的微控制器流程。

    您在哪个点清除电池电量耗尽标志? 假设首先将平板电脑连接到端口1、您是在插入平板电脑为 EVM 板供电后清除标志、还是等待也将充电器插入端口2后清除标志?

    第一个 PD 拉电流能力必须是固定的5V 合约。 我认为没有办法保证可变5V 至9V 功能是协商一致的。 我们会向远端的平板电脑发布广告、而平板电脑会请求其中一个。 不过、让我来看看并告诉您。

    此致!

    亚历克斯

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

    Andrew、您好!

    我确认处于供电方电源角色时、TPS65988无法强制协商的合约成为变量 PDO。 远端灌电流侧 PD 将请求固定5V PDO 或可变5V PDO。 无论它请求的 PDO 是哪个 PDO、都将协商该 PDO。  

    您可以做的是、除了在端口1上使用可变 PDO、 您可以在向端口1 (平板电脑)添加9V 固定灌电流 PDO 的同时向端口2 (充电器)添加9V 固定拉电流 PDO。 充电器连接到端口2并且端口1上成功发生5V 的 PR_Swap 之后。 添加两个 PD 之后,您可以执行适当的命令,在两个端口上重新协商 PDO 协议,此时应该是9V 协议。 如果要模拟重新协商命令的快速时序、可以在 GUI 调试模式下使用脚本功能快速连续执行命令。

    上述方法比可变源 PDO 更复杂、但如果时序可行、则可能是一种可行的权变措施。

    此致!

    亚历克斯