6.5.6.4 Universal Asynchronous Receiver/Transmitter (UART)
A UART is an integrated circuit used for RS-232C serial communications, containing a transmitter (parallel-to-serial converter) and a receiver (serial-to-parallel converter), each clocked separately.
Eight fully programmable 16C550-type UARTs are integrated. Although the functionality is similar to a 16C550 UART, this UART design is not register compatible. The UART can generate individually masked interrupts from the RX, TX, modem flow control, modem status, and error conditions. The module generates one combined interrupt when any of the interrupts are asserted and are unmasked.
The UARTs have the following features:
- Programmable baud-rate generator allowing speeds up to 7.5 Mbps for regular speed (divide by 16) and 15 Mbps for high speed (divide by 8)
- Separate 16×8 transmit (TX) and receive (RX) FIFOs to reduce CPU interrupt service loading
- Programmable FIFO length, including a 1-byte-deep operation providing conventional double-buffered interface
- FIFO trigger levels of 1/8, 1/4, 1/2, 3/4, and 7/8
- Standard asynchronous communication bits for start, stop, and parity
- Line-break generation and detection
- Fully programmable serial interface characteristics
- 5, 6, 7, or 8 data bits
- Even, odd, stick, or no-parity bit generation/detection
- 1 or 2 stop bit generation
- IrDA serial-IR (SIR) encoder and decoder providing
- Programmable use of IrDA Serial Infrared (SIR) or UART I/O
- Support of IrDA SIR encoder and decoder functions for data rates up to 115.2 kbps half-duplex
- Support of normal 3/16 and low-power (1.41 to 2.23 µs) bit durations
- Programmable internal clock generator enabling division of reference clock by 1 to 256 for low-power mode bit duration
- Support for communication with ISO 7816 smart cards
- Modem functionality available on the following UARTs:
- UART0 (modem flow control and modem status)
- UART1 (modem flow control and modem status)
- UART2 (modem flow control)
- UART3 (modem flow control)
- UART4 (modem flow control)
- EIA-485 9-bit support
- Standard FIFO-level and end-of-transmission interrupts
- Efficient transfers using µDMA
- Separate channels for transmit and receive
- Receive single request asserted when data is in the FIFO; burst request asserted at programmed FIFO level
- Transmit single request asserted when there is space in the FIFO; burst request asserted at programmed FIFO level
- The Global Alternate Clock (ALTCLK) resource or System Clock (SYSCLK) can be used to generate the baud clock