I3C-Kommunikation als Tech-Tipp für den Weiterbildungsbereich

I3C-Kommunikation als Tech-Tipp für den Weiterbildungsbereich

vom 12. Juni 2024
image
Klint_12443 DigiKey-Mitarbeiter

Einführung

Wenn Sie einen Controller haben, der mit vielen Geräten entlang eines Busses kommuniziert, sind Sie wahrscheinlich mit dem I²C (Inter-Integrated Circuit bus interface) vertraut. (Wenn nicht, machen Sie sich keine Sorgen – Sie können unseren Artikel dazu im Englischen Original HIER lesen!) Mit fortschreitender Industrie- und Verbrauchertechnologie laufen die Module, die auf früheren Protokollen basieren, Gefahr, obsolet zu werden, was Entwickler dazu zwingt, entweder die neue, aber vielfach eingeschränkte Hardware zu übernehmen oder das zuverlässige, aber alte und eingeschränkte Protokoll beizubehalten.

I3C steht für Improved Inter Integrated Circuit und zielt darauf ab, dieses Problem zu lösen.

Was ist das?

Bevor wir auf die Einzelheiten eingehen, wie I3C ein Upgrade auf I²C ist und was es bietet, muß bekannt sein, daß es keinen neuen Durchbruch gibt, den I3C auf nie zuvor gesehene Weise in die Welt bringen wird. Das heißt, das Ethernet-Protokoll existiert seit einiger Zeit, um die Rolle der Hochgeschwindigkeitssignalisierung über große Entfernungen zu erfüllen. Der CAN-Bus ist nach wie vor eine hervorragende Option für die Zuverlässigkeit in robusten Systemen, die einem hohen Geräuschpegel ausgesetzt sein könnten, wie im automobilen Transportwesen. I3C zielt nicht darauf ab, alle Protokolle zu ersetzen, indem alles auf einmal erledigt wird, sondern bietet stattdessen die Möglichkeit, die Rolle von I²C einfacher, zuverlässiger und skalierbarer zu erfüllen.

Wo wird es verwendet?

I3C ist am stärksten in Märkten, in denen I²C bereits eingesetzt wird, daher würden wir es eher auf dem Endverbrauchermarkt für Mobiltelefone und Wearables sehen. Darüber hinaus wächst aufgrund der Einfachheit und Abwärtskompatibilität die Präsenz im Segment Internet of Things (IoT). In diesen Anwendungen könnte man sich jedoch fragen, warum ein Upgrade von I²C durchgeführt werden soll, wenn es die Aufgabe doch bereits einwandfrei erfüllt. Man kann jedoch nicht behaupten, nur die Selbstdeklaration allein verbessert zu haben, also werfen wir einen Blick auf einige der Eigenschaften, die I3C besser macht als seine Vorgänger.

Vorteile

Wie bereits erwähnt, ist I3C abwärtskompatibel und daher kann davon ausgegangen werden, daß die meisten Vorteile – abgesehen vom Preis –, die für I²C bestehen, auch für I3C bestehen. Was I3C hat, was I²C nicht hat, ist die dynamische Adressierung. Bei I²C wird die Adresse eines Ziels (oder Peripheriegeräts) als statisch betrachtet und muß manuell eingestellt werden. I3C verwendet eine dynamische Adressierung, die es dem Controller wiederum ermöglicht, dem Zielgerät automatisch eine Adresse zuzuweisen. Obwohl das Einsparen eines Schritts im Prozeß schon verlockend ist, liegt der wahre Vorteil in der Kernauswirkung der dynamischen Adressierung – Hot Joining (Anschluß bei laufendem Betrieb). I3C verfügt über diese neue Fähigkeit des Hot Joinings, bei dem Geräte dynamisch an den Bus angeschlossen werden können, während das System noch läuft. Als Teil davon sind die Controller auch in der Lage, das durchzuführen, was traditionell als Mastership Handover bekannt ist – was es anderen Controllern ermöglicht, einige der Peripheriegeräte und / oder Aufgaben in Besitz zu nehmen. Dies öffnet die Türen für Komplexität und Flexibilität, die mit dem I²C selbst nicht verfügbar sind. Einer der Gründe, warum Menschen I²C gegenüber SPI bevorzugen, ist die reduzierte Anzahl auf nur zwei Kabel, die für den Betrieb des Protokolls erforderlich sind. I3C geht noch einen Schritt weiter und ermöglicht, daß Alles über dieselben zwei Drähte kommuniziert wird. Mit In-Band-Interrupt müssen keine separaten Drähte mehr für jedes Gerät vorhanden sein, um eine eigene Interrupt-Leitung zu haben. Dadurch spart das System nicht nur Platz (was in Wearables und IoT-Anwendungen typischerweise von hohem Wert ist), sondern trägt auch zu einem weiteren Vorteil von I3C bei – der Effizienz beim Stromverbrauch. Schließlich, und obwohl es darüber hinaus zusätzliche Vorteile für I3C gibt, ist die Geschwindigkeitssteigerung gegenüber I²C erwähnenswert. Interessanterweise ist der Geschwindigkeitsunterschied, der es dem Controller ermöglicht, ein I3C-Peripheriegerät gegenüber einem I²C-Peripheriegerät zu erkennen, was die Abwärtskompatibilität ermöglicht, da es separat mit den Geräten verbunden ist. Der I²C-Bus im Hochgeschwindigkeitsmodus ermöglicht eine Kommunikation von bis zu 3,4 Mbit / s (Megabit pro Sekunde), während das I3C-Protokoll bis zu 12,5 Mbit / s unterstützen kann.

Schlußfolgerung

Die Frage muß also gestellt werden – wenn I3C das meiste von dem macht, was I²C macht, aber besser, gibt es überhaupt einen Grund, am I²C festzuhalten?

Absolut. Da I²C-Geräte so gut verfügbar und quasi ein Standard sind und I3C noch ziemlich neu ist, kann erwartet werden, daß I²C noch einige Zeit bestehen bleibt. Abgesehen von der Verfügbarkeit (und in der Regel wiederum den Kosten) ist der Wechsel zu I3C für viele Anwendungen eher übertrieben. Wenn eine Anwendung keine Leistungsbeschränkungen berücksichtigen muß, genug Platz zur Verfügung hat und nicht von der höheren Datenrate profitiert, besteht keine Notwendigkeit, die Verwendung von I3C gegenüber I²C zu bevorzugen. Wenn Skalierbarkeit und zukünftige Implementierung jedoch ein großes Anliegen sind, dann könnte I3C ein immer noch besserer Anwärter sein.