AMA Innovationspreis 2019 Vier in der Endausscheidung

Rechenkern für maschinelles Lernen

Inertialsensoren in MEMS-Technologie, die Beschleunigungen und Drehungen in drei Koordinatenrichtungen aufnehmen, haben bereits große Verbreitung gefunden. Häufig sitzen sie in batteriebetriebenen Geräten – Smartphones, Wearables usw., wo sie beispielsweise Körperbewegungen überwachen und die Messdaten dann irgendwohin funken.

Die dabei aufgenommenen Rohdaten können schnell zu erheblichen Mengen anwachsen. Sie direkt zu versenden, würde viel Energie benötigen, weil die Sendestufe im Gerät der größte Stromverbraucher ist. Die Batterie wäre schnell leer. Eine vorherige Auswertung und Aufkonzentration könnte hier einiges einsparen, würde aber viel Rechenleistung im Prozessor erfordern, was auch wieder allerhand Energie benötigen würde. So wäre nicht viel gewonnen.

Bei STMicroelectronics hat man deshalb in dem Baustein LSM6DSOX eine grundsätzlich andere Herangehensweise entwickelt. Ein normaler Mikroprozessor zeigt sich für die hier auszuführenden Spezialberechnungen als nicht optimal geeignet. Sehr viel effizienter arbeiten sogenannte Finite State Machines (FSM), von denen hier bis zu 16 mit auf demselben Chip integriert sind, alle unabhängig voneinander programmierbar, vorgesehen für deduktive Algorithmen. Noch dazu ist ein Machine Learning Core (MLC) integriert, optimiert für induktive Algorithmen. Beide lassen sich auch miteinander koppeln. Bild 5 zeigt den Blockaufbau des Bausteins.

Diese Elemente kommen mit sehr viel weniger Betriebsstrom aus. Ein grobe Abschätzung: Bei einer Datenerfassungsrate des Inertialsensors von 100 Hz nehmen die 16 FSMs und der MLC alle zusammen nur etwa 10 bis 15 µA auf. Ein normaler Prozessor mit ARM M4-Kern und 100 MHz Takt würde für die gleichen Aufgaben etwa 20 mA benötigen, mehr als das Tausendfache.

Die besagten Berechnungen sind vor allem Mustererkennungs-Algorithmen. Welche körperlichen Aktivitäten betreibt der Benutzer: Ruhen, Gehen, Laufen, Fahrrad fahren, Reiten, Gewichtheben usw. Der Sensorbaustein vergleicht die registrierten Bewegungsabläufe mit vorher eingespeicherten charakteristischen Mustern und erkennt dann, was der Träger des Geräts gerade tut. Daraufhin kann er dann – auf Basis vorher eingegebener Schwellwerte - entscheiden, ob er die ermittelten Daten überhaupt aussenden soll oder nicht. Beispielsweise könnte er zwischen normalem Sport und einem Sturz unterscheiden.

Nicht nur Leistungssportler werden zu den Anwendern gehören. Auch in der Industrie eröffnen sich zahllose Einsatzmöglichkeiten. Beispielsweise an einem Bestückungsroboter, bei dem die Zahl der Bewegungen oder der verarbeiteten Teile ermittelt werden kann, als Information über den Verschleiß und für vorausschauende Wartung.

Indem der stromhungrige Mikroprozessor jetzt wesentlich weniger zu tun hat, kann er die meiste Zeit im Schlafzustand verbleiben und wird erst aufgeweckt, wenn besondere Aufgaben auszuführen sind, die die Fähigkeiten von FSM und MLC übersteigen. So lässt sich sehr viel Strom einsparen. Der Akku bzw. das ganze Gerät kann kleiner werden, oder aber die Betriebsdauer pro Ladung wird länger. Sonstige Merkmale: An den Baustein lassen sich bis zu vier externe Sensoren für andere Größen anschließen. Die Datenübertragung läuft über eine I³C- Schnittstelle. Die Baugröße ist 3 x 2,5 x 0,8 mm³ (Bild 6). Die Stromaufnahme liegt bei nur 0,55 mA.