Forum: Mikrocontroller und Digitale Elektronik Wie einigen sich Sender und Empfänger bei asynchroner serieller Übertragung auf die Protokollparam.?


von Tzippy (Gast)


Lesenswert?

Also, bei der asynchronen Datenübertragung gibt es ja Start und 
Stoppbits, die ein Zeichen ein- und ausleiten.
Nun müssen sich beide Seiten ja vorher über die Protokollformalitäten 
einigen. Das heißt ja eigentlich nur über die Länge der Zeichen, damit 
der Empfänger meinetwegen weiß, dass er Bit 10 zB als Paritätsbit und 11 
als Stoppbit zu interpretieren hat.
Wie läuft das denn genau ab?
Danke im Voraus!

von Edi R. (edi_r)


Lesenswert?

Die einigen sich nicht, das muss eingestellt werden. Ansonsten gibt's z. 
B. Framing Errors.

von Xenu (Gast)


Lesenswert?

Das musst Du entweder vorher bei beiden Geräten fest einstellen, was der 
Normalfall ist. Oder aber  Du machst eine automatische 
Baudratenerkennung (bei Modems früher üblich), wobei vorher definierte 
Zeichen gesendet werden um die Baudrate zu erkennen, siehe App Note 
hier:

http://ww1.microchip.com/downloads/en/AppNotes/Autobaud%2000962a.pdf

von Tzippy (Gast)


Lesenswert?

Ah okay, das muss also beiden vorher bekannt sein.
Danke!

von Tzippy (Gast)


Lesenswert?

@Xenu: Vielen Dank fuer die nützliche Quelle. Im Falle der 
Baudratenerkennung müssen dann sicherlich auch beide Seiten wissen, dass 
sie Baudratenerkennung nutzen und welche Zeichen sie zur Erkennung 
benutzen, richtig?
Also gänzlich ohne vorher irgendwas einzustellen auf beiden Seiten, sei 
es nun die Baudrate oder das aktivieren der autom. erkennung, gehts 
nicht wenn ich das korrekt verstehe. Leuchtet ja auch ein.

von Tzippy (Gast)


Lesenswert?

Eine Kleinigkeit ist mir noch nicht klar.
Die Baudrate bzw Schrittgeschwindigkeit ist ja der Kehrwert des 
Zeitfensters, das für jedes Bit bereitsteht (Zumindest wenn nur 2 
Signalzustände möglich sind).
Die Baudrate muss ich also auf beiden Seiten gleich einstellen.
Woher weiß dann aber der Empfänger, nach wieviel Datenbits das Stoppbit 
kommt?
Das muss ja auch noch eingestellt werden irgendwo. Also die Wortlänge.
Oder seh ich da was falsch?

von TQXR (Gast)


Lesenswert?

Gar nichts muss eingestellt werden.

Sender und Empfänger starten mit dem kleinsten gemeinsamen Nenner. Auf 
diesem werden die tatsächlichen Parameter ausgehandelt und anschließend 
findet die Kommunikation mit diesen Parametern statt.

Nächstes mal besser googeln statt in diesem Anfängerforum zu posten. 
Wenn du überhaupt keine Ahnung von einem Thema hast, bist du immer noch 
klüger als die Stammbesucher hier, die meinen, sie wüssten alles, aber 
nur Blödsinn posten.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

> Sender und Empfänger starten mit dem kleinsten gemeinsamen Nenner. Auf
> diesem werden die tatsächlichen Parameter ausgehandelt und anschließend
> findet die Kommunikation mit diesen Parametern statt.
Korrekt, Ethernet z.B. macht das. Aber er meinte vermutlich USART bzw. 
RS-232, und das macht das normalerweise nicht.

von Tzippy (Gast)


Lesenswert?

Richtig, ich meine zB RS232 und USART. Da hab muss ich also auf beiden 
Seiten einstellen, wieviele Datenbits, Stoppbits, Paritätsbit ich hab 
und die Baudrate?

von Karl H. (kbuchegg)


Lesenswert?

Tzippy schrieb:
> Richtig, ich meine zB RS232 und USART. Da hab muss ich also auf beiden
> Seiten einstellen, wieviele Datenbits, Stoppbits, Paritätsbit ich hab
> und die Baudrate?

Korrekt.

Das ist der übliche Weg. Die Einstellung macht men meistens nur 1-mal 
(für eine bestimmte Verbindung), daher lohnt sich hier höherer Aufwand 
nicht.

Die Sache mit den Modems ist eher so gelagert:
Erst mal braucht man dann auf dem Modem keine Einstellmöglichkeiten (Dip 
Schalter oder sonstiges).
Zweitens kann dann auch Lieschen Müller ein Modem in Betrieb nehmen und 
das ist für die Hersteller wichtiger, weil dann weniger Kosten in der 
Hotline anfallen und das ist die paar Tage Programmierung für eine 
Autobaud Funktion allemal wert.
Drittens liest heutzutage keiner mehr beigelegte Doku. Erst mal wird 
angestecket, festgestellt das es nicht funktioniert (no na) und dann 
entweder das Gerät zurückgeschickt oder die Hotline genervt. In beiden 
Fällen hat der Hersteller dann die schlechte Nachrede.

von ... (Gast)


Lesenswert?

Tzippy schrieb:
> Da muss ich also auf beiden
> Seiten einstellen, wieviele Datenbits, Stoppbits, Paritätsbit ich hab
> und die Baudrate?

Genau.

von Tzippy (Gast)


Lesenswert?

Vielen Dank für die Antworten! Hat mir schon sehr weitergeholfen. Ich 
bin wohl auf dem richtigen Weg =)

von Reinhard Kern (Gast)


Lesenswert?

TQXR schrieb:
> Wenn du überhaupt keine Ahnung von einem Thema hast, bist du immer noch
> klüger als die Stammbesucher hier, die meinen, sie wüssten alles, aber
> nur Blödsinn posten.

Das schreibt gerade jemand, der zuvor die dümmst-mögliche Antwort 
überhaupt gegeben hat. Offensichtlich noch nie mit einer seriellen 
Schnittstelle in Berührung gekommen, aber völlig irreale Beschreibungen 
abliefern. Ein neuer Tiefstpunkt in der Qualität der Postings hier (die 
anderen wissen wenigstens, wovon die Rede ist oder haben sogar richtig 
Ahnung).

Gruss Reinhard

von Tzippy (Gast)


Lesenswert?

Bald bin ich völlig verwirrt, aber ich werde jetzt einfach den 
angemeldeten Usern vertrauen, die scheinen mir tatsächlich den Eindruck 
zu machen, Ahnung zu haben =)
Danke euch!

von Purzel H. (hacky)


Lesenswert?

TXQR ging von einem Modem aus. Ein UART kann nichts von selbst 
aushandeln. Das sind alles Protokolle obendrauf.

von Klaus W. (mfgkw)


Lesenswert?

Tzippy schrieb:
> angemeldeten Usern vertrauen

Eine hervorragende Idee.
Das sollte man eigentlich auf die Startseite in groß und rot schreiben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.