Was ist Universal Asynchronous Receiver/Transmitter (UART)?

Universal Asynchronous Receiver Transmitter (UART) ist eine Hardware-Komponente, die für die serielle Kommunikation auf einer Platine verwendet wird.

Sie dient beispielsweise zur Verbindung eines Mikrocontrollers mit einem externen Debugger oder zur Kommunikation mit anderen Platinen über Schnittstellen wie RS-485. Für die Ansteuerung von Integrated Circuit (IC) ist UART unüblich, da diese Protokolle wie I2C und SPI nutzen. Denn sie sind für komplexere Kommunikationsnetzwerke besser geeignet.

Typische Anwendungen sind Geräte wie NB-IoT-Module, LoRa-Modems, Feinstaubsensoren und NFC-Lesegeräte. Dort ist die serielle Kommunikation vorteilhaft.

Bei einer UART Kommunikation haben beide Parteien eine UART Einheit, die über Register konfiguriert werden kann. Diese Einheit verfügt über eine Sendungs- und Empfangsleitung. Darüber werden die Daten seriell versendet.

Funktionen

Die Hauptfunktion von besteht darin, Daten aus dem Mikrocontroller in serielle Daten umzuwandeln.
Diese seriellen Daten sendet es über eine Übertragungsleitung (TX) und empfängt serielle Daten über eine Empfangsleitung (RX).

Das Bild zeigt eine schematische Darstellung der UART-Kommunikation zwischen zwei Geräten: dem Sender (TX) und dem Empfänger (RX). Die Kommunikation verläuft von links nach rechts, wobei ein Datenpaket dargestellt ist. Der Datenrahmen beginnt mit einem Start-Bit, gefolgt von den Datenbits ("1", "0", "1", "1"), einem Paritätsbit zur Fehlererkennung und einem Stopp-Bit am Ende. Oben auf dem Signalverlauf ist die Unterscheidung zwischen High (logisch 1) und Low (logisch 0) markiert. Die Datenübertragung erfolgt in Form des Binärwerts "1011", der vom Sender an den Empfänger übermittelt wird.
So funktioniert schematisch eine UART Verbindung.

Der Übertragungsprozess beginnt mit der Generierung eines Startbits, das den Anfang der Übertragung markiert. Danach folgen die Datenbits (meistens 8 Bits), gefolgt von einem optionalen Paritätsbit, das zur Fehlererkennung dient. Schließlich wird ein oder mehrere Stopbits gesendet, das das Ende des Datenpakets kennzeichnet.

Da die Kommunikation asynchron erfolgt, sind keine gemeinsamen Taktleitungen erforderlich. Stattdessen synchronisieren sich Sender und Empfänger anhand der Start- und Stoppbits. Dies ermöglicht eine einfache und effiziente Datenübertragung zwischen verschiedenen Geräte.

Vorteile

Einfache Implementierung

UART ist relativ einfach zu implementieren und benötigt keine komplexe Hardware.

Kosteneffektiv

Da keine zusätzlichen Taktsignale erforderlich sind, ist es eine kosteneffektive Schnittstelle.

Weit verbreitet

Es ist eine weit verbreitete Technologie und in vielen Standard-ICs und Mikrocontrollern integriert.

Nachteile

Geringe Übertragungsgeschwindigkeit

Im Vergleich zu synchronen Kommunikationsprotokollen wie I²C oder SPI kann UART eine niedrigere Datenübertragungsrate haben, da es asynchron arbeitet.

Begrenzte Reichweite

Die serielle Kommunikation über UART eignet sich vor allem für kurze Distanzen, da die Datenintegrität über längere Entfernungen beeinträchtigt werden kann. Für größere Reichweiten sind zusätzliche Maßnahmen erforderlich, wie der Einsatz von Standards wie RS-485.

Begrenzte Anzahl von Schnittstellen

Viele Mikrocontroller verfügen nur über eine begrenzte Anzahl von UART-Interfaces, was die Skalierbarkeit einschränken kann.

Nur 1:1-Verbindungen

UART unterstützt nur Punkt-zu-Punkt-Verbindungen (1:1). Im Gegensatz dazu ermöglichen Protokolle wie I²C und SPI Mehrpunktverbindungen (1:n), was die Kommunikation mit mehreren Geräten gleichzeitig erlaubt.

"Houston, we have a problem" - Deine Anmeldung konnte leider nicht gespeichert werden. Bitte versuche es erneut.
Moin und herzlich willkommen. Deine Anmeldung zum smart letter war erfolgreich!

Schickt mir den smart letter!

Trage Dich jetzt ein, um keine Updates mehr von uns rund um Smartifizierung und Embedded Systems zu verpassen.