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
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
#2990147
I2C dürfen nur einen PULL-UP pro Leitung haben. mit 4,7k läufst du nicht schlecht. Hab mir die Datenblätter der Chips aber nicht angeguckt!
Gast
#2990649
datenblatt schrieb: > I2C dürfen nur einen PULL-UP pro Leitung haben. Nö, du kannst beliebig viele hinmachen. Interessant ist nur der Gesamtwiderstand. Und man muss mehr löten...
Gast
#2990929
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.
Gast
#2990958
HildeK schrieb: > [Specs] (auf NXP-Webseite auffindbar) http://ics.nxp.com/literature/interface/?search=Specification
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.