close

Serielle Peripherieschnittstelle

Zur Navigation gehen Zur Suche gehen
Image
SPI-Bus: ein Master und ein Slave.
Image
SPI-Bus: ein Master und drei Slaves.

Der SPI-Bus (vom englischen Serial Peripheral Interface ) ist ein Kommunikationsstandard, der hauptsächlich für die Übertragung von Informationen zwischen integrierten Schaltkreisen in elektronischen Geräten verwendet wird. Der Serial Peripheral Interface -Bus oder SPI-Bus ist ein Standard zur Steuerung fast aller digitalen elektronischen Geräte, die einen getakteten seriellen Bitstrom (synchrone Kommunikation) akzeptieren.

Es enthält eine Taktleitung , Dateneingang, Datenausgang und einen Chipauswahlstift , der den Betrieb des Geräts, mit dem man kommunizieren möchte, verbindet oder trennt. Auf diese Weise ermöglicht dieser Standard das Multiplexen der Taktleitungen.

Viele digitale Systeme benötigen eine schnelle Verbindung zu ihren Peripheriegeräten. Die Vorteile eines seriellen Busses bestehen darin, dass er die Anzahl von Leitern, Pins und die Größe der integrierten Schaltung minimiert. Dies reduziert die Herstellungs-, Montage- und Testkosten der Elektronik. Ein serieller Peripheriebus ist die flexibelste Option, wenn Sie verschiedene Arten von seriellen Peripheriegeräten haben. Die Hardware besteht aus Takt-, Dateneingangs-, Datenausgangs- und Chipauswahlsignalen für jede zu steuernde integrierte Schaltung. Nahezu jedes digitale Gerät kann mit dieser Signalkombination gesteuert werden. Geräte unterscheiden sich auf vorhersehbare Weise. Einige lesen die Daten, wenn die Uhr nach oben geht, andere, wenn die Uhr nach unten geht. Einige lesen es auf der steigenden Flanke der Uhr und andere auf der fallenden Flanke. Getippt wird fast immer entgegen der Bewegungsrichtung im Uhrzeigersinn. Einige Geräte haben zwei Uhren. Einer zum Erfassen oder Anzeigen der Daten und der andere für das interne Gerät.


Betrieb

SPI ist ein synchrones Protokoll. Die Synchronisation und Datenübertragung erfolgt über 4 Signale:

  • SCLK (Clock) : Es ist der Impuls, der die Synchronisation markiert. Mit jedem Takt dieser Uhr wird ein Bit gelesen oder gesendet. Auch TAKT genannt.
  • MOSI (Master Output Slave Input) : Datenausgabe vom Master und Dateneingabe zum Slave. Auch SIMO genannt.
  • MISO (Master Input Slave Output) : Datenausgabe vom Slave und Eingabe zum Master. Auch bekannt als SOMI.
  • SS/Select : Zur Auswahl eines Slaves oder damit der Master den Slave anweist, sich zu aktivieren. Auch SST genannt.

Der Bit-String wird synchron mit den Taktimpulsen gesendet, dh bei jedem Impuls sendet der Master ein Bit. Zum Beginn der Übertragung senkt der Master das SSTE- oder SS/Select-Signal auf Null, damit wird der Slave aktiviert und die Übertragung beginnt mit einem Taktimpuls gleichzeitig mit dem Lesen des ersten Bits. Beachten Sie, dass die Taktimpulse so programmiert werden können, dass die Übertragung des Bits in 4 verschiedenen Modi erfolgt, dies wird als Übertragungspolarität und -phase bezeichnet:

  • 1. Mit der steigenden Flanke ohne Verzögerung.
  • 2. Mit der steigenden Flanke verzögert.
  • 3. Mit der fallenden Flanke ohne Verzögerung.
  • 4. Mit verzögerter fallender Flanke.

Vor- und Nachteile des SPI-Busses

Vorteile

  • Vollduplex- Kommunikation
  • Höhere Übertragungsgeschwindigkeit als bei I²C oder SMBus
  • Flexibles Protokoll, bei dem Sie die übertragenen Bits absolut kontrollieren können
    • Sie sind nicht auf 8-Bit-Blockübertragung beschränkt
    • Wahl der Bitrahmengröße, Bedeutung und Zweck
  • Seine Implementierung in Hardware ist extrem einfach
    • Verbraucht weniger Strom als I²C oder SMBus aufgrund von weniger Schaltungen (einschließlich Pull-up-Widerständen ) und einfacherer Schaltung
    • Kein Arbitrierungs- oder Failover-Mechanismus erforderlich
    • Client - Geräte verwenden die vom Server gesendete Uhr , benötigen also keine eigene Uhr.
    • Es ist nicht zwingend erforderlich, einen Transceiver (Sender und Empfänger) zu implementieren, ein angeschlossenes Gerät kann so konfiguriert werden, dass es nur sendet, nur empfängt oder beides gleichzeitig
  • Verwendet weitaus weniger Pins auf jedem Chip/Anschluss als eine äquivalente parallele Schnittstelle
  • Höchstens ein einziges spezifisches Signal für jeden Client (SS-Signal), die anderen Signale können geteilt werden

Nachteile

  • Verbraucht mehr Pins von jedem Chip als I²C, selbst in der 3-Draht-Variante
  • Die Adressierung erfolgt über bestimmte Leitungen (Außerband-Signalisierung), anders als bei I²C, wo jeder Chip über eine 7-Bit-Adresse ausgewählt wird, die über dieselben Busleitungen gesendet wird
  • Keine Hardware -Flusskontrolle
  • Von Zustimmung keine Spur. Der Server könnte Informationen senden, ohne dass ein Client verbunden ist, und würde nichts bemerken
  • Lässt nicht einfach zu, dass mehrere Server an den Bus angeschlossen werden
  • Anders als beispielsweise RS-232 , RS-485 oder CAN Bus funktioniert es nur über kurze Distanzen.

SPI-Implementierungen

Einige spezielle Implementierungen des SPI-Busses einiger Hersteller sind unten aufgeführt:

  • SPI auf ATmega8

Siehe auch

Externe Links