I2C-Kapazität

Ich verwende eine I2C-Schnittstelle für meinen E-Kompass und Controller. Die Kapazität des E-Compass-I2C-Pins beträgt 20 pF und die des I2C-Controllers etwa 40 pF.

Aber das Problem ist: Ich möchte einen 100 cm langen Draht verwenden, weiß aber nicht, wie man die Drahtkapazität misst, und es gibt einen PMDC-Motor, der Rauschen in die Leitung einspeist.

Die Frage ist, wie ich sicherstellen kann, dass meine I2C-Kapazität nicht überschritten wird und welchen I2C-Puffer ich verwenden muss (einen bestimmten IC?).

Hier diskutiert .

Antworten (2)

Obwohl die Kapazitätsspezifikationen so sind, wie sie sind, werden Sie bei typischen I2C-Signalraten von bis zu 400 KHz Fast Mode bei einer Kabellänge von 1 Meter keine negativen Auswirkungen der Kabelkapazität feststellen.

Gemäß den I2C-Spezifikationen von NXP beträgt die maximal unterstützte Kabelkapazität 400 picoFarad . Dies gilt offenbar für die ursprüngliche I2C-Spezifikation (100 KHz), für die neueren I2C-Versionen scheint es kein Update zu geben.

Für 1 MHz Fast Mode Plus, 3,4 MHz High-Speed ​​Mode (Hs) und 5 MHz Ultra Fast Mode (UFm) kann ein langes Kabel unzuverlässig sein oder im schlimmsten Fall überhaupt nicht funktionieren. Wenn das fragliche Peripheriegerät diese Hochgeschwindigkeitsmodi unterstützt und in diesen verwendet werden soll, wäre ein empfohlener Ansatz, Off-Board-I2C vollständig zu vermeiden oder einen Long Distance I2C-Extender hinzuzufügen.

I2C-Puffer/Extender : NXP veröffentlicht auf dieser Seite eine Reihe geeigneter Teile , die speziell dafür ausgelegt sind, den I2C-Bus über Kilometer zu verlängern . P82B715, P82B96 und PCA9600 sind die in diesem Zusammenhang zu betrachtenden Teile.

Es gibt auch geeignete Teile von Texas Instruments und vielleicht anderen für solche Busverlängerungszwecke.

Siehe auch Samuels Antwort für weitere Einblicke in diese Angelegenheit.

Ihre Cat 5-Informationen stammen aus Wikipedia. Es sind 52 pF/m bei 800 Hz, nicht KHz, und das bei einem symmetrischen UTP-Paar. I2C verwendet kein symmetrisches Signalpaar wie 802.3 Ethernet. Außerdem verfügt i2c NICHT über die Art der Fehlerprüfung, die verhindern würde, dass beschädigte Daten durch zu hohe Kapazität ein Gerät beeinträchtigen (wie Parität oder Prüfsumme).
@Passerby CAT5-Beispiel entfernt.

Sie würden die Drahtkapazität genauso messen wie einen normalen Kondensator. Da die Kapazität in einem sehr kleinen Bereich liegt, benötigen Sie ein ziemlich anständiges Kondensatormessgerät. Alternativ können Sie mit einem Oszilloskop, einem Widerstand und einer Spannungsquelle den Draht aufladen und dann seine Spannungskurve beim Entladen gegen den Widerstand messen. Zu viel Aufwand für das, was man wirklich braucht.

Die meisten Kabel oder elektrischen Drähte haben ihre Kapazität pro Standardlänge als Teil ihrer Spezifikationen. Ein UTP-Kabel der Kategorie 5e hat beispielsweise einen Nennwert von 300 pF pro 100 Meter bei einem unsymmetrischen Paar. Belkin Cat 5e Kabelspezifikationen , also 3 pF für Ihren 1-Meter-Bedarf. Nominal.

Mir ist klar, dass dies ein alter Kommentar ist, aber falls andere dadurch verwirrt sind: Cat 5e-Kabel haben eine Kapazität von etwa 50 pF pro Meter, nicht 3. Die von Passerby zitierte Kapazitätsungleichgewichtsspezifikation ist der Grad, in dem die Kapazität (von jedem Draht gesehen) ist Masse) ist nicht angepasst. Diese Spezifikation wird bereitgestellt, weil sie eine Vorstellung davon vermittelt, wie empfindlich diese Kabel gegenüber der Aufnahme von kapazitiv gekoppeltem Rauschen sind, da das Kapazitätsungleichgewicht bedeutet, dass das kapazitiv gekoppelte Rauschen in den beiden Drähten eines Differenzialpaars ungleich ist und daher nicht aufgehoben wird.