Forum: Mikrocontroller und Digitale Elektronik PLL Verriegeln.


von Jan R. (Gast)


Lesenswert?

Hallo,

Ich möchte das Taktsignal des Manchester Codes per PLL Rekonstruieren. 
das dieses Phasenricjtig ist, wird eine Prämbel gesendet 11111 die 
genaue dem Taktsignal entspricht.Wärend der Präambel, soll die PLL 
einrasten und auch bei anschließender Veränderung der Phase sprich wenn 
die Daten gesendet werden, sich nicht wieder verändern.Wie kann man dies 
erreichen?

Oder ist es möglich, den Phasenrichtigen Takt auch ohne diese Präambel 
zu rekonstrieren?? Dazu finde ich nirgends was, aber vielleicht weiß es 
jemand..

Danke Schonmal im Vorraus

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du kannst dir zu Nutze machen, das bei 'echtem' Manchester Code ein 
Daten-Flankenwechsel immer nur auf den Clockflanken passiert. Das heisst 
aber, das die Rückgewinnung polaritätsunabhängig die Flanke erkennen 
muss und auch nur genau dann das regenerierte Clocksignal 'nachzieht'.
Eine automatische Clockregenerierung komplett ohne Anhaltspunkte auf die 
originale Datenrate erfordert allerdings einige Versuchsläufe.

Allerdings ist die Präambel genau für einfachere Synchronisation 
gemacht, der ähnliche Ansatz wie die Farbträger Rückgewinnung im alten 
PAL Fernsehen.

von Jan R. (Gast)


Lesenswert?

Dafür bräuchte ich dann aber einen Prozessor oder Fpga..
Und nich nur ne einfache PLL..


Oder ne intelligente Software PLL, die das berücksichtigt den 
Flankenwechsel erkennt Umfrage sorgt, dass das den Ostillator nicht 
juckt um die Phase korrekt bleibt..

von Peter D. (peda)


Lesenswert?

Jan R. schrieb:
> Ich möchte das Taktsignal des Manchester Codes per PLL Rekonstruieren.

Dann bist Du der erste, der sowas mit PLL macht.
Üblicher Weise nimmt man einen MC dazu und der löst einfach bei jeder 
Flanke einen Interrupt aus.

von Jan R. (Gast)


Lesenswert?

Ja das ist ne Möglichkeit, was aber wenn man 400Mhz Manchester und 16Mhz 
MC hat?

von und nun (Gast)


Lesenswert?

Irgendwie sollte der decodierte Datenstrom dann in diesen MC ? Irgend 
was passt da nicht.

von Simon K. (simon) Benutzerseite


Lesenswert?

So, wie man Jan kennt ist das sicher nur wieder eine "Verständnisfrage" 
;-)

von Simon K. (simon) Benutzerseite


Lesenswert?

Achja, bei den aktuellen XMegas habe ich das Event Eystem mal benutzt um 
eine digitale "abgespeckte" PLL zu bauen, um einen solchen Takt 
zurückzugewinnen.

Man nutzt einfach aus, dass nur zwei Grundfrequenzen in dem Manchester 
Signal auftauchen, wo auch noch die eine das Doppelte der Anderen ist.
Und zwar stellt man einen Timer ein, der z.B. von dem ungenauen internen 
Timer gespeist wird. Würde man den Timer jetzt frei-rennend laufen 
lassen, käme es früher oder später zur Verschiebung der Abtastung.
Man kann jetzt aber die Flanken im Signal benutzen um diesen Timer 
wieder zurückzusetzen. Das heißt er läuft für maximal 2 Abtastperioden 
frei rum und wird dann wieder "zwangs" synchronisiert.
Das alles ohne Software-Eingriff.

von vorticon (Gast)


Lesenswert?

Ich glaube nicht, dass man das mit PLL macht. Beim Manchester Code wird 
jede Flanke als Datenbit (je nach Richtung) gewertet, wenn jedoch 
bereits vor Ablauf einer vollen Periodendauer seit dem letzten Bit eine 
Flanke kommt, wird dies nicht gewertet. Das kann man mit einfachen 
Logikschaltungen realisieren, ungefähre Bitrate sollte bekannt sein.

von Jan R. (Gast)


Lesenswert?

Simon K. schrieb:
> Achja, bei den aktuellen XMegas habe ich das Event Eystem mal benutzt um
> eine digitale "abgespeckte" PLL zu bauen, um einen solchen Takt
> zurückzugewinnen.
>
> Man nutzt einfach aus, dass nur zwei Grundfrequenzen in dem Manchester
> Signal auftauchen, wo auch noch die eine das Doppelte der Anderen ist.
> Und zwar stellt man einen Timer ein, der z.B. von dem ungenauen internen
> Timer gespeist wird. Würde man den Timer jetzt frei-rennend laufen
> lassen, käme es früher oder später zur Verschiebung der Abtastung.
> Man kann jetzt aber die Flanken im Signal benutzen um diesen Timer
> wieder zurückzusetzen. Das heißt er läuft für maximal 2 Abtastperioden
> frei rum und wird dann wieder "zwangs" synchronisiert.
> Das alles ohne Software-Eingriff.
Du hast doch einen MC genommen.. Also ganz ohne Software ;-)

Tja da musste die Frequenz aber bekannt sein... Der Timer wurde nur 
Zurückgesetzt um die Verschiebung durch dessen Ungenauigkeit zu 
Terminieren.

Aber du gewinnst doch keinen Takt durch einen Timer, da schaffst nur das 
der Timer im Richtigen Takt läuft.

Was ist für dich eine Abtastperiode?

von Simon K. (simon) Benutzerseite


Lesenswert?

Jan R. schrieb:
> Du hast doch einen MC genommen.. Also ganz ohne Software ;-)
Die PLL lief ohne Softwareeingriff. Natürlich musste sie konfiguriert 
werden...

> Tja da musste die Frequenz aber bekannt sein... Der Timer wurde nur
> Zurückgesetzt um die Verschiebung durch dessen Ungenauigkeit zu
> Terminieren.
Wenn die Frequenz komplett unbekannt ist, geht es auch mit einer PLL 
nicht. Das scheitert schon daran, dass ein VCO nicht beliebig abstimmbar 
ist. Aber auch an vielen anderen Details

> Aber du gewinnst doch keinen Takt durch einen Timer, da schaffst nur das
> der Timer im Richtigen Takt läuft.
Deswegen "abgespeckte PLL".

> Und warum 2 Taktperioden? Warum machst du dir das Leben so schwer
Weil der Timer auf der schnelleren der beiden Frequenzen des Manchester 
Signals läuft, aber auch Teile mit der Hälfte der Frequenz im Signal 
enthalten sind. Siehe das Bildchen oben rechts:
http://de.wikipedia.org/wiki/Manchester-Code

Warum sollte ich mir das Leben schwer machen? Es ist mMn. eine super 
elegante und robuste Methode um einen Sample-Takt zurückzugewinnen. 
Angewendet habe ich sie hier, um Daten aus einem 13,56MHz RFID Feld zu 
samplen:
https://github.com/emsec/ChameleonMini/wiki

Ich habe dann einen Compare Kanal des Timers genutzt um die Sample 
Position einzustellen (idealerweise genau die Bitmitte). Wie sollte man 
es anders lösen, ohne extra Bauteile, FPGA oder eine reine 
Softwarelösung?
Das Event System im XMEGA ist echt eine Tolle Sache.

von Jan R. (Gast)


Lesenswert?

Dann entschuldige mich habe noch keinen XMega benutzt. Kann man da 
einstellen, dass er nur bei der schnelleren der beiden Frequenzen sich 
zwangssynchronisiert??

von Axel S. (a-za-z0-9)


Lesenswert?

Manchester-Code bekannter Frequenz decodiert man mit einem simplen 
nicht- retriggerbaren Monoflop, das von einer Differenzierstufe 
getriggert wird und auf 3/4 der Bitzeit eingestellt ist.

Die Flanke in der Mitte jedes Bits löst das Monoflop aus. Wenn das 
Monoflop zurückkippt, sampled man jeweils das nächste Bit (alternativ 
wertet man die Richtung der triggernden Flanke aus). Zur initialen 
Synchronisation braucht man zwei ungleiche aufeinanderfolgende Bits, 
also entweder 01 oder 10. Das können Stop- und Startbit sein, oder ein 
Synchronisationsbyte 0x55 oder 0xAA. Die "falschen" Flanken zwischen 
zwei gleichen aufeinanderfolgenden Bits fallen in die Haltezeit des 
Monoflops und werden so ignoriert.

Wenn man das Monoflop digital macht (z.B. vierfacher Takt, 2 Bit Zähler) 
dann kann man das natürlich auch in eine PLL einbetten.


XL

von Simon K. (simon) Benutzerseite


Lesenswert?

Jan R. schrieb:
> Dann entschuldige mich habe noch keinen XMega benutzt. Kann man da
> einstellen, dass er nur bei der schnelleren der beiden Frequenzen sich
> zwangssynchronisiert??

Nö. Musst du doch gar nicht. Die "langsamere" Frequenz in dem Signal ist 
genau die Hälfte der schnellen Frequenz und deswegen liegt sie auf dem 
gleichen "Raster".

Wie auch immer, ich will noch klarstellen, dass das RFID Protokoll in 
meinem Projekt kein Manchester benutzt, sondern eine andere Kodierung.
Mein anliegen war, wie Axel's Anliegen zu zeigen, dass man nicht 
wirklich eine "echte" PLL benötigt um Manchester zu dekodieren.

von Soul E. (Gast)


