Was ist eine SPI Schnittstelle?

Grundsätzliches zur SPI Schnittstelle

Die SPI Schnittstelle (Schieberegister), Serial Periphal Interface, wurde vom Unternehmen Motorola entwickelt und stellt ein Bus-System dar. Der offene SPI Standard ermöglicht nach dem Prinzip des Master-Slave-Mechanismus digitale Schaltungen. Dies trifft hauptsächlich auf serielle, synchrone Datenbusse zu.

Die Prinzipien einer SPI Schnittstelle

Die SPI Schnittstelle ist mit insgesamt 3 Leitungen versehen, an welche der Anschluss der jeweiligen Teilnehmer erfolgt. Hierbei wird unterschieden zwischen:

  • Serial Data Out -> SDO, sowie SOMI und MISO (Master in, Slave out)
  • Serial Data In -> SDI, sowie SIMO und MOSI (Master out, Slave in)
  • Serial Clock -> SCLK, die Ausgabe erfolgt direkt über den Master

Weiter ist die Schieberegisterschnittstelle (SPI) mit logisch-0 Chip-Select Leitungen versehen (je nach Anwenderfall eine oder mehrere). Hierbei erfolgt die Steuerung über den jeweiligen Master. Jeweils eine Chip-Select-Leitung ist wiederum für jeweils einen Slave eingeplant. Slave Transmit Enable (STE), Chip Select (CS) sowie Slave Select (SS) sind wiederum die Bezeichnungen für die entsprechenden Leitungen. Diese werden in Abhängigkeit zur Anwendung benannt und oftmals für die Sicherstellung der Unterscheidung mit einer Indexnummer versehen.

Dass mehrere Slaves über eine einzige Leitung laufen, kommt vereinzelt ebenfalls vor. Neben der Vollduplex-Fähigkeit einer SPI Schnittstelle weist diese eine hohe Flexibilität auf, was Einstell- und Modifizierungsmöglichkeiten angeht. Daher ist es möglich, die Taktflanke individuell einzulesen. Also die Reihenfolge der Übertragung von LSB oder MSB sowie die Wortlänge selbst. Insbesondere bei Mess- und Audioanwendungen, aber auch bei der Datenübertragung von Microcontrollern weist die SPI Schnittstelle die unterschiedlichsten Einsatzmöglichkeiten auf. Eine Spezifikation der Taktfrequenzen ist zudem bis in den MH-z Bereich möglich. Ein SPI-Bus erfordert unterschiedlichste Spezifikationen.

Da jedoch die oftmals miteinander inkompatiblen Endgeräte ein großes Problem darstellen, sind gerade die Einstellungsmöglichkeiten der SPI-Schnittstelle sehr vorteilhaft. Ein Beispiel hierfür ist ein Schaltkreis, für welchen es oftmals einer eigenen Microcontroller-Konfiguration bedarf. Damit ist die SPI-Schnittstelle dafür verantwortlich, dass eine Kommunikationsvermittlung zwischen Hostprozessor und Peripheriebausteinen reibungslos möglich wird. Auch einzelne Prozessoren können miteinander verbunden werden.

Die Einstellmöglichkeiten einer SPI-Schnittstelle

Aufgrund der vielfältigen Einstellmöglichkeiten einer SPI-Schnittstelle ist die Anzahl der anzuschließenden Teilnehmer nicht begrenzt, sofern jeweils ein Master existiert. Die Aufgabe des Masters ist die Clock-Signal-Erzeugung, wobei auch definiert wird, mit welchem Slave die Kommunikation abläuft. Dies wiederum wird über die Slave Select oder SS-Leitung ermöglicht. Damit zwischen Master und Slave ein Byte jeweils einen Hinweg und den entsprechenden Rückweg zurücklegen kann, geschieht Folgendes: Die Leitung Slave Select wird aktiviert, fängt MOSI ab und gibt die Daten an MISO weiter. Der Takt von SCK ist hierbei die Grundlage.

Die Frage um die Peripherietypen

Selbstverständlich hängt die Beschaffenheit der seriellen, synchronen Industriekommunikation davon ab, welche Peripherietypen zur Kommunikation mit einem Hostprozessor eingesetzt werden. Hierbei gibt es insgesamt 5 Kategorien, in welche die Peripherietypen eingeteilt werden können:

  • Die Wandler (DAC & ADC)
  • Speicher (FLASH & EEPROM)
  • RTCs (Real Time Clocks)
  • Temperatur- und Drucksensoren
  • Andere (CAN-Controller, USB-Controller, UART, LCD-Controller, Potentiometer, Signalmixer, Amplifier)

In der Regel verfügen die RTCs, Speicher sowie Wandler über die meisten und am häufigsten genutzten Varianten der Peripherietypen. Seltene Bausteine betreffen die letzten beiden Punkte, Sensoren und Andere.