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
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.
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!
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...
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.
HildeK schrieb: > [Specs] (auf NXP-Webseite auffindbar) http://ics.nxp.com/literature/interface/?search=Specification
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.