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.

[参考译文] TPS25751:GPIO7 上的 FAULT_INPUT_EVENT 不起作用

Guru**** 2905440 points

Other Parts Discussed in Thread: TPS25751, TPD2S300, TPS25751EVM

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1632336/tps25751-fault_input_event-on-gpio7-not-working

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

您好、

我使用具有 TPS25751D 的 PCB、并使用从 EEPROM 加载的配置。

GPIO 配置如下:

GPIO0:FAULT_INPUT_EVENT_PORT1(输入)、反相事件

GPIO2:plugevent_port1(输出)、开漏、反相事件

GPIO4 : USB_D+

GPIO5:USB_D-

GPIO7:FAULT_INPUT_EVENT_PORT1(输入)、内部上拉、直接映射事件

GPIO10:/I2Ct_IRQ

 

我面临的问题是:如果我将 gpio0 设置为高电平, PD 控制器将进入错误恢复模式,并按预期从源断开连接。 但是、如果我将 GPIO7 设置为低电平、这应该会导致相同的行为、但没有任何反应。

GPIO7 通过内部上拉电阻上拉至 3.3V、因此配置似乎可以。

您能帮我解决这个问题吗? 您可以在随附的配置 json 文件中找到该文件。

{
  "questionnaire": {
    "device": "TPS25751",
    "toolBuildVersion": "1.1.0",
    "answers": [
      null,
      5,
      4,
      3,
      1,
      1,
      2,
      3,
      1,
      1,
      1,
      0,
      0,
      0,
      12.6,
      1.7,
      0.04,
      0.24,
      0
    ],
    "vendorId": "0000",
    "productId": "0000",
    "version": "1.0.0.2"
  },
  "configuration": {
    "data": {
      "selected_ace": [
        {
          "register": 6,
          "data": [
            148,
            33,
            101,
            105,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 22,
          "data": [
            2,
            2,
            0,
            9,
            10,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 40,
          "data": [
            0,
            8,
            46,
            1,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            3
          ]
        },
        {
          "register": 41,
          "data": [
            48,
            48,
            145,
            194
          ]
        },
        {
          "register": 50,
          "data": [
            0,
            170,
            42,
            44,
            145,
            1,
            36,
            44,
            209,
            2,
            0,
            44,
            177,
            4,
            0,
            244,
            65,
            6,
            0,
            244,
            65,
            6,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 51,
          "data": [
            5,
            44,
            145,
            1,
            16,
            44,
            209,
            2,
            0,
            44,
            193,
            3,
            0,
            44,
            177,
            4,
            0,
            44,
            65,
            6,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 55,
          "data": [
            63,
            192,
            18,
            15,
            144,
            145,
            1,
            0,
            1,
            0,
            0,
            0,
            60,
            176,
            4,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 66,
          "data": [
            26,
            0,
            8,
            0
          ]
        },
        {
          "register": 92,
          "data": [
            4,
            12,
            0,
            0,
            129,
            0,
            0,
            0,
            4,
            0,
            0,
            0,
            4,
            4,
            0,
            0,
            48,
            4,
            0,
            0,
            0,
            0,
            0,
            0,
            128,
            4,
            0,
            0,
            48,
            0,
            0,
            0,
            5,
            0,
            0,
            0,
            33,
            0,
            1,
            0,
            0,
            0,
            0,
            33,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 112,
          "data": [
            5
          ]
        },
        {
          "register": 119,
          "data": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            127,
            0
          ]
        },
        {
          "register": 120,
          "data": [
            0,
            0,
            0,
            128
          ]
        },
        {
          "register": 122,
          "data": [
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 123,
          "data": [
            0,
            2,
            255,
            255,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 125,
          "data": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 126,
          "data": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        {
          "register": 152,
          "data": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        }
      ]
    }
  }
}

 

此致、

 

Guillaume

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

    你好 Guilaume,

    感谢您在 E2E 上联系我们。

    我看到 内部上拉电阻设置为 GPIO7、但不设置为 GPIO0。 您是否在 GPIO7 上没有设置内部上拉电阻的情况下进行了测试? 我最初认为内部上拉 会使 GPIO 悬空高于 低值。

    您能 为 GPIO0 和 GPIO7 提供电压测量吗? 提供上的 VBUS 和 CC 行为也会有所帮助。

    谢谢您、

    Katilynn

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

    你好 Katilynn、

    感谢您的回答。

    GPIO0 由以 1.8V 电压供电的 MCU 驱动、因此我不使用内部上拉电阻。

    正如您在屏幕截图上所看到的、GPIO7 上的内部上拉电阻似乎可以正常工作。

    带 GPIO0 的 INPUT_FAULT_EVENT(高电平有效,按预期运行)

    INPUT_FAULT_EVENT 和 GPIO7(低电平有效,未发生任何操作)

    此致、

    Guillaume

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

    你好 Guilaume,

    我知道问题是 GPIO7 在发送至低电平时不会进入 ErrorRecovery。 查看您提供的示波器屏幕截图 、我看到没有任何流量通过 GPIO7 日志的 CC 线路发送。  当发生 ErrorRecovery 时、端口会移除 CC1 和 CC2 引脚上的终端。  您是否有 PD 分析仪在 GPIO7 测试期间记录 CC 通信?

    谢谢您、

    Katilynn

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

    尊敬的 Katilynn:

    如果是 GPIO0 和 GPIO7 事件、请查看随附的 PD 分析仪日志。 对于 GPIO7、没有任何反应、因此 GPIO 似乎没有触发 TPS25751 中的任何内容。

    此致、

    Guillaume

    e2e.ti.com/.../Log_5F00_USB_5F00_PD_5F00_GPIO0_5F00_event.csve2e.ti.com/.../Log_5F00_USB_5F00_PD_5F00_GPIO7_5F00_event.csv

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

    您好 Guillaume、

    感谢您提供 PD 分析仪日志。  GPIO7 日志中似乎没有发生任何 CC 通信。  在 USB-C 电缆 PD 通过连接器连接到 PD 控制器且进入 APP 模式后、我们应该会看到发现身份消息和发送的 PD 合约。

    根据我的理解、GPIO 事件确实生效、但由于用于不 通信的 CC 线路、CC 无法在进入 ErrorRecovery 时终止连接。

    您能否详细介绍一下用于 GPIO0 和 GPIO7 测试的测试设置? 将哪些电源定向到 PD 控制器? PD 控制器是否用作此测试的受电方或供电方? 任何有关测试设置的信息都会有所帮助。

    谢谢您、

    Katilynn

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

    你好 Katilynn、

    PD 控制器仅充当受电方、仅由 USB 输入供电、VIN_3V3 短接至 GND、并且电池无电标志始终不会被清除。

    ADCINx 引脚连接在一起、并通过单个 10k 电阻器上拉至 LDO_1V5、将 PD 控制器配置为 AlwaysEnableSink 模式。

    在测试设置中、我使用 Unigraf UCD-340 及其外部电源单元 作为 USB-USB PD 源、并分析 USB PD 通信。

    GPIO0 由具有 1.8V 电平输出(高电平有效)的 MCU 控制。 高电平在 MCU 固件中通过 UART 命令触发。

    GPIO7 连接到 TPD2S300 过压保护的开漏输出、该保护会监控 USB 连接器的 SBU 引脚电压。 通过在其中一个 SBU 信号上注入 6.5V 电压源、将 ALERT 引脚设置为低电平。

    在我向您发送日志文件的测试期间、在日志开始之前连接了 USB-C 电缆。 然后我启动了日志并触发了相应的 GPIO。

    此致、

    Guillaume

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

    你好 Katilynn、

    你有任何关于这个问题的消息吗?

    此致、

    Guillaume

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

    您好 Guillamue、

    我在终端使用您共享的 JSON 配置和 TPS25751EVM 进行了一些测试。  

    当我为 FaultInputEvent 同时配置 GPIO0 和 GPIO7 时、我确实遇到与您相同的问题。  我发现禁用 GPIO0 事件可以让 GPIO7 事件发生。  

    我们过去在 PlugEvent 等输出事件中看到了此问题、其中映射的事件只能在单个 GPIO 上工作。 我认为写入固件是为了仅允许针对特定事件映射一个 GPIO。  

    您能否详细说明一下为什么您需要 GPIO0 和 GPIO7 都触发故障事件? 您的系统中发生哪种类型的故障事件?

    谢谢您、

    Katilynn

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

    你好 Katilynn、

    GPIO0 由 MCU 控制、可 在应用特定事件或保护下触发 FaultInputEvent。

    GPIO7 连接到一个过压保护警报引脚、该引脚可监控 SBU 引脚。 在我们设计的以前版本的产品中、当 VBUS 和 SBU 引脚插入我们使用的一些定制软件狗时、我们会遇到短路。

    关于事件映射问题、这就是我所假设的。 是否有其他事件可以触发 CC 引脚断开连接?

    此致、

    Guillaume

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

    您好 Guillaume、

    感谢您的答复。 我确认 固件仅允许在一个 GPIO 上发生故障输入事件。 请允许我到周末来回复您。

    谢谢您、

    Katilynn

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

    您好 Guillaume、

    我联系了我们的固件团队、他们确实确认对于输入事件、只考虑第一个具有配置事件的 GPIO 的状态。 我知道您打算将第二个故障事件反转、但我认为最好的办法是将两个信号连接到单个 GPIO 输入。 确保 GPIO 上的电压在 6V 的绝对最大电压额定值范围内、以避免 对 GPIO 引脚造成永久损坏。

    谢谢您、

    Katilynn

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

    你好 Katilynn、

    感谢您的回答。 同时、我找到了一种权变措施、包括禁用 GPIO0 并从 MCU 发送 Gaid 4CC 命令、而不修改硬件。 它似乎工作没有问题,你看到一个潜在的问题通过这样做?

    此致、

    Guillaume

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

    您好 Guillaume、

    很高兴您能找到一个软件解决方案。  

    如果 GPIO0 被禁用、MCU 是否仍能够检测与该引脚相关的故障事件? 我不清楚禁用 GPIO0 如何同时跟踪这两个故障事件。

    谢谢您、

    Katilynn

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

    尊敬的 Katilynn:

    根据我的理解、FAULT_INPUT_EVENT 是来自 TPS25751 侧的输入、因此将其禁用只会使其对引脚的切换不敏感、从而允许 GPIO7 对此事件做出响应。  在 MCU 侧、我不是切换 GPIO0、而是使用 Gaid 4CC 命令通过 I2C 进入错误恢复状态。 您是否看到有关此解决方案的问题?

    此致、

     Guillaume  

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

    您好 Guillaume、

    感谢您澄清了使用 4CC 命令在 PD 控制器中启动 errorRecovery 的权变措施。 感谢您的详尽说明、我也同意此解决方案在发生由 MCU 信号触发的保护器件事件时有效地断开 VBUS 和 CC 通信。 我不会预见到这种方法会有任何问题。

    谢谢您、

    Katilynn