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.

[参考译文] MSPM0L1306:I2C 目标时钟延展

Guru**** 2399305 points
Other Parts Discussed in Thread: MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1338968/mspm0l1306-i2c-target-clock-stretch

器件型号:MSPM0L1306

您好、TI 专家!

我们正在设计如下图所示的系统、其中将 MSPM0L1306 I2C0用作目标 PA0和 PA1引脚。 电源侧的上拉电阻。

由于 SCL 和 SDA 是通过连接器连接的、因此会出现热插拔 情况。

为了模拟插入或拔出等某些情况、然后意外下拉 SCL 或 sda、 我们进行了测试、然后遇到了问题。

测试:

在不连接到其他板的情况下、当 MSPM0L1306在 SDA 或 SCL 下拉的情况下上电  、然后与 GND 断开时、线路无法恢复正常。 这意味着、主设备无法再进行通信。

当 I2C 模块在启用时钟延展的情况下进行初始化时、如果 在禁用时钟延展的情况下进行初始化、它可能会恢复正常。

我测试了示例 I2C_TARGET_rw_multibyte_fifo_interrupts ,它显示相同的结果。  

如何解释这种情况、 i2c 模块会出现什么情况?

SDK 版本:mspm0_SDK_1_20_01_06

非常感谢您的回复

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

    你好  

    我很抱歉,我今天生病了。 我明天会检查并回复您。

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

    谢谢、小心

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

    大家好、 

    我在这里帮助 Janz 和你。

    当 MSPM0L1306通电且下拉 SDA 或 SCL 时

    如何配置 SDA 和 SCL 引脚? 只需按照演示代码操作、而未修改 GPIO 配置?

    Unknown 说:
    然后 断开与 GND 连接,

    根据您的原理图、SDA 和 SCL 在与 GND 断开后应恢复为高电平、对吧?

    [quote userid="599208" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1338968/mspm0l1306-i2c-target-clock-stretch 如何解释这种情况, i2c 模块发生了什么?

    对于 I2C 目标器件(从器件)、需要使用上拉电阻器在空闲和初始化期间保持高电平。 手动下拉这两条线是异常的。  

    可以进入调试模式、在完成所有问题重现步骤之后、可以查看 I2C、GPIO 或 IOMUX 状态寄存器。 发现 任何异常状态标志。

    如 GPIO 的状态和 I2C 目标时钟扩展相关寄存器:TREQ 和 RREQ、等等。

    此致、

    赫利克

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

    您好、Helic、

    感谢您的答复。

    我知道手动下拉 SCL 或 sda 是异常、但我需要对 SCL 或 sda 进行仿真、但这是意外下拉的测试。  

    我测试 SDK 示例提供的代码

    \ti\mspm0_sdk_1_20_01_06\examples\nortos\lp_MSPM0L1306\driverlib\i2c_target_rw_multibyte_fifo_interrupts

    我 评论 __ WFI ()   

    我复制了测试内容。

    上电时、SCL 和 SDA 为高电平      -->正常

    当我将 GND 连接到 SCL 时、它变为低电平   --> 正常、在调试模式下、无中断触发、状态不变。

    断开 GND 时,SCL 仍保持低电平  -->  无法理解 ,为什么它不能恢复到高。 这意味着主器件无法再控制这条线路。

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

    您好!  

    我将在 TI 实验室进行一些测试。

    此致、

    赫利克

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

    您好!  

    我已经测试了演示:  

    结果如下:

    我没有看到你说的。

    我在上电时看到了额外的正脉冲。

    您正在使用哪个版本的 Launchpad 和 L1306? 也许是一个示例芯片? 不是 RTM 版本。

    此致、

    赫利克

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

    您好、Helic、

    如何查看 LaunchPad 版本和 L1306版本。 哪个是 RTM 版本。

    我测试了两个 LanuchPads 我有,他们都显示了相同的结果我所描述。   

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

    大家好、 

    请检查 LaunchPad 的仰视图以及 MSPM0L1306上的标记。

    此致、

    赫利克