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: TIC12400-Q1:

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

Tool/software:

Q1: How to set into polling mode?  When we set the CONFIG Register -->  POLL_EN=1,  but the IC still in continuous mode.

      Could you provide the complete polling mode setup process?

Q2: When we use TIC12400-Q1 to wake up the MCU from IN0 or other PINs interrupt, Can I find out which PIN triggered the wake-up?

       Please provide detailed setup steps.

Thanks,

Jerry

  • Jerry,

    Thanks for bringing this to E2E. Your question has been assigned to an expert, but please be aware of US holidays, so there will be a delay in response.

    Regards,

    Eric Hackett 

  • Hi Jerry,

    Did you see this document on the device webpage? I believe it will cover what you are looking for.

    Steps to Configure TIC12400-Q1 Multiple Switch Detection Interface (MSDI)

    Please read through this and reach out with any other questions.

    Thank you,

    Amy

  • Hi Amy,

    Thanks for your quickly reply!

    I got this document and used to init the TIC12400 to get all PIN's status.

    But I can't find the "Q2: When we use TIC12400-Q1 to wake up the MCU from IN0 or other PINs interrupt, Can I find out which PIN triggered the wake-up?" in this document, could you please let me know in which chapter it is provided in the document? Or is there any other related document or information you can provide?”

    Thanks,

    Jerry

  • Hi Jerry,

    The SSC bit 3 of the INT_STAT register is set when the input signal changes states. This indicates that an input threshold crossing occurred from any of the switch inputs IN0-IN23. The MCU can then read the value of the input signal within the most recent polling cycle. However, it must be within the time frame that the input signal cause the wake-up event, and the MCU can determine that the input signal is not at the original value and must have been the reason it was woke up. 

    There are no latch registers in the device that hold this information. The only way to know which INx pin caused the wake-up event, the register must be read quickly. 

    Please let me know if you have any other questions. 

    Thank you, Amy

  • Hi Amy,

    Thank you for your response. We have a general understanding of your description. Additionally, in relation to your reply, we would like to further inquire: The current requirement seems to be for the MCU to enter sleep mode and be woken up by changes in the TIC12400 inputs IN0-IN23 (while also knowing which pin triggered the wake-up).Therefore, I want to confirm that in the MCU sleep mode, it should not be possible to read the input signal values as you previously mentioned. Can the MCU still read these values after waking up? Or is there another way to achieve this functional requirement?

    Thanks,

    Jerry

  • Hi Jerry,

    Please refer to section 8.3.9.3 Microcontroller Wake-Up in the datasheet. The MCU should be able to read the values once it is woken up.

    Thank you, Amy

  • Hi Amy,

    Regarding the section 8.3.9.3 you mentioned, we have successfully tested using IN0 or IN4 to wake up the MCU and have read SSC=1 of the INT_STAT register. However, after the MCU wakes up, we were unable to determine whether IN0 or IN4 triggered the wake-up from the register values I read (I checked the THRES_COMP Register, INT_EN_COMP1, and INT_EN_COMP2 registers). Could there be an error in my process, or should I be reading different registers?

    Thanks,

    Jerry

  • Hello Jerry,

    Amy is out on Holiday, so I can help address your questions.

    After receiving the SSC=1 interrupt bit in the Interrupt Status Register (INT_STAT), you will need to read either the Comparator Status Register (IN_STAT_COMP) or the ADC Status Registers (IN_STAT_ADC0 and IN_STAT_ADC1) to determine the values of the INx pin states depending on whether you are using the comparator or ADC to monitor the INx pins.  It's possible to use a combination of both with some INx pins using the comparator, and other INx pins using the ADC.

    In theory the MCU will know the "default" state of the INx pins to use as a reference when comparing the returned value from the IN_STAT_COMP or IN_STAT_ADC0/1 registers. 

    As Amy mentioned the IN_STAT_COMP and IN_STAT_ADC0/1 registers are not "latched" so as long as the MCU wakes up and reads these registers before the INx pin has changed back to the previous state and a new polling cycle has replaced the register values, the MCU should be able to determine which INx pin caused the wake up event.

    Regards,

    Jonathan