ADS1202 Manchester Decoder

Gast #5097034
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
#5097042
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.
Gast #5097071
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...

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