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:GPIO 扩展器无响应

Guru**** 2381270 points
Other Parts Discussed in Thread: AM62P, TCA6416A, TCAL6416, TCA6424A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1490448/tca6416a-no-response-from-gpio-expander

器件型号:TCA6416A
主题中讨论的其他器件:AM62PTCAL6416TCA6424A

工具/软件:

我们目前正在进行新的 AM62P 设计、并且在使用 TCA6416ARTWR 器件的 I2C1上遇到一些问题。

当我们运行 i2cdetect 命令(使用选项-y -r)时、我们可以在总线上看到其他器件、但 TCA6416ARTWR 均未响应。

我们已确认、两个器件的引脚21和23 (3.313V)处存在电源、nReset 已释放、地址引脚处于预期值(U73为0.00V、U74为3.313V)、并且引脚9具有良好的接地连续性。

我们还探测了每个器件的引脚19和20处的信号

在新的 AM62P 电路板上、时钟频率为100K、以下捕捉显示了 i2cdetect 命令的地址0x20和0x21:

为了将电路板与器件隔离、我们移除了 U74、并使用陶瓷线将其连接到测试板、以便我们可以从已知良好的电路板连接 I2C 总线。

此捕获结果连接到 AM62x 开发板、时钟频率为400K、显示了 i2cdetect 命令的地址0x20和0x21:

在这两种情况下、I2C 总线具有其他正在响应和正常运行的器件、因此似乎不太可能出现总线问题、但我们无法从新 AM62P 板上的 TCA6416A 获得响应(在3个不同的板上测试、每个板2个器件)或与 AM62x 板隔离连接。

您能深入了解我们的电路可能出现的问题或者我们可以尝试继续调试吗?

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

    尊敬的 Christyan:

    我认为在启动读取命令之前、TCA I/O 扩展器电路必须首先设置命令字节。  

    发送器件地址、后跟读取位 NACK 是因为尚未设置命令字节(指针字节)、因此、TCA6416A 不知道从哪个寄存器读取数据。 我相信我们在 TCAL I/O 扩展器中对其进行了更改。  

    当您向 TCAL6416发送器件地址+读取位时、我相信它会从0x00处的输入端口寄存器0读取数据。  

    对于 TCA6416A、我认为应该否定应答。  

    在读取之前先尝试发送写入命令、并告知我结果。  

    此致、

    Tyler

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

    尊敬的 Tyler:

    您能否确认 TI AM62Px EVM 仅使用24个引脚的同一扩展器?

    我问的是、因为我不太了解这款芯片在 Linux 中的工作原理。 该扩展器将 NXP 驱动器用于 PCA953。 我假设此驱动程序会先发送写入命令、但显然不会。

    我也得到仲裁丢失的错误,当使用 gpiolib 更改一个 IOS 的值。

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

    尊敬的 Daniel:

    该 EVM 好像使用的是24位 I/O 扩展器 TCA6424A。  

    在读写方面与 TCA6416A 类似。 我不认为指针位已置位(命令字节)。 如果在没有首先发送写入命令的情况下完成初始读取、则器件应 NACK、因为它不知道正在指向哪个内部寄存器。  

    请参阅 TCA6424A 的读取代码片段:  

    此致、

    Tyler