UART - Universal Asynchronous Receiver Transmitter

Der Universal Asynchronous Receiver Transmitter bezeichnet eine elektronische Schaltung, die digitale serielle Schnittstellen realisiert. Sie dient dazu, Daten über eine Datenleitung zu senden oder zu empfangen und bildet heutzutage den Standard der seriellen Schnittstellen an PCs und Mikrocontrollern. Ebenso ist er im industriellen Bereich mit verschiedenen Interfaces sehr verbreitet. Der UART kann ein dabei ein eigenständiges Bauteil oder lediglich ein Funktionsblock eines höher integrierten Bauteils sein.

Die Übertragung der Daten

Die Übertragung der Daten erfolgt in einem seriellen digitalen Strom mit einem fixen Rahmen. Dieser Rahmen besteht aus einem Start-Bit, fünf bis maximal neun Datenbits, einem optionalen Parity-Bit und einem Stopp-Bit. Das optionale Parity-Bit erfüllt dabei die Aufgabe, dass Übertragungsfehler erkannt werden können. Das Stopp-Bit kann auf das 1,5 oder 2-Fache der normalen Übertragungszeit eines Bits verlängert werden. Dies ist notwendig, um dem Empfänger eine Synchronisationszeit auf den Takt der empfangenen Daten einzuräumen. Diese veränderten Stopp-Bits werden als 1,5 beziehungsweise 2 Stopp-Bits bezeichnet.

Funktion des UART

Die Übertragung der Daten beim UART erfolgt asynchron, das heißt, dass der Beginn der Übertragung mit dem Start-Bit zu jeder beliebigen Zeit erfolgen kann. Das Besondere dabei ist, dass durch diese Betriebsweise kein eigenes Taktsignal auf einer Übertragungsleitung verwendet wird. Stattdessen wird die Länge des Rahmens verwendet, durch die sich der Empfänger synchronisieren kann. Realisiert wird dies durch die Schaltflanke des Start- und Stopp-Bits sowie der eingestellten Baudrate. Die Baudrate entspricht in diesem Fall der Bitrate. Durch eine Einschränkung der Anzahl der übertragbaren Bits wird überhaupt erst eine Synchronisation gewährleistet. Eine Gefahr besteht jedoch bei steigender Länge des Datenstroms, denn dann kann es zum Verlust der Synchronisation kommen. Das hat zur Folge, das Fehlinterpretation des Datenstromes und somit fehlerhafte Übertragungen zustande kommen. Im Gegensatz zu der üblichen Herstellung der Synchronisation mittels der Start- und Stopp-Bits gibt es auch serielle Schnittstellen, die diesen Rahmen nicht benötigen, um eine Synchronisation herzustellen. Stattdessen wird zum Beispiel eine zusätzliche Taktleitung verwendet. Eine andere Methode ist die Zurückgewinnung des Taktes aus dem Leitungscode.

Die RS-232 Schnittstelle

In der Datenkommunikation findet die asynchrone Übertragung bei der weitverbreiteten RS-232 Schnittstelle Verwendung. Diese Schnittstelle besteht zusätzlich zu dem UART noch aus Pegelumsetzern und weiteren Bauelementen, wie zum Beispiel Stecker, die kein Teil des UART mehr sind. Der UART erfüllt die Aufgabe auf der Schnittstelle die zu übertragenden Datenbits und den dazu notwendigen Datenrahmen zu erzeugen.

Realisierung des UART

Zu finden ist der UART meist als Kommunikationsbaustein in Mikrocontrollern oder Computern. Darüber hinaus kann er auch als eigenständige integrierte Schaltung oder als Teilfunktion in Chipsätzen vorkommen. Eine weitere Realisierungsmöglichkeit besteht in der Form von Hardwarebeschreibungssprachen. Diese dienen der Integration in Field Programmable Gate Arrays oder als „Software-UART“ und liegen nur als Programmabfolge vor. Dabei werden bestimmte Ein- und Ausgabepins direkt angesteuert.
Zum Beispiel mittels eines CPU-externen Busses werden die zu übertragenden Daten beziehungsweise die Daten, die empfangen werden, an das UART parallel übertragen.

Geschichte des UART

Da das UART zusammen mit der RS-232-Schnittstelle auftritt, ist die Geschichte des Transmitters auch eng mit der Standardisierung der Schnittstelle verbunden. In der Anfangszeit übertrugen die UARTs lediglich wenige Hundert Bit/s und waren für den Anschluss an Modems vorgesehen. Über die Jahre hinweg entwickelten sie sich jedoch zu eigenständigen Chips mit einer Datenübertragungsrate von mehreren Megabit pro Sekunde.

Der UART-Baustein

Der UART 8250 ist ein UART-Baustein, der über viele Jahre hinweg in handelsüblichen PCs verbaut wurde. Entwickelt wurde er von der Firma National Semiconductor. Die Nachfolger des 8250 trugen die Bezeichnungen 16450 und 16550. Das Besondere am 16550 war, dass er neben dem Empfangs- und Sendeteil als Erweiterung auch einen FIFO-Pufferspeicher zur Verfügung hatte. Dadurch konnte eine Minimierung des Überlaufens des Empfangspuffers bei hohen Bitraten erzielt werden. Außerdem wird der steuernde Prozessor dadurch weniger oft von Interrupts unterbrochen, wodurch die Effizienz des Programmablaufes erhöht wird. Die als eigenständige Bausteine verwendeten UART-Bauteile werden seit Mitte der 1990er Jahre kaum noch als eigenständige integrierte Schaltungen konzipiert. Das liegt daran, dass die seriellen Schnittstellen heutzutage im Chipsatz des Mainboards untergebracht sind.

DUART, USART, CMOS-UART und TTL-UART

Neben der ursprünglichen Variante des UART gibt es noch weitere Abwandlungen dieses Schnittstellenbausteins, die aber alle auf dem UART basieren. Eine dieser Varianten ist der DUART, der eine Kombination von zwei UARTs in einem einzelnen Mikrochip darstellt. Der USART bietet als zusätzliche Möglichkeit eine synchrone Datenübertragung an.

Außer diesen zwei Varianten gibt es auch noch den CMOS-UART und den TTL-UART. Bei beiden findet die Kommunikation über nicht invertierte TTL-Pegel beziehungsweise CMOS-Pegel statt. Sie finden in einfachen Mikrocontroller-Systemen Anwendung, bei denen Daten über die UART-Schnittstelle ohne Handshake und nur über Rx und Tx ausgetauscht werden.