Raspberry Pi Pico: Grundlagen zum SPI

SPI (Serial Peripheral Interface) ist eine Schnittstelle und ein Protokoll, das häufig zum Verbinden von Mikrocontrollern mit anderen Geräten wie Sensoren, Speichermedien oder Anzeigen verwendet wird. Die SPI-Schnittstelle wurde in den 1980er Jahren von Motorola entwickelt, um in eingebetteten Systemen verwendet zu werden.
SPI ermöglicht eine einfache Datenübertragung mit mehreren Geräten an einem Bus. Es ist für eine Vielzahl von Anwendungen einsetzbar, bei denen eine schnelle Übertragung von Daten erforderlich ist.

Besondere Merkmale von SPI

  • Serielle Übertragung: SPI nutzt eine serielle Übertragung von Daten.
  • Meister-/Slave-Konfiguration: In einer SPI-Kommunikation gibt es einen Meister und einen oder mehrere Slaves. Der Meister steuert den Datentransfer und der Slave reagiert darauf.
  • Übertragungsgeschwindigkeit: Die Übertragungsgeschwindigkeit in SPI wird als Taktfrequenz bezeichnet und ist in Hertz angegeben.
  • Übertragungsrichtung: SPI unterstützt die bidirektionale Übertragung von Daten.
  • Synchronisation: Die Übertragung von Daten in SPI erfolgt synchron, d.h. dass der Meister und der Slave die gleiche Taktfrequenz haben müssen.

Architektur und Signalleitungen

SPI verwendet zur Datenübertragung ein Vollduplex-Protokoll, das eine Master-Slave-Architektur mit einem einzigen Master verwendet. Der Master ist das Steuergerät, bei dem es sich normalerweise um einen Mikrocontroller handelt, während der Slave normalerweise ein Sensor, ein Display oder ein Speicherchip ist, dessen Datenübertragung vom Master gesteuert wird.

BILD: Master-Slave-Betrieb

Drei Signalleitungen werden von allen Geräten am SPI-Bus gemeinsam genutzt: SCLK, MOSI und MISO. Zusätzlich gibt es zu jedem Slave eine Select-Leitung (SS).

  • Serial Clock (SCLK): SCLK ist die Leitung für das Taktsignal und wird vom Master generiert und zur Synchronisation verwendet.
  • Master In Slave Out (MISO): MISO ist die Leitung für Slaves zum Senden von Daten an den Master.
  • Master Out Slave In (MOSI): MOSI ist die Leitung für den Master zum Senden von Daten an den Slave.
  • Slave Select (SS): Jedes Gerät verfügt zusätzlich über eine eigene SS-Leitung. Der Master zieht die SS-Leitung eines Slaves auf Low, um diesen bestimmten Slave für die Kommunikation auszuwählen.

Raspberry Pi Pico: SPI verbinden und programmieren

Raspberry Pi Pico GPIO Belegung

Der Raspberry Pi Pico bzw. der Mikrocontroller RP2040 hat insgesamt 2 SPI-Schnittstellen, die auf mehreren GPIO-Pins ausgegeben werden können. Hierbei ist bei der Initialisierung im Programmcode zu beachten, dass es Doppelbelegungen mit I2C, UART und ADCs gibt.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren