主题中讨论的其他器件: TPS65987
工具与软件:
您好!我们收到一个 RMA、客户报告在电池电量耗尽后插入充电器后、设备充电速度非常慢。
在启动期间、我们的系统固件会读取 TPS25750 (0x03)的 MODE 寄存器、以确保其与"APP"、"BOOT"或"PTCH"中的一个相匹配。 查看该器件的内部日志、MODE 寄存器在此特定实例中返回了其他内容。 我们的系统固件随后假定 TPS25750处于错误状态、并放弃了加载补丁捆绑包。 然后将充电电压限制在5 V、这解释了客户的症状。
遗憾的是、我们的系统固件当时没有记录 MODE 寄存器的实际返回值、只是它与三个预期值之一不匹配。 我设置了一个自动测试来模拟电池电量耗尽情况下的充电器插入、然后检查 TPS25750是否被我们的系统固件识别。
经过大约5000次试验、我得以重现这个问题。 在 ÿ 情况下、MODE 寄存器返回0x04、0x50、0x54、0xFF、0xFF (P-T-Δ-Σ ÿ)、而不是0x04 、0x50、0x54、0x43、0x48 (PTCH)。 我当时没有连接逻辑分析仪、但我们的日志显示 I2C 控制器指示读取成功。
我怀疑 TPS25750在读取操作已开始后进入复位状态。 由于 I2C 控制器已经收到 ACK 且没有任何数据将 SDA 拉低、因此我们的 I2C 控制器只需 将空闲 SDA 线视为 读取操作剩余长度的全1 (0xFF)。
我的假设是、VBUS 上的干扰可能已使 TPS25750在电池电量耗尽模式和总线供电时复位。 为防止将来发生这种情况、我们向系统固件添加了一个小重试循环。 仅当 MODE 寄存器始终返回无法识别的值、或读取操作始终失败时、才会 假定 TPS25750处于错误状态。 我的问题如下:
[1] 从 VBUS 首次出现到 可以通过 I2C 访问 TPS25750且 MODE 寄存器将返回"BOOT"或"PTCH"的最长时间是多少? 此启动时间将告知重试循环的延迟。
[2] 是否有任何其他解释或已知行为可以解释此问题? 我发现一个 线程 、其中 TPS65987客户观察到通过 I2C 读取的寄存器的字节计数正确(例如0x04)、但数据字节也返回0xFF。
提前感谢-如果我能提供任何其他信息、请告诉我。


