Hallo, ich habe eine Frage zu den Pullupwiderständen an der Daten- uns Taktleitung beim I2C-Bus. Man kann da so schöne kleine Modul bzw. Breakoutboards kaufen, die alle schon die Pullups draufhaben. Wenn ich jetzt mehrere dieser Boards an einen I2C-Bus hänge, dann werden diese Pullups ja parallel geschaltet und der ursprüngliche Widerstand verkleiner sich entsprechend. Ist das so richtig oder muß ich von allen Boards bis auf eines die Pullups runterlöten? Grüße, Ludger
LudgerP schrieb: > Ist das so richtig oder muß ich von allen > Boards bis auf eines die Pullups runterlöten? Das kommt drauf an, wie groß die Pull-Ups sind und wie viele Module du auf den Bus hängen möchtest.
Der Master muss dabei mehr Strom auf GND "sinken". Dazu würde ich ins Datenblatt des uC schauen. Den resultierenden Gesamtwiderstand der Pullups würde ich bei den üblichen 4.7k für I2C nicht deutlich unterschreiten.
@ LudgerP (Gast) >jetzt mehrere dieser Boards an einen I2C-Bus hänge, dann werden diese >Pullups ja parallel geschaltet und der ursprüngliche Widerstand >verkleiner sich entsprechend. Ja. > Ist das so richtig Nicht ganz. >oder muß ich von allen >Boards bis auf eines die Pullups runterlöten? Der Pull-Up Strom soll laut I2C Definition 3mA nicht überschreiten.
M. T. schrieb: > Der Master muss dabei mehr Strom auf GND "sinken". Und die Slaves nicht? Da sollte man genauso ins Datenblatt gucken. Nur beim Clock ist der Master der einziger, der die Leitung auf Gnd ziehen muss.
Falk Brunner schrieb: > Der Pull-Up Strom soll laut I2C Definition 3mA nicht überschreiten. Das kommt auf den Bus drauf an. In der UM10204 von NXP sind für HS die 3mA als Mindestwert für den Pull-Up Strom angegeben (I_CS in Tab. 11). Als Maximalwert stehen dort 12mA.
M. T. schrieb: > Der Master muss dabei mehr Strom auf GND "sinken". Dazu würde ich > ins > Datenblatt des uC schauen. Warum muss der Master denn mehr sinken? Das erscheint mir nicht schlüssig. > Den resultierenden Gesamtwiderstand der > Pullups würde ich bei den üblichen 4.7k für I2C nicht deutlich > unterschreiten. Laut I2C-Specs sind bis zu 3mA erlaubt, bei 5V also 1.5K.
>Nur beim Clock ist der Master der einziger, der die Leitung auf Gnd ziehen muss.
Da wäre ich vorsichtig. Habe schon Slaves gesehen, die clock stretching
betrieben haben.
Sollen hohe Kapazitäten umgeladen werden, setze ich zunehmend anstatt
eines 1k8-Widerstandes Konstantstromquellen mit ca. 2mA PullUp-Strom
ein. Damit sehen die Flanken am Oszi wieder zackig aus und Störungen
werden auch noch besser unterdrückt.
Marco S schrieb: > Habe schon Slaves gesehen, die clock stretching > betrieben haben. Ups. Welcher Master prüft denn das? Der Hardware-TWI im AVR nicht, oder? Da kann der Master ja ganz pöse auf die Fr...e fliegen...
@ Timm Thaler (timm-thaler) >> Habe schon Slaves gesehen, die clock stretching >> betrieben haben. >Ups. Welcher Master prüft denn das? Der, welcher spezifikationskonform arbeitet. >Der Hardware-TWI im AVR nicht, oder? Ich würde meinen, oder. >Da kann der Master ja ganz pöse auf die Fr...e fliegen... Nö, warum?
Falk Brunner schrieb: > Der, welcher spezifikationskonform arbeitet. Nagut, hast recht. Hab ich noch nicht drauf geachtet.
Marco S schrieb: > Sollen hohe Kapazitäten umgeladen werden, setze ich zunehmend anstatt > eines 1k8-Widerstandes Konstantstromquellen mit ca. 2mA PullUp-Strom > ein. Damit sehen die Flanken am Oszi wieder zackig aus und Störungen > werden auch noch besser unterdrückt. Bei welchen Frequenzen?
Hallo, der Thread ist zwar aus dem Jahre 2013, aber man kann ja mal paar Infos geben. Hier ist das mit dem Pullup Werten anschaulich getestet und erklärt. Bei fertigen Modulen würde ich die ausmessen und notfalls auslöten, wenn es zu gering wird. http://www.gammon.com.au/forum/?id=10896&reply=5#reply5
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.