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.

[参考译文] TCA6424A:TCA6424A 在 I2C 上不能回答#39;t

Guru**** 2390755 points
Other Parts Discussed in Thread: TCA6424A

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/827531/tca6424a-tca6424a-doesn-t-answer-on-i2c

器件型号:TCA6424A

尊敬的支持团队:

我正在尝试使 TCA6424A 正常工作。 遗憾的是、它根本没有回复 I2C 命令。 同一总线上的另一个从器件工作正常。 如果你能给我指出我在这里遗漏的东西、我会很感激...

这是示波器屏幕的图片:

您可以看到、地址字节不会得到 ACK。

这是原理图:

当我的想法用完时、我非常感谢在这里提供的帮助!

谢谢!

此致

伦纳特

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

    您好、Lennart、

    您的原理图看起来是 TCA6424A 的正确实现。  我从原理图和示波器波形中收集以下信息。  如果我错了、请纠正我的问题。

    从器件地址= 0x22

    R/W 位= 0 (写入模式)

    命令字节= 0x84 (寄存器输出端口0自动递增)

    到寄存器的数据= 0x00

    SCL 频率= 24.4Khz

    我已根据您的原理图复制了您的设置、在 SCL 和 SDA 上添加了4k7上拉电阻器以用于我的设置。  我假设您的 SCL 和 SDA 线路上有上拉电阻器、但您的原理图中未显示。  在我的设置中、TCA6424A 使用从器件地址0x22、命令字节0x84和数据字节0x00来确认我的 I2C 字节。  

    但是、如果我将复位引脚连接到 GND (或将其保持在低电平)、而不是将其连接到 VCCI (3.3V)、我就能够复制您的波形。  由于其他一切看起来都是正确的并且理论上应该起作用、您能否在设置中仔细检查复位引脚以确保引脚上的电压为高电平(3.3V)?

    如果复位引脚设置正确并保持高电平、您是否已尝试使用其他寄存器或其他 TCA6424A 器件排除可能损坏的器件?  从器件地址是否可能与总线上的另一个器件发生冲突?

    此致、

    Jonathan

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

    尊敬的 Jonathan:

    您的所有假设都正确。 请允许我添加一些信息:

    -我在 SCL 和 SDA 上有4k7上拉电阻器
    -我将 SCL 直接从 FPGA 驱动为高电平或低电平(忽略上拉电阻)
    - SDA 为"0"或高阻抗。 当另一个芯片(Si5344)正确回答时、这似乎起作用。
    -我一次又一次地运行这个单一序列
    我注意到、加电后、SDA 和 SCL 线路保持高电平。 SCL 上的第一个高电平到低电平转换是您可以在示波器图片上看到的转换(单次触发)。 不过、后续序列看起来完全相同(除了我在0x00和0xFF 之间切换数据字节)
    -如原理图所示、通过10k 电阻器将复位绑定到3V3。 我用一个示波器测试了复位线是否为高电平(它是!)。
    -我尝试使用电缆切换复位以将其连接到 GND。 没有帮助。 (我不得不承认、我不确定我是否真的联系过、有点棘手...)
    -寄存器编号不应起任何作用、因为地址已经没有得到 ACK、对吧?
    -由于我怀疑焊接不良(最后的办法是...)、我在同一电路板上尝试了另一个芯片(不同的 I2C 总线)。 相同结果...

    还有其他想法吗? 由于我对 FPGA 中的所有内容进行了编程、我的启动和停止序列是否正确?

    谢谢!

    此致
    伦纳特

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

    您好、Lennart、

    我希望这是一个简单的复位引脚问题。  但是、我们仍可以查看一些内容。  从您之前的波形中、开始和停止序列看起来正确。  此外、是的、如果地址字节被否定、则寄存器编号或命令字节无关紧要。

    第一件事是地址引脚(ADDR)位于 GND 和 VCCP 引脚之间。  您所需的配置是使 ADDR =低电平。  但是、我们过去看到 ADDR 引脚可能会短路或意外连接到 VCCP 引脚、在这种情况下、器件将响应地址0x23而不是0x22。  您能否尝试检查 ADDR 引脚电压并尝试使用地址0x23与其通信、以防设置错误?

    由于您说另一个器件正在正常通信、因此这一个器件需要很长时间、但有时 SCL 和 SDA 线路会在电路板上或 MCU 或 FPGA 中交换。  您能否通过交换 FPGA 引脚分配来验证实际引脚上的 SCL 和 SDA 波形是否正确?  

    我们始终可以对参数电压和时序参数进行一些验证、我们可以对此进行更详细的了解。  您能否测量 SCL 和 SDA 信号上的低电压和高电压电平?  您的示波器快照看起来很干净、它们的信号似乎足够大、足以跨越高低阈值、但这始终是需要注意的问题。  然后、通过放大位并进行延迟测量、更仔细地检查时钟与数据设置和保持时间等。  最好在器件的引脚上查看这一点、但这并不总是可行的。  但有时、当 SCL 和 SDA 走线在 PCB 上具有不同的长度时、可能会出现意外的传播延迟;如果是多电路板情况、则可能会在不同长度的导线上出现意外的传播延迟。

    此致、

    Jonathan

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

    尊敬的 Jonathan:

    很抱歉打扰了你。 这很尴尬、 我忽略了数据表中的"底视图"提示、因此控制引脚被交换了...

    如果在重新设计后它不起作用、我会告诉您。 非常感谢您的帮助!

    此致
    伦纳特

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

    您好、Lennart、

    您一定会受到欢迎!  我很遗憾听到混音、祝您在重新设计时好运。  我过去也曾陷入类似的局面,知道这是令人沮丧的。  但感谢您考虑并选择我们的器件来进行您的设计!  如果您有任何疑问或需要其他支持、请联系我们。

    此致、

    Jonathan