Autor Thema: Manchester Decodierung  (Gelesen 27783 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline b.b.

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Manchester Decodierung
« am: 21. Oktober 2009, 10:40:38 »
Hallo!

Erst mal ein grosses Danke für die lib bzw. die Seite!!! Ich bin gerade dabei, die Haustechnik für unseren Neubau zu planen und stehe vor einem Problem für mein Proof-of-Concept.

Ich gerade dabei, intelligente UP-Dosen mit einem kleinen ATMega für Temp, Helligkeit, LED's usw. zu bauen, die dann mit der Wago kommunizieren können. Für die Übertragung scheiden Funk und Ethernet aus da zu teuer, ebenso eib/knx oder ähnlich.

Nun habe ich folgende Idee, da die Geschwindigkeit keine grosse Rolle spielt:

Ich möchte über einen digitalen Ausgang bzw. in die andere Richtung über einen digitalen Eingang serielle Daten übertragen. Dazu möchte ich das Signal Manchester codieren.
siehe hier --> http://de.wikipedia.org/wiki/Manchester_Code

Das codieren auf der Wago sollte ja kein Problem sein, da es eine einfache XOR Bedingung ist.
Schwieriger gestaltet sich da das decodieren. Dafür brauche ich, soweit ich das richtig verstanden habe, eine D-PLL um das Nutzsignal wieder vom Clock zu trennen.

Gibt es hier jemanden, der mir da helfen kann, bzw. einen Tip ob das funktioniert und wie?
Wie gesagt, Geschwindigkeit ist kein Thema, wenns 10 Bit/s sind dann passt das auch.....

Vielen Dank!
Martin

Offline b.b.

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #1 am: 22. Oktober 2009, 10:50:25 »
Kann mir da keiner helfen?
Wäre doch super, wenn man mit einem simplen digitalen Ausgang Daten übertragen kann...

Größtes Problem (für mich) ist die DPLL: Sehr schön beschrieben ists auf: http://www.erg.abdn.ac.uk/users/gorry/course/phy-pages/dpll.html für die DPLL.

Ist das überhaupt machbar auf einer SPS? (750-841 von Wago)

Danke!

dalbi

  • Gast
Re:Manchester Decodierung
« Antwort #2 am: 22. Oktober 2009, 12:31:30 »
Hallo Martin,

hast Du dir schon mal das DCF77 Signal angeschaut. Meiner Meinung nach ist das doch so ähnlich kodiert.
Schau dir mal den Baustein DCF77 an da ist schon mal die dekodierung dazu drin.

Gruss Daniel

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #3 am: 22. Oktober 2009, 14:53:35 »
den dcf77 hab ich selbst programmiert, und ja der ist sehr ähnlich, aber bitte bedenke das auf einer sps per softwaredekosdierung eines signals wie manchester codeierung mit 10ms zykluszeit in praktisch nicht mehr als 100 ms taktzeit und damit nur eine Datenrate von 10 Bits / sekunde möglich wären
bei extremen ausreizen sind es vielleicht 50 bits / sekunde.

denke das das auch für die langsamste Anwendung zu langsam sein sollte

Offline b.b.

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #4 am: 22. Oktober 2009, 15:09:01 »
Hallo Hugo, Daniel,

wenn ich 10Bytes in ein paar Sekunden übertragen kann, ist das völlig ausreichend!! (Temp, Helligkeit, Konfig Daten, KEINE Echtzeitkritischen Daten...)
Und es funktioniert mit Standard /EA's --> billig!

Aber den Zusammenhang zwischen DCF77 und Manchester kann ich nicht herstellen.

Bei der Manchester Codierung wird auf der Sender Seite das codierte Signal mittels Takt mit dem Nutzsignal via XOR erzeugt.
Auf der Empfängerseite brauche ich nun eine D-PLL (Phase Locked Loop) um aus dem codierten Signal den Takt herauszubekommen. Dann kann ich wiederum mittels XOR auf die Nutzdaten schliessen.
Auf der Seite 3 des Dokumentes aus meinem 2ten Post ist das beschrieben.

Die Haupt-CHallenge ist es, sich auf den Takt aufzusynchen. Dafür scheint die Präambel gut zu funktionieren.
Hat da wer eine Idee für mich wie das auf der SPS gehen kann?? Samplen via Interrupt?

Oder hat wer ne bessere Idee Daten über 2 Adern in 2 Richtungen übertragen....

Danke!!

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #5 am: 22. Oktober 2009, 15:13:21 »
nicht 10 bytes,

10 bist, für ein byte ebenötigst du mindestes 10 - 12 bist den du musst start / stop erkennen und eventuell noch einen parity.

das entspricht also eher 1 byte / sekunde.

ein schalter hätte dann bis zu 2 sekunden verzögerung und das denke ich wäre viel zu langsam
für taster benötigst du etwa 100ms reaktionszeit was aber nur mit zykluszeiten deutlich unter 1 ms zu realisieren wäre

Offline b.b.

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #6 am: 22. Oktober 2009, 15:18:54 »
Ich verwende das NICHT für echtzeitkritische Dinge wie Schalter!!
Die Performance wäre, wie gesagt, für mich ausreichend.

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #7 am: 22. Oktober 2009, 15:25:07 »
dann solltest du dir wirklich mal den dcf77 ansehen,

daraus solltest du dir eine dekoder für deine anwendung realisieren können.
du musst aber basierend auf dem manchester code noch einen datencode festlegen:

- start stop erkennung von zeichen.
- parity sicherung oder gar crc

erst dann kannst du sinnvoll arbeiten

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #8 am: 22. Oktober 2009, 16:29:02 »
Hi

Zitat
Oder hat wer ne bessere Idee Daten über 2 Adern in 2 Richtungen übertragen....

http://de.wikipedia.org/wiki/1-wire


Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #9 am: 22. Oktober 2009, 16:32:32 »
1-wire interface ist nur mit zusatzhardware an SPS anschliessbar,
die timing bedingungen sind bei 1 wire recht anspruchsvoll und können mit zykluszeiten > 100us bei SPS nicht erfüllt werden.

Offline b.b.

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #10 am: 22. Oktober 2009, 16:44:52 »
exakt, an meiner Idee gefällt mir, dass sie ohne zusätzl. HW auskommt
Werde ich mal etwas weiter behirnen...

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #11 am: 22. Oktober 2009, 19:23:35 »
Hi

Zitat
1-wire interface ist nur mit zusatzhardware an SPS anschliessbar,
die timing bedingungen sind bei 1 wire recht anspruchsvoll und können mit zykluszeiten > 100us bei SPS nicht erfüllt werden.
Stimmt.

Serielle Klemme und das hier     http://www.fuchs-shop.com/de/shop/17/1/13372015/

Somit KEINE Timing-Probleme.





Am 1-Wire werden nur 1-Wire-Bausteine die die Funktion von Analog-Input, Analog-Output, Temperaturmessung, Uhr, Digital-Input´bis 4 Kanal, Digital-Output angeschlossen.
(Also KEIN Atmel, AVR  . . . notwendig)

Nur mal so als Info.    ;D

Offline b.b.

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #12 am: 22. Oktober 2009, 19:56:02 »
Hmmmmm......
Das 1-wire Interface ist bei mir bis jetzt eigentlich wegen der hohen Kosten ausgeschieden.....
Und weil da ja einige Bauteile abgekündigt sind. (DS2408???)

Hat von euch jemand Erfahrung damit?? Kabellänge? Wieviele Teilnehmer am Bus? Reaktionszeit?
Die Preise bei Fuchs würden ja so schlecht nicht ausschauen....
Muss ich mich da doch noch mal einlesen.

dalbi

  • Gast
Re:Manchester Decodierung
« Antwort #13 am: 22. Oktober 2009, 22:15:32 »
Noch eine Idee,

bei http://www.horter.de/ gibt es ein I2C-Modem und auch entsprechende Sensoren dazu, damit könntest Du über die Serielle-Schnittstelle der CPU I2C-ICS bzw. Sensoren abfragen. Funktioniert auch Problemlos über mehrere Meter mit entsprechenden Abschlusswiderständen. Wobei sich das 1-Wire auch ganz gut anhört.

Gruss Daniel

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re:Manchester Decodierung
« Antwort #14 am: 23. Oktober 2009, 16:14:03 »
Hi

Zitat
Das 1-wire Interface ist bei mir bis jetzt eigentlich wegen der hohen Kosten ausgeschieden.....
20 Euro Adapter, 50 Euro V24 von EBAY

Zitat
Und weil da ja einige Bauteile abgekündigt sind. (DS2408???)
Nocht nichts davon gehört. Ist nach meiner Meinung im Aufwind.

Zitat
Hat von euch jemand Erfahrung damit?? Kabellänge? Wieviele Teilnehmer am Bus?

300m  Bis 500 Teilnehmern  laut:  http://de.wikipedia.org/wiki/1-Wire

Zitat
Muss ich mich da doch noch mal einlesen.
Hältst du uns auf dem laufenden  ?