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.

[参考译文] Linux/TCA9555:Linux CAN't DETCA9555

Guru**** 2582405 points
Other Parts Discussed in Thread: TCA9555

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/820100/linux-tca9555-linux-can-t-detect-tca9555

器件型号:TCA9555

工具/软件:Linux

我们在电路板中遇到了一些怪异的情况、无法检测到电路板上的3个部分 TCA9555:

  • 使用 Linux i2c 命令 i2cdetect,它不会看到这3个 TCA9555的任何一个。  但是、也存在其他从器件。
  • 然后、如果我对3个地址中的每个地址执行 i2cset、那么我可以使用 i2cdetect 查看所有这些地址。
  • 然后、我使用了 reboot 命令和 uboot 命令:
    • I2C dev 1 then i2c 探测器未看到3个 TCA9555中的任何一个
    • 但是、在对其中的每一个进行 i2c MD 操作后、i2c 探针现在都能看到它们  

您以前是否有这样的感觉?

谢谢、
Nick

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

    嗨、Nick、

    您描述的声音类似于我们器件的已知/预期行为。 执行 I2CDetect 将尝试通过发出读取事务从 I2C 总线上的从器件获取 ACK。 我们的器件具有多个寄存器、如果您尝试在不调整寄存器内部指针的情况下进行读取、器件将会 NACK、因为它不知道您尝试从哪个寄存器读取数据。 我们器件的正确读取过程是首先执行写入操作、以便设置内部指针。 之后、您可以执行读取事务。 数据表的图29显示了该过程。 请注意、所有读取事务示例是如何以先写的方式开始的。

    谢谢、

    -Bobby