Die Funktionsweise der I2C Hardware

Daten werden mit Hilfe der Leitungen SDA und SCL übertragen. Der I2C-Bus bedient sich der Open-Drain-Technologie, was bedeutet, daß Teilnehmer die Leitungen gegen 0 ziehen oder sich passiv verhalten können. Die Terminierungswiderstände ziehen den Bus in Ruhe auf High.
Hierdurch wird ein gleichzeitiges Zugreifen von Teilnehmern elektrisch ermöglicht. Ferner können Slaves die Kommunikation durch festhalten der Clockleitung auf 0 aktiv verlangsamen.

Die Leitungskapazität Cp und der Terminierungswiderstand Rp geben das Zeitverhalten des Bussignals vor. Während das Signal von den Busteilnehmern durch FETs oder Opendrain-Treiber, welche zumeist 10 mA und mehr verarbeiten können, gegen 0 gezogen wird, sind die Terminierungswiderstände für die Rückführung des Signals auf den Highpegel verantwortlich.
Rp liegt in der Praxis zwischen 1 kΩ und 10 kΩ, was zu Strömen von 1 mA und weniger führt. Dieses ist die Ursache für das sägezahnförmige I2C-Signal. Jeder Zahn zeigt das Lade- bzw. Entladeverhalten der Leitung.

SDA (oben) und SCL (unten) mit Rp = 10 kΩ und Cp = 300 pF. Der SCL-Takt beträgt 100 kHz (nominal).