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.

[参考译文] TMS320F280037:I2C 通信卡滞

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1197335/tms320f280037-i2c-communication-stuck

器件型号:TMS320F280037

您好、查姆斯、

我的客户使用 I2C-B 模块(GPIO9和 GPIO34)作为 I2C 主设备并与 FPGA 进行通信、有时 I2C 通信在执行独立启动和关断测试时卡住、他捕获波形并发现通信卡在从器件地址读取/写入位、 请参阅以下波形(黄色为 SDA、蓝色为 SCL)。

通过将 I2C 时钟引脚配置为 GPIO 功能、输出 GPIO 低电平、然后输出 GPIO 高电平信号、然后将该引脚配置回 I2C 时钟功能并重新启动 I2C 通信、可以解决这个问题。 这个问题不容易重现、我们应该如何调试这个问题? 请告知您的意见、谢谢。

此致、

Luke

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

    Luke、

    客户能否提供其 I2C 配置? 我主要需要查看他们为 I2C 外设配置的寻址和数据格式、但他们所做的任何其他配置都很有用。

    此致、

    Omer Amir

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

    Luke、

    客户是否尝试了解在 SDA 线路上观察到的干扰? 您的上拉电阻有多强?总线电容是多少? 此外、在 C28-I2C 代码中、是否已启用 I2CMDR.FREE = 1。 如果没有、请客户执行此操作。 这将确保当 CPU 遇到调试器停止时、I2C 事务不会在通信过程中停止。

    根据范围、客户似乎在尝试执行两个无停止条件的背靠背控制器(主)发送器。 我不明白为什么您需要在第一个控制器(主)发送器之后重复启动? 由于您已经处于主发送器模式、因此为什么不在 I2C 总线上传输更多字节。

    您不应执行以下步骤来恢复 SCL 引脚。

    [引用 userid="114524" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1197335/tms320f280037-i2c-communication-stuck ]可以通过配置 I2C 时钟引脚到 GPIO 功能、输出 GPIO 低电平信号、然后输出 GPIO 高电平信号、然后将该引脚配置回 I2C 时钟功能并重新启动 I2C 通信来解决此问题。 这个问题不容易重现、我们应该如何调试这个问题? 请告知您的意见、谢谢。[/引述]

    此致、

    曼诺伊

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

    Manoj、

    I2C 总线上没有电容和外部上拉电阻器、我的客户只启用 SCL 和 SDA 引脚的内部上拉、是否可能导致时钟卡滞问题、因为没有外部上拉?

    根据范围、我的客户在发送下一个开始条件之前发送停止条件、请再次查看范围。 实际上、他发送了五个不同的从器件地址和数据、有时 I2C 通信卡在第四个从器件地址读/写位、但我们不确定它是否始终卡在第四个从器件地址、因为很难重复这个问题。

    关于  I2CMDR.FREE、您是否意味着我们应该启用 I2CMDR.FREE = 1、即使系统是独立执行的?

    此致、

    Luke

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

    Luke、

    SDA 线路中的噪声干扰是一个引起关注的问题。

    I2C 引脚上的内部上拉电阻器实际上是弱上拉电阻器、因此 I2C 事务容易受到噪声的影响。 我建议客户使用更强的2.2 K 外部上拉电阻。

    [引用 userid="114524" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1197335/tms320f280037-i2c-communication-stuck/4514346 #4514346"]关于  I2CMDR.FREE,您的意思是我们应该启用 I2CMDR.FREE = 1,即使系统是独立执行的吗?

    如果您是独立运行、那么这无关紧要。

    此致、

    曼诺伊

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

    Manoj、

    如果我们将 I2CMDR 寄存器的 IRS 位设置为零以设置 I2C 模块、那么我们是否需要在将此 IRS 位设置为1之前添加延迟时间?

    此致、

    Luke

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

    Luke、

    在配置 I2C 时、需要将 I2C 保持在复位状态、并在完成 I2C 配置后重新启用。 没有规定的最短时间。

    您是否将此 I2C 复位(IRS)位用作解决方法来使 I2C 引脚正常工作? 我知道您是在独立模式下运行应用程序。 但是、您是否曾尝试在连接调试器时重现此问题?

    此致、

    曼诺伊

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

    Luke、

    在配置 I2C 时、需要将 I2C 保持在复位状态、并在完成 I2C 配置后重新启用。 没有规定的最短时间。

    您是否将此 I2C 复位(IRS)位用作解决方法来使 I2C 引脚正常工作? 我知道您是在独立模式下运行应用程序。 但是、您是否曾尝试在连接调试器时重现此问题?

    您是否可以让客户具有更强的外部上拉电阻器? 使用内部上拉电阻器(弱上拉)使 I2C 易受噪声影响。

    此致、

    曼诺伊

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

    Manoj、

    这个项目接近生产、所以我的客户使用一个独立的机器来执行系统开/关可靠性测试、有时会出现这个 I2C 问题、当 CCS 调试模式时、这个问题不能重复、或者我们应该说在 CCS 调试模式下很难重现这个问题。

    原始项目是通过使用 F2808开发的、I2C 模块是主器件、用于与外部 FPGA 进行通信、I2C 模块随后运行良好。 对于新一代产品、我的客户选择 F280037并将项目从 F2808迁移到 F280037、直到独立系统开/关测试才会发生此 I2C 问题。

    今天下午、我的客户添加了外部 I2C 上拉电阻器、在 SCL 和 SDA 引脚上使用2k Ω 上拉电阻器。 但是、I2C 问题在开/关大约一小时测试后再次出现。 但这次我的客户不禁用内部上拉电阻、我认为启用或禁用内部上拉电阻无关紧要、因为我们有外部 I2C 上拉电阻器、对吧?

    您提到过使用弱上拉电阻会使 I2C 易受噪声影响、在这种情况下 I2C 模块会发生什么情况、它是否会停止工作?

    您对此情况有什么意见吗?

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="114524" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1197335/tms320f280037-i2c-communication-stuck/4520933 #4520933"]您提到过使用弱上拉电阻会使 I2C 易受噪声影响、在这种情况下 I2C 模块会发生什么情况、它是否会停止工作?

    SCL/SDA 线路上的噪声有可能损坏 I2C 状态机并暂停通信。

    您可以安排 WebEx 通话吗? 我需要了解有关此问题的更多信息。 解决问题后、我可以在此处发布解决方案。

    此致、

    曼诺伊