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.

[参考译文] BQ40Z80:BQ40Z80 SMBus

Guru**** 2587365 points
Other Parts Discussed in Thread: EV2400

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/854592/bq40z80-bq40z80-smbus

器件型号:BQ40Z80
主题中讨论的其他器件:EV2400

你(们)好

收集的 EV2400如图所示、使用逻辑分析仪、阅读 smbus BQ40Z80EVM 板序列图。

为什么第一个回复很快、 第二个回复(红色框)但必须等待这么长的时间才能回复、第三个回复、第四个回复、第五个回复、为什么在回复下一个字节后等待一段时间、最后一个停止点与等待一段时间只是停止的原因相同?

正在等待您的回复。

谢谢

星号

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

    您好、Star

      第一个字节是电量监测计的地址、我认为回复是指确认、由电量监测计的 I2C 引擎生成、不需要任何 FW 干预。 因此、这没有延迟。

      以下字节是事务的命令、电量监测计的 I2C 引擎需要发出中断并等待 FW 获取和解释并决定下一步要执行的操作。 在监测计中的 FW 做出任何决策之前、监测计的 I2C 引擎会下拉 I2C 的 SCLK。 当 电量监测计中的 FW 认为这是有效命令时、 电量监测 计将确认该命令、此时电量监测计会释放 SCLK 信号、此时您将在 SCLK 上看到上升沿。 同时、监测计还拉低 SDATA。 当主机(EV2400)看到这种情况时、它会将其视为确认、并下拉 SCLK 以开始下一帧、该帧以重复开始模式开始。 由于监测计中的 FW 检查和验证命令所需的时间始终较长、因此您将看到确认 I2C 地址字节的等待时间比前一个要长。

      第3个字节表示这是读取操作、监测计以主机(EV2400)生成的 SCLK 信号速率发送 SDATA 上的以下字节、以下字节的确认位 由 EV2400生成、因为这仅读取8位帧、 无需验证、确认位仅由主机侧的 I2C 引擎提供、在这种情况下也不需要 FW 干预。 因此、确认位没有延迟。

      但 EV2400中的 MCU 需要将 I2C 引擎接收到的字节放入缓冲区、以便 FW 进行读取和处理、EV2400将能够在完成此操作后读取下一个字节、 EV2400将下拉 SCLK、直到 FW 获取 I2C 引擎中的字节。 这就是为什么您看到 EV2400等待一段时间以读取下一个字节、直到此事务结束。