PKP
VS1000 P
ROGRAMMER
’
S
G
UIDE
VSMPG
16
SPI
v1.3 2005-06-09
16.1
General
MASTER
SLAVE 1
SLAVE 2
SLAVE 3
SCLK
MOSI
MISO
xCS3
xCS2
xCS1
MOSI
MOSI
MOSI
SCLK
SCLK
SCLK
MISO
MISO
MISO
xCS
xCS
xCS
Figure 10: SPI Bus
SPI is a serial bus interface that allows for simple serial communication between one
host and potentially several slaves. As depicted in Figure 10, four different signals are
required for implementing SPI:
•
SCLK (Master Serial Clock): a static serial clock, offered by the master.
•
MOSI (Master Out / Slave In): Master’s output data. This output is always driven
by the master.
•
MISO (Master In / Slave Out): Slave’s output data. By default, all slaves on the
bus are in high impedance state. When the slave’s chip select is activated, it turns
MISO to an output, and when it starts receiving SCLKs, it behaves as defined in
the slave’s specification.
•
xCS (Chip Select): Every slave requires its own chip select. Without the chip select
signal, a slave may not listen to what happens on the SPI bus.
Although widely used, SPI is not a real standard. Because of this, there are many
different implementations, more or less compatible with each other. Also, a very similar
de-facto standard, SSI, is in wide use with e.g. D/A converters. Again, there exists
another de-facto standard very close to this, Microwire. Thus, if one wants to make an
SPI/SSI/Microwire master device that works with all kinds of different slaves, it must be
well configurable.
SPI Block Compatibility
Format
Master
Slave
SPI
Yes
Yes
SSI
Yes
Yes
Microwire
Yes
No
Rev. 0.20
2011-10-04
Page