PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : i²C und Pullups



BoondockDuck
16.09.2008, 09:46
Hallo

Ich eine i²c-Slave-Platinen entworfen (die auch funktioniert O:) ) und auf der Platine sda und scl wie gefordert mit einem 4,7k Pullup auf VCC gelegt.

Wenn ich jetzt aber mehre Slaves an einer Leitung hängen habe, und auf jeder Platine die Pullups habe, minimiert sich der Gesamtwidertand der Pullups, je mehr Slaves an der Leitung hängen.

Vorraussichlich sollen es 8 slaves sein, da wären es ja nur noch knapp 0,6k Ohm :-k


In diesem Fall weiß ich dass es vorerst max. 8 Slaves sein werden.
Aber wie wird das in der Praxis gelöst wenn die Anzahl der Slaves variiert?
Irgendwo habe ich gelesen der Pullup kann zwischen 1k und 100k groß sein. Stimmt das? Dann könnte man das Problem doch einfach mit einem 100k Pullup lösen? (Gäbe bei 16 Slaves immer noch 6,25k Ohm)

pyr0skull
16.09.2008, 09:52
Ich würde mal glatt behaupten, dass du die Pullupwiderstände nur einmal brauchst.. Sind ja nur dazu da, um die Leitung auf einen definierten Zustand zu heben und dieser Zustand ändert sich durch weiter Platinen ja nicht. Ist aber auch nur eine Vermutung.

KlaRaw
16.09.2008, 10:06
Hallo,
die Pullups werden je i2c-Segment nur einmal eingesetzt.
Bei 5V sollte man nicht weit unter 2,2K gehen.
Bei 3,3V liegt der Wert darunter.
Gruss Klaus.

BoondockDuck
16.09.2008, 13:28
die Pullups werden je i2c-Segment nur einmal eingesetzt.i2c Segment = i2c Leitung
Also wie pyr0skull ebenfalls gesagt hat?

Oder meinst du Segment = Slave ?

uwegw
16.09.2008, 13:33
Gewöhnlich setzt man die Pullups auf die Platine des Masters... dann kann man Slaves hinzufügen, ohne dass sich der Gesamtwiderstand ändert.

HPM
17.09.2008, 05:32
Hallo BoondockDuck
Nur noch mal zur Info in grafischer Darstellung aus dem RN-Wissen
https://www.roboternetz.de/bilder/i2cbeitrag1.gif
Es wird nur eine Widerstandsgruppe gesetzt, ich will es mal weitläufig als "Abschlusswiderstand" bezeichnen.

Der komplette Beitrag unter https://www.roboternetz.de/wissen/index.php/I2C ist auch interessant.