Philips Semiconductors
Product data sheet
SC28L91
3.3 V or 5.0 V Universal Asynchronous
Receiver/Transmitter (UART)
2004 Oct 21
22
REGISTER DESCRIPTIONS MODE REGISTERS
MR0 – Mode Register 0
Mode Register 0. MR0 is accessed by setting the MR pointer to 0 via the command register command B.
ÁÁÁÁÁ
ÁÁÁÁÁ
Addr
ÁÁÁÁÁ
ÁÁÁÁÁ
Bit 7
ÁÁÁÁÁ
ÁÁÁÁÁ
BIT 6
ÁÁÁÁÁ
ÁÁÁÁÁ
BITS 5:4
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
BIT 3
ÁÁÁÁÁ
ÁÁÁÁÁ
BIT 2
ÁÁÁÁ
ÁÁÁÁ
BIT 1
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
BIT 0
ÁÁÁÁÁ
ÁÁÁÁÁ
MR0
ÁÁÁÁÁ
ÁÁÁÁÁ
Rx
WATCHDOG
ÁÁÁÁÁ
ÁÁÁÁÁ
RxINT BIT 2
ÁÁÁÁÁ
ÁÁÁÁÁ
TxINT (1:0)
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
FIFO SIZE
ÁÁÁÁÁ
ÁÁÁÁÁ
BAUD RATE
EXTENDED II
ÁÁÁÁ
ÁÁÁÁ
TEST 2
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
BAUD RATE
EXTENDED 1
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
0x00
0x08
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
0 = Disable
1 = Enable
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
See Tables in
MR0 descrip-
tion
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
See Table 4
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
0 = 8 byte FIFO
1 = 16 byte FIFO
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
0 = Normal
1 = Extend II
ÁÁÁÁ
Á
ÁÁ
Á
ÁÁÁÁ
Set to 0
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
0 = Normal
1 = Extend
MR0[7]—Watchdog Control
This bit controls the receiver watchdog timer. 0 = disable,
1 = enable. When enabled, the watch dog timer will generate a
receiver interrupt if the receiver FIFO has not been accessed within
64 bit times of the receiver 1X clock. This is used to alert the control
processor that data is in the RxFIFO that has not been read. This
situation may occur when the byte count of the last part of a
message is not large enough to generate an interrupt.
MR0[6]—Rx Interrupt bit 2
Bit 2 of receiver FIFO interrupt level. This bit along with Bit 6 of MR1
sets the fill level of the FIFO that generates the receiver interrupt.
MR0[6], MR1[6] Rx Interrupt bits
Note that this control is split between MR0 and MR1. This is for
backward compatibility to legacy software of the SC2692 and
SCN2681 dual UART devices.
Table 3. Receiver FIFO
Interrupt fill level (MR0(3) = 0 (8 bytes)
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
MR0[6] MR1[6]
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
Interrupt Condition
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
00
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
1 or more bytes in FIFO (Rx RDY)
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
01
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
6 or more bytes in FIFO
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
10
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
4 or more bytes in FIFO
ÁÁÁÁÁÁÁ
11
ÁÁÁÁÁÁÁÁÁÁÁ
8 bytes in FIFO (Rx FULL)
Table 3a. Receiver FIFO
Interrupt fill level(MR0(3)=1 (16 bytes)
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
MR0[6] MR1[6]
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
Interrupt Condition
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
00
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
1 or more bytes in FIFO (Rx RDY)
ÁÁÁÁÁÁÁ
01
ÁÁÁÁÁÁÁÁÁÁÁ
8 or more bytes in FIFO
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
10
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
12 or more bytes in FIFO
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
11
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
16 bytes in FIFO (Rx FULL)
For the receiver these bits control the number of FIFO positions
filled when the receiver will attempt to interrupt. After the reset the
receiver FIFO is empty. The default setting of these bits cause the
receiver to attempt to interrupt when it has one or more bytes in it.
MR0[5:4]—Tx interrupt fill level.
Table 4. Transmitter FIFO
Interrupt fill level MR0(3) = 0 (8 bytes)
ÁÁÁÁÁ
ÁÁÁÁÁ
MR0[5:4]
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
Interrupt Condition
ÁÁÁÁÁ
ÁÁÁÁÁ
00
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
8 bytes empty (Tx EMPTY)
ÁÁÁÁÁ
ÁÁÁÁÁ
01
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
4 or more bytes empty
ÁÁÁÁÁ
ÁÁÁÁÁ
10
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
6 or more bytes empty
ÁÁÁÁÁ
11
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
1 or more bytes empty (Tx RDY)
Table 4a. Transmitter FIFO
Interrupt fill level MR0(3) = 1 (16 bytes)
ÁÁÁÁÁ
ÁÁÁÁÁ
MR0[5:4]
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
Interrupt Condition
ÁÁÁÁÁ
00
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
16 bytes empty (Tx EMPTY)
ÁÁÁÁÁ
ÁÁÁÁÁ
01
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
8 or more bytes empty
ÁÁÁÁÁ
ÁÁÁÁÁ
10
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
12 or more bytes empty
ÁÁÁÁÁ
ÁÁÁÁÁ
11
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
1 or more bytes empty (Tx RDY)
For the transmitter these bits control the number of FIFO positions
empty when the transmitter will attempt to interrupt. After the reset
the transmit FIFO has 8 bytes empty. It will then attempt to interrupt
as soon as the transmitter is enabled. The default setting of the MR0
bits [5:4] condition the transmitter to attempt to interrupt only when it
is completely empty. As soon as one–byte is loaded, it is no longer
empty and hence will withdraw its interrupt request.
MR0[3]—FIFO size
Selects the FIFO depth at 8 or 16 bytes. See Tables 3 and 4
MR0[2:0]—Baud Rate Group Selection
These bits are used to select one of the six–baud rate groups.
See Table 5 for the group organization.
•
000 Normal mode
•
001 Extended mode I
•
100 Extended mode II
Other combinations of MR2[2:0] should not be used.