Hallo Forum, ich habe fast den ganzen heutigen Tag damit verbracht ManchesterCode zu dekodieren. Ich hab versucht mir mit Excel etwas zusammen zu bauen, was die Daten den LogikAnalysers zerlegen kann. Leider ist das über alle maßen kompliziert und umständlich. Außerdem war ich zu doof, den Dekoderalgorithmus ordentlich in "Wenn"-Klauseln zu implementieren. Hab jetzt keine Lust mehr. Kennt jemand eine technische Möglichkeit (Programm, Applet im Internet), ManchesterCode zügig dekodieren zu lassen?
Hi Wenn ich http://de.wikipedia.org/wiki/Manchester_Code richtig verstehe, wird zu Beginn der Übertragung eine 'Präambel' übertragen. Verstehe ich so, daß am Anfang immer das Gleiche übertragen wird, würde jetzt tippen, daß ein 0-1-0-1 Wechsel mehrfach wiederholt wird, damit der Empfänger sich auf Geschwindigkeit 'einstellen' kann. Wenn bei fallender Takt-Flanke ebenfalls die Signal-Flanke fällt, wurde eine 1 übertragen, eird dagegen eine steigende Signal-Flanke erkannt, ist's eine 0. Soweit mein Verständnis ... hab auch gelesen, daß der Manchester-Code recht einfach zu generieren/entschlüsseln sein soll. An der Wortwahl erkennbar - noch nicht gemacht. MfG
dekodieren, iss gaaaaaaanz einfach. Man nehme ein Monoflop das sowohl auf LH- und HL-Flanke triggert. Dieses stellt man auf 75% Haltezeit ein. Der Bitwert der auf der Leitung liegt wenn das Monoflop zurückfällt, ist der den man haben will. Die Präambel zum synchronisieren gibts nur genau 1 mal. Mit der kann dann auch testen ob die Leitung vielleicht invertiert. Bei HDLC z.B. 0x7E. Wobei die Präambel selbstverständlich auch länger sein kann. Was vor der Präambel kommt, ist Privatsache und kann alles mögliche sein.
man gehe auf Foren, dort auf Suchen Stichwort: +manchester -> 263 Treffer gruß hans
Gast Posti wrote: > Wenn bei fallender Takt-Flanke ebenfalls die Signal-Flanke fällt, wurde > eine 1 übertragen, eird dagegen eine steigende Signal-Flanke erkannt, > ist's eine 0. Genau. Ausschlaggebend ist der Zeitpunkt des Taktsignals. Die oben genannte Regel gilt nämlich nur bei Zeitpunkt= T/2. Um mehrere Nullen oder Einsen übertragen zu können, wird bei Zeitpunkt=T ein zu missachtender Flankenwechsel vollzogen. Per Hand auch recht einfach zu machen, aber bei >7000 Bit/Flanken ist das doch recht mühselig und fehlerträchtig. Zumal ich ja den Takt nicht "sehen" kann. Muss also viel rum malen... Unter http://www.cs.auckland.ac.nz/compsci314s2t/resources/Coding/index.html gibt es quasi die Gegenrichtung. Also die Erzeugung vom Manchester aus normalen Daten.
> dekodieren, iss gaaaaaaanz einfach. > Man nehme ein Monoflop Ich brauche es nur einmal zum "reverse engineeren". Also was kleines für Excel oder so...
> Ich brauche es nur einmal zum "reverse engineeren". Also was kleines für > Excel oder so... Das basteln eines nicht retriggerbaren Monoflops in Excel ist eindeutig Dein Problem :-)
Ich weiß, der Thread ist steinalt, aber war der beste Treffer bei meiner diesbezüglichen Suche. Leider auch ohne richtig zu helfen... Ich habe eine Lösung für mein Problem gefunden, die sicher nicht jedermanns Geschmack ist, aber dem ein oder anderen Frickler (wie mich) vielleicht doch weiterhilft. Ausgangslage war ein mit Arduino/CC1101 mitgeschnittener Datenstrom mit dem Format
1 | 944 1108 852 1084 880 576 400 572 420 1048 |
, der einfach in Excel importiert wurde. Jetzt wusste ich, der erste Puls ist positiv, und die Pulslänge ist als Zahl codiert, Schwellwert H/L in etwa 750. In Manchester muss das also heißen:
1 | 11 00 11 00 11 0 1 0 1 00 |
Diesen Code kann ich dann ganz einfach in den Online-Tools decodieren. Wie das aber bei 400 Werten machen? Stehen die Werte ein Zeile "1", ab Spalte "B" berechne ich den Code in Zeile "2" über folgende Formel:
1 | =WENN(B1="";"";WENN(ODER(A97="00";A97="0";A97="");WENN(B1>1500;"XXX";(WENN(B1>750;"11";"1")));WENN(B1>1500;"XXX";(WENN(B1>750;"00";"0"))))) |
Je nach Decodierer muss noch ein initiales "E" oder so zugefügt werden. Eignet sich wirklich nur für zu Fuss-Übungen, aber manchmal braucht man eben das.
Vor ein paar Jahren hätte mir das vielleicht weiter geholfen. Jetzt muss ich noch ein paar Jahre warten bis die Kinder aus dem Haus sind um wieder Zeit für "son Kram" zu haben. Aber Danke, dass Du anderen mit Deiner Antwort weiter hilfst! Grüße, Gregor
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.