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.

[参考译文] TCA6416A:I2C无ACK

Guru**** 2460850 points
Other Parts Discussed in Thread: TCA6416, TCA6416A, PCA9306, TCA9416

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/630085/tca6416a-no-ack-for-i2c

部件号:TCA6416A
主题中讨论的其他部件:TCA6416,, PCA9306TCA9416

您好,

客户按以下方式连接ADDR,将I2C从地址设置为0x20。

他们尝试使用0x20访问芯片,但没有从芯片响应ACK,如下所示。

他们确认在测试期间,复位正确为3.3V,其主板上的其他I2C设备在相同的测试方案下(使用其他I2C从属地址)可以对其主板上的I2C主机作出正确响应。  请建议我们还可以检查哪些内容来澄清这一点。

其芯片顶部标记如下所示。  正确吗?

谢谢!

Antony

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

    安东尼

    1) P0-P7和P10-P17是否连接到任何设备或它们是否浮动? 进入VCCP的电流似乎有点高,尤其是当它们浮动时。

    2)您是否在部件打开且发送地址时检查了VCCI和VCCP的电压水平? 电压读数是多少?


    3)我们是否可以查看PCB布局? 我只是想确保SDA和SCL等有趣的东西不会换用。

    4)我们能否获得SCL和SDA线的O形范围波形? 逻辑分析器不会向我们显示上升或下降时间,逻辑分析器可能无法看到线路上出现意外情况。

    ----------------------------------

    寻址引脚看起来正确。 将其拉至GND后,您应该尝试访问0x20。

    我已经检查了原理图引脚映射到数据表的引脚映射,两者匹配。

    PH416A的器件标记与数据表相关。

    -Bobby

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

    您好,

    我们今天进行了一些测试,如下所述,其布局似乎应该正确实施。  请分享您对根本原因的意见。

    1. 目前,他们的I2C主机(CPU)连接到三个I2C设备,包括TCA6416 (地址:0x20)和其他两个具有I2C从地址0x1C和0x41的设备。

    2. 他们没有I2C SW驱动程序来访问分配了从属地址的I2C设备。  目前,他们只有一个I2C扫描软件驱动程序来扫描0x00到0x7F之间的所有I2C从属地址。  

    3. I2C扫描后,它们只能检测0x1C和0x41从属地址,而不能检测0x20 (TCA6416A)

    4.今天,我使用了一个Aardvark I2C总相工具,将SDA/SCL/GND线从Aardvark安装到他们的电路板上,发现我的Aardvark工具可以正确访问TCA6416A

    5.只要我们首先使用Aardvark工具访问其主板上的TCA6416A芯片,其扫描软件驱动程序就可以在之后正确检测0x20 (TCA6416A)。  但如果在重新打开电路板的电源后,我们不再使用Aardvark,则扫描仍无法检测到0x20。

    下面显示了在扫描工具工作时SDA/SCL示波器的一些镜头。  (我们无法在访问0x20时触发波形停止。)  请检查它们以获得有关上升/下降时间的参考。  

    您认为它是否与外部上拉电阻值相关?  为什么从Aardvark访问后可以很好地工作?  

    谢谢!

    Antony

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

    您好,Antony,

    可能是设备在关闭电源后的事务(通信)过程中以某种方式锁定,导致状态机卡滞。

    您能否通过对IO引脚应用软件重置来验证是否不是这种情况 ,并验证是否已使用O型示波器将重置引脚向下拉至地面(非常重要)。 然后尝试从设备获取ACK。


    我们还能从您的aardvark I2C设备和SW驱动器中看到波形吗? 我们希望了解波形的比较情况。

    主设备到底是什么? (FPGA,MCU等) 它是否具有I2C总线?

    谢谢!

    -Bobby

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

    您好,Bobby:

    请按以下方式查看我们的更新。

    1. TCA6416A放置在子板上,CPU (I2C主机)位于主板上。  两块板通过一个连接器连接。
    2. 主板上的CPU具有I2C 1.8V电压,电压通过PCA9306转换为3.3V,如下所示。
    3. 子卡上有一个外部上拉电阻为4.7千欧,如下所示。
    4. 之前提供的I2C波形在实施了4.7kohm (R4/R5)和10kohm (R3323/R3325)的3325的情况下被捕获。
    5. 在R4/R5打开的情况下捕获以下波形。  仅实施R3323/R3325 (3325 (10千欧)。  我们可以在访问0x20 (TCA6416A的从属地址)时看到来自TCA6416A的ACK,但他们的扫描工具仍然无法正确检测到TCA6416A。

     6.在R4/R5打开的情况下捕获以下波形,并且R3323/R3325更3325更改为4.7千欧。  我们可以在访问0x20 (TCA6416A的从属地址)时看到来自TCA6416A的ACK,但他们的扫描工具仍然无法正确检测到TCA6416A。

    请告诉我们您的意见

    谢谢!

    Antony

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

    第二篇文章(2017年10月5日)的波形与您最近的波形不匹配。 在第二篇文章中,发送的地址不是20xh,而是03xh。 您确定扫描仪发送的地址正确吗?还是在第二个帖子中上传了错误的图片?

    还要澄清一下,您的Aardvark是通过PCA9306 (连接到PCA9306的引脚3和4)还是连接到之后(PCA9306的引脚5和6)?

    从波形来看,上拉电阻器不是问题。 它们似乎能够及时到达0.7 Vcc以便进行采样。

    谢谢!

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

    您好,Bobby:

    当我在Oct5上做第二个POST时,客户的软件驱动程序仍无法指定I2C从地址。  他们可以做的是从0x00扫描到0x7F,因此我们很难在访问0x20时捕获屏幕截图。  因此,我只提供一个包含非0x20 I2C地址的屏幕截图作为参考。

    关于昨天的波形图,他们的SW驱动程序已准备好指定我们需要的I2C地址,因此我们可以在它访问0x20时提供波形图。

    关于Aardvark连接,我们将其连接到非常靠近TCA6416A的位置,因此它连接到PCA9306的引脚5和6。  

    所以,VIH似乎没有问题,Vil怎么样?  是否也可以?

    但斯克!

    Antony

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

    您好,Bobby:

    与客户进行交叉检查后,他们可以通过软件驱动程序中的简单I2C写入和I2C读取功能访问TCA9416。 但由于未知原因,他们仍然无法通过SW驱动程序中的扫描工具检测到芯片。 由于主要目的是进行I2C写入和I2C读取,因此该问题暂时不存在。

    谢谢!

    Antony