Manchester Dekodierung

Hallo zusammen,

ich habe folgendes Problem: Ein fest vorgegebenes manchester-kodiertes Signal mit 125kBit/s (8us Bitdauer) soll dekodiert werden. Es soll eine Art "Spion" gebaut werden, der alle Daten auf dem Bus aufzeichnet.

Erste Versuche mit dem Decoder von Intersil (HD-6409) waren wenig erfolgreich. Das Problem ist das "Startpattern" oder "Command Sync", das der Chip erwartet, um sich zu synchronisieren. Solch ein Pattern ist nicht im Datenstrom.

Die nächste nahe liegende Idee war dann einfaches Sampling; also das Manchester Sig. abtasten (uC). Nur, um einigermaßen sicher abzutasten, sollte die Samplingrate ca. 4 mal höher liegen. Das bedeutet dann, dass ich mit rund 1MHz arbeiten muss (bei 8us Bitzeit ist ja die kürzeste Pulszeit 4us). Da macht mein Controller (M16C@16MHz; ebenfalls vorgegeben) recht schnell schlapp. Schließlich muss ich die Daten ja auch irgendwie "weg" bringen; zum PC per USB.

Da kam mir dann die Idee, das Sampling mein USB Modul (das USB-to-Parallel-Fifo von DLP Design mit dem FT245) machen zu lassen. Eben einfach das Manchester Signal an einen Datenpin des Moduls hängen und den WR mit 1MHz zu takten. Auf dem Rechner kann ich die Daten dann mitloggen und auswerten. Erste Tests belegen sogar, dass das geht ;)!

Nur gefällt mir dieser Lösungsansatz nicht besonders; is so wie mit Kanonen auf Spatzen zu schießen. Und schließlich sind diese USB-Module auch nicht gerade billig.

Hat jemand von Euch noch eine Idee, wie man an dieses Problem rangehen könnte? Mir gehts nur um Ansätze! Einfach so ne Art "brainstorming"

Danke schon mal...

Gruß, Jochen

Reply to
Jochen Raedler
Loading thread data ...

Also so auf die Schnelle: Hat der uC einen externen Interrupt, der auf steigende/fallende Flanke reagiert?

Ch.

--
---
Ch. Bodner
Reply to
Christof Bodner

"Jochen Raedler" schrieb im Newsbeitrag news: snipped-for-privacy@individual.net...

Sowas kann man recht gut in nem FPGA machen, wahrscheinlich reicht auch ein CPLD. Vielleicht sogar ein GAL!!! Eine Überabtastung um den Faktor 4 ist das Minimum, 8 oder 16 sind sicher besser. Also nen CPLD/GAL, 16fach Oversampling. Die Umwandlung Manchester-> NRZ ist recht einfach, danach nur noch ein 8 Bit Schieberegister und fettig. Also ein GAL + 1 TTL Chip + uC (ders dann ruhig angehen lassen kann).

Naja, war ja fast richtig. Nur noch bissel Vorverarbeitung vor Ort (Manchester-> NRZ, 8:1) und es ist ne schöne Lösung)

MfG Falk

Reply to
Falk Brunner

,=20

Mit dem Pegelwechsel ein IRQ triggern und L=E4nge seit dem letzten=20 Pegelwechsel messen. Entweder 4uS oder 8uS. Damit bekommst Du auch=20 schnell die Syncronisation auf die Bits.

Ciao Dschen

--=20 Dschen Reinecke

=3D=3D=3D der mit dem Namen aus China =3D=3D=3D

formatting link
mailto: snipped-for-privacy@dschen.de

Reply to
Dschen Reinecke

Mir fällt dazu Taktrückgewinnung und EX-OR ein, ist aber lange her ...

Damit würde man aus dem Manchestercode ein "normales" serielles Signal machen, bei dem man "nur noch" synchron auf der Bitmitte abtasten muss.

Gruß

Stefan

Reply to
Stefan Bröring

