Zwei Busse bestimmen den Alltag am Mikrocontroller: SPI und I2C. Sie verbinden Sensoren, Displays und Speicherkarten mit dem Controller, also dem steuernden Chip.
Zuerst zählt man die Anschlüsse. SPI (Serial Peripheral Interface) nutzt eine Taktleitung, je eine Datenleitung pro Richtung (MOSI, MISO) und eine Chip-Select-Leitung je Gerät. I2C (Inter-Integrated Circuit) kommt für alle Geräte mit zwei Leitungen aus: SDA für Daten, SCL für Takt. Dazu kommt die Masse (GND), der gemeinsame Bezugspunkt aller Spannungen.
Dann geht es um die Auswahl. Bei SPI zieht die Chip-Select-Leitung genau das Gerät auf den Bus, mit dem gerade gesprochen wird. Jedes weitere SPI-Gerät kostet also einen zusätzlichen Anschlusspin am Controller.
Danach betrachtet man das Tempo. SPI ist schneller, weil mehrere Datenleitungen und ein fester Takt ohne Adressoverhead genutzt werden. Typische Einsatzfälle sind Displays und Speicherkarten, wo viele Daten fließen.
Zuletzt wählt man nach Gerätezahl und Datenmenge. I2C eignet sich für viele kleine Sensoren mit wenigen Daten pro Messung; jedes hat eine Adresse, die der Controller gezielt aufruft. Wird die Leitung länger oder die Zahl der Geräte groß, kann der Bus störanfällig werden. Beim Anschluss gilt: 5-V-Teilnehmer dürfen nicht direkt an 3,3-V-Eingängen hängen, wie beim ESP32 mit seiner 3,3-V-Logik.
Viele kleine Sensoren mit wenigen Daten gehören an I2C; viele Daten oder ein Display sprechen für SPI. Nicht besser oder schlechter, sondern mehr Leitungen für mehr Tempo.
📌 Leitungsbedarf · Adressierung · Tempo
📚 IoT von Grund auf · Tag 4 von 30
#I2C #esp32 #embedded