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:无 EEPROM 的灌电流 PDO 配置。

Guru**** 2493545 points
Other Parts Discussed in Thread: TPS25751EVM, TPS25751

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1484803/tps25751-sink-pdo-configuration-without-eeprom

器件型号:TPS25751

工具与软件:

您好、我们正在使用  TPS25751EVM 并想将  PPSOutputVoltage 更改为15V、但我们不想使用自定义工具或任何其他应用、我们想使用 I2C 更改值、并且当我们尝试将配置写入 TX_SINK_Capabilities 寄存器时、 PPSOutputVoltage 不会发生更改、从寄存器中读取的值保持不变(根据自定义工具配置)。
是否仅在未连接 EEPROM 时才更改输出值? 问此问题、因为我们计划使用 TPS25751 IC、并且存在的唯一通信将是 I2C。

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

    尊敬的 Runita:  

    感谢您联系我们!

    请参阅以下内容、了解如何配置 PPS 受电方:  

    1 -配置发送受电方能力受电方 PDO:

    • 电源类型:受电方 PPS
    • PPS 合约中的最大电流。
    • PPS 合约中的最小电压。
    • PPS 合约下的最大电压。

    ‘S‘"自动协商灌电流寄存器"(0x37)中的"链接 PPS 控制"部分

    • 切换 PPS 使能受电方模式[64]以启用 PPS 受电方
    • 配置所需的初始 PPS 工作电流和输出电压

    需要新的请求消息时、MCU 需要更新 PPS 工作电流和 PPS 输出电压

    有关 更多详细信息、请参阅 TRM 中的第5.4节。  

    此致、  

    Aya Khedr

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

    尊敬的 Aya:
    我们无法根据我们的要求使用应用程序配置 IC、因此我们想知道在 TX_SINK_CAPABILITIES 寄存器中将 PDO 值设置为3以及将输出电压设置为15V 和3A 电流的过程。

    请参阅下图、以查看我们需要更新但没有自定义工具的值。

    我尝试使用应用程序中定义的值直接写入 TX_SINK_CAPABILITIES 寄存器的值、但这些值没有在寄存器中更新。 我在连接 EEPROM 的情况下进行了检查。

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

    尊敬的 Runita:  

    请参阅下面有关如何配置 TPS25751的说明。  

    使用 TPS25751时无需 EEPROM。 但是、如果您不想使用 EEPROM、则需要使用 MCU 来加载此配置以代替 EEPROM。

    在数据表中:

    "8.4.1通过搭接引脚配置默认行为

    在引导过程中、器件会读取 ADCINx 引脚、并根据下表设置配置。 然后、器件尝试从 I2Cc 总线上的外部 EEPROM 加载配置。 如果未检测到 EEPROM、则器件会等待外部主机加载配置"

    要使用 MCU 加载配置、您可以通过 I2C 使用4CC 命令。 技术参考手册的4.4节 详细介绍了这些命令。 第5节详细介绍了补丁突发模式(PBM)的流程、这是此过程的名称。 从 USBC PD 应用程序自定义工具生成的 low region 二进制文件将在 PBM 期间加载到 PD 控制器中。  

    如果您有其他问题、敬请告知。

    此致、  

    Aya Khedr

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

    尊敬的 Aya:
    我按照您在 TRM 中参考的说明、将 EVM 的 VIN_3V3和 IRQ_t 引脚连接到 MCU、并且 EEPROM 已断开连接、以便 USB-MCU PD 控制器处于"PTCH"模式。 现在第二步是读取 INT_EVENT 寄存器、该寄存器被读取为空。 您能告诉我原因是什么吗?  

    我还有一个疑问、我想知道在尚未设置配置时 IC 的默认输出电压是多少?

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

    尊敬的 Runita:  

    能否分享一下您的连接的方框图、以便我能全面了解您的设置? 您是否也将 I2CT_SDA 和 I2CT_SCL 引脚连接到了 MCU?  

    EVM 上的 ADCIN 配置设置为什么? 如何为 EVM 供电?

    此致、  

    Aya Khedr

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

    尊敬的 Aya:

     我们不能和您分享方框图、但我可以给您解释一下相关联系。 I2Ct 引脚连接到我们的 MCU 、ADCIN 配置为:
    ADCIN1- 7、ADCIN2-  5.

    EVM 通过连接到具有 C type 连接引脚的65W 电源的 J3连接器来获取电源。

    您能否澄清一下、如果我想读取寄存器中指定的中断事件、比如是否连接了插头、固件中执行了什么过程? 和 USB PD 控制器和 MCU 的引脚配置(I2CT_SCL、I2CT_SDA 和 IRQt 引脚)以及任何电源规格。

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

    请参阅以下过程来读取寄存器第81位上补丁捆绑包就绪中断的 INT 事件寄存器:

    第一步、在 INT MASK reg (0x16)中为中断设置屏蔽、然后通过读取屏蔽寄存器来确认写入的位、再读取中断事件、但寄存器仍被读取为空。

    Reval = LPI2C_READ_reg (I2C0_MASTER、INT_EVENT_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、int_MASK_BUFFER);

    INT_MASK_BUFFER[11]|= 1;

    Reval = LPI2C_WRITE_reg (I2C0_MASTER、INT_MASK_REG_ADDR、INT_MASK_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR、

    11);

    Reval = LPI2C_READ_reg (I2C0_MASTER、INT_EVENT_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、int_MASK_BUFFER);

    Reval = LPI2C_READ_reg (I2C0_MASTER、INT_EVENT_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、int_event_BUFFER);

    Sys Tick_Delay T.icks(10U);

    Reval = LPI2C_READ_reg (I2C0_MASTER、INT_EVENT_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、int_event_BUFFER);

    I2C 日志:
    第1步: 遮罩已设置

    第2步: 延迟后读取中断事件寄存器

    请告诉我、是否有任何流程出错或其他需要我更改的内容。

    上述过程处于"PTCH"模式。

    另一个观察结果是、当我在中尝试相同的过程时 "应用程序" 模式此事件寄存器根据进行设置

    与眼罩正确连接。

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

    尊敬的 Runita:  

    我会在下周早些时候进行审核并提供反馈给您。  

    此致、  

    Aya Khedr

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

    尊敬的 Aya:

    您是否有关于此问题的任何更新? 我们需要尽快检查是否可以在没有 EEPROM 和 GUI 工具的情况下上传补丁文件、并且仍然没有获得与器件相关的 int_event_reg 位以供接收补丁文件、我已尝试使用 INT_MASK_REG 来设置中断、但在没有 EEPROM 的情况下、此寄存器也会被读取为空。

    写入缓冲器:

    读取缓冲器:

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

    尊敬的 Runita:  

    请确保移除 J16 (EEPROM 已断开连接)、并且 I2CT_SCL、 I2CT_SDL、 I2CT_IRQ、GND 都已连接到您的 MCU。  

    如果您有其他问题、敬请告知。  

    此致、  

    Aya Khedr  

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

    尊敬的 Aya:

    我根据需要获得了 INT_EVENT1寄存器位、但在发送"PBMs"命令且 CMD1寄存器读数为"0"后没有清除 DATA1寄存器。  

    请参阅我在 DATA1寄存器中写入的数据(如 TRM 中引用的"PBMs" 4CC 任务说明)、让我知道我在寄存器或方法中写入的值是否存在任何错误。  

    请注意、我的补丁捆绑包大小为32768字节、并会根据 ADCINx 引脚配置设置目标地址。

    Reval = LPI2C_READ_reg (I2C0_MASTER、DATA_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、DATA_BUFFER、65);

    DATA_BUFFER[0]= 7;

    DATA_BUFFER[3]= 0x00;

    DATA_BUFFER[4]= 0x00;

    DATA_BUFFER[5]= 0x80;

    DATA_BUFFER[6]= 0x00;

    DATA_BUFFER[7]= 0x21;

    DATA_BUFFER[8]= 0x32;

    Reval = LPI2C_WRITE_reg (I2C0_MASTER、DATA_REG_ADDR、DATA_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR、

    9);

    Reval = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER、5);

    uint8_t write_command_buffer[COMMAND_REG_LENGTH]={0x04、0x50、0x42、0x4D、0x73};

    Reval = LPI2C_WRITE_reg (I2C0_MASTER、COMMAND_REG_ADDR、WRITE_COMMAND_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR、

    5);

    Reval = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER、5);

    Reval = LPI2C_READ_reg (I2C0_MASTER、DATA_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、DATA_BUFFER、65);

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

    我将在 DATA1寄存器中获取输出值为5 (无效目标地址)、您能否告诉我目标地址应该是什么?在本例中、我将在 DATA1寄存器的 BYTE5中写入0x21。

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

    尊敬的 Runita:  

    请参阅以下 应用手册 、其中详细说明了 PBM 过程的每个步骤。  

    这是 DATA1寄存器写入。  

    此致、  

    Aya Khedr

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

    尊敬的 Aya:

    感谢您提供参考、我尝试按照本应用手册发送相同的数据、并请检查数据寄存器缓冲区日志以确认我是否从 DATA1寄存器获得了正确的响应(用于命令"PBM")。

     这是之后的响应 PBMS 命令

    根据我的理解、此命令很成功、因此我发送了补丁捆绑包、然后发送了 PBMc 命令、但现在我将在 DATA1寄存器中获取以下值。 CMD1寄存器根据应用手册参考给出正确响应。

     这是之后的响应 PBMC. 命令。

    请注意、我的补丁捆绑包传输成功。

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

    尊敬的 Runita:  

    您是否成功完成了 PBMx 流程? 如果没有、该过程的哪个步骤不成功?

    此致、  

    Aya Khedr

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

    尊敬的 Aya:

    在突发数据成功传输后、我发送了命令"PBMc"、CMD1寄存器会按照方法被 清除、但根据应用手册和 TRM、没有清除 DATA1寄存器、我已在上述消息的第二个映像中共享 DATA1寄存器值。  

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

    尊敬的 Runita:  

    这似乎与以下线程重复: e2e.ti.com/.../5731631

    您能否确认它们是否相同?

    此致、  

    Aya Khedr