Ankündigung

Einklappen
Keine Ankündigung bisher.

DDC2-1W - 8-fach 1-Wire Busmaster für den VGA-Port

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [OT] DDC2-1W - 8-fach 1-Wire Busmaster für den VGA-Port

    Hi!

    Als Spinoff von meinem (Langzeit-)Projekt CommunityGate (Wireg...) auf ARM-Plattform, 8-fach 1W-Master, TP-UART, 4x UART, 2,5W und der Diskussion in Wie kommen Busmaster RJ12 und J-Y(ST)Y 2x2x0,8 zusammen? ist eine kleine Platine auf Basis des Maxim DS2482S-800+ mit galvanischer Trennung (SI8600, kapazitiv) und vernünftigen Wago-Klemmen für den 1W-Bus.

    Der DS2482S hat ein I2C-Interface, was an quasi keiner PC-Hardware standardmäßig nach außen geführt ist. Allerdings lesen moderne Grafikchipsätze die technischen Daten eines am VGA-Ausgang angeschlossenen Monitors per I2C aus (DDC2). Daher benutzt die Platine eine VGA-Buchse und kann somit mit den meisten PC-Systemen, die einen VGA-Ausgang haben der nicht aktiv genutzt wird, betrieben werden. Alternativ kann natürlich die VGA-Buchse entfallen und direkt ein I2C-Bus angeschlossen werden, der - je nachdem wo angeschlossen wurde - galvanisch getrennt werden kann oder nicht. Abhängig davon wird natürlich ein 5V-Netzteil (5mm/2,1mm Jack, außen Masse, Stift 5V) benötigt, oder man verzichtet und speist die Platine über ein abgeschnittenes USB-Kabel, was natürlich nicht so schön ist). Vorteil der galvanischen Trennung ist die Sicherheit, dass man sich nicht den Rechner zerschießt wenn der Onewire-Bus doch mal Niederspannung mitbekommt oder so.

    Um den I2C des VGA-Ausgangs nutzbar zu machen muss man:
    sudo modprobe i2c-xxxxxxx (richtiger Treiber, z.B. für meinen Intel-Laptop i2c-i801 - für das Wiregate sehr wahrscheinlich "scx200_acb")
    sudo modprobe i2c-dev
    (jetzt sollten unter /dev/ einige i2c-x aufgetaucht sein)
    apt-get install i2c-tools
    mit i2cdetect -y [1,2,...] die vorhandenen Busse abklappern gucken ob ein Device an Adresse 18 auftaucht - das ist der richtige Bus.
    owfs --device=/dev/i2c-x mountpoint etc. bzw. gleich in die Konfig eintragen - FERTIG.

    Die Platine weißt drei Befestigungsbohrungen auf, so dass die Schaltung auch mit Hilfe der Wago 209-120 auf der Hutschiene (im Kleinspannungsteil des Schaltschranks!!!) senkrecht oder wagerecht aufgeclipst werden kann.

    Ich habe von dieser ersten Version aus Spass eine Kleinserie von 6 Platinen fertigen lassen und würde die jetzt gerne an Bastelwillige weitergeben, die sich bewusst sind, dass für den Betrieb an der Wiregate-Software ggfl. noch Anpassungen nötig sind. Gemäß meinem Kenntnisstand (PL29 glaube ich) funktioniert der DS2482S-800+ out-of-the-box. Lediglich im Webmin wird er nicht als Busmaster angezeigt und es sich keine Fehlerstatistiken verfügbar. Genau dafür habe ich aber einen lauffähigen Patch den ich hoffentlich heute abend noch online stellen kann.

    Die Kosten für einen Bausatz liegt bei ca. 20 Euro (8 Euro DS2482S-800+, 4 Euro SI8600, 4 Euro für Stecker, 1 Euro für Hühnerfutter, 3 Euro für die Platine zzgl. MwSt. etc.). Zzgl. Versand.

    Um so mehr würde ich mich freuen, wenn es Leute gäbe die die Schaltung so nachbauen. Die Eagle-Design-Files (schematic und board) sind angehangen und können frei verwendet werden. Abgesehen von den Steckern und den 2 ICs besteht die Schaltung nur aus 4 Kondensatoren und 4 Widerständen, die vergleichsweise unkritisch sind. Trotzdem hängt noch die Stückliste von Mouser an.

    Im jetzigen Stadium richtet sich das Angebot eher an Bastler, die sich mit Linux auskennen. Ein Elektronik-Genie muss man aber defintiv nicht sein um die paar Teile aufzulöten. Falls es nicht wie gewünscht funktioniert sollte das derjenige verkraften können.

    Das ganze so halbgar, weil am 19. Einzug ist und die Handwerker mich auf Trab halten. Wollte die Sache aber schon mal anstoßen.

    Grüße
    Robert
    Angehängte Dateien

    #2
    Hi Robert,
    ich hätte Interesse und würde das mal testen. Schick mir ne PN, falls Du noch nen Bausatz zu vergeben hast.

    luigi

    Kommentar


      #3
      So, anbei der angekündigte Patch für den Webmin (PL29) und ein Screenshot, wie es danach aussieht.

      Was ich gestern noch vergessen hatte und aufgrund dessen ein
      Tester es evtl. an ein Raspberry PI anschließen möchte: Der zur galvanischen Trennung verwendete SI8600 funktioniert auch mit 3,3V, kann also dann auch als Levelshifter (für 3,3V Systeme, also Beaglebone und RPI, nicht 1,8V Systeme wie Beagleboard XM) benutzt werden.

      // edit: Patch funktioniert jetzt auch gegen PL32
      Angehängte Dateien

      Kommentar


        #4
        Interessantes Projekt. Generell hätte ich da großes Interesse daran, allein aus dem Grund, das ich nur ein VGA Kabel vom Netzwerkschrank in die Verteilung ziehen müsste (im Gegensatz zu acht Busmastern an nem USB Hub). Die Patch Geschichte schreckt mich allerdings etwas ab. Nicht das ich mir damit in zukünftigen Versionen ärger einhandel (dazu bin ich mit Linux zu wenig befreundet). Kann hierzu jemand aus dem Wiregate Lager (Stefan oder makki) was sagen?
        Mit freundlichen Grüßen
        Niko Will

        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

        Kommentar


          #5
          Du hast nen USB Hub im Zählerschrank?
          Derzeit zwischen Kistenauspacken und Garten anlegen.
          Baublog im Profil.

          Kommentar


            #6
            Zitat von Robert Beitrag anzeigen
            Was ich gestern noch vergessen hatte und aufgrund dessen ein
            Tester es evtl. an ein Raspberry PI anschließen möchte: Der zur galvanischen Trennung verwendete SI8600 funktioniert auch mit 3,3V, kann also dann auch als Levelshifter (für 3,3V Systeme, also Beaglebone und RPI, nicht 1,8V Systeme wie Beagleboard XM) benutzt werden.
            Hat der Raspberry Pi denn einen VGA-Port? Oder habe ich etwas falsch verstanden?

            Kommentar


              #7
              Zitat von Monti Beitrag anzeigen
              Hat der Raspberry Pi denn einen VGA-Port? Oder habe ich etwas falsch verstanden?
              Nein, aber ne I2C Schnittstelle auf nem Pfostenstecker.

              Kommentar


                #8
                Hi

                Ich habe es gerade mal probiert. Zuerst an einem Intel Atom D525 mit Communitygate Installation, also Debian Lenny.
                Dann an meinem ALIX1D Bastelboard mit Debian Squeeze.

                Die Platine wird bei beiden offensichtlich nicht erkannt.

                Hier mal das Ergebnis vom ALIX1D:

                Code:
                root@ALIX1D:~# modprobe scx200_acb
                root@ALIX1D:~# modprobe i2c_dev
                root@ALIX1D:~# ls /dev |grep i2c
                i2c-0
                root@ALIX1D:~# i2cdetect -l
                i2c-0   smbus           CS5536 ACB0                             SMBus adapter
                root@ALIX1D:~# i2cdetect -y 0
                     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
                00:          -- -- -- -- -- -- -- -- -- -- -- -- --
                10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                70: -- -- -- -- -- -- -- --
                Auf dem Atom sieht es sehr ähnlich aus. Da tauchen in der Tabelle tatsächlich einige Devices auf, aber nicht auf Adresse 18. Dort habe ich i2c-i801 bei modprobe verwendet. Wichtiger wäre aber dass es auf dem ALIX klappt, drum lass ich das LOG vom Atom mal weg.

                Gruß, Martin

                Kommentar


                  #9
                  Zitat von greentux Beitrag anzeigen
                  Du hast nen USB Hub im Zählerschrank?
                  Ne, eben. Ich müsste für mehrere 1Wire Busse also auch mehrmals aus'm Netzwerkschrank in die HV fahren. Das könnte ich mir mit dem Board sparen.
                  Mit freundlichen Grüßen
                  Niko Will

                  Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                  - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                  Kommentar


                    #10
                    Verstehe
                    Ich habe meine 1Wires in den 19" gezogen... auch ne Variante.
                    Dort steht dann eh das WG.
                    Derzeit zwischen Kistenauspacken und Garten anlegen.
                    Baublog im Profil.

                    Kommentar


                      #11
                      Hi Martin,

                      nur vorsichtig gefragt: 5V-Netzteil dran? Innen 5V, außen Masse!

                      Viele Grüße
                      Robert

                      Kommentar


                        #12
                        Arrrg, da muss ich also doch noch den Lötkolben auspacken. Werde aber eh erst Wochenende dazu kommen...
                        Derzeit zwischen Kistenauspacken und Garten anlegen.
                        Baublog im Profil.

                        Kommentar


                          #13
                          Zitat von Robert Beitrag anzeigen
                          Hi Martin,

                          nur vorsichtig gefragt: 5V-Netzteil dran? Innen 5V, außen Masse!

                          Viele Grüße
                          Robert
                          Ich wusste dass die Frage (berechtigterweise) kommt
                          Aber ja, alles dreimal überprüft. Saubere 5V, richtige Polarität. Das VGA-Kabel habe ich auch schon durchgemessen, nur um sicher zu gehen, dass nicht einer der entscheidenden PINs nicht durchverbunden ist.

                          Habe vorhin noch einen alten Intel Laptop aufgesetzt. Auch wieder das gleiche Ergebnis. modprobe/i2cdetect scheinen korrekt zu funktionieren, aber es meldet sich kein Gerät auf Adresse 18. Ob die Treiber allerdings wirklich die richtigen sind (z.b. scx200_acb für das Alix bzw. i2c_i801 für Intel) weiß ich nicht. Hab mich schon halb tot gegoogelt und ein Script gefunden, das nach z.B. Temperatursensoren auf einem Mainboard sucht, u.a. an einem i2c Bus. Hat anscheinend auch funktioniert, mit eben diesen Treibern. Ich bekomme auf allen drei Rechnern immer nur /dev/i2c-0 angezeigt, keine 1,2 oder 3. Muss aber ja nichts heißen.

                          Gruß, Martin

                          Kommentar


                            #14
                            Hi Martin!

                            Komisch - scheinbar passt ja hardwaremäßig alles. Bliebe nur noch ein Defekt - wobei ich die Dinger kurz alle getestet habe - dann schick ich dir nen neuen zu. Ansonsten:

                            Mit "sensors-detect" mal alle Möglichkeiten abklappern. Vielleicht versteckt sich der fragliche Bus doch noch irgendwo. Was ich hier http://www.pcengines.ch/pdf/wrap1c.pdf gelesen habe:

                            Code:
                            [FONT=Courier]
                            modprobe scx200_acb base=0x810,0x820
                            [/FONT]
                            Ansonsten bliebe noch abzuwarten was bei den anderen (4 Module sind verschickt) passiert.

                            Grüße
                            Robert

                            Kommentar


                              #15
                              Zitat von 2ndsky Beitrag anzeigen
                              Kann hierzu jemand aus dem Wiregate Lager (Stefan oder makki) was sagen?
                              Na wenn Du so fragst, ja..
                              1. Den i2c over VGA habe ich nie ans laufen bekommen (das mag durchaus an meiner Unfähigkeit liegen..)
                              2. Der DS2482-800 ist kein 8fach BM sondern ein 1fach BM mit einem eingebauten 8port-1-Wire-Hub, der umgeschaltet wird, das ist langsam wie harry und spirlefanz mit dem ich mich - mit Verlaub - nach einem einmaligen Test nicht weiter beschäftige und keine weitere Zeit verschwende
                              Ausserdem hat der nichts mit "Reliable 1-Wire Networks" zu tun, die wir im realen Leben ausserhalb lustiger Laborversuche auf dem Schreibtisch nunmal haben, AN244 und werfe das Oszi an, wenn man mal den Unterschied zwischen Busmaster und Busmaster lernen will..

                              Makki
                              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                              -> Bitte KEINE PNs!

                              Kommentar

                              Lädt...
                              X