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
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.
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..
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.
Ja das ist ne Möglichkeit, was aber wenn man 400Mhz Manchester und 16Mhz MC hat?
Irgendwie sollte der decodierte Datenstrom dann in diesen MC ? Irgend was passt da nicht.
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.
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.
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?
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.
Dann entschuldige mich habe noch keinen XMega benutzt. Kann man da einstellen, dass er nur bei der schnelleren der beiden Frequenzen sich zwangssynchronisiert??
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
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.
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.
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).
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.
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.
> 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...
руки верх 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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.