This article may need to be rewritten to comply with Wikipedia's quality standards, as it reads like a guide or textbook. (March 2021) |
This article appears to be slanted towards recent events. (December 2023) |
Type | Serial communication bus | ||
---|---|---|---|
Production history | |||
Designer | Motorola | ||
Designed | Around early 1980s[note 1] | ||
Manufacturer | various | ||
Daisy chain | Depends on devices | ||
Connector | Unspecified | ||
Electrical | |||
Max. voltage | Unspecified | ||
Max. current | Unspecified | ||
Data | |||
Width | 1 bit (bidirectional) | ||
Max. devices | Multidrop limited by chip selects. Daisy chaining unlimited. | ||
Protocol | Full-duplex serial | ||
Pinout | |||
MOSI | Master Out Slave In | ||
MISO | Master In Slave Out | ||
SCLK | Serial Clock | ||
CS | Chip Select (one or more) | ||
(pins may have alternative names) |
Serial Peripheral Interface (SPI) is a de facto standard (with many variants) for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.
SPI follows a master–slave architecture, [1] called main–sub herein, [note 2] [note 3] where one[note 4] main device orchestrates communication with one or more sub (peripheral) devices by driving the clock and chip select signals.
Motorola's original specification (from the early 1980s) uses four logic signals, aka lines or wires, to support full duplex communication. It is sometimes called a four-wire serial bus to contrast with three-wire variants which are half duplex, and with the two-wire I²C and 1-Wire serial buses.
Typical applications include interfacing microcontrollers with peripheral chips for Secure Digital cards, liquid crystal displays, analog-to-digital and digital-to-analog converters, flash and EEPROM memory, and various communication chips.
Although SPI is a synchronous serial interface,[2] it is different from Synchronous Serial Interface (SSI). SSI employs differential signaling and provides only a single simplex communication channel.
Cite error: There are <ref group=note>
tags on this page, but the references will not show without a {{reflist|group=note}}
template (see the help page).