SPI
SPI ist eine synchrone serielle Schnittstelle für die Datenübertragung zwischen einem Controller und Peripheriebausteinen.
Displays, Speicherchips, Wandler und Sensoren werden in Mikrocontrollerprojekten häufig über wenige Leitungen angebunden. Beim Serial Peripheral Interface erzeugt der steuernde Teilnehmer einen Takt und überträgt Daten synchron dazu. Typische Leitungen heißen SCK, MOSI und MISO; zusätzlich erhält jedes ausgewählte Gerät meist eine eigene Chip-Select-Leitung.
SPI kann hohe Datenraten erreichen und erlaubt gleichzeitig Senden und Empfangen, benötigt dafür aber mehr Leitungen als I2C. Mehrere Geräte können Takt- und Datenleitungen teilen, solange ihre Auswahl sauber getrennt wird. Taktpolarität und Taktphase müssen zwischen den Teilnehmern zusammenpassen; Bibliotheken übernehmen diese Einstellung oft, Fehler zeigen sich jedoch als unlesbare Daten oder komplett ausbleibende Kommunikation. SPI ist von UART zu unterscheiden, das asynchron ohne gemeinsame Taktleitung arbeitet. Beim Aufbau sind außerdem Logikpegel wichtig: Ein 5-Volt-Controller darf nicht ungeprüft mit einem nur für 3,3 Volt ausgelegten Baustein verbunden werden. Gegebenenfalls ist ein Pegelwandler nötig. Vor dem Aufbau sollte deshalb stets das Datenblatt der beteiligten Bauteile geprüft werden; besonders Versorgungsspannung, zulässige Eingangswerte, Pinbelegung und gemeinsame Bezugspotentiale entscheiden darüber, ob eine Schaltung zuverlässig und sicher arbeitet.
