UART/Autobaud Functional Description
12-46
12.5.9 Hardware Flow Control
Hardware flow control is composed of automatic RTS and automatic CTS.
Both can be enabled/disabled independently by programming EFR[7:6]. With
automatic CTS, CTS must be active before the module can transmit data.
Automatic RTS only activates the RTS output when there is enough room in
the FIFO to receive data, and it deactivates the RTS output when the RX FIFO
is sufficiently full. The HALT and RESTORE trigger levels in the TCR
determine the levels at which RTS is activated/deactivated.
If both automatic CTS and automatic RTS are enabled, data transmission
does not occur unless the receiver FIFO has empty space. Thus, overrun
errors are eliminated during hardware flow control. If not enabled, overrun
errors occur if the transmit data rate exceeds the receive FIFO latency.
-
Automatic RTS
Automatic RTS data flow control originates in the receiver block (see
Figure 12–8). The receiver FIFO trigger levels used in automatic RTS are
stored in the TCR. RTS is active if the RX FIFO level is below the HALT
trigger level in TCR[3:0]. When the receiver FIFO HALT trigger level is
reached, RTS is deasserted. The sending device (for example, another
UART) may send an additional byte after the trigger level is reached
because it may not recognize the deassertion of RTS until it has begun
sending the additional byte. RTS is automatically reasserted once the
receiver FIFO reaches the RESUME trigger level programmed via
TCR(7:4). This reassertion requests the sending device to resume trans-
mission.
-
Automatic CTS
The transmitter circuitry checks CTS before sending the next data byte.
When CTS is active, the transmitter sends the next byte. To stop the trans-
mitter from sending the following byte, CTS must be deasserted before the
middle of the last stop bit that is currently being sent. The automatic CTS
function reduces interrupts to the host system. When automatic CTS flow
control is enabled, the CTS state changes need not trigger host interrupts
because the device automatically controls its own transmitter. Without
automatic CTS, the transmitter sends any data present in the transmit
FIFO and a receiver overrun error can result.