Wie schätzt man die Kapazität des I2C-Busses?

In meinem aktuellen Projekt benötige ich einen Mikrocontroller, um die Temperatur von 60 Temperatursensoren abzurufen, die sich auf derselben Platine mit Abständen von nicht mehr als 50 cm befinden. Die Referenz des Temperatursensors ist MAX30205. Es kommuniziert über I2C und bietet 32 ​​verschiedene I2C-Adressen.

Ich dachte daran, drei I2C-Busse zu verwenden (was bei meinem Mikrocontroller das Maximum ist) und 20 Sensoren in jeden Bus einzubauen .

Ich habe keine großen Einschränkungen in Bezug auf die Busuhr, da ich nur von Zeit zu Zeit die Temperatur der Sensoren abrufen muss, sodass wir davon ausgehen können, dass ich I2C in seinem Standardmodus verwenden werde (Geschwindigkeit = 100 kHz).

Der MAX30205 wird mit 3 V versorgt, was bedeutet, dass der minimal mögliche Pull-up-Widerstandswert 1 kOhm beträgt (da die I2C-Spezifikation einen maximalen Strom von 3 mA auf SCL und auf SDA vorschreibt). Angesichts der Anzahl der Sensoren werde ich R so klein wie möglich wählen, also vielleicht um 1,1 kOhm .

Der MAX30205 hat eine Eingangskapazität von 3 pF und der Mikrocontroller hat eine Eingangskapazität von 5 pF, was bedeutet, dass jeder Bus mindestens eine Buskapazität von 103 pF haben wird . Die maximale Kapazität für I2C im Standardmodus beträgt 400 pF. Es gibt eine verbleibende Buskapazität aufgrund von PCB und Leiterbahnen.

Kann man das abschätzen? Kann es nahe an 300 pF sein? Glaubst du, ich brauche einen I2C-Puffer?

Antworten (1)

Im Anwendungsbericht Effect of Parasitic Capacitance in Op Amp Circuits von TI heißt es:

Leiterbahnen auf einer Leiterplatte mit Masse- und Stromversorgungsebene betragen etwa 1 bis 3 pF/Zoll.

100 in ≈ 2,5 m


Wenn Sie immer noch Zweifel an den Anstiegszeiten haben, sollten Sie einen I²C-Beschleuniger wie den LTC1694 oder einen Puffer wie den TCA9803 verwenden.