English
Language : 

XR17C154 Datasheet, PDF (24/62 Pages) Exar Corporation – 5V PCI BUS QUAD UART
XR17C154
5V PCI BUS QUAD UART
áç
REV. 1.3.0
4.0 UART
There are 4 UARTs [channel 3:0] in the 154. Each has its own 64-byte of transmit and receive FIFO, a set of
16550 compatible control and status registers, and a baud rate generator for individual channel data rate
setting. Eight additional registers per UART were added for the EXAR enhanced features.
4.1 Programmable Baud Rate Generator
Each UART has its own Baud Rate Generator (BRG) with a prescaler for the transmitter and receiver. The
prescaler is controlled by 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. The output of the prescaler clocks to the BRG. The BRG further
divides this clock by a programmable divisor between 1 and (216 -1) to obtain a 16X or 8X sampling clock of
the serial data rate. The sampling clock is used by the transmitter for data bit shifting and receiver for data
sampling. The BRG divisor (DLL and DLM registers) defaults to a random value upon power up. Therefore, the
BRG must be programmed during initialization to the operating data rate.
FIGURE 9. BAUD RATE GENERATOR
To Other
C h a n n e ls
XTAL1
XTAL2
Crystal
Osc/
Buffer
P re s c a le r
Divide by 1
P re s c a le r
Divide by 4
DLL and DLM
R e g is te rs
M CR Bit-7=0
(default)
Baud Rate
G e ne rato r
L o g ic
M CR Bit-7=1
16X or 8X
Sam pling
Rate C lock to
Transm itter
and Receiver
Programming the Baud Rate Generator Registers DLM and DLL provides the capability for selecting the
operating data rate. Table 9 shows the standard data rates available with a 14.7456 MHz crystal or external
clock at 16X clock rate. At 8X sampling rate, these data rates would double. When using a non-standard data
rate crystal or external clock, the divisor value can be calculated with the following equation(s).
divisor (decimal) = (XTAL1 clock frequency / prescaler) / (serial data rate x 16), WITH 8XMODE [7:0] IS 0
divisor (decimal) = (XTAL1 clock frequency / prescaler / (serial data rate x 8), WITH 8XMODE [7:0] IS 1
24