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.

[参考译文] AM2434:LP - Am2434 与 EEPROM 的 I2C 通信

Guru**** 2966500 points

Other Parts Discussed in Thread: AM2434

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1652207/am2434-lp---am2434-i2c-communication-to-eeprom

器件型号: AM2434

你(们)好  

我们使用 LP - AM2434、 我们使用 SDK 版本 ind_comms_sdk_am243x_09_02_00_15、并使用以太网 I/P 示例代码   

我们对 AT24CM01-XHD-T 有一些疑问  

  • 如何 确定 AT24CM01 已准备好接收新的 I2C 写入协议? 他们是等待 5 毫秒、还是轮询 ACK?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Yashaswini:

    您使用 I2C 控制器在哪种模式下工作? 是中断模式还是轮询模式?

    此致、

    Tushar

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

    嗨、Tushar  

    它处于中断模式

    谢谢

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

    在 I2C 的 ISR 函数中、我们正在读取 I2C_IRQ_STATUS_RAW[1]位以进行确认、并在接收成功后继续执行后续 I2C 操作。  

    此致、

    Tushar

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

    嗨、Tushar  

    EEPROM IC 面临一些问题、即 50 个电路板中的 5 个电路板显示了该错误。

    下面是工作板的 SDA 和 SCL 信号波形  

    以下是不工作板的 SDA 和 SCL 信号波形、您可以看到总线忙、持续 5ms、并且在固件中是否有任何固定的等待时间?  

    在发送任何新的 I2C 命令之前、您必须留出从最后一个写入协议 I2C 停止条件开始的 5ms 时间?

    如果在 ISR 超时之前只留出 3.5ms 并抛出错误、则会错误地使完全正常的 AT24CM01 设备无法正常工作。

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

    尊敬的 Yashaswini:

    在   ind_comms_sdk\mcu_plus_sdk\source\board\eeprom\eeprom_at24c.c 文件中提供的 EEPROM_AT24C_write () API 中、已提供 4ms 的等待时间。

    请参阅下图。

    我们面临 EEPROM IC 的一些问题、其中 50 个电路板中的 5 个电路板显示了此错误。

    您是否在调用 eeprom_AT24C_write () API 后仍会遇到问题?

    此致、

    Tushar

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

    嗨、Tushar  

    我们正在使用  ind_comms_sdk_am243x_09_02_00_24、在 C:\ti\ind_comms_sdk_am243x_09_02_00_24\examples\industrial_comms\Ethernetip_adapter_demo_original\board\am243x-lp\drivers\eeprom\eeprom_eeprom 中、我 看不到任何名为 eprom 的 API、但我在下面看不到任何等待期。

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

    尊敬的 Yashaswini:

    我在指定文件中看不到上述 API。 此外、您可以调用具有 5ms 超时的 Clock_usleep 函数以完成 EEPROM 写入。

    此致、

    Tushar

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

    嗨、Tushar  

    这在 “C:\ti\ind_comms_sdk_am243x_09_02_00_24\examples\industrial_comms\Ethernetip_adapter_demo\appNvEeprom.c“中提到。您能否检查此函数是否正确、以获得 5ms 的 延迟  

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

    尊敬的 Yashaswini:

    您使用的是来自 Indus common SDK 的哪个示例?

    Regarsds、

    Tushar

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

    嗨、Tushar  

    我们使用 的是 EtherNetIP_adapter_demo 示例  

    谢谢  

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

    尊敬的 Yashaswini:

    是的,您可以在 EI_APP_NV_EEPROM_WRITE () API 调用后添加超时。

    此致、

    Tushar