SPI



Übertragungsverfahren

Das SPI-Übertragungsverfahren basiert auf dem Master-Slave-Prinzip. Ein Master kommuniziert immer nur mit einem Slave gleichzeitig, es können aber eine beliebige Zahl Slave-Geräte an einen Master angeschlossen werden. Ein Gerät benötigt grundsätzlich vier Anschlüsse: Takt, Slave-Select-Leitung, Daten-Ein- und Ausgang. Beim Master sind Takt und Slave-Select Ausgänge, beim Slave hingegen Eingänge. Will nun der Master mit einem Slave Daten austauschen, so legt er dessen Slave-Select-Leitung auf Low, woraufhin die Daten mit dem vorgegebenen Takt aus dem Schieberegister des Master in das Schieberegister des Slave geladen werden. Gleichzeitig wird auf der zweiten Datenleitung dieselbe Prozedur in entgegengesetzter Richtung ausgeführt. Die Datenleitungen werden nach ihrer Funktion als MISO(Master In Slave Out) oder MOSI(Master Out Slave In) bezeichnet, die Taktleitung wird meist mit SCLK bezeichnet und die Slave-Select-Leitung mit SS oder CS(für Chip select). Bei einem SPI-Datentransfer ist es wichtig, die korrekte Phasenlage der Daten zum Takt einzustellen. Dafür werden die Parameter CPOL und CPHA benutzt, wobei CPOL für die Polarität des Taktsignals steht und CPHA für die Phasenlage zum Datensignal. Es sollte darauf geachtet werden, dass die Einstellungen passend zu denen der Gegenstelle gewählt werden.


Polarität CPOL bei CPHA = 0



Polarität CPOL bei CPHA = 1

SpartanMC SPI-Master(external link)

SpartanMC SPI-Slave(external link)

WEB-Seiten mit Informationen zur Funktion des SPI

http://de.wikipedia.org/wiki/Serial_Peripheral_Interface(external link)
http://www.mct.de/faq/spi.html(external link)



SpartanMC