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.

[参考译文] MSPM0G3519:I2C 模块's 总线繁忙位设置/清除条件

Guru**** 2908170 points

Other Parts Discussed in Thread: MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1646761/mspm0g3519-i2c-module-s-bus-busy-bit-set-clear-conditions

器件型号: MSPM0G3519
Thread 中讨论的其他器件: MSPM0G3507

尊敬的 champs:

 

我向我们的客户询问这个问题。

在用于 MSPM0G3507 和 G3519 的 I2C 模块中、

您是否要确认设置/清除这些总线繁忙位?

CSR 寄存器[6] BUSBSY

CSR 寄存器[0] BUSBSY

TSR 寄存器[6] BUSBSY

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

    尊敬的 champs:

    您有任何更新吗?

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

    [似乎没有其他人在回答,所以我的意见如下:]

    在 TRM (SLAU846D) 第 25.2.3.2 节和表 25-12 和 25-56 中描述了 CSR BUSBSY/BUSY 位。 还有勘误表 I2C_ERR_13 [Ref 勘误表 (SLAZ758D) 第 12 页]。

    在我的实验中(去年),我无法根据他们的观察行为可靠地使用它们,所以我没有。 更确切地说、我使用 TXDONE/RXDONE 事件以及 ERR 位、并且(仅限)在检查空闲之后。

    TRM 表 25-69 中描述了 TSR BUSBSY、该表稀疏。 也就是说、我没有 想到使用它的方法(因为目标端没有影响)、而是依赖于 START 和 FIFO 事件。

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

    您好 Bruce、

    非常感谢您提供的信息。

    是的、用户认为文档也不清楚、因此我请 TI 内部进行澄清、以便我们知道如何正确使用该文档。

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

    尊敬的 Wayne:

    让我跳到这里来发表一些意见:

    控制器模式:

    将有两个标志位:csr.BUSBSY(I2C 总线忙)和 csr.busy(I2C 控制器 FSM 忙)

    • CSR.BUSBSY:用于检测 I2C 总线是否完成传输、因此清除偶数将是停止信号或超时信号、设置事件将是启动信号。

    • csr.busy:这是控制器 FSM 繁忙位、如果控制器需要对 I2C 总线执行一些操作、该位将在 3 个功能时钟内设置。 然后在寻址此操作后清除。 检查勘误表-> ADC_ERR_13。 如果用户希望轮询该位以查看 I2C 数据传输是否完成、则需要在检查之前添加一些延迟。

    目标模式:

    TSR.BUSBSY 与 CSR.BUSBSY 保持相同的逻辑。 TSR 无其他 FSM 繁忙位。

    谢谢!

    此致

    Johnson