Ob Computerperipheriegeräte, Smart Appliances, Internet of Things (IoT)-Geräte oder elektronische Messwerkzeuge verwenden sie alle serielle Kommunikationsprotokolle, um verschiedene elektronische Komponenten zu verbinden zusammen.

Diese Komponenten bestehen normalerweise aus einem Mikrocontroller und Slave-Modulen wie einem Fingerabdrucksensor, einem ESP8266 (WLAN-Modul), Servos und seriellen Displays.

Diese Geräte verwenden verschiedene Arten von Kommunikationsprotokollen. Im Folgenden erfahren Sie mehr über einige der beliebtesten seriellen Kommunikationsprotokolle, wie sie funktionieren, ihre Vorteile und warum sie weiterhin verwendet werden.

Was ist serielle Kommunikation?

Serielle Kommunikationsprotokolle gibt es seit der Erfindung des Morsecodes im Jahr 1838. Heute verwenden moderne serielle Kommunikationsprotokolle die gleichen Prinzipien. Signale werden auf einem einzigen Draht erzeugt und übertragen, indem zwei Leiter wiederholt miteinander kurzgeschlossen werden. Dieser Short funktioniert wie ein Schalter; es schaltet sich ein (hoch) und aus (niedrig) und liefert binäre Signale. Wie dieses Signal gesendet und empfangen wird, hängt von der Art des verwendeten seriellen Kommunikationsprotokolls ab.

instagram viewer

Bildquelle: shankar.s/Wikimedia Commons

Mit der Erfindung des Transistors und den folgenden Innovationen machten Ingenieure und Tüftler gleichermaßen Prozessoreinheiten und Speicher kleiner, schneller und energieeffizienter. Diese Veränderungen erforderten, dass die Buskommunikationsprotokolle so technologisch fortschrittlich sind wie die zu verbindenden Komponenten. Also die Erfindung serieller Protokolle wie UART, I2C und SPI. Obwohl diese seriellen Protokolle mehrere Jahrzehnte alt sind, werden sie immer noch für Mikrocontroller und Bare-Metal-Programmierung bevorzugt.

UART (Universeller asynchroner Empfänger-Sender)

Das UART-Protokoll ist eines der ältesten und zuverlässigsten seriellen Kommunikationsprotokolle, die wir heute noch verwenden. Dieses Protokoll verwendet zwei Drähte, die als Tx (Senden) und Rx (Empfangen) bekannt sind, damit beide Komponenten kommunizieren.

Um Daten zu übertragen, müssen sowohl der Sender als auch der Empfänger mit fünf gängigen Konfigurationen übereinstimmen, diese sind:

  • Baud-Geschwindigkeit: Die Übertragungsgeschwindigkeit, wie schnell Daten übertragen werden sollen.
  • Datenlänge: Die vereinbarte Anzahl von Bits, die der Empfänger in seinen Registern speichert.
  • Startbit: Ein niedriges Signal, das den Empfänger informiert, wenn Daten übertragen werden.
  • Stoppbit: Ein High-Signal, das dem Empfänger mitteilt, wann das letzte Bit (höchstwertiges Bit) gesendet wurde.
  • Paritätsbit: Entweder ein hohes oder ein niedriges Signal, das verwendet wird, um zu überprüfen, ob die gesendeten Daten korrekt oder beschädigt waren.

Da UART ein asynchrones Protokoll ist, hat es keine eigene Uhr, die die Datenübertragungsgeschwindigkeit regelt. Als Alternative verwendet es die Baudrate für das Timing, wenn ein Bit übertragen wird. Die übliche Baudrate für UART ist 9600 Baud, was einer Übertragungsrate von 9600 Bits pro Sekunde entspricht.

Wenn wir rechnen und ein Bit durch 9600 Baud teilen, können wir berechnen, wie schnell ein Datenbit an den Empfänger übertragen wird.

1/9600 =104 Mikrosekunden

Dies bedeutet, dass unsere UART-Geräte 104 Mikrosekunden zählen, um zu wissen, wann das nächste Bit übertragen wird.

Wenn UART-Geräte angeschlossen wurden, wird das Standardsignal immer auf hoch angehoben. Wenn er ein niederfrequentes Signal erkennt, beginnt der Empfänger, 104 Mikrosekunden plus weitere 52 Mikrosekunden zu zählen, bevor er beginnt, die Bits in seinen Registern (Speicher) zu speichern.

Da bereits vereinbart wurde, dass acht Bits eine Datenlänge haben sollen, wird nach dem Speichern von acht Datenbits mit der Prüfung auf Parität begonnen, um zu prüfen, ob die Daten ungerade oder gerade sind. Nach der Paritätsprüfung wird das Stoppbit ein High-Signal auslösen, um den Geräten mitzuteilen, dass die gesamten acht Datenbits erfolgreich an den Empfänger übertragen wurden.

Als minimalistischstes serielles Protokoll mit nur zwei Drähten wird UART heute häufig in Smartcards, SIM-Karten und Autos verwendet.

Verwandt: Was ist eine SIM-Karte? Dinge, die Sie wissen müssen

SPI (Serielle Peripherieschnittstelle)

SPI ist ein weiteres beliebtes serielles Protokoll, das für schnellere Datenraten von etwa 20 Mbit/s verwendet wird. Es verwendet insgesamt vier Drähte, nämlich SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) und SS/CS (Chip Select). Im Gegensatz zu UART verwendet SPI ein Master-to-Slave-Format, um mehrere Slave-Geräte mit nur einem Master zu steuern.

