SB16C1054PCI_Data Sheet_EN
SB16C1054PCI
PCI Target Interface Controller
with Quad-UART
JULY 2013 REV 1.04
39
12.3.2 Receive Software Flow Control
To make Receive Software Flow Control enabled, EFR[1:0] must be set to 01b, 10b or
11b. When enabled, data in TX FIFO are determined to be transmitted or suspended by
incoming Xon/Xoff characters. If Xon character is received, it means external UART can
accept new data, and data in TX FIFO are transmitted through TXD pin. If Xoff character
is received, it means external UART can not accept more data, and data in TX FIFO are
not transmitted. But data being transmitted by that time are completely transmitted. These
procedures are performed irrespective of FIFO modes. While Receive Software Flow
Control is enabled, you can verify if the RX Software Flow Control status is XON or XOFF
by FSR[0]. If it is 0b, RX Software Flow Control status is XON and it means external
UART can accept new data. If 1b, RX Software Flow Control status is XOFF and it means
external UART can not accept more data and data in TX FIFO are not being transmitted.
If IER[5] is set to 1b, interrupt is generated when Xoff character is received and it is
shown on ISR[5:0]. Interrupts generated by RX Software Flow Control are removed if ISR
is read or Xon character is received.
General problems in using XON/XOFF function and tips for using Xon/Xoff character as
one character are as follows.
■
■
■
When RX Software Flow Control and Auto-CTS are enabled, LSR’s Transmit Empty
Bit and Transmit Holding Empty Bit are not affected even though RX Flow Control
status is XOFF or 1b is inputted on CTS# pin, so data in TX FIFO are suspended.
That is, these two bits are set to 1b if there is space available in TX FIFO.
Xon/Xoff character which generated parity error are treated as normal Xon/Xoff
character.
If Xon and Xoff character are set to same, both characters are treated as Xon
character.
Tips for using Xon/Xoff character as two characters are as follows.
■
■
■
■
■
■
■
If received characters are Xon1, Xon1 and Xon2, RX flow control status becomes
XON and previous Xon1 is ignored.
If received characters are Xoff1, Xoff1 and Xoff2, RX flow control status becomes
XOFF and previous Xoff1 is ignored.
If received characters are repeated as Xon1 Xoff1, Xon1 and Xoff1, there is no effect
in RX flow control status and these characters are not treated as data. But if received
characters are Xon1 Xoff1, Xon1, Xoff1, Xon1 and Xon2, RX flow control status
becomes XON.
If received characters are Xon1 Xoff1, Xon1, Xoff1 and Xoff2, RX flow control status
becomes XOFF.
If Xon1 and Xoff1 characters do not precede Xon2 and Xoff2, Xon2 and Xoff2 are
treated as data and stored in RX FIFO.
If Xon1 is not accompanied with Xon2 or Xoff1 character, it is treated as data and
stored in RX FIFO.
If Xoff1 is not accompanied with Xoff2 or Xon1 character, it is treated as data and
stored in RX FIFO.
As seen before, if received characters are Xon1, Xoff2, Xon2 or Xoff1, Xon2, Xoff2,