SC16C550B All information provided in this document is subject to legal disclaimers. © NXP Semiconductors N.V. 2014. All rights reserved.
Product data sheet Rev. 6 — 16 December 2014 11 of 49
NXP Semiconductors
SC16C550B
5 V, 3.3 V and 2.5 V UART with 16-byte FIFOs
6.3 Autoflow control
Autoflow control is comprised of auto-CTS and auto-RTS (see Figure 6). With auto-CTS,
the CTS
input must be active before the transmitter FIFO can emit data. With auto-RTS,
RTS
becomes active when the receiver needs more data and notifies the sending serial
device. When RTS
is connected to CTS, data transmission does not occur unless the
receiver FIFO has space for the data; thus, overrun errors are eliminated using UART 1
and UART 2 from a SC16C550B with the autoflow control enabled. If not, overrun errors
occur when the transmit data rate exceeds the receiver FIFO read latency.
6.3.1 Auto-RTS
Auto-RTS data flow control originates in the receiver timing and control block (refer to
Figure 1 “
Block diagram of SC16C550B”) and is linked to the programmed receiver FIFO
trigger level (see Figure 6
). When the receiver FIFO level reaches a trigger level of 1, 4,
or 8 (see Figure 8
), RTS is de-asserted. With trigger levels of 1, 4, and 8, the sending
UART may send an additional byte after the trigger level is reached (assuming the
sending UART has another byte to send) because it may not recognize the de-assertion
of RTS
until after it has begun sending the additional byte. RTS is automatically
reasserted once the RX FIFO is emptied by reading the receiver buffer register. When the
trigger level is 14 (see Figure 9
), RTS is de-asserted after the first data bit of the 16th
character is present on the RX line. RTS
is reasserted when the RX FIFO has at least one
available byte space.
6.3.2 Auto-CTS
The transmitter circuitry checks CTS before sending the next data byte (see Figure 6).
When CTS
is active, it sends the next byte. To stop the transmitter from sending the
following byte, CTS
must be released before the middle of the last stop bit that is currently
being sent (see Figure 7
). The auto-CTS function reduces interrupts to the host system.
When flow control is enabled, CTS
level changes do not trigger host interrupts because
the device automatically controls its own transmitter. Without auto-CTS
, the transmitter
sends any data present in the transmit FIFO and a receiver overrun error may result.
Fig 6. Autoflow control (auto-RTS and auto-CTS) example
RX
FIFO
FLOW
CONTROL
TX
FIFO
PARALLEL
TO SERIAL
TX
FIFO
RX
FIFO
UART 1 UART 2
D7 to D0
RX TX
RTS CTS
TX RX
CTS RTS
D7 to D0
002aaa228
SERIAL TO
PARALLEL
SERIAL TO
PARALLEL
FLOW
CONTROL
FLOW
CONTROL
FLOW
CONTROL
PARALLEL
TO SERIAL