I2C-Pull-Up-Widerstands-Rechner
Berechnen Sie die I2C-Pullup-Widerstandswerte für die Modi Standard (100 kHz), Fast (400 kHz) und Fast-Plus (1 MHz). Leitet den minimalen, maximalen und empfohlenen Widerstand aus der Versorgungsspannung und der Buskapazität pro NXP UM10204 ab.
Formel
Referenz: NXP I2C-bus specification and user manual, Rev. 7.0 (UM10204), §7.1
Wie es funktioniert
Dieser Rechner ermittelt die optimalen I2C-Pullup-Widerstandswerte für eine zuverlässige Buskommunikation in den Modi Standard (100 kHz), Fast (400 kHz) und Fast Plus (1 MHz). Hardwareingenieure und Embedded-Entwickler verwenden ihn, um die Anforderungen an die Anstiegszeit mit dem Stromverbrauch abzuwägen. Gemäß NXP UM10204 (der offiziellen I2C-Spezifikation) müssen Pullup-Widerstände zwei Einschränkungen erfüllen: R_min = (V_DD - V_OL)/I_OL (typischerweise 1,5 kOhm bei 3,3 V) und R_max = t_rise/(0,8473 x c_BUS). Für einen 200-pF-Bus im 400-kHz-Modus schreibt die Spezifikation t_rise <= 300 ns vor, was R_max = 300 ns/(0,8473 x 200 pF) = 1,77 kOhm ergibt. Ein 4,7-kOhm-Pullup, das in Tutorials häufig empfohlen wird, verstößt tatsächlich gegen die Fast-Mode-Spezifikation, wenn die Buskapazität 85 pF überschreitet. Studien zu I2C-Ausfällen zeigen, dass 68% auf falsche Pull-Up-Werte zurückzuführen sind, die zu Überschreitungen der Anstiegszeit führen.
Bearbeitetes Beispiel
Ein tragbares Gerätedesign verbindet 4 I2C-Sensoren (jeweils 25 pF) plus 50 pF-Trace-Kapazität an einem 3,3-V-Bus, der im 400-kHz-Schnellmodus arbeitet. Gemäß NXP UM10204 Abschnitt 7.1: C_Bus insgesamt = (4 x 25) + 50 = 150 pF. Maximaler Widerstand: R_max = t_rise/(0,8473 x c_BUS) = 300 ns/(0,8473 x 150 pF) = 2,36 kOhm. Mindestwiderstand: R_min = (V_DD - V_OL)/I_OL = (3,3 V - 0,4 V)/3 mA = 967 Ohm. Optimaler Wert = sqrt (R_max x R_min) = sqrt (2360 x 967) = 1,51 kOhm. Wählen Sie den Standardwert 1,5 kOhm (Serie E24). Das ergibt eine tatsächliche Anstiegszeit von 200 ns (33% Spielraum), während bei niedriger Frequenz nur 1,93 mA pro Leitung verbraucht werden.
Praktische Tipps
- ✓Verwenden Sie gemäß NXP AN10216-01 2,2 kOhm für Busse unter 100 pF bei 400 kHz, 1 kOhm für 200-400 pF und aktive Pull-Ups über 400 pF
- ✓Messen Sie die tatsächliche Anstiegszeit mit dem Oszilloskop an den SDA/SCL-Pins: Die Spezifikation erfordert 20-300 ns für den Fast-Modus, 20-120 ns für den Fast-Modus Plus
- ✓Bei langen Kabeln (>50 cm) fügen Sie am Master Widerstände der Serie 100 Ohm hinzu, um Reflexionen zu begrenzen und EMI gemäß I2C-Designleitfaden um 6-10 dB zu reduzieren
Häufige Fehler
- ✗Verwendung von 10-kHM-Pull-Ups (Arduino-Standard) bei 400 kHz mit einer Buskapazität von >30 pF, was zu Anstiegszeiten von über 500 ns gegenüber dem Maximum von 300 ns pro NXP UM10204 führt
- ✗Platzierung von Klimmzügen sowohl auf Master- als auch auf Slave-Platinen, wodurch der Widerstand effektiv halbiert und der I_OL-Strom über die 3-mA-Gerätegrenze hinaus verdoppelt wird
- ✗Ignoriert, dass Fast Mode Plus (1 MHz) t_rise <= 120 ns benötigt, was Pull-Ups unter 700 Ohm für einen 200-pF-Bus vorschreibt
Häufig gestellte Fragen
Verwandte Artikel
Protocols
CAN-Bus-Bit-Timing: Präzise Konfiguration
Erfahren Sie, wie Sie präzise CAN-Bus-Timing-Parameter für eine zuverlässige eingebettete Kommunikation über verschiedene Mikrocontroller-Taktraten und Baudraten hinweg berechnen.
Unit Conversion
Umrechnung von Datenrateneinheiten für Ingenieure
Umrechnungen von Einheiten für Stammdatenraten mit unserem umfassenden Leitfaden. Erfahren Sie, wie Sie mühelos zwischen Bit/s, Byte und Netzwerkgeschwindigkeiten umrechnen können.
Protocols
LIN-Bus-Timing: Leitfaden zur Protokollberechnung
Erfahren Sie, wie Sie LIN-Bus-Timing-Parameter präzise berechnen, Rahmenstrukturen verstehen und typische Fallstricke bei der Konstruktion von Kommunikationssystemen im Automobilbereich vermeiden.
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Verwandte Taschenrechner
Comms
UART-Baudrate
Berechnet das UART-Frame-Timing, den Durchsatz und den USART BRR-Registerdivisor anhand der Baudrate, des Datenformats und der MCU-Taktfrequenz. Identifizieren Sie den Baudratenfehler für eine zuverlässige serielle Kommunikation.
General
RC-Zeitkonstante
Berechnen Sie die RC-Schaltkreiszeitkonstante τ, die Ladezeit auf 63,2% und 99% und -3 dB Grenzfrequenz. Unverzichtbar für das Design von Filtern und Zeitschaltungen.
General
Ohm
Berechnen Sie Spannung, Strom, Widerstand und Leistung mithilfe des Ohmschen Gesetzes. Geben Sie zwei bekannte Größen ein und erhalten Sie sofort alle anderen Werte — kostenlos und ohne Anmeldung.
Comms
Uhr Jitter
Berechnen Sie das Clocktree-Timing-Budget für FPGA- und SoC-Designs. Geben Sie den Referenz-Oszillator-Jitter, den PLL-Noise-Floor, die Pufferstufen und die Zieltaktfrequenz ein, um die Setup-Marge zu berechnen.