Wenn man für eine normale Bitrepräsentation wie bei der seriellen Schnittstelle schon das 16fache braucht, wird eine Manchestererkennung sicher nicht mit weniger funktionieren.

Laut Shannon ist mindestens mit dem Doppelten der höchsten auftretenden Frequenz abzutasten.

Bye Tom

Reply to
Thomas Reinemann

Thomas Reinemann schrieb:

Hallo,

na ja, zwingend gebraucht wird der 16 fache Takt da nicht, der sorgt=20 daf=FCr das es auch noch mit einigen Prozent Frequenzunterschied zwischen= =20 Sender und Empf=E4nger funktioniert und auch bei erheblichen=20 Pulsverzerrungen durch lange Leitungen.

Wenn die Frequenzabweichung und die Pulsverzerrungen klein genug sind,=20 dann k=F6nnte Machnestererkennung auch mit weniger als 16fach funktionier= en.

Bye

Reply to
Uwe Hercksen

Jochen Raedler wrote in news: snipped-for-privacy@individual.net:

Das geht solange, wie du nicht die Maus bewegst. Das Problem ist, das Windows den USB-Bus nicht kontinuierlich abfragt und du ab und an mal 'ne groessere Luecke haben kannst (typisch waren so 20-50ms in meinen Tests). Selbst der ISO-Transfer (der eigentlich kontinuierlich sein sollte) hat Daten verloren (nicht wegen Stoerungen auf dem Kabel, sondern wegen 'Störungen' im Rechner.

Aber vielleicht kann man ja den neueren 2232 dafuer einsetzen; der hat nen universellen Modul drin, mit dem man recht flexibel SPI/JTAG/I2C usw. machen kann; vielleicht ja sogar Manchester? (FTDI hat auch fertige Module).

M.

--
Bitte auf mwnews2@pentax.boerde.de antworten.
Reply to
Matthias Weingart

Jochen Raedler wrote in news:34nuthF4btrn1U1 @individual.net:

Ich habe mich auch schon länger umgeschaut, weil ich ein 1-2? Interface für LONWORKS bauen wollte und mir die Neuron-Chips für nur einen Lichtschalter zu teuer waren.

Schau mal:

formatting link

Achtung, javascript abschalten, mein Firefox flippt aus bei der Seite.

Auf der Seite ganz unten (get more information) ist ein Link auf ein zip- archiv mit den C-Quellen.

Die dekodierung ist mir Capture-Compare units gelöst. Er erzeugt für jede Flanke einen Interrupt und liest einen Timer aus und stellt den Teiler nach zur synchronisation. Wenn timer abgelaufen und keine Flanke da war, war ein Bitwechsel, etc.

Das Prinzip braucht bei Dir demnach 250k Interrupts/s, sollte mit einer schnellen CPU funktionieren.

MfG,

Michael

Reply to
Michael Unger

"Thomas Reinemann" schrieb im Newsbeitrag news:cs83cq$mgq$ snipped-for-privacy@fuerst.cs.uni-magdeburg.de...

sicher

Warum?? USB full-Speed (12 Mbit/s) arbeitet in den Empfängern mit einer

4fach Abtastung, und das geht sehr robust. Einige UARTs arbeiten bei hohen Baudraten mit nur 8facher Überabtastung.

;-))) Wir reden hier aber von nem Digitalsignal und nicht einem Analogsignal dass AD-gewandlelt werden soll. Und selbst dann passt es noch, ich muss theoretisch nur so schnell abtasten, dass ich mindesten 1 Sample / Baud (also 2 pro Bit) kriege. Ist aber ein theoretischer Grenzwert.

MfG Falk

Reply to
Falk Brunner

"Michael Unger" schrieb im Newsbeitrag news:Xns95DECB070C620e9325543stud4tuwiena@195.34.132.18...

Kanonen und Spatzen . . . . .

Seufz Falk

Reply to
Falk Brunner

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.