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:成功配置 APP 模式和电源后 USB 数据通信丢失

Guru**** 1956055 points
Other Parts Discussed in Thread: TPS25750, TPS25751
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1376944/tps25750-usb-data-communication-lost-after-app-mode-and-power-source-sucessfully-configured

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

工具与软件:

您好!

我基于通过 I2Cs 线路连接到 MCU 的 TPS25750D 开发了我自己的硬件。  

我不使用 EEPROM、补丁捆绑包已通过 MCU 的 I2C 损坏。

按照《主机接口技术参考手册》中介绍的状态机、我成功更新了补丁捆绑包、以便为智能手机供电。

详细信息:

-我有一个电池,从 TPS25750D 为 VIN_3V3和 PP5V 供电。

-我将 ADCINx 引脚配置为用作安全模式和0x20地址。

-由于我的目的是为智能手机供电,并通过 USB 线从 MCU 与其通信,我将低区二进制(在应用工具中)配置为5V/3A 纯源和 DRP 数据角色。

成功完成 PBMc 任务后、PD 进入 APP 模式、并且智能手机开始充电。  

但此时 USB 连接已断开。 所以、我不能同时接通电源和进行通信。

除此之外、我尝试使用4CC 任务命令将数据角色交换为 DFP、但该任务被拒绝、返回0x03。

所有命令和数据均使用 Saelae 分析仪进行验证。

对于如何进行沟通、您有什么建议吗? 我是否使用正确的配置?

提前感谢、

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

    尊敬的 Pedro:

    您希望 PD 控制器充当什么数据角色来与手机通信? 我们需要是 DFP 还是 UFP? 什么是器件

    [quote userid="61091" url="~/support/power-management-group/power-management/f/power-management-forum/1376944/tps25750-usb-data-communication-lost-after-app-mode-and-power-source-sucessfully-configured 成功完成 PBMc 任务后、PD 进入应用模式、智能手机开始充电。  [报价]

    如果输入为来源、则也会输入为 DFP。 您是否有解码后的 CC 线路消息的 PD 日志可供我们查看以帮助调试? 它会告诉我们是否存在任何权力或数据角色交换。 如果您已经是 DFP、则可能会拒绝角色交换。

    您是否已将 D+/D- USB2.0线路连接到 PD 控制器?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    感谢您的快速响应。
    如果我想对、我期望 PD 控制器充当 DFP 数据角色和供电方电源角色。
    (我希望为智能手机供电、并从中接收 USB 数据命令/请求)
    我在 链接中附上了 系统连接的方框图、以便更易于理解。

    D+/D- USB2.0线路连接在 MCU 和 PD 控制器/ PD 控制器和 USB-C 连接器之间。

    我在安全模式(配置有 ADCINx 引脚)下进行了一些测试、一个测试连接了智能手机、另一个测试连接了笔记本电脑。 我在以下 链接中附加了.sal 和.csv 原始数据。 中都可以看到 I2C 和 CC 行。 使用智能手机或笔记本电脑时的行为有所不同。

    我在执行 PBMc 命令之后读取一些寄存器、以帮助了解会发生什么情况:
    器件功能: 0xF8 0x19 0x00 0x00
    引导状态: 0x30 0x03 0xF0 0xC2 0xA1
    状态: 0x20 0x00 0x00 0x00 0x00
    电源路径状态: 0x00 0x00 0x00 0x00 0x40
    电源状态: 0x00 0x00
    PD 状态: 0x20 0x00 0x00 0x00
    模式: 0x41 0x50 0x50 0x20

    如果您需要其他信息、请告诉我。

    谢谢。此致、
    佩德罗

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

    尊敬的 Pedro:

    如果这是新设计或当前正在开发、我们强烈建议切换到 TPS25751。 它是 P2P 和特性兼容部件、是 TPS25750的后继产品。 TPS25750将变为 NRND。

    我们仍将支持 TPS25750、但对错误修复和新功能的大部分支持正转移到 TPS25751。


    您能否共享您正在使用的.json? 这将有助于进行调试。

    如果您希望从智能手机接收 USB 数据命令/请求、则可能需要是 UFP、而不是 DFP。 当 PD 控制器协商新合约时、它只会进入"Power Source"(电源)、"Data DFP"(数据 DFP)或"Power Sink"(电源)、"Data UFP"(数据 UFP")。 一旦输入为两者之一、您就可以执行电源或数据角色交换以进行组合。

    如果您以电源(Data DFP)身份输入、则可能需要向 UFP 进行数据交换。 请检查调查问卷、确认您选择了 DRP 配置(供电方和受电方)。 您是否也能尝试将首选数据角色设置为器件或 DRP?

    您的状态寄存器似乎指示该端口已禁用?

    D+/D- USB2.0线连接到 MCU 和 PD 控制器/ PD 控制器和 USB-C 连接器之间。

    是否需要对传统充电方案提供支持? (BC1.2)? 到 TPS25750的 USB D+/-连接仅用于支持该功能、因此如果不需要、建议从数据线上断开 PD 控制器。

    在两个文件中均可查看 I2C 和 CC 行

    您是否有专门用于解码 CC 线路的 PD 分析仪工具? 我会尝试使用内置的 Saleae 工具、但不确定它有多精确。

    谢谢。此致、

    Chris

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

    Christopher、您好!

    我非常感谢有关 TPS25751的建议、并且我会在生产更多硬件时考虑这一点。

    关于当前的 json 配置作为电源和 UFP 数据角色、我在以下 链接中共享了该文件
    同时、我试图执行一条命令来切换到 UFP、而不是 DFP、但此任务也被拒绝。
    我还尝试了将 PD 控制器与 USB 数据线断开、该行为仍然相同。

    我没有任何 PD 分析器工具来解码 CC 线,我只能用 Saelae 来做。

    谢谢!
    佩德罗

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

    尊敬的 Pedro:

    让我看看你的 json ,我会在本周晚些时候回到你。

    令人奇怪的是、您共享的寄存器信息表明端口已禁用或断开连接。

    连接后/连接期间、VBUS 上的电压是否为5V?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    我可以看到、将智能手机连接到 USB-C 后、VBUS 上的5V 电压会出现、并在连接期间持续供电。

    您是否知道如何在 PD 上禁用该端口?

    感谢您的帮助、

    佩德罗

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

    尊敬的 Pedro:

    我看到、在.json 调查问卷中、您设置了受电方首选角色。 您是否可以将其更改为 Source 并重新测试?

    类似于以下内容: e2e.ti.com/.../Config_5F00_Source_5F00_Preferred.json

    您是否已为 PP5V 和 Vin3V3供电?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    我不在办公室里,一个星期内我没有机会回答你,所以我对此道歉。
    同时、我使用您提到的配置重新测试了系统。
    不过、系统会继续供电、但没有 USB 数据通信。

    这次、我在 saelae 仿真中添加了 PP5V、VBUS 和3V3信号。 首先、在 USB-C 电缆之后连接外部电源、最后更新补丁捆绑包。

    您可以在以下 链接中找到、saelae、json 和 csv 文件

    感谢您的帮助、

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

    尊敬的 Pedro:

    感谢您提供的数据。 因为即将到来的美国假期、我会在下周早些时候与您联系。

    谢谢。此致、

    Chris

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

    克里斯托弗、您好!

    您是否有机会了解此主题?
    如果你有任何想法,可以帮助进一步的诊断,我会非常感激。

    感谢您的关注、

    佩德罗

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

    尊敬的 Pedro:

    您是否也能在模拟通道上捕获 CC 线? CC 线路似乎没有任何通信功能。 我们可能签订了非 PD 源合同。

    连接智能手机时、是否可以读取状态寄存器并报告 ConnState?

    "你在担心我吗?" LSB 在第一个还是最后一个? 从该捕获可以看出、状态寄存器似乎指示任一方向上都没有连接。

    您能否分享最新原理图以便我们检查连接?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    在此处分享了最新的原理图。 我们考虑了电源和 TPS25750电路的文件。 文件夹中有一个便笺文件、其中包括关于当前实现电路的一些注意事项。

    与此同时,我继续运行系统,并发生了一个模糊的行为。 当智能手机保持连接到 USB-C 时、3V3电源电路会周期性地关闭、重启系统。 此3V3电源由稳压器提供、稳压器的输入连接到5V 和 PP5V。 原理图中是否存在问题?
    为了观察这种行为、我 在此处共享了.sal 和.csv 文件。

    关于寄存器、报告的数据是 LSB 在前、因此在写入时应考虑数据来自 TPS25750的顺序。

    连接智能手机时、状态寄存器报告 ConnState 中未建立连接。

    关于 CC 线路、抱歉、我没有模拟通道来获取与其他信号同步的信号。 您是否对导致非 PD 源合同的原因有任何想法?

    非常感谢您的帮助、

    佩德罗

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

    尊敬的 Pedro:

    即使我们与非 PD 合约连接、如果我们在5V 充电、我们也应该会看到 connectionState 位被置位。

    如果任一侧不支持 PD、或者 CC 线路上存在妨碍正常通信的问题、则会发生非 PD 源合约。

    请给我几天时间复查原理图。 您使用哪种 ADCIN 配置。

    谢谢。此致、

    Chris

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

    Christopher、您好!

    谢谢您的解释、我会同时进行一些测试。
    我正在使用以下 ADCIN 配置:
    ADCIN1= 7
    ADCIN2= 0
    因此、使用0x20 I2C 地址的安全模式。

    我期待您的原理图审阅。

    谢谢!

    佩德罗

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

    尊敬的 Pedro:

    我注意到在 json 中、您将数据速度设置为 USB2、手机是否未连接 USB3?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    感谢您的观察。
    我现在尝试了 USB 3.2第1代、甚至 STATUS 寄存器报告 ConnState 中未建立连接。

    但是、该行为看起来有所不同、CC 线在补丁加载期间更改了其值、并且 VIN_3V3 在整个过程中和之后都保持高电平。

    您可以 在此处访问新的.sal 和.csv 文件。

    谢谢。此致、

    佩德罗

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

    尊敬的 Pedro:

    您仍然主要使用手机作为连接的器件进行测试吗? 您正在使用哪款手机?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    是的、我仍在使用连接到 USB-C 的手机进行测试
    我使用的是 Redmi 注释12 5G: 链接

    谢谢!

    佩德罗

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

    尊敬的 Pedro:

    在 CC 线路上似乎仍然没有任何 PD 通信。 您是否能够与 CC 线、VIN3V3和 VBUS 共享类似的 CC 线作为模拟布线?

    对于初始连接、我们期望 CC 线在0到3.3的电压下稳定、并且不应处于0V

    初始连接完成并且 PD 控制器就绪后、我们应该会在 CC 线上看到一些通信

    您可以像以前那样重新读取寄存器吗? 您报告的引导状态寄存器似乎表明未加载任何 CONFIG、并且存在标头问题。 是否确定正确加载了配置?

    您可以尝试加载此配置吗? 我禁用了 BC1.2 GPIO (尽管我认为您已经断开了 PD 控制器和连接器之间的 USB D+/D-线路)。

    e2e.ti.com/.../Continuous_5F00_DRP_5F00_source_5F00_USB32_5F00_0807.json

    我对数据连接的期望是我们需要稳定的电源连接、并且不会干扰 D+/D- USB2线路。

    • 断开0欧姆电阻(R20和 R21)应防止 PD 控制器干扰数据、但我也禁用了 GPIO
    • 我们仍需要确定状态寄存器中是否缺少连接报告。
      • 在330pF 电容器之外的 CC 线路上是否连接了其他任何连接?

    谢谢。此致、

    Chris

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

    Christopher、您好!

    由于我只能使用一个示波器、我尝试编译主要模拟信号行为并将它们与数字.Sal 信号同步。 您可以在以下图像中观察该过程。

    映像1 -补丁捆绑包和读取引导状态后的模拟行为

    映像2 -补丁捆绑包和读取引导状态后的数字行为

    图3 -补丁捆绑后的行为秒数

    实际上、CC 信号电压电平介于0和3.3V 之间(不是我们在.Sal 文件中看到的0)。 但是、连接后无法在 CC 线路中看到通信。
    除此之外、VBUS 模拟行为似乎不稳定、并导致3V3暂时下降。

    重新读取寄存器和获得的值为:
    器件功能(0x0D): 0x04 0xF8 0x19 0x00 0x00
    启动状态(0x2D): 0x05 0x30 0x03 0xF0 0xC2 0xA1
    状态(0x1A): 0x05 0x20 0x00 0x00 0x00 0x00
    电源路径状态(0x26): 0x05 0x00 0x00 0x00 0x00 0x40
    电源状态(0x3F): 0x02 0x00 0x00
    PD 状态(0x40): 0x04 0x20 0x00 0x00 0x00
    MODE (0x03): 0x04 0x41 0x50 0x50 0x20

    可能、我在之前关于字节顺序的信息中没有明确说明。 我说过、报告的数据是 LSB 在前。 我想认为数据表协议表中的字节1是首次写入的数据。 因此、当我考虑使用值0x30 0x03 0xF0 0xC2 0xA1读取0x0D 寄存器时、字节1为0x30、这会导致:
    -补丁捆绑包标头中无错误
    -已从 I2C 加载配置

    加载的配置文件与您提到的配置文件相同。
    我仍然不存在 R20和 R21、并且禁用了 GPIO。
    在 CC 线路上、仅存在330pF 电容器。

    谢谢。此致、

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

    尊敬的 Pedro:

    感谢您的更新。

    是的、模拟 CC 电压确实表明 Type-C 隐式合约看起来正确、我们仍然没有看到 USB-C PD 通信(预计会在 CC 线路上切换)。

    灌电流似乎断开连接(CC2电压达到3.3V)、导致我们失去 VBUS。

    其余的信息。

    谢谢。此致、

    Chris

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

    尊敬的 Pedro:

    查看您共享的信息、似乎引导过程工作正常。 连接电话时缺少连接仍是问题。 令人惊讶的是、即使该器件报告没有插头、仍然有5V 的电源。

    请尝试使用随附的配置。 我进行了一些小改动并使用 EVM 进行了测试、它应该能够抵消5V 电源合约并显示在状态寄存器中连接的插头。 您可以测试配置并报告寄存器信息。  

    e2e.ti.com/.../Continuous-DRP-Prefer-UFP.bine2e.ti.com/.../Continuous-DRP-Prefer-UFP.json

    谢谢。此致、

    Chris

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

    Christopher、您好!

    我对您的新配置和之前的配置进行了一些测试、并且我意识到状态寄存器在进入应用模式几秒后会改变其值。 这样、如果我连续读取状态寄存器、PD 会返回:

    状态(0x1A): 0x05 0x27 0x00 0x10 0x00 0x00

    这意味着、它识别出存在插头、并且 PD 用作供电方和 UFP。
    但是、它会继续为智能手机供电、但不传输数据、因此我无法通过 USB 在微控制器和智能手机之间进行通信。 除此之外、该行为仍然存在:VBUS 会周期性地关闭并重新启动整个过程。 您是否认为这可能与原理图相关?

    非常感谢您的努力为您提供帮助。

    佩德罗

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

    尊敬的 Pedro:

    位3:1似乎表明远端器件是调试器件? 这意味着 TPS25750在 CC 线路上会出现双 Rd、出现的原因有多种。

    • 如果 PD 控制器在 CC 线上只看到一个 RD 下拉、则会将远端识别为 UFP
    • UFP 的 CC 线上有两个 RD、但电缆只能通过1条 CC 线。
      • 如果两条 CC 线都通过、或者电缆不兼容并具有 Rd 下拉电阻、则可能会导致电缆问题
      • 可能尝试使用其他电缆。
    • 如果在系统的 TPS25750 CC 线路上放置了分立式 Rd 下拉电阻器、这也可能会导致这种情况发生。  
      • 我认为这种情况不是这样、因为 CC 线上没有 Rd 电阻器。

    如果器件卡在调试模式、我不知道 USB 操作是否能正常工作。

    利用 DFP 项目、您可以再次重新捕获 CC 线吗? 我想看看从电压/通信的角度来看是否有任何变化。


    现在我们看到了一个连接、请尝试这个.json。 它应使手机输入为供电方/DFP、然后应尝试进行电源角色交换、从而使 TPS25750成为供电方。 我们主要寻找数据连接。

    e2e.ti.com/.../ENTER_5F00_UFP_5F00_SourceSwap.json

    谢谢。此致、

    Chris

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

    Christopher、您好!

    感谢您的讲解。 目前,我尝试移除电缆(USB-C 插头插座延长电缆),并直接将 USB-C 连接器连接到智能手机。 这两种情况下的行为保持不变。

    我还尝试了您建议的.json 配置、现在它发生了一些不同的事情。 PD 和智能手机之间存在数据通信、但 PD 不充当供电方、因此智能手机未充电。 这样、如果我连续读取状态寄存器、PD 会返回:

    状态(0x1A): 0x05 0x0B 0x00 0x10 0x40 0x00

    更新补丁捆绑包后、我曾尝试将电源角色交换为供电方、但任务代码返回的结果是电源角色被拒绝。

    ________________________________________________________________

    关于您想查看 CC 线的 DFP 项目、我应该使用简单配置(选择 DFP 和电源)还是应该使用上一个测试中使用的相同高级配置(通过 DFP 更改 DRP)?

    谢谢!

    佩德罗

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

    尊敬的 Pedro:  

    感谢您的讲解。 目前,我尝试移除电缆(USB-C 插头插座延长电缆),并直接将 USB-C 连接器连接到智能手机。 这两种情况下的行为都是相同的。

    您能分享一下自己在做什么吗? 我对您的描述有点困惑。 是否有连接的电缆?

    状态(0x1A): 0x05 0x0B 0x00 0x10 0x40 0x00

    更新补丁捆绑包后、我曾尝试将电源角色交换为供电方、但任务代码返回的结果是电源角色被拒绝。

    [报价]

    新的补丁捆绑包试图强制端口进入 UFP 状态、看起来连接类型很奇怪、因为它现在给了我们一个保留的连接状态。

    [报价 userid="61091" url="~/support/power-management-group/power-management/f/power-management-forum/1376944/tps25750-usb-data-communication-lost-after-app-mode-and-power-source-sucessfully-configured/5382732 #5382732"]关于您要查看 CC 线路的 DFP 项目、我应该使用简单配置(选择 DFP 和电源)还是应该使用上次测试中使用的相同高级配置(通过 DFP 更改 DRP)?[/QUOT]

    使用与最新测试相同的高级配置。 主要寻找模拟电压。

    谢谢。此致、

    Chris

x 出现错误。请重试或与管理员联系。