Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo hpercel, > > > Hallo Leute > > Kann es sein, dass sich bei einem zu langen I2C Bus die Station nach ca.20h aufhängt? > > Nein, das passiert eigentlich nicht. > > > Habe ich da ein Überlastungproblem? > > Wenn Du alles mit dem 5V-Ausgang der Unit versorgst, dann ja. > (Zumindest hast Du dann eine 45m Lange Antenne auf der 5V-Leitung) > > > Ohne den 20m Strang habe ich keine Probleme. > > > > Folgende Situation ist bei mir "entstanden" > > > > Situation mit Absürzen: > > +---- 10K ---- 5V > > +------------------------------------+---------------------------+ > > | | | > > | | | > > ca.20m ca.5m ca.15m > > | | | > > | +---- 10K ---- 5V +---- 10K ---- 5V > > | +---- 330 ---- DS1631 +---- 330 ---- DS1631 > > +---- 10K ---- 5V > > | > > 330 > > | > > ca.5m > > | > > | > > +---- DS1631 > > > > So soll es einmal ausschauen: > > > > +---- 10K ---- 5V > > +------------------------------------+---------------------------+ > > | | | > > | | | > > ca.20m ca.5m ca.15m > > | | | > > | +---- 10K ---- 5V +---- 10K ---- 5V > > | +---- 330 ---- DS1631 +---- 330 ---- DS1631 > > +---- 10K ---- 5V > > +---- 330 ---- DS1621 > > +---- 330 ---- DS1621 > > | > > 330 > > | > > ca.5m > > | > > | > > +---- DS1631 > > > > Daß es hier zu Problemen kommt, ist kein Wunder. > Beim I²C-Bus gilt immer eine Streng busfäörmige Verkabelung. > Längere Stichleitungen sind daher problematisch. > Auch solltest Du auf jeden Fall I²C-Bus-Puffer oder I²C-Bus-Extender bei solchen > Längen verwenden. > Auch die ganzen Pull-Ups bei Dir sind mehr als problematisch. > Denn die I/Os der CC2 dürfen mit max. 5mA belastet werden. Das gilt auch für die Ports > P3.8 (SCL) und P3.9(SDA) > Die CC2 hat intern bereits 4,7k Pull-Ups am Bus. (Die ganz alten CC2 noch 10k) > Dann hast Du noch 4x10k verteilt. > Das macht einen Gesamt-Pull-Up von überschlagen ca. 1,6k. > Hier fließen allein schon 3,1mA. > Dazu kommen noch die Ladungen(Leitungen & ICs), die abgebaut werden müssen. > Die 5mA werden hier leicht gesprengt. > > Auch die 5m zwischen den 330Ohm-Widerständen und dem Sensor sind nicht optimal. > die 330Ohm-Widerstände sollten sich unmittelbar vor den I²C-Bus-Slaves befinden. > > Damit Dein Vorhaben reibungslos funzt, würde ich hier I²C-Bus-Puffer einsetzen. > An der Station zwei Stück. > An den ersten kommen die beiden Stränge mit 5m und 15m. > Vor den beiden DS1631 sind nicht unbedingt I²C-Bus-Puffer notwendig. > Die Pull-Ups von 10k an jedem dieser Enden würde ich auf 6,8k herabsetzen. > Wenn es nicht geht, dann werden an den Slaves nochmals I²C-Bus-Puffer benötigt. > > An den zweiten Puffer kommen die 20m. Nach den 20m muß nochmals ein I²C-Bus-Puffer > gesetzt werden. Die 20m werden gepuffertert benutzt. > D.h. Der gesamt Pull-Up auf diesen 20m sollte ca. 1k sein. > Hinter diesen Puffer kannst Du Deine 3 geplanten Slaves hinsetzen. > Die 5m zum letzten Sensor sollten dann auch kein Problem sein. > Jedoch mußt Du unbedingt die 330Ohm zum Sensor setzen und nicht mitten > in der Leitung. > > > Und zum "Absturz" selbst: > Ich glaube nicht, daß sich die CC2 hier aufhängt. Höchstens das Program selbst, > wenn mit undefinierte Werten auf Grund von Störungen am Bus weitergearbeitet wird. > Um das zu testen, mußt Du einfach einen seperaten Thread laufen lassen, der z.B. > einen I/O-Port ständig umschaltet. > > MfG André H.