Forum: Mikrocontroller und Digitale Elektronik ADS1202 Manchester Decoder


von Seppl (Gast)


Lesenswert?

Hallo,

ich beschäftige mich gerade mit dem ADS1202 von TI. Das ist ein ADC mit 
Manchester codiertem Ausgang:

http://www.ti.com/product/ADS1202

Ich frage mich allerdings, wie ich den Manchester stream wieder in einen 
Clock und Data stream aufteilen kann. Klar, Manchester decodieren ist 
jetzt kein Hexwerk. Mein Problem ist eher, wie finde ich den richtigen 
Takt? In allen Beispielen und Dokumentationen zu Manchester decodieren 
wird immer von einem bekannten Startbit ausgegangen.

Beim ADS1202 habe ich aber einen kontinuierlichen Bitstream ohne 
Start/Synchronsieirungsbit. D.h. nehme ich weiss nicht ob eine steigende 
Flanke jetzt der Beginn oder die Mitte eines Bits ist. Somit könne ich 
ja genau um 1/2 Bit verschoben sein und genau die invertierten Daten 
einlesen.

Ich hoffe mein Anliegen ist verständlich

Danke

PS: Hier noch ein Beispiel zu Manchester decoding:

http://ww1.microchip.com/downloads/en/AppNotes/01470A.pdf

von Falk B. (falk)


Lesenswert?

@Seppl (Gast)


>Ich frage mich allerdings, wie ich den Manchester stream wieder in einen
>Clock und Data stream aufteilen kann. Klar, Manchester decodieren ist
>jetzt kein Hexwerk.

Wo ist dann das Problem?

> Mein Problem ist eher, wie finde ich den richtigen
>Takt?

Eben aus der Dekodierung der Manchester-Daten. Neudeutsch clock and Data 
recovery.

> In allen Beispielen und Dokumentationen zu Manchester decodieren
>wird immer von einem bekannten Startbit ausgegangen.

Braucht man nicht. Sobald ein 0-1 oder 1-0 Folge im Datenstrom 
auftaucht, wird das als 0110 bzw. 1001 manchesterkodiert. Diese doppelte 
Lücke sagt einem exakt, wo die Bitgrenze liegt.

Sowas baut man heute volldigital. Dazu tastet man den Datenstrom mit 
Faktor 4-16 ab und dekodiert das dann mit passender Logik, ähnlich einem 
UART. Im Prinzip muss man nur die Flanken erkennen und die Zeit zwischen 
den Flanken messen. Daraus ergeben sich die Daten sowie die Bitgrenzen. 
Die höheren Semester bauen noch einen Störfilter ein, um kurze Störpulse 
zu filtern, falls das nötig ist.

von Seppl (Gast)


Lesenswert?

Falk B. schrieb:
> Braucht man nicht. Sobald ein 0-1 oder 1-0 Folge im Datenstrom
> auftaucht, wird das als 0110 bzw. 1001 manchesterkodiert. Diese doppelte
> Lücke sagt einem exakt, wo die Bitgrenze liegt.

Ok, ich glaueb ich habe es verstanden. Ich muss quasi nur auf einen 
Bitwechsel warten und habe dann entweder für eine komplette Bitlänge 0 
bzw. 1. Ist das so richtig.

Falk B. schrieb:
> Sowas baut man heute volldigital. Dazu tastet man den Datenstrom mit
> Faktor 4-16 ab und dekodiert das dann mit passender Logik, ähnlich einem
> UART. Im Prinzip muss man nur die Flanken erkennen und die Zeit zwischen
> den Flanken messen. Daraus ergeben sich die Daten sowie die Bitgrenzen.
> Die höheren Semester bauen noch einen Störfilter ein, um kurze Störpulse
> zu filtern, falls das nötig ist.

Ja, soll dann in einem FPGA landen...

von Falk B. (falk)


Lesenswert?

ja

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.