UART


UART

Universal Asynchronous Receiver Transmitter, kurz UART (Aussprache: ʊəˡat oder ˡju art), ist ein elektronisches Bauelement, welches zur Realisierung von digitalen seriellen Schnittstellen dient.

UART 8250 auf einer Leiterplatte. Im oberen Bildbereich sind die EIA-232 Schnittstellentreiber 1489/88 erkennbar.

Eine UART-Schnittstelle dient zum Senden und Empfangen von Daten über eine Datenleitung und bildet den Standard der seriellen Schnittstellen an PCs und Mikrocontrollern. Auch im industriellen Bereich ist die Schnittstelle mit verschiedenen Interfaces (z. B. RS-232 oder RS-485) sehr verbreitet.

Die Daten werden als serieller digitaler Datenstrom mit einem fixen Rahmen übertragen, welcher aus einem Start-Bit, fünf bis maximal neun Datenbits, einem optionalen Parity-Bit zur Erkennung von Übertragungsfehlern und einem Stopp-Bit besteht. Um dem Empfänger eine Synchronisationszeit auf den Takt der empfangenen Daten einzuräumen, kann das Stopp-Bit auf das 1,5 oder 2-fache der normalen Übertragungszeit eines Bits verlängert werden. Dies wird als 1,5 bzw. 2 Stopp-Bits bezeichnet.

Arten

Neben dem UART existieren weitere, auf dem UART basierende Schnittstellenbausteine. Übliche Bezeichnungen sind das DUART, die Abkürzung steht für Dual Universal Asynchronous Receiver Transmitter welches zwei UARTs in einem einzelnen Mikrochip kombiniert. USART (Aussprache: ʊəˡsat oder 'ju sart) steht für Universal Synchronous/Asynchronous Receiver Transmitter und bietet die Möglichkeit einer zusätzlichen synchronen Datenübertragung.

Funktion

Der asynchrone serielle Datenstrom wie ihn ein UART erstellt. Das untere Diagramm bezeichnet die Spannungspegel auf der EIA-232-Schnittstelle.

Die Besonderheit besteht darin, dass bei der asynchronen Betriebsweise kein eigenes Taktsignal auf einer Übertragungsleitung verwendet wird. Stattdessen synchronisiert sich der Empfänger durch den Rahmen bestehend aus dem Start- und Stopp-Bit und einer bestimmten Bitrate, welche manchmal nicht ganz richtig als Baudrate bezeichnet wird. Da der Beginn einer Übertragung mit dem Start-Bit zu beliebigen Zeitpunkten erfolgen kann, wird diese serielle Schnittstelle als asynchron bezeichnet. Um eine Synchronisation gewährleisten zu können, ist die Anzahl der übertragbaren Bits stark eingeschränkt. Bei einem längeren Datenstrom könnte die Synchronisation verloren gehen, was zu Fehlinterpretationen des Datenstromes und somit zu einer fehlerhaften Übertragung führen kann. Serielle Schnittstellen in synchroner Betriebsweise arbeiten mit dem Bittakt aus der Übertragungsleitung und benötigen keinen Rahmen aus Start-/Stopp-Bits.

Die asynchrone Übertragung findet in der Datenkommunikation bei der EIA-232-Schnittstelle Verwendung. Diese Schnittstelle weist eine vergleichsweise große Verbreitung auf. Ein UART erzeugt die auf einer EIA-232-Schnittstelle zu übertragenden Datenbits und den dazu notwendigen Datenrahmen. Die eigentliche EIA-232-Schnittstelle besteht zusätzlich noch aus Pegelwandlern und weiteren Bauelementen wie Steckern, welche nicht mehr Teil eines UART sind.

Realisiert wird ein UART meist als Kommunikationsbaustein in Mikrocontrollern oder Computern, als eigenständiger integrierter Schaltkreis, als Teilfunktion in Chipsätzen, in Form von Hardwarebeschreibungssprachen für die Integration in Field Programmable Gate Arrays (FPGAs), oder als so genanntes „Software-UART“, welches nur durch eine Programmabfolge vorliegt und bestimmte Ein/Ausgabepins direkt ansteuert. Die zu übertragenden Daten bzw. die empfangenen Daten werden an den UART meist in paralleler Form, beispielsweise über einen parallelen Datenbus, geliefert.

Die Geschichte der UARTs ist eng verbunden mit der Standardisierung der Datenkommunikation der EIA-232. Waren die ersten UARTs für Datenübertragungsraten von wenigen hundert Bit/s und den Anschluss an Modems vorgesehen, so erreichten sie in späteren Jahren als eigenständige Chips mehrere Megabit pro Sekunde.

Ein UART-Baustein, welcher über viele Jahre in handelsüblichen PCs als eigenständiger Baustein verwendet wurde, ist der von Intel entwickelte UART 8250 und seine kompatiblen Nachfolger 16450 und 16550. Der 16550 umfasst neben dem Empfangs-/Sendeteil als Erweiterung auch einen FIFO-Pufferspeicher, welcher das Überlaufen des Empfangspuffers bei hohen Bitraten minimiert. Zudem wird damit der steuernde Prozessor weniger oft von Interrupts unterbrochen, was die Effizienz des Programmablaufes erhöht. Seit Mitte der 1990er Jahre werden UART-Controller in PCs kaum noch als eigenständige integrierte Schaltkreise eingesetzt, da die seriellen Schnittstellen im Chipsatz (Southbridge) des Mainboards untergebracht sind.

Weblinks


Wikimedia Foundation.