Anbieter zum Thema
Immer bereit: Kontexterkennung im Smartphone
Mit einem Akzelerometer in Verbindung mit einem Steuer-FPGA mit extrem geringer Stromaufnahme könnte man eine neue Klasse kontextabhängiger Funktionen realisieren. Kontextsensibilität bedeutet, dass ein Gerät seine Umgebung erfasst und entsprechend reagiert. Könnte ein Smartphone beispielsweise erkennen, dass es auf einem Tisch abgelegt wurde, könnte es aufhören, ständig den GPS-Sensor abzufragen, und auf diese Weise Strom sparen. Es gäbe eine ganze Menge Anwendungen für kontextsensible Geräte, bisher stand aber der Stromverbrauch entsprechender Funktionen ihrem Einsatz entgegen. Soll ein mobiles Gerät auf seine aktuelle Umgebung reagieren können, muss die Kontexterkennung ständig aktiv sein. Wird eine Änderung der Umgebung erkannt, kann diese dann in eine vordefinierte Klasse eingestuft werden, etwa "in der Hand", "auf dem Tisch", "im Auto" und so weiter.
Abb. 2 zeigt, wie man mit einem ständig eingeschalteten FPGA mit extrem geringer Stromaufnahme in einem mobilen Gerät eine Kontexterkennung umsetzen kann. Im gezeigten Fall sind das Akzelerometer und das FPGA ständig aktiv. Hostseitig ist das FPGA per SPI entweder mit dem Anwendungsprozessor (AP) oder mit einem Mikroprozessor verbunden, der das Sensormanagement übernimmt.
Mit dem Akzelerometer ist das FPGA über einen I2C-Bus verbunden, über den es ständig dessen Ausgangsdaten liest. Das FPGA puffert die Daten und schickt sie weiter in einen Detektor, der die Änderung des Kontexts erkennt. Das FPGA enthält die notwendige Intelligenz zur Erkennung der Kontextänderung und dazu eine Interruptlogik, die den Host weckt, wenn eine Kontextänderung erkannt worden ist. Der Host kann dann die gepufferten Akzelerometerdaten lesen und auf die Kontextänderung wie oben skizziert reagieren. Schließlich wird der geänderte Gerätekontext zu der gewünschten Anwendung durchgereicht.
Der Schrittzähler ist immer aktiv
Bei Fitnessjüngern sind Schrittzähler sehr beliebt. Seit jeder ständig sein Smartphone in der Tasche hat, liegt es nahe, den Schrittzähler ins Smartphone einzubauen. Heutige Schrittzähler-Apps auf Smartphones brauchen aber zu viel Strom, so dass man sie nicht ständig laufen lassen kann. Dieses Problem lässt sich mit einem FPGA mit extrem niedriger Stromaufnahme lösen, mit dem man den kompletten Schrittzähler mit nur einem Chip realisieren kann.
Abb. 3 zeigt, wie man mit einem FPGA mit extrem niedriger Stromaufnahme einen Schrittzähler aufbauen kann. Das FPGA und das Akzelerometer sind hier ständig eingeschaltet, die gesamte Logik des Schrittzählers ist im FPGA eingebaut. Das Ausgangssignal des Akzelerometers enthält recht viele Störungen, daher wird es zunächst gefiltert und dann auf einen Zähler geleitet. RAM innerhalb des FPGAs speichert den Zählerstand. Der Host kann das FPGA bei Bedarf abfragen und die Zahl der Schritte auslesen. Weitere Parameter wie etwa Kalorienverbrauch, zurückgelegte Strecke usw. können dann auf Grundlage der Schrittzahl innerhalb der Anwendung errechnet werden. Der Vorteil dieses Ansatzes liegt darin, dass Akzelerometer und FPGA unabhängig vom restlichen System arbeiten und man so zu einem Schrittzähler kommt, der nur sehr wenig Strom verbraucht.
Fazit
Extrem niedriger Stromverbrauch ist in vielen Marktsegmenten eine fundamentale Voraussetzung für das Sensormanagement. Mit ständig aktiven Sensoren wird man in den nächsten Jahren eine ganze Reihe von innovativen Anwendungen realisieren. Andere Bereiche wie etwa das Internet der Dinge und Funksensornetze arbeiten intensiv mit Sensoren und Aktoren und stellen mit ihnen attraktive Anwen¬dungen bereit. Die Low-Power-FPGAs von Lattice liefern Systemdesignern die Flexibilität, vollständig kundenspezifische Sensormanagementlösungen mit extrem niedriger Stromaufnahme aufzubauen, mit denen man völlig neue Anwendungen realisieren kann.
Starterkits
Mal schnell eine Idee umsetzen...
ArchiTech-Reihe von SILICA
So kommen Open Source und Embedded-Systeme zusammen
* Subra Chandramouli ist Director Consumer Segment Marketingbei Lattice Semiconductor
(ID:42937010)