PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bi-Phase-Encoding vs. Manchester



AT91SAM7user
10.11.2009, 11:07
Hallo zusammen,

ich habe ein Problem mit dem Auswerten eines empfangenen Signals! Als erstes habe ich in meinem Projekt Daten im Manchester-Codierten-Format erhalten und diese auch vernüftig verarbeiten können...

Ich lese hier in einer Schleife die erhaltenen Flanken ein und Werte diese mit der Zeit zwischen den Flanken und die Flankenrichtung aus!
Nun stellt sich für mich aber die Frage wie soll ich an den Bi-phasecode ran gehen?

Momenatn versuche ich es so:
Ich schaue welche Zeit zwischen den 2 letzten Flanken lag, ist diese <kleiner als eine normale Bitlänge wird geschaut ob Sie sich im Bereich der halben-Bitperiode befindet und sage, wenn zuletzt auch eine Halbebitperiode lag das es eine logische 1 ist, ansonsten eine 0!
Da ich aber total unbrauchbare Daten erhalte frage ich mich ob es ein Programmierfehler ist oder meine Logik des "encodings" die falsche ist.

Würde mich über eure Hilfe freunen. Sollten Fragen auftauschen um helfen zu können... ich werde hier alle paar Stunden vorbeischaun.

Gruß
DoubleT

mare_crisium
10.11.2009, 20:45
AT91SAM7user,

an Deiner Methode kann ich keinen logischen Fehler sehen. Du hast sicher bedacht, dass jedes 1-Bit aus 2 Halbbit-Perioden besteht. Wenn Du also die erste davon benutzt, um das 1-Bit zu erkennen, muss Du die zweite ignorieren. Vielleicht wäre es sinnvoll, ein 1-Bit erst dann zu erkennen, wenn zwei aufeinanderfolgende Halbbit-Perioden auftreten. Dann hättest Du auch eine durchgehend richtige Synchronisation sichergestellt.

Ciao,

mare_crisium

AT91SAM7user
11.11.2009, 13:58
Danke mare_crisium,

hab tatsächlich etwas bei der Berechnung vergessen und dadurch dann nach jeder 1 ein Halbbit nicht mitgenommen... so kam es dann zu meinen Fehlern.

Gruß