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.

[参考译文] TCA9509:用于配置为 I2C 或 SPI 的引脚

Guru**** 2537340 points
Other Parts Discussed in Thread: TCA9509, TCA9517A, TCA9617B

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/937079/tca9509-usage-on-pins-configured-as-either-i2c-or-spi

器件型号:TCA9509
主题中讨论的其他器件: TCA9517ATCA9617B

在我们基于微控制器的设计中、我们要求其两个引脚有时必须用作 I2C 接口(SCL、SDA)、有时必须用作 SPI 接口(SCK、MOSI)的一部分。  该应用将控制 I2C 或 SPI 外设是多路复用到引脚上、并在运行时在两者之间来回切换。  一些其他规格:

  • 需要将微控制器的电压从+3.3V 电平转换到外部器件+5.0V。
  • I2C 中继器功能(可能需要通过电缆驱动 I2C)。
  • 低数据速率、小于100kbit/秒

在这种情况下、TCA9509是否适合在微控制器和外部器件之间使用?  在使用 TCA9509并在 SPI 模式下运行时需要注意哪些事项?

谢谢、

Jason  

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

    TCA9509可以处理与 μ I²C 信号电气上相同的任何信号。 是否可以将 SPI 模式中的引脚配置为开漏?

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

    感谢您的回复 Clemens。  在 SPI 模式下、微控制器是主器件、引脚为推挽。

    [微控制器+3.3V] <--- >[ A  TCA9509  B ] <--- > [外部器件+5.0V]

    我想我的问题的真正核心是 TCA9509是否也可以用作单向缓冲器(A -> B)、其 A 输入由推挽输出驱动。

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

    1) 1)如果您在 A 侧使用推挽信号、则最终可能会定期使总线卡在低电平(我看到有人尝试使用我们的缓冲器之一驱动 MDIO 信号、并由于缓冲器无法支持速度而导致信号完整性错误)

    2) 2)如果 SDA/SCL 线路上的 ESD 电池是由设计触发的边沿速率、则如果由于上拉驱动器而出现快速上升、则可能会意外触发 ESD 电池。

    "我想我的问题的真正核心是 TCA9509是否 也可以用作单向缓冲器(A -> B)、其 A 输入由推挽输出驱动。"

    一些静态偏移缓冲器由于其设计而具有一个非包装工件、我在这里的直觉认为、这个器件是相同的、如果你尝试在一侧仍处于非包装状态时上拉信号、那么最终将看到总线争用 (等待 B 侧在释放之前超过特定阈值)。

    -Bobby

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

    数据表的第5节说明了这一点

    A 侧使用电流感应机制来检测防止总线锁定的输入或输出低电平信号。

    如果 A 侧不是由内部电流源而是由 SPI 主器件上拉、则该电流检测机制可能无法正常工作。

    其他诸如 TCA9517A 或 TCA9617B 的 μ I²C 电平转换器没有内部电流源并且在 B 侧有电压偏移驱动器。

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

    谢谢、我对 TCA9509的使用方式感到担忧。  那么、TCA9517A 是否比我要做的更好?

    我会将微控制器 I2C/SPI 主器件连接到 B 侧、因为微控制器输入 VIL 阈值大于约+0.5V 的失调电压驱动器输出。  微控制器还能够驱动低于0.45V VILC 值的输出 VOL。

    然后在 A 侧,我只需要确保“外部设备”能够驱动0.3*(VCCA)或更低的逻辑低电压,以便从 A->B 发送数据

    我在另一篇 E2E 帖子中看到一条建议、即 A 侧上拉比 B 侧更快(A 侧上的 RPU 小于 B 侧上的 RPU)有助于避免因后续处理而产生的伪影。  是这样吗?

    [微控制器+3.3V] <--- >[ B   TCA9517A  ] <--- > [外部器件+5.0V]

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

    TCA9517A 不允许 VCCA > VCCB

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

    我在 TCA9517A 数据表中看不到任何说明 VCCA 不能大于 VCCB 的规格。  我是否错过了某个地方?

    我还在单独的 E2E 帖子中询问了这一点、并得到了一个冲突的答案。

    https://e2e.ti.com/support/interface/f/138/t/937314

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

    网址是:TCA9517A

    但我注意到、数据表的修订版 C 中删除了"VCCA < VCCD"、因此我猜网站是错误的。