C8051F120/1/2/3/4/5/6/7
254
Rev. 1.2
21.5. Serial Clock Timing
Four combinations of serial clock phase and polarity can be selected using the clock control bits in the SPI0 Configu-
ration Register (SPI0CFG). The CKPHA bit (SPI0CFG.5) selects one of two clock phases (edge used to latch the
data). The CKPOL bit (SPI0CFG.4) selects between an active-high or active-low clock. Both master and slave
devices must be configured to use the same clock phase and polarity. SPI0 should be disabled (by clearing the SPIEN
bit, SPI0CN.0) when changing the clock phase or polarity. The clock and data line relationships for master mode are
shown in Figure 21.5. For slave mode, the clock and data relationships are shown in Figure 21.6 and Figure 21.7.
Note that CKPHA must be set to ‘0’ on both the master and slave SPI when communicating between two of the fol-
lowing devices: C8051F04x, C8051F06x, C8051F12x, C8051F31x, C8051F32x, and C8051F33x
The SPI0 Clock Rate Register (SPI0CKR) as shown in Figure 21.10 controls the master mode serial clock frequency.
This register is ignored when operating in slave mode. When the SPI is configured as a master, the maximum data
transfer rate (bits/sec) is one-half the system clock frequency or 12.5 MHz, whichever is slower. When the SPI is con-
figured as a slave, the maximum data transfer rate (bits/sec) for full-duplex operation is 1/10 the system clock fre-
quency, provided that the master issues SCK, NSS (in 4-wire slave mode), and the serial input data synchronously
with the slave’s system clock. If the master issues SCK, NSS, and the serial input data asynchronously, the maximum
data transfer rate (bits/sec) must be less than 1/10 the system clock frequency. In the special case where the master
only wants to transmit data to the slave and does not need to receive data from the slave (i.e. half-duplex operation),
the SPI slave can receive data at a maximum data transfer rate (bits/sec) of 1/4 the system clock frequency. This is
provided that the master issues SCK, NSS, and the serial input data synchronously with the slave’s system clock.
SCK
(CKPOL=0, CKPHA=0)
SCK
(CKPOL=0, CKPHA=1)
SCK
(CKPOL=1, CKPHA=0)
SCK
(CKPOL=1, CKPHA=1)
MSB
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
MISO/MOSI
NSS (Must Remain High
in Multi-Master Mode)
Figure 21.5. Master Mode Data/Clock Timing
Summary of Contents for C8051F120
Page 2: ...C8051F120 1 2 3 4 5 6 7 2 Rev 1 2 Notes ...
Page 8: ...C8051F120 1 2 3 4 5 6 7 8 Rev 1 2 26 2 Flash Programming Commands 318 26 3 Debug Support 321 ...
Page 16: ...C8051F120 1 2 3 4 5 6 7 16 Rev 1 2 Notes ...
Page 48: ...C8051F120 1 2 3 4 5 6 7 48 Rev 1 2 ...
Page 98: ...C8051F120 1 2 3 4 5 6 7 98 Rev 1 2 ...
Page 106: ...C8051F120 1 2 3 4 5 6 7 106 Rev 1 2 Notes ...
Page 183: ...C8051F120 1 2 3 4 5 6 7 Rev 1 2 183 Notes ...
Page 184: ...C8051F120 1 2 3 4 5 6 7 184 Rev 1 2 ...
Page 214: ...C8051F120 1 2 3 4 5 6 7 214 Rev 1 2 Notes ...