Serial Peripheral Interface

Serial Peripheral Interface (SPI) on synkroninen sarjaväylä, jossa on erillinen tahdistussignalointi. Sitä käytetään tyypillisesti laitteiden sisäisesti, enimmäkseen sulautetuissa järjestelmissä.

Väylän kehitti Motorola 1980-luvun alkupuolella. Motorolan mikrokontrolleri MC68HC05C4 oli yksi ensimmäisiä, joissa väylä toteutettiin laitteistolla. Alkuperäinen kuvaus on dokumentti Application Node AN991/D "Using the Serial Peripheral Interface to Communicate Between Multiple Microcomputers" vuodelta 1987. Tämä ei ole spesifikaatio, vaan käyttöohje Motorolan piireille. Määritelmä ei määrittele esim. protokollaa väylän käyttöön, vaikka olettaakin väylällä siirrettävän 8-bittisiä tavuja ilman tarkistussummia tai virheenkorjausta tms. Määrittely jäi myöhemmin Freescale Semiconductorille ja NXP Semiconductorsille, joka on julkaissut viimeisen revision vuonna 2002.

SPI perustuu puhtaasti isäntä/orja-periaatteeseen, jossa isäntä tuottaa kellosignaalin. Väylä käyttää neljää signaalia master-out/slave-in (MOSI), master-in/slave-out (MISO), serial clock (SCK) ja slave select (SS). SS-signaalin avulla isäntä valitsee käytettävän laitteen. Kommunikointi tapahtuu kahteen suuntaan (full-duplex) kellon tahdissa bitti kerrallaan.
Eri laitteissa on eroja kellosignaalin polariteetissa (CPOL) ja vaiheessa, tahdistetaanko tiedonsiirto kellosignaalin nousevaan vai laskevaan reunaan (CPHA).

Viitteet

Väylät ja liitännät