Lesenswert?

Um mal auf die ursprüngliche Frage zurückzukommen: wenn die PLL nur auf 
eine Präambel einrasten und danach halten soll, dann muss ein 
Sample&Hold zwischen den Schleifenfilter und den VCO. Der schnappt sich 
die Regelspannung im eingerasteten Fall und hält diese konstant. Ist ein 
zwar bisschen Fummelei, weil man beim Zurückschalten auf Live-Betrieb 
keine Transienten haben will, aber letztendlich steckt solche Technik in 
jedem Floppy- und Festplattenlaufwerk.

von Simon K. (simon) Benutzerseite


Lesenswert?

Bei einem digitalen PFD könnte ich mir auch einfach ein Gating 
vorstellen, dass die PFD nur während der Präambel scharfschaltet...
Wenn man also eine PFD mit getrennten UP/DOWN Ausgängen hat, sind diese 
nach der Präambel beide inaktiv (z.B. LOW).

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

soul eye schrieb:
> dann muss ein
> Sample&Hold zwischen den Schleifenfilter und den VCO. Der schnappt sich
> die Regelspannung im eingerasteten Fall und hält diese konstant.

Jo, deswegen auch mein Hinweis oben auf die Farbträgerrückgewinnung 
inkl. Phasenlage beim PAL System. Allerdings erfordert das, das die Lage 
der Präambel ('Burst' bei PAL) genau bekannt, um sie zu finden und das 
'Tor' zu öffnen.
PAL hält nach dem 'Burstgate' den Farbträgerquarz für die Dauer der 
Zeile gelockt. In der nächsten Zeile während des Bursts wird dann wieder 
die Phasenlage korrigiert.

von Jan R. (Gast)


Lesenswert?

soul eye schrieb:
> Um mal auf die ursprüngliche Frage zurückzukommen: wenn die PLL nur auf
> eine Präambel einrasten und danach halten soll, dann muss ein
> Sample&Hold zwischen den Schleifenfilter und den VCO. Der schnappt sich
> die Regelspannung im eingerasteten Fall und hält diese konstant. Ist ein
> zwar bisschen Fummelei, weil man beim Zurückschalten auf Live-Betrieb
> keine Transienten haben will, aber letztendlich steckt solche Technik in
> jedem Floppy- und Festplattenlaufwerk.

Wie kann man eine Sampe&Hold bauen, sodass diese die Spannung auf daher 
hält, der Kondensator entlädt sich ja da muss doch regelmäßig 
nachgeladen werden.

von руки верх (Gast)


Lesenswert?

> Wie kann man eine Sampe&Hold bauen, sodass diese die Spannung auf daher
> hält, der Kondensator entlädt sich ja da muss doch regelmäßig
> nachgeladen werden.

Das hat man schon in der S.B.Z. geschafft.

War zur Lautstaerkeregelung und benutzte einen MOSFET und einen
10 uF MKC Kondensator.

Diese Konstruktion hielt die im Kondensator "gespeicherte" Spannung
wochenlang und ohne jede Stuetzbatterie...

von Jan R. (Gast)


Lesenswert?

руки верх schrieb:
>> Wie kann man eine Sampe&Hold bauen, sodass diese die Spannung auf daher
>> hält, der Kondensator entlädt sich ja da muss doch regelmäßig
>> nachgeladen werden.
>
> Das hat man schon in der S.B.Z. geschafft.
>
> War zur Lautstaerkeregelung und benutzte einen MOSFET und einen
> 10 uF MKC Kondensator.
>
> Diese Konstruktion hielt die im Kondensator "gespeicherte" Spannung
> wochenlang und ohne jede Stuetzbatterie...

Was genau versteht man unter S.B.Z.

von Malte (Gast)


Lesenswert?

Jan R. schrieb:
> Was genau versteht man unter S.B.Z.
http://de.wikipedia.org/wiki/SBZ

von Jan R. (Gast)


Lesenswert?

Jan R. schrieb:
> руки верх schrieb:
>>> Wie kann man eine Sampe&Hold bauen, sodass diese die Spannung auf daher
>>> hält, der Kondensator entlädt sich ja da muss doch regelmäßig
>>> nachgeladen werden.
>>
>> Das hat man schon in der S.B.Z. geschafft.
>>
>> War zur Lautstaerkeregelung und benutzte einen MOSFET und einen
>> 10 uF MKC Kondensator.
>>
>> Diese Konstruktion hielt die im Kondensator "gespeicherte" Spannung
>> wochenlang und ohne jede Stuetzbatterie...
>
> Was genau versteht man unter S.B.Z.

Achso na klar, aber hatten die da schon mosfets und opvs?

von Malte (Gast)


Lesenswert?

Jan R. schrieb:
> Achso na klar, aber hatten die da schon mosfets und opvs?

http://www.youtube.com/watch?v=_vvX_3GQpFY

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.