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.

[参考译文] TCA9544A:有关 I2C 多路复用器的问题

Guru**** 2391415 points
Other Parts Discussed in Thread: TCA9544A

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/680922/tca9544a-questions-for-i2c-mux

器件型号:TCA9544A

尊敬的团队:

一个平台采用 I2C 多路复用器 TCA9544APWR 来连接 Skylake SOC I2C 端口、并且 MUX 下方有三个 I2C 器件。

有些问题需要您的帮助。

1.多路复用器件是否需要 Windows 设备驱动程序才能启用? 或者我们只需要安装 Intel Skylake Win7/Win10 I2C 驱动程序?

 

2.我们计划在每个托架 EEPROM 中存储唯一的 ID,BIOS 需要一种方法从连接的托架中读取 ID,以识别托架中连接的设备。

这就是我们提出的建议,如果确实如此,我对将托架的 EEPROM 同步到 MUX EEPROM 的机制感兴趣。

如果不是,您是否愿意分享 BIOS 通过 MUX 读取 ID 的方式?

BIOS 将设置选择位以一次启用每个通道(有关详细信息、请参阅以下规格)、在启用通道后、无线托架上的 EEPROM 数据将与 MUX 上的 EEPROM 同步、 然后、我们可以发送 smbus 命令从 MUX 上的 EEPROM 读取数据、以识别每个通道上安装的器件。

 

连接到多路复用器的 I2C 器件将具有相同的地址、因此模块将全部使用相同的 I2C 地址器件构建。

是否存在连接到多路复用器不同 I2C 端口的同一从器件地址的问题?

4.请将 MUX 数据表发送给我以供参考。

谢谢你。

此致、

Jim

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

    嗨、Jim、

    我们为器件提供模拟支持、因此软件问题通常超出了我们的专业知识范围、但我将尽力回答您的问题。 我们的器件看不出软件驱动程序是什么、它所寻找的只是一个开始条件后跟一个地址(带有 R/W'位)、一个内部寄存器地址、然后是数据和一个停止条件(假设是一个写入命令)。 如果您可以使用驱动程序完成此操作、那么您使用的驱动程序无关紧要。 只要主器件能够正确使用、任何驱动器都将工作。

    2."BIOS 将设置选择位以一次启用每个通道(有关详细信息、请参阅以下规格)、在启用通道后、无线托架上的 EEPROM 数据将与 MUX 上的 EEPROM 同步、 然后、我们可以发送 smbus 命令从 MUX 上的 EEPROM 读取数据、以识别每个通道上安装的器件。"

    我们的 I2C 多路复用器没有选择位、而是一个地址。 主器件需要发送 TCA9544A 的器件地址、然后写入内部地址以启用通道。 如果您的射频托架设备与其他设备具有相同的地址、则一次只能启用一个通道。 启用通道后、您将能够与射频间隔设备通信以读取 ID 并发送或检索数据。 然后、您需要禁用该通道并启用下一个通道。

    客户建议的内容从模拟的角度来看似乎是可行的。

    3.连接到多路复用器的不同 I2C 端口的同一从器件地址是否存在问题?

    我不确定我是否完全理解了这一问题。 如果多路复用器具有不同的地址、则 I2C 器件不会存在地址冲突。 如果通道已启用、并且 I2C 总线上还有另一个地址相同的器件、则会发生地址冲突。 客户必须检查所有地址、以确保不会发生这种情况。 如果通道被禁用、并且总线上有另一个具有相同地址的器件、则不会发生冲突、因为通道被禁用。

    4."您是否会向我发送 MUX 数据表以供参考。"

    当然。

    谢谢、

    -Bobby

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

    感谢 Jim 为我们提供帮助。
    此系统硬件设计将 TCA9544A I2C MUX 连接到 SOC I2C 端口、多个 I2C 器件位于 MUX 后面的不同通道上。
    关于#1、SOC 芯片组为 Intel Skylake、操作系统环境为 Windows (Win7和 Win10)、Windows 映像将安装 Intel 串行 I/O 驱动程序、以启用 MUX 的芯片组 I2C 支持。 我想确认多路复用器器件是否可与 Windows 收件箱驱动程序配合使用、这意味着无需安装额外的驱动程序即可在 Windows 上启用多路复用器、还是可以在 Windows 映像上安装多路复用器驱动程序?
    关于#3、多个 I2C 器件位于多路复用器后面的不同通道上、并且将同时启用所有器件。 我们不考虑 I2C 冲突、因为器件位于 MUX 后面的不同 I2C 段(通道)中。 请再次确认吗?

    谢谢你。

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

    您好 Jill、

    "我想确认多路复用器器件是否可与 Windows 收件箱驱动程序配合使用、这意味着无需安装额外的驱动程序即可在 Windows 上启用多路复用器、还是可以在 Windows 映像上安装多路复用器驱动程序?"

    -我不熟悉 Windows 驱动程序(或软件)。 我可以说的是、如果您使用的驱动器是漏极开路并且可以读取 I2C 总线的状态、那么它应该起作用。 它所要做的就是能够提供一个起始条件、7位地址和一个读取/写入位并且能够看到一个 ACK。 之后、您可以写入寄存器、然后提供停止条件。

    "我们认为没有 I2C 冲突、因为器件位于多路复用器后面的不同 I2C 段(通道)中。 请您再次确认吗?"

    -是的,根据您提供的信息,只要没有地址冲突,设备就可以工作。 只要通道上没有地址冲突并且您不超过允许的 I2C 最大总线电容、您就可以拥有尽可能多的 I2C 器件。

    谢谢、

    -Bobby

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

    您好、Bobby、

    感谢你的帮助。

    对于 Windows 驱动程序、我相信系统可以为 I2C MUX 器件实现标准 I2C 接口。

    对于 I2C 冲突问题、我想 进一步澄清一下。 我们在多路复用器后面的不同通道上连接了三个 I2C 器件、这三个器件将同时启用。 如果这三个器件分配了相同的从器件地址、是否存在 I2C 冲突问题?

    此致、

    Jill

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

    "对于 Windows 驱动程序、我相信系统可以为 I2C MUX 器件实现标准 I2C 接口。"
    -如果情况如此,则您应该可以正常工作。

    "如果这三个器件分配了相同的从器件地址、是否存在 I2C 冲突问题?"
    -是的、现在与您描述的内容存在 I2C 冲突、因为所有三个通道都已启用、现在有三个具有相同地址的器件连接到主 I2C 总线。 一次只需启用一个通道。

    现在... 如果您启用了三个通道并且主器件仅执行写入操作、则可能起作用、但读取操作会导致可能损坏 I2C 线路的信号完整性。 (3个具有相同地址的不同从器件都在尝试进行通信、但如果每个从器件都尝试说出不同的内容、那么信号完整性现在就成了问题)。 我们仍然建议您不要启用所有3个通道、即使您只是执行写入命令、因为您不再遵循 I2C 标准。

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

    您好、Bobby、

    不过、感谢大家的响应、为了消除地址冲突、我们选择 TCA9544A 的确切目的是实现这一点、数据表中对此进行了说明。

    或者、当我们在 I2C 多路复用器下使用相同地址连接多个温度传感器时、  不应在9.6.3控制寄存器中定义的同时启用多个通道?

    如果是、在系统开机自检中、BIOS 有权一次选择一个通道、 谁拥有在操作系统下一次选择一个通道的操作? 请您澄清一下吗?

    此致、

    Jill Hung

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

    您好 Jill、

    "当我们在 I2C 多路复用器下使用相同地址连接多个温度传感器时、不应在9.6.3控制寄存器中定义的同时启用多个通道?"

    -此器件不允许同时启用多个通道,因为它在9.6.3中声明一次只能选择一个通道。

    "当我们在 I2C 多路复用器下使用相同地址连接多个温度传感器时、  不应在9.6.3控制寄存器中定义的同时启用多个通道?"

    -正确、如果多个通道具有相同的地址、则不应同时启用它们。 此器件不允许您这样做、因为它每次只允许一个通道开启。

    谢谢、

    -Bobby