Hallo, Möchte Manchmester Code dekodieren --> im Internet lese ich, dass das am besten mit einer PLL geht -->. Manche sagen es würde auch mit einem einfachen XOR Gatter gehen aber nur, wenn das taktsignal Phasengleich ebenfalls am XOR Gatter anliegt. --> die PLL ist ja ein Regelkreis. An welchem Bauteil, kann man das Dekodierte datensignal jetzt abnehmen (Phasenkomparator, Shleifenfilter , VCO)? --> Die PLL braucht ja auch eine gewisse Zeit, um eine Phasenlageveränderung auskegeln zu können. Nach dem auskegeln, ist die Spannung am Phasenkomparator wider 0. Am Schleifenfilter ist die Spannung (bei gleicher Frequenz des Signales) nach dem ausregeln auch wider gleich dem davor? --> wärend der Zeit des auskegelnd! zukt die Spannung am Phasenkomparator und am Schleifenfilter ist es auch unkonstant. Wo kann ich das datensignal also abgreifen? MfG
Du brauchst eine PLL und ein XOR. Mit der PLL lässt sich die Taktfrequenz des Datenstroms erzeugen. Diese Taktfrequenz zusammen mit dem Datensignal aufs XOR. Und am Ausgang des XOR liegt das Datensignal an. Das geht übrigens in beide Richtungen. Also codieren und Decodieren.
Das Zauberwort lautet Takt- und Datenrückgewinnung, neudeutsch CDR (clock & data recovery). Das ist bei Manchester ziemlich einfach, kriegt man volldigital mit wenigen FlipFlops hin. Indirekt steckt da auch eine PLL drin, wenn gleich die bei Manchester sehr einfach ausfällt.
Ralph schrieb: > Du brauchst eine PLL und ein XOR. > > Mit der PLL lässt sich die Taktfrequenz des Datenstroms erzeugen. > Diese Taktfrequenz zusammen mit dem Datensignal aufs XOR. > Und am Ausgang des XOR liegt das Datensignal an. > > Das geht übrigens in beide Richtungen. Also codieren und Decodieren. Aber ändert das taktsignal am Ausgang der PLL nicht andauernd seine Phase ? Wie kann man den Takt phasenrichtig zurückgewinnen?
Jan R. schrieb: > Ralph schrieb: >> Du brauchst eine PLL und ein XOR. >> >> Mit der PLL lässt sich die Taktfrequenz des Datenstroms erzeugen. >> Diese Taktfrequenz zusammen mit dem Datensignal aufs XOR. >> Und am Ausgang des XOR liegt das Datensignal an. >> >> Das geht übrigens in beide Richtungen. Also codieren und Decodieren. > > Aber ändert das taktsignal am Ausgang der PLL nicht andauernd seine > Phase ? > Wie kann man den Takt phasenrichtig zurückgewinnen? ??
Jan R. schrieb: > Aber ändert das taktsignal am Ausgang der PLL nicht andauernd seine > Phase ? > Wie kann man den Takt phasenrichtig zurückgewinnen? PLL heisst doch 'Phase Locked Loop' - die Phase am Ausgang bleibt also konstant und das Datensignal wird nun z.B. mit einem XOR wiedergewonnen, bei dem an einem Eingang das PLL signal liegt und am anderen die Manchester Daten. MCs nehmen oft statt der PLL einen Timer, der vom Signal synchronisiert wird, das prinzipielle Vorgehen bleibt aber das gleiche, auch der Timer dreht die Phase nicht.
Matthias Sch. schrieb: > Jan R. schrieb: >> Aber ändert das taktsignal am Ausgang der PLL nicht andauernd seine >> Phase ? >> Wie kann man den Takt phasenrichtig zurückgewinnen? > > PLL heisst doch 'Phase Locked Loop' - die Phase am Ausgang bleibt also > konstant und das Datensignal wird nun z.B. mit einem XOR wiedergewonnen, > bei dem an einem Eingang das PLL signal liegt und am anderen die > Manchester Daten. > MCs nehmen oft statt der PLL einen Timer, der vom Signal synchronisiert > wird, das prinzipielle Vorgehen bleibt aber das gleiche, auch der Timer > dreht die Phase nicht. Ja aber die PLL passt die Phase dem Eingang an, der Phasenkomparator ist ja praktisch auch ein XOR, der nur 0 Ausgibt, wenn die Eingangs und ausgangsphasen gleich sind. Die Phase des Signals ändert sich jetzt doch aber, deshalb müsste sich auch die Phase am Ausgang ändern. Sprich der Wert am Ausgang des Schleifenfilters, ändert sich, bis die Phase und Frequenz von Eingang und Ausgang stimmen.
Hier wird die Manchesterdekodierung auf einem AVR verwendet: http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=127#p544
Matthias Sch. schrieb: > Jan R. schrieb: >> Aber ändert das taktsignal am Ausgang der PLL nicht andauernd seine >> Phase ? >> Wie kann man den Takt phasenrichtig zurückgewinnen? > > PLL heisst doch 'Phase Locked Loop' - die Phase am Ausgang bleibt also > konstant und das Datensignal wird nun z.B. mit einem XOR wiedergewonnen, > bei dem an einem Eingang das PLL signal liegt und am anderen die > Manchester Daten. > MCs nehmen oft statt der PLL einen Timer, der vom Signal synchronisiert > wird, das prinzipielle Vorgehen bleibt aber das gleiche, auch der Timer > dreht die Phase nicht. Phase zwischen Eingang und Ausgang dreht sich nicht. Aber wenn sich die phase des Eingangs ändert?
Jan R. schrieb: > Aber wenn sich die > phase des Eingangs ändert? Hast du schon bemerkt, dass es ein Schleifenfilter gibt? Das ist ein Tiefpass in der Regelung. Die Ausgangsphase folgt der Eingangsphase nicht ruckartig sondern langsam. Sie ist also der Mittelwert der Eingangsphase über x Perioden.
So das isn Ansatz. Der Takt am Ausgang, hat eine Leichte Phasenverschiebung zum Eingangstakt (PLL Mittelwert). Das RC Glied sowie die beiden Inv. Schmitt-Trigger sind für die Glättung zuständig. Kann man das So machen oder ehr Blöd?
Daten und Takt haben beim Manchester Code eine feste Zuordnung. 3kHz und 10kHz sind nicht möglich. Der Wikipedia Artikel (https://de.wikipedia.org/wiki/Manchester-Code) gibt dir das notwendige Grundlagen Wissen.
Das darfst du auch nicht als 3 KHz sehen du musst es als ein Datensignal sehen, welches halt nur an diesen Stellen High bzw. LOW wird. Mit einem XOR Gatter wie imWwikilink beschrieben dekodiere ich ja. Das einzige Problem: das Taktsignal, zur Dekodiereung muss das Taktsignal am erzeuge Phasengleich zum Empfänger Signal sein.das ist hier jetzt leider nicht der Fall (PLL bildet Phasen Mittelwert) also brauche ich das RC Glied für die Glättung. Habt ihr noch ne bessere Idee?
Jan R. schrieb: > Habt ihr noch ne bessere Idee? Ja, zurück zu den Grundlagen. Das Datensignal darf sich nicht zu beliebigen Zeiten ändern. Sonst kann man den Takt nicht zurück gewinnen. Erzeuge dir ein richtiges Manchester Signal und übe damit die PLL.
Man kann das Manchester Signal natürlich auch überabtasten, da muss man den Takt nicht zwangsläufig rekonstruieren. Dazu muss aber die Bitrate bekannt und konstant sein. Mache ich in CPLD/FPGA immer mal. Geht auf einem µC genauso, aber man muss min. 8-fach Überabtasten.
Jan R hat recht. Da sich beim Manchester die Phase häufig zwischen 0 / 180° ändert, kann eine normale PLL niemals einrasten. Es wird auch kein brauchbares Regelsignal erzeugt. Abhilfe: Mit einer Flankenerkennung (Impulsverdoppelung) mit XOR, Pulse erzeugen. Diese Pulse triggern ein Monoflop, das sich mit dem Ausgangsimpuls für ca. 3/4 Bitzeit selbst sperrt. Nach Synchronisation (0-1 / 1-0) kommen nur noch Impulse in jeder Bitmitte durch. Darauf kann eine PLL synchronisiert werden. An dieser Stelle muss der Referenz-Clock eine L-H-Flanke haben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.