ZHDA137 April   2026 TPS25751A , TPS26750A

 

  1.   1
  2.   摘要
  3.   商标
  4. 1其他 TI USB-PD 控制器的适用性
    1. 1.1 USB-PD 受电方简介
    2. 1.2 自动协商受电方用途
    3. 1.3 定义
  5. 2涉及的字段
  6. 3自动协商受电方基础知识与示例
    1. 3.1 自动协商 RDO 优先级 (ANRDOPriority)
    2. 3.2 自动计算受电方最小功率和自动协商受电方最小必需功率
    3. 3.3 “无能力不匹配”和“能力不匹配时自动禁用受电方”
    4. 3.4 自动计算受电方最小电压和自动协商最小电压
    5. 3.5 自动计算受电方最大电压和自动协商最大电压
  7. 4自动协商受电方基础知识与 EPR 示例
    1. 4.1 需要 ≥140W 功率的系统
    2. 4.2 受电路径 SPR 到 EPR 转换
  8. 5常见错误或特有系统限制
    1. 5.1 系统需要更高功率,但 PD 选择更低功率的 PDO
    2. 5.2 系统支持 EPR 电源,但 PD 继续选择 20V PDO
    3. 5.3 将“最小电压”和“最大电压”设置为相同的值
  9. 6高级自动协商受电方示例
    1. 6.1 降级至 5V 固定 PDO
    2. 6.2 使用中断驱动 EC 自动协商受电方
    3. 6.3 ANeg:自动协商受电方更新
    4. 6.4 AUTO_NEGOTIATE_SINK 寄存器
      1. 6.4.1 AUTO_NEGOTIATE_SINK 使用示例 1
      2. 6.4.2 AUTO_NEGOTIATE_SINK 使用示例 2
      3. 6.4.3 AUTO_NEGOTIATE_SINK 使用示例 3
      4. 6.4.4 AUTO_NEGOTIATE_SINK 使用示例 4
  10. 7参考资料

AUTO_NEGOTIATE_SINK 寄存器

通常,在受电合约生效时写入 AUTO_NEGOTIATE_SINK 寄存器不会导致自动重新协商,相关更改在下一次协商合约时生效。ANeg 命令会强制重新计算此寄存器的值,如果合适,将发出新的请求消息。

但是,如果已有生效的受电方 PPS 合约,则确实有一些字段会导致 PD 控制器自动重新计算寄存器的值,如果合适,将发送新的请求消息:

  • PPSOutputVoltage
  • PPSOperatingCurrent
  • PPSEnableSinkMode
  • PPSRequestInterval
  • RequireFullVoltageRange
  • PPSSourceMode

如果在还没有受电方 PPS 显式合约的情况下更改了 PPSEnableSinkMode,PD 控制器也会自动重新计算寄存器的值,如果合适,将发送新的请求消息。

如果此寄存器的前四个字节为零,则 PD 控制器将始终请求 5V/100mA 固定电源合约;除非 PPSEnableSinkMode 生效,在这种情况下可以选择 APDO。

为了在此寄存器中实现受电方 PPS 特性,主机应在 TX_SINK_CAPS 寄存器中提供 APDO。在 PD 控制器评估 PPS 电源类型时,其仅使用 TX_SINK_CAPS 寄存器中的第一个 APDO 来确定“能力不匹配”位的生效时间。因此,建议主机在 TX_SINK_CAPS 寄存器中只安排一个 APDO。为了使“能力不匹配”位不生效,供电方广播的供电方 APDO 必须满足以下条件:

  • RX_SOURCE_CAPS.APDO.MinVoltage <= TX_SINK_CAPS.APDO.MinVoltage
  • RX_SOURCE_CAPS.APDO.MaxVoltage >= TX_SINK_CAPS.APDO.MaxVoltage
  • RX_SOURCE_CAPS.APDO.MaxCurrent >= TX_SINK_CAPS.APDO.MaxCurrent

如果供电方不符合上述任何条件,但其中一个供电方 APDO 满足以下条件,则仍会请求受电方 PPS 合约:

  • RX_SOURCE_CAPS.APDO.MinVoltage <= AUTO_NEGOTIATE_SINK.PPSOutputVoltage
  • RX_SOURCE_CAPS.APDO.MinVoltage >= AUTO_NEGOTIATE_SINK.PPSOutputVoltage
  • RX_SOURCE_CAPS.APDO.MaxCurrent >= AUTO_NEGOTIATE_SINK.PPSOperatingCurrent

在 PPS 运行期间,如果主机将 PPSOutputVolage 字段设置为 RX_SOURCE_CAPS 寄存器中报告的供电方 APDO 无法提供的值,则会选择固定电源 PDO,并且可能会自动禁用受电路径(请参阅 AUTO_NEGOTIATE_SINK.PPSDisableSinkUponNonAPDOContract)。

如果已启用 PPS,则满足要求的 APDO 将获得最高优先级。

下文简要概述了当 PPS 被禁用或未找到匹配的 APDO 时该寄存器如何决定 PDO 的选择。

  • 解析寄存器 RX_SOURCE_CAPS 中接收到的 PDO。丢弃电压范围低于 ANMinVoltage 或高于 ANMaxVoltage 的任一 PDO。
  • 计算每个接收到的 PDO (RX_SOURCE_CAPS.SourcePdoX) 的 PDO 功率。根据 PDO 功率对所有 PDO 进行排序。
    • PDO 功率 = 电压 × 最大电流(固定电源)
    • PDO 功率 = 最小电压 * 最大电流(可变电源)
    • PDO Power = MaximumPower (Battery Supply)
  • 选择具有最大 PDO 功率并通过了电压检查的 PDO。如果有多个 PDO 通过了电压检查并具有相同的最大 PDO 功率,则会考虑如下所述的决定因素:
    • 首选固定电源类型,而可变电源类型又优先于电池电源类型。
    • 如果要比较的 PDO 具有相同的电源类型,则根据 ANRDOPriority 确定优先级。