Geräte für das Internet der Dinge (IoT) verfügen in der Regel nur über eine eingeschränkte oder ineffiziente Stromversorgung. Deshalb können vor allem bei IoT-Systemen mit Bewegungs- oder Temperatursensoren schon geringfügige Verbesserungen der Energieeffizienz zu erheblichen Einsparungen während der Lebensdauer eines Geräts führen.
Ein typisches IoT-Gerät verfügt über einen Mikrocontroller, der als wichtigstes Steuerelement für das Bus-System fungiert. Mittels Sensoren werden vornehmlich in Reaktion auf verschiedene definierte Ereignisse Daten generiert. Sie reagieren entweder kontinuierlich in einem zyklischen Rhythmus oder sporadisch, zum Beispiel wenn ein bestimmtes Temperatur-Niveau überschritten wird. Außerdem können zusätzliche Peripheriegeräte für die Anzeige, die Kommunikation und verschiedene Benutzereingaben (wie Tasten, Knöpfe und Touchscreens) vorhanden sein, wobei für die Datenübermittlung sowohl ein Low-Power-Wide-Area-Network (LPWAN) als auch IEEE 802.11 Wi-Fi, Bluetooth oder ein IoT-Mobilfunknetz genutzt werden können.
Der Energieverbrauch des Bus-Systems wird in solchen Anwendungen durch eine Vielzahl von Faktoren beeinflusst. Dazu gehört unter anderem die Betriebsspannung des IoT-Geräts, die Bus-Länge, der Typ des Output-Pads, die Kapazität des Input-Pads, die Anzahl der auf dem Bus aktiven Geräte, die Anzahl der zum Senden oder Empfangen von Bits erforderlichen Rechenzyklen der Zentraleinheit (CPU), die Kapazität zur Aufrechterhaltung der Systemfunktionalität bei Bus-Geräten im Ruhezustand und die Verarbeitung synchroner und asynchroner Ereignisse. Um den Stromverbrauch möglichst gering zu halten, ist eine selektive Energieverwaltung der einzelnen Systemkomponenten von entscheidender Bedeutung.
Systeme mit extrem niedrigen Stromverbrauch
Die MIPI Alliance hat ihre I3C-Schnittstellen-Spezifikation mit technischen Schlüsseleigenschaften ausgestattet, um den in globalen IoT-Märkten erforderlichen geringen Stromverbrauch zu gewährleisten. MIPI I3C ist eine skalierbare, intelligente Utility- und Control-Bus-Schnittstelle, die als flexible Multi-Drop-Schnittstelle zwischen Host-Prozessor, Mikrocontroller und Peripheriegeräten für fortschrittliche Architekturen in Embedded-Systemen dient. Während MIPI-Mitgliedern die Vollversion der I3C-Spezifikation zur Verfügung steht, ist die lizenzfreie, öffentlich verfügbare I3C-Basic-Version eine umfangreiche Teilversion von I3C, welche die von Systementwicklern und anderen Standardisierungsorganisationen am häufigsten benötigten Funktionen bündelt und bereitstellt.
I3C wurde als Nachfolger von I2C entwickelt und enthält wichtige Eigenschaften der I2C- und SPI-Schnittstellen (serielle Peripherieschnittstellen), mit denen eine leistungsstarke, sehr energieeffiziente Lösung mit Abwärtskompatibilität und einem robusten, flexiblen Upgrade-Pfad bereitgestellt wird. Beispielsweise reduziert I3C den erforderlichen Energieverbrauch für die Übertragung von 1 KB im Vergleich zu I2C um das Fünf- bis 18-fache. Darüber hinaus unterstützt es im einfachsten Betriebsmodus eine Datenrate von bis zu 11 Mbit/s und bietet Optionen für leistungsstärkere Modi mit hoher Datenrate, die im Single-Lane-Modus Geschwindigkeiten von über 30 Mbit/s ermöglichen, ohne Abstriche beim niedrigen Stromverbrauch zu machen.
Eine Vielzahl von technischen Merkmalen der I3C-Spezifikation sorgen für eine höhere Energieeffizienz in einem IoT-System. In den folgenden sechs Bereichen können entscheidende Effizienzgewinne erzielt werden:
Elektrische Parameter: Der wichtigste Faktor für die differenzierte Energiebilanz von I3C sind die elektrischen Eigenschaften des Bus selbst. Der Niederspannungs- und Push-Pull-Betrieb verbessert die Energieeffizienz in Bereichen wie dem Laden und Entladen der Buskapazität, der Busleistung pro Arbeitsgeschwindigkeitsmodus und den Auswirkungen der Übertragungszeit auf die verbrauchten CPU-Zyklen sowie die Aktivitäten der Peripheriegeräte. I3C wurde im Hinblick auf höchste Effizienz entwickelt. Transaktionen können schneller ausgeführt werden und verbrauchen weniger Strom.
Optimierung durch Bus-Segmentierung: Auf dem Markt gibt es eine beträchtliche Anzahl von alten I2C-Komponenten. I3C kann zur Optimierung eines Busses eingesetzt werden, auf dem sowohl I3C- als auch I2C-Komponenten vorhanden sind. Hochaktive Komponenten auf einem reinen I3C-Bus können isoliert werden, während die Anbindung von I2C-Komponenten auf einem separaten, weniger leistungsfähigen Bus über ein Routing-Gerät, das als Datenleitung fungiert, aufrechterhalten wird. Diese Koexistenz führt zu einer höheren Gesamtenergieeffizienz eines IoT-Systems als bei einem einzelnen gemischten I2C/I3C-Bus.
Energiesparen in inaktiven Phasen des Bus-Betriebs: Einige IoT-Anwendungen sind in der Regel nur für kurze Zeiträume aktiv und für lange Zeiträume inaktiv. Ein industrieller Überwachungssensor, der kritische Parameter kontrolliert, kann beispielsweise kontinuierlich regelmäßige Messwerte erfassen und nur einige wenige Bytes an zusammenfassenden Daten melden. Zwischen diesen Datenmessungen ist der Sensor praktisch inaktiv. I3C verfügt über insgesamt vier „Common Command Codes“ (CCCs), die bei dieser Art von Systemen zu spürbaren Energieeinsparungen beitragen, und zwar durch einen diskontinuierlichen Betrieb, bei dem die CPU und ein Teil der Peripheriegeräte während der Leerlaufzeiten in einen besonders stromsparenden Ruhemodus (Stop Mode) versetzt werden.
Effiziente Datenerfassung mit In-Band-Interrupts (IBI): Ein weiterer wichtiger Leistungsfaktor bei IoT-Geräten ist die Abfrage und Erfassung von Sensorendaten. I2C erfüllt diese Aufgabe durch Polling, das heißt durch ständiges Überprüfen und erneutes Überprüfen der Sensormesswerte, wobei jeder Zyklus zwischen Sensor und Anwendungsprozessor Energie benötigt. I3C ist hingegen so konzipiert, dass sich das System durch In-Band-Interrupts nur im Falle eines Ereignisses, das Aufmerksamkeit erfordert, aufwecken lässt.
Energiemanagement mittels Hot-Join: Die Hot-Join-Funktion bei I3C kann bei der Orchestrierung des selektiven Ein- und Ausschaltens verschiedener Teile eines IoT-Systems sehr hilfreich sein. Zielgeräte (Targets) können nach einer anfänglichen Adresszuweisungssequenz dem I3C-Bus beitreten, schnell voll funktionsfähig werden und unmittelbar danach wieder in einen inaktiven Zustand versetzt werden. Dies ist auch für ein Gerät nützlich, das zu einem späteren Zeitpunkt physisch in ein System eingefügt wird, oder für ein Gerät, das auf einer Platine montiert ist und dynamisch ein- und ausgeschaltet wird.
Effiziente Datenübertragung mit Device-to-Device Tunneling (D2DT): Die I3C D2DT-Funktion ermöglicht den direkten Datenaustausch zwischen zwei Zielgeräten, ohne dass eines der beiden Geräte die Rolle eines Controllers übernimmt und als solches Strom verbraucht. Die Zielgeräte werden während einer Einrichtungsphase identifiziert, und dann erfolgt der Datenaustausch über die Ausgabe eines CCC, der die erforderlichen Informationen enthält. (Diese Funktion ist in der Vollversion für Mipi-Mitglieder enthalten.)
Fazit
Die Vorteile, die durch die Kombination der Verbesserungen bei Effizienz und Leistung entstehen, ermutigt immer mehr Anbieter, Produkte auf der Basis von Mipi I3C und I3C Basic in verschiedenen Konfigurationen und Optionen auf den Markt zu bringen. Zugleich stellt die Mipi Alliance kontinuierlich unterstützende Tools für I3C-Entwickler zur Verfügung, wie zum Beispiel ein Transfer Command Response Interface (TCRISM), eine Host-Controller-Schnittstelle (Mipi I3C HCI) und einen Linux HCI-Kernel-Treiber. Mit diesen umfangreichen Hilfsmitteln lassen sich auch komplexe Designs unkompliziert in die Realität umsetzen und somit Kosten sparen.