USART Configure the USART for wake-up

The USART can wake up the system from sleep mode in asynchronous or synchronous mode on any enabled USART interrupt.

If the USART is configured for synchronous slave mode, the USART block can create an interrupt on a received signal even when the USART block receives no clocks from the ARM Cortex-M0+ core - that is in Deep-sleep or Power-down mode.

As long as the USART receives a clock signal from the master, it can receive up to one byte in the RXDAT register while in Deep-sleep or Power-down mode. Any interrupt raised as part of the receive data process can then wake up the part.

USART Wake-up from Sleep mode

USART Wake-up from Deep-sleep or Power-down mode

  • Configure the USART in synchronous slave mode. See USART registerName = CFG addressOffset = 0x000. You must connect the SCLK function to a pin and connect the pin to the master.
  • Enable the USART interrupt in the STARTERP1 register. See SYSCON registerName = STARTERP1 addressOffset = 0x214.
  • Enable the USART interrupt in the NVIC.
  • In the PDAWAKE register, configure all peripherals that need to be running when the part wakes up.
  • The USART wakes up the part from Deep-sleep or Power-down mode on all events that cause an interrupt and areal so enabled in the INTENSET register. Typical wake-up events are:
    • A start bit has been received.
    • The RXDAT buffer has received a byte.
    • Data is ready to be transmitted in the TXDAT buffer and a serial clock from the master has been received.
    • A change in the state of the CTS pin if the CTS function is connected.
    • Note: By enabling or disabling the interrupt in the INTENSET register (USART registerName = INTENSET addressOffset = 0x00C), you can customize when the wake-up occurs in the USART receive/transmit protocol.