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.

TPS65987D: Using the I2C_IRQ pin on my PD Controller

Part Number: TPS65987D
Other Parts Discussed in Thread: MSP430FR2311,

Hi erveryone,

I am currently trying to use a MSP430FR2311 to control my TPS65987D USB PD controller. My goal is to trigger an interrupt on my MSP430 using the I2C_IRQ1 pin on the TPS65987D. In my Interrupt routine I want to read several registers on my TPS65987D to check what happened on my controller. Unfortunately I cannot read anything on my I2C when the IRQ pin goes low. It seems like every time my IRQ pin is low, I cannot use the I2C anymore. When I am using I2C without using the IRQ pin (IRQ high), everything is working fine, I manage to read all my registers.

Do you why I have this problem? How the IRQ pin is supposed to work?

Thanks in advance for your help,

Best Regards,

Foucauld

  • Hi Foucauld,

    The interrupt pin on the TPS65987D does not disable the I2C communication. Using the TPS65987EVM and the included FTDI, I cannot reproduce this issue. It could be something on the MSP430 side of your system that is causing this behavior.

    Thank you,
    Eric
  •  Hi Eric,

    Thanks for your response. Unfortunately my problem seems to be persistent. Every time my IRQ pin is set low by the TPS65987D, it stays low and I cannot use the I2C. You can find attached what is going on my I2C SCL and SDA when an interrupt is triggered by the IRQ pin (here I tried to read a register in my ISR), maybe it will give you an idea on what is going wrong. Thanks in advance,

    Foucauld

  • Hi Foucauld,

    I cannot duplicate this behavior on my EVM and have not seen this from other customers either. I would suggest trying to change the MSP code that handles the IRQ line going low. It seems to have some effect on the I2C bus behavior.
    The TPS65987D does not change its I2C behavior when an interrupt is triggered. It most certainly does not hold the I2C line when an interrupt is seen.

    Thanks,
    Eric