UART/IrDA Functional Description
12-95
UART Devices
12.9.7 Sleep Mode
12.9.7.1
UART Mode
Sleep mode is a low-power, enhanced feature of the UART that can be
enabled by writing a 1 to IER[4] (when EFR[4] = 1).
Sleep mode is entered when:
-
Serial RX data input line is idle.
-
TX FIFO and TX shift register are empty.
-
RX FIFO is empty.
-
No interrupts are pending except THR interrupts.
Sleep mode is a good way to lower UART power consumption, but this state
can be achieved only when the UART is set in modem mode. Therefore, even
if UART does not have a functional key role, it must be initialized in a functional
mode to take advantage of sleep mode.
In sleep mode, the module clock and baud rate clock are stopped internally.
Because most registers are clocked using these clocks, the power consump-
tion is greatly reduced. The module wakes up when any change is detected
on the RX line, when data is written to the TX FIFO, or when there is any
change in the state of the modem input pins. An interrupt can be generated on
a wake up event by setting SCR[4] to 1.
Note:
Writing to the divisor latches, DLL and DLH, to set the baud clock, BCLK,
must not be done during sleep mode. Disable sleep mode using IER[4]
before writing to DLL or DLH.
12.9.7.2
IrDA Mode
In IrDA modes, sleep mode is enabled by writing a 1 to MDR1[3].
Sleep mode is entered when:
-
Serial RXIR data input line is idle.
-
TX FIFO and TX shift register are empty.
-
RX FIFO is empty.
-
No interrupts are pending except THR interrupts.
The module wakes up when any change is detected on the RXIR line, if data
is written to the TX FIFO.