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.

[参考译文] TCA9539-Q1:TCA9539-Q1 IO 扩展芯片的边沿监测问题

Guru**** 2788355 points

Other Parts Discussed in Thread: TCA9539-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1620436/tca9539-q1-edge-monitor-issue-of-tca9539-q1-io-expansion-chip

器件型号: TCA9539-Q1

尊敬的专家:

我们使用 TCA9539-Q1 在定制电路板上进行 IO 扩展。 IO 扩展芯片由 Linux 内核 I2C 驱动程序处理。 目前、我遇到了一个可以使用检测 IO 输入状态变化的问题  gpioget  提供命令、但边缘监控  gpiomon  无法捕获如下所示的任何事件。 我使用的 SCO 是 TDA4APE、我使用的 SDK 版本是 11.01。

7aa05c26-1629-4eeb-b04d-b41436745552.png

中断似乎仅触发一次、永远不会再次发生。

相关的 DTS Confs 可以在下面的 sanapshot 中看到。

4743.0d25deb1-1537-4e1e-9970-c8e106b73c5a.pngpastedimage1770947836186v1.png-640x480.png

你对这个问题有什么想法吗?

我之前在处理器论坛上发布了另一个主题、您可以参阅以下链接、了解之前的讨论。

TDA4APE-Q1:TCA9539-Q1 IO 扩展芯片的边缘监控问题 — 处理器论坛-处理器 — TI E2E 支持论坛

此致。

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

    尊敬的 Mian:

    发送 gpiomon 命令时是否可以获得 SDA 和 SCL 的示波器捕获?  

    gpiomon 命令假设要执行什么操作?  

    我知道 gpioget 命令是通过 i2c 总线从 IO 获取输入数据。  

    此致、

    Tyler

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

    尊敬的 Tyler:

    我怀疑这只是在调用 gpiomon 命令可能不会发送任何 I2C 指令、因为此命令的目的是监控输入引脚的变化、特别是上升沿和下降沿、并且仅在检测到中断时才会读取输入数据。 当然、我不完全肯定这一点、可能需要驾驶员专家确认。

    但是、我想当前问题与 I2C 通信无关、而是与 INT 中断的触发机制相关。 根据下面所示的文档、 在输入模式下、端口输入的任何上升沿或下降沿都会生成中断...当端口上的数据更改为原始设置或从生成中断的端口读取数据时、便可将中断电路复位。  

    然而、在实际测试过程中、我观察到以下情况:

    系统上电后、INT 引脚确实处于高电平状态。
    当输入引脚的状态发生变化时、INT 引脚被拉至低电平、触发 SOC 中断。
    读取输入数据后、INT 引脚保持低电平并且不会恢复;除非系统重新启动、否则它持续保持低电平。

    因此、我想知道 INT 中断机制是否有任何限制?

    此致、

    MIAN

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

    尊敬的 Mian:

    /INT 引脚是在所有 16 个 IO 之间共享的开漏中断。  

    如果端口 0 的 1 个输入更改状态、端口 1 的 1 个输入更改状态、则需要读取两个端口以清除中断、因为/INT 引脚是共享的。  

    您能否确认当尝试清除 中断引脚时、是从端口 0 和端口 1 读取数据。  

    还有一个问题:TCA9539-Q1 上的任何 IO 引脚是否悬空?

    此致、

    Tyler

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

    尊敬的 Tyler:

    INT 下拉后、我读取所有输入引脚的状态、但仍然无法清除中断引脚。

    电路板上有两个 TCA9539-Q1。 其中一个引脚有一个悬空引脚、但我已将其设置为输出。 另一个没有任何悬空引脚。 两个 TCA9539-Q1 的 INT 无法按预期工作。 我想这也不是原因。

    此致、

    MIAN

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

    尊敬的 Mian:

    我们仍在研究这一点、不久将采取后续行动。

    此致、

    插孔

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

    尊敬的 Mian:

    在 INT 下拉后

    INT 是否由于其中一个 TCA9539-Q1 的 IO 状态变化而拉至低电平?  

    我的电路板上有两个 TCA9539-Q1。 其中一个引脚有一个悬空引脚、但我已将其设置为输出。 另一个没有任何悬空引脚。 两个 TCA9539-Q1 的 INT 无法按预期工作。 所以我想这也不是原因。

    /INT 上是否有上拉电阻器? 该引脚是开漏输出。  

    将两个 TCA9539-Q1 的所有引脚设置为输出是否会释放中断? 执行此命令时、/INT 应返回到 VCC。  

    此致、

    Tyler

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

    尊敬的 Tyler:

    我们已经确定了问题的原因、即不恰当地为 INT 引脚选择上拉电阻器。


    在我们的电路板上、TCA9539-Q1 的 INT 引脚通过一个将 3.3V 转换为 1.8V 的电平转换芯片连接到 SoC。 该电平转换芯片对外部电流范围有限制、因此 INT 引脚的上拉电阻器与参考设计不同、导致中断在被触发(拉至低电平)后无法恢复(拉至高电平)。  将上拉电阻器更改为比基准小得多的值(大约为 1kΩ) 时)时、中断会起作用。
    因此、我们想了解外部上拉电阻器的建议范围和 INT 引脚的电流?

    此致、

    MIAN

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

    尊敬的 Mian:

    这取决于您的系统。  

    您需要了解 VIL 和 VIH 的最小/最大电平、时序限制、SoC 的电压 (1.8V) 以及/INT 布线上的估算电容。 您可以估算出 1pF/1cm 的 PCB 布线。 在这些限制条件下、您需要一个足够强的上拉电阻器来实现特定实施所需的上升时间。  

    /INT 引脚应在“x"时“时长内上升到 SoC 的 VIH。 选择一个具有足够强度的上拉电阻器来满足此时序要求。  

    您还可以在电气特性表中选择最大电流:  

    在 VOL = 0.4V 时、INT 引脚可以灌入 3mA 电流。选择一个接近中断引脚最大电流的上拉电阻。  

    此致、

    Tyler