I2C-Bus

Der Inter-IC- Bus, der gewöhnlich als I2C-Bus (I Quadrat C) bezeichnet wird, ist ein Steuerbus für die Kommunikation zwischen integrierten Schaltungen (IC) eines Systems. Er wurde in den 80er Jahren von Philips konzipiert und hat sich zu einem De-facto-Standard für die Systemsteuerung entwickelt. Es handelt sich um einen preiswerten bidirektionalen 2-Draht-Bus mit niedriger Datenrate, über dessen zwei Drähte das Taktsignal, Serial Clock Line (SCL), und das Datensignal, Serial Data ( SDA), übertragen werden.

Beide Leitungen werden über Pullup-Widerstände als AND-Gatter vorgespannt. Die Schaltpegel sind abhängig von der Versorgungsspannung; der Hi-Level liegt bei unter 3 V und entspricht 0,7 x Versorgungsspannung, der Lo-Level bei unter 1,5 V und beträgt 0,3 x Versorgungsspannung.

I2C-Bus mit direktionalen Leitungen für das Daten- und Taktsignal

I2C-Bus mit direktionalen Leitungen für das Daten- und Taktsignal

Die Taktfrequenz beträgt standardmäßig 100 kHz, in zwei höher getakteten Versionen 400 kHz und 2 MHz.

I2C-Bus im Master-Slave-Betrieb

Anschlussstecker für den I2C-Bus

Anschlussstecker für den I2C-Bus

Bei dem für den Master-Slave-Betrieb konzipierten I2C-Bus, der im Wesentlichen dem System Management Bus ( SMBus) entspricht, können alle I2C-Komponenten direkt angeschlossen werden, ebenso kann jeder I2C-Master die Vermittlungsfunktion zu den I2C-Slaves übernehmen. An den I2C-Bus können auch mehrere Master und I2C-Komponenten mit unterschiedlichen Datentransferraten angeschlossen werden. Arbeitet beispielsweise ein I2C-Slave langsamer als der sendende I2C-Master, dann erhält dieser vom Slave ein Signal zur Reduzierung der Datentransferrate, die er entsprechend anpasst. Es kann allerdings immer nur ein I2C-Master mit einem I2C-Slave in Halbduplex kommunizieren. Bedingt durch das softwarebasierte Adressierungsschema ist keine Hardware für die Adressen-Decodierung erforderlich. Die Slaves sind standardmäßig mit 7 Bit adressiert und bei erweitertem Adressraum mit 10 Bit.

High- und Low-Level des I2C-Busses

High- und Low-Level des I2C-Busses

In den 20 Jahren ist der I2C-Bus ständig weiter entwickelt worden und kennt drei Datentransfermoden: Im Standard-Betrieb ist die Datentransferrate 100 kbit/s, im Fast-Betrieb erreicht sie bis zu 400 kbit/s und im High-Speed-Modus bis zu 3,4 Mbit/s. Außerdem wird mit den Bus- Hubs, Repeatern, bidirektionalen Switches und Multiplexern die ursprüngliche Anzahl an anschließbaren Komponenten wesentlich erweitert. In diesem Zusammenhang sind auch die softwarekontrollierte Kollisionserkennung und die Arbitrierung zu nennen, die auch in komplexen Systemen für eine hohe Verfügbarkeit und Performance sorgen.

Einsatzgebiete des I2C-Busses

Der I2C-Bus kann vielseitig eingesetzt werden. So beispielsweise für die Steuerung und Kontrolle von Sensoren bis zum Electrically Erasable PROM ( EEPROM), von universellen I/Os, über A/D-Wandler, D/A-Wandler, Verstärker, Oszillatoren und Taktgeneratoren bis hin zu Codecs und Mikroprozessoren. Typische Einsatzbereiche liegen in Geräten der Konsumelektronik, in denen er für die Kommunikation der integrierten Schaltungen (IC) untereinander sorgt. So in Fernsehgeräten, in Kameramodulen und Videorecordern, in DVD-Playern und Handys.

Da der I2C-Bus den Anforderungen an die komplexeren Prozessoren und System-on-Chips ( SoC) nicht mehr gerecht wird, versucht die MIPI-Allianz, Mobile Industry Processor Interface, diesen durch den SPMI-Interface, System Power Management Interface, abzulösen.

Informationen zum Artikel
Deutsch: I2C-Bus
Englisch: inter integrated circuit bus - I2C
Veröffentlicht: 09.10.2017
Wörter: 479
Tags: Busse
Links: identification code (E.164) (IC), Bus, Steuerbus, Kommunikation, De-facto-Standard
Übersetzung: EN
Sharing: