Manchester Code über GPIO einlesen, synchronisieren und in buffer schreiben

Gast #4073774
Lesenswert?
• ▲
▼
Hallo Leute,

ich bin neu hier und arbeite gerade an meiner Bachelorarbeit und stecke 
hierbei etwas fest. Über eure Hilfe würde ich mich sehr freuen.

Ich arbeite an einem Projekt mit dem Microchip PIC18F65K80. Dieser soll 
bis zu 16 Manchester signale einlesen über GPIO, diese signale kommen 
von ATtinys und sind fertig codiert.

Nun wollte ich nach Tipps zur vorgehensweise fragen und wie ich die 
synchronisierung am besten hinkriege.

Das Signal kommt so:

ID(8Bit) + Daten(10Bit)

Definition Low:  "0" = Flankenwechsel "0" -> "1"
Definition High: "1" = Flankenwechsel "1" -> "0"

Die Umcodierung vom Manchestercode auf Binärcode habe ich bereits in 
eine Funktion gepackt und sollte nicht das Problem sein.


Nun zum einlesen und verarbeiten:
Ich dachte mal im Grundsatz daran jedes signal nacheinander über einen 
multiplexer abzufragen und die Daten in Buffer zu speichern.

Den schwierigen Teil sehe ich bei der Synchronisierung, ich dachte da an 
einen Softwareinterrupt auf eine Fallende Flanke die mir einen Timer 
startet und bis zum flankenwechsel den Zeitabstand misst und mit der 
gemessenen Zeit die abfrage zeitpunkte festlegt...(sorry ist noch 
ziemlich am anfang und mit gefährlichem halbwissen :P).

Fragen:

- Wie realisiere ich die Synchronisierung am Besten
- Wie ermittle ich den Startpunkt der ID und der Daten da die Signale ja 
dauerhaft kommen
- Wie kann ich die ID Filtern, soll ich alle Daten in einen Buffer 
schreiben und die ersten 8 vergleichen lassen oder ?


Über Tipps und Hilfen bin ich sehr dankbar!

MFG

Flo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren