Mehrere Pull-Up-Widerstände notwendig?

OP #2990120
Lesenswert?

Hallo,

beim Erstellen meines Boardlayouts bin ich gerade auf eine Frage 
gestossen.

Ich nutze einen µC und habe an diesen 3 Geräte über I2C angeschlossen, 
diese teilen sich ja die beiden Leitungen SDA und SCL und man braucht ja 
grundsätzlich Pull-Up Widerstände an diesen Leitungen. Wie gehe ich denn 
nun vor wenn ich eben drei Devices habe und verschiedene 
Pull-Up-Widerstandswerte.

Bauelemente:

HMC5883L -> 2,2k Ohm
BMP085 -> 4,7k Ohm
LSM303DLHC -> 10k Ohm

Ich nehme an alle Pullups müssen verbaut werden und diese so nah am 
Bauelement wie möglich, aber warum stören sich die Pull-Ups dann nicht 
gegenseitig? Beziehungsweise "sehen" die Bauelemente nicht nur die 
Parallel-Schaltung der Widerstände?

Viele Grüße,
Florian
Gast #2990142
Lesenswert?

Man nimmt den kleinsten Wert und platziert nur einen Widerstand,
als demnach nicht direkt neben jedem Bauteil,
sondern egal wo.


Nur bei ganz langen Leitungen kann eine Endterminierung nötig sein.
So lang ist deine Platine nicht.
Gast #2990929
Lesenswert?

Florian K. schrieb:
> Wie gehe ich denn
> nun vor wenn ich eben drei Devices habe und verschiedene
> Pull-Up-Widerstandswerte.

Da sich alle I2C nennen (und nicht einer davon TWI), müssen die 
Hersteller vermutlich sogar Lizenzgebühren an NXP zahlen und ich gehe 
davon aus, dass sie die Spezifikationen von I2C auch einhalten (auf 
NXP-Webseite auffindbar). In dem Papier stehen auch Kurven zur 
Verfügung, die einem helfen, den richtigen PuP auszuwählen - nach den 
unten genannten Randbedingungen.
Da spielen nämlich eine Reihe von Parametern zur Auswahl der PullUps 
eine Rolle.
1. mit welcher Geschwindigkeit soll der Bus laufen, 100kBit/s oder 
400kBit/s?
2. wie lange sind die Leitungen und wie viele Slaves hängen dran - bzw. 
wie groß ist die dadurch hervorgerufenen kapazitiven Belastungen?
3. wie hoch ist die Versorgungsspannung?

Ich habe die Zahlen nicht genau im Kopf, aber bei 3.3V ist bei 700Ω-800Ω 
die untere Grenze erreicht. Und bei kleiner Platine, einem einzelnen 
Slave und 100kBit/s sind sicher auch 10kΩ ein brauchbarer Wert.

Je niederohmiger der PuP wird, desto mehr Strom benötigt die Schaltung - 
klar. Ein niederohmiger PuP trägt aber zu größerer Störsicherheit bei 
und die Schaltung arbeitet auch bei 400kBit/s und etwas längeren 
Leitungen noch zuverlässig.

Wenn du nicht auf Batteriebetrieb angewiesen bist, dann würde ich dir zu 
den 2k2 raten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren