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.

[参考译文] UCD3138064:执行顺序读取时 I2C 函数丢失数据

Guru**** 2484615 points
Other Parts Discussed in Thread: UCD3138064

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/699421/ucd3138064-i2c-function-miss-data-when-doing-sequential-read

器件型号:UCD3138064

大家好、

我使用 UCD3138064 I2C 功能作为主器件来读取 EEPROM (24WC02)

当我执行顺序读取时,我发现 CLK 引脚无法等待,即使我没有从 I2CRXBUF 获取数据。

这意味着 I2C 硬件正在保持从 EEPROM 获取数据、如果我们太晚才从 I2CRXBUF 获取数据、固件将丢失数据。

是否有任何方法可以使 CLK 引脚等待固件检查 DATA_READY 位并从 I2CRXBUF 获取数据?

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

    Kevin、我听说过这样的东西、但没有看到任何测试、所以可能是真的。  我不知道停止时钟的任何方法。  通常、您可以将每条消息返回的字节数限制为4个字节、并且会在一定程度上降低吞吐量、但您不会错过任何内容。  如果您可以足够快地处理数据就绪位、您仍然可以捕获所有字节以发送 更长的消息。  我们已经在仿真中使用中断和芯片上的快速轮询对其进行了测试、这两种测试都起作用。  

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

    尊敬的 Ian:

      明白了,非常感谢。