Einige batteriebetriebene Geräte benötigen mehr Optionen, als lediglich den Prozessor in Betriebsarten mit geringer Leistungsaufnahme zu betreiben. Viele Bluetooth-Geräte weisen längere Zeiträume mit geringer oder keiner Aktivität auf. Jedoch erfordern sie eine Reaktionsfähigkeit mit geringer Latenz, wenn die Aktivität wieder einsetzt. Selbst bei geringen Anforderungen an die Latenz bedeutet eine lange Aufwachzeit eine hohe Leistung. So führt der Prozessor keine nützliche Arbeit aus, während der Aufwachprozess andauert und er in den aktiven Modus übergeht und umgekehrt.
Weil die Zeit zwischen den aktiven Perioden schrumpft, kann ein Energiesparmodus sogar kontraproduktiv sein. Es kann sein, dass die Eintrittszeit des Aufwach- oder Aktivmodus mehr Energie benötigt als ein Verbleib in einem Modus mit hoher Leistung bei einer inaktiven Periode. Demnach können Entwickler den Prozessor in einem Modus mit hohem Verbrauch halten, obwohl die Verarbeitung es nicht erfordert.
Verwenden Entwickler einen Prozessor mit kurzen Aufwach- und Eintrittszeiten, können sie die Energiespar-Modi des Prozessors besser ausnutzen. In EM1 wacht das EFR32BG22 in drei Takten (1,24 µs) auf und hat eine Eintrittszeit von 1,29 µs, die sich in EM4 auf 8,81 ms beziehungsweise 9,96 µs erhöht (Tabelle).
Die Methode, mit der der Prozessor aufwacht, kann sich ebenfalls erheblich auf die Akkulaufzeit auswirken: Sie kann mit Polling oder ereignisbasiert erfolgen. Ein Verwenden von Polling beispielsweise für ereignisbasierte Anwendungen kann sich ungünstig auf die Batterielebensdauer auswirken, wenn der Prozessor wiederholt unnötig aufwacht.
Viele Designs auf Basis von Sensoren nutzen die Wake-on-Interrupt-Funktion, um ein wiederholtes Aufwecken des Prozessors zu vermeiden. Eine Wake-on-Radio-Frequency- (RF) Funktion – die in das Funk-Subsystem des EFG32BG22-SoCs integriert ist – ermöglicht einen ähnlichen Interrupt-gesteuerten Ansatz. Sie stellt es Entwicklern frei, den Prozessor in einem Modus mit geringerer Leistung zu halten, bis eine Hochfrequenzaktivität auftritt.
In der Praxis versetzen Entwickler den Funk-SoC in einen der drei Modi EM2, EM3 oder EM4. Sie verlassen sich auf die Wake-on-RF-Fähigkeit, um den SoC mit HF-Energie aufzuwecken: Beim Erkennen von Energie oberhalb des Schwellenwerts benötigt die »RFSENSE«-Funktion 131 nA. Hingegen benötigt ein »selektiverer« RFSENSE-Modus mit 138 nA etwas mehr Strom. Dann filtert RFSENSE eingehende HF-Signale, um zu vermeiden, dass ein HF-Rauschen statt ein gültiges Signal den Prozessor aufweckt.
In einigen Fällen muss das SoC den Prozessorkern gar nicht aufwecken, um auf externe Ereignisse zu reagieren: Das Peripheral-Reflex-System (PRS) des Herstellers ermöglicht es Peripheriekomponenten, auf Ereignisse zu reagieren und zu arbeiten, ohne den Prozessorkern aufzuwecken. Mit PRS-Funktionen können Entwickler die Leistungsaufnahme reduzieren, ohne kritische Funktionen wie das Erfassen von Sensordaten zu beeinträchtigen.
Neben den Funktionen zum Energiemanagement des SoC helfen weitere Funktionen dabei, das Entwickeln zu beschleunigen. Zum Beispiel ermöglicht der integrierte Debugger J-Link von Segger über den USB-Micro-B-Anschluss des Boards den Code-Download und das Debuggen. Ein virtueller COM-Port gewährt zudem den Zugriff auf die Host-Konsole. Weiterhin unterstützt der Debugger die Packet-Trace-Interface- (PTI) Funktion von Silicon Labs. Sie dient dem Analysieren von Paketen, die Anwender über ein drahtloses Netzwerk senden oder empfangen.
Will man Rapid Prototyping betreiben, bieten sich mit dem Board neue Design-Ideen, die unterschiedliche Sensoren, Aktoren, Konnektivitätsoptionen sowie andere Peripherie benötigen. Zudem steht eine große Auswahl an »mikroBus«-Karten des Elektronik-Spezialisten MikroElektronika sowie »Qwiic«-Erweiterungs-Boards verschiedener Hersteller bereit.
In den mikroBus-Sockel des Boards eingesteckt, verbindet sich ein solches Board über eine I2C-, SPI- oder UART-Schnittstelle mit dem Modul. Mit dem Qwiic-Steckverbinder sind über die I2C-Schnittstelle des Systems eine oder mehrere Qwiic-Platinen über Entfernungen von bis zu 1,2 m adaptierbar. Für große Reichweiten können Entwickler das Qwiic Bus EndPoint Board (COM-16988) des Herstellers SparkFun verwenden. Es nutzt eine differenzielle Signalgebung, um die I2C-Signalintegrität für Reichweiten bis zu 30 m zu gewährleisten.
Silicon Labs bietet für das Entwickeln von Anwendungssoftware neben Board-Support-Paketen, Treibern, Bibliotheken und Headern mehrere Beispielanwendungen, die in der Entwicklerumgebung »Simplicity Studio« gebündelt sind. Außerdem zusätzliche Projekte, die in den GitHub Repositories des Herstellers verfügbar sind. Beispielsweise können Entwickler mit einer mitgelieferten Temperaturanwendung beginnen, die den internen Temperatursensor des SoC als Datenquelle nutzt.
Als weiteres Beispiel können Entwickler eine HR/SpO2-Anwendung aufbauen: mit dem Explorerkit-Board »BGM220-EK4314A« und dem Software-Ökosystem von Silicon Labs.
Mit dem erweiterbaren Hardware- und Software-Ansatz ist es möglich, schnell und einfach funktionierende IoT-Applikationen zu erstellen. Da sowohl Hardware als auch Software einfach hinzuzufügen oder zu entfernen sind, können Entwickler leichter neue Designs erforschen und alternative Konfigurationen bewerten.