我们有一个使用 MSP430芯片的定制平台、该芯片通过 I2C 与另一个控制器连接。 在 MSP430和控制器之间经过一段高电平活动后、我们会遇到 SCL 一直处于低电平的情况。 发生这种情况时、平台的其余部分没有响应。 不清楚问题是在控制器侧还是在 MSP430侧。 当我们进入此状态时、我们尝试了以下操作:
1) 1) SCL 挂起后、连接 JTAG 并执行软复位和硬复位
2) 2) SCL 挂起后、连接 JTAG 并重新启动 MSP430固件
3) 3)使用 JTAG 调试器在 I2C 逻辑中包含关键代码位置的断点。 该测试在 SCL 低电平故障的每个阶段添加了断点:之前、期间和之后。 在每个阶段、对 MSP430状态进行了调查并验证为良好。
在尝试这些步骤后、SCL 仍然保持低电平。 我们可以找到的唯一解决方法是关闭整个平台。
您可以提供有关导致此状态发生的原因(或我们如何进一步调查)的任何信息、以及有关我们如何摆脱此状态的任何见解(因为复位似乎没有解决此问题)。
如果有任何帮助、我们将不胜感激!