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.

[参考译文] TPS65986:有关带充电器的 TPS65986使用案例的问题

Guru**** 2455360 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/609416/tps65986-questions-on-use-case-of-tps65986-with-charger

器件型号:TPS65986

您好!

我们一直在使用 TPS65986、在插入集线器/充电器时遇到一些奇怪的角色交换问题。

 

我们一直致力于使 UFP / DFP 模式与 SOC 的 USB 设备/模式切换配合使用。  我们希望我们的器件在主机模式下处于 DFP/灌电流/SOC 正常状态。  我们希望允许出于调试和开发目的在器件模式下转换到 UFP/灌电流/SOC。

 

到目前为止、我们有两个问题:

 

1)将 https://www.anker.com/products/A8302041连接 到我们的 DUT、有时 TPS65986寄存器0x1A 会根据需要将字节0报告为0x5d (DR = DFP、PR = Sink)。  但是、有时它报告0x6d (DR = DFP、PR = Source)。  不知道我们最终如何成为一个来源。  我没有在 FW 中启用"处理交换到源"或"启动交换到源"。  为什么 TPS65986会将我们报告为来源? 调试这种情况的最佳方法是什么?  

 

2) 2)在内核驱动程序处理中断时、PD 协商仍出现问题。  基本上、当我插入电缆(远端有其他 TPS65986 EVM 或 Anker 等器件)时、我们会收到中断、内核驱动程序会检查0x1a 寄存器、该寄存器报告0x1d (DR = UFP、PR = SINK)。  由于这是一个开发构建、我们允许 UFP 模式、因此我们通知 SOC USB 驱动程序启动切换到器件模式。  开关是异步的、因为它需要通过它们的状态机进行各种转换。

 

当这个转换发生时、由于0x1A 寄存器的值更新为0x5d (DR = DFP、PR = SINK)、所以会触发另一个中断。 此时、我们将通知 SOC 驱动程序转换到主机模式。  此请求将被忽略、因为它仍在转换到器件模式。

 

想知道:

--为什么在连接电缆后,我们会看到状态从0x1a 变为0x5a?  这是否仅仅是由于 PD 协商所需的时间?

--是否有一个中断可以用来知道何时完全检测到电缆状态(无论使用的是 BC1.2还是 PD)?  

如果状态变化是由于 PD 协商,我们是否有办法知道连接了一个支持 PD 的设备,而且谈判仍在进行中?

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

    您好、Wes、

    您是否有能够捕获系统中发送的 PD 消息的 LeCroy PD 分析器? 我还想拥有您的项目和 bin 文件、以便我可以尝试在此处重新创建您的设置问题。  

    此致、

    Jimmy Hua  

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

    对于 TPS65986EVM、S1开关配置为什么? 此外、您的系统设置是否类似于 PD 适配器连接到 Anker HUB、后者随后连接到 TPS65986EVM?

    我想更好地了解您的设置、以帮助了解可能存在问题的地方。

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

    您能不能澄清一下您在原始帖子中谈到的0x1A 被引用了什么。 0x1A 是基于主机接口文档的状态寄存器、但您在电缆连接后声明"状态从0x1A 变为0x5A"。

    至于电缆完全检测、我假设您想知道插头何时存在。 如果是这种情况、您可以查看 IntMask 值以检查是否存在插入或移除事件、或检查寄存器0x1A 的字节0是否存在插入。

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

    [引用用户="Jimmy Hua ]Wes、

    您能不能澄清一下您在原始帖子中谈到的0x1A 被引用了什么。 0x1A 是基于主机接口文档的状态寄存器、但您在电缆连接后声明"状态从0x1A 变为0x5A"。

    至于电缆完全检测、我假设您想知道插头何时存在。 如果是这种情况、您可以查看 IntMask 值以检查是否存在插入或移除事件、或检查寄存器0x1A 的字节0是否存在插入。

    此致、
    Jimmy Hua

    [/报价]

    你好、Jimmy、

    很抱歉、这是一个拼写错误、它是为了读取"连接电缆后状态寄存器(0x1A)从0x1d 变为0x5d "

    对于插入式 GPIO、插入时、还是电缆方向和电源协商实际完成后、它会立即切换到1?

    谢谢、

    Josh

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

    [引用用户="Jimmy Hua ]嗨、Wes、

    对于 TPS65986EVM、S1开关配置为什么? 此外、您的系统设置是否类似于 PD 适配器连接到 Anker HUB、后者随后连接 到 TPS65986EVM

    我想更好地了解您的设置、以帮助了解可能存在问题的地方。

    此致、
    Jimmy Hua

    [/报价]

    你好、Jimmy、

    是的、正确、PD 适配器->集线器-> EVM。 开关设置为1000。

    谢谢、

    Josh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Josh、您好!
    插入插头后、GPIO 将立即切换为1。 将存在预期的最小去抖时间(100ms)。
    此致、
    Jimmy Hua
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wes、

    我已经查看了您发送的总相位文件。 USB-PD-ANT-DUT-SOURCE 文件到底代表什么? 上面的 PD 迹线显示未建立连接、在该事件中 CC 线路正在切换。

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

    请使用接收文件、因为它应该同时包含接收和发送消息。

    此外、当 TPS65986在我们想要支持的情况下(支持 PD、不支持 PD、支持 BC1.2等)检测到其数据/电源角色时、最简单的指示方法是什么? 插入事件 GPIO 仅检测插入的插头何时插入、而不检测完成数据和电源角色协商的情况。

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

    在调试模式下、您可以检查配置寄存器下的系统配置部分(0x28)以验证 BC 1.2启用状态和其他所需的寄存器值。 您还可以进入 Debug Registers 选项卡和 Power Status 部分来检查 BC1.2状态和数据状态部分、以了解 USB2/3连接和数据角色信息。

    此致、
    Jimmy hua