I2C-I3C-Vergleich

I2C vs I3C Protokoll: Unterschiede und Ähnlichkeiten

Der I2C-Bus

I2C (Inter-Integrated Circuit) ist ein On-Board-Kommunikationsprotokoll, das ideal für kurze Distanzen und geringe Bandbreite ist. Es hat eine Master-Slave-Architektur, in der alle Slaves über zwei Leitungen mit dem Master verbunden sind: die serielle Datenleitung (SDA) und die serielle Taktleitung (SCL). I2C wird typischerweise zum Anschluss von Peripheriegeräten mit niedrigerer Geschwindigkeit, wie Sensoren an Prozessoren und Mikrocontrollern über kurze Strecken, innerhalb einer integrierten Schaltung verwendet.
Das I2C-Protokoll definiert, wie Daten gesendet werden. Zu Beginn gibt der Master eine Startbedingung aus, gefolgt von der Adresse des Slave-Geräts, mit dem er kommuniziert. Sobald der entsprechende Slave seine Adresse identifiziert hat, sucht er nach dem fortschreitenden Lese / Schreib-Flag, das vom Master ausgegeben wurde. Dieses Flag teilt dem Slave mit, ob er Daten empfangen oder Daten senden kann. Sobald der Slave den Master bestätigt hat, wird die Kommunikation fortgesetzt.
Ein Merkmal von I2C ist das eingebaute Prüfsystem: Jedes Datenbyte wird vom Empfänger entweder mit ACK oder NAK bestätigt, um dem Sender zu signalisieren, ob die Daten empfangen wurden oder nicht. Sobald der Master die Kommunikation mit dem adressierten Slave beendet hat, gibt er eine Stoppbedingung aus, um das Ende der Übertragung zu signalisieren. Nach der Stopp-Bedingung kann die Kommunikation mit anderen Slave-Geräten beginnen.

Der I3C-Bus

(Improved Inter Integrated Circuit) ist auch unter MIPI I3C und als SenseWire bekannt. I3C ist der neue Industriestandard für serielle Multidrop-Datenbusse. I3C wurde in Zusammenarbeit zwischen Elektronik- und Computerunternehmen mit der Mobile Industry Processor Interface Alliance (MIPI Alliance) im Jahre 2016 veröffentlicht.  I3C fügt eine beträchtliche Anzahl von Systemschnittstellenfunktionen hinzu und behält gleichzeitig die Aufwärtskompatibilität mit vorhandenen I²C-Slave-Geräten bei, während native I3C-Geräte ähnlich wie SPI (Serial Peripheral Interface) höhere Datenraten unterstützen. Mit I3C können ein oder mehrere Master-Geräte über den Bus mit einem oder mehreren Slaves verbunden werden. Prodigy Technovations bietet als einer der ersten Hersteller hierfür einen I3C Protokollanalyzer an.
I2C vs I3C Protokoll Analysatoren: Unterschiede und Ähnlichkeiten
I3C die Weiterentwicklung von I²C. I3C war ursprünglich als die einzige Schnittstelle für alle digital angeschlossenen Sensoren, die in einer mobilen Applikation verwendet werden, gedacht. Der Bus ist aber auch für alle Embedded Anwendungen mit mittlerer und höherer Geschwindigkeit geeignet die Sensoren, Leistungsregler, Aktoren, MCUs und FPGAs einsetzen. I3C setzt auf die Merkmale und Vorzüge von I2C auf und verbessert diese, behält aber gleichzeitig die Abwärtskompatibilität bei. Die Schnittstelle ist für viele Anwendungen nützlich, da sie eine Hochgeschwindigkeits-Datenübertragung bei sehr geringen Leistungspegeln bietet und gleichzeitig einen Multi-Drop zwischen dem Host-Prozessor und den Peripheriegeräten ermöglicht, was für jedes eingebettete System äußerst wünschenswert ist. 

I2C vs I3C: Wo sind die Unterschiede?

• Energiesparendes und platzsparendes Design für mobile Geräte (Smartphones und IoT-Geräte).
• Zweipolige Schnittstelle, die eine Obermenge des I2C-Standards ist. An den neueren Bus können ältere I2C-Slave-Geräte angeschlossen werden.
• In-Band-Interrupts über den seriellen Bus, anstatt der Erfordernis separater Pins.
• Standard Data Rate (SDR) Durchsatz von bis zu 12,5 Mbit / s bei Verwendung von CMOS-E / A-Pegeln
• HDR-Modi (High Data Rate) ermöglichen einen mit SPI vergleichbaren Durchsatz, erfordern jedoch nur einen Bruchteil der I2C-Schnellmodusleistung.
• Ein standardisierter Satz allgemeiner Befehlscodes
• Unterstützung für Befehlswarteschlangen
• Fehlererkennung und -wiederherstellung (Paritätsprüfung im SDR-Modus und 5-Bit-CRC für HDR-Modi)
• Dynamische Adresszuweisung (DAA) für I3C-Slaves, unterstützt jedoch weiterhin statische Adressen für ältere I2C-Geräte
• Hot-Join (einige Geräte am Bus können während des Betriebs ein- und ausgeschaltet werden)
• Multi-Master-Betrieb mit klar definierter Übergabe
• Auf einem I3C-Bus im Standardmodus (SDR) können vier verschiedene Geräteklassen unterstützt werden

Protokollanalysatoren für I2C und I3C

Es gibt mehrere Protokollanalysatoren auf dem Markt. Einige sind spezifisch für ein Protokoll, während andere Analysatoren mehrere Protokolle unterstützen.
Zwischen den meisten I2C- und SPI-Analysatoren gibt es nur wenige funktionale Unterschiede. Sie können Implementierungsunterschiede wie Header-Typen, Pin-Anzahl oder Spannung / Strom-Toleranzen haben, diese Unterschiede gehen aus den Designs der Hersteller hervor.
Die meisten Analysatoren bieten eine GUI-Software zum Lesen der auf dem Bus erfassten Kommunikation. Protokollanalysatoren entschlüsseln typischerweise Protokollsteuersignale und Daten im Gegensatz zu einem Standardlogikanalysator, der nur Signale und Zeitdiagramme anzeigt.
Nicht alle Software ist gleich. Die Möglichkeit, Daten in Echtzeit anzuzeigen, Captures zu starten und zu stoppen, Captures zu speichern und zu teilen sowie Captures zu suchen und zu filtern, ist nicht immer in allen Protokollanalysesoftware verfügbar. Für zusätzliche Flexibilität und Verwendung sind einige Protokollanalysatoren mit einer Software-API ausgestattet, mit der der Benutzer ein benutzerdefiniertes Tool für seine spezifischen Anforderungen erstellen kann.

Kompatibilität von Protokollanalysatoren und Programmer zwischen I2C und I3C

Einer der bekanntesten Firmen, die sich auf Protokoll Analyzer spezialisiert hat, ist Total Phase. Die Beagle und Promira Serie eignet sich besonders für das Debuggen von  I2C, SPI und USB Bussen. Alle Produkte haben einen internen Speicher implementiert, der den Traffic auf dem Bus speichern und in Echtzeit darstellen kann. Mit der kostenlosen Data Center Software kann der Datenstrom analysiert und ausgewertet werden,

Um I3C zu Debuggen benötigt man jedoch aufgrund der höheren Geschwindigkeiten einen I3C Protokoll Analyzer. Einer der wenigen auf dem Markt erhältlichen I3C Analyzer wurde von Prodigy Technovation entwickelt. Der PGY-I3C-EX-ED kann als Master oder Slave konfiguriert werden, den I3C-Verkehr mit Fehlerinjektion generieren und die Pakete des I3C Protokolls dekodieren.

Aardvark I2C/SPI Host AdapterAardvark I2C/SPI Host Adapter
Aardvark I2C/SPI Host Adapter
Artikelnr: TP240141
TP240141 - Der Aardvark I2C/SPI Host Adapter ist ein innovatives Werkzeug für die Verwendung mit I2C & SPI Bussystemen.
...mehr anzeigen

I2C Features

  • Leistung von bis zu 800 kbps über USB mit höherer Bandbreite im Vergleich zu langsamerem RS-232. 
  • Unterstützt den Standardmodus (100 kbps) und den Fast Mode (400 kbps) sowie variierende Geschwindigkeiten von 1 kHz bis 800 kHz. 
  • Unterstützt das Strecken von Inter-Bit- und Inter-Byte-Takten, Multi-Master Konfigurationen, Master senden und empfangen und Asynchrones Slave-Senden sowie Empfangen. 
  • Software-konfigurierbare I2C-Pull-up-Widerstände. 
  • Software-konfigurierbare Ziel-Power-Pins zur Stromversorgung von nachgeschalteten Geräten. 
  • Wiederholter Start, 10-Bit-Slave-Adressierung und Transaktionen im kombinierten Format.
Der Aardvark I2C / SPI-Hostadapter ist kompatibel mit:
  • Display Data Channel (DDC)
  • System Management Bus (SMBus)
  • Power Management Bus (PMBus)
  • Smart Battery Bus (SBBus)
  • Intelligent Platform Management Interface (IPMI)
  • Two-Wire Interface (TWI)

† Die tatsächliche Systembusgeschwindigkeit kann in Abhängigkeit von der Kapazität variieren.

SPI Features

  •  Arbeitet im Master- oder Slave-Modus. 
  • Master-Signalisierungsrate von bis zu 8 Mbit/s. 
  • Slave-Signalisierungsrate von bis zu 4 Mbit/s. 
  • Vollduplex-Master senden / empfangen. 
  • Asynchrones Slave-Senden / Empfangen. 
  • Software-konfigurierbare Ziel-Power-Pins zur Stromversorgung von nachgeschalteten Geräten. 
  • Software-konfigurierbare Slave Select (SS) -Polarität im Master-Modus.

339,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Beagle I2C/SPI Protokoll Analyzer
Artikelnr: TP320121
Der Beagle I2C/SPI Protokoll Analyzer ist ein schneller und leistungsstarker I2C- und SPI-Bus-Host-Adapter über USB
...mehr anzeigen

Haupteigenschaften

  • I2C eingriffsfrei bis zu 4 MHz überwachen
  • Nicht-intrusive Überwachung von SPI bis zu 24 MHz †
  • Nicht-intrusive Überwachung von MDIO bis zu 2,5 MHz (Klausel 22 und Klausel 45) ‡
  • Datenerfassung und -anzeige in Echtzeit – I2C- und SPI-Pakete beobachten, während sie auf dem Bus auftreten.
  • Timing auf Bit-Ebene mit einer Auflösung von bis zu 20 ns.
  • Vollständig kompatibel mit Windows, Linux und Mac OS X
  • Beinhaltet vollständige Funktionsüberwachungstools

419,00 €*
PGY-I3C-EX-PD I3C Protocol-Analyzer Product Picture 800
I3C Protokoll Exerciser und Analyzer
Artikelnr: PGY-I3C-EX-PD
Der I3C Protokoll Analyzer and Exerciser ermöglicht die Dekodierung und Analyse des I3C-Protokolls sowie die Fehlersuche im I3C-Protokoll.
...mehr anzeigen

Features I3C Protokoll Analyzer und Exerciser

  • Unterstützt die I3C Spezifikation v1.0/v1.1
  • Als Master oder Slave konfigurierbar.
  • Möglichkeit zur Konfiguration der BCR-, LVR- und DCR-Register.
  • Gleichzeitige Erzeugung des Datenverkehrs und Protokolldekodierung des I3C Busses.
  • Optionale Unterstützung von Prüfskripten für die Einhaltung der MIPI Prüfvorschriften (CTS).
  • Unterstützt I2C-Slaves und Master.
  • Erzeugt verschiedene I3C SDR und HDR Pakete.
  • Unterstützt IBI und Hot Plug Fähigkeiten.
  • Fehlerinjektion wie CRC-Fehler, Paritätsfehler und ACK/NACK-Fehler.
  • Variable I3C-Datengeschwindigkeiten und Duty Cycle.
  • PMIC-Geräteunterstützung gemäß JEDEC DDR5-Spezifikation.
  • Fähigkeit zum Margin-Test: Spannungs- und Zeitabweichung.
  • Kontinuierliches Streaming von Protokolldaten zwischen dem Gerät und dem Host-Computer.
  • Zeitdiagramm des protokolldekodierten Busses.
  • Auflistung der Protokollaktivität.
  • Fehleranalyse bei der Protokolldekodierung.
  • Möglichkeit, ein Übungsskript zu schreiben, um die Erzeugung mehrerer Datenrahmen mit unterschiedlichen Datengeschwindigkeiten zu kombinieren.
  • USB2/3-Schnittstelle für Host-Computer.
  • API-Unterstützung für die Automatisierung in Python oder C++. 1 v1.1 unterstützt nur einspurige Befehle
  • v1.1 unterstützt nur one lane Befehle

    Preis auf Anfrage

    Resümee

    Berücksichtigen Sie beim Kauf eines Protokollanalysators oder Programmer dessen Betriebssystemkompatibilität, USB-Optionen, sowie den Preis. Stellen Sie Nachforschungen an,damit Sie genau das bekommen, was Sie brauchen, und wissen, was Sie kaufen. Wenn Sie alle verfügbaren Optionen in Betracht ziehen, können Sie nicht nur Ihr Geld sparen, sondern auch Ihre Arbeitsleistung maximieren - Sie, Ihr Team und Ihre Projekte können das Beste daraus machen!