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.

[参考译文] MSP430FR5994:为什么SCL正常为低电平?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1095448/msp430fr5994-why-scl-is-normal-low

部件号:MSP430FR5994

您好,

我需要通过MSP430FR5994连接2个从属设备。 但我目前只能与设备通信。

如果MSP430FR5994连接到第2个器件,I2C通信将失败。

我发现SCL信号正常为低电平。 正确吗?  

当I2C处于待机状态时,SCL信号应该较高。 对吧?

我想SCL是消耗更多电量的低原因。 它会导致I2C通信失败。

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

    您好,Allen:

    我想您可以检查从属设备是否有问题。

    连接到A&B从机将会通信失败,如果仅连接A是正常的? 您是否只尝试B从?

    您还需要检查两个从属设备的地址。

    谢谢!

    此致

    强生  

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

    不是第二从属问题,我确定从属地址不同。

    请回答我的问题如下:

    我发现SCL信号低@怠速。 正确吗?  

    当I2C处于空闲状态时,SCL信号应较高。 对吧?

    我想SCL是消耗更多电量的低原因。 它会导致I2C通信失败。

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

    我发现了SCL与SDA之间的交互对话所引起的问题。

    当我将长线连接到第二个设备时,SDA信号具有瞬时 下降@SCL由高到低。

    我需要知道为什么SCL低@ I2C空闲。

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

    您好,Allen:

    MSP430中的空闲模式应较高,您需要检查SCL是否由从属设备下拉。

    如果导线过长可能导致通信失败,您可以检查是否存在一些NCAK中断。

    谢谢!

    此致

    强生

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

    您好,Johnson:

    感谢您的回答。

    我已经完成了以下测试。

    1. MSP430是一个主控器,它具有 用于I2C的拉高电阻器(1k)。

    2. MSP430不连接任何从属设备。

    3. MSP430每隔100毫秒输出一个I2C命令。

    结果:

    MSP430可以输出正常波形。 但是,当I2C处于空闲状态时,SCL仍然很低。

    我对压力传感器进行了另一项测试。

    当MSP430连接到唯一 的压力传感器时,SCL可以被拉高@ I2C处于空闲状态。

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

    在某些情况下,MSP430 I2C硬件将使SCL保持低电平。 例如等待将数据放入TXBUF以便发送。 SCL过低时,它将永远不会怠速。

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

    您好,David:

    UCB0CTLW1= UCASTP_2;//自动停止生成\

    UCB0TBCNT=2;

    I2C TX,通过中断

    我确认已设置UCBCNTIFG。 它可以确认TX已完成。 对吧?

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

    您好,Allen:

    您是否有 逻辑分析仪或示波器? 也许在故障发生之前/之后抓取I2C波形,这可以帮助我们快速找到根本原因。

    谢谢!

    此致

    强生

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

    您好,

    发现自动停止功能不能自动停止。 我将代码修改为手动停止。 它可以正常工作。

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

    是的,I2C波形不正常。这可能是由串话引起的。 我 启用I2C的所有错误中断。 I2C有时会产生第9个时钟错误。

    这将导致MSP430无法 生成停止信号。  

    您是否有任何好的想法可以避免或通过它?

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

    您好,Allen:

    第9个clcok意味着什么? 这是由MSP430生成的?

    对于自动停止功能,FR5994应正常。

    谢谢!

    此致

    强生

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

    UCBIT9IFG不是错误标志。这是我的错。

    我发现问题来自ISL1208。当I2C连接到超过2个设备时,它不能确定。