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.

[参考译文] TPS65982:为什么0x3F 电源状态寄存器显示"1.5A 电流"而显示"PD 合同协商"?

Guru**** 2589280 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/909468/tps65982-why-is-0x3f-power-status-register-showing-1-5a-current-instead-pd-contract-negotiated

器件型号:TPS65982

嗨、大家好。

PowerDelivery 充电器已连接到开发板的 Type-C 端口。

0x3F 具有字段值:

[0]:PowerConnection:1B (按预期)

[1]:SourceSink:1B (如预期)

[3:2] Type-C 电流:01b (1.5A 电流-错误?)

为什么传统参数显示电力输送器件是否已插入?

P.S. 在协商 PD 后、我经常读取0x3F 所有零。

如何处理此问题?

谢谢你。

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

    是否已协商电力输送合同? 该域与 CC 线路上检测到的上拉电阻器(Rp)有关、用于确定源器件的电流能力。  

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

    我认为合同无法协商。

    请为我提供所需的步骤建议。

    在我的软件中、我使用 0x3F 来检查:

    1. 是否为电源连接->是
    2. 是当前50015003000 PD 协商的电流
    3. 如果 PD 如此、则读取 0x34活动合同 PDO 以检测合同值。

    但如何知道0x3F  已准备好读取?

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

    您好、Yevhen、

    这是一个好问题。 我假设您使用 I2C 在系统上使用某种类型的嵌入式控制器读取寄存器0x3F。 此嵌入式控制器知道何时读取 PD 控制器的最佳方法是基于 I2C_IRQ 事件。  

    寄存器0x14到0x19是中断寄存器、每当发生特定事件时、它们都会将 IRQ 线路触发为低电平。 这是启用 IRQ 功能的典型流程。 我将使用寄存器0x3F 并确定连接的器件类型作为我的示例。  

    1. 使用应用配置工具、启用希望 PD 控制器触发的相关位并通知 EC。 对于此特定示例,您的最佳事件是事件“PlugInsertOrRemoval”(PlugInsertOrRemoval)  
    2. 使用应用配置工具更新配置后、将更新后的二进制文件加载到外部闪存中、以便 PD 控制器加载
    3. 加载更新的配置后、只要插入或移除器件、IRQ 线路就会触发低电平
    4. 当 IRQ 线路变为低电平时、读取寄存器0x14以确定触发了哪个 IRQ 事件。 如果   触发了“PlugInsertOrRemoval”事件,您可以让 EC 读取寄存器0x3F 以确定连接的设备类型。
    5. 使用中断清除(0x18)来清除 IRQ 寄存器并将 IRQ 线路恢复为高电平。 这是 EC 将根据 IRQ 变为低电平来了解新事件的时间

    希望这有助于回答您的问题

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

    感谢您的回答。

    IRQ 线路将在下一个电路板修订版本中跟踪。

    但主要问题仍然是“PlugInsertOrRemoval ”事件是否完全涵盖注册准备情况?

    因为我检测到0x3F[1]有时是0b00000000、 0b00000111或 0b00001111。 使用的 PD 充电器可以接受最后一个值。

     当0x3F[1]具有第二个(不可接受)值时、IRQ 事件会触发、这种情况可能会发生吗?

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

    没有涵盖每个特定寄存器的事件。 您必须使用可能与寄存器相关的 IRQ 事件来指示要读取的寄存器。  

     “PlugInsertOrRemoval” 用于插入和删除。 因此、IRQ 线路将在设备已连接或移除时触发。 因此、如果在这个中断事件触发后寄存器0x3F 读取0、这表示器件已被移除。  

    此外、我不确定您的含义是什么、不可接受的价值。 寄存器0x3F 指示正在连接的器件类型。 它是传统的 Type-C 器件或 PD 器件。 它用作拉电流或灌电流。 对于传统的 Type-C 器件、PD 控制器确定施加到 CC 引脚上的上拉电阻器(Rp)的值、以确定该器件的电流能力。 如果连接的器件通告1.5A Rp、则1.5A 电源是可接受的值