RM0091 Universal synchronous asynchronous receiver transmitter (USART)
Doc ID 018940 Rev 1 571/742
25 Universal synchronous asynchronous receiver
transmitter (USART)
25.1 USART introduction
The universal synchronous asynchronous receiver transmitter (USART) offers a flexible
means of full-duplex data exchange with external equipment requiring an industry standard
NRZ asynchronous serial data format. The USART offers a very wide range of baud rates
using a baud rate generator.
It supports synchronous one-way communication and half-duplex single wire
communication. It also supports the LIN (local interconnection network), Smartcard Protocol
and IrDA (infrared data association) SIR ENDEC specifications, and modem operations
(CTS/RTS). It allows multiprocessor communication.
High speed data communication is possible by using the DMA for multibuffer configuration.
25.2 USART main features
● Full duplex, asynchronous communications
● NRZ standard format (mark/space)
● Configurable oversampling method by 16 or by 8 to give flexibility between speed and
clock tolerance
● Baud rate generator systems
– A common programmable transmit and receive baud rate of up to 6 Mbit/s when
the clock frequency is 48 MHz and oversampling is by 8
● Dual clock domain allowing
– UART functionality and wakeup from Stop mode
– Convenient baud rate programming independent from the PCLK reprogramming
● Auto baud rate detection
● Programmable data word length (8 or 9 bits)
● Programmable data order with MSB-first or LSB-first shifting
● Configurable stop bits - support for 1 or 2 stop bits
● Synchronous mode and clock output for synchronous communication
● Single-wire half-duplex communication
● Continuous communication using DMA (direct memory access)
– Buffering of received/transmitted bytes in reserved SRAM using centralized DMA
● Separate enable bits for transmitter and receiver
● Separate signal polarity control for transmission and reception
● Swappable Tx/Rx pin configuration
● Hardware flow control for modem and RS-485 transceiver
● Transfer detection flags:
– Receive buffer full
– Transmit buffer empty
– Busy and end of transmission flags