ECL-Bus-Decoder

Aus Hobbyelektronik.org
Version vom 18. Februar 2011, 01:05 Uhr von Chris (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ Da mir die Betriebsdatenerfassung unserer Wärmepumpe, die den zum Raumleitgerät zugehörigen Regler verwendet, nicht ganz [[Energieerfassung#W.C3.A4rmepumpe|ko…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Da mir die Betriebsdatenerfassung unserer Wärmepumpe, die den zum Raumleitgerät zugehörigen Regler verwendet, nicht ganz koscher war, hab ich diese Sache relativ schnell auf die Seite gelegt. Trotzdem hat es mir immer wieder in den Fingerspitzen gekribbelt, dem Gerät doch ein paar Kennwerte zu entlocken.

In der Bedienungsanleitung der Anlage entdeckte ich ein paar Schaltpläne, in denen ein externes Sensor-/Alarmmodul samt Busanbindung zu finden war. Die Recherche nach dem mit ECL betitelte Bus lieferte bis auf ein paar kommerzielle Datenwandler keine brauchbaren Ergebnisse - also schnappte ich mir das Oszilloskop und versuchte auf eigene Faust, dem Teil etwas zu entlocken:

Das Signal besteht aus einem 70Hz Rechtecksignal, in dessen Low-Phasen Daten übertragen werden. Dass es ein Wechselsignal ist, lässt vermuten, dass die Designer ein gleichanteilsfreies Signal erzielen wollten, was ein paar Vorteile bringt. Wenn man es genau nimmt, ist der Rechteck übertragungstechnisch zwar suboptimal, allerdings kann man dadurch die "eingebetteten" Daten wesentlich einfacher rekonstruieren.

Nutzinformationen selbst werden in der Low-Phase des (ich nenne es einfach mal) Trägersignals übermittelt. Dabei ist die Bitlänge etwa 0,4ms, was einer Frequenz von 2,5kHz entspricht. In dem Zeitfenster von 7ms können also Brutto 17 Bits übertragen werden.

Da ich mit meinem Oszilloskop leider kein vollständiges Datenpaket einfangen konnte und mein Logic-Analyzer wohl auch zu kurzspeichrig ist, werde ich wohl einen alten PC als primitivst-Oszi verwenden, zumal die Frequenzen für die Soundkarte kein Problem darstellen sollten.


Wie im Blog erwähnt bin ich durch einen (un)glücklichen Zufall an ein ECA60 von Danfoss gekommen.

Um die Entwicklung eines Businterfaces zu vereinfachen, habe ich die Platine des Geräts fotografiert und per Bildbearbeitung übereinandergelegt:

(TODO)

Mit etwas Buntstift und überlegen entstand in EAGLE folgender Stromlaufplan:

Oben wird das Bussignal eingefüttert, an der mittleren CPU-Leitung liegt das auf Vcc + ~0,7V begrenzte Signal, das vom Bus empfangen wird. Die obere und untere Leitung zur CPU dienen offensichtlich dem Senden auf dem Bus. Allerdings irritieren mich die Widerstandswerte sowie die etwas eigenwillige Beschaltung rund um T1 und T2. (Ich glaub, da muss ich nochmal den Stromlaufplan mit der Originalschaltung vergleichen...)