Oversampling, Taktrückgewinnung

#713176
Lesenswert?

@ Gast (Gast)

>Wir programmierten in der Schule einen seriellen Sender. Dazu brauchten
>wir beim Empfänger ein Oversampling zur Taktrückgewinnung. Jedoch
>versteh ich nicht ganz, wie man den Takt dabei rückgewinnt.

Schau dir mal die Funktionsweise eines UART an. Dort wird mit 
Überabtastung gearbeitet.

Siehe auch Baud, Baudratenquarz.

http://pdfserv.maxim-ic.com/en/an/AN2141.pdf

MfG
Falk

P.S.

@ Oskar (Gast)

>PLL - gfs ein händisch programmierte.

http://video.google.de/videoplay?docid=763949850889929695
Gast #713225
Lesenswert?

Hm...

Es gibt eine Abtastfrequenz - das ist mir schon klar und bei unserem 
Beispiel beträgt die 32.6 kHz. Das Startbit sagt dem Empfänger, dass nun 
Daten übertragen werden, und eine halbe Bitlänge später kann er das 
erste Datenbit abtasten, eine weitere Bitlänge später dass 2. Datenbit ? 
So richtig ?

Was ich da jetzt nicht ganz verstehe - Das Oversampling besteht aus 
folgenden  Teilen: Übertragen vom Sender wird immer 1 Bit(insgesamt 
ergeben 10 Bits ein e Übertragung, sprich 10 Bits gehören immer 
zusammen), dann folgt ein Flankendetektor und danach ein 12-Bit-Counter. 
Wenn aus dem Flankendetektor '1' rauskommt, wird der Counter 
zurückgesetzt. Nach dem Counter folgt schließlich noch einmal ein 
Flankendetektor.

Was hat der Counter hier für eine Aufgabe bzw warum wird er 
zurückgesetzt, wenn eine Flanke aus dem 1. Flankendetektor komm ?
#713259
Lesenswert?

@ Gast (Gast)

>So richtig ?

Ja.

>Was ich da jetzt nicht ganz verstehe - Das Oversampling besteht aus
>folgenden  Teilen: Übertragen vom Sender wird immer 1 Bit(insgesamt
>ergeben 10 Bits ein e Übertragung, sprich 10 Bits gehören immer
>zusammen),

Arbeite mal an deinen Formulierungen. Das klingt ziemlich verdreht.

>Was hat der Counter hier für eine Aufgabe bzw warum wird er
>zurückgesetzt, wenn eine Flanke aus dem 1. Flankendetektor komm ?

Zeichne das mal. Sonst reden wir aneinander vorbei. Poste die Zeichnung 
unter Beachtung der Bildformate.

MFG
Falk
#713322
Lesenswert?

@ Gast (Gast)

>Hm der untere Teil mit den 3 Flip Flops und einem XOR soll der
>NRZI-Decoder sein.

Passt im Prinzip.

>PS: Habs jetzt nur schnell mitn Paint gezeichnet, hab nichts anderes auf
>dem PC ;-)

Aber leider nicht die Bildformate beachtet. :-(

Nun, der erste Flankendetektor synchronisiert den Zähler auf die 
Flankenwechsel im Signal, der zweite generiert aus dem Zählerüberlauf 
von 2047 auf 2048 einen Übernahmepuls. D.h. deine Daten müssen 4096 
Takte lang sein, bei 32,6 kHz Takt sind das dann ~ 8 Bit/s. Kann man so 
machen.

MFG
Falk
#713330
Lesenswert?

@ Gast (Gast)

>Und was macht nun der Counter genau? Dient der zur Abtastung und alle
>2^12(=4096) ns wird abgetastet?

Erstmal sind das keine ns, sondern Takte! Und der stellt, wie bereits 
gesagt, eine sycnhrone Zeitbasis zu Abtastung der Daten zur Verfügung. 
Wenn der Zähler einfach frei laufen würde, wäre die Phase von Zähler und 
Datenstrom undefiniert, asynchron. D.h. der Zählerstand Null würde nicht 
genau mit dem Start eines Bit zusammenfallen. Durch den Flankendetektor 
wird er nun aber immer zum Beginn eines Bits zurückgesetzt, sprich mit 
dem Datenstrom synchronisiert. Nun läuft er erstmal für eine Weile 
synchron (im Gleichschritt) mit den ankommenden Daten. Das geht eine 
Weile gut. Nach ein paar Bits kann es aber passieren (und es WIRD 
passieren!), dass der Zähler zu weit oder zu wenig gezählt hat. Nicht 
weil er sich verzählt, sondern weil der Takt vom Zähler und der Takt vom 
Datenstrom nie 100%ig gleich sind. Also muss in regelmässigen Abständen 
der Zähler durch eine Flanke im Datenstrom neu synchronisiert werden. 
Die NRZI Kodierung ist dabei hilfreich.

MfG
Falk

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