FIGURE 10. RECEIVER OPERATION IN FIFO AND AUTO RTS FLOW CONTROL MODE
Receive Data Shift
Register (RSR)
RXFIFO1
16X or 8X or 4X Clock
( DLD[5:4] )
Error
Ta
gs
(64
-s
et
s)
Err
or
Tag
sin
LS
R
b
its
4:
2
Receive Data Characters
FIFO
Trigger=16
Example
: - RX FIFO trigger level selected at 16 bytes
(See Note Below)
Data fills to
Halt Level
Data falls to
Resume Level
Data Bit
Validation
Receive
Data FIFO
Receive
Data
Receive Data
Byte and Errors
RHR Interrupt (ISR bit-2) programmed for
desired FIFO trigger level.
FIFO is Enabled by FCR bit-0=1
RTS# de-asserts when data fills to the Halt Level
to suspend remote transmitter.
Enable by EFR bit-6=1, MCR bit-1.
RTS# re-asserts when data falls to the Resume
Level to restart remote transmitter.
Enable by EFR bit-6=1, MCR bit-1.
64 bytes by 11-bit wide
FIFO
XR16M752/XR68M752
18
HIGH PERFORMANCE DUART WITH 64-BYTE FIFO
REV. 1.1.1
2.11
Auto RTS (Hardware) Flow Control
Automatic RTS hardware flow control is used to prevent data overrun to the local receiver FIFO. The RTS#
output is used to request remote unit to suspend/resume data transmission. The auto RTS flow control
features is enabled to fit specific application requirement (see Figure 11):
Enable auto RTS flow control using EFR bit-6.
The auto RTS function must be started by asserting RTS# output pin (MCR bit-1 to logic 1 after it is enabled).
If using the Auto RTS interrupt:
Enable RTS interrupt through IER bit-6 (after setting EFR bit-4). The UART issues an interrupt when the
RTS# pin makes a transition from low to high: ISR bit-5 will be set to logic 1.
2.12
Auto RTS Halt and Resume
The RTS# pin will not be forced HIGH (RTS off) until the receive FIFO reaches the Halt Level (TCR[3:0]). The
RTS# pin will return LOW after the RX FIFO is unloaded to the Resume Level (TCR[7:4]). Under these
conditions, the M752 will continue to accept data if the remote UART continues to transmit data. It is the
responsibility of the user to ensure that the Halt Level is greater than the Resume Level. If interrupts are used,
it is recommended that Halt Level > RX Trigger Level > Resume Level. The Auto RTS function is initiated
when the RTS# output pin is asserted LOW (RTS On).
2.13
Auto RS485 Half-duplex Control
The auto RS485 half-duplex direction control changes the behavior of the transmitter when enabled by DLD
bit-6. When idle, the auto RS485 half-duplex direction control signal (RTS#) is LOW for receive mode. When
data is loaded into the THR for transmission, the RTS# output is automatically asserted HIGH prior to sending
the data. After the last stop bit of the last character that has been transmitted, the RTS# signal is automatically
de-asserted. This helps in turning around the transceiver to receive the remote station’s response. When the
host is ready to transmit next polling data packet, it only has to load data bytes to the transmit FIFO. The
transmitter automatically re-asserts RTS# (HIGH) output prior to sending the data. In addition to changing the
behavior of the RTS# output, this feature also changes the behavior of the transmit empty interrupt (see
Table 4). In the 49-pin STBGA package, this feature can be enabled by connecting the EN485# pin to GND. If
this feature is enabled by the EN485# pin, it can be disabled by DLD bit-6 after power-up.