Documente Academic
Documente Profesional
Documente Cultură
EXAR Corporation 48720 Kato Road, Fremont CA, 94538 • (510) 668-7000 • FAX (510) 668-7017 • www.exar.com • uarttechsupport@exar.com
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
HDCNTL#
TXRDYA#
DSRA#
CTSA#
CDA#
RIA#
VCC
D4
D3
D2
D1
D0
48
40
45
43
42
41
38
37
47
46
44
39
D5 1 36 RESET
D6 2 35 DTRB#
D7 3 34 DTRA#
RXB 4 33 RTSA#
RXA 5 32 OP2A#
XR16C2850
TXRDYB# 6 31 RXRDYA#
48-pin TQFP
TXA 7 30 INTA
TXB 8 29 INTB
A0 D0 1 40 VCC
OP2B# 9 28
CSA# 10 27 A1 D1 2 39 RIA#
CSB# 11 26 A2 D2 3 38 CDA#
NC 12 25 CLKSEL D3 4 37 DSRA#
D4 5 36 CTSA#
15
19
13
18
20
22
23
16
21
14
17
24
D5 6 35 RESET
RXRDYB#
CLK8/16
RTSB#
CTSB#
XTAL2
DSRB#
XTAL1
CDB#
GND
RIB#
IOW#
IOR#
D6 7 34 DTRB#
D7 8 33 DTRA#
RXB 9 32 RTSA#
XR16C2850
40-pin PDIP
TXRDYA#
RXA 10 31 OP2A#
DSRA#
CTSA#
CDA#
RIA#
VCC
TXA 11 30 INTA
D4
D3
D2
D1
D0
TXB 12 29 INTB
44
43
42
41
40
6
OP2B# 13 28 A0
D5 7 39 RESET
CSA# 14 27 A1
D6 8 38 DTRB#
D7 9 37 DTRA# CSB# 15 26 A2
CSA# 16 30 A1
CSB# 17 29 A2
XTAL1 18
XTAL2 19
IOW# 20
CDB# 21
GND 22
RXRDYB# 23
IOR# 24
DSRB# 25
RIB# 26
RTSB# 27
CTSB# 28
ORDERING INFORMATION
2
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
PIN DESCRIPTIONS
3
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
4
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
VCC 40 44 42 Pwr 3.3V or 5V power supply. Please note that the inputs are
not 5V tolerant when operating at 3.3V.
N.C. none none 12 No Connection. These pins are open, but typically, should
be connected to GND for good design practice.
5
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
1.0 PRODUCT DESCRIPTION tion, the programmable FIFO level trigger interrupt
The XR16C2850 (2850) integrates the functions of 2 and automatic hardware/software flow control is
enhanced 16C550 Universal Asynchrounous Receiv- uniquely provided for maximum data throughput per-
er and Transmitter (UART). Each UART is indepen- formance especially when operating in a multi-chan-
dently controlled having its own set of device configu- nel system. The combination of the above greatly re-
ration registers. The configuration registers set is duces the CPU’s bandwidth requirement, increases
16550 UART compatible for control, status and data performance, and reduces power consumption.
transfer. Additionally, each UART channel has 128- The 2850 supports a half-duplex output direction con-
bytes of transmit and receive FIFOs, automatic RTS/ trol signaling pin, RTS# A/B, to enable and disable
CTS hardware flow control with hysteresis control, the external RS-485 transceiver operation. It auto-
automatic Xon/Xoff and special character software matically switches the logic state of the output pin to
flow control, programmable transmit and receive the receive state after the last stop-bit of the last char-
FIFO trigger levels, FIFO level counters, infrared en- acter has been shifted out of the transmitter. After re-
coder and decoder (IrDA ver 1.0), programmable ceiving, the logic state of the output pin switches back
baud rate generator with a prescaler of divide by 1 or to the transmit state when a data byte is loaded in the
4, and data rate up to 6.25 Mbps with 8X sampling transmitter. The auto RS-485 direction control pin is
clock rate or 3.125Mbps in the 16X rate. The not activated after reset. To activate the direction con-
XR16C2850 is a 5V and 3.3V device. The 2850 is trol function, user has to set FCTR Bit-3 to “1”. This
fabricated with an advanced CMOS process. pin is normally high for receive state, low for transmit
Enhanced Features state.
The 2850 DUART provides a solution that supports Data Rate
128 bytes of transmit and receive FIFO memory, in- The 2850 is capable of operation up to 3.125Mbps at
stead of 64 bytes provided in the XR16L2750 and 16 5V with 16x internal sampling clock rate, and
bytes in the ST16C2550, or one byte in the 6.25Mbps at 5V with 8x sampling clock rate (available
ST16C2450. The 2850 is designed to work with high only on the 48-pin package). The device can operate
performance data communication systems, that re- with an external 24 MHz crystal on pins XTAL1 and
quire fast data processing time. Increased perfor- XTAL2, or external clock source of up to 50 MHz on
mance is realized in the 2850 by the larger transmit XTAL1 pin. With a typical crystal of 14.7464 MHz and
and receive FIFOs, FIFO trigger level control, FIFO through a software option, the user can set the pres-
level counters and automatic flow control mecha- caler bit for data rates of up to 1.84Mbps.
nism. This allows the external processor to handle The rich feature set of the 2850 is available through
more networking tasks within a given time. For exam- the internal registers. Automatic hardware/software
ple, the ST16C2550 with a 16 byte FIFO, unloads 16 flow control, selectable transmit and receive FIFO
bytes of receive data in 1.53 ms (This example uses a trigger levels, selectable TX and RX baud rates, infra-
character length of 11 bits, including start/stop bits at red encoder/decoder interface, modem interface con-
115.2Kbps). This means the external CPU will have trols, and a sleep mode are all standard features.
to service the receive FIFO at 1.53 ms intervals. How-
Following a power on reset or an external reset, the
ever with the 128 byte FIFO in the 2850, the data
2850 is software compatible with previous generation
buffer will not require unloading/loading for 12.2 ms.
of UARTs, 16C450, 16C550 and 16C650Aas well as
This increases the service interval giving the external
the 16C850.
CPU additional time for other applications and reduc-
ing the overall UART interrupt servicing time. In addi-
6
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
VCC VCC
D0 D0
D1 D1 TXA
D2 D2
D3 D3 RXA
D4 D4 DTRA#
D5 D5
D6 D6 UART
RTSA# Serial Interface of
D7 D7 CTSA#
Channel A RS-232, RS-485
A0 A0 DSRA#
A1 A1 CDA#
A2 A2 RIA#
OP2A#
IOR# IOR#
IOW# IOW#
TXB
UART_CSA# CSA#
RXB
UART_CSB# CSB#
DTRB#
UART_INTA INTA RTSB#
UART
UART_INTB INTB Channel B CTSB#
Serial Interface of RS-
232, RS-485
DSRB#
TXRDYA# TXRDYA#
CDB#
RXRDYA# RXRDYA#
RIB#
TXRDYB# TXRDYB# OP2B#
RXRDYB# RXRDYB#
2750int
7
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
FCR BIT-0=0
PINS FCR BIT-0=1 (FIFO ENABLED)
(FIFO DISABLED)
FCR Bit-3 = 0 FCR Bit-3 = 1
(DMA Mode Disabled) (DMA Mode Enabled)
RXRDY# A/B 0 = 1 byte. 0 = at least 1 byte in FIFO 1 to 0 transition when FIFO reaches the trigger
1 = no data. 1 = FIFO empty. level, or timeout occurs.
0 to 1 transition when FIFO empties.
TXRDY# A/B 0 = THR empty. 0 = FIFO empty. 0 = FIFO has at least 1 empty location.
1 = byte in THR. 1 = at least 1 byte in FIFO.
1 = FIFO is full.
2.7 INTA AND INTB OUPUTS tures setup. Table 3 and 4 summarize the operating
The INTA and INTB interrupt output output changes behavior for the transmitter and receiver. Also see
according to the operating mode and enahnced fea- Figures 18 through 23.
8
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
gnd
VCC
R1
XTAL1 XTAL2
2K
R1 XTAL2
0-120 Ω
(Optional)
R2
500 ΚΩ − 1 Μ Ω
1.8432 MHz
Y1
to
24 MHz
Each UART also has their own prescaler along with
C1 C2
the BRG. The prescaler is controlled by CLKSEL
22-47 pF 22-47 pF
hardware pin or a software bit in the MCR register.
The MCR register bit-7 sets the prescaler to divide
the input crystal or external clock by 1 or 4 and can
override the CLKSEL pin following reset. The clock
The on-chip oscillator is designed to use an industry
output of the prescaler goes to the BRG. The BRG
standard microprocessor crystal (parallel resonant,
further divides this clock by a programmable divisor
fundamental frequency with 10-22 pF capacitance
load, ESR of 20-80 ohms and 100ppm frequency tol- between 1 and (216 -1) to obtain a 16X sampling rate
erance) connected externally between the XTAL1 and clock of the serial data rate. The sampling rate clock
XTAL2 pins (see Figure 4). Alternatively, an external is used by the transmitter for data bit shifting and re-
clock can be connected to the XTAL1 pin to clock the ceiver for data sampling.
internal baud rate generator for standard or custom
9
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
D L L an d D L M
R e g iste rs
P re s ca le r M C R B it-7 = 0
D iv id e b y 1 (d e fa ult)
16X
X T A L1 C ry s ta l B a u d R a te S a m plin g
O sc/ G e n era to r R a te C lo c k to
X T A L2
B u ffer L o g ic T ra n sm itte r
P re s ca le r
D iv id e b y 4 M C R B it-7 = 1
Programming the Baud Rate Generator Registers clock is typically used. However, user can select the
DLM and DLL provides the capability of selecting the 8X sampling clock rate mode to double the operating
operating data rate. Table 5 shows the standard data data rate. When using a non-standard data rate crys-
rates available with a 14.7456 MHz crystal or external tal or external clock, the divisor value can be calculat-
clock at 16X sampling rate clock rate. A 16X sampling ed for DLL/DLM with the following equation.
divisor (decimal) = (XTAL1 clock frequency / prescaler) / (serial data rate x 16), with CLK8/16 pin = 1
divisor (decimal) = (XTAL1 clock frequency / prescaler) / (serial data rate x 8), with CLK8/16 pin = 0
TABLE 5: TYPICAL DATA RATES WITH A 14.7456 MHZ CRYSTAL OR EXTERNAL CLOCK
2400 9600 96 60 00 60 0
4800 19.2k 48 30 00 30 0
9600 38.4k 24 18 00 18 0
19.2k 76.8k 12 0C 00 0C 0
38.4k 153.6k 6 06 00 06 0
57.6k 230.4k 4 04 00 04 0
115.2k 460.8k 2 02 00 02 0
230.4k 921.6k 1 01 00 01 0
10
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
2.10 TRANSMITTER into a serial data stream including start-bit, data bits,
The transmitter section comprises of an 8-bit Transmit parity-bit and stop-bit(s). The least-significant-bit (Bit-
Shift Register (TSR) and 128 bytes of FIFO which in- 0) becomes first data bit to go out. The THR is the in-
cludes a byte-wide Transmit Holding Register (THR). put register to the transmit FIFO of 128 bytes when
TSR shifts out every data bit with the 16X/8X internal FIFO operation is enabled by FCR bit-0. Every time a
clock. A bit time is 16 (8) clock periods (see CLK8/16 write operation is made to the THR, the FIFO data
pin description). The transmitter sends the start-bit pointer is automatically bumped to the next sequential
followed by the number of data bits, inserts the proper data location.
parity-bit if enabled, and adds the stop-bit(s). The sta- 2.10.2 Transmitter Operation in non-FIFO Mode
tus of the FIFO and TSR are reported in the Line Sta- The host loads transmit data to THR one character at
tus Register (LSR bit-5 and bit-6). a time. The THR empty flag (LSR bit-5) is set when
2.10.1 Transmit Holding Register (THR) - Write the data byte is transferred to TSR. THR flag can
Only generate a transmit empty interrupt (ISR bit-1) when
The transmit holding register is an 8-bit register pro- it is enabled by IER bit-1. The TSR flag (LSR bit-6) is
viding a data interface to the host processor. The host set when TSR becomes completely empty.
writes transmit data byte to the THR to be converted
FIGURE 7. TRANSMITTER OPERATION IN NON-FIFO MODE
Data Transmit
Byte Holding
Register
(THR) THR Interrupt (ISR bit-1)
Enabled by IER bit-1
16X or 8X
Clock
(EMSR Bit-7) M L
Transmit Shift Register (TSR) S S
B B
TXNOFIFO1
2.10.3 Transmitter Operation in FIFO Mode 1) when the amount of data in the FIFO falls below its
The host may fill the transmit FIFO with up to 128 programmed trigger level. The transmit empty inter-
bytes of transmit data. The THR empty flag (LSR bit- rupt is enabled by IER bit-1. The TSR flag (LSR bit-6)
5) is set whenever the FIFO is empty. The THR empty is set when TSR/FIFO becomes empty.
flag can generate a transmit empty interrupt (ISR bit-
FIGURE 8. TRANSMITTER OPERATION IN FIFO AND FLOW CONTROL MODE
Transmit Transmit
Data Byte FIFO THR Interrupt (ISR bit-1) falls
below the programmed Trigger
Level and then when becomes
empty. FIFO is Enabled by FCR
bit-0=1
Auto CTS Flow Control (CTS# pin)
Flow Control Characters
(Xoff1/2 and Xon1/2 Reg.
16X or 8X
Clock Transmit Data Shift Register
(TSR)
T XF IF O 1
11
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
2.11 RECEIVER or delay until it reaches the FIFO trigger level. Fur-
The receiver section contains an 8-bit Receive Shift thermore, data delivery to the host is guaranteed by a
Register (RSR) and 128 bytes of FIFO which includes receive data ready time-out interrupt when data is not
a byte-wide Receive Holding Register (RHR). The received for 4 word lengths as defined by LCR[1:0]
RSR uses the 16X/8X clock (CLK8/16 pin) for timing. plus 12 bits time. This is equivalent to 3.7-4.6 charac-
It verifies and validates every bit on the incoming ter times. The RHR interrupt is enabled by IER bit-0.
character in the middle of each data bit. On the falling 2.11.1 Receive Holding Register (RHR) - Read-
edge of a start or false start bit, an internal receiver Only
counter starts counting at the 16X/8X clock rate. After The Receive Holding Register is an 8-bit register that
8 clocks (or 4 if 8X) the start bit period should be at holds a receive data byte from the Receive Shift Reg-
the center of the start bit. At this time the start bit is ister. It provides the receive data interface to the host
sampled and if it is still a logic 0 it is validated. Evalu- processor. The RHR register is part of the receive
ating the start bit in this manner prevents the receiver FIFO of 128 bytes by 11-bits wide, the 3 extra bits are
from assembling a false character. The rest of the da- for the 3 error tags to be reported in LSR register.
ta bits and stop bits are sampled and validated in this When the FIFO is enabled by FCR bit-0, the RHR
same manner to prevent false framing. If there were contains the first data character received by the FIFO.
any error(s), they are reported in the LSR register bits After the RHR is read, the next character byte is load-
2-4. Upon unloading the receive data byte from RHR, ed into the RHR and the errors associated with the
the receive FIFO pointer is bumped and the error tags current data byte are immediately updated in the LSR
are immediately updated to reflect the status of the bits 2-4.
data byte in RHR register. RHR can generate a re-
ceive data ready interrupt upon receiving a character
16X or 8X
Clock
Receive Data Shift Data Bit
Register (RSR) Validation Receive Data Characters
Error
Receive Receive Data
Tags in
Data Byte Holding Register RHR Interrupt (ISR bit-2)
LSR bits
and Errors (RHR)
4:2
RXFIFO1
12
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
FIGURE 10. RECEIVER OPERATION IN FIFO AND AUTO RTS FLOW CONTROL MODE
16X or 8X
Clock
Receive Data Shift Data Bit
Register (RSR) Validation Receive Data Characters
Example:
- RX FIFO trigger level selected at 16 bytes
128 bytes by 11-bit (See Note Below)
wide FIFO RTS# re-asserts when data falls below the flow
Data falls to 8
control trigger level to restart remote transmitter.
Enable by EFR bit-6=1, MCR bit-1.
(128-sets)
Error Tags
Receive
Data FIFO FIFO Trigger=16 RHR Interrupt (ISR bit-2) programmed for
desired FIFO trigger level.
FIFO is Enabled by FCR bit-0=1
Data fills to 24 RTS# de-asserts when data fills above the flow
control trigger level to suspend remote transmitter.
Error Tags in
LSR bits 4:2
RXFIFO1
NOTE: Table-B selected as Trigger Table for Figure 10 (Table 10 FIFO is unloaded to the lower limit of the hysteresis
on page 23). level. Under the above described conditions, the
2.12 AUTO RTS (HARDWARE) FLOW CONTROL 2850 will continue to accept data until the receive
Automatic RTS hardware flow control is used to pre- FIFO gets full. The Auto RTS function is initiated
vent data overrun to the local receiver FIFO. The when the RTS# output pin is asserted to a logic 0
RTS# output is used to request remote unit to sus- (RTS On). Table 13 shows the complete details for
pend/resume data transmission. The auto RTS flow the Auto RTS# Hysteresis levels. Please note that
control features is enabled to fit specific application this table is for programmable trigger levels only (Ta-
requirement (see Figure 11): ble D). The hysteresis values for Tables A-C are the
• Enable auto RTS flow control using EFR bit-6. next higher and next lower trigger levels in the corre-
sponding table.
• The auto RTS function must be started by asserting
RTS# output pin (MCR bit-1 to logic 1 after it is 2.14 AUTO CTS FLOW CONTROL
enabled). Automatic CTS flow control is used to prevent data
overrun to the remote receiver FIFO. The CTS# input
• Enable RTS interrupt through IER bit-6 (after set-
is monitored to suspend/restart the local transmitter.
ting EFR bit-4). The UART issues an interrupt when
The auto CTS flow control feature is selected to fit
the RTS# pin makes a transition from low to high:
specific application requirement (see Figure 11):
ISR bit-5 will be set to logic 1.
• Enable auto CTS flow control using EFR bit-7.
2.13 AUTO RTS HYSTERESIS
• - Enable CTS interrupt through IER bit-7 (after set-
The 2850 has a new feature that provides flow control
ting EFR bit-4). The UART issues an interrupt when
trigger hysteresis while maintaining compatibility with
the CTS# pin is de-asserted (logic 1): ISR bit-5 will
the XR16C850, ST16C650A and ST16C550 family of
be set to 1, and UART will suspend transmission as
UARTs. With the Auto RTS function enabled, an in-
soon as the stop bit of the character in process is
terrupt is generated when the receive FIFO reaches
shifted out. Transmission is resumed after the
the programmed RX trigger level. The RTS# pin will
not be forced to a logic 1 (RTS off), until the receive CTS# input is re-asserted (logic 0), indicating more
FIFO reaches the upper limit of the hysteresis level. data may be sent.
The RTS# pin will return to a logic 0 after the RX
13
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
The local UART (UARTA) starts data transfer by asserting RTSA# (1). RTSA# is normally connected to CTSB# (2) of
remote UART (UARTB). CTSB# allows its transmitter to send data (3). TXB data arrives and fills UARTA receive FIFO
(4). When RXA data fills up to its receive FIFO trigger level, UARTA activates its RXA data ready interrupt (5) and con-
tinues to receive and put data into its FIFO. If interrupt service latency is long and data is not being unloaded, UARTA
monitors its receive data fill level to match the upper threshold of RTS delay and de-assert RTSA# (6). CTSB# follows
(7) and request UARTB transmitter to suspend data transfer. UARTB stops or finishes sending the data bits in its transmit
shift register (8). When receive FIFO data in UARTA is unloaded to match the lower threshold of RTS delay (9), UARTA
re-asserts RTSA# (10), CTSB# recognizes the change (11) and restarts its transmitter and data flow again until next
receive FIFO trigger (12). This same event applies to the reverse direction when UARTA sends data to UARTB with
RTSB# and CTSA# controlling the data flow.
2.15 AUTO XON/XOFF (SOFTWARE) FLOW CONTROL user can write any Xon/Xoff value desired for soft-
When software flow control is enabled (See ware flow control. Different conditions can be set to
Table 15), the 2850 compares one or two sequential detect Xon/Xoff characters (See Table 15) and sus-
receive data characters with the programmed Xon or pend/resume transmissions. When double 8-bit Xon/
Xoff-1,2 character value(s). If receive character(s) Xoff characters are selected, the 2850 compares two
(RX) match the programmed values, the 2850 will halt consecutive receive characters with two software flow
transmission (TX) as soon as the current character control 8-bit values (Xon1, Xon2, Xoff1, Xoff2) and
has completed transmission. When a match occurs, controls TX transmissions accordingly. Under the
the Xoff (if enabled via IER bit-5) flag will be set and above described flow control mechanisms, flow con-
the interrupt output pin will be activated. Following a trol characters are not placed (stacked) in the user
suspension due to a match of the Xoff character, the accessible RX data buffer or FIFO.
2850 will monitor the receive data stream for a match In the event that the receive buffer is overfilling and
to the Xon-1,2 character. If a match is found, the 2850 flow control needs to be executed, the 2850 automat-
will resume operation and clear the flags (ISR bit-4). ically sends an Xoff message (when enabled) via the
Reset initially sets the contents of the Xon/Xoff 8-bit serial TX output to the remote modem. The 2850
flow control registers to a logic 0. Following reset the sends the Xoff-1,2 characters two-character-times (=
14
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
time taken to send two characters at the programmed grammed trigger level (for Trigger Tables A, B, and C)
baud rate) after the receive FIFO crosses the pro- or when receive FIFO is less than the trigger level mi-
grammed trigger level (for all trigger tables A-D). To nus the hysteresis value (for Trigger Table D). This
clear this condition, the 2850 will transmit the pro- hysteresis value is the same as the Auto RTS Hyster-
grammed Xon-1,2 characters as soon as receive esis value in Table 13. Table 6 below explains this
FIFO is less than one trigger level below the pro- when Trigger Table-B (See Table 10) is selected.
8 8 8* 0
16 16 16* 8
24 24 24* 16
28 28 28* 24
* After the trigger level is reached, an xoff character is sent after a short span of time (= time required to send 2
characters); for example, after 2.083ms has elapsed for 9600 baud and 10-bit word length setting.
2.16 SPECIAL CHARACTER DETECT only has to load data bytes to the transmit FIFO. The
A special character detect feature is provided to de- transmitter automatically re-asserts RTS# output pri-
tect an 8-bit character when bit-5 is set in the En- or sending the data.
hanced Feature Register (EFR). When this character 2.18 INFRARED MODE
(Xoff2) is detected, it will be placed in the FIFO along The 2850 UART includes the infrared encoder and
with normal incoming RX data. decoder compatible to the IrDA (Infrared Data Associ-
The 2850 compares each incoming receive character ation) version 1.0. The IrDA 1.0 standard that stipu-
with Xoff-2 data. If a match exists, the received data lates the infrared encoder sends out a 3/16 of a bit
will be transferred to FIFO and ISR bit-4 will be set to wide HIGH-pulse for each “0” bit in the transmit data
indicate detection of special character. Although the stream. This signal encoding reduces the on-time of
Internal Register Table shows Xon, Xoff Registers the infrared LED, hence reduces the power consump-
with eight bits of character information, the actual tion. See Figure 12 below.
number of bits is dependent on the programmed word The infrared encoder and decoder are enabled by
length. Line Control Register (LCR) bits 0-1 defines setting MCR register bit-6 to a ‘1’. When the infrared
the number of character bits, i.e., either 5 bits, 6 bits, feature is enabled, the transmit data output, TX, idles
7 bits, or 8 bits. The word length selected by LCR bits at logic zero level. Likewise, the RX input assumes an
0-1 also determines the number of bits that will be idle level of logic zero from a reset and power up, see
used for the special character comparison. Bit-0 in Figure 12.
the Xon, Xoff Registers corresponds with the LSB bit
Typically, the wireless infrared decoder receives the
for the receive character.
input pulse from the infrared sensing diode on the RX
2.17 AUTO RS485 HALF-DUPLEX CONTROL pin. Each time it senses a light pulse, it returns a logic
The auto RS485 half-duplex direction control chang- 1 to the data bit stream. However, this is not true with
es the behavior of the transmitter when enabled by some infrared modules on the market which indicate
FCTR bit-3. It de-asserts RTS# output following the a logic 0 by a light pulse. So the 2850 has a provision
last stop bit of the last character that has been trans- to invert the input polarity to accomodate this. In this
mitted. This helps in turning around the transceiver to case user can enable FCTR bit-2 to invert the input
receive the remote station’s response. When the host signal.
is ready to transmit next polling data packet again, it
15
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
FIGURE 12. INFRARED TRANSMIT DATA ENCODING AND RECEIVE DATA DECODING
C haracter
Stop
Start
D ata B its
T X D ata 0 1 0 1 0 0 1 1 0 1
T ransm it
IR P ulse
(T X P in)
1/2 B it T im e
B it T im e
3/16 B it T im e
IrE ncoder-1
Receive
IR Pulse
(RX pin) Bit Time
RX Data 0 1 0 1 0 0 1 1 0 1
Stop
Start
Data Bits
Character
IRdecoder-1
2.19 SLEEP MODE WITH AUTO WAKE-UP mode, the first few receive characters may be lost. Al-
The 2850 supports low voltage system designs, so, make sure the RX A/B inputs are idling at logic 1
hence, a sleep mode is included to reduce its power or “marking” condition during sleep mode to avoid re-
consumption when the chip is not actively used. With ceiving a “break” condition upon the restart. This may
EFR bit-4 and IER bit-4 of both channels enabled (set occur when the external interface transceivers (RS-
to a logic 1), the 2850 DUART enters sleep mode 232, RS-485 or another type) are also put to sleep
when no interrupt is pending for both channels. The mode and cannot maintain the “marking” condition.
2850 stops its crystal oscillator to further conserve To avoid this, the system design engineer can use a
power in the sleep mode. User can check the XTAL2 47k ohm pull-up resistor on the RXA and RXB pins.
pin for no clock output as an indication that the device 2.20 INTERNAL LOOPBACK
has entered the sleep mode. The 2850 resumes nor- The 2850 UART provides an internal loopback capa-
mal operation by any of the following: a receive data bility for system diagnostic purposes. The internal
start bit transition (logic 1 to 0), a change of logic loopback mode is enabled by setting MCR register
state on any of the modem or general purpose input bit-4 to logic 1. All regular UART functions operate
pins: CTS#, DSR#, CD#, RI# or a transmit data byte normally. Figure 13 shows how the modem port sig-
is loaded to the THR/FIFO by the user. If the 2850 is nals are re-configured. Transmit data from the trans-
awakened by one of the above conditions, it will re- mit shift register output is internally routed to the re-
turn to the sleep mode automatically after all inter- ceive shift register input allowing the system to re-
rupting condition have been serviced and cleared. In ceive the same data that it was sending. The TX pin
any case, the sleep mode will not be entered while an is held at logic 1 or mark condition while RTS# and
interrupt is pending from channel A or B. The 2850 DTR# are de-asserted, and CTS#, DSR# CD# and
will stay in the sleep mode of operation until it is dis- RI# inputs are ignored. Caution: the RX input must be
abled by setting IER bit-4 to a logic 0. held to a logic 1 during loopback test else upon exit-
A word of caution: owing to the starting up delay of ing the loopback test the UART may detect and report
the crystal oscillator after waking up from sleep a false “break” signal.
16
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
VCC
TXA/TXB
Transmit Shift Register
(THR/FIFO)
MCR bit-4=1
Internal Data Bus Lines and Control Signals
RTSA#/RTSB#
RTS#
Modem / General Purpose Control Logic
CTS# CTSA#/CTSB#
VCC
DTRA#/DTRB#
DTR#
DSR#
DSRA#/DSRB#
OP1#
RI#
RIA#/RIB#
VCC
OP2A#/OP2B#
OP2#
CD#
CDA#/CDB#
17
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
3.0 UART INTERNAL REGISTERS A0, A1 and A2 with CSA# or CSB# selecting the
Each of the UART channel in the 2850 has its own set channel. The complete register set is shown on
of configuration registers selected by address lines Table 7 and Table 8.
ENHANCED REGISTERS
18
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
TABLE 8: INTERNAL REGISTERS DESCRIPTION. SHADED BITS ARE ENABLED WHEN EFR BIT-4=1
000 RHR RD Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
000 THR WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
011 LCR RD/WR Divisor Set TX Set Even Parity Stop Word Word
Enable Break Parity Parity Enable Bits Length Length
Bit-1 Bit-0
110 MSR RD CD# RI# Input DSR# CTS# Delta CD# Delta Delta Delta
Input Input Input RI# DSR# CTS#
111 SPR RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 LCR[7] = 0
FCTR[6]=0
111 EMSR WR Rsvd Rsvd Auto Auto Rsvd Rsvd Rx/Tx Rx/Tx
RTS RTS FIFO FIFO
Hyst. Hyst. Count Count LCR[7] = 0
bit-3 bit-2 FCTR[6]=1
111 FLVL RD Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
000 DLL RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 LCR[7] = 1
LCR ≠ 0xBF
001 DLM RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
000 DREV RD Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 LCR[7] = 1
LCR ≠ 0xBF
001 DVID RD 0 0 0 1 0 0 1 0 DLL=0x00
DLM=0x00
19
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
TABLE 8: INTERNAL REGISTERS DESCRIPTION. SHADED BITS ARE ENABLED WHEN EFR BIT-4=1
Enhanced Registers
000 TRG WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
001 FCTR RD/WR RX/TX SCPAD Trig Trig Auto RX IR Auto Auto
Mode Swap Table Table RS485 Input RTS RTS
Bit-1 Bit-0 Direction Inv. Hyst Bit- Hyst Bit-
Control 1 0
010 EFR RD/WR Auto CTS Auto RTS Special Enable Soft- Soft- Soft- Soft-
Enable Enable Char IER [7:4], ware ware ware ware LCR=0XBF
Select ISR [5:4], Flow Flow Flow Flow
FCR[5:4], Cntl Cntl Cntl Cntl
MCR[7:5] Bit-3 Bit-2 Bit-1 Bit-0
100 XON1 RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
101 XON2 RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
110 XOFF1 RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
111 XOFF2 RD/WR Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
4.0 INTERNAL REGISTER DESCRIPTIONS cleared when the FIFO drops below the trigger
4.1 RECEIVE HOLDING REGISTER (RHR) - READ- level.
ONLY C. The receive data ready bit (LSR BIT-0) is set as
See “Receiver” on page 12. soon as a character is transferred from the shift
register to the receive FIFO. It is reset when the
4.2 TRANSMIT HOLDING REGISTER (THR) - WRITE-
FIFO is empty.
ONLY
See “Transmitter” on page 11. 4.3.2 IER versus Receive/Transmit FIFO Polled
Mode Operation
4.3 INTERRUPT ENABLE REGISTER (IER) - READ/
When FCR BIT-0 equals a logic 1 for FIFO enable; re-
WRITE
setting IER bits 0-3 enables the XR16C2850 in the
The Interrupt Enable Register (IER) masks the inter-
FIFO polled mode of operation. Since the receiver
rupts from receive data ready, transmit empty, line
and transmitter have separate bits in the LSR either
status and modem status registers. These interrupts
or both can be used in the polled mode by selecting
are reported in the Interrupt Status Register (ISR).
respective transmit or receive control bit(s).
4.3.1 IER versus Receive FIFO Interrupt Mode
A. LSR BIT-0 indicates there is data in RHR or RX
Operation
FIFO.
When the receive FIFO (FCR BIT-0 = 1) and receive
interrupts (IER BIT-0 = 1) are enabled, the RHR inter- B. LSR BIT-1 indicates an overrun error has oc-
rupts (see ISR bits 2 and 3) status will reflect the fol- curred and that data in the FIFO may not be valid.
lowing: C. LSR BIT 2-4 provides the type of receive data er-
A. The receive data available interrupts are issued rors encountered for the data byte in RHR, if any.
to the host when the FIFO has reached the pro- D. LSR BIT-5 indicates THR is empty.
grammed trigger level. It will be cleared when the E. LSR BIT-6 indicates when both the transmit FIFO
FIFO drops below the programmed trigger level. and TSR are empty.
B. FIFO level will be reflected in the ISR register
F. LSR BIT-7 indicates a data error in at least one
when the FIFO trigger level is reached. Both the
character in the RX FIFO.
ISR register status bit and the interrupt will be
20
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
IER[0]: RHR Interrupt Enable • Logic 1 = Enable the software flow control, receive
The receive data ready interrupt will be issued when Xoff interrupt. See Software Flow Control section
RHR has a data character in the non-FIFO mode or for details.
when the receive FIFO has reached the programmed IER[6]: RTS# Output Interrupt Enable (requires
trigger level in the FIFO mode. EFR bit-4=1)
• Logic 0 = Disable the receive data ready interrupt • Logic 0 = Disable the RTS# interrupt (default).
(default). • Logic 1 = Enable the RTS# interrupt. The UART
• Logic 1 = Enable the receiver data ready interrupt. issues an interrupt when the RTS# pin makes a
IER[1]: THR Interrupt Enable transition from low to high.
This bit enables the Transmit Ready interrupt which is IER[7]: CTS# Input Interrupt Enable (requires EFR
issued whenever the THR becomes empty in the non- bit-4=1)
FIFO mode or when data in the FIFO falls below the • Logic 0 = Disable the CTS# interrupt (default).
programmed trigger level in the FIFO mode. If the • Logic 1 = Enable the CTS# interrupt. The UART
THR is empty when this bit is enabled, an interrupt issues an interrupt when CTS# pin makes a transi-
will be generated. tion from low to high.
• Logic 0 = Disable Transmit Ready interrupt
4.4 INTERRUPT STATUS REGISTER (ISR) - READ-
(default).
ONLY
• Logic 1 = Enable Transmit Ready interrupt. The UART provides multiple levels of prioritized inter-
IER[2]: Receive Line Status Interrupt Enable rupts to minimize external software interaction. The
If any of the LSR register bits 1, 2, 3 or 4 is a logic 1, Interrupt Status Register (ISR) provides the user with
it will generate an interrupt to inform the host control- six interrupt status bits. Performing a read cycle on
ler about the error status of the current data byte in the ISR will give the user the current highest pending
FIFO. LSR bits 1-4 generate an interrupt immediately interrupt level to be serviced, others are queued up to
when the character has been received. be serviced next. No other interrupts are acknowl-
edged until the pending interrupt is serviced. The In-
• Logic 0 = Disable the receiver line status interrupt
terrupt Source Table, Table 9, shows the data values
(default).
(bit 0-5) for the interrupt priority levels and the inter-
• Logic 1 = Enable the receiver line status interrupt. rupt sources associated with each of these interrupt
IER[3]: Modem Status Interrupt Enable levels.
• Logic 0 = Disable the modem status register inter- 4.4.1 Interrupt Generation:
rupt (default). • LSR is by any of the LSR bits 1, 2, 3 and 4.
• Logic 1 = Enable the modem status register inter- • RXRDY is by RX trigger level.
rupt. • RXRDY Time-out is by a 4-char plus 12 bits delay
IER[4]: Sleep Mode Enable (requires EFR bit-4 = timer.
1) • TXRDY is by TX trigger level or TX FIFO empty (or
• Logic 0 = Disable Sleep Mode (default). transmitter empty in auto RS-485 control).
• Logic 1 = Enable Sleep Mode. See Sleep Mode • MSR is by any of the MSR bits 0, 1, 2 and 3.
section for further details. • Receive Xoff/Special character is by detection of a
IER[5]: Xoff Interrupt Enable (requires EFR bit- Xoff or Special character.
4=1) • CTS# is when its transmitter toggles the input pin
• Logic 0 = Disable the software flow control, receive (from low to high) during auto CTS flow control
Xoff interrupt. (default) enabled by EFR bit-7.
• RTS# is when its receiver toggles the output pin
(from low to high) during auto RTS flow control
enabled by EFR bit-6.
21
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
- 0 0 0 0 0 1 None (default)
ISR[0]: Interrupt Status and select the DMA mode. The DMA, and FIFO
• Logic 0 = An interrupt is pending and the ISR con- modes are defined as follows:
tents may be used as a pointer to the appropriate FCR[0]: TX and RX FIFO Enable
interrupt service routine. • Logic 0 = Disable the transmit and receive FIFO
• Logic 1 = No interrupt pending (default condition). (default).
ISR[3:1]: Interrupt Status • Logic 1 = Enable the transmit and receive FIFOs.
These bits indicate the source for a pending interrupt This bit must be set to logic 1 when other FCR bits
at interrupt priority levels (See Interrupt Source are written or they will not be programmed.
Table 9). FCR[1]: RX FIFO Reset
ISR[5:4]: Interrupt Status This bit is only active when FCR bit-0 is a ‘1’.
These bits are enabled when EFR bit-4 is set to a log- • Logic 0 = No receive FIFO reset (default).
ic 1. ISR bit-4 indicates that the receiver detected a • Logic 1 = Reset the receive FIFO pointers and
data match of the Xoff character(s). Note that once FIFO level counter logic (the receive shift register is
set to a logic 1, the ISR bit-4 will stay a logic 1 until a not cleared or altered). This bit will return to a logic
Xon character is received. ISR bit-5 indicates that 0 after resetting the FIFO.
CTS# or RTS# has changed state.
FCR[2]: TX FIFO Reset
ISR[7:6]: FIFO Enable Status
This bit is only active when FCR bit-0 is a ‘1’.
These bits are set to a logic 0 when the FIFOs are
• Logic 0 = No transmit FIFO reset (default).
disabled. They are set to a logic 1 when the FIFOs
are enabled. • Logic 1 = Reset the transmit FIFO pointers and
FIFO level counter logic (the transmit shift register
4.5 FIFO CONTROL REGISTER (FCR) - WRITE-ONLY
is not cleared or altered). This bit will return to a
This register is used to enable the FIFOs, clear the logic 0 after resetting the FIFO.
FIFOs, set the transmit/receive FIFO trigger levels,
22
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
FCR[3]: DMA Mode Select cessed. Note that the receiver and the transmitter
Controls the behavior of the TXRDY# and RXRDY# cannot use different trigger tables. Whichever selec-
pins. See DMA operation section for details. tion is made last applies to both the RX and TX side.
• Logic 0 = Normal Operation (default). FCR[7:6]: Receive FIFO Trigger Select
• Logic 1 = DMA Mode. (logic 0 = default, RX trigger level =1)
FCR[5:4]: Transmit FIFO Trigger Select The FCTR Bits 5-4 are associated with these 2 bits.
These 2 bits are used to set the trigger level for the
(logic 0 = default, TX trigger level = one)
receive FIFO. The UART will issue a receive interrupt
These 2 bits set the trigger level for the transmit FIFO. when the number of the characters in the FIFO cross-
The UART will issue a transmit interrupt when the es the trigger level. Table 10 shows the complete se-
number of characters in the FIFO falls below the se- lections.
lected trigger level, or when it gets empty in case that
NOTE: The receiver and the transmitter cannot use different
the FIFO did not get filled over the trigger level on last trigger tables. Whichever selection is made last applies to
re-load. Table 10 below shows the selections. EFR both the RX and TX side.
bit-4 must be set to ‘1’ before these bits can be ac-
23
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
4.6 LINE CONTROL REGISTER (LCR) - READ/WRITE ter. The receiver must be programmed to check the
The Line Control Register is used to specify the asyn- same format.
chronous data communication format. The word or LCR[5]: TX and RX Parity Select
character length, the number of stop bits, and the par-
If the parity bit is enabled, LCR BIT-5 selects the
ity are selected by writing the appropriate bits in this
forced parity format.
register.
• LCR BIT-5 = logic 0, parity is not forced (default).
LCR[1-0]: TX and RX Word Length Select
• LCR BIT-5 = logic 1 and LCR BIT-4 = logic 0, parity
These two bits specify the word length to be transmit-
bit is forced to a logical 1 for the transmit and
ted or received.
receive data.
BIT-1 BIT-0 WORD LENGTH TABLE 11: PARITY SELECTION
0 0 5 (default) LCR BIT-5 LCR BIT-4 LCR BIT-3 PARITY SELECTION
0 1 6 X X 0 No parity
1 0 7 0 0 1 Odd parity
1 1 8 0 1 1 Even parity
24
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
25
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
LSR[5]: Transmit Holding Register Empty Flag to a logic 1, ending of the ringing signal. A modem
This bit is the Transmit Holding Register Empty indi- status interrupt will be generated if MSR interrupt is
cator. The THR bit is set to a logic 1 when the last da- enabled (IER bit-3).
ta byte is transferred from the transmit holding regis- MSR[3]: Delta CD# Input Flag
ter to the transmit shift register. The bit is reset to log- • Logic 0 = No change on CD# input (default).
ic 0 concurrently with the data loading to the transmit
holding register by the host. In the FIFO mode this bit • Logic 1 = Indicates that the CD# input has changed
is set when the transmit FIFO is empty, it is cleared state since the last time it was monitored. A modem
when the transmit FIFO contains at least 1 byte. status interrupt will be generated if MSR interrupt is
enabled (IER bit-3).
LSR[6]: THR and TSR Empty Flag
MSR[4]: CTS Input Status
This bit is set to a logic 1 whenever the transmitter
CTS# pin may function as automatic hardware flow
goes idle. It is set to logic 0 whenever either the THR
control signal input if it is enabled and selected by Au-
or TSR contains a data character. In the FIFO mode
to CTS (EFR bit-7). Auto CTS flow control allows
this bit is set to a logic 1 whenever the transmit FIFO
starting and stopping of local data transmissions
and transmit shift register are both empty.
based on the modem CTS# signal. A logic 1 on the
LSR[7]: Receive FIFO Data Error Flag CTS# pin will stop UART transmitter as soon as the
• Logic 0 = No FIFO error (default). current character has finished transmission, and a
• Logic 1 = A global indicator for the sum of all error logic 0 will resume data transmission. Normally MSR
bits in the RX FIFO. At least one parity error, fram- bit-4 bit is the compliment of the CTS# input. However
ing error or break indication is in the FIFO data. in the loopback mode, this bit is equivalent to the
This bit clears when there is no more error(s) in any RTS# bit in the MCR register. The CTS# input may be
of the bytes in the RX FIFO. used as a general purpose input when the modem in-
terface is not used.
4.9 MODEM STATUS REGISTER (MSR) - READ ONLY
This register provides the current state of the modem MSR[5]: DSR Input Status
interface input signals. Lower four bits of this register DSR# (active high, logical 1). Normally this bit is the
are used to indicate the changed information. These compliment of the DSR# input. In the loopback mode,
bits are set to a logic 1 whenever a signal from the this bit is equivalent to the DTR# bit in the MCR regis-
modem changes state. These bits may be used for ter. The DSR# input may be used as a general pur-
general purpose inputs when they are not used with pose input when the modem interface is not used.
modem signals. MSR[6]: RI Input Status
MSR[0]: Delta CTS# Input Flag RI# (active high, logical 1). Normally this bit is the
• Logic 0 = No change on CTS# input (default). compliment of the RI# input. In the loopback mode
• Logic 1 = The CTS# input has changed state since this bit is equivalent to bit-2 in the MCR register. The
the last time it was monitored. A modem status RI# input may be used as a general purpose input
interrupt will be generated if MSR interrupt is when the modem interface is not used.
enabled (IER bit-3). MSR[7]: CD Input Status
MSR[1]: Delta DSR# Input Flag CD# (active high, logical 1). Normally this bit is the
• Logic 0 = No change on DSR# input (default). compliment of the CD# input. In the loopback mode
this bit is equivalent to bit-3 in the MCR register. The
• Logic 1 = The DSR# input has changed state since CD# input may be used as a general purpose input
the last time it was monitored. A modem status when the modem interface is not used.
interrupt will be generated if MSR interrupt is
enabled (IER bit-3). 4.10 SCRATCH PAD REGISTER (SPR) - READ/WRITE
This is a 8-bit general purpose register for the user to
MSR[2]: Delta RI# Input Flag
store temporary data. The content of this register is
• Logic 0 = No change on RI# input (default). preserved during sleep mode but becomes 0xFF (de-
• Logic 1 = The RI# input has changed from a logic 0 fault) after a reset or a power off-on cycle.
26
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
4.11 ENHANCED MODE SELECT REGISTER (EMSR) 4.12 FIFO LEVEL REGISTER (FLVL) - READ-ONLY
This register replaces SPR (during a Write) and is ac- The FIFO Level Register replaces the Scratchpad
cessible only when FCTR[6] = 1. Register (during a Read) when FCTR[6] = 1. Note
EMSR[1:0]: Receive/Transmit FIFO Count (Write- that this is not identical to the FIFO Data Count Reg-
Only) ister which can be accessed when LCR = 0xBF.
When Scratchpad Swap (FCTR[6]) is asserted, EM- FLVL[7:0]: FIFO Level Register
SR bits 1-0 controls what mode the FIFO Level This register provides the FIFO counter level for the
Counter is operating in. RX FIFO or the TX FIFO or both depending on EM-
SR[1:0]. See Table 12 for details.
TABLE 12: SCRATCHPAD SWAP SELECTION
4.13 BAUD RATE GENERATOR REGISTERS (DLL AND
FCTR[6] EMSR[1] EMSR[0] Scratchpad is DLM) - READ/WRITE
The concatenation of the contents of DLM and DLL
0 X X Scratchpad
gives the 16-bit divisor value which is used to calcu-
1 0 0 RX FIFO Counter Mode late the baud rate:
• Baud Rate = (Clock Frequency / 16) / Divisor
1 0 1 TX FIFO Counter Mode
See MCR bit-7 and the baud rate table also.
1 1 0 RX FIFO Counter Mode
4.14 DEVICE IDENTIFICATION REGISTER (DVID) - READ
1 1 1 Alternate RX/TX FIFO ONLY
Counter Mode This register contains the device ID (0x12 for
XR16C2850). Prior to reading this register, DLL and
During Alternate RX/TX FIFO Counter Mode, the first DLM should be set to 0x00.
value read after EMSR bits 1-0 have been asserted 4.15 DEVICE REVISION REGISTER (DREV) - READ
will always be the RX FIFO Counter. The second val- ONLY
ue read will correspond with the TX FIFO Counter. This register contains the device revision information.
The next value will be the RX FIFO Counter again, For example, 0x01 means revision A. Prior to reading
then the TX FIFO Counter and so on and so forth. this register, DLL and DLM should be set to 0x00.
EMSR[3:2]: Reserved 4.16 TRIGGER LEVEL / FIFO DATA COUNT REGISTER
EMSR[5:4]: Extended RTS Hysteresis (TRG) - WRITE-ONLY
User Programmable Transmit/Receive Trigger Level
TABLE 13: AUTO RTS HYSTERESIS
Register.
1 1 0 0 ±12
1 1 0 1 ±20
1 1 1 0 ±28
1 1 1 1 ±36
EMSR[7:6]: Reserved
27
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
FCTR FCTR
TABLE
BIT-5 BIT-4
0 0 Table-A (TX/RX)
0 1 Table-B (TX/RX)
1 0 Table-C (TX/RX)
1 1 Table-D (TX/RX)
28
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
EFR[4]: Enhanced Function Bits Enable character. Bit-0 corresponds with the LSB bit of the
Enhanced function control bit. This bit enables IER receive character. If flow control is set for compar-
bits 4-7, ISR bits 4-5, FCR bits 4-5, and MCR bits 5-7 ing Xon1, Xoff1 (EFR [1:0]= ‘10’) then flow control
to be modified. After modifying any enhanced bits, and special character work normally. However, if
EFR bit-4 can be set to a logic 0 to latch the new val- flow control is set for comparing Xon2, Xoff2
ues. This feature prevents legacy software from alter- (EFR[1:0]= ‘01’) then flow control works normally,
ing or overwriting the enhanced functions once set. but Xoff2 will not go to the FIFO, and will generate
Normally, it is recommended to leave it enabled, logic an Xoff interrupt and a special character interrupt, if
1. enabled via IER bit-5.
• Logic 0 = modification disable/latch enhanced fea- EFR[6]: Auto RTS Flow Control Enable
tures. IER bits 4-7, ISR bits 4-5, FCR bits 4-5, and RTS# output may be used for hardware flow control
MCR bits 5-7 are saved to retain the user settings. by setting EFR bit-6 to logic 1. When Auto RTS is se-
After a reset, the IER bits 4-7, ISR bits 4-5, FCR lected, an interrupt will be generated when the re-
bits 4-5, and MCR bits 5-7are set to a logic 0 to be ceive FIFO is filled to the programmed trigger level
compatible with ST16C550 mode (default). and RTS de-asserts to a logic 1 at the next upper trig-
• Logic 1 = Enables the above-mentioned register ger level or hysteresis level. RTS# will return to a logic
bits to be modified by the user. 0 when FIFO data falls below the next lower trigger
level. The RTS# output must be asserted (logic 0) be-
EFR[5]: Special Character Detect Enable
fore the auto RTS can take effect. RTS# pin will func-
• Logic 0 = Special Character Detect Disabled tion as a general purpose output when hardware flow
(default). control is disabled.
• Logic 1 = Special Character Detect Enabled. The • Logic 0 = Automatic RTS flow control is disabled
UART compares each incoming receive character (default).
with data in Xoff-2 register. If a match exists, the
• Logic 1 = Enable Automatic RTS flow control.
receive data will be transferred to FIFO and ISR bit-
4 will be set to indicate detection of the special
29
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
4.20 SOFTWARE FLOW CONTROL REGISTERS (XOFF1, RHR Bits 7-0 = 0xXX
XOFF2, XON1, XON2) - READ/WRITE
THR Bits 7-0 = 0xXX
These registers are used as the programmable soft-
ware flow control characters xoff1, xoff2, xon1, and IER Bits 7-0 = 0x00
xon2. For more details, see Table 6 on page 15.
FCR Bits 7-0 = 0x00
TX Logic 1
OP2# Logic 1
RTS# Logic 1
DTR# Logic 1
RXRDY# Logic 1
TXRDY# Logic 0
30
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
ELECTRICAL CHARACTERISTICS
DC ELECTRICAL CHARACTERISTICS
UNLESS OTHERWISE NOTED: TA=0O TO 70OC (-40O TO +85OC FOR INDUSTRIAL GRADE PACKAGE), VCC IS 3.3V,
5.0V ±10%
LIMITS LIMITS
SYMBOL PARAMETER 3.3V 5.0V UNITS CONDITIONS
MIN MAX MIN MAX
Test 1: The following inputs should remain steady at VCC or GND state to minimize Sleep current: A0-A2, D0-D7, IOR#,
IOW#, CSA# and CSB#. Also, RXA and RXB inputs must idle at logic 1 state while asleep.
31
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
AC ELECTRICAL CHARACTERISTICS
TA=0O TO 70OC (-40O TO +85OC FOR INDUSTRIAL GRADE PACKAGE), VCC IS 3.3 OR 5.0V ±10%
LIMITS LIMITS
SYMBOL PARAMETER 3.3V 5.0V UNIT CONDITIONS
MIN MAX MIN MAX
32
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
CLK CLK
EXTERNAL
CLOCK
OSC
IOW # Active
T W DO
CD#
CTS# Change of state Change of state
DSR#
T MOD T MOD
T MOD
33
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
TAS TAS
TAH TAH
TCS TCS
CSA#/
CSB#
TDY
TRD TRD
IOR#
TDD TDD
TRDV TRDV
RDTm
TAS TAS
TAH TAH
TCS TCS
CSA#/
CSB#
TDY
TWR TWR
IOW#
TDH TDH
TDS TDS
16Write
34
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
FIGURE 18. RECEIVE READY & INTERRUPT TIMING [NON-FIFO MODE] FOR CHANNELS A & B
RX Start Stop
D0:D7 Bit D0:D7 D0:D7
Bit
TSSR TSSR TSSR
IOR#
(Reading data
out of RHR)
RXNFM
FIGURE 19. TRANSMIT READY & INTERRUPT TIMING [NON-FIFO MODE] FOR CHANNELS A & B
TX Start Stop
(Unloading) D0:D7 Bit D0:D7 D0:D7
Bit
INT*
TWRI TWRI TWRI
TXRDY#
IOW#
(Loading data
into THR)
*INT is cleared when the ISR is read or when data is loaded into the THR. TXNonFIFO
35
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
FIGURE 20. RECEIVE READY & INTERRUPT TIMING [FIFO MODE, DMA DISABLED] FOR CHANNELS A & B
Start
Bit
RX
S D0:D7 S D0:D7 T D0:D7 S D0:D7 T S D0:D7 T S D0:D7 T S D0:D7 T
TSSR FIFO
RX FIFO fills up to RX Empties
Trigger Level or RX Data
RXRDY# Timeout
First Byte is
Received in TRRI TRR
RX FIFO
IOR#
(Reading data out
of RX FIFO)
RXINTDMA#
FIGURE 21. RECEIVE READY & INTERRUPT TIMING [FIFO MODE, DMA ENABLED] FOR CHANNELS A & B
Start Stop
Bit Bit
RX
S D0:D7 S D0:D7 T D0:D7 S D0:D7 T S D0:D7 T S D0:D7 T S D0:D7 T
TRRI TRR
IOR#
(Reading data out
of RX FIFO)
RXFIFODMA
36
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
FIGURE 22. TRANSMIT READY & INTERRUPT TIMING [FIFO MODE, DMA MODE DISABLED] FOR CHANNELS A & B
Start Stop
Last Data Byte
TX FIFO Bit Bit
Transmitted
Empty
TX T S D0:D7 T S D0:D7 T
S D0:D7 T S D0:D7 T S D0:D7 T S D0:D7 T
(Unloading)
INT*
TX FIFO
Empty
TX FIFO fills up
TX FIFO drops
to trigger level
TWRI below trigger level
Data in
TX FIFO
TXRDY#
TWT
IOW#
(Loading data
into FIFO)
*INT is cleared when the ISR is read or when TX FIFO fills up to the trigger level. TXDMA#
FIGURE 23. TRANSMIT READY & INTERRUPT TIMING [FIFO MODE, DMA MODE ENABLED] FOR CHANNELS A & B
Start Stop
Last Data Byte
Bit Bit
Transmitted
TX
S D0:D7 T S D0:D7 T D0:D7 S D0:D7 T S D0:D7 T S D0:D7 T S D0:D7 T
(Unloading)
INT*
TX FIFO fills up TX FIFO drops
to trigger level below trigger level
TWRI
At least 1
TX FIFO empty location
TXRDY# Full in FIFO
TWT
IOW#
(Loading data
into FIFO)
*INT cleared when the ISR is read or when TX FIFO fills up to trigger level. TXDMA
37
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
D1
36 25
37 24
D1 D
48 13
1
1 2
B
A2 e
C
A
Seating α
Plane
A1
L
INCHES MILLIMETERS
α 0° 7° 0° 7°
38
XR16C2850 3.3V AND 5V DUART WITH 128-BYTE FIFO áç
REV. 2.0.0
4 4 L E A D P L A S T IC L E A D E D C H IP C A R R IE R
(P L C C )
R e v. 1 .00
D C
S e a tin g P la n e
D1 4 5° x H2 4 5° x H1
A2
2 1 44
B1
D D1 B
D3 D2
R
D3
A1
INCHES MILLIMETERS
39
áç 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
40 21
E1
1 20
D E
A2
S e a tin g A A1
P lan e L C
α
B
e B1 eA
eB
INCHES MILLIMETERS
α 0° 15° 0° 15°
40
áçý 3.3V AND 5V DUART WITH 128-BYTE FIFO XR16C2850
REV. 2.0.0
REVISION HISTORY
April 2002 Rev 2.0.0 Changed to standard style format. Internal Registers are described in the order
they are listed in the Internal Register Table. Clarified timing diagrams. Cor-
rected Auto RTS Hysteresis table. Renamed Rclk (Receive Clock) to Bclk (Baud
Clock) and timing symbols. Added TAH, TCS and OSC.
NOTICE
EXAR Corporation reserves the right to make changes to the products contained in this publication in order
to improve design, performance or reliability. EXAR Corporation assumes no responsibility for the use of
any circuits described herein, conveys no license under any patent or other right, and makes no represen-
tation that the circuits are free of patent infringement. Charts and schedules contained here in are only for
illustration purposes and may vary depending upon a user’s specific application. While the information in
this publication has been carefully checked; no responsibility, however, is assumed for inaccuracies.
EXAR Corporation does not recommend the use of any of its products in life support applications where
the failure or malfunction of the product can reasonably be expected to cause failure of the life support sys-
tem or to significantly affect its safety or effectiveness. Products are not authorized for use in such applica-
tions unless EXAR Corporation receives, in writing, assurances to its satisfaction that: (a) the risk of injury
or damage has been minimized; (b) the user assumes all such risks; (c) potential liability of EXAR Corpo-
ration is adequately protected under the circumstances.
Copyright 2002 EXAR Corporation
Datasheet April 2002
Send your UART technical inquiry with technical details to hotline: uarttechsupport@exar.com
Reproduction, in part or whole, without the prior written consent of EXAR Corporation is prohibited.
41
áç XR16C2850
3.3V AND 5V DUART WITH 128-BYTE FIFO
REV. 2.0.0
TABLE OF CONTENTS
GENERAL DESCRIPTION................................................................................................. 1
APPLICATIONS ............................................................................................................................................. 1
FEATURES .................................................................................................................................................. 1
FIGURE 1. XR16C2850 BLOCK DIAGRAM ................................................................................................................................................ 1
FIGURE 2. PIN OUT ASSIGNMENT............................................................................................................................................................. 2
ORDERING INFORMATION ............................................................................................................................. 2
PIN DESCRIPTIONS .......................................................................................................... 3
DATA BUS INTERFACE........................................................................................................................... 3
MODEM OR SERIAL I/O INTERFACE ..................................................................................................... 3
ANCILLARY SIGNALS.............................................................................................................................. 4
1.0 Product DESCRIPTION ........................................................................................................... 6
2.0 FUNCTIONAL DESCRIPTIONS ............................................................................................... 7
2.1 CPU INTERFACE ................................................................................................................................. 7
FIGURE 3. XR16C2850 DATA BUS INTERCONNECTIONS ......................................................................................................................... 7
2.2 DEVICE RESET .................................................................................................................................... 7
2.3 DEVICE IDENTIFICATION AND REVISION ................................................................................................ 7
2.4 CHANNEL A AND B SELECTION ............................................................................................................ 7
TABLE 1: CHANNEL A AND B SELECT ....................................................................................................................................................... 7
2.5 CHANNEL A AND B INTERNAL REGISTERS ............................................................................................ 8
2.6 DMA MODE ........................................................................................................................................ 8
TABLE 2: TXRDY# AND RXRDY# OUTPUTS IN FIFO AND DMA MODE .................................................................................................... 8
2.7 INTA AND INTB OUPUTS .................................................................................................................... 8
TABLE 3: INTA AND INTB PINS OPERATION FOR TRANSMITTER................................................................................................................ 8
2.8 CRYSTAL OSCILLATOR OR EXT. CLOCK INPUT ...................................................................................... 9
TABLE 4: INTA AND INTB PIN OPERATION FOR RECEIVER ....................................................................................................................... 9
FIGURE 4. TYPICAL OSCILLATOR CONNECTIONS ........................................................................................................................................ 9
2.9 PROGRAMMABLE BAUD RATE GENERATOR ........................................................................................... 9
FIGURE 5. EXTERNAL CLOCK CONNECTION FOR EXTENDED DATA RATE ................................................................................................... 9
FIGURE 6. BAUD RATE GENERATOR AND PRESCALER ............................................................................................................................ 10
TABLE 5: TYPICAL DATA RATES WITH A 14.7456 MHZ CRYSTAL OR EXTERNAL CLOCK .............................................................................. 10
2.10 TRANSMITTER ................................................................................................................................. 11
2.10.1 Transmit Holding Register (THR) - Write Only ....................................................................................... 11
2.10.2 Transmitter Operation in non-FIFO Mode .............................................................................................. 11
FIGURE 7. TRANSMITTER OPERATION IN NON-FIFO MODE ...................................................................................................................... 11
2.10.3 Transmitter Operation in FIFO Mode ..................................................................................................... 11
FIGURE 8. TRANSMITTER OPERATION IN FIFO AND FLOW CONTROL MODE ............................................................................................. 11
2.11 RECEIVER ....................................................................................................................................... 12
2.11.1 Receive Holding Register (RHR) - Read-Only ....................................................................................... 12
FIGURE 9. RECEIVER OPERATION IN NON-FIFO MODE ........................................................................................................................... 12
FIGURE 10. RECEIVER OPERATION IN FIFO AND AUTO RTS FLOW CONTROL MODE ............................................................................... 13
2.12 AUTO RTS (HARDWARE) FLOW CONTROL ....................................................................................... 13
2.13 AUTO RTS HYSTERESIS ................................................................................................................. 13
2.14 AUTO CTS FLOW CONTROL ........................................................................................................... 13
FIGURE 11. AUTO RTS AND CTS FLOW CONTROL OPERATION .............................................................................................................. 14
2.15 AUTO XON/XOFF (SOFTWARE) FLOW CONTROL ............................................................................... 14
TABLE 6: AUTO XON/XOFF (SOFTWARE) FLOW CONTROL ....................................................................................................................... 15
2.16 SPECIAL CHARACTER DETECT ........................................................................................................ 15
2.17 AUTO RS485 HALF-DUPLEX CONTROL ........................................................................................... 15
2.18 INFRARED MODE ............................................................................................................................. 15
FIGURE 12. INFRARED TRANSMIT DATA ENCODING AND RECEIVE DATA DECODING ................................................................................. 16
2.19 SLEEP MODE WITH AUTO WAKE-UP ............................................................................................... 16
2.20 INTERNAL LOOPBACK ..................................................................................................................... 16
FIGURE 13. INTERNAL LOOP BACK IN CHANNEL A AND B........................................................................................................................ 17
3.0 UART INTERNAL REGISTERS ............................................................................................. 18
TABLE 7: UART CHANNEL A AND B UART INTERNAL REGISTERS ............................................................................................. 18
I
XR16C2850 áç
3.3V AND 5V DUART WITH 128-BYTE FIFO
REV. 2.0.0
TABLE 8: INTERNAL REGISTERS DESCRIPTION. SHADED BITS ARE ENABLED WHEN EFR BIT-4=1 ................................................ 19
4.0 INTERNAL Register descriptions ........................................................................................ 20
4.1 RECEIVE HOLDING REGISTER (RHR) - READ- ONLY ........................................................................... 20
4.2 TRANSMIT HOLDING REGISTER (THR) - WRITE-ONLY ......................................................................... 20
4.3 INTERRUPT ENABLE REGISTER (IER) - READ/WRITE ........................................................................... 20
4.3.1 IER versus Receive FIFO Interrupt Mode Operation................................................................................ 20
4.3.2 IER versus Receive/Transmit FIFO Polled Mode Operation .................................................................... 20
4.4 INTERRUPT STATUS REGISTER (ISR) - READ-ONLY ............................................................................ 21
4.4.1 Interrupt Generation: ................................................................................................................................ 21
4.4.2 Interrupt Clearing:..................................................................................................................................... 22
TABLE 9: INTERRUPT SOURCE AND PRIORITY LEVEL ............................................................................................................................... 22
4.5 FIFO CONTROL REGISTER (FCR) - WRITE-ONLY ............................................................................... 22
TABLE 10: TRANSMIT AND RECEIVE FIFO TRIGGER LEVEL SELECTION.................................................................................................... 23
4.6 LINE CONTROL REGISTER (LCR) - READ/WRITE ................................................................................. 24
4.7 MODEM CONTROL REGISTER (MCR) OR GENERAL PURPOSE OUTPUTS CONTROL - READ/WRITE ........ 24
TABLE 11: PARITY SELECTION ................................................................................................................................................................ 24
4.8 LINE STATUS REGISTER (LSR) - READ ONLY ..................................................................................... 25
4.9 MODEM STATUS REGISTER (MSR) - READ ONLY ............................................................................... 26
4.10 SCRATCH PAD REGISTER (SPR) - READ/WRITE ............................................................................... 26
4.11 ENHANCED MODE SELECT REGISTER (EMSR) ................................................................................. 27
TABLE 12: SCRATCHPAD SWAP SELECTION ............................................................................................................................................ 27
TABLE 13: AUTO RTS HYSTERESIS ....................................................................................................................................................... 27
4.12 FIFO LEVEL REGISTER (FLVL) - READ-ONLY ................................................................................... 27
4.13 BAUD RATE GENERATOR REGISTERS (DLL AND DLM) - READ/WRITE ............................................... 27
4.14 DEVICE IDENTIFICATION REGISTER (DVID) - READ ONLY .................................................................. 27
4.15 DEVICE REVISION REGISTER (DREV) - READ ONLY ......................................................................... 27
4.16 TRIGGER LEVEL / FIFO DATA COUNT REGISTER (TRG) - WRITE-ONLY ............................................. 27
4.17 FIFO DATA COUNT REGISTER (FC) - READ-ONLY ............................................................................ 27
4.18 FEATURE CONTROL REGISTER (FCTR) - READ/WRITE .................................................................... 28
TABLE 14: TRIGGER TABLE SELECT ....................................................................................................................................................... 28
4.19 ENHANCED FEATURE REGISTER (EFR) ............................................................................................ 28
TABLE 15: SOFTWARE FLOW CONTROL FUNCTIONS ............................................................................................................................... 29
4.20 SOFTWARE FLOW CONTROL REGISTERS (XOFF1, XOFF2, XON1, XON2) - READ/WRITE ............... 30
TABLE 16: UART RESET CONDITIONS FOR CHANNEL A AND B ................................................................................................... 30
ABSOLUTE MAXIMUM RATINGS...................................................................................31
TYPICAL PACKAGE THERMAL RESISTANCE DATA (MARGIN OF ERROR: ± 15%) 31
ELECTRICAL CHARACTERISTICS ................................................................................31
DC ELECTRICAL CHARACTERISTICS ...........................................................................................................31
AC ELECTRICAL CHARACTERISTICS ............................................................................................................32
TA=0O TO 70OC (-40O TO +85OC FOR INDUSTRIAL GRADE PACKAGE), VCC IS 3.3 OR 5.0V ±10% .............32
FIGURE 14. CLOCK TIMING .................................................................................................................................................................... 33
FIGURE 15. MODEM INPUT/OUTPUT TIMING FOR CHANNELS A & B......................................................................................................... 33
FIGURE 16. DATA BUS READ TIMING ..................................................................................................................................................... 34
FIGURE 17. DATA BUS WRITE TIMING .................................................................................................................................................... 34
FIGURE 18. RECEIVE READY & INTERRUPT TIMING [NON-FIFO MODE] FOR CHANNELS A & B................................................................. 35
FIGURE 19. TRANSMIT READY & INTERRUPT TIMING [NON-FIFO MODE] FOR CHANNELS A & B............................................................... 35
FIGURE 20. RECEIVE READY & INTERRUPT TIMING [FIFO MODE, DMA DISABLED] FOR CHANNELS A & B ............................................... 36
FIGURE 21. RECEIVE READY & INTERRUPT TIMING [FIFO MODE, DMA ENABLED] FOR CHANNELS A & B ................................................ 36
FIGURE 22. TRANSMIT READY & INTERRUPT TIMING [FIFO MODE, DMA MODE DISABLED] FOR CHANNELS A & B ................................... 37
FIGURE 23. TRANSMIT READY & INTERRUPT TIMING [FIFO MODE, DMA MODE ENABLED] FOR CHANNELS A & B .................................... 37
PACKAGE DIMENSIONS (48 PIN TQFP - 7 X 7 X 1 MM)...............................................38
PACKAGE DIMENSIONS (44 PIN PLCC) .......................................................................39
PACKAGE DIMENSIONS (40 PIN PDIP).........................................................................40
REVISION HISTORY ....................................................................................................................................41
TABLE OF CONTENTS ................................................................................................................................. I
II
This datasheet has been download from:
www.datasheetcatalog.com