MISO und MOSI verhalten sich wie die Tx und Rx von UART, die zum Senden und Empfangen von Daten verwendet werden. Mit Chip Select wird ausgewählt, mit welchem ​​Slave der Master kommunizieren möchte.

Da es sich bei SPI um ein synchrones Protokoll handelt, verwendet es eine integrierte Uhr des Masters, um sicherzustellen, dass sowohl die Master- als auch die Slave-Geräte auf derselben Frequenz laufen. Das bedeutet, dass die beiden Geräte keine Baudrate mehr aushandeln müssen.

Das Protokoll beginnt damit, dass der Master das Slave-Gerät auswählt, indem er sein Signal auf die spezifische SS/CK absenkt, die mit dem Slave-Gerät verbunden ist. Wenn der Slave ein Low-Signal empfängt, beginnt er, sowohl auf SCK als auch auf MOSI zu hören. Der Master sendet dann ein Startbit, bevor er die Bits sendet, die Daten enthalten.

Sowohl MOSI als auch MISO sind Vollduplex, d. h. sie können gleichzeitig Daten senden und empfangen.

Mit seiner Fähigkeit, sich mit mehreren Slaves zu verbinden, Vollduplex-Kommunikation und geringerem Stromverbrauch als andere synchrone Protokolle wie I2C, SPI werden in Speichergeräten, digitalen Speicherkarten, ADC-zu-DAC-Wandlern und Quarz verwendet Speicher angezeigt.

I2C (Inter-Integrated Circuit)

I2C ist ein weiteres synchrones serielles Protokoll wie SPI, jedoch mit mehreren Vorteilen. Dazu gehören die Möglichkeit, mehrere Master und Slaves zu haben, einfache Adressierung (kein Chip erforderlich). Select), Betrieb mit verschiedenen Spannungen und Verwendung von nur zwei Drähten, die an zwei Pull-up. angeschlossen sind Widerstände.

I2C wird häufig in vielen IoT-Geräten, Industrieanlagen und Unterhaltungselektronik verwendet.

Die beiden Pins in einem I2C-Protokoll sind der SDA (Serial Data Line), der Daten sendet und empfängt, und der SCL (Serial Clock Line)-Pin, der als Taktgeber fungiert.

  1. Das Protokoll beginnt damit, dass der Master ein Startbit (low) von seinem SDA-Pin sendet, gefolgt von einer 7-Bit-Adresse, die den Slave auswählt, und einem Bit zum Auswählen von Lesen oder Schreiben.
  2. Nach dem Empfang des Startbits und der Adresse sendet der Slave ein Bestätigungsbit an den Master und beginnt, auf SCL und SDA auf eingehende Übertragungen zu hören.
  3. Sobald der Master diese empfängt, weiß er, dass die Verbindung zum richtigen Slave hergestellt wurde. Der Master wählt nun aus, auf welches spezifische Register (Speicher) des Slaves er zugreifen möchte. Dies geschieht durch Senden weiterer acht Bits, die angeben, welches Register verwendet werden soll.
  4. Nach Erhalt der Adresse bereitet der Slave nun das Auswahlregister vor, bevor er eine weitere Bestätigung an den Master sendet.
  5. Nachdem der Master ausgewählt hat, welcher Slave und welches seiner Register verwendet werden soll, sendet er schließlich das Datenbit an den Slave.
  6. Nachdem die Daten gesendet wurden, wird ein letztes Acknowledge-Bit an den Master gesendet, bevor der Master mit einem Stoppbit (High) endet.

Verwandt: Die besten Arduino IoT-Projekte

Warum serielle Kommunikation hier ist, um zu bleiben

Mit dem Aufkommen von parallelen und vielen drahtlosen Protokollen hat die serielle Kommunikation nie an Popularität verloren. Im Allgemeinen verwenden serielle Protokolle nur zwei bis vier Drähte zum Senden und Empfangen von Daten und sind eine wesentliche Kommunikationsmethode für Elektronik, die nur wenige Ports frei hat.

Ein weiterer Grund ist seine Einfachheit, die sich in Zuverlässigkeit niederschlägt. Mit nur wenigen Drähten, die Daten gleichzeitig senden, hat sich Serial als zuverlässig erwiesen, um vollständige Datenpakete ohne Verlust oder Beschädigung bei der Übertragung zu senden. Selbst bei hohen Frequenzen und Kommunikation über größere Entfernungen schlagen serielle Protokolle immer noch viele moderne parallele Kommunikationsprotokolle, die heute verfügbar sind.

Obwohl viele denken, dass serielle Kommunikation wie UART, SPI und I2C den Nachteil hat alt und überholt zu sein, die Tatsache, dass sie ihre Zuverlässigkeit über mehrere Jahre bewiesen haben Jahrzehnte. Protokolle, die so alt sind, dass sie keinen wirklichen Ersatz haben, suggerieren nur, dass sie tatsächlich unverzichtbar sind und auf absehbare Zeit auch in der Elektronik verwendet werden.

Raspberry Pi, Pico, Arduino und andere Einplatinencomputer und Mikrocontroller

Verwirrt zwischen SBCs wie dem Raspberry Pi und Mikrocontrollern wie dem Arduino und Raspberry Pi Pico? Hier ist, was Sie wissen müssen.

Weiter lesen

TeilenTweetEmail
Verwandte Themen
  • Technologie erklärt
  • Datenverbrauch
Über den Autor
MUO-Mitarbeiter

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren