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 连接问题、微控制器将无法识别 I2C 芯片

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

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/737678/compiler-tca9544a-i2c-connection-issues-microcontroller-will-not-recognize-i2c-chip

器件型号:TCA9544A

工具/软件:TI C/C++编译器

下午好!  

我使用以下设置:

ESP12-S 微控制器

TCA9544A I2C 多路复用器

多路复用器用于运行4个距离传感器、但在执行 I2C 总线扫描时、无法使 ESP12S 芯片与 TCA 芯片正确通信。

奇怪的是、我们 PCB 的第一个版本或多或少具有相同的原理图、可以轻松地与 TCA 通信、 但是、下一个迭代和完整的重新设计(我们的最新迭代)仍然无法解决此问题、我们无法解决此问题非常令人沮丧。 这些意见如下:

- TCA 和所有下游 I2C 器件的工作电压为2.8V

-在我们的测试设置中,这些器件尚未出现在电路中,但 SC0-SC3和 SD0-SD3都连接到4k7上拉电阻器

-我对 SDA 和 SCL 使用4k7的上拉电阻、而不是47k (如原理图所示)、而是连接到运行电压为3、3V 的 ESP-12S

-因此、TCA 被用作逻辑转换器、我们还尝试在3、3V 电压下运行 ESP 和 TCA、但这并没有什么不同

-我们的 ESP12-S 与我们以前的设计通信时没有问题、因此可以或多或少地解决任何代码问题  

-示波器显示了这两种情况;

- SDA 和 SCL 电压为高电平

或者、我们看到一个信号、但不像预期的那样在3、3V 至0 V 之间变化、而是受到干扰、或者仅在2、8V 至2、2V 之间变化

下面是原理图和 PCB 设计、如果对此问题有任何帮助、我们将不胜感激、因为我们完全没有发现可能的原因。  

非常感谢您的回答、

就是这样

芯片通过以下方式集成到我们的电路中、我看不出 TCA 芯片的 SDA 和 SCL 线路会如何以这种方式产生干扰:

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

    从原理图和布局中、我看不到任何问题。

    您能否提供 I2C 事务的示波器截图?

    我还想确认您是通过 SDA/SCL (主通道)与器件通信、而不是像 SDA/SCL1这样的子通道之一。

    您能否还探测 Vcc 以验证我们是否获得了功率?

    信号链中是否有任何在此之前的情况(如另一个 I2C 开关或缓冲器?) 还是直接连接到主器件?

    还请验证芯片是否正确焊接到电路板上(确保误焊接时未翻转180度)。

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

    您好、Bobby、

    感谢您的快速响应和建议:

    请参阅下面的 I2C 事务示波器截图。 我注意到 SDA 信号仅在1.6V 和2.8V 之间变化。 此外、如右侧所示、SCL 信号似乎有一个奇怪的阶跃减小。  


    但是、信号也会在现在和之后显示其他奇怪的行为、如下图所示:

    还想确认您是通过 SDA/SCL (主)与器件通信、而不是与 SDA/SCL1等子通道之一通信。

    是的、我们只通过 SDA/SCL 主器件进行通信

    您能否还探测 Vcc 以验证我们是否获得了功率?

    是的、TCA 接收2.8V 电压、ESP 以3.3V 电压运行、并通过万用表进行确认、示波器显示稳定的电压信号

     

    信号链中是否有任何在此之前的情况(如另一个 I2C 开关或缓冲器?) 还是直接连接到主器件?

    有三个 PCB 串联;

    -top;这是 TCA9544A 和四个 I2C 距离传感器所在的位置、这四个距离传感器连接到 TCA SD/SC0至3的子通道。 所有器件均接收2.8V 电压

    底部;这将顶部与 ESP 连接 I2C 信号、这也是上拉电阻器的位置、因为上拉电阻器接收3、3V 电压(顶部的上拉电阻器仅接收2.8V 电压、不使用、因为 ESP 在3.3V 电压下工作)

    -bottom_ESP;这容纳 ESP12-S、我们分别使用引脚 GPIO2和 GPIO4用于 SDA 和 SCL、它们不用于任何其他用途。 ESP 采用3.3V 电源供电

    除了在其子通道上使用四个距离传感器的 TCA 之外、主器件的 I2C 引脚上没有任何东西

    由于我们的旧顶部原型与主器件通信没有问题、我不认为问题可能出在底部或底部 ESP PCB。 随附的是完全相同的底部和底部 ESP 的示波器图片、但现在使用的是旧的顶部 PCB、所有内容看起来都很好、总线扫描还会持续报告0x70 (TCA)和0x29 (距离传感器)上的器件。 因此,我希望新的顶级原型出现问题。

    还请验证芯片是否正确焊接到电路板上(确保误焊接时未翻转180度)。

    芯片方向正确

    此外、我们测试了多个电路板、以查看这是否是有缺陷的 TCA、但问题似乎仍然存在。  

    不过、还有一件事、我们的旧顶部原型实际上连接了四个距离传感器。

    我们新的顶部原型面对这些误差、未连接四个距离传感器、但我们为这四个距离传感器焊接了四个2.8V 上拉电阻、因此我希望这至少不会对检测 TCA 的主器件造成问题。 您是否认为这种差异可能与问题有关?

    您认为这些示波器结果可以指示什么?

    感谢你的帮助。  

    此致、

    就是这样

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

    出于完整性考虑、我附上了正常工作的旧原型原理图。 您可以看到、与新原型相比、我们进行了一些修改、但我仔细阅读了数据表、这些修改应符合数据表中的要求

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我认为我们找到了 DE 错误的原因。 在测量 SDA 和 VCC 之间的电阻时、我们发现电阻为100欧姆、这对我们来说似乎太低了、并可能解释 TCA 无法将 SDA 下拉至0V 的原因。 然后、我们焊接到另一个 TCA 芯片(来自另一批)上、I2C 现在正在工作。

    无论故障芯片是巧合还是我们订购的封条是否有缺陷、我都不知道。 明天、我们将了解我们是否能够成功组装我们的新原型。 经验教训是在本例中测量 SDA、SCL 和 VCC 之间的电阻。

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

    感谢您能与我们一起了解更多详细信息和根本原因。

    这可能对遇到类似问题并在 e2e 上发现此主题的其他人有所帮助。

    祝您好运、
    -Bobby