UART (= Universal Asynchronous Receiver Transmitter) 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 für UART 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 UART 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).
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, sind UART-basierte Lösungen oft kosteneffektiver.
Weit verbreitet
UART 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.