XR17C158
PCI BUS OCTAL UART
PRELIMINARY
REV. 1.0.0
33
4.11 I
NTERRUPT
S
TATUS
R
EGISTER
(ISR)
The UART provides multiple levels of prioritized inter-
rupts to minimize external software interaction. The
Interrupt Status Register (ISR) provides the user with
six interrupt status bits. Performing a read cycle on
the ISR will give the user the current highest pending
interrupt level to be serviced, others queue up for
next service. No other interrupts are acknowledged
until the pending interrupt is serviced. The Interrupt
Source Table, Table 12, shows the data values (bit 0-
5) for the six prioritized interrupt levels and the inter-
rupt sources associated with each of these interrupt
levels.
4.11.1 Interrupt Generation:
LSR is by any of the LSR bits 1, 2, 3 and 4.
RXRDY is by RX trigger level.
RXRDY Time-out is by the a 4-char plus 12 bits
delay timer if data doesn’t reach FIFO trigger level.
TXRDY is by LSR bit-5 (or bit-6 in auto RS485 con-
trol).
MSR is by any of the MSR bits, 0, 1, 2 and 3.
Receive Xon
/
Xoff/Special character is by detection
of a Xon, Xoff or Special character.
CTS#/DSR# is by a change of state on the input pin
with auto flow control enabled, EFR bit-7, and
depending on selection on MCR bit-2.
RTS#/DTR# is when its receiver changes the state
of the output pin during auto RTS/DTR flow control
enabled by EFR bit-6 and selection of MCR bit-2.
4.11.2 Interrupt Clearing:
LSR interrupt is cleared by a read to the LSR regis-
ter.
RXRDY and RXRDY Time-out are cleared by read-
ing data until FIFO falls below the trigger level.
TXRDY interrupt is cleared by a read to the ISR
register.
MSR interrupt is cleared by a read to the MSR reg-
ister.
Xon, Xoff or Special character interrupt is cleared
by a read to ISR.
RTS#/DTR# and CTS#/DSR# status change inter-
rupts are cleared by a read to the MSR register.
ISR[0]: Interrupt Status
Logic 0 = An interrupt is pending and the ISR con-
tents may be used as a pointer to the appropriate in-
terrupt service routine.
Logic 1 = No interrupt pending. (default condition)
ISR[3:1]: Interrupt Status
These bits indicate the source for a pending interrupt
at interrupt priority levels 1, 2, 3 and 4 (See Interrupt
Source
Table 12
).
ISR[5:4]: Interrupt Status
These bits are enabled when EFR bit-4 is set to a log-
ic 1. ISR bit-4 indicates that the receiver detected a
data match of the Xon or Xoff character(s).
N
OTE
:
Note that once set to a logic 1, the ISR bit-4 will stay
a logic 1 until a Xon character is received. ISR bit-5 indi-
cates that CTS#/DSR# or RTS#/DTR# has changed state.
ISR[7:6]: FIFO Enable Status
These bits are set to a logic 0 when the FIFOs are
disabled. They are set to a logic 1 when the FIFOs
are enabled.
FIFO Control Register (FCR)
This register is used to enable the FIFOs, clear the
FIFOs, set the transmit/receive FIFO trigger levels,
and select the DMA mode. The DMA, and FIFO
modes are defined as follows:
T
ABLE
12: I
NTERRUPT
S
OURCE
AND
P
RIORITY
L
EVEL
P
RIORITY
ISR R
EGISTER
S
TATUS
B
ITS
S
OURCE
OF
THE
INTERRUPT
+
L
EVEL
B
IT
-5
B
IT
-4
B
IT
-3
B
IT
-2
B
IT
-1
B
IT
-0
1
2
3
4
5
6
7
X
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
LSR (Receiver Line Status Register)
RXRDY (Received Data Ready)
RXRDY (Receive Data Time-out)
TXRDY ( Transmitter Holding Register Empty)
MSR (Modem Status Register)
RXRDY (Received Xon/Xoff or Special character)
CTS#/DSR#, RTS#/DTR# change of state
None (default)