Download UM10116

Transcript
UM10116
NXP Semiconductors
P89LPC933/934/935/936 User manual
S
M
CPU clock
8-BIT SHIFT REGISTER
clock
MSTR
SPR0
SPICLK
P2.5
SS
P2.4
SPR0
SPR1
CPOL
CPHA
MSTR
SSIG
WCOL
DORD
MSTR
SPEN
SPI CONTROL
SPEN
SPR1
S
M
CLOCK LOGIC
MOSI
P2.2
SPEN
SPI clock (master)
SELECT
SPIF
PIN
CONTROL
LOGIC
READ DATA BUFFER
DIVIDER
BY 4, 16, 64, 128
MISO
P2.3
M
S
SPI CONTROL REGISTER
SPI STATUS REGISTER
SPI
interrupt
request
internal
data
bus
002aaa900
Fig 41. SPI block diagram.
The SPI interface has four pins: SPICLK, MOSI, MISO and SS:
• SPICLK, MOSI and MISO are typically tied together between two or more SPI
devices. Data flows from master to slave on the MOSI (Master Out Slave In) pin and
flows from slave to master on the MISO (Master In Slave Out) pin. The SPICLK signal
is output in the master mode and is input in the slave mode. If the SPI system is
disabled, i.e. SPEN (SPCTL.6) = 0 (reset value), these pins are configured for port
functions.
• SS is the optional slave select pin. In a typical configuration, an SPI master asserts
one of its port pins to select one SPI device as the current slave. An SPI slave device
uses its SS pin to determine whether it is selected. The SS is ignored if any of the
following conditions are true:
– If the SPI system is disabled, i.e. SPEN (SPCTL.6) = 0 (reset value)
– If the SPI is configured as a master, i.e., MSTR (SPCTL.4) = 1, and P2.4 is
configured as an output (via the P2M1.4 and P2M2.4 SFR bits);
– If the SS pin is ignored, i.e. SSIG (SPCTL.7) bit = 1, this pin is configured for port
functions.
Note that even if the SPI is configured as a master (MSTR = 1), it can still be converted to
a slave by driving the SS pin low (if P2.4 is configured as input and SSIG = 0). Should this
happen, the SPIF bit (SPSTAT.7) will be set (see Section 13.4 “Mode change on SS”)
Typical connections are shown in Figure 42 to Figure 44.
Table 87.
SPI Control register (SPCTL - address E2h) bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
SSIG
SPEN
DORD
MSTR
CPOL
CPHA
SPR1
SPR0
Reset
0
0
0
0
0
1
0
0
UM10116_3
User manual
© NXP B.V. 2009. All rights reserved.
Rev. 03 — 10 February 2009
97 of 149