Datasheet

ATmega48PA/88PA/168PA [DATASHEET]
9223F–AVR–04/14
152
20. USART0
20.1 Features
Full duplex operation (independent serial receive and transmit registers)
Asynchronous or synchronous operation
Master or slave clocked synchronous operation
High resolution baud rate generator
Supports serial frames with 5, 6, 7, 8, or 9 data bits and 1 or 2 stop bits
Odd or even parity generation and parity check supported by hardware
Data overrun detection
Framing error detection
Noise filtering includes false start bit detection and digital low pass filter
Three separate interrupts on TX complete, TX data register empty and RX complete
Multi-processor communication mode
Double speed asynchronous communication mode
20.2 Overview
The universal synchronous and asynchronous serial receiver and transmitter (USART) is a highly flexible serial
communication device.
The USART0 can also be used in master SPI mode, see Section 21. “USART in SPI Mode” on page 175. The power
reduction USART bit, PRUSART0, in Section 10.10 “Minimizing Power Consumption” on page 37 must be disabled by
writing a logical zero to it.
A simplified block diagram of the USART transmitter is shown in Figure 20-1 on page 153. CPU accessible I/O registers and
I/O pins are shown in bold.
The dashed boxes in the block diagram separate the three main parts of the USART (listed from the top): Clock generator,
transmitter and receiver. Control registers are shared by all units. The clock generation logic consists of synchronization
logic for external clock input used by synchronous slave operation, and the baud rate generator. The XCKn (transfer clock)
pin is only used by synchronous transfer mode. The transmitter consists of a single write buffer, a serial shift register, parity
generator and control logic for handling different serial frame formats. The write buffer allows a continuous transfer of data
without any delay between frames. The receiver is the most complex part of the USART module due to its clock and data
recovery units. The recovery units are used for asynchronous data reception. In addition to the recovery units, the receiver
includes a parity checker, control logic, a shift register and a two level receive buffer (UDRn). The receiver supports the
same frame formats as the transmitter, and can detect frame error, data overrun and parity errors.