Datasheet
25. USART in SPI (USARTSPI) Mode
25.1 Features
• Full Duplex, Three-wire Synchronous Data Transfer
• Master Operation
• Supports all four SPI Modes of Operation (Mode 0, 1, 2, and 3)
• LSB First or MSB First Data Transfer (Configurable Data Order)
• Queued Operation (Double Buffered)
• High-Resolution Baud Rate Generator
• High Speed Operation (f
XCKmax
= f
CK
/2)
• Flexible Interrupt Generation
25.2 Overview
The Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) can be set to a
master SPI compliant mode of operation.
Setting both UMSELn[1:0] bits to one enables the USART in MSPIM logic. In this mode of operation the
SPI master control logic takes direct control over the USART resources. These resources include the
transmitter and receiver shift register and buffers, and the baud rate generator. The parity generator and
checker, the data and clock recovery logic, and the RX and TX control logic is disabled. The USART RX
and TX control logic is replaced by a common SPI transfer control logic. However, the pin control logic
and interrupt generation logic is identical in both modes of operation.
The I/O register locations are the same in both modes. However, some of the functionality of the control
registers changes when using MSPIM.
25.3 Clock Generation
The clock generation logic generates the base clock for the transmitter and receiver. For USART MSPIM
mode of operation only internal clock generation (i.e., master operation) is supported. The Data Direction
register for the XCKn pin (DDR_XCKn) must therefore be set to one (i.e., as output) for the USART in
MSPIM to operate correctly. Preferably the DDR_XCKn should be set up before the USART in MSPIM is
enabled (i.e., TXENn and RXENn bit set to one).
The internal clock generation used in MSPIM mode is identical to the USART Synchronous Master mode.
The table below contains the equations for calculating the baud rate or UBRRn setting for Synchronous
Master mode.
Table 25-1. Equations for Calculating Baud Rate Register Setting
Operating Mode Equation for Calculating Baud
Rate
(1)
Equation for Calculating UBRRn
Value
Synchronous Master
mode
BAUD =
OSC
2
+ 1
=
OSC
2BAUD
1
Note: 1. The baud rate is defined to be the transfer rate in bit per second (bps)
ATmega48PA/88PA/168PA
USART in SPI (USARTSPI) Mode
© 2018 Microchip Technology Inc.
Datasheet Complete
DS40002011A-page 265