SB16C1058_Data Sheet_EN

SB16C1058
OCTAL UART WITH 256-BYTE FIFO
JULY 2013 REV 1.04
18
1 now, RTS# is not changed to 0 until the amount in RX FIFO equals the value written
in FLR.
The value of FUR and FLR is determined by FIFO mode. If FCR[7:6] holds 00’, ’01’, 10,
and 11, FUR stores 8, 16, 56, and 60, respectively. And if FCR[5:4] holds 00’, ’01’, 10,
and 11, FLR stores 0, 8, 16, and 56, respectively in 64-byte FIFO. In 256-byte FIFO
mode, users can write FUR and FLR values as they want and use them. But the value of
FUR must be larger than that of FLR. While Auto-RTS is enabled, you can verify if RTS#
is 0 or 1 by FSR[5]. If FSR[5] is 0, RTS# is 0 and if 1, NRTS is 1, too.
When IER[6] is set to ‘1 and NRTS is changed from 0 to 1 by Auto-RTS function,
interrupt occurs and it is displayed on ISR[5:0]. Interrupts by Auto-RTS function are
removed if MSR is read. NRTS is changed from 0 to 1 after the first STOP bit is
received. Figure 4 shows the NRTS timing chart while Auto-RTS is enabled.
In Figure 4, Data Byte n-1 is received and RTS# is deasserted when the amount of data
in RX FIFO is larger than the value written in FUR. UART completes transmitting new
data (DATA BYTE n) which has started being transmitted even though external UART
recognizes RTS# has been deasserted. After that, the device stops transmitting more
data. If CPU reads data of RX FIFO, the value of RCR decreases and then if that value
equals that of FLR, RTS# is asserted for external UART to transmit new data.
Figure 4: RTS# Functional Timing
6.4.2 Auto-CTS
Setting EFR[7] to 1 enables Auto-RTS. If enabled, data in TX FIFO are determined to be
transmitted or suspended by the value of NCTS. If 0, it means external UART can
receive new data and data in TX FIFO are transmitted through TXD pin. If 1, it means
external UART can not accept more data and data in TX FIFO are not transmitted. But
data being transmitted by then complete transmission. These procedures are performed
irrespective of FIFO modes. While Auto-CTS is enabled, you can verify the input value of
CTS# by FSR[1]. If 0, CTS# is 0 and it means external UART can accept new data,
If 1, CTS# is 1 and it means external UART can not accept more data and data in TX
FIFO are not being transmitted. If IER[7] is set to 1, interrupt is generated by Auto-CTS
when the input of CTS# is changed from 0 to 1, and it is shown on ISR[5:0]. Interrupts
generated by Auto-CTS are removed if MSR is read.
START
IOR#
DATA BYTE n-1 STOP START DATA BYTE n STOP
DATA BYTE 1 DATA BYTE 2 DATA BYTE n
START
FUR + 0 FUR -0FUR + 1 FUR - 0FUR - 1 FLR + 1 FLR + 0
RXD
RTS#