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:如果 PD 不满足 USB-USB 电源要求、如何禁用灌电流输出

Guru**** 2458550 points
Other Parts Discussed in Thread: TPS25751, TPS25730

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1546808/tps25751-how-to-disable-sink-output-if-usb-pd-power-requirements-are-not-met

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

工具/软件:

我将 TPS25751D 配置为电路的仅受电 USB-C 电源输入、具有双数据角色。

我的电路需要最小 5V、3A (或 9V、3A)、如果在 PD 协商后未满足此要求、我想禁用灌电流输出。

为此、我设置以下设置:

我使用 ADCINx 输入将电池无电配置配置为“SafeMode"(“(ADCIN1 =“7",“,ADCIN2、ADCIN2 =“0")“)、以便在闪存配置完成、对闪存进行编程并进行测试之前、不会向我的电路输出电源。

我期望会发生以下情况:

1) 上电最初不会为我的电路供电;只有 TPS25751 - 发生了这种情况

2) 将读取闪存并对 TPS25751 进行编程: 发生了这种情况  (由 GPIO 按照配置的行为进行确认)。

3) 电源 就无法启用 如果连接了不能提供 5V、3A 输出的 USB 电源、则由 TPS25751 连接到我的电路。 -但是  已启用电源  与较低电流的仅 5V USB-C 端口连接时。

您能帮助我了解为什么会出现这种情况、并帮助我找到错误吗?

我之前使用 TPS25730 及其四个 ADCINx 输入成功实现了该 PD 功能、但遗憾的是、较简单的器件不支持双数据角色功能 (这也需要)、因此我现在尝试使用 TPS25751 复制相同的 PD 功能。

非常感谢您的帮助、

Justin。
=======

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

    我可以共享我使用的 JSON 文件的副本(如果有这方面的帮助)?  

    Justin。  

    =======

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

    I²C 是上电序列的粗略迹线、其中显示了闪存的 I ² C 接口、以及在上电后不到 1.25 秒后电路电源 VBUS(粉色)亮起。


    以下是用于 config 的 JSON 文件:

    {
      "questionnaire": {
        "device": "TPS25751",
        "toolBuildVersion": "1.0.2",
        "answers": [
          null,
          5,
          4,
          1,
          1,
          2,
          3,
          0,
          1,
          1,
          1,
          null,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "vendorId": "0000",
        "productId": "0000",
        "version": "1.0.0.2"
      },
      "configuration": {
        "data": {
          "selected_ace": [
            {
              "register": 6,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 22,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 40,
              "data": [
                0,
                40,
                46,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 41,
              "data": [
                50,
                80,
                129,
                0
              ]
            },
            {
              "register": 50,
              "data": [
                0,
                170,
                42,
                44,
                145,
                1,
                38,
                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": [
                2,
                44,
                145,
                1,
                16,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                244,
                65,
                6,
                0,
                69,
                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": [
                118,
                192,
                18,
                65,
                180,
                144,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 66,
              "data": [
                26,
                0,
                8,
                0
              ]
            },
            {
              "register": 92,
              "data": [
                8,
                8,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                8,
                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,
                29,
                0
              ]
            },
            {
              "register": 112,
              "data": [
                3
              ]
            },
            {
              "register": 119,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                15,
                0
              ]
            },
            {
              "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
              ]
            }
          ]
        }
      }
    }

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

    尊敬的 Justin:  

    对延迟的回复表示歉意。

    在自动协商受电方 (0x37) 中、您需要将 “自动协商能力不匹配功率 “[61:52]配置为 TPS25751 启用其受电路径所需的最小阈值。 例如、如果此字段设置为 15W、则 TPS25751 将不启用其受电路径、除非连接的 PD 供电方可提供大于 15W 的功率。  

    如果您有任何其他问题或疑虑、请告知我们!  

    谢谢。此致、

    Raymond Lin

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

    这是我第一次见到你的时候,我很高兴见到你。“  现在、我可以创建多个 SINK_PDO、设置所需的最小功率、并且如果电源不适用、器件会关闭。

    值得注意的一点是三个电池无电配置选项的影响:

    1. NegotiateHighVoltage 不能在使用 EEPROM 对控制器进行编程时使用、但另外两个对我很有用:
    2. 安全模式会使灌电流路径保持关断状态、直到建立合适的电源合约。  这很棒、但它无法对电路内未编程的闪存进行编程、因为电源永远不会打开。
    3. AlwaysEnableSink 非常有用、因为它也适用于 EEPROM、尽管文档中并未明确说明、但如果协商了功率合约但不足以满足最低要求、则会关闭接收路径。  这使器件能够在提供足够的电源时正常运行、如果没有提供足够的电源、则关闭、但还允许在工厂中对闪存进行初始系统内编程、而无需任何特殊的电源连接。

    我尚不了解“自动协商灌电流 (0x37)/自动协商最大值“或“最小值“页面上设置的附加限制的用途、但我将尝试根据 技术参考手册执行这些限制

    感谢您的帮助 Raymond。

    此致、

    Justin。
    =======