Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: I2C-Busleitung Kategorie: I²C-Bus (von Udo - 26.08.2005 11:19)
Als Antwort auf Re: I2C-Busleitung von wema - 26.08.2005 8:51
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, eigenes Board, OSOPT_V2
Hallo,

mir scheint, Du hast da einiges durcheinandergebracht.
Grundsätzlich muss man sich bewusst machen dass wir hier von einem Datenbus reden.
Ein solcher Bus ist nicht mit einer gewöhnlichen Verdrahtung vergleichbar und somit ein Horror für
jeden Elektriker (und für jeden Anderen), der mit sowas noch nie Kontakt hatte. Es geht hier nämlich
nicht nur darum ein paar elektrische Kontakte irgendwie miteinander zu verbinden, sondern um
Impedanzen, Reflexionsverhalten, Auskoppelverhalten usw. . Zusätzlich besteht das Problem, dass
die Qualität dieses Busses mit Hobbymitteln praktisch nicht mess oder kontrollierbar ist.
Trotzdem ist sowas natürlich hinzukriegen wenn man sich an die Grundregeln eines Busses hält
und die elementaren Regeln beachtet:
1. Eine sorgfältige Verkabelung mit vernünftigem Kabel (z. Bsp. Cat-5) ist das A und O. Von der
    Vermischung unterschiedlicher Kabel ist grundsätzlich abzuraten. Das Kabel sollte nur da
    aufgetrennt werden, wo man dies auch braucht und nicht "zusammengeflickt" werden.
2. Der I2C-Bus ist ein Bus. D. h. er hat einen Anfang und ein Ende. Es ist kein Stern. Stichleitungen
    gibt es nicht. Falls doch müssen diese so kurz wie irgend möglich sein (auf keinen Fall mehrere
    Meter) oder mit aktiven Komponenten ausgekoppelt werden.
3. Wenn irgendwo Abschlusswiderstände oder Auskoppelwiderstände vorgegeben sind, sollte man
    sich an diese Werte halten. Da haben sich üblicherweise schlaue Köpfe ihre Gedanken gemacht.
    Hier haben die Auskoppelwiderstände 330 Ohm und die Abschlusswiderstände 10 kOhm.
    Die Auskoppelwiderstände befinden sich an jedem Slave. Und sie befinden sich wirklich an jedem.
    Die Abschlusswiderstände befinden sich nur am physikalischen Anfang und am Ende des Busses.
    Und sie befinden sich auch tatsächlich dort, aber nur dort, nicht irgendwo mittendrin und sie werden
    auch nicht weggelassen.
4. Innerhalb des Busses dürfen keine Komponenten mit unterschiedlichen Impedanzen gemischt wer-
    den. Dies scheint mir auch Dein Hauptproblem zu sein. Ich kenne das Reglerboard nicht, Deiner
    Aussage entnehme ich aber, dass sich darauf ein I2C Buffer befindet (P82B96). Dieser kann auch
    auf den MAX7311 Platinen eingesetzt werden. Ich nehme an, Du hast dies getan. Die von Dir ver-
    wendete Relaisplatine HSRel5 sieht so einen Buffer aber nicht vor. Deswegen vermute ich, dass die
    7311 Bausteine erkannt werden, die 8574 aber nicht.
    SinngemäÃ? kann man sich das so vorstellen, dass der Bus einen hochohmigen und einen nieder-
    ohmigen Teil hat. Der hochohmige Teil befindet sich jeweils zwischen dem Buffer und Deinen Bau-
    steinen (7311, 8574 oder CC2). Der niederohmige Teil verläuft durch Dein Haus.
    Sollte meine Vermutung zutreffen, muss Du vor jedem Deiner 8574-Module ebenfalls einen Buffer vor-
    sehen, der aus dem niederohmigen Feldbus wieder einen hochohmigen lokalen Teil macht, der von
    den 8574-Bausteinen auch verstanden wird. Hierzu kannst Du zum Bsp. die I2C-Buffer HS Platine
    Art. Nr.: 1821  von André verwenden.
    Wenn unterschiedliche Busarten vermischt werden, so kann dies funktionieren, muss aber nicht.
    Deswegen hast Du vermutlich die Probleme, dass mal die und mal die Komponenten funktionieren,
    je nachdem, welche Abschlusswiderstände Du benutzt. Je länger und je mehr Komponenten der
    Bus enthält, umso anspruchsvoller wird er.

Grundsätzlich ist die Verwendung von Buffern bei so einem aufwändigen Bus natürlich sinnvoll. Auch
wenn Dir mein Lösungsvorschlag vermutlich nicht gefällt weil er ziemlich aufwändig ist, denke ich
trotzdem, dass dies die einzige Möglichkeit sein wird einen langfristig stabilen Betrieb zu erreichen.
Ich empfehle daher, zunächst alle Bausteine ohne Buffer aus dem Bus zu entfernen. Danach wird einer
dieser Bausteine testhalber mit einem Buffer versehen und wieder mit dem Bus verbunden. Wenn
er jetzt erkannt wird, hast Du Dein Problem gefunden. Dann kannst Du schrittweise alle Komponenten
nachrüsten und in Betrieb nehmen. Auch während dieser Umbau- und Testphase muss beachtet
werden, dass die Abschlusswiderstände vorschriftsmä�ig "mitwandern".


Bitte lass mich wissen, ob ich mit meiner Vermutung richtig liege.


GruÃ?

Udo



    Antwort schreiben


Antworten:

Re: I2C-Busleitung (von wema - 26.08.2005 14:35)
    Re: I2C-Busleitung (von Udo - 26.08.2005 16:46)
        Re: I2C-Busleitung (von wema - 27.08.2005 1:43)
            Re: I2C-Busleitung (von André H. - 27.08.2005 12:33)
                Re: I2C-Busleitung (von wema - 29.08.2005 23:41)
                    Re: I2C-Busleitung (von André H. - 30.08.2005 18:58)