Serial Peripheral Interface

Das SPI ist Interface für synchrone und serielle Kommunikation.

Funktionsweise

Es werden alle Teilnehmer an folgenden drei Leitungen angschloseen:

  • SCLK (auch SCK genannt) wird vom Host zur Synchronisation ausgegeben
  • MOSI ist eine Datenleitung vom Host zum Client
  • MISO ist eine Datenleitung vom Client zum Host

Es gibt eine weitere Leitung vom Host zu jedem Client mit dem Namen SS (oft auch CS oder STE genannt). Diese wählt einen Client aus, in dem sie dessen SS Leitung auf null setzt. In dem Folgendem Bild sehen Sie ein möglichen Aufbau. (Ich habe die Begriffe "Master" und "Slave" gegen "Host" und "Client" ausgetauscht. )

SPI Aufbau

Für die Übertragung haben sich folgende vier Modi durchgesetzt:

ModeCPOLCPHA
000
101
210
311

Die Modi werden durch die Parameter "Clock Polarity" (CPOL) und "Clock Phase" (CPHA) festgelegt. Bei CPOL=0 ist der Clock Idle Low, bei CPOL=1 ist der Clock Idle High. Das beutet, dass bei CPOL = 0 ein bit versendet wird, wenn die Clock auf 1 ist.

CPHA gibt an, bei der wievielten Flanke die Daten übernommen werden sollen. Bei CPHA=0 werden sie bei der ersten Flanke übernommen und bei CPHA=1 bei der zweiten. Dies wurde bei dem folgendem Bild visualisiert.

Quelle: Wikipedia

Der Host legt seine Daten immer kurz nach der fallenden Flanke von SCK an.