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.

[参考译文] TM4C1294NCPDT:TI 电路板 I2C 高速问题

Guru**** 2609775 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1216871/tm4c1294ncpdt-ti-board-i2c-high-speed-issue

器件型号:TM4C1294NCPDT

您好!

我使用 TivaWare_C_Series-2.2.0.295 SDK 调试 I2C 3.4Mhz 高速性能。   TI_I2C_3.4Mhz 主器件发送和读取都可以、但当它作为从器件模式工作时、发现没有高速性能、这意味着当第三方主器件发送从器件地址后跟主器件代码 TI_I2C_SLAVE 反馈 NACK 时、它看起来在高速模式下无法响应 ACK。 确认它是标准速度模式、TI 主板是否有问题。

有什么好的建议吗?

此致

宏伟    

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

    您好!

     您是否设置了从器件以进行高速操作、使 HS 位等于1、以便使速度接收主器件代码字节?  

     您能否展示一下您的逻辑分析仪捕捉情况?

     您能否浏览该应用手册、特别是有关高速运行的第5.4节?  https://www.ti.com/lit/pdf/spma073

      

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

    尊敬的 Charles:

    感谢您的答复。 实际上 TI I2C 主器件性能没有问题。 昨天、我试着将 I2C 速度从3MHz 降至2.7Mhz、相同的 FW 项目和 TI board_Slave 角色开始工作。 我认为 TI board_I2C 从器件无法实现超过3MHz 的速度。 请提供建议。

    此致

    宏伟  

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

    尊敬的 Charles:

    如果 TI I2C 充当从器件角色、则在主器件端发送主器件代码后后跟 速度为3.1Mhz 的从器件地址、TI 板提供 NACK。 但是、如果主端的高速从3.1Mhz 降低至2.7Mhz、 TI_Slave 通信运行良好、并且隔夜运行没有问题。  

    此致

    宏伟  

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

    尊敬的宏伟:

     不是很确定问题的原因是什么。 您是否满足 数据表中所示 I4和 I10参数的 I2C 电气特性要求。 请参阅下表。 您的系统时钟速度是多少? 您使用什么上拉电阻器? 对于高速运行、与100kHz 的臂架速度相比、我本来期望有更强的上拉电阻(更低的电阻值)。 如果您更改上拉电阻器、它是否会产生影响?

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

     尊敬的 Charles:

    我注意到上拉电阻器已经存在、到目前为止、上拉电阻器值约为200欧姆、以满足 I2C 规格要求。 与上面显示的 TI_Slave CLK 配置。 很奇怪的是、TI_I2C_Master_3.4Mhz 没有问题、但是当它作为从器件工作时、无法实现3MHz 或以上的频率。 对于数据保持时间、让我稍后检查一下、但我认为主板侧板已经符合 I2C 规范、因此数据保持时间不存在问题。 还有一件事是、当 TI_I2C 在高速模式下工作时、FW 必须添加延迟来确保高速模式正常工作。

    此致

    宏伟  

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

    尊敬的宏伟:

     我觉得它与计时有关(例如设置或保持时间)。  正如您所指出的、它将在大约3MHz 而不是3.4Mhz 下工作。  从器件是在其 FIFO 中捕获错误的数据、还是仅仅捕获不到任何数据?  

     您能做一个实验吗? 您可以尝试更低的速度、而不是以120MHz 的频率运行系统时钟。 或许起始频率为25MHz、使用 OSC 作为源时钟、而不是使用 PLL。 我想知道系统时钟速度与您的观察结果之间是否存在任何关系。  

      

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

    尊敬的 Charles:

    当然、谢谢大家、让我稍后调试并更新。

    此致

    宏伟

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

    尊敬的宏伟:

     让我们知道结果。 我现在将关闭该主题。 每当您有一些更新时、您可以回写此帖子、该帖子会将状态更改为"打开"、并且我会收到通知。  

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

    尊敬的 Charles:

    当然、谢谢。

    此致

    宏伟