Learning path

Full curriculum

Full curriculum

Arrows go from each prerequisite to the units that depend on it. Hover or focus a unit to highlight its path.

Unit content

SPI synchronous serial communication

The Serial Peripheral Interface (SPI) moves bits synchronously using a clock generated by a controller.

A typical bus uses:

  • SCLK for the serial clock;
  • one data line from controller to peripheral;
  • one data line from peripheral to controller;
  • a chip-select signal that chooses which peripheral is active.

On each clock edge, the participants shift bits according to an agreed clock polarity and phase. Different combinations of these choices are commonly called SPI modes.

SPI does not define universal device addressing or message meaning. A particular sensor, memory or converter defines its own command and register protocol on top of the bit transfer.

Separate data directions allow full-duplex transfer, although many devices use one direction at a time. Additional peripherals usually require additional chip-select signals or external selection logic.

SPI favors simple, fast board-level communication at the cost of more wires and less built-in bus coordination than addressed serial buses.