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 | ||
| ||
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) |