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.

[参考译文] MSP430G2253:具有相同地址的 I2C 多从器件

Guru**** 2540600 points
Other Parts Discussed in Thread: MSP430F5529, MSP430G2553, MSP430FR5969, LMP91000

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/651894/msp430g2253-i2c-multiple-slave-with-same-address

器件型号:MSP430G2253
主题中讨论的其他器件:MSP430F5529MSP430G2553MSP430FR5969LMP91000

你(们)好

我想使用几个 MAG3110、它只能使用 i2c 进行通信。 但我无法更改地址。 在同一 i2c 总线中是否有任何方法与同一地址的多个传感器通信。 我可以访问 MSP430G2553和 MSP430F5529、两者都有一个用于 i2c 的模块。 我可以尝试使用计时器控制两个传感器的活动周期、但我希望它们显示与我稍后将比较的相同时间段的数据。 我们非常感谢您的任何建议。

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

    您可以使用软件位 bang 解决方案来控制第二条 I2C 总线、在线社区提供了多个示例。 由于磁力计的最大有效电流小于1mA、因此另一种选择是使用 MSP430 GPIO 控制 MAG3110电压引脚。 但是、这些选项中的任何一个都不能帮助精确地同时对数据进行采样。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Ryan
    我刚刚发现 F5529具有2个用于 I2C 的独立模块。 因此、我应该能够将它们用于2个传感器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ryan、

    它只在我的办公室发生。 以我的示例为例、我有一个烟雾检测传感器、负责 I2C 通信。 我将使用 MSP430FR5969控制器。 让我们以示例5的传感器为例。 那么、我如何将其连接到我的控制器、因为它们具有相同的地址。 大多数 GPIO 引脚已经忙于其他一些模块。
    是否有任何其他解决方案可用。

    谢谢
    Anil D.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请具体说明。 您的烟雾探测器的器件型号是什么?

    I2C 规范不为具有相同地址的多个从器件提供服务。 但是、许多特定器件提供带外选择机制。 例如、LMP91000具有显式芯片选择。 M24512具有用于设置地址位的引脚。 在阅读 MAG3110数据表时、我(或 Nabil Ch 或 Ryan Brown1)看不到类似的任何规定。 在一个紧要关头(如 Ryan 指出的那样)、人们通常可以使用电源控制(通过 GPIO 为传感器供电)、但此设计的要求排除了这种情况。

    以额外的复杂性(硬件+软件)为代价、您可以使用 I2C 多路复用器、例如 PCA9547。

    未经请求:I2C ("Inter-IC")总线设计用于物理短路总线、测量单位可能为厘米、在这种情况下、我预计烟雾探测器的部署将以(至少)计量器为单位。 您可能应该做一些电气参数来确保您的设计是可行的。