In den frühen 80er Jahren hat Philips den I2C seriellen Daten Bus entwickelt um verschiedene Chips in einem Fernseh Gerät einfach steuern zu können. I2C ist als Master-Slave Bus konzipiert. Ein Datentransfer wird immer durch einen Master initiert, der über eine Adresse angesprochene Slave reagiert darauf. Aufgrund des einfachen Konzeptes und der erfolgreichen Umsetzung ist I2C zum Standard geworden. Mehr als 1.000 verschiedene ICs von über 50 Herstellern nutzen heutzutage die I2C Technologie.
Das I²C-Kommunikationsprotokoll verwendet nur zwei bidirektionale Open-Collector- oder Open-Drain-Leitungen, Serial Data Line (SDA) und Serial Clock Line (SCL), die mit Widerständen hochgezogen werden. Traditionell verwendete typische Spannungen waren +5 V oder +3,3 V; In letzter Zeit sind jedoch +2,5 V, +1,8 V und +1,2 V häufiger geworden.
Abbildung 1: Beispiel für eine I2C-Implementierung
Unabhängig davon, wie viele Slave-Einheiten an den I2C-Bus angeschlossen sind, sind nur zwei Signale an alle angeschlossen. Folglich entsteht ein zusätzlicher Overhead, da ein Adressierungsmechanismus erforderlich ist, damit das Master-Gerät mit einem bestimmten Slave-Gerät kommunizieren kann.
Da die gesamte Kommunikation nur über zwei Drähte erfolgt, müssen alle Geräte eine eindeutige Adresse haben, um sie auf dem Bus zu identifizieren. Slave-Geräte haben eine vordefinierte Adresse, aber die unteren Bits der Adresse können zugewiesen werden, um ein Vielfaches derselben Geräte auf dem Bus zu ermöglichen.
Das Aufkommen des Internet der Dinge ("IOT") in Verbindung mit der geringen Pin-Anzahl der seriellen I2C-Kommunikation hat zu einer Wiederbelebung der I2C-Nutzung geführt. Übliche Anwendungen sind die serielle Datenverwaltung, einschließlich der seriellen Datenübertragung zu / von Sensoren, der Programmierung von EEPROMs und des Abrufs von Abruf- / Empfangssensordaten.
I2C hat ein Master / Slave-Protokoll. Der Master initiiert die Kommunikation. Die Reihenfolge der Ereignisse ist:
Das Master-Gerät gibt eine Startbedingung aus. Diese Bedingung weist alle Slave-Geräte an, auf der seriellen Datenleitung nach Anweisungen zu suchen.
Das Master-Gerät sendet die Adresse des Ziel-Slave-Geräts und ein Lese- / Schreibflag.
Das Slave-Gerät mit der passenden Adresse antwortet mit einem Bestätigungssignal.
Die Kommunikation zwischen dem Master und dem Slave auf dem Datenbus wird fortgesetzt. Sowohl der Master als auch der Slave können Daten empfangen oder senden, je nachdem, ob es sich um eine Lese- oder eine Schreibkommunikation handelt. Der Sender sendet 8-Bit-Daten an den Empfänger, der mit einer 1-Bit-Bestätigung antwortet.
Wenn die Kommunikation abgeschlossen ist, gibt der Master eine Stoppbedingung aus, die angibt, dass alles erledigt ist.
Abbildung 2: I2C-Kommunikationsprotokoll
Da es nur zwei Drähte gibt, beinhaltet dieses Protokoll den zusätzlichen Overhead eines Adressierungsmechanismus und eines Bestätigungsmechanismus
Eigenschaften
I2C hat viele wichtige Funktionen, die es wert sind, erwähnt zu werden. Es unterstützt mehrere Datengeschwindigkeiten: Standardmodus (100 kbps), Fast-Modus (400 kbps), Fast-Modus plus, Hochgeschwindigkeitsmodus (3,4 Mbit / s) und Ultra-Fast-Modus (5,0 Mbit / s) I2C-Kommunikation.
Weitere Funktionen sind:
Vorteile und Nachteile
Da nur zwei Drähte erforderlich sind, eignet sich I2C gut für Karten mit vielen am Bus angeschlossenen Geräten. Dies hilft, die Kosten und die Komplexität der Schaltung zu reduzieren, wenn dem System zusätzliche Geräte hinzugefügt werden.
Aufgrund des Vorhandenseins von nur zwei Drähten ist die Handhabung des Adressierungs- und Bestätigungsaufwands zusätzlich komplex. Dies kann in einfachen Konfigurationen ineffizient sein, und eine Direktverbindungsschnittstelle wie SPI kann bevorzugt sein.
Total Phase Produkte |
Aardvark | Promira I2C-Level 1 | Promira I2C-Level 2 | Beagle I2C/SPI | |||||||
![]() |
![]() |
![]() |
![]() |
||||||||
Artikelnummer | TP240141 | Promira Serial I2C Platform TP500110 | TP320121 | ||||||||
Unterstützte Protokolle | I2C | I2C | I2C | I2C, MDIO, SPI-Single I/O |
|||||||
Funktion | Master/Slave Host Adapter | Master/Slave Host Adapter | Master/Slave Host Adapter | Real-time Bus Monitor | |||||||
Master Clock Geschwindigkeit | 800 kHz | 1 MHz | 3.4 MHz | 24 MHz | |||||||
Slave Clock Geschwindigkeit | 800 kHz | 1 MHz | 3.4 MHz | 24 MHz | |||||||
Chip/Slave Select | 1 | N/A | N/A | Monitor 1 slave select | |||||||
Slave Fähigkeit | <= 6 | Advanced | Ultra | N/A | |||||||
Spannungspegel (V) 1 | 3.3-5V | 0.9-3.45 V, 5 V | 0.9-3.45 V, 5 V | 3.3-5V | |||||||
Zielleistung | 5 V, 30mA verfügbar | 2 Independent, 1 Programmable, (0.9-3.45 V), 1 Switchable (3.3-5V) 200mA verfügbar | 5 V, 30mA verfügbar | ||||||||
Verbindung | Full Speed USB | High Speed USB, Ethernet | High Speed USB, Ethernet | High Speed USB | |||||||
1 Kompatibel mit 5V |
Beagle I2C/SPI Protokoll Analyzer - Total PhaseArtikel-Nr.: TP320121Der Beagle I2C/SPI/MDIO bietet eine leistungsfähige Monitoring Lösung.
Regulärer Preis
395,00 €
|
I3C Protokoll Exerciser und Analyzer (Liteversion)Artikel-Nr.: PGY-I3C-EX-PD-Lite (v1.1)Der PGY-I3C-EX-PD vereint Host Adapter und Protokoll Analyzer in einem Gerät. Dank der Abwärtskompatibilität ist er für I3C und I2C Anwendungen geeignet. |
Promira universelle I2C/ SPI/ eSPI PlattformArtikel-Nr.: TP500110Promira ist eine universelle Hardware Plattform nutzbar für eine Vielzahl von I2C, SPI und eSPI Anwendungen. |
Aardvark I2C/SPI Host Adapter - Total PhaseArtikel-Nr.: TP240141Der I2C/SPI Aardvark ist ein schneller und leistungsfähiger USB Host Adapter.
Regulärer Preis
330,00 €
|
Total Phase I2C EntwicklungskitArtikel-Nr.: TP120112Total Phase I2C Development Kit besteht aus einem Aaardvark, einem Beagle, 2 x 10-Pin Split Kabel, 1 x I2C/SPI Activity Board und 2 zwei 1,83 cm USB A auf B cable. |
zzgl. Mwst für Endverbraucher und Unternehmen mit Sitz in Deutschland