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.

[参考译文] CCS/TM4C1231H6PM:I2C 双从器件地址

Guru**** 2467760 points
Other Parts Discussed in Thread: TM4C1231H6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/668167/ccs-tm4c1231h6pm-i2c-dual-slave-address

器件型号:TM4C1231H6PM
主题中讨论的其他器件: TM4C123

工具/软件:Code Composer Studio

您好,

我目前正在使用 TM4C1231H6PM,它将通过 I2C 连接到主 MPU (微处理器)。

我们能否将 I2C 接口的双从地址与 MPU 一起使用、以便我们可以为 Tiva 器件发送一个地址自定义数据、另一个地址与通用数据。

请告诉我、我们能否将 双从器件地址与一个主器件一起使用。

此致

Raghav

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

    请参阅器件数据表的第16.3.1.7节、其中涵盖了 I2C 双地址支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Ralph、

    我的要求是、需要以以下方式使用 I2C 接口进行访问

    MPU (主器件) I2C --- MCU (TM4C1231H6PM)从器件 I2C

    主 MCU (TM4C1231H6PM --- 从器件1
    主 MCU (TM4C1231H6PM——— 从器件2
    主 MCU (TM4C1231H6PM --- 从器件3

    如何在 MPU 主设备--> MCU 从设备(I2C 接口)访问从设备1、2、3时多路复用地址


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

    您的设置对我来说并不完全清楚、因为您在上半部分中说 TM4C1231H6PM 是从器件、但随后说有3个 TM4C1231H6PM 是主器件?

    就您尝试执行的操作而言、我不确定您是否需要双地址模式、甚至无法利用双地址模式、因为您声称有3个器件作为从器件。 每个 TM4C 器件最多只能存储2个从器件地址(在 I2CSOAR 和 I2CSOAR2寄存器中)、因此我不确定双地址如何帮助您。

    通常、每个从器件都应该有自己的地址、MPU 主器件应该在每个从器件的唯一地址期间与它们进行通信。 这是与总线上的多个从器件进行 I2C 通信的基础。 如果您尝试做一些更复杂的事情、我将需要更多详细信息来评论可能或可能不可能的事情、同时澄清您的设置(也许我不理解正确?)。 尽管这是您第一次使用 I2C、但请告诉我、我可以提供一些有用的文档来帮助您学习。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、

    请分享与 I2C 相关的文档。

    我们是否可以使用以下配置满足上述要求


    MPU (主器件) I2C --- I2C0--- MCU (TM4C1231H6PM)从器件 I2C

    从 MPU (主器件)需要访问从器件2和3以进行基本读取和写入,因为从器件1具有大量的配置/settings /Control。因此,我们可以执行以下所述的操作,或者是否有任何其他方法。


    MPU (主器件) I2C --(I2C0)从器件地址1 --主 MCU (TM4C1231H6PM ---- I2C1-从器件1


    MPU (主器件) I2C ---(I2C0)从器件地址2 --- 主 MCU (TM4C1231H6PM——— I2C2-从器件2.


    MPU (主器件) I2C ---(I2C0)从器件地址2 --- 主 MCU (TM4C1231H6PM --- I2C3---从器件3.

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

    你好 Raghavendra、

    以下是一个并非特定于器件的通用 I2C 文档、可帮助您了解 I2C 的基本工作原理: http://www.ti.com/lit/an/slva704/slva704.pdf

    我们还提供了适用于 TM4C129器 件的 I2C 文档、但您可能会发现这一文档非常有用、因为大量信息将适用于您的 TM4C123器件:www.ti.com/.../spma073.pdf -中还提供了指向 I2C 规格的链接。

    由于您使用 I2C0和 I2C1来分离主器件和从器件、因此这种方法应该运行良好、请记住、您一次只能从一个外设发送或接收数据。 TM4C 不是多核、因此、如果 I2C0正在接收、则必须在 I2C1可用之前完成接收、因为 CPU 将忙于 I2C0。 您应该计划使用中断来简化器件之间的 I2C 通信。

    您列出了"保存地址2"并将其绑定到两个不同的 TM4C1231器件、这不是从器件寻址的工作方式。 "双地址"功能使 TM4C1231能够响应两个不同的从器件地址。 不允许主器件在两个器件之间使用相同的从器件地址。 两个从器件都不知道另一个从器件具有相同的地址、因此两个从器件都将尝试进行应答、这将导致总线上发生冲突。 您需要为每个 TM4C1231从器件提供单独的从器件地址。 这就是我认为您不需要双地址模式的原因。

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

    谢谢 Ralph、

    此致

    Raghavendra  

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

    [引用 USER="Ralph Jacobi"]您列出了"保存地址2"并将其绑定到两个不同的 TM4C1231器件[/引用]

    TEN (USD)辩称、这是一个"拼写错误"-从地址3是(很可能)意图...