Widerstand für I2C Schnittstelle

Hi,
man führt ja SDA und SCL je über einen Widerstand an 5v.
Ist die Größe des Widerstandes abhängig von der Anzahl der genutzten ICs?
Ich möchte eine RTC DS1307, ein PortExpander PCF8574 und ggfs. einen US Sensor SRF02 darüber ansprechen. Muss ich da bei den Widerständen etwas beachten? Reicht es je einmal einen Widerstand an 5V zu führen (nahe am ATMEGA) oder besser je IC je einen Widerstand (nahe am IC). Wie groß sollten die sein? Ansonsten wird mal ein 2.2k oder 4.7k Widerstand genutzt.

Besten Dank und Gruß
Thorsten

hi,

antwort eines nichtelektronikers, mal schauen ob’s stimmt:
ist egal. Du ziehst ja damit nur die komplette leitung auf plus, und die abstände zwischen den ics sind so gering, daß da sicher kein spannungsabfall eintritt. ist ein pullup, sonst nix.

eisebaer wartet… 8)

gruß stefan

Ist die Größe des Widerstandes abhängig von der Anzahl der genutzten ICs?

Im Prinzip ja, aber wesentlich mehr Einfluss hat die Länge der Leitung. Die Leitung und die Kapazitäten der Ports bilden mit dem Pullup einen Tiefpass, ist der Widerstand zu groß oder die Leitung zu lang, werden die Rechteckpulse mehr zu Dreiecken und irgendwann nicht mehr sauber erkannt. Anschauliche Erklärung dazu hier http://www.dsscircuits.com/articles/effects-of-varying-i2c-pull-up-resistors.html

4,7k ist der übliche Wert den man meistens sieht. I2C ist hauptsächlich für kurze Distanzen gedacht. Bei längeren Leitungen (oder höheren Frequenzen) sollte man den Widerstand kleiner machen. Siehe den Link oben. Das ist wirklich super erklärt.

Und es ist EIN Widerstand pro Leitung. Nicht pro IC. Sonst hängt du lediglich die Widerstände parallel. Du verwechselst das vielleicht mit Pufferkondensatoren, wo man an jedem IC einen hat, und zwar so nah dran wie möglich. Das hat mich aber schon gewundert bei Platinen die die Pullups schon drauf haben. Wenn man mehrere von denen anschließt macht man den Gesamtwiderstand jedesmal kleiner. Aber das macht sich erst bei sehr niedrigen Widerständen negativ bemerkbar.

Aber das macht sich erst bei sehr niedrigen Widerständen negativ bemerkbar.

Jein. 3 Geräte mit jeweils 4k7 Pullups und Du bist ausserhalb der I2C-Spezifikation (3mA sinking capability), das macht sich also relativ schnell bemerkbar.