Inhaltsverzeichnis:
- Schritt 1: SERIELL VS. PARALLELE KOMMUNIKATION
- Schritt 2:
- Schritt 3:
- Schritt 4: EINFÜHRUNG IN DIE SPI-KOMMUNIKATION
- Schritt 5:
- Schritt 6:
- Schritt 7:
- Schritt 8: WIE FUNKTIONIERT SPI?
- Schritt 9:
- Schritt 10:
- Schritt 11:
- Schritt 12:
- Schritt 13: VOR- UND NACHTEILE VON SPI
Video: GRUNDLAGEN DES SPI-KOMMUNIKATIONSPROTOKOLLS: 13 Schritte
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Wenn Sie einen Mikrocontroller an einen Sensor, ein Display oder ein anderes Modul anschließen, denken Sie dann jemals darüber nach, wie die beiden Geräte miteinander kommunizieren? Was genau sagen sie? Wie können sie sich verstehen?
Die Kommunikation zwischen elektronischen Geräten ist wie die Kommunikation zwischen Menschen. Beide Seiten müssen dieselbe Sprache sprechen. In der Elektronik werden diese Sprachen als Kommunikationsprotokolle bezeichnet. Zum Glück für uns gibt es nur wenige Kommunikationsprotokolle, die wir kennen müssen, wenn wir die meisten DIY-Elektronikprojekte erstellen. In dieser Artikelserie besprechen wir die Grundlagen der drei gängigsten Protokolle: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) und Universal Asynchronous Receiver/Transmitter (UART)-gesteuerte Kommunikation. Zuerst beginnen wir mit einigen grundlegenden Konzepten der elektronischen Kommunikation und erklären dann im Detail, wie SPI funktioniert. Im nächsten Artikel besprechen wir die UART-gesteuerte Kommunikation und im dritten Artikel tauchen wir in I2C ein. SPI, I2C und UART sind etwas langsamer als Protokolle wie USB, Ethernet, Bluetooth und WiFi, aber sie sind viel einfacher und verbrauchen weniger Hardware- und Systemressourcen. SPI, I2C und UART eignen sich ideal für die Kommunikation zwischen Mikrocontrollern und zwischen Mikrocontrollern und Sensoren, bei denen keine großen Mengen an Hochgeschwindigkeitsdaten übertragen werden müssen.
Schritt 1: SERIELL VS. PARALLELE KOMMUNIKATION
Elektronische Geräte kommunizieren miteinander, indem sie Datenbits über Kabel senden, die physisch zwischen Geräten verbunden sind. Ein Bit ist wie ein Buchstabe in einem Wort, außer dass ein Bit anstelle der 26 Buchstaben (im englischen Alphabet) binär ist und nur eine 1 oder 0 sein kann. Bits werden durch schnelle Spannungsänderungen von einem Gerät zum anderen übertragen. In einem System, das mit 5 V arbeitet, wird ein 0-Bit als kurzer Impuls von 0 V und ein 1-Bit durch einen kurzen Impuls von 5 V übertragen.
Die Datenbits können entweder parallel oder seriell übertragen werden. Bei der parallelen Kommunikation werden die Datenbits alle gleichzeitig gesendet, jedes über eine separate Leitung. Das folgende Diagramm zeigt die parallele Übertragung des Buchstabens „C“in Binär (01000011):
Schritt 2:
Bei der seriellen Kommunikation werden die Bits einzeln über einen einzigen Draht gesendet. Das folgende Diagramm zeigt die serielle Übertragung des Buchstabens „C“in Binär (01000011):
Schritt 3:
Schritt 4: EINFÜHRUNG IN DIE SPI-KOMMUNIKATION
SPI ist ein gängiges Kommunikationsprotokoll, das von vielen verschiedenen Geräten verwendet wird. SD-Kartenmodule, RFID-Kartenlesermodule und 2,4-GHz-Funksender/-empfänger verwenden beispielsweise alle SPI, um mit Mikrocontrollern zu kommunizieren.
Ein einzigartiger Vorteil von SPI ist die Tatsache, dass Daten ohne Unterbrechung übertragen werden können. Es können beliebig viele Bits in einem kontinuierlichen Strom gesendet oder empfangen werden. Bei I2C und UART werden Daten in Paketen gesendet, die auf eine bestimmte Anzahl von Bits begrenzt sind. Start- und Stoppbedingungen definieren den Anfang und das Ende jedes Pakets, sodass die Daten während der Übertragung unterbrochen werden. Geräte, die über SPI kommunizieren, stehen in einer Master-Slave-Beziehung. Der Master ist das Steuergerät (normalerweise ein Mikrocontroller), während der Slave (normalerweise ein Sensor, ein Display oder ein Speicherchip) Anweisungen vom Master erhält. Die einfachste Konfiguration von SPI ist ein Single-Master-Single-Slave-System, aber ein Master kann mehr als einen Slave steuern (mehr dazu weiter unten).
Schritt 5:
Schritt 6:
MOSI (Master Output/Slave Input) – Leitung für den Master zum Senden von Daten an den Slave.
MISO (Master Input/Slave Output) – Leitung für den Slave zum Senden von Daten an den Master.
SCLK (Clock) – Leitung für das Taktsignal.
SS/CS (Slave Select/Chip Select) – Zeile für den Master, um auszuwählen, an welchen Slave Daten gesendet werden sollen
Schritt 7:
*In der Praxis wird die Anzahl der Slaves durch die Lastkapazität des Systems begrenzt, was die Fähigkeit des Masters verringert, genau zwischen den Spannungspegeln umzuschalten.
Schritt 8: WIE FUNKTIONIERT SPI?
DIE UHR
Das Taktsignal synchronisiert die Ausgabe von Datenbits vom Master mit der Abtastung von Bits durch den Slave. In jedem Taktzyklus wird ein Datenbit übertragen, sodass die Geschwindigkeit der Datenübertragung durch die Frequenz des Taktsignals bestimmt wird. Die SPI-Kommunikation wird immer vom Master initiiert, da der Master das Taktsignal konfiguriert und generiert.
Jedes Kommunikationsprotokoll, bei dem Geräte ein Taktsignal teilen, wird als synchron bezeichnet. SPI ist ein synchrones Kommunikationsprotokoll. Es gibt auch asynchrone Methoden, die kein Taktsignal verwenden. Bei der UART-Kommunikation werden beispielsweise beide Seiten auf eine vorkonfigurierte Baudrate eingestellt, die die Geschwindigkeit und das Timing der Datenübertragung bestimmt.
Das Taktsignal in SPI kann mit den Eigenschaften Taktpolarität und Taktphase modifiziert werden. Diese beiden Eigenschaften arbeiten zusammen, um zu definieren, wann die Bits ausgegeben und abgetastet werden. Die Taktpolarität kann vom Master so eingestellt werden, dass Bits entweder an der ansteigenden oder an der abfallenden Flanke des Taktzyklus ausgegeben und abgetastet werden. Die Taktphase kann so eingestellt werden, dass Ausgabe und Abtastung entweder an der ersten Flanke oder an der zweiten Flanke des Taktzyklus erfolgen, unabhängig davon, ob sie ansteigt oder fällt.
SLAVE-AUSWAHL
Der Master kann wählen, mit welchem Slave er kommunizieren möchte, indem er die CS/SS-Leitung des Slaves auf einen niedrigen Spannungspegel setzt. Im freien, nicht sendenden Zustand wird die Slave-Auswahlleitung auf einem hohen Spannungspegel gehalten. Am Master können mehrere CS/SS-Pins verfügbar sein, wodurch mehrere Slaves parallel verdrahtet werden können. Wenn nur ein CS/SS-Pin vorhanden ist, können mehrere Slaves per Daisy-Chaining mit dem Master verbunden werden.
MEHRERE SKLAVEN SPI
kann für den Betrieb mit einem einzelnen Master und einem einzelnen Slave eingerichtet werden, und es kann mit mehreren Slaves eingerichtet werden, die von einem einzigen Master gesteuert werden. Es gibt zwei Möglichkeiten, mehrere Slaves mit dem Master zu verbinden. Wenn der Master mehrere Slave-Select-Pins hat, können die Slaves wie folgt parallel verdrahtet werden:
Schritt 9:
Schritt 10:
MOSI UND MISO
Der Master sendet Daten bitweise seriell über die MOSI-Leitung an den Slave. Der Slave empfängt die vom Master gesendeten Daten am MOSI-Pin. Daten, die vom Master zum Slave gesendet werden, werden normalerweise mit dem höchstwertigen Bit zuerst gesendet. Der Slave kann auch seriell Daten über die MISO-Leitung an den Master zurücksenden. Die vom Slave zurück zum Master gesendeten Daten werden normalerweise mit dem niederwertigsten Bit zuerst gesendet. SCHRITTE DER SPI-DATENÜBERTRAGUNG 1. Der Master gibt das Taktsignal aus:
Schritt 11:
Wenn nur ein Slave-Select-Pin verfügbar ist, können die Slaves wie folgt verkettet werden:
Schritt 12:
MOSI UND MISO
Der Master sendet Daten bitweise seriell über die MOSI-Leitung an den Slave. Der Slave empfängt die vom Master gesendeten Daten am MOSI-Pin. Daten, die vom Master zum Slave gesendet werden, werden normalerweise mit dem höchstwertigen Bit zuerst gesendet.
Der Slave kann auch seriell Daten über die MISO-Leitung an den Master zurücksenden. Die vom Slave zurück zum Master gesendeten Daten werden normalerweise mit dem niederwertigsten Bit zuerst gesendet.
SCHRITTE DER SPI-DATENÜBERTRAGUNG
*Hinweis: Bilder sind aufgeführte Oboen, die Sie leicht unterscheiden können
1. Der Master gibt das Taktsignal aus:
2. Der Master schaltet den SS/CS-Pin in einen Niederspannungszustand, der den Slave aktiviert:
3. Der Master sendet die Daten bitweise über die MOSI-Leitung an den Slave. Der Slave liest die Bits so wie sie empfangen werden:
4. Wenn eine Antwort erforderlich ist, sendet der Slave Daten bitweise über die MISO-Leitung an den Master zurück. Der Master liest die Bits, wenn sie empfangen werden:
Schritt 13: VOR- UND NACHTEILE VON SPI
Die Verwendung von SPI hat einige Vor- und Nachteile, und wenn Sie die Wahl zwischen verschiedenen Kommunikationsprotokollen haben, sollten Sie wissen, wann Sie SPI gemäß den Anforderungen Ihres Projekts verwenden sollten:
VORTEILE
Keine Start- und Stoppbits, daher können die Daten kontinuierlich ohne Unterbrechung gestreamt werden Kein kompliziertes Slave-Adressierungssystem wie I2C Höhere Datenübertragungsrate als I2C (fast doppelt so schnell) Getrennte MISO- und MOSI-Leitungen, damit Daten gleichzeitig gesendet und empfangen werden können Zeit
NACHTEILE
Verwendet vier Drähte (I2C und UARTs verwenden zwei) Keine Bestätigung, dass die Daten erfolgreich empfangen wurden (I2C hat dies) Keine Form der Fehlerprüfung wie das Paritätsbit in UART Erlaubt nur einen einzigen Master Hoffentlich hat Ihnen dieser Artikel ein besseres Verständnis vermittelt von SPI. Fahren Sie mit Teil 2 dieser Serie fort, um mehr über UART-gesteuerte Kommunikation zu erfahren, oder mit Teil 3, in dem wir das I2C-Protokoll diskutieren.
Wenn Sie Fragen haben, können Sie diese gerne im Kommentarbereich stellen, wir sind hier, um Ihnen zu helfen. Und unbedingt folgen
Grüße: M. Junaid
Empfohlen:
Winzige H-Brücken-Treiber - Grundlagen: 6 Schritte (mit Bildern)
Winzige H-Brücken-Treiber | Grundlagen: Hallo und willkommen zurück zu einem anderen Instructable! Im vorherigen habe ich Ihnen gezeigt, wie ich mit einem Python-Skript Spulen in KiCad erstellt habe. Dann habe ich ein paar Variationen von Spulen erstellt und getestet, um zu sehen, welche am besten funktioniert. Mein Ziel ist es, die riesigen
So steuern Sie ein Gerät mit Raspberry Pi und einem Relais – DIE GRUNDLAGEN: 6 Schritte
So steuern Sie ein Gerät mit Raspberry Pi und einem Relais - DIE GRUNDLAGEN: Dies ist ein einfaches und unkompliziertes Tutorial zur Steuerung eines Geräts mit Raspberry Pi und einem Relais, das für die Erstellung von IoT-Projekten hilfreich ist folgen Sie, auch wenn Sie keine Ahnung von Raspberry haben
Grundlagen der Hausautomation: 6 Schritte (mit Bildern)
Grundlagen der Hausautomation: Hallo zusammen. Dieses anweisbare führt Sie zu den Grundlagen der Hausautomation. Da dies von grundlegender Bedeutung ist, werden wir nur Arduino und einige andere Komponenten verwenden. Geschichte über das Instructable: - Ich lerne immer noch über Arduino p
Grundlagen der Verwendung eines Multimeters: 8 Schritte
So verwenden Sie ein Multimeter Grundlagen: Ein Multimeter oder ein Multitester, auch VOM (Volt-Ohm-Milliammeter) genannt, ist ein elektronisches Messgerät, das mehrere Messfunktionen in einem Gerät vereint. Ein typisches Multimeter kann Spannung, Strom und Widerstand messen. Analoge Multi
GRUNDLAGEN DER UART-KOMMUNIKATION: 16 Schritte
GRUNDLAGEN DER UART-KOMMUNIKATION: Erinnern Sie sich, als Drucker, Mäuse und Modems dicke Kabel mit diesen riesigen, klobigen Steckern hatten? Die, die buchstäblich in Ihren Computer geschraubt werden mussten? Diese Geräte verwendeten wahrscheinlich UARTs, um mit Ihrem Computer zu kommunizieren. Während USB fast