-
-
Stichwort Open Collector.
Mal eine Erklärung zu der Wahl der Widerstandsgröße:
I2C Transmitter verwenden sog. Open Collector Ausgänge. D.h. sie haben einfach einen Transistor der SDA oder SCL auf Low ziehen kann. (Low ist auch der dominante Level) Wenn wir nun einen größeren Widerstand wählen fließt entsprechend weniger Strom als wenn wir einen kleineren wählen. Das ist eben entscheidend für die Frage: Wie viele Devices können wir am Bus betreiben -> Jedes Device das zuhört zieht ein kleines bisschen Strom und stellt eine Kapazität dar -> Zu viele Devices -> Keine stabilen HIGH, LOW Pegel (bzw. die Pegel können leichter gestört werden). Das gleiche gilt wenn wir nun die Länge des Busses betrachten. Ein längerer Bus bedeutet auch.: Mehr Kapazität. Diese Kapazität muss umgeladen werden -> Das geht nur mit mehr Strom in der selben Zeit.
Deshalb auch: Keine 0,1uF oder anderes in den Bus schalten. Das sorgt eher dafür, dass es nicht mehr funktioniert, bzw. langsamer funktioniert.
Laut Spezifikation darf die Bus Kapazität nicht 400 pF (550pf) betragen. Es wird außerdem empfohlen jeden Teilnehmer mit 100Ohm Serienwiderstand anzuschließen. Desweiteren gibt es Tabellen die in Abhängigkeit der Leitungslänge und der Anzahl der Teilnehmer die Größe der Pullup Widerstände vorgeben.
Zu guter Letzt: Sollte man wirklich lange Leitungen oder I2C in Störanfälligen Umgebungen betreiben wollen gibt es I2C differentiell Wandler: http://www.nxp.com/products/interfac...ogic:PCA9615DP
Und/Oder High Voltage I2C
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen