Die UART SchnittstelleUART steht für Universal Asynchronous Receiver Transmitter. Es ist eine serielle Schnittstelle, wobei die Datenübertragung asynchron (also ohne eigenes Taktsignal) erfolgt. Zwei Systeme können über UART im full-duplex Betrieb Daten austauschen. Auf den meisten Mikrocontrollern ist ein UART als Hardware als TTL-UART integriert. UART ist die Grundlage für die RS232 oder RS485 Schnittstelle. Die UART-Schnittstelle wird, beispielsweise auch in der Arduino IDE, oft als Serielle Schnittstelle bezeichnet. Aufbau der UART SchnittstelleEine UART Schnittstelle besitzt zwei Anschlüsse: TxD und RxD (oft auch als Tx und Rx bezeichnet) Wichtig ist aber auch ein gemeinsamer Masseanschluss! Dies wird in vielen Beschreibungen nicht erwähnt. Liegen die Kommunikationspartner auf unterschiedlichen Masse-Potenzialen kann dies im schlimmsten Fall zur Zerstörung des Mikrocontrollers führen.
Findet die Kommunikation ohne Pegelwandlung auf TTL oder CMOS-Pegel statt (wie in der Abbildung), so spricht man auch von einem TxD
RxD
Verbindung der SystemeDie Verbindung der Anschlüsse der Kommunikationspartner erfolgt über Kreuz, d.h. der TxD Ausgang des ersten Systems wird mit dem RxD Eingang des zweiten Systems verbunden und umgekehrt.
Dadurch entsteht ein bidirektionaler Bus, der eine
Mittels UART können immer nur zwei Partner miteinander verbunden werden. Manche Mikrocontroller haben daher mehrere UART-Blöcke als Hardwarekomponente eingebaut, damit eine Kommunikation mit mehreren Systemen möglich ist. Das UART-ProtokollDas UART-Protokoll ist einfach aufgebaut. Für eine Kommunikation über längere Strecken wird das TTL-UART Protokoll in ein RS232 Signal codiert. Die UART-Schnittstelle dient häufig auch zur Kommunikation zwischen Mikrocontroller und PC. Da moderne PCs keine RS232 Schnittstelle mehr besitzen, erfolgt vorher eine Übersetzung von RS232 Signalen zum USB-Standard. BaudrateBeim UART Datenübertragung handelt es sich um eine asynchrone Datenübertragung. Es existiert also kein Taktsignal, mit dem sich Sender und Empfänger synchronisieren können. Da es sich beim UART-Protokoll um ein binäres Basisbandsignal handelt, ist die Bitrate gleich der Baudrate (Symbolrate). Die Baudrate (Übertragungsgeschwindigkeit) muss bei beiden Kommunikationspartnern identisch eingestellt werden. UART-Frame
Die Datenübertragung per UART erfolgt mit einem festen Datenrahmen (
StartbitDas Startbit im UART Protokoll wird benötigt, damit sich die Kommunikationspartner synchronisieren können. Im Idle-Zustand ist der UART-Bus auf logisch 1. Das Startbit ist logisch 0 und signalisiert den Start eines UART Frames. DatenbitsDem Startbit folgen 5 bis 9 Datenbits. Diese werden im Little-Endian Format versendet, d.h. das LSB (least significant Bit) zuerst. ParitätsbitDas Paritätsbit ist optional. Es dient der Fehlererkennung. Es können drei Paritäts-Arten eingestellt werden:
Stop-Bits
Der UART-Frame wird durch ein oder zwei Frame FormatFür das Format von UART-Frames existiert eine abgekürzte Schreibweise:
Das 8N1-Format wird bei der Datenübertragung von Mikrocontroller zu PC häufig verwendet, beispielsweise in der Arduino IDE. |