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:下载补丁时遇到问题

Guru**** 2693225 points

Other Parts Discussed in Thread: BQ25756

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1595304/tps25751-trouble-downloading-the-patch

器件型号: TPS25751
主题中讨论的其他器件: BQ25756

我正在开发 USBC 电池充电器/电源端口。  此设计使用 TPS25571 和 BQ25756 降压/升压控制器。

该设计与 EVM 相同。   我配置了模拟输入、以将器件设置为 I2C 地址 x020 的“安全模式“。  我正在尝试从我的 EC 下载映像 — 但它不起作用。   在学习 TRM 文件后、我有许多问题、也在此论坛上阅读了一些相关帖子。

我能够与 25571 IC 通信 — 它通过字符串“PTCH"响应“响应模式寄存器 (3) 的读取、表明它需要下载补丁。  我生成了一个补丁文件。   我使用了从 TI.com 新鲜下载的“USBCPD 应用程序自定义工具“、并创建了一个 选择所需配置的“低区二进制“文件。   此文件包含 11392 字节。    

问题 1: “低区二进制“是否是使用“PBMs"命令“命令序列下载的正确映像?   

问题 2: 此 PBMs 命令是否下载到 TP25571 的内部存储器、或者是否将数据放入第二条 I2C 总线上的串行 EEPROM?

问题 3:  如果我想用闪存映像加载串行 EEPROM — 我应该创建“Full Flash binary“选项吗?

问题 4:  如果 EC 仅连接到 I2CT 总线(引脚 8 和 9)、则如何将该文件下载到 I2CC 总线上的闪存器件(该器件进入 BQ25756 芯片)?   在制造过程中、是否需要允许测试点初始化该存储器芯片?  补丁也可以下载到 IC(假设上面问题 2 的答案是它将补丁放入内部存储器中)。

问题 5:  写入“I2C 目标地址“时具体的预期行为是什么?

当我的电路板启动时、它处于 PTCH 模式、

我将数据寄存器 (9) 设置 为:80 2c 00 30 32。  然后、将 PBMs 命令写入寄存器 8。

如果一切操作都正确完成、我从命令寄存器 (8) 读回 00 00 00

此时、我尝试通过 I2C 写入 7 位 I2C 地址 0x30 来写入数据。  我在写入包含地址和 RW 位的第一个字节时获得 NAK。   我不能让这一步不失败。   如果我选择 0x20 作为“目标地址“、我会得到 05 错误 — 读取数据寄存器时目标地址无效。   如果我使用几乎任何其他地址,就不会收到此错误 — 我尝试使用各种目标地址,但都失败了。   (辅助 I2C 总线上的 CAT24C512 串行 EEROM 具有一个 7 位地址 0x50)、

当尝试写入目标地址时、我先写入 I2C 地址写入字节、然后写入 16 个数据字节、并写入停止。   我重复此操作 712 次、此操作会使我到达低区二进制数据块的末尾。   遗憾的是、这些写入均不会得到确认。

为了清除它、我可以读取和写入芯片。   如果我将数据模式写入 DATA1 寄存器 (9)、我可以读回数据。   我确信数据寄存器中的数据正确对齐。   如果我特意为“Target Address“选择了器件地址 (0x20)、那么在发出'PBMs'命令时、我可以读回返回字节中显示“Invalid target address“代码 (05) 的错误代码。   

我不明白什么?

 

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

    尊敬的 Jay:  

    我们的一位团队成员正在研究这一点、我们会尽快回复您!  

    谢谢。此致、
    Raymond Lin

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

    您好:

    问题 1: “低区二进制文件“是否是使用“PBMs"命令“命令序列下载的正确映像?   [/报价]

    是的。

    问题 2: 此 PBMs 命令是否下载到 TP25571 的内部内存中?还是将数据放入第二个 I2C 总线上的串行 EEPROM 中?

    EEPROM。

    问题 3:  如果我要加载具有闪存映像的串行 EEPROM — 我应该创建“全闪存二进制文件“选项吗?

    是的。  您可以使用 TotalPhase 中的 Aardvark 等工具。

    问题 4:  如果 EC 仅连接到 I2CT 总线(引脚 8 和 9)、那么如何将该文件下载到 I2CC 总线上的闪存器件(该器件进入 BQ25756 芯片)?   在制造过程中、是否需要允许测试点初始化该存储器芯片?  或者补丁是否可以下载到 IC(假设上面#2 的答案是它将补丁放入内部内存中。

    您可以使用 EEPROM 编程工具通过 I2Cc 直接进行编程。 -是的、对于#2、映像将加载到 EEPROM 中。

    问题 5:  在写入“I2C 目标地址“时具体的预期行为是什么?

    这是突发目标地址、不得 与 I2Ct 目标地址相同。  

    https://www.ti.com/lit/an/slvafv8a/slvafv8a.pdf#page=8

    https://www.ti.com/lit/ug/slvucr8a/slvucr8a.pdf#page=70

    如果一切都正确完成、我可以从命令寄存器 (8)
    读回 00 00 00 00

    请确认写入 PBMs 有效、步骤 5

    5.数据正常:发送 PBMs 命令需要多次写入数据寄存器。 例如、在将 PBMs 命令写入寄存器 0x08 之前、确认 0x09 的值。 写入寄存器 0x09 和读取寄存器 0x09 之间存在 500us 的延迟。

    [0x21]+ ACK(唯一地址/WR/A)

    0x09 + ACK(寄存器编号/A)

    [0x21]+ ACK(唯一地址/R/A)

    0x40(字节计数)

    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00(不正确,重写 DATA1)

    0x80 0x2C 0x00 0x00 0x30 0x32(正确,继续写入 CMD1)

    此致、

    Chris

    [/quote]