Forum: Mikrocontroller und Digitale Elektronik I2C, Position der Pull-Up-Widerstände


von Ralf (Gast)


Lesenswert?

Hallo,

in der I2C-Spezifikation konnte ich keine Info finden, ob es eine 
(große) Rolle spielt, wo die Pull-Up-Widerstände am Bus angeschlossen 
sind, also in der Nähe vom Master oder besser am letzten IC am Bus.

Generell werden bei Bussen die Abschlusswiderstände ja am letzten 
Teilnehmer angeschlossen, um Reflektionen etc. zu unterbinden. Die 
Pull-Ups sollen aber bei I2C in erster Linie für einen definierten 
High-Pegel sorgen und sind somit ja keine Abschlusswiderstände in dem 
Sinne.

Bei höheren Übertragungsraten (I2C-FastMode+ und I2C-HighSpeed) mit 
>=1MBit werden die Widerstände wahrscheinlich auch ein bisschen wie 
Abschlusswiderstände wirken, aber bei 100kHz/400kHz dürfte es kaum eine 
Rolle spielen, wenn die Pull-Up-Widerstände auch in der Mitte vom Bus 
angeschlossen sind, oder?

In meinem Fall hab ich etwa 40-50mm Länge der I2C-Leitungen auf der 
Platine. Der Master wird allerdings extern angeschlossen, aber wenn man 
davon ausgeht, dass dieser auf kürzestem Wege angeschlossen wird, dürfte 
das kein Problem sein, oder? Da ich nicht viel Platz auf der Platine 
habe würden die Pull-Up-Widerstände "mitten" im Bus zwischen den 
insgesamt drei Slaves angeschlossen werden.

Hmmm... und wie ich das so schreibe kommt da noch die Frage auf, wie das 
ist, wenn noch andere Teilnehmer angeschlossen werden: hier wäre mein 
Layout ja dann quasi eine "Stichleitung". Wie wird das dann gehandhabt? 
Die Pull-Ups auf meinem Layout mit doppeltem des üblichen 
Widerstandswerts bestücken und die "externen" Pull-Ups ebenfalls mit dem 
doppelten Wert, sodass sich durch die Parallelschaltung wieder der 
"normale" Wert ergibt? Das bildet doch dann eigentlich eine Schleife 
über die Versorgungsspannung, oder?

Ralf

von LTC1043 (Gast)


Lesenswert?

Mach sie bei Master ran.

Wenn deine I2C Slave "steckbar" sind fehlen sie sonst. Dies kann beim 
abfragen der Slaves recht mühsam sein.

Alternativ kannst du beim Master mit einem viel hochohmigeren Pullup 
arbeiten und bei dem Slave mit den üblichen 1k8.. 3k

cheers

von Ralf (Gast)


Lesenswert?

LTC1043 schrieb im Beitrag #3061798:
> Wenn deine I2C Slave "steckbar" sind fehlen sie sonst. Dies kann beim
> abfragen der Slaves recht mühsam sein.
> Alternativ kannst du beim Master mit einem viel hochohmigeren Pullup
> arbeiten und bei dem Slave mit den üblichen 1k8.. 3k
In Kombination eine gute Idee, finde ich :)

Danke.

Ralf

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.