Inhaltsverzeichnis:

GRUNDLAGEN DER UART-KOMMUNIKATION: 16 Schritte
GRUNDLAGEN DER UART-KOMMUNIKATION: 16 Schritte

Video: GRUNDLAGEN DER UART-KOMMUNIKATION: 16 Schritte

Video: GRUNDLAGEN DER UART-KOMMUNIKATION: 16 Schritte
Video: Verstehe UART in 6 Minuten! | #EdisTechlab #uart #arduino 2024, Juli
Anonim
GRUNDLAGEN DER UART-KOMMUNIKATION
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 diese alten Kabel und Anschlüsse fast vollständig ersetzt hat, gehören UARTs definitiv nicht der Vergangenheit an. Sie werden feststellen, dass UARTs in vielen DIY-Elektronikprojekten verwendet werden, um GPS-Module, Bluetooth-Module und RFID-Kartenlesermodule mit Ihrem Raspberry Pi, Arduino oder anderen Mikrocontrollern zu verbinden.

UART steht für Universal Asynchronous Receiver/Transmitter. Es ist kein Kommunikationsprotokoll wie SPI und I2C, sondern eine physische Schaltung in einem Mikrocontroller oder ein eigenständiger IC. Der Hauptzweck eines UART besteht darin, serielle Daten zu senden und zu empfangen.

Eines der besten Dinge an UART ist, dass es nur zwei Drähte verwendet, um Daten zwischen Geräten zu übertragen. Die Prinzipien hinter UART sind leicht zu verstehen, aber wenn Sie Teil 1 dieser Serie, Grundlagen des SPI-Kommunikationsprotokolls, nicht gelesen haben, könnte dies ein guter Anfang sein.

Schritt 1: EINFÜHRUNG IN DIE UART-KOMMUNIKATION

Bei der UART-Kommunikation kommunizieren zwei UARTs direkt miteinander. Der sendende UART wandelt parallele Daten von einem Steuergerät wie einer CPU in serielle Form um, überträgt sie seriell an den empfangenden UART, der dann die seriellen Daten wieder in parallele Daten für das empfangende Gerät umwandelt. Es werden nur zwei Drähte benötigt, um Daten zwischen zwei UARTs zu übertragen. Daten fließen vom Tx-Pin des sendenden UART zum Rx-Pin des empfangenden UART:

Schritt 2: Datenflüsse vom Tx-Pin des sendenden UART zum Rx-Pin des empfangenden UART:

Datenflüsse vom Tx-Pin des sendenden UART zum Rx-Pin des empfangenden UART
Datenflüsse vom Tx-Pin des sendenden UART zum Rx-Pin des empfangenden UART

Schritt 3:

UARTs übertragen Daten asynchron, was bedeutet, dass es kein Taktsignal gibt, um die Ausgabe von Bits vom sendenden UART mit der Abtastung von Bits durch den empfangenden UART zu synchronisieren. Anstelle eines Taktsignals fügt der sendende UART dem übertragenen Datenpaket Start- und Stoppbits hinzu. Diese Bits definieren den Anfang und das Ende des Datenpakets, damit der empfangende UART weiß, wann er mit dem Lesen der Bits beginnen muss.

Wenn der empfangende UART ein Startbit erkennt, beginnt er, die eingehenden Bits mit einer bestimmten Frequenz, der sogenannten Baudrate, zu lesen. Die Baudrate ist ein Maß für die Geschwindigkeit der Datenübertragung, ausgedrückt in Bits pro Sekunde (bps). Beide UARTs müssen ungefähr mit der gleichen Baudrate arbeiten. Die Baudrate zwischen den sendenden und empfangenden UARTs kann sich nur um etwa 10 % unterscheiden, bevor das Timing der Bits zu weit abweicht.

Schritt 4:

Bild
Bild

Beide UARTs müssen außerdem so konfiguriert sein, dass sie dieselbe Datenpaketstruktur senden und empfangen.

Schritt 5: WIE UART FUNKTIONIERT

Der UART, der Daten übertragen wird, empfängt die Daten von einem Datenbus. Der Datenbus wird verwendet, um Daten von einem anderen Gerät wie einer CPU, einem Speicher oder einem Mikrocontroller an den UART zu senden. Die Daten werden parallel vom Datenbus zum sendenden UART übertragen. Nachdem der sendende UART die parallelen Daten vom Datenbus erhalten hat, fügt er ein Startbit, ein Paritätsbit und ein Stoppbit hinzu, wodurch das Datenpaket erstellt wird. Als nächstes wird das Datenpaket seriell bitweise am Tx-Pin ausgegeben. Der empfangende UART liest das Datenpaket bitweise an seinem Rx-Pin. Der empfangende UART wandelt dann die Daten zurück in die parallele Form und entfernt das Startbit, Paritätsbit und Stoppbits. Schließlich überträgt der empfangende UART das Datenpaket parallel zum Datenbus auf der Empfangsseite:

Schritt 6: Bild wie UART funktioniert

Bild So funktioniert UART
Bild So funktioniert UART

Schritt 7:

UART übertragene Daten werden in Pakete organisiert. Jedes Paket enthält 1 Startbit, 5 bis 9 Datenbits (je nach UART), ein optionales Paritätsbit und 1 oder 2 Stoppbits:

Schritt 8: UART übertragene Daten werden in Paketen organisiert Bild

UART übertragene Daten werden in Paketen organisiert Bild
UART übertragene Daten werden in Paketen organisiert Bild

Schritt 9:

STARTBIT

Die UART-Datenübertragungsleitung wird normalerweise auf einem hohen Spannungspegel gehalten, wenn sie keine Daten überträgt. Um die Datenübertragung zu starten, zieht der sendende UART die Übertragungsleitung für einen Taktzyklus von hoch auf niedrig. Wenn der empfangende UART den Übergang von hoher zu niedriger Spannung erkennt, beginnt er mit dem Lesen der Bits im Datenrahmen mit der Frequenz der Baudrate.

DATENRAHMEN

Der Datenrahmen enthält die eigentlichen Daten, die übertragen werden. Es kann 5 Bit bis zu 8 Bit lang sein, wenn ein Paritätsbit verwendet wird. Wenn kein Paritätsbit verwendet wird, kann der Datenrahmen 9 Bit lang sein. In den meisten Fällen werden die Daten mit dem niederwertigsten Bit zuerst gesendet.

PARITÄT

Parität beschreibt die Gleichheit oder Ungeradheit einer Zahl. Das Paritätsbit ist eine Möglichkeit für den empfangenden UART zu erkennen, ob sich Daten während der Übertragung geändert haben. Bits können durch elektromagnetische Strahlung, nicht übereinstimmende Baudraten oder Datenübertragungen über große Entfernungen geändert werden. Nachdem der empfangende UART den Datenrahmen gelesen hat, zählt er die Anzahl der Bits mit dem Wert 1 und prüft, ob die Summe eine gerade oder ungerade Zahl ist. Wenn das Paritätsbit eine 0 (gerade Parität) ist, sollten die 1-Bits im Datenrahmen eine gerade Zahl ergeben. Wenn das Paritätsbit eine 1 (ungerade Parität) ist, sollten die 1-Bits im Datenrahmen eine ungerade Zahl ergeben. Wenn das Paritätsbit mit den Daten übereinstimmt, weiß der UART, dass die Übertragung fehlerfrei war. Aber wenn das Paritätsbit eine 0 ist und die Summe ungerade ist; oder das Paritätsbit eine 1 ist und die Summe gerade ist, weiß der UART, dass sich Bits im Datenrahmen geändert haben.

STOPP-BITS

Um das Ende des Datenpakets zu signalisieren, treibt der sendende UART die Datenübertragungsleitung für mindestens zwei Bitdauern von einer niedrigen Spannung auf eine hohe Spannung.

