UART/Autobaud Functional Description
12-47
UART Devices
12.5.10
Software Flow Control
Software flow control is enabled through the enhanced feature register (EFR)
and the modem control register (MCR). Different combinations of software
flow control can be enabled by setting different combinations of EFR[3 - 0].
There are two other enhanced features related to software flow control:
-
XON any function [MCR(5)]: Operation resumes after receiving any
character after recognizing the XOFF character. The XON-any character
is written into the RX FIFO even if it is a software flow character.
-
Special character [EFR(5)]: Incoming data is compared to XOFF2. Detec-
tion of the special character sets the XOFF interrupt [IIR(4)] but does not
halt transmission. The XOFF interrupt is cleared by a read of the interrupt
identification register (IIR). The special character is transferred to the RX
FIFO.
12.5.10.1
RX
When software flow control operation is enabled, the UART compares incom-
ing data with XOFF1/2 programmed characters (in certain cases XOFF1 and
XOFF2 must be received sequentially). When the correct XOFF characters
are received, transmission is halted after completing transmission of the
current character. XOFF detection also sets IIR(4) (if enabled via IER(5)) and
causes nIRQ to go low.
To resume transmission, an XON1/2 character must be received (in certain
cases XON1 and XON2 must be received sequentially). When the correct
XON characters are received, IIR(4) is cleared and the XOFF interrupt
disappears.
If a parity, framing, or break error occurs while receiving a software flow control
character, this character is treated as normal data and is written to the RX
FIFO.
When XON-any and special character detect are disabled and software flow
control is enabled, no valid XON or XOFF characters are written to the
RX FIFO. For example, if EFR[1:0] = 10, then received XON1 and XOFF1
characters are not written to the RX FIFO.
When pairs of software flow characters are programmed to be received
sequentially (EFR[1:0] = 11), they are not written to the RX FIFO if they are
received sequentially. However, received XON1/XOFF1 characters must be
written to the RX FIFO if the subsequent character is not XON2/XOFF2.