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.

WAKE pin as GPIO

When my TM4C129X goes to hibernation, I shut down VDD via an enable pin on the 3V3 switcher that is plugged to the HIB_N pin.

I have a push button switch that toggles WAKE_N to ground, hence awakening the part from hibernation. Up to this point everything is as it should.

Now I want to use that same pushbutton to put the part into hibernation again. I searched the datasheet but couldn't find out how to set the WAKE_N pin as GPIO input. Is that really not possible?

I thought about connecting the pushbutton to a GPIO pin in addition to WAKE_N, but I'm not sure it would work, since WAKE_N is pulled high by VBAT and VDD is 0V during hibernation.

Any suggestions?

  • Hello Paulo

    The WAKE_N is a dedicated pin for hibernate so you cannot configure it as a GPIO. You can re wire the WAKE_N pin to be connected to a GPIO even in VDD3OFF Mode when VDD is 0V. The WAKE Pin is on VBAT supply and will sink current to the device (but not enough to power it). The other alternative would be to use VDD3ON Mode. The current would be higher than the VDD3OFF but still in 10-20 uA range.

    Regards
    Amit
  • Just a note here in case anyone else has same issue.
    If you parallel a GPIO pin to the WAKE pin this will not work in VDD3OFF mode.
    What will happen is that when you go into hibernate the GPIO pin will switch off and pull the WAKE_N pin low, immediately waking you from hibernate mode. I tried this using PK4 which is one of the GPIO pins which can be configured as a wake source on the TMS4C129ENCPDT processor.

    I was trying to do the same thing Paulo has mentioned, using single ON/OFF switch into the TMS4C129ENCPDT.
    This works to a point.
    You can detect the press of the WAKE pin while the processor is in run mode by reading the HIB_RIS register and checking HIB_RIS_EXTW.
    However, it seems this is only an edge detection rather than level detection so you cannot detect when the button is released and it is safe to enter hibernation. If you enter hibernation while the WAKE_N pin is low you will immediately be woken.

    Regards
    Barry
  • Hello Barry,

    I think that has been the crux of my last post as well.

    Regards
    Amit