Serial Peripheral Interface
Das Serial Peripheral Interface (kurz SPI) ist ein im Jahr 1987 von Susan C. Hill Et al., damals bei dem Halbleiterhersteller Motorola (heute NXP Semiconductors), entwickeltes Bus-System und stellt einen „lockeren“ Standard für einen synchronen seriellen Datenbus (Synchronous Serial Port) dar, mit dem digitale Schaltungen nach dem Master-Slave-Prinzip miteinander verbunden werden können.[1]
Ein ähnliches Bus-System unter der Bezeichnung Microwire existiert von National Semiconductor.




Grundlagen
Eigenschaften
- Drei gemeinsame Leitungen, an denen jeder Teilnehmer angeschlossen ist:
- Die Datenleitungen werden manchmal auch SDO (englisch Serial Data Out) und SDI (englisch Serial Data In) genannt, wobei die Benennung meistens aus der Sicht des jeweiligen Busteilnehmers erfolgt, so dass hier die Leitungen über Kreuz verbunden werden müssen. Statt SDI mit SDI und SDO mit SDO zu verbinden, müssen jeweils SDI mit SDO der Gegenstelle verbunden werden.
- Eine oder mehrere mit logisch-0 aktive Chip-Select-Leitungen, welche alle vom Master gesteuert werden und von denen je eine Leitung pro Slave vorgesehen ist. Diese Leitungen werden je nach Anwendung unterschiedlich mit Bezeichnungen wie SS, CS, STE oder CE für Slave Select, Chip Select, Slave Transmit Enable oder Chip Enabler bezeichnet, oft noch in Kombination mit einer Indexnummer zur Unterscheidung. Es gibt auch spezielle Anwendungen, bei denen sich mehrere Slaves eine Leitung teilen, siehe Bild 1.
- Vollduplexfähig
- Viele Einstellmöglichkeiten, wie
- mit welcher Taktflanke ausgegeben oder eingelesen wird
- Wortlänge
- Übertragung: MSB oder LSB zuerst
- Unterschiedliche Taktfrequenzen bis in den MHz-Bereich sind zulässig.
- Vielfältige Einsatzmöglichkeiten in Audio- und Messanwendungen, zur Datenübertragungster hingegen legt seine Daten immer zum gleichen Zeitpunkt an, meist kurz nach der fallenden Flanke von SCK.
Mit jeder Taktperiode wird ein Bit übertragen. Beim üblichen Bytetransfer sind also acht Taktperioden für eine vollständige Übertragung nötig. Es können auch mehrere Worte hintereinander übertragen werden, wobei in der Spezifikation nicht festgelegt ist, ob zwischen jedem Wort das SS-Signal kurz wieder auf High gezogen werden muss. Eine Übertragung ist beendet, wenn das Slave-Select-Signal endgültig auf High gesetzt wird.
Mode | CPOL | CPHA |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
2 | 1 | 0 |
3 | 1 | 1 |
Weblinks
- SPI – Serial Peripheral Interface, Grundlagenartikel