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.

[参考译文] TCA9535:INT 引脚未上拉

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/954944/tca9535-int-pin-is-not-pulling-up

器件型号:TCA9535

大家好、

对于我们客户的以下情况、我希望通过  TCA9535的 INT 引脚向您寻求帮助:


所有端口0都在输入中、所有端口1都在输出中。
对于输入端口0、它们具有100k 的外部 R 上拉电阻。
其中一些 R 连接到 TCA9535的同一 VDD (VDD_ON)、其中2个连接到另一个 VDD (使用负载开关 IC 切断)。
起初、VDD 为低电平、INT 引脚正常工作、但当它们打开 VDD 时、INT 引脚不工作、即使输入发生变化也保持低电平。

请告诉我您在上述原理图中的输入。

谢谢、

Jonathan

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

    当输入发生变化时、INT 变为低电平(非高电平)。 如果 INT 保持低电平、则永远不会清除中断、或某些输入不断变化。

    VDD_ON 和 VDD 的值是多少?

    输入 P06是否真的开路?

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

    Jonathan、

    克莱明是正确的。 请注意、INT 引脚具有开漏结构、并且 只能下拉。 它不能上拉。 这 kΩ 了它需要一个外部上拉电阻器(通常约为10k Ω)的原因。

    如果您将 P06保持悬空、器件将不断地将这个悬空输入解释为变化、从而不断导致它触发一个中断。 您应通过上拉电阻器将其连接到电压轨(如果无法实现、也可以将其设置为输出)。

    请注意、引脚名称上方的水平条(如 INT)表示它具有反相逻辑。 在这里、逻辑低电平代表一个中断事件。 当中断被清除时、下拉电阻器被释放。

    最棒的

    Danny

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

    尊敬的 Danny 和 Clemens:

    感谢您对此主题的大力支持。

    在与客户分享您的意见后、我得到了以下答案:

    加电时、VDD_ON = 3.3V 且 VDD = 0V
    INT 在加电时为低电平(它们有一个大约6ms 的小高电平脉冲)。

    它们尝试将 P06输出、这是相同的问题。
    它们在加电时始终具有 INT 低电平。

    请告诉我您的意见。

    此致、

    Jonathan

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

    Jonathan、

    感谢您的跟进!

    当一个中断被清除时、您应该希望它被释放为高电平。 输入引脚的任何变化都会导致 INT 被拉低、直到条件被清除。 TCA9535在任何情况下都不能驱动/锁存 INT 高电平(因此需要外部上拉)。 这就是为什么在 VDD 更改状态后、INT 低电平是预期行为。

    请尝试从输入端口寄存器(寄存器0和寄存器1)读取、因为这会清除中断条件。 只要所有输入引脚在此读取后保持不变、您就应该期望 INT 为高电平。 一旦 P02或任何其他输入 Pxx 改变状态、您应该会看到 INT 再次被器件拉低。

    您是否能够检查并查看客户是否可以重复此情况?

    最棒的

    Danny

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

    尊敬的 Danny:

    在将您的上述信息分享给我们的客户后、我从他们那里得到了以下答案:

    如果在上电时 VDD_ON = VDD =高电平、则工作正常、INT 为高电平、当 P01处于该状态时变为低电平。
    但是、当加电时、VDD_ON =高电平且 VDD =低电平(因此 P00和 P02为低电平)、INT 保持低电平、即使它们读取状态也是如此。
    以下是初始化代码:
    TCA9535_WRITE (I2C0、TCA9535_ADDW、CONFIGUREPORT0、0xBF);// P0 = TOUT en 输入 sauf P0.6 en 输出(flotant)
    TCA9535_WRITE (I2C0、TCA9535_ADDW、CONFIGUREPORT1、0x00);// P1 = TOUT EN 输出
    TCA9535_WRITE (I2C0、TCA9535_ADDW、OUTPORT1、0x00);// P1 = TOUT à 0
    TCA9535_READ (I2C0、TCA9535_ADDR、&port0、INPUTPORT0);//读取 P0

    之后、当 VDD 为低电平时、INT 保持低电平。 他们认为这是因为 P00和 P02为低电平。 是否确定 INT 引脚在边沿发生变化而不是处于某个电平时发生变化?


    此致、

    Jonathan

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

    Jonathan、

    感谢您的澄清、我看到您所描述的内容。 我想帮助弄清楚导致这种行为的原因。

    要直接回答您的问题:是的、中断由输入模式中输入的任何上升沿或下降沿触发、 它会一直持续到端口上的数据更改回原始设置从输入端口寄存器读取数据时(您提供的代码中似乎就是这种情况)。 也就是说、当通过寄存器0读取 P0时、我们应该会看到 INT 信号复位。 我相信我们在这里的同一页上。

    为了帮助弄清发生了什么、我有几个问题:

    • 除了此器件上的 P02之外、VDD 是否为其他任何器件供电?
    • INT 在 VDD = 0期间被下拉时、对寄存器0的多次重复读取是否总是返回相同的数据、或者每次读取时它是否会改变?
    • 是否有任何其他输入引脚连接到高阻抗连接、例如开漏输出或其他 GPIO 引脚?

    此外、如果您希望通过电子邮件继续此对话、您可以通过电子邮件联系我、网址 为 d-bacic@ti.com (也可以通过单击我的 E2E 帐户名称找到)。 任何通信方法对我来说都是完美的。

    最棒的

    Danny