A four-wire serial bus protocol used primarily in embedded systems to connect microcontrollers to sensors, memory chips, and displays. It operates in a primary-secondary architecture with separate lines for clock, data in, data out, and chip select. Because it uses dedicated transmit and receive lines, it supports full-duplex communication at much higher speeds than two-wire alternatives.
Hook up the logic analyzer to the SPI bus so we can verify the microcontroller is actually sending the initialization sequence to the display.
Always check your clock polarity and phase settings; mismatched SPI modes are the most common reason for reading garbage data.
Do not mix it up with
- I²C: SPI uses four wires and supports higher speeds in full-duplex, while I2C uses only two wires and requires addressing.
Related terms
I²C
A two-wire serial communication protocol used to connect low-speed peripherals to a processor.
UART
A universal asynchronous receiver-transmitter is a hardware block that translates data between parallel and serial forms.
Microcontroller
A compact integrated circuit designed to govern a specific operation in an embedded system.
Clock
A continuous square wave signal that synchronizes the timing of digital circuits.