UM10208_2
© NXP B.V. 2007. All rights reserved.
User manual
Rev. 02 — 1 June 2007
157 of 362
NXP Semiconductors
UM10208
Chapter 14: LPC2800 UART
3.6 Interrupt Identification Register (IIR - 0x8010 1008, Read Only)
The IIR provides a status code that denotes the priority and source of a pending interrupt.
The interrupts are frozen during an IIR access. If an interrupt occurs during an IIR access,
the interrupt is recorded for the next IIR access.
Interrupts are handled as described in
. Given the status of IIR[3:0], an
interrupt handler routine can determine the cause of the interrupt and how to clear the
active interrupt. The IIR must be read in order to clear the interrupt prior to exiting the
Interrupt Service Routine.
The RLS interrupt (IIR[3:1]=011) is the highest priority interrupt and is set whenever any
one of four error conditions occur on the Rx input: overrun error (OE), parity error (PE),
framing error (FE) and break interrupt (BI). The Rx error condition that set the interrupt
can be examined in LSR[4:1]. The interrupt is cleared upon an LSR read.
The RDA interrupt (IIR[3:1]=010) shares the second level priority with the CTI interrupt
(IIR[3:1]=110). The RDA is activated when the Rx FIFO reaches the trigger level defined
in FCR[7:6] and is reset when the Rx FIFO depth falls below the trigger level. When the
RDA interrupt goes active, the CPU can read a block of data defined by the trigger level.
The CTI interrupt (IIR[3:1]=110) is a second level interrupt and is set when the Rx FIFO
contains at least one character and no Rx FIFO activity has occurred in 3.5 to 4.5
character times. Any Rx FIFO activity (read or write of the RSR) will clear the interrupt.
This interrupt is intended to flush the RBR after a message has been received that is not a
multiple of the trigger level size. For example, if a peripheral wished to send a 105
character message and the trigger level was 10 characters, the CPU would receive 10
RDA interrupts resulting in the transfer of 100 characters and 1 to 5 CTI interrupts
(depending on the service routine) resulting in the transfer of the remaining 5 characters.
Table 172. Interrupt Identification Register (IIR - 0x8010 1008, read only)
Bit
Name
Description
Reset
Value
0
Interrupt
Status
A 0 in this bit indicates that at least one non-autobaud interrupt is
pending.
1
3:1
Interrupt
Identification
When the Interrupt Status bit is 0, these bits identify the
highest-priority non-autobaud interrupt that is enabled and pending,
as shown in
0
5:4
-
Reserved. The value read from a reserved bit is not defined.
-
7:6
FIFOEnables Both of these read-only bits are copies of FCR[0].
0
8
ABEOInt
A 1 in this bit indicates that an auto-baud process has completed,
and this interrupt is enabled in IER[8].
0
9
ABTOInt
A 1 in this bit indicates that an auto-baud process has timed out, and
this interrupt is enabled in IER[9].
0
31:10 -
Reserved. The value read from a reserved bit is not defined.
-