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.
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.