SPI-Bus

Lesezeit: < 1 Minute

Bussys­teme verbinden Periph­erie-Geräte mit dem Con­troller. Damit der Aufwand der Ver­drah­tung möglichst ger­ing bleibt, soll­ten so wenig Leitun­gen wie möglich ver­baut wer­den. Aus dieser Grundüber­legung wur­den in der Ver­gan­gen­heit ver­schiedene serielle Zwei­draht­bussys­teme entwick­elt, die für das Senden und Emp­fan­gen von Dat­en mit nur zwei Daten­leitun­gen auskom­men.

Das Ser­i­al Periph­er­al Inter­face (SPI) beste­ht aus zwei Daten­leitun­gen und ein­er Tak­tleitung, über die das Periph­eriegerät angeschlossen ist. Eine vierte Leitung dient als Auswahlleitung.

Die Beze­ich­nun­gen von Con­troller und Periph­erie-Geräten waren his­torisch bed­ingt Mas­ter und Slave. Ich schließe mich der von 🔗arduino.cc vorgeschla­ge­nen Ter­mi­nolo­gie an und ver­wende die neuen Namen.

Lei­der lässt sich dieses Prinzip nicht voll­ständig durch­hal­ten, weil bei der Pro­gram­mierung die his­torischen Namen ver­wen­det wer­den.

Der SPI-Bus (Ser­i­al Periph­er­al Inter­face) benötigt zwei Daten­leitun­gen und zwei Steuer­leitun­gen (Taktleitung/Auswahlleitung):

Datenleitungen (in Klammern alternative Bezeichnungen)

His­torische NamenVer­wen­de­ter NameErk­lärungStan­dard Pin UNO
MOSICOPI
(DO, SDA)
Con­troller Out, Periph­er­al In
Dat­en vom Con­troller zum Periph­erie-Gerät senden
11
MISOCIPO
(SDI, DI, SI, DIN)
Con­troller In, Periph­er­al Out
Dat­en vom Periph­erie-Gerät emp­fan­gen
12

Steuerleitungen (in Klammern alternative Bezeichnungen)

His­torische NamenVer­wen­de­ter NameErk­lärungStan­dard Pin UNO
SLCK
(CLK, SCK)
Ser­i­al Clock → Tak­tim­pulse, dient der Syn­chro­ni­sa­tion der Datenüber­tra­gung13
SSCS
(CSB, CSN, STE, SYNC)
Chip Select
Wird vom Con­troller aktiviert, um die Kom­mu­nika­tion mit einem Periph­eriegerät zu starten
10

Zusätzliche Pins (in Klammern alternative Bezeichnungen)

Beze­ich­nungErk­lärungStan­dard Pin UNO
RES
(RST, REST)
Reset des Bauteils8
DC
(RS/AO)
Data Com­mu­ni­ca­tion
Dat­en Kom­mu­nika­tion
9

Testprogramm für die SPI-Pins der Mikrocontroller

Das Test­pro­gramm ver­wen­det die his­torischen Namen des SPI-Busses, ich habe sie im Kopf des Pro­gramms auf die neuen Namen “umge­lenkt”.

Pins SPI-Bus verschiedener Mikrocontroller

Arduino UNO/Nano
ESP32-Wroom
ESP32-C6
XIAO-ESP32-C3
Wemos D1 Mini


Letzte Aktualisierung: Nov. 12, 2025 @ 19:17