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.

[参考译文] PCA9534A:通过电平转换器和 I2C 扩展器与 MCU 连接的多个 I2C IO 扩展器

Guru**** 657500 points
Other Parts Discussed in Thread: P82B715, TXB0102, PCA9534A, TCA9539, TCA9406, TCA9803, TXS0102, P82B96
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1291246/pca9534a-multiple-i2c-io-expander-interface-with-mcu-through-level-translator-and-i2c-extender

器件型号:PCA9534A
主题中讨论的其他器件: TXB0102TCA9539、P82B715、 TCA9406TCA9803、TXS0102P82B96

大家好、

我们在我们的一个电路板中实现了以下电路。  

在此应用中、MCU 是 STM32H747、它是1.8V I2C 轨。 我们使用了 TXB0102电平转换器将 I2C 总线信号从1.8V 转换为3.3V。 由于有10个从器件(8个8位 I2C IO 扩展器(PCA9534A)和2个16位 I2C IO 扩展  器(TCA9539)),因此我们使用了1个 P82B715 I2C 扩展器。

请检查上述实现。 请告知我们、此应用是否需要进行任何更改/修改。

谢谢。

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

    TXB 不适用于 μ I²C。 使用支持开漏信号的转换器、例如 TXS0102/TCA9406或 TCA9803。

    是否真的需要 μ I²C 扩展器? 总布线长度是多少? I²C 它不 I²C 大约250cm、那么您就不会超过400 pF 的 μ V 限制、并且您可以在没有外部扩展器的情况下只使用一个转换 μ V 缓冲器(TCA9803)。

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

    您好、Clemens:

    感谢您的答复。 由于我们已在此设计中实现此电路、因此我们可以使用 TXS0102代替 TXB0102、因为这两个都是引脚对引脚兼容的。

    关于 I2C 长度、我们设计中的 I2C 总长度约为50cm。 那么、我可以将此扩展器(P82B715)与 TXS0102电平转换器结合使用吗? 或扩展器、这种情况下是不是必需的? 如果我将扩展器与 TXS0102一同使用、此应用是否会出现任何问题?

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

    如果 MCU 没有足够的驱动强度用于大型总线(TXS 只是一个无源开关)、则可能需要 P82B715。

    请注意、TXS 已经具有内部上拉电阻器。

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

    您好、Clemens:

    感谢您的确认。 我们将检查 MCU 驱动强度并让您知道。

    因此、如果我们在电路中使用 TXS0102、则红色标记的电阻器(在下面的方框中)不需要在电路中使用。 我的底层记录是否正确? 如果我保持10K 电阻的原样、是否会导致任何问题?

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

    额外的上拉电阻器可加快上升沿的速度、但也会增加上拉电流、从而增加低信号的电压。 该电压取决于所有 μ I²C 器件的驱动强度。

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

    尊敬的 Aakash:

    当我看到这条线时,我一直同意克莱门斯的建议。 由于低输出低电流、TXB0102不用于缓冲 I2C 信号(我认为它为20uA、I2C 需要0.4V 的3mA)。 您在此处通过 TXS0102选择的选项并不是真正的 I2C 缓冲器、但会提供电平转换目的、内部上拉电阻器和上升时间加速器、以帮助提升 I2C 中的上升沿信号。 同样、TXS0102不会对将电容从1侧转接到2侧的 I2C 信号进行重新驱动/缓冲、而是为上升沿提供更多上拉电流。  

    P82B96更像缓冲器件、但它旨在缓冲高达4nF 或4000pF 的较大负载。 快速模式的限制是<400pF。  

    您指出在 P82B96的输出端、您有一根50cm 的电缆和10个 IO 扩展器。 我们可以通过一些数学运算来估算 P82B96输出端存在多少总线电容。  

    3pf/英寸 PCB 布线是我们在计算 PCB 布线长度产生的电容量时使用的估算值。 使用布线时情况略有不同、因为每根电缆都有自己的寄生总线电容属性、但3pF/英寸可以达到很好的效果。

    50cm = 19.685英寸、3pF x 19.685 =~59 pF (在接线中)

    10个 IO 扩展器的输入电容。 每个器件大约10pF:10 x 10 = 100pF

    在 P82B96的输出端、总线电容估计约为159pF。  

    如果我正在设计此电路、我会认为由于总线电容低、没有必要使用 P82B96。 将 TXS0102实施为电平转换器将是我唯一要保留的器件、因为您需要从1.8V 转换到3.3V 信号。 200pF 不是总线的重负载、TXS0102还在器件中内置了 RTA (也称为单稳态)、因此结合线路上的上拉电阻、这将有助于提升从200pF 负载的上升沿。  

    Clemens 也恰好位于上拉电阻器附近。

    可以删除原理图上方以红色突出显示的那些、因为 TXS0102中存在内部10k 上拉电阻器。  

    请告诉我、这是否有帮助、

    此致、

    泰勒

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

    你好、Clemens 和 Tyler、

    感谢您的宝贵建议。

    我们目前正在实验室中测试。 连接完整电路时、无法建立 I2C 通信。

     调试期间、我们注意到、当连接任何负载(I2C 扩展器或直接连接 IO 扩展器)时、电平转换器(TXS0102)无法将 MCU 时钟信号(1.8V 电平)传递到3.3V 侧。 在这种情况下、我们能够在1.8V 侧看到正确的时钟信号、但在3.3V 侧、出现了一些随机信号(信号可能失真)、而不是时钟信号。 我们在有和没有 I2C 上拉的情况下检查了相同的情况(正如您提到的、TXS0102具有内部上拉电阻)。 但在这两种情况下、结果是相同的。

    我们还从函数发生器(100Hz 至300kHz)检查了1.8V 侧不同输入信号(正弦波或方波信号)的 I2C 电平转换器、但我们在3.3V 侧得到一些相同的随机信号。

    但是、当没有器件连接到3.3V 侧的 TXS0102时(意味着电平转换器无负载)、它能够按预期在1.8V 至3.3V 范围内传递信号(MCU 时钟或来自函数发生器的信号)。

    在这种情况下、请提供一些宝贵的意见。

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

    请显示示波器迹线。

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

    尊敬的 Aakash:

    除了示波器布线外、您手头是否还有展示 TXS0102连接方式的原理图?  

    此致、

    泰勒