Schritt 10: SCHRITTE DER UART-ÜBERTRAGUNG

1. Der sendende UART empfängt parallel Daten vom Datenbus:

Schritt 11: Bildübertragungs-UART empfängt Daten parallel vom Datenbus

Bildübertragungs-UART empfängt Daten parallel vom Datenbus
Bildübertragungs-UART empfängt Daten parallel vom Datenbus

Schritt 12: 2. Der übertragende UART fügt dem Datenrahmen das Startbit, das Paritätsbit und das/die Stoppbit(s) hinzu:

2. der übertragende UART fügt dem Datenrahmen das Startbit, das Paritätsbit und das/die Stoppbit(s) hinzu
2. der übertragende UART fügt dem Datenrahmen das Startbit, das Paritätsbit und das/die Stoppbit(s) hinzu

Schritt 13: 3. Das gesamte Paket wird seriell vom sendenden UART zum empfangenden UART gesendet. der empfangende UART tastet die Datenleitung mit der vorkonfigurierten Baudrate ab:

3. das gesamte Paket wird seriell vom sendenden UART zum empfangenden UART gesendet. der empfangende UART tastet die Datenleitung mit der vorkonfigurierten Baudrate ab
3. das gesamte Paket wird seriell vom sendenden UART zum empfangenden UART gesendet. der empfangende UART tastet die Datenleitung mit der vorkonfigurierten Baudrate ab

Schritt 14: 4. Der empfangende UART verwirft das Startbit, Paritätsbit und Stoppbit aus dem Datenrahmen:

4. Der empfangende UART verwirft das Startbit, das Paritätsbit und das Stoppbit aus dem Datenrahmen
4. Der empfangende UART verwirft das Startbit, das Paritätsbit und das Stoppbit aus dem Datenrahmen

Schritt 15: 5. Der empfangende UART wandelt die seriellen Daten zurück in parallel und überträgt sie auf der empfangenden Seite an den Datenbus:

5. der empfangende UART wandelt die seriellen Daten zurück in parallel und überträgt sie auf der empfangenden Seite an den Datenbus
5. der empfangende UART wandelt die seriellen Daten zurück in parallel und überträgt sie auf der empfangenden Seite an den Datenbus

Schritt 16: VOR- UND NACHTEILE VON UARTS

Kein Kommunikationsprotokoll ist perfekt, aber UARTs sind ziemlich gut in dem, was sie tun. Hier sind einige Vor- und Nachteile, die Ihnen bei der Entscheidung helfen, ob sie den Anforderungen Ihres Projekts entsprechen oder nicht:

VORTEILE

Verwendet nur zwei Drähte Kein Taktsignal erforderlich Verfügt über ein Paritätsbit, um eine Fehlerprüfung zu ermöglichen Die Struktur des Datenpakets kann geändert werden, solange beide Seiten dafür eingerichtet sind Gut dokumentierte und weit verbreitete Methode NACHTEILE

Die Größe des Datenrahmens ist auf maximal 9 Bit begrenzt Unterstützt keine Mehrfach-Slave- oder Mehrfach-Master-Systeme Die Baudraten jedes UARTs müssen innerhalb von 10 % liegen Fahren Sie mit Teil 3 dieser Serie fort, Grundlagen der I2C-Kommunikationsprotokoll, um eine andere Art der Kommunikation elektronischer Geräte kennenzulernen. Wenn Sie es noch nicht getan haben, lesen Sie Teil eins, Grundlagen des SPI-Kommunikationsprotokolls.

Und wie immer, lass es mich in den Kommentaren wissen, wenn du Fragen hast oder etwas anderes hinzufügen möchtest! Wenn Ihnen dieser Artikel gefallen hat und Sie mehr davon sehen möchten, folgen Sie unbedingt

Grüße

M. Junaid

Empfohlen: