SPI je sériové periferní rozhraní. Používá se pro komunikaci mezi řídícími mikroprocesory a ostatními integrovanými obvody (EEPROM, A/D převodníky, displeje…). Komunikace je realizována pomocí společné sběrnice. Adresace se provádí pomocí zvláštních vodičů, které při logické nule aktivují příjem a vysilání zvoleného zařízení (piny SS nebo CS).
určuje se kterým zařízením na sběrnici bude komunikovat pomocí SS-Slave Select(někdy CS-Chip Select)
Slave
vysílá podle hodinového signálu, pokud je aktivován pomocí SS/CS
Průběh komunikace
SPI bus: single master and three slaves
Pro komunikaci Master nastaví log.0 na SS zařízení se kterým chce komunikovat.
Pak začne generovat hodinový signál na SCLK a v té chvíli vyšlou obě zařízení svoje data, přičemž MOSI je vždy Master výstup, Slave vstup a MISO je Master Vstup, Slave výstup.
Jakmile jsou data vyslána muže komunikace dále pokračovat:
Master dále dodává hodinový signál, hodnota SS se nemění
nebo může být ukončena: Master přestane vysílat hodinový signál a nastaví SS do log.1.
Délka vyslaných dat je buď 8bit (Byte) a nebo 16bit (Word).
Polarita a fáze hodinového signálu
A timing diagram showing clock polarity and phase
Vztah mezi hodinovým signálem a daty se určuje dvěma konfiguračními bity:CPOL a CPHA.