Asynchrone Uebertragung

Gast #18340
Lesenswert?

Hallo liebe uC Freunde

bin student und habe mit asynchroner uebertragung zu kaempfen, die durch 
einen pic kontrolliert werden soll

ich mochte meine frage moeglichst kurz formulieren:

bei der asynchronen uebertragung werden ja 2 verschiedene clocks 
verwendet, die normalerweise eine gewisse differenz aufweisen.
wenn ich jetzt informationen (datenpakete mit 
start-daten-paritaet-stop-bits) ohne pause, d.h das startbit folgt dem 
vorhergehenden stoppbit, verschicke, gibt es ja keine pause zwischen den 
"charakteren"
ich nehme mal an wenn die frequenz des empfaengers etwas hoeher ist 
kommt es zu einer pause wenn der empfaengerclock "ueberspringt, d.h. 
wenn die differenz der cloks sich zu mehr als einem puls aufsummiert.
(bitte korrigieren wenn es nicht korrekt ist, bin anfaenger)

Was passiert nun wenn die frequenz des empfaengers etwas niedriger ist?
geht da ein bit verloren?
welche technologien gibt es da?
bzw kann das ueberhaupt nicht vorkommen (und warum)?

Besten Dank im Voraus
Gast #18342
Lesenswert?

Naja, danke fuer deinen Beitrag und es hoert sich schoen an, aber
ich habe einen PIC der den Datenfluss kontrollieren soll.
Die Daten kommen aber als eine Wurst, und zwar mehrere hundert oder 
einige Tausend bit hintereinander. Und diese kommen einfach 
hintereinander, ohne Pause, darauf hab ich keinen Einfluss.

Ausserdem habe ich keinen Puffer oder sowas...
Ich bekomme die Daten asynchron und muss sie synchron (also nicht wenn 
es mir passt) an einen weitere Chip schreiben, der mir seinen Clock fuer 
den Empfang vorgibt.

Nun weiss ich nicht, wass passiert, bzw. wie ich die asyn. Daten mit dem 
2. Clock synchronisieren, ohne bits aus der Folge zu verlieren...
Danke fuer euere Muehe

Oder hat jemand einen Link, wo man konkrete Info ueber asyn. 
Datenuebertragung findet, aber nicht nur Theorie wie sie an den Uni's 
unterrichtet wird?
Gast #18343
Lesenswert?

@mario
Schau dir am besten mal das ausführliche Datenblatt eines beliebigen 
asynchronen UART an oder auch des Datenblatt z.B. eines AT MEGA8. Dort 
wird die Funktionweise ausführlich erklärt. Bei asynchronen Übertragung 
wird typischerweise auf der negativen Flanke getriggert und die 
nachfolgenden Datenbits werden mit einem Vielfachen (typisch 16 fach) 
der eingestellten Bitrate gesampelt und ausgewertet.
#18345
Lesenswert?

Z.B. beim 8051 wird jedes Bit mit dem 16-fachen der Baudrate abgetastet 
und das 7., 8. und 9. Sample mit Majoritätslogik ausgewertet, d.h. in 
der Mitte eines Bits.

Auch das Stopbit wird so geprüft. Damit ist die UART nach 10/16 des 
Stopbits bereit, das nächste Startbit zu erkennen.

Somit ist auch ein etwas schnellerer Sendetakt kein Problem.

Wenn die UART im PIC das aber nicht so macht, hast Du wirklich ein 
Problem.


Peter

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