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:在连接 USB-C 的情况下上电时返回 APP 模式

Guru**** 2560390 points
Other Parts Discussed in Thread: TPS25750

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1198160/tps25750-returns-app-mode-when-power-up-with-usb-c-connected

器件型号:TPS25750

在连接 USB 的情况下尝试为电路板加电时、我遇到了芯片问题。 它报告应用模式、因此我无法通过 I2C 刷写补丁。 仅当我连接了作为或可能作为供电方的器件时、才会发生这种情况。

上电示例:

- USB 记忆棒通过 USB-C 连接- USB-A 母头->芯片报告补丁模式
-通过 USB-C 连接主机 PC - USB-A 公->芯片报告应用模式
-智能手机通过 USB-C 连接- USB-C ->有时它报告补丁模式,有时应用模式

由于我的 ADCIN 配置设置为 SafeMode、因此我无法使用 GO2P 任务强制进入补丁模式。

芯片为什么是这样的?

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

    您好!

    TI US 今天就在放假期间、如果我们明天回来上班、我们将与您联系。

    此致。

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

    尊敬的 Borys:

    感谢您的耐心等待。 您的 ADCINx 配置是什么?

    此致、

    布兰登

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

    尊敬的 Brandon:

    我的配置在 ADCIN1上为2.59V、在 ADCIN2上为0V、因此我假设应该是:


    我还注意到、如果我拔下电路板的电源、但保持插入 USB 电缆、就会出现应用模式。

    即使 VIN_3V3为0V、主机的 USB 是否可以通过 VBUS 保持 tps25750上升? 然后、在将电源插入电路板后、它可能会报告应用模式、因为 tps25750从未关闭并保留旧固件。

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

    尊敬的 Borys:

    您能向我确认您的上拉和下拉电阻器适用于 ADCINx 吗? 请确保它们连接到 LDO3V3。  

    您如何刷写配置? 您使用的是 EEPROM 还是 MCU?

    此致、  

    布兰登

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

    你好, Brandon<
    对于 ADCIN1:2.74k 连接到 LDO_3V3、10k 连接到接地。
    对于 ADCIN2:10K 接地。

    固件通过 I2C 从 MCU 进行刷写

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

    尊敬的 Borys:

    根据上面的观点、是的、如果您保持 USB 连接、那么您是正确的、即使您断开电路板的电源、器件也不会重新启动并保留配置。 这是预期的行为、也是器件不进入 PTCH 模式的原因。  

    您的 ADCINx 配置。 您处于安全模式、只能在从 EEPROM 加载时使用。 因此、如果您希望通过 I2C 从 MCU 刷写固件、则需要处于 NegotiateHighVoltage 状态。  

    此致、

    布兰登

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

    感谢您的确认。 大约在第二部分、我在此模式下成功刷写了固件。 是否仍应更改 NegotiateHighVoltage?

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

    尊敬的 Borys:

    如果您能够以安全模式刷写、则可以继续使用此模式。 如果需要强制 PD 进入 PTCH 模式、则需要处于 NegotiateHighVoltage 状态。 我建议切换到 NegotiateHighVoltage、因为您将能够在此模式下使用4CC 命令 GO2P! 切换并不重要、但可以减少问题。

    此致、

    布兰登

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

    尊敬的 Brandon:

    我尝试切换到 NegotiateHighVoltage 模式。 我目前的配置是:

    ADCIN1:8.25k 连接到 LDO3V3、10k 连接到地
    ADCIN2:10K 接地。

    NegotiateHighVoltage i2c 地址0x22 (#3 MODE)的配置是否正确?

    当我尝试强制补丁模式时(器件之前通过 i2c 进行刷写、运行并且处于应用模式)、GO2P 命令的响应为0x3 (任务被拒绝)。

    我还检查了 BOOT_STATUS 寄存器、因为它被描述为拒绝原因之一、并且看起来也很好:

    0x0 0x0 0xf0 0xe2 0xa1

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

    尊敬的 Borys:

    我现正研究此事,并会在明日跟进。

    此致、

    布兰登

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

    尊敬的 Brandon:

    有新消息?

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

    尊敬的 Borys:  

    Brandon 目前正在休假、但 另一名团队成员将 在这里为您提供帮助。 感谢您的耐心。  

    此致、

    Aya  

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

    尊敬的 Borys:

    似乎您设置的 ADCIN1解码为5而不是4、因此您处于不正确的模式。

    我已将下面的 ADCINx 解码表作为参考(TPS25750数据表中缺少该表)

    更改 ADCIN1电阻分压器后是否可以再次尝试该命令?

    此致

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

    尊敬的 Tommy:
    我把电阻器更改为22k。 现在、在 ADCIN1上、我有22k 到 LDO3v3、10k 到接地。 我看到 ADCIN1上的电压为~1V、因此我想现在应该没问题。

    GO2P 命令的静态响应为0x3 =任务被拒绝。

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

    尊敬的 Borys:

    任务似乎因为 BOOT_STATUS 而被拒绝。 PatchConfigSource 未读出3h 或4h (您之前给出的读出值为0h)。

    您能否提供完整的 I2C 日志(Saleae 可能没问题)、以便我可以进一步研究?

    此致

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

    您好!
    我现在无法自己进行测量、但我会请求硬件团队并返回给您。

    关于引导状态、我想我提供了原始读出值、采用小端字节序、因此0xE2是第4个字节、在 PatchConfigSource (31:29)位上给出3h。

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

    尊敬的 Borys:

    您能否向我发送您的项目设置、以便我能够仔细检查设置?

    假设您正在使用 Web GUI、您可以压缩.json 文件吗?

    -通过 USB-C 连接 USB 记忆棒- USB-A 母头->芯片报告补丁模式
    -通过 USB-C 连接主机 PC - USB-A 公->芯片报告应用模式
    -智能手机通过 USB-C 连接- USB-C ->有时它报告补丁模式,有时应用模式

    您在此处描述的问题似乎与电池电量耗尽配置有关、Go2P 故障的另一个可能原因可能是器件未处于 APP 模式(已处于 APP 模式)。

    在您将器件连接到端口时、TPS25750是否已经有电源(VIN_3V3高电平)?

    此致。

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

    我将从 GUI 中准备 json 并在今天晚些时候发送。

    电池电量耗尽。 在我之前所述的情况下、在 VIN_3V3为高电平之前连接了 USB、因此电池电量耗尽配置、但当我的代码开始运行时、它仅报告 APP 或 PTCH 模式、对于电池电量耗尽配置、它将启动、对吗?

    现在我没有连接 USB。 我要做的是、当器件处于 PTCH 模式时提供闪存补丁、然后我尝试使用 GO2P 命令返回到补丁模式、然后 再次刷写。

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

    我在此处附上了我的配置。

    我对电池电量耗尽配置有一点困惑、因为在的数据表章节中、该开关会在3.3V 电源可用时打开、且电池电量耗尽标志被清除;在其他章节中、TPS25750会打开 VIN_3V3开关、直到主机清除
    通过 I2C 发送电池电量耗尽标志
    我看不到任何允许通过 I2C 清除电池电量耗尽标志的寄存器

    e2e.ti.com/.../tps25750_5F00_config.zip

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

    尊敬的 Borys:

    由于还有其他工作要做、我将在下星期一 EOB 回来与您联系、TI US 将在本星期五度假。

    此致

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

    您好、有什么建议吗?
    我还得到了您以前询问的日志。

    这是 GO2P。

    这是为具有0x3返回代码的 DATA1寄存器获得的

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

    尊敬的 Borys:

    您能否在运行 Go2P 命令之前尝试运行 DBfg 命令、看看这是否有用?

    此致

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

    我尝试过这种方法、但我认为它没有帮助。 正如我在发送 GO2P 之前在引导状态寄存器上方发布的那样:


    0x0 0x0 0xf0 0xe2 0xa1、并且0x0是第一个字节、因此未设置 DeadBatteryFlag。

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

    尊敬的 Borys:

    让我尝试在我们的 EVM 上重复这个问题。 是否有任何修改需要我注意的与 EVM 非常不同?

    此致

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

    尊敬的 Tommy:
    我没有看到任何重大差异。 当然、我没有将 EEPROM 连接到 i2cm、也没有电池。

    此致

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

    尊敬的 Borys:

    我将测试一下、并在星期三之前与您联系。

    此致

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

    尊敬的 Borys:

    是否使用补丁捆绑包模式对器件进行编程? 如果是、您是否在 PBMC 之后使用 PBMe 命令?

    此致。

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

    尊敬的 Tommy:

    我使用补丁捆绑包模式 、并且未使用 PBMe 命令、因为根据参考手册的执行流程、当出现问题时应该会发出该命令、但我的补丁已成功加载。 我无法强制它再次进入补丁模式。

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

    尊敬的 Borys:

    我指的 PBMe 如下所示

    您的设备可能仍卡在补丁捆绑包模式下、因此无法重新进入补丁模式。

    此致

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

    尊敬的 Tommy:
    我将尝试那个、但是根据执行流程、不需要 PBMe。 在 PBMC I 检查返回代码后、读取模式寄存器、显示为 APP。

    我将在参考手册中讨论3.3.4和4.2中的示例。

    这个版本是4.2:

    EC 可以通过发出'PBMe' 4CC 任务来重置和重新启动补丁过程

    在我看来、如果出现问题、PBMe 被用来重置闪存补丁。 如果不是、那么您的文档就不清楚了。

    编辑:

    我尝试了 PBMe 后 PBMC,它返回! 被视为拒绝、这是我所期望的。 当我在 PBMC 之前尝试 PBMe 时、该操作成功、器件保持在 PTCH 模式。

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

    尊敬的 Borys:

    我认为我发现了为什么 GO2P 在完成 PBMx 后不起作用的问题。

    在再次使用"GO2P"命令之前、您是否可以尝试使用该命令"GAID"?

    此致

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

    尊敬的 Tommy:

    我尝试了 GAID 命令、但在等待 CMD1寄存器值0时实现了超时。 我将超时设置为5s。 因此在5s 循环期间、我不会得到! CMD 或 CMD=0、所以我不知道这是什么意思。 您能告诉我有关此 GAID 命令的更多信息吗?

    如果我忽略此输出并继续使用 GO2P、它仍然会被拒绝。

    此致

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

    尊敬的 Borys:

    GAID 使 PD 控制器处理器冷重启。

    从技术上讲、此任务从不会自处理器重新启动以来完成。 但是、所有 HI 寄存器都会在重新启动时恢复到默认状态、因此所有 CMDx/DATAx 寄存器都将恢复到0、这会将此任务标记为完成。 此任务强制 PD 控制器重新启动其 OTP 引导加载程序。

    GO2P 仅在 BOOT 标志处于特定条件下时有效。 PBMx 处理完成后、引导标志将更改为不满足 GO2P 条件的状态。 使用 GAID 将重置状态、您应该能够再次使用 GO2P。

    此致

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

    尊敬的 Tommy:

    我在执行 GAID 命令后最终读取了 CMD=0。 事实上、之后 GAID 芯片已经处于 PTCH 模式、就不必再发送 GO2P。

    感谢您为调试该情况提供的帮助。

    我会建议一件事。 我在数据表或参考手册中发现了很多缺失的信息、不仅在本主题中、而且在另一主题中也是如此。 看起来您的文档需要非常大的更新、因为我在查看这里的信息时浪费了大量时间。

    此致

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

    尊敬的 Borys:

    很抱歉给您带来不便。 我同意数据表和 TRM 中缺少几项信息。 我们正在更新这些信息、已经将这些信息报告给了我们的系统团队。

    此致