Forum: Mikrocontroller und Digitale Elektronik Frage zu I2C Pullupwiderstände


von LudgerP (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

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.

von M. T. (quax11)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@ 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.

von Michael (Gast)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?

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.

von greg (Gast)


Lesenswert?

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.

von Marco S (Gast)


Lesenswert?

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

von Timm T. (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@ 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?

von Timm T. (Gast)


Lesenswert?

Falk Brunner schrieb:
> Der, welcher spezifikationskonform arbeitet.

Nagut, hast recht. Hab ich noch nicht drauf geachtet.

von Michael W. (Gast)


Lesenswert?

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?

von Veit D. (devil-elec)


Lesenswert?

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

von Michael W. (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.