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.

TIC12400-Q1: INT pin does not pull low

Part Number: TIC12400-Q1
Other Parts Discussed in Thread: TIC12400, MSP430F5438A

Hi team,

Now I'm using TIC12400 + MSP430F5438A to build a demo for customer. But as I'm trying to use INT pin to detect if there is any key being pressed, I find that register  IN_STAT_COMP is right and I can read this register. But the INT pin is always high, and I read the register INT_STAT, it's all 0. So I wonder if there is anything will block or mask the interrupt?

Thank you.

Gary

  • Hi Gary,

    INT pin is an Open drain output and is pulled low (internally) upon change of state on the input or occurrence of a special event

    Are you using an external pull up on the INT pin? What is the size of the resistor you are using?

    The datasheet has a 10k ohm pull up in section 8.3.9.

    Thanks

    Saminah

  • Hi Saminah,

    Yes, I'm using 10 kohm pull-up resistor. The whole design is according to TI recommendation.

    Gary

  • Hi Gary,

    Are you using the TIC12400 EVM? 

    If yes, please check the GUI instructions. The device has the ability to alert the user when Switch State Change (SSC) has occurred. The Channel Configuration sets the conditions that initiate a SSC. If this feature is not selected then the SSC is recorded but the INT pin is not asserted. See details here.

    Also, can you check if the INT is configured as highlighted here.

    Please let me know if this helps resolve the issue.

    Regards

    Saminah

  • Hi Saminah,

    Thank you for your kindly help.

    Now I have another issue. I read the INT_STAT register and it's always 1, which means POR bit is always set. I can read IN_STAT_COMP register so I suppose my read operation is fine. Then I read several times INT_STAT register and it stays at 1, the POR bit just can't be cleared. Any reason will cause this issue?

    Thank you. 

    Gary

  • Hi Gary,

    Are you clearing the INT pin after the first polling cycle is completed?

    Also, on every trigger, read the INT_STAT register again to make sure the interrupt is still de-asserted..

    During device initialization, factory settings are programmed into the device to allow accurate device operation. The device performs a self-check after the device is programmed to ensure correct settings are loaded. If the self-check returns an error, the CHK_FAIL bit in the INT_STAT register will be flagged to logic 1 along with the POR bit. If this event occurs the microcontroller is recommended to initiate software reset (see section Software Reset) to re-initialize the device to allow the correct settings to be re-programmed. (Page 18 off the datasheet).

    Thanks

    Saminah

  • Hi Saminah,

    Yes, I'm clearing the INT pin.

    Now I read the INT_STAT register after trigger, but no matter how many times I read, the POR bit is always set, which causes INT to be pulled low.

    I'm sure my reading operation is correct, but I can't figure out why POR bit can't be cleared. Can you give me some advice?

    Thank you.

    Gary

  • Hi Gary,

    After the initialization process is completed, the INT pin is asserted low to notify the micro, and the register bit POR in the INT_STAT register is asserted to logic 1. 

    Can you confirm you do not see this operation?

     

    What do you read in the CHK_FAIL bit in the INT_STAT register?  Is it also showing "1"?

    if that is the case, please initiate software reset (see page 18 of the datasheet) to re-initialize the device to allow the correct settings to be re-programmed.

    Let me know what you see after the software reset?

    Also can you share your schematic to help with debug?

    Thanks

    Saminah

  • Hi Saminah,

    After the initialization process is completed, the INT pin is asserted low to notify the micro, and the register bit POR in the INT_STAT register is asserted to logic 1. 

    Can you confirm you do not see this operation?

    ---> I did see this operation happens. So I suppose the initialization process is successful.

    What do you read in the CHK_FAIL bit in the INT_STAT register?  Is it also showing "1"?

    ---> No, it's "0".

     

    Also can you share your schematic to help with debug?

    --->Please see the picture below.

     

    Now only issue is: POR bit is still set after I read INT_STAT register, and it's the only bit set in INT_STAT register, which cause INT pin is always pulled low. But I want to use INT pin to notify MCU there is a switch is pushed. So please help me with this.

    Thank you

    Gary


  • Hi

    Are you issuing a READ command to read the INT_STAT register while CS is low, otherwise the INT will be kept low indefinitely

    Are you using Static INT Assertion Scheme or Dynamic?

    Thanks

    Saminah

  • Hi Saminah,

    Below is my answer:

    Are you issuing a READ command to read the INT_STAT register while CS is low, otherwise the INT will be kept low indefinitely

    ---> Yes, otherwise READ command will not work I believe.

    Are you using Static INT Assertion Scheme or Dynamic?

    --->Using static mode.

  • Hi Gary,

    After reading INT_STAT the content should be cleared and /INT pin should be released.

    Can you share the content of actual register writes/reads step-by-step to help debug…I sent you an offline message as well.

    Thanks

    Saminah