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.

[参考译文] MSP430FR2355:I2C SDA 线未正确转换为低电平

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/927771/msp430fr2355-i2c-sda-line-does-not-properly-transition-to-low

器件型号:MSP430FR2355

我最近的设计通过连续构建存在周期性的 I2C 通信问题、其中 SDA 不会转换到有效低电平状态、因此无效启动和 ACK 会影响良好通信。  下面的波形显示了 I2C SDA (顶部)和 SCL (底部)上的初始启动条件。  忽略 Ch2上的200mV 刻度、确保其为1V/格。

在运行了几分钟后、下面的波形显示了一个 I2C 尝试的一些信标、但是从器件用 NAK 进行了响应。

奇怪的是、在某些构建在同一硬件上的代码中会产生良好的 I2C 通信;它们看起来是正常的、并且都正常工作。

非常感谢提供的援助。

-Jeff

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

    哦,偶尔,它会做这个...  我已经检查了所有电路和上拉电阻;它们看起来是正确的。

    谢谢

    -Jeff

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

    这实际上看起来像是某种总线争用。 这是商用板还是定制板? 您如何确定所有的总线特征都表现良好?  

    第二个影响--显然是无休止地重复启动条件--是我在 I2C 单元的某些异常状态中看到的。 它就像发出启动命令、但看不到它实际上在总线上发生。 我从未见过解释。

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

    Bruce、您好!

    感谢您的回复。  我同意、除非我在 FW 负载后的零星时间获得完全正常的运行、如下面的波形所示。  总线应该没有竞争、我已经对它进行了大量检查;它似乎是来自 MSP430的信号。  这张照片显示、在我最初发布后大约30分钟、它开始工作、然后在后续加载后返回到故障状态。  在函数和非函数之间、加载到加载的代码可能没有变化。  

    我开始相信这种不工作情况是由用于编程的 MSP-EXP 板引起的。  我注意到、当它正常工作与不正确工作时、LED 闪烁模式会有所不同。  我同意、当它无法正常运行时、由于未检测到启动、它将处于永久性启动循环中。  这是在定制设计上进行的。  我在使用电平转换器时看到过类似的奇怪操作、但该设计没有。  我还想知道是否存在与 A/D 输入读数存在一些奇怪的内部 I/O 冲突。  我对其进行了编码、以读取模拟输入序列、即使这些输入未配置为模拟输入、它也会跨越与 I2C 共享的输入。  我可能会尝试移至 没有可能的 A/D 连接的 eUSCI_B1 I2C 总线。

    任何进一步的想法或建议都值得赞赏。

    -Jeff

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

    尽管您没有将引脚配置为模拟引脚、但它们仍然连接到 ADC。 数据表中的端口图显示了这一点。

    这意味着、当 ADC 在这些通道上执行转换时、它将通过其多路复用器在短时间间隔内将采样/保持连接到引脚。 这不应真正导致问题(电容低、时间短)、但可能会导致问题。 只需禁用 ADC 即可轻松进行检查。