Berechnung von I2C-Pullup-Widerständen und wo sie platziert werden sollen [duplizieren]

Ich verbinde einen PIC18F46K22 (Master) mit einem PIC18F4620 (Slave) mit I 2 C. Der Draht zwischen den Geräten ist ~ 30 cm lang. Ich verwende 400 kHz ohne Slew-Rate-Steuerung. Später füge ich einen weiteren 18F4620 auf ~ 5 cm vom Master (~ 35 cm vom anderen Slave) hinzu.

Wie berechne ich den Pull-up-Widerstand, der sowohl auf der SCL- als auch auf der SDA-Leitung benötigt wird?

Ist es egal, wo ich den Klimmzug platziere (neben dem Master, neben dem Slave, beides, in der Mitte, ...)?

Antworten (2)

Die Klimmzüge befinden sich im Allgemeinen in der Nähe des Master-Geräts.

Dieser App-Hinweis geht auf einige der Berechnungen ein. Im Wesentlichen wird die Größe des Pull-up durch die gesamte Buskapazität und die Pull-down-Fähigkeiten der Geräte auf dem Bus definiert:

R P v D D v Ö L ICH Ö L

Und

R P 300 N S 0,847298 × C B u S

Wo v Ö L ist die benötigte logische Niederspannung, ICH Ö L ist der sinkende Strom, und C B u S ist die Buskapazität.

Sobald Ihr Sample erstellt ist, ist es natürlich das Beste, die Wellenformen zu skalieren und alle erforderlichen Anpassungen vorzunehmen.

Wenn die Leitung auf Low gezogen wird, liefert der Treiber-Pin (SCL am Master oder SDA am Master oder Slave) dafür Strom V/R; Wenn es sich also um einen 10k-Widerstand von 5 V handelt, muss der Treiber 0,5 mA senken. Ein größerer Widerstand bedeutet, dass weniger Strom benötigt wird, aber die Leitung wird langsamer hochgezogen (insbesondere bei einer langen Leitung) und dies kann Ihre Rate einschränken. Ein kleinerer Widerstand zieht schneller hoch, aber irgendwann brennen Sie den Treiberstift aus (siehe Datenblatt). 3.3K bis 10K ist wahrscheinlich in Ordnung; Wenn es 3,3 V sind, vielleicht 2,2 K-4,7 K

Es spielt keine große Rolle, wo Sie sie elektrisch anbringen, aber in der Nähe des Masters ist es besser, wenn das Kabel getrennt werden könnte; oder Sie könnten z. B. einen 10k-Pullup an jedem Ende anstelle eines einzelnen 4k7-Signals anbringen, wodurch beide Enden zufrieden sind, wenn das Kabel getrennt wird.

Bei Kabellängen bis +-20cm ist SCL bei 100kHz in der Regel mit 10k zufrieden. Mit zunehmender Häufigkeit und/oder Länge können Sie bis auf 1k heruntergehen.