MPC5200B Users Guide, Rev. 1
17-10 Freescale Semiconductor
Functional Description

Figure 17-2. Master/Slave Transfer Block Diagram

17.4.4.1 Clock Phase and Polarity Controls
Using two bits in the SPI control register 1, software selects one of four combinations of serial clock phase and polarity.
The CPOL clock polarity control bit specifies an active high or low clock and has no significant effect on the transmission format.
The CPHA clock phase control bit selects one of two fundamentally different transmission formats.
Clock phase and polarity should be identical for the master SPI device and the communicating slave device. In some cases, the phase and
polarity are changed between transmissions to allow a master device to communicate with peripheral slaves having different requirements.
17.4.4.2 CPHA = 0 Transfer Format
The first edge on the SCK line is used to clock the slave msb into the master and the master msb into the slave. In some peripherals, the msb
of the slave's data is available at the slave data out pin as soon as the slave is selected. In this format, the first SCK edge is not issued until a
half cycle into the 8-cycle transfer operation. The first edge of SCK is delayed a half cycle by clearing the CPHA bit.
The SCK output from the master remains in the inactive state for a half SCK period before the first edge appears. A half SCK cycle later, the
second edge appears on the SCK line. When this second edge occurs, the value previously latched from the serial data input pin is shifted into
the LSB of the shifter.
After this second edge, the next bit of the SPI master data is transmitted out of the serial data output pin of the master to the serial input pin
on the slave. This process continues for a total of 16 edges on the SCK line, with data being latched on odd numbered edges and shifted on
even numbered edges.
Data reception is double buffered. Data is shifted serially into the SPI shift register during the transfer and is transferred to the parallel SPI
data register after the last bit is shifted in.
After the 16th (last) SCK edge:
Data that was previously in the master SPI data register should now be in the slave data register and the data that was in the slave
data register should be in the master.
The SPIF flag in the SPI status register is set and the clock is stopped, indicating that the transfer is complete.
Table 17-3 is a timing diagram of an SPI transfer where CPHA = 0. SCK waveforms are shown for CPOL = 0 and CPOL = 1. The diagram
may be interpreted as a master or slave timing diagram since the SCK, MISO, and MOSI pins are connected directly between the master and
the slave. The MISO signal is the output from the slave and the MOSI signal is the output from the master. The SS pin of the master must be
either high or reconfigured as a general-purpose output not affecting the SPI.
SHIFT REGISTER
SHIFT REGISTER
BAUD RATE
GENERATOR
MASTER SPI SLAVE SPI
VDD
MOSI MOSI
MISO MISO
SCK SCK
SS SS