主题中讨论的其他器件: BQ25792
您好!
我在使用德州仪器的 TPS25750电力输送控制器 IC 时遇到问题。 成功上传 ROM 补丁捆绑包后、 在断电复位前、TPS25750停止响应 I2C 事务。
我已经将 TI TPS25750 + BQ25792集成到定制 PCB 设计中。 TPS2545V 的修补程序是从 Nordic NRF5340 MCU 通过 I2C 加载的。
我 发现 TPS25750在加载补丁后似乎正在崩溃或进入某种故障状态、这会导致其停止通过 I2C 进行响应。 加载补丁后、将 NACK 所有针对 TPS25750的 I2C 事务。
我已确认与 TPS25750的通信良好:我可以在加电时在加载补丁之前读取和写入 TPS25750中的寄存器。 TPS25750在启动时处于"PTCH"模式、并在 INT_EVENT1寄存器中将"ReadyForPatch"位设置为"1"。
我仔细遵循了 TPS25750主机接口技术参考手册中的补丁序列:在确保器件处于良好状态以接收补丁后、我将 PBMs 数据有效载荷写入 DATA1寄存器、然后使用"PBMs"4CC 任务命令开始下载补丁。 TPS25750在 CMD1和 DATA1寄存器中以成功状态对此进行响应。 此后、我将"低区"补丁发送到 PBMs 输入数据有效载荷中指定的 I2C 从器件地址。 补丁加载过程中的所有 I2C 事务都会在其各自的地址上进行 ACK。
最后、我发送"PBMc" 4CC 任务命令到 TPS25750。 此时、 TPS25750停止响应 I2C 事务 。
我已经检查了 TPS25750的 I2C 主总线上的流量、我可以在补丁上传完成后观察到它在 BQ25792中写入寄存器、这意味着在补丁上传后 TPS25750至少可以部分运行。 但是、在发出"PBMc" 4CC 任务后、TPS25750不会响应其 I2C 从器件接口上的任何 I2C 命令。 恢复器件的唯一方法是对器件进行下电上电。
通过运行一个实验、我在传输过程中有意损坏了补丁捆绑包、已验证 TPS25750是否收到了良好的补丁捆绑包。 如果我故意损坏补丁捆绑包、 此 TPS25750 继续响应 I2C 事务。 它表示 CRC 错误导致的补丁失败、这是传输损坏的补丁捆绑包时的预期结果。 由于我可以积极观察到"CRC 错误"的行为、因此我的结论是、在 TPS25750停止响应的情况下、补丁捆绑包会成功发送、并且器件在上传补丁捆绑包后会发生故障。
上传补丁后、我已经运行 I2C 总线扫描、以查看 I2C 总线上是否有任何地址以 ACK 进行响应、并且没有器件进行响应(上传补丁后、主 I2C 或从 I2C 地址都没有响应)。
请告知后续步骤!
谢谢、
斯图尔特