Understanding SPI
The Serial Peripheral Interface (SPI) bus is a high-speed, serial bus originally developed by Motorola. Its purpose is to facilitate point-to-point communication between a single master device and one or more slave device. The SPI bus is typically implemented using four signals:
SCLK
MOSI
MISO
SS
/CS
Like I2C, the master on the SPI bus sets the pace of communication between the master and the slave by producing a clock signal. With SPI, this clock signal is called the
serial clock (SCLK
). Unlike the bidirectional data bus of I2C, SPI uses dedicated outgoing and incoming data lines for each device. Using dedicated lines results in SPI being able to achieve communication speeds far higher than those of I2C. The master sends data to the slave via the
master out, slave in (MOSI
) signal, and it receives data from the slave via the
master in, slave out (MISO
) signal. The
slave select (SS
) signal, also called
chip select (CS
), tells the slave device whether it should be awake...