![Intel IXP45X Developer'S Manual Download Page 759](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092759.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
759
Universal Asynchronous Receiver-Transmitter (UART)—Intel
®
IXP45X and Intel
®
IXP46X
Product Line of Network Processors
In Non-FIFO Mode, the Transmit Data Request Interrupt Enable allows interrupts to be
generated to the Interrupt Controller for the IXP45X/IXP46X network processors and
captured in the UART Interrupt Identification Register (IIR), when the Transmit Holding
Register is empty. Reading the Interrupt Identification Register or writing a new
character into the Transmit Holding Register clears the Transmit Data Request
Interrupt.
In FIFO Mode, the Transmit Data Request Interrupt Enable allows interrupts to be
generated to the Interrupt Controller for the IXP45X/IXP46X network processors and
captured in the UART Interrupt Identification Register (IIR), when the Transmit FIFO is
half empty or less.
The Transmit FIFO size is 64 characters. When 32 or fewer characters are remaining in
the Transmit FIFO to be transmitted, the Transmit Data Request Interrupt will be
generated. Reading the Interrupt Identification Register — or writing a new data into
the Transmit FIFO — clears the Transmit Data Request Interrupt.
The Modem Status Interrupt Enable allows interrupts to be generated to the Interrupt
Controller for the IXP45X/IXP46X network processors — and captured in the UART
Interrupt Identification Register (IIR) — when the Clear-to-Send, Data-Set-Ready,
Ring-Indicator, or Received-Line Signal Detect bits in the Modem Status Register are
set to logic 1. Reading the Modem Status Register clears the Modem Status Interrupt.
Clearing the appropriate bit of the Interrupt Enable Register may disable each of the
interrupt types previously described. Similarly, by setting the appropriate bits, selected
interrupts can be enabled on a per-interrupt basis.
When the UART interrupts are disabled, the UART is placed into polled mode of
operation. Since the UART receiver and the UART transmitter are controlled separately,
either one or both interfaces can be placed in the polled mode of operation.
In the polled mode of operation, software routines running on the Intel XScale
processor checks receiver and transmitter status via the Line Status Register. Line
Status Register bit 0 will be logic 1, when a character is available to be read from the
Receive Interface. Lines Status Register bits 1 through 4 specify which error(s) has
occurred — for the character at the bottom of the FIFO or in the Receive Buffer
Register.
In FIFO mode, Line Status Register bit 1 through 3 is stored with each received
character in the Receive FIFO. The Line Status Register shows the status bits of the
character at the bottom of the Receive FIFO. When the character at the bottom of the
FIFO has errors, the Line Status error bits are set and are not cleared until the Intel
XScale processor reads the Line Status Register. Even if the character in the FIFO is
read — and a new character is now at the bottom of the FIFO — the interrupts will not
be cleared until the Line-Status Register is read.
Character-error status is handled in the same way as when the UART is operating in
interrupt mode of operation. Setting Line-Status Register bit 5 to logic 1 indicates that
the Transmit FIFO or the Transmit Holding Register is requesting data. Line Status
Register bit 6 identifies that both the Transmit FIFO and the Transmit Shift Register
have no data. Line Status Register bit 7 indicates the status of any errors in the Receive
FIFO.
In non-FIFO mode, three of the LSR register bits — parity error, framing error, and
break interrupt — show the error status of the character that has just been received.
The Receive Time-Out Interrupt is separated from the Receive-Data-Available Interrupt
to prevent an Interrupt Controller routine and a Data Service controller routing from
servicing the receive FIFO at the same time. Bit 7 of the Interrupt Enable Register is
used as the enable bit of Data Service requests. Bit 5 of the Interrupt Enable Register is
used as the enable bit of NRZ-coding enable.