765
SAM4CP [DATASHEET]
43051E–ATPL–08/14
The SCK line drives the input pin SCK.
The NSS line drives the input pin CTS.
In order to avoid unpredictable behavior, any change of the SPI Mode must be followed by a software reset of the
transmitter and of the receiver (except the initial configuration after a hardware reset). See
Section 36.6.7.4
.
36.6.7.2 Baud Rate
In SPI Mode, the baud rate generator operates in the same way as in USART synchronous mode:
See “Baud Rate in
Synchronous Mode or SPI Mode” on page 743.
However, there are some restrictions:
In SPI Master Mode:
The external clock SCK must not be selected (USCLKS
0x3), and the bit CLKO must be set to 1 in the US_MR,
in order to generate correctly the serial clock on the SCK pin.
To obtain correct behavior of the receiver and the transmitter, the value programmed in CD must be superior or
equal to 6.
If the divided peripheral clock is selected, the value programmed in CD must be even to ensure a 50:50
mark/space ratio on the SCK pin, this value can be odd if the peripheral clock is selected.
In SPI Slave Mode:
The external clock (SCK) selection is forced regardless of the value of the USCLKS field in the US_MR. Likewise,
the value written in US_BRGR has no effect, because the clock is provided directly by the signal on the USART
SCK pin.
To obtain correct behavior of the receiver and the transmitter, the external clock (SCK) frequency must be at least
6 times lower than the system clock.
36.6.7.3 Data Transfer
Up to nine data bits are successively shifted out on the TXD pin at each rising or falling edge (depending of CPOL and
CPHA) of the programmed serial clock. There is no Start bit, no Parity bit and no Stop bit.
The number of data bits is selected by the CHRL field and the MODE 9 bit in the US_MR. The nine bits are selected by
setting the MODE 9 bit regardless of the CHRL field. The MSB data bit is always sent first in SPI Mode (Master or Slave).
Four combinations of polarity and phase are available for data transfers. The clock polarity is programmed with the CPOL
bit in the US_MR. The clock phase is programmed with the CPHA bit. These two parameters determine the edges of the
clock signal upon which data is driven and sampled. Each of the two parameters has two possible states, resulting in four
possible combinations that are incompatible with one another. Thus, a master/slave pair must use the same parameter
pair values to communicate. If multiple slaves are used and fixed in different configurations, the master must reconfigure
itself each time it needs to communicate with a different slave.
Table 36-13. SPI Bus Protocol Mode
SPI Bus Protocol Mode
CPOL
CPHA
0
0
1
1
0
0
2
1
1
3
1
0