UART vs USART

Gast #4218794
Lesenswert?
• ▲
▼
Hallo an alle,

Ja ich weiss dieses Thema gab es schon mal-dennoch habe ich andere 
Fragen die in anderen Threads nicht beantwortet wurden, und wollte es in 
meinen eigenen Worten ausdrücken um zu sehen ob ich es verstanden habe 
oder nicht.

UART:
Asynchrone übertragung.
Durch die Festlegung der Baudrate weiss Sender und Empfänger welches Bit 
jetzt was bedeutet. Keine Taktleitung.
Wir brauchen Start und Stopbit damit der Empfänger erkennen kann wo die 
Daten anfangen und wo aufhören.
Die Daten werden bei positiver Flanke des Baudrate Generator gesendet.


USART:
Synchrone übertragung.
Keine Baudrate mehr benötigt. Sender und Empfänger sind mit der gleichen 
Taktleitung verbunden. Auch hier brauchen wir Start und Stopbit damit 
der Empfänger erkennen kann wo die Daten anfangen und wo aufhören.
Die Daten werden bei negativer Taktflanke gesendet.


Stimmt das ?

lG
Gast #4218796
Lesenswert?
• ▲
▼
...naja, Du hängst das am falschen Ende auf.

USART heiußt "Universal Synchronous Asynchronous Receiver Transmitter"
und beschreibt das, was die der entsprechende Schaltungsteil KANN, nicht 
was er macht.
Der Unterschied zwischen UART und USART ist also das dieser auch die 
Synchronmodi beherrscht.
Es gibt da diverse z.B. auch von IBM "standardisierte" Protokolle wie 
SDLC und HDLC die auch im Telekommunikationsbereich Anwendung finden.
Die Verwendung einer gemeinsamen Taktleitung ist dabei auch nicht 
unbedingt Voraussetzung, der Takt kann ggf. auch durch eine PLL aus dem 
Datensignal restauriert werden.

Gruß,

Holm
Gast #4218997
Lesenswert?
• ▲
▼
Ja... Ist das denn jetzt richtig oder nicht?

UART:
Asynchrone übertragung.
Durch die Festlegung der Baudrate weiss Sender und Empfänger welches Bit
jetzt was bedeutet. Keine Taktleitung.
Wir brauchen Start und Stopbit damit der Empfänger erkennen kann wo die
Daten anfangen und wo aufhören.
Die Daten werden bei positiver Flanke des Baudrate Generator gesendet.


USART als synchron eingestellt:
Synchrone übertragung.
Keine Baudrate mehr benötigt. Sender und Empfänger sind mit der gleichen
Taktleitung verbunden. Auch hier brauchen wir Start und Stopbit damit
der Empfänger erkennen kann wo die Daten anfangen und wo aufhören.
Die Daten werden bei negativer Taktflanke gesendet.
Gast #4219028
Lesenswert?
• ▲
▼
studentMax schrieb:
> UART:
> Asynchrone übertragung.
> Durch die Festlegung der Baudrate weiss Sender und Empfänger welches Bit
> jetzt was bedeutet. Keine Taktleitung.

Deine Aussagen sind korrekt. Nur etwas unglücklich formuliert.
Der große Unterschied ist auf einen Nenner gebracht:
Ein USART hat einen Takteingang, ein UART nicht.
Auch der USART kann asynchron.
#4219030
Lesenswert?
• ▲
▼
Wie weiter oben geschrieben: Die üblichen synchronen Betriebsarten 
(SDLC, HDLC) haben keine Taktleitung sondern generieren den Takt aus dem 
Datensignal. Es gibt kein Startbit und kein Stopbit. Das erledigen 
bestimmte Bitfolgen, die im normalen Signal nicht vorkommen.

Lesetip: Wikipedia, HDLC
Gast #4219036
Lesenswert?
• ▲
▼
studentMax schrieb:
> Sender und Empfänger sind mit der gleichen
> Taktleitung verbunden. Auch hier brauchen wir Start und Stopbit

Ein USART kann eine Taktleitung verwenden, muss aber nicht und es ist 
auch wenig üblich, um die Leitung einzusparen - die meisten USARTs 
enthalten eine PLL, um den Takt aus den Daten zu rekonstruieren. Das 
setzt voraus, dass die Daten auch genug Flanken enthalten, daher werden 
beim Senden nach einigen Nullen oder Einsen zusätzliche Bits eingefügt, 
das geht automatisch und transparent, der Empfangsteil entfernt sie 
wieder. Steht aber alles im Danteblatt.

Start- und Stop-Bit gibt es bei synchron nicht, es werden immer Blöcke 
übertragen mit direkt aufeinanderfolgenden Zeichen oder Bitfolgen. Zur 
Synchronisation beginnt jeder Block mit einem oder mehreren speziellen 
Sync-Zeichen. Theoretisch kann auch ein externes Sync-Signal verwendet 
werden, was aber noch weniger üblich ist als der externe Takt.

Georg
Gast #4219070
Lesenswert?
• ▲
▼
OldMan schrieb:
> So,so! Wo hast Du denn diese Weisheit gefunden.

Ich dachte, ich hätte das geklärt mit dem vorhergehenden Post, aber 
offensichtlich ist synchron so kompliziert, dass manche damit 
überfordert sind. Da hilft wohl auch das Studium von Datenblättern nicht 
mehr, in denen die PLLs ausführlich beschrieben sind. Da kann man halt 
nix machen, ist aber auch egal, synchrone Übertragungen sind fast 
ausgestorben.

Georg
Gast #4219878
Lesenswert?
• ▲
▼
studentMax schrieb:
> Synchrone übertragung.
> Keine Baudrate mehr benötigt. Sender und Empfänger sind mit der gleichen
> Taktleitung verbunden. Auch hier brauchen wir Start und Stopbit damit
> der Empfänger erkennen kann wo die Daten anfangen und wo aufhören.
> Die Daten werden bei negativer Taktflanke gesendet.

OldMan schrieb:
> Deine Aussagen sind korrekt.

OldMan schrieb:
> Du hast KEINE AHNUNG!

sMax, tut mir ja leid aber was du da zu synchron geschrieben hast ist 
totaler Bullshit.

Leider melden sich dann solche Pöbler wie Oldmax, geben dir auch noch 
uneingeschränkt recht und brüllen jeden nieder, der tatsächlich weiss 
wie eine synchrone Übertragung funktioniert.

Dann such doch mal deine Start/Stopbits im HDLC- oder SDLC-Protokoll. 
Hier weiterzudiskutieren ist völlig sinnlos: ob es diese Bits bei 
synchron gibt wird offensichtlich dadurch entschieden, wer mit den 
übelsten Beleidigungen um sich wirft. Ist leider inzwischen die 
bevorzugte Methode zur Wahrheitsfindung.

Georg
#4219890
Lesenswert?
• ▲
▼
Eine UART für asynchrone Übertragung synchronisiert einen internen Takt 
auf das Startbit des Datensignals jedes Datenwortes. Das ist wohl 
hinlänglich bekannt.

Eine USART für synchrone Übertragung bezieht ihren Takt meist aus einem 
extern angelegten Taktsignal. Im Regelfall, also bei Übertragung in 
erheblicher räumlicher Entfernung, wird das Taktsignal der 
Empfangsrichtung nicht als separates Signal übertragen, sondern wird mit 
Hilfe einer externen Schaltung aus dem übertragenen Signal rückgewonnen.

In eher seltenen Fällen enthalten USARTs bereits intern für bestimmte 
Codierungen eine solche Logik, können also den Empfangstakt intern 
bitsynchron aus dem Signal gewinnen (z.B. Zilog SCC).
#4219909
Lesenswert?
• ▲
▼
studentMax schrieb:
> Keine Baudrate mehr benötigt. Sender und Empfänger sind mit der gleichen
> Taktleitung verbunden.

Das findet man nur in räumlich enger Distanz bei Mikrocontrollern.

> Auch hier brauchen wir Start und Stopbit damit
> der Empfänger erkennen kann wo die Daten anfangen und wo aufhören.

Das ist ein Detail der Implementierung in manchen USARTs, wie etwa denen 
in den Atmel AVRs. Die traditionelle synchrone Datenübertragung 
verwendet keine Startbits.

> Die Daten werden bei negativer Taktflanke gesendet.

Das ist ein Implementierungsdetail bestimmter Bausteine oder 
Schnittstellen, aber keine allgmeingültige Aussage über USART Bausteine.

Quintessenz: Du schliesst hier aus der Implementierung eines bestimmten 
USART Moduls - möglicherweise Atmel AVR - auf die Allgemeinheit. Das ist 
schlicht unzulässig. Das was man traditionell unter einer synchronen 
Übertragung per USART versteht, hat wenig mit dem zu tun, was Atmel 
darunter versteht. Stichworte wären SDLC/HDLC und X.25/Datex-P.
#4220488
Lesenswert?
• ▲
▼
Die Urgrossväter 8251 und 6852 wiederum hatten zwar Sync drin, aber 
keine Taktregenerierung und nur Bytesync-Verfahren wie BISYNC. Beim Z80 
SIO war dann auch SDLC/HDLC drin, aber ebenfalls keine DPLL.

Ergo: Manchmal war es drin, manchmal nicht. Wenn kein NRZI übertragen 
werden sollte war ohnehin eine externer Codec fällig und da passte die 
PLL auch ganz gut rein.
Gast #4220506
Lesenswert?
• ▲
▼
Das Problem ist, dass hier zwei Bedeutungen von "synchron" 
durcheinandergeworfen werden.

Einmal die Synchronisation auf Bitebene mit (synchron) oder ohne 
(asynchron) Taktsignal, einmal die Synchronisation auf Bytebene mit 
Start- und Stopbits (asynchron) oder Paketprotokollen wie SDLC/HDLC 
(synchron).

SDLC/HDLC ist heutzutage stark aus der Mode gekommen. Mein Eindruck ist, 
dass neuere Bausteine das nicht mehr unterstützen.
#4220555
Lesenswert?
• ▲
▼
Juergen schrieb:
> Einmal die Synchronisation auf Bitebene mit (synchron) oder ohne
> (asynchron) Taktsignal, einmal die Synchronisation auf Bytebene mit
> Start- und Stopbits (asynchron) oder Paketprotokollen wie SDLC/HDLC
> (synchron).

Ich sehe 3 Varianten:
- asynchron mit Start/Stopbit
- bitsynchron mit Start/Stopbit (Atmel USART)
- bitsynchron mit Sync-Protokollen wie BISYNC und SDLC

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren