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.

[参考译文] TPS26750:TPS26750:MCU 到 PD I2C 补丁下载错误-"不是补丁"

Guru**** 2814515 points

Other Parts Discussed in Thread: TPS26750, PMP41115, TPS25751

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1620940/tps26750-tps26750-mcu-to-pd-i2c-patch-download-error---not-a-patch

器件型号: TPS26750
主题中讨论的其他器件: PMP41115TPS25751

您好的团队、  

我遵循“使用嵌入式控制器 (EC) 将补丁捆绑包直接加载到 TPS25751 或 TPS26750 “应用手册的说明、在定制设计中将补丁配置加载到 TPS26750(基于 PMP41115 参考设计)。
步骤 1 - 15 按预期完成、CMD1 寄存器在发出 PBMC 命令后读数为全零。 但是、在检查 DATA1 寄存器时、该器件会报告以下错误:

  • DevicePatchCompleteStatus:0x40
  • AppConfigPatchCompleteStatus:0x80
  • patchBundleGood:0x00
  • rpState:0x05
  • configBundleGood:0x00
  • acState:0x03
  • acFailCode:0x01

我已经验证了 I2C 突发传输的内容(与 LBR 字节缓冲区相同)。
低区二进制文件是使用“USBCPD 应用程序自定义工具“(v1.1.1) 生成的。 生成的 byte 数组总大小为 14144 个字节。

我怀疑使用 ADCINx 引脚时的硬件配置可能存在与补丁源冲突的问题。

最终应用程序旨在使用 I2Cc 接口上的 EEPROM 进行独立运行。
为了降低设计初始调试期间的复杂性、已安装 EEPROM、但其尚未使用、且未初始化。  
TPS26750 目前应由 EC 控制。 我已将器件配置为“NegotiateHighVoltage"模式“模式。

我想确认:

  • 由于应用手册中省略了“NegotiateHighVoltage"模式“模式、因此是否可以使用此配置从 EC 加载补丁?
  • LBR 的长度通常是否正确? 我找到了 TPS25751 (11392) 的预期 LBR 长度、但 TPS26750 没有预期的 LBR 长度。

非常感谢!

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

    您好:

    不建议使用 NegotiateHighVoltage 模式。   NegotiateHighVoltage 将使器件进入 APP 模式、因此您需要使用 GO2P 4CC。  我尚未尝试此操作、因此我无法评论在发出将器件置于补丁模式的命令后该过程是否会更改或如何更改。

    如果可以从 5V 隐式 VBUS 合约运行 EC、则使用 alwaysEnableSink。  

    此致、

    Chris

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

    您好、Chris、

    感谢您的快速响应!
    我已将 ADCINx 配置更改为“AlwaysEnableSink"并“并暂时删除 EEPROM。
    很遗憾、这未能解决问题。

    发出 PBMC 命令后、器件仍返回上述相同的错误代码。

    谢谢、
    Frederic

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

    您好:

    好的。  我将尝试使用 EVM 重新创建问题。   

    我想首先要查看的是确认写入 PBM 数据寄存器的长度。  在写入命令 PBM 之前、请确保确认数据。

    数据是否或如何分区? 您能否确认所有数据都已写入。

    我应该能够通过星期二分享我的结果。

    此致、

    Chris

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

    您好、Chris、

    我能够解决这个问题。 正如您预测的那样、由于软件中的数据类型错误、PBM 数据中未正确设置 LRB 大小。  
    这对我来说是一个监督。 我只检查寄存器数据是否与代码中的预期数据匹配、但忘记检查实际值。
    非常感谢您的帮助!