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.

[参考译文] TCA9548A:TCA9548A:多路复用器通道选择问题/ TCA9548A:I2C 多路复用问题

Guru**** 2393725 points
Other Parts Discussed in Thread: TCA9548A, TPS65400

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/914328/tca9548a-tca9548a-mux-channel-selection-issue-tca9548a-i2c-multiplexing-problem

器件型号:TCA9548A
主题中讨论的其他器件: TPS65400

TCA9548A:多路复用器通道选择问题/ TCA9548A:I2C 多路复用问题

›问题声明:
–TCA9548a 选定的多路复用通道 SCX / SDX 未被切换
–因此无法从 PMIC TPS65400获取与该多路复用通道关联的从器件 ACK
–设置1:FTDI-PMIC Direct
–TCA9548a 和 TPS65400均直接连接到 FTDI i2c 主器件
–TCA9548a 和 TPS65400提供 ACK
–SC0线路中未观察到切换
–Setup2:通过 i2c 多路复用器实现的 FTDI-PMIC
–TCA9548a 直接连接到 FTDI i2c 主器件、TPS65400 ia 连接到 TCA9548a 的 SC0、SD0线路(尝试连接 SC1。 SD1通道)
–TCA9548a 提供来自 TPS65400的 ACK 和 NACK
–SC0线路中未观察到切换

注意:电路板1包含 i2c 主器件和 i2c 多路复用器(TCA9548a–0x77)、添加了 TCA9548a–0x70评估卡以调试初始多路复用通道不切换问题

随附:原理图、设置图、示波器捕获

›执行的其他具体操作:
–SC0、SD0线路在试验板中以10k 的速度上拉
–对 SC1、SD1通道进行相同的尝试
请推荐电源排序、总线/电源电容器或复位(如果适用)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Manikandan、

    我在这里没有看到附件、但在过去一周中、我看到这个问题弹出了大约3次、涉及 FTDI 软件狗和我们的 I2C 开关。

    下面是一个示例、其中客户的主器件在写入事务后未正确发送停止条件:

    您能否在您的示波器屏幕截图中验证这一点。 发送 I2C 地址并写入字节后、是否发出停止条件?

    谢谢、

    -Bobby

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

    您好、Bobby、

    感谢回复快速回复和预期范围模式的链接。 让我浏览链接并根据需要发出 i2c 命令。 由于这是锁定情况、因此需要花费很少的时间。 同时、我将原理图和捕获作为 zip 文件附加。  

    如果您可以在特定方向进行指导、那将会很好

    e2e.ti.com/.../ftdi_5F00_i2cmux_5F00_pmic.zip

    谢谢、

    Manikandan

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

    您好、Bobby、

    我可以检查通道选择写入、并从 i2c 主器件写入中看到"stop (顶部)"位。 但在从通道 SEL 写入的 ACK 之后、停止位产生~500uS、SCL 上升和 SDA 上升之间的时间间隔为~5uS。 (所附波形供参考)

    我想知道、

    是否存在发出停止条件的任何时间限制、以及是否会在有效停止条件下使 PMIC 上的 SCX 切换

    是否可以仅专注于实现 正确的"停止"条件  

    感谢 Bobby 的支持、

    Manikandan

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

    在示波器捕获中、Ch3显示为 SC0、但实际上它在 SC1上被探测。

    在 SC0中也通过通道选择0x01验证了相同的情况

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

    '是否有任何时间限制以发出停止条件、并且 SCX 将在 PMIC 上的有效停止条件下切换'

    我们器件的状态机没有内部时钟/振荡器、因此它实际上不知道时间。 它正在寻找一个特定的边沿、也就是说、当数据线为低电平时、时钟上升、然后不久后数据上升。

    "是否可以仅专注于实现 正确的"停机"条件"

    在一个有效的权利之后、是的。

    请注意、我们需要一个有效的写入事务、后跟一个停止条件。 如果尝试重复启动、然后执行读取和停止条件、则通道可能无法启用。

    下面、我在另一篇文章中进行了详细介绍、其中我尝试从 FTDI 软件狗重新创建停止条件、并展示了通过在释放时钟信号时进行修改、即使在200ms 的延迟后、我也能够正确启用另一个通道。

    -Bobby

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

    谢谢 Bobby、

    我们可以看到、按照您的建议配置停止条件后、多路复用器通道会切换。 虽然可以看到在相关多路复用通道中连接了 PMIC (TPS65400)的 ACK 信号、但我们在禁用写保护时看到写入问题。 将执行一些实验并确认结果

    Hope、TPS65400将使用 i2c 多路复用器的修改后停止配置进行确认、写入和读取

    连接屏幕截图(如果可以帮助)

    通道1:SCL_IN

    CH2:多路复用 SDA

    CH3:多路复用 SCL

    -Manikandan