GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist UART (Universal Asynchronous Receiver/Transmitter)

Zielgruppe

Dieser Artikel setzt voraus, dass der Leser über ein grundlegendes Verständnis elektronischer Geräte, Schaltungen und Terminologie verfügt.

Einführung

In der Welt der eingebetteten Gerätekommunikation gibt es eine kleine Handvoll Protokolle, die für viele verschiedene Anwendungen verwendet werden. Es kommt häufig vor, dass gebräuchlichere Protokolle, die häufig für den täglichen Betrieb verwendet werden, wie FTP und TCP, entweder nicht mit kleinen eingebetteten Geräten funktionieren oder ungeeignet sind (häufig aufgrund von Strom- oder Platzbedarf). In solchen Fällen sind einfachere Kommunikationsstandards wie UART sehr nützlich.

Was ist UART?

Bild Exar16550onItronixPCB von Wikipedia-Benutzer Myself248 / Lizenziert unter CC BY-SA 3.0

UART (Universal Asynchronous Receiver/Transmitter) ist ein kleines, effizientes Kommunikationsgerät, ähnlich wie I2C. UART wird meistens in einer Hardware installiert, die in einen IC (integrierte Schaltung) eingebettet ist, der kommunizierte Daten zwischen seriellen und parallelen Formen übersetzt. Mit anderen Worten, ein UART-Gerät nimmt einen Strom von Datenbits (meistens für parallele Kommunikation ausgelegt), wandelt ihn in serielle Datenbits für die Übertragung über eine einzelne Leitung oder einen Bus um und überträgt ihn dann. Am anderen Ende der Leitung empfängt ein weiteres UART-Gerät die seriellen Bits und wandelt sie zurück in parallele Datenpakete. Der „Universal“-Teil des Namens bezieht sich auf die Konfigurierbarkeit sowohl des Datenformats als auch der Übertragungs-/Empfangsgeschwindigkeit.
.
UART ist eines der ältesten von Computern verwendeten Kommunikationsgeräte, Dating seine Ursprünge reichen bis in die 1960er Jahre zurück, als es zum Anschluss von Computern an Tastaturen von Fernschreibern oder „Fernschreibern“ verwendet wurde. In den 1970er Jahren war es das Protokoll, das zum Lesen und Schreiben von Daten auf Kassetten verwendet wurde, und später wurde es zur Kommunikation mit Modems während der frühen Einwahltage von BBS-Diensten (Bulletin Board System) und dem Internet verwendet. Es wurde seitdem durch komplexere Geräte ersetzt, die Protokolle wie TCP und IP verwenden, aber sein Design ist immer noch nützlich für eingebettete Geräte.
.

Wie UARTs kommunizieren

Wie oben erwähnt, funktioniert UART, indem es zwischen paralleler Kommunikation und serieller Kommunikation übersetzt. Warum überhaupt, da parallele Kommunikation so viel schneller ist? Die parallele Kommunikation ist zwar schneller, aber auch viel teurer, sowohl was die Leistung als auch das Übertragungsmedium angeht. Sie können denselben Datenstapel in aufeinanderfolgenden seriellen Bits einzeln über eine einzelne Leitung senden, anstatt in synchronisierten parallelen Bits gleichzeitig über eine Reihe von Leitungen. Wenn Ihre Anwendung beispielsweise wenig Platz hat, kann es viel sinnvoller sein, nur einen Draht zu verwenden. Aus diesem Grund sind UART-Geräte in Low-Power- und Low-Profile-Situationen wie eingebetteten Systemen sehr praktisch.
.
Und wie funktioniert es genau? Das Schöne an der asynchronen Übertragung ist, dass die Daten übertragen werden können, ohne dass sich Sender und Empfänger ein Taktsignal teilen müssen – ein Signal, das wertvollen Datenraum belegen kann. Stattdessen wird das Timing im Voraus zwischen beiden Einheiten vereinbart, und jedem Datenpaket – jedem „Wort“ – werden spezielle Bits hinzugefügt. UARTs verwenden diese Bits, um sich miteinander zu synchronisieren. Wenn der Sender sich darauf vorbereitet, ein Wort zu senden, fügt er am Anfang des Pakets ein spezielles START-Bit hinzu. Dieses Bit macht den Empfänger darauf aufmerksam, dass ein Datenpaket eintrifft, und synchronisiert die interne Uhr des Empfängers mit der des Senders. (Bei anderen Sender-Empfänger-Paarungen genügt es normalerweise, die beiden Geräteuhren zu synchronisieren, indem sie sich auf eine Übertragungsgeschwindigkeit in Bits pro Sekunde oder „Baud“ einigen.)
.
Nach dem START-Bit, der Sender sendet das Wort. Die meisten UART-Systeme verwenden Wortlängen von fünf bis zehn Bit. Die Bitübertragung erfolgt über eine konsistente Taktzeit, und der zeitsynchronisierte Empfänger schaut auf den Bus genau nach der Hälfte einer bestimmten Sendezeit, um festzustellen, ob eine 1 oder eine 0 gesendet wird (wenn der Bus HIGH ist, eine '1'). gesendet wird; andernfalls ist es eine '0'). Abschließend sendet der Sender ein Paritätsbit (falls das System so konfiguriert wurde) und ein END-Bit. Dann beginnt es ein weiteres Wort mit einem weiteren START-Bit, und der Prozess wird fortgesetzt. Der Empfänger verwirft unterdessen die START- und STOP-Bits, verwendet das Paritätsbit, falls erforderlich, zeichnet das Wort auf und wartet weiter auf weitere Daten. Wenn die Schaltung ein Duplex-Aufbau (Zwei-Wege-Kommunikation) ist, dann kann sich derselbe Prozess in der entgegengesetzten Richtung wiederholen. In einigen UART-Systemen sind Drähte nicht einmal notwendig; Infrarot- (IR) und Bluetooth-Geräte sind häufig so eingerichtet, dass sie über das UART-Signalisierungsschema senden und empfangen.

Historische Kleinigkeiten :Wenn nichts übertragen wird, wird die Leitung von beiden Geräten auf HIGH gehalten und nicht auf LOW (ohne Stromversorgung). Diese Konvention ist ein Überbleibsel aus den Tagen der Telegrafen – Telegrafenleitungen wurden hoch gehalten, damit jeder Endbenutzer erkennen konnte, dass die Leitung hoch war ungebrochen.

.

Verwendungen für UARTs bleiben bestehen

UART-Geräte gibt es schon seit langer Zeit und sie haben sich immer noch als nützlich erwiesen, sogar neben Geräten, die zu schnellerer Kommunikation und Gigabit-Übertragungsgeschwindigkeiten fähig sind, die heute mit schnellen VPS-Hosting-Servern und verwaltetem Server-Hosting möglich sind.
.
Die meisten modernen Mikrocontroller enthalten ein UART-Gerät; Einzelne ICs können einen, zwei oder sogar 8 UARTs auf einem Chip enthalten (diese letzten beiden Designs werden DUARTs bzw. OCTARTs genannt). Der Arduino – die beliebte Mikrocontroller-IDE für Bastler – hat eine UART-Schnittstelle in jedes seiner Boards eingebaut, selbst das kleinste von ihnen. Der Raspberry Pi, ein weiteres beliebtes Bastlergerät, kann auch mit UART-Geräten verbunden werden. Für alle, die daran interessiert sind, mit kleinen eingebetteten Geräten zu arbeiten, ist es ein lohnendes Gerät, dessen Verwendung zu erlernen.

.


Linux
  1. Was ist eine relationale Datenbank?

  2. Was sind zustandslose und zustandsbehaftete Modelle der Webentwicklung?

  3. Elasticsearch Distributed NoSQL Database – Was ist das und sollten Sie es verwenden?

  4. Was ist der Unterschied zwischen ereignisgesteuert und asynchron? Zwischen epoll und AIO?

  5. Wie funktioniert Rm? Was macht Rm?

Was ist eine OLTP-Datenbank?

Was ist Datenbank-Denormalisierung?

Was ist eine Datenbank?

Was ist eine verteilte Datenbank und wozu dienen verteilte Datensysteme?

Was ist der Unterschied zwischen DMA und Memory-Mapped IO?

Was ist der einfachste Weg, Daten von stdout als Diagramm zu visualisieren?