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.

[参考译文] TPS25750EVM:如何使用补丁突发模式在不使用 EEPROM 配置的情况下成功初始化 TPS25750EVM

Guru**** 2382050 points
Other Parts Discussed in Thread: TPS25750EVM, TPS25750
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1286661/tps25750evm-how-to-use-patch-burst-mode-to-successfully-initialize-tps25750evm-without-eeprom-configuration

器件型号:TPS25750EVM
主题中讨论的其他器件: TPS25750

我们希望 使用 TPS25750EVM 尝试加载补丁捆绑包以初始化 PD 控制器。  为防止 TPS25750D 读取 EEPROM 数据、我们移除 EVM 上的 J4跳线、让连接到 EEPROM 的电路断开。 并且 ADCIN 设置为 S1A:1、S1B:0、S1C:0。  我们的 EVM 应该处于安全模式。

我们将 I2C 监听器连接到 I2Cs 端口、并根据图4-1在 TPS25750主机接口 TRM 上的流程执行 PBM。  

但是、就在我们执行读取 INT_EVENT1的第一步时、我们遇到了问题。 我们读取0x14寄存器、第一个字节只能获得0xC2、后续所有字节都是0xFF。

读取模式寄存器0x03也属于类似情况。  我们可以在第一个字节中得到0x82、而所有后续字节都是0xFF。

我们想知道发生这样的情况是否正常呢? 或者我们的设置是否有问题?  

谢谢。

此致、

Jacinto 处理器

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

    Dave、

    这不是典型情况、也不是预期在0x03寄存器中的0x82值。

    您正在使用哪种监听器?

    您是否在连接 J4的情况下看到正确的 I2C 通信并能够读回信息?

    由于 J4刚刚从 EEPROM 断开 SDA 线路、该线路应足以停止 EEPROM 通信。 但您可以尝试移除 EEPROM。

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

    尊敬的 Christodulos:

    我用另一个 I2C 监听器代替了它、从不会再出现这个问题。  可以从开头的0x03寄存器读取'PTCH'、并且可以正确读取和写入0x08 DATA1和0x09 CMD1寄存器。

    谢谢。

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

    但到目前为止、我们的补丁捆绑包更新任务尚未完成。  我分享我进入 PBM 的过程。 我不确定我是否做错了事。

    1. I2C 写入:Data[0]= 0x09、 Data[1]= 0x06、 Data[2]= 0x00、Data[3]= 0x00、  Data[4]= 0x39、  Data[5]= 0x00、 Data[6]= 0x0F、Data[7]= 0x32  

    我使用 TPS25750 Application Customization Tool 生成的低位区域数组的大小为14592字节。 转换为十六进制后、等于0x3900。  我将这些值​​从 Data[2]写入到 Data[5]。

    2. I2C 写入:Data[0]= 0x08、 Data[1]= 0x04、 Data[2]= 0x50、Data[3]= 0x42、 Data[4]= 0x4D、   数据[5]= 0x73

    ASCII 格式的 Data[2]~ Data[5]为'PBMs'。

    3. I2C 读:  reg= 0x08,返回: Byt[0]= 0x04, Byt[1]= 0x00, Byt[2]= 0x00, Byt[3]= 0x00, Data[4]= 0x00

    4.  I2C  read:  reg= 0x09,return:Byt[0]= 0x40,Byt[1]= 0x00,Byt[2]= 0x00,Byt[3]= 0x00, Data[4]= 0x00,  Data[5]= 0x0F、 Data[6]= 0x32

    5.按64字节的单位容量将所有低位区数据写入补丁捆绑包从器件地址0x0F。

    6. I2C 写入:Data[0]= 0x09、 Data[1]= 0x01、 Data[2]= 0x00

    写入'PBMc'数据。

    7. I2C 写入:Data[0]= 0x08、 Data[1]= 0x04、 Data[2]= 0x50、Data[3]= 0x42、 Data[4]= 0x4D、   数据[5]= 0x63

    ASCII 格式的数据[2]~数据[5]为'PBMc'。

    8.   I2C  read:  reg= 0x08,return:Byt[0]= 0x04,Byt[1]= 0x00,Byt[2]= 0x00,Byt[3]= 0x00, Data[4]= 0x00

    9.   I2C  读:   reg= 0x09, return : Byt[0]= 0x40, Byt[1]= 0x03 ,Byt[2]= 0x00,Byt[3]= 0x00, Data[4]= 0x00, Data[5]= 0x0F,  数据[6]=0x32

    查阅 TRM 表3-1后、字节[1]= 0x03表示指令被拒绝、并且读取寄存器0x03仍将得到'PTCH'。  

    我想知道上述步骤中是否有任何错误? 谢谢。

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

    如果使用的是 EVM、我建议使用 GUI 和监听器来获取有关如何加载固件的良好示例!

    您是否已阅读技术参考手册补丁突发模式第4.2节"加载补丁捆绑包"?

    https://www.ti.com/lit/pdf/slvuc05

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

    我弄清楚了固件上传失败的原因。  

    这是因为、当我从 I2C 主设备向补丁从设备地址写入 FW 数据时、它会获取 NACK。 也就是说、在 PBMs DATA1中写入从器件地址的器件并不实际连接到 I2C 总线上。

    我想知道这个状态是否正确?  如果正确、那么我应该忽略 NACK 并继续将 FW 数据写入从器件地址以获取补丁数据?

    谢谢。

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

    如果我执行 PBMs 任务、但该任务未被拒绝、但仍然没有器件连接到补丁捆绑包地址。 可能的问题是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我执行 PBMs 任务,但该任务未被拒绝,但仍然没有设备附加到补丁捆绑包地址。 可能的问题有哪些?

    这是您遇到的问题吗? 我可以想象一下、由于您未与器件通信、该任务不会被拒绝吗?

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

    尊敬的 Christodulos:

    我重组遇到的情况、以帮助您了解我们的问题。

    我们请参阅《技术参考手册》中的补丁突发模式第4.2节(尤其是图4-1中的过程)来推送补丁捆绑包。  

    TPS25750evm 设置为 AlwaysEnableSink 模式、I2C 从器件地址为0x21 (ADCINx 配置为 S1A = 1、S1B = 0、S1C = 0)。  我们使用 Raspberry Pi 作为 I2C 主设备 、向 TPS25750evm 发出命令。

    我分享执行 PBMs 命令的整个过程。  在执行补丁捆绑包加载过程之前、我们首先 确认 INT_EVENT1的 ReadyForPatch 位是否为1 、以及器件是否处于 PTCH 模式。

    我们写入 DATA1来准备写入'PBMs'、然后将'PBMs'写入 CMD1。  发送 PBMs 命令后、按顺序读取 CMD1和 DATA1、未发现命令错误或拒绝。

    我 想 、当我们成功执行 Pbm 命令时、应该会有一个设备 出现并附加到我们在 DATA1中设置的补丁捆绑包地址。  这样、当在每个 I2C 事务中将固件数据推送到补丁捆绑包地址时、直到整个过程结束时、会进行确认。  但我们在 I2C 总线上的补丁捆绑包地址处找不到任何器件。  

    如果按照 TRM 中图4-1的流程说明、我们 遇到的情况   可能会导致补丁捆绑包加载失败。

    我不确定我们是否对补丁捆绑包流程有误解、或者我们在 执行 PBM 的过程中是否出错? 请随时与我们联系。

    谢谢。

    此致、

    戴夫

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

    Dave、

    写入 PBMs 命令后、看起来是正确的。 另外、似乎您看到对器件0x10的 I2C 写入正确吗?

    如果是这种情况, 那么我认为你正在做所有正确的步骤!

    我对您的补丁捆绑包大小有点怀疑。 在 GUI 中生成.bin 文件的过程是什么?

    您还可以发送 PBMc 命令并回读数据寄存器。 其中将包含任何故障的详细信息!

    谢谢。

    克里斯

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

    Chris、您好!

    可以。 但我 想知道、在执行 PBMs 指令之后、我是否需要立即写入补丁捆绑包数据? 如果未在特定时间内写入所有数据、是否会发生超时? 如果是、完成数据写入需要多长时间?

    谢谢。

    此致、

    戴夫

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

    Dave、

    PBMs 指令完成和补丁捆绑包发送之间不存在超时。

    谢谢。

    克里斯

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

    Chris、您好!

    我明白了、谢谢。

    此致、

    戴夫

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

    没问题!