Other Parts Discussed in Thread: BQ25756
器件型号: 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) 的错误代码。
我不明白什么?