Entwicklung von energieeffizienten immer aktiven Wearables: Teil 1 – Optimierung des Mikrocontrollers
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2019-09-12
Anmerkung des Herausgebers: Dies ist der erste Teil einer dreiteiligen Serie über die Entwicklung von batteriebetriebener Elektronik für immer aktive tragbare Geräte. Die Serie befasst sich mit den drei Bereichen, in denen eine Optimierung des Stromverbrauchs möglich ist. Dieser 1. Teil beschreibt, wie sich der Mikrocontroller konfigurieren lässt, um die Batterielebensdauer zu verlängern und die Anzahl der Aufladevorgänge zu minimieren. Der 2. Teil beschäftigt sich damit, wie die Batterie gut gepflegt werden kann, um die Zeit zwischen den Aufladevorgängen zu verlängern. Im 3. Teil geht es um die drahtlose Vernetzung von Wearables und wie eine ununterbrochene drahtlose Verbindung hergestellt werden kann, ohne die Batterie zu stark zu beanspruchen.
Batteriebetriebene Wearable-Geräte werden immer beliebter, so dass die Wearable-Hersteller derzeit an einer Erweiterung des Funktionsumfangs arbeiten, um wettbewerbsfähig zu bleiben. Das gilt besonders für Fitness-Uhren, die beim Verbraucher in ständiger Nutzung sind. Sie sind durchgängig eingeschaltet, und die Nutzer verlangen ständig neue Funktionen und eine bessere Leistung.
Allerdings wird es bei einem größeren Funktionsumfang meist nötig, einen stärkeren Mikrocontroller zu verwenden, der die Leistung der Uhr steuert und überwacht. Dies hat den Nachteil, dass sich die Batterielebensdauer verkürzt, da die Batterie häufiger aufgeladen werden muss – und das beeinträchtigt das Nutzererlebnis.
In diesem Artikel werden die einzigartigen Anforderungen an Mikrocontroller für immer aktive Wearables diskutiert. Es wird erklärt, wie sich ein Mikrocontroller für ein immer aktives Wearable konfigurieren lässt, insbesondere in Bezug auf Energiesparmodi und autonome Peripheriekomponenten. Dann werden ein 16-Bit-Mikrocontroller von Texas Instruments und ein 32-Bit-Mikrocontroller von Maxim Integrated näher betrachtet, und es wird gezeigt, wie sich ihre Hauptmerkmale sinnvoll für die Wearable-Entwicklung nutzen lassen.
Einzigartige Anforderungen an Mikrocontroller in immer aktiven Wearables
Bei Wearables ist eine lange Batteriehaltbarkeit bis zur nächsten Aufladung möglicherweise das wichtigste Merkmal für den Endnutzer. Auch wenn in Online-Bewertungen die Genauigkeit und Leistungsmerkmale eines Wearable-Produkts angepriesen werden, kann die Batteriehaltbarkeit bis zum nächsten Ladevorgang den Unterschied zwischen einer enttäuschenden 1-Stern-Bewertung und einer erfreulichen 5-Sterne-Bewertung ausmachen.
Eine geringe Batteriehaltbarkeit hat neben dem häufigen Aufladen noch weitere Auswirkungen. Bei wiederaufladbaren Lithiumbatterien verringert sich durch häufiges Aufladen die Gesamtkapazität, so dass es schwieriger ist, langfristig für einen guten Batteriezustand zu sorgen. Die Batterien für Wearables werden im 2. Teil dieser Serie besprochen.
Hinzu kommt, dass der Steckverbinder für den Ladevorgang zwar meist robust ist, jedoch nur eine begrenzte Anzahl an Ein- und Aussteckvorgängen aushält, so dass jeder Ladevorgang zum Verschleiß beiträgt.
Wearable-Elektronik hat einen anderen Stromversorgungsbedarf als andere Verbrauchergeräte, da Wearables im Dauerbetrieb laufen, das heißt, der Mikrocontroller muss durchgängig im Betriebszustand sein. Normalerweise gibt es eine Bluetooth-Verbindung mit geringem Stromverbrauch (BLE), die dauerhaft betriebsbereit und verfügbar sein muss, um Datenverkehr mit dem dazugehörigen Mobilgerät zu ermöglichen. Hinweis: Die drahtlose Vernetzung von Wearables wird im 3. Teil dieser Serie besprochen.
Das Wearable kann also seine Daten mit dem Mobilgerät synchronisieren, wenn eine Verbindung besteht, doch es muss auch stunden- oder tagelang, je nach vorgesehener Nutzung, im Stand-alone-Betrieb ohne Verbindung zum Mobilgerät funktionieren können.
Der Hauptzweck eines Wearables, wie beispielsweise einer Smart Watch, besteht darin, neben dem Anzeigen der Uhrzeit durchgängig den Dateneingang von externen Sensoren, die über serielle Ports wie I2C und SPI angeschlossen sind, zu überwachen und aufzuzeichnen. Dabei kann es sich um spezielle Beschleunigungsmesser für einen Schrittzähler, einen GPS-Empfänger zur Positionsverfolgung und Navigation oder einen Herzfrequenzmesser handeln. Obwohl alle diese Sensoren vom Nutzer einzeln an- und abgeschaltet werden können, sollte ein guter Ingenieur das System für den schlimmsten Fall auslegen, nämlich für den Fall, dass alle Sensoren in Betrieb sind.
Die von diesen Sensoren gesammelten Daten müssen laufend aufgezeichnet werden. In vielen Geräten, die zum Internet der Dinge (IoT) gehören, oder mobilen Endgeräten werden die erfassten Sensordaten häufig auf nicht flüchtigen Speichern wie Flash oder EEPROM gespeichert. Allerdings wird für einen Schreibvorgang auf Flash oder EEPROM eine größere Menge Strom benötigt, wodurch die kleine Batterie in einem Wearable schnell erschöpft sein kann. Eine bessere Lösung ist, die Sensordaten in SRAM zu speichern.
Auf SRAM zu schreiben, erfordert weniger Strom, als auf einen nicht-flüchtigen Speicher zu schreiben. Da der Mikrocontroller im Dauerbetrieb ist, bleiben die Sensordaten in SRAM erhalten und sind dort sicher gespeichert, sofern das Wearable nicht ausgeschaltet wird bzw. wenn der Nutzer die Batterie rechtzeitig wieder auflädt, bevor sie leer ist. Die gespeicherten Sensordaten werden drahtlos auf ein Mobilgerät übertragen und dort gespeichert, daher sind die Daten auch dann nicht verloren, wenn das Wearable ausgeschaltet wird.
Ein wichtiges Merkmal bei der Verringerung des Leistungsverbrauchs im Mikrocontroller sind autonome Peripheriekomponenten. Wie autonom diese genau sind, ist von der jeweiligen Mikrocontroller-Produktfamilie abhängig. Eine weitere häufig genutzte Möglichkeit zum Stromsparen ist, die Stromversorgung einer nicht genutzten Peripheriekomponente unabhängig vom Rest des Mikrocontrollers abzuschalten, indem in einem Power-Register ein Bit gesetzt oder gelöscht wird.
Energiesparmodi des Mikrocontrollers für ein Wearable
Wenn man sich die besonderen Anforderungen an einen Mikrocontroller in einem immer aktiven Wearable vor Augen geführt hat, muss man als Nächstes festlegen, was die Energiesparmodi bewirken sollen und welche überhaupt sinnvoll sind.
Natürlich hat ein Wearable den geringsten Stromverbrauch, wenn es ausgeschaltet ist. Bei den meisten Wearables muss zum An- und Ausschalten ein Software-gesteuerter Taster eine bestimmte Zeit lang gedrückt werden, um eine versehentliche Leistungssequenzierung zu verhindern. Dieses System ist einem mechanischen Schalter überlegen, der nicht nur weniger kostengünstig wäre, sondern auch versehentlich gedrückt werden könnte. Allerdings sollte der Ingenieur davon ausgehen, dass die Nutzer ihre Geräte selten ausschalten. Daher sollte das Wearable unter Berücksichtigung von zwei auf den ersten Blick widersprüchlichen Annahmen entwickelt werden: dass das Gerät nie ausgeschaltet wird – und dass es manchmal ausgeschaltet wird.
Normalerweise steuert ein Energiemanagement-Chip das Laden der Batterie und sequenziert die Leistung für den Mikrocontroller und die Sensoren. Das Energiemanagement wird auch im 2. Teil dieser Serie besprochen. Wenn ein Energiemanagement-Chip das Wearable ausschaltet, wird die Hauptstromversorgung des Mikrocontrollers deaktiviert, mit Ausnahme der separaten Versorgung der Echtzeituhr (RTC). Dafür ist ein Mikrocontroller erforderlich, der auch dann noch funktioniert, wenn die externe Stromversorgung von CPU, RAM und den meisten Peripheriekomponenten deaktiviert ist und nur die Echtzeituhr läuft.
Die RTC des Mikrocontrollers muss weiterlaufen, wenn das Wearable ausgeschaltet ist, um die korrekte Uhrzeit anzeigen zu können. Daher sollte der Mikrocontroller einen separaten, dauerhaft aktivierten Pin für die Stromversorgung der Echtzeituhr haben. Eine Echtzeituhr wird durch einen niederfrequenten Oszillator mit 32,768 kHz getaktet, dessen Stromverbrauch lediglich im Nanoamperebereich liegt. Eine Smart-Watch, die nach dem Ausschalten nicht mehr die richtige Uhrzeit anzeigt, wäre für den Nutzer kein sinnvolles Gerät, daher ist ein Energiesparmodus, bei dem die Echtzeituhr deaktiviert wird, bei einem Wearable nicht sinnvoll.
Die CPU kann zum Stromsparen deaktiviert werden, ebenso wie sämtliche ungenutzten Peripheriekomponenten. Die RAM-Inhalte dürfen nicht verloren gehen, sodass auch ein Energiesparmodus, bei dem das gesamte RAM-Array deaktiviert wird, bei einem Wearable nicht sinnvoll ist.
Konfiguration des Mikrocontrollers
Ein gutes Beispiel für einen Mikrocontroller, der für Wearables optimiert ist, ist der 16 Megahertz (MHz) schnelle Mikrocontroller MSP430FR2676TPTR von Texas Instruments mit FRAM (Ferroelectric Random Access Memory) (Abbildung 1). Dabei handelt es sich um einen der 16-Bit-MSP430™-CapTIvate™-Mikrocontroller MSP430FR2676 mit kapazitiver Berührungstechnologie von Texas Instruments. Er enthält eine sparsame Peripheriekomponente, die Berührungen auch durch dickes Glas wahrnimmt. Glasscheiben auf Wearables müssen dick und langlebig sein, um der Belastung durch regelmäßige Nutzung standzuhalten. Somit lässt sich die CapTIvate-Technologie bei einem Wearable mit Touchscreen sinnvoll einsetzen.
Abbildung 1: Der extrem energieeffiziente 16-Bit-FRAM-Mikrocontroller MSP430FR2676TPTR von Texas Instruments verfügt über zahlreiche verschiedene Peripheriekomponenten und kann ein einfaches Wearable mit minimalen externen Teilen steuern. (Bildquelle: Texas Instruments)
Der MSP430FR2676TPTR verfügt über 64 KB FRAM-Programmspeicher von Texas Instruments, wodurch er eine höhere Schreib/Lese-Leistung bei geringerem Stromverbrauch ermöglicht als ein Flash-Mikrocontroller. Er bietet 8 KB SRAM und eine ganze Reihe an Peripheriekomponenten, insbesondere I2C, SPI und einen UART für die Verbindung zu Sensoren. Ein 32x32-Hardware-Multiplizierer beschleunigt die Rechenleistung und senkt den Stromverbrauch.
Die Echtzeituhr auf dem MSP430FR2676TPTR lässt sich so konfigurieren, dass sie den Mikrocontroller in Intervallen zwischen Mikrosekunden und Stunden aufweckt. Das ist sinnvoll, um die CPU aufzuwecken, damit sie bestimmte Aufgaben erbringt, beispielsweise die regelmäßige Verarbeitung von Sensorendaten und die drahtlose Übermittlung an ein Mobilgerät.
Das Oszillator- und Taktgebersystem des MSP430FR2676TPTR ist darauf ausgelegt, die Systemkosten zu senken und für einen geringeren Stromverbrauch zu sorgen. Der Mikrocontroller unterstützt vier intern generierte Taktquellen und zwei externe Taktquellen mit hoher Genauigkeit. Die Oszillatoren und Taktgeber lassen sich über die Steuerung der Firmware aktivieren und deaktivieren, je nach ausgewähltem Niedrigleistungsmodus und der Firmware-Konfiguration. Für den Betrieb der Peripheriekomponenten hat der MSP430FR2676TPTR zwei Taktgeber: einen Hochgeschwindigkeits-Taktgeber für Subsysteme (SMCLK), der auf der Frequenz des Systemtakts laufen kann, und einen 40-kHz-Nebentaktgeber mit geringer Geschwindigkeit (ACLK).
Neben dem Aktivmodus, bei dem die CPU und alles andere aktiviert ist, unterstützt der MSP430FR2676TPTR verschiedene konfigurierbare, komplexe Energiesparmodi. Jede chipintegrierte Peripheriekomponente, die bei einem bestimmten Energiesparmodus des MSP430 aktiviert ist, lässt sich über die Firmware abschalten. Das ermöglicht individuelle Energiespar-Konfigurationen. Bei einem Wearable mit einem MSP430FR2676TPTR kommen die folgenden Energiesparmodi (LPMx) in Frage:
- LPM0 ermöglicht, dass alles angeschaltet ist außer der CPU. Das ist sinnvoll, wenn autonome Peripheriekomponenten aktiviert sein und bei voller Geschwindigkeit laufen müssen, ohne dass die CPU benötigt wird.
- LPM3 deaktiviert die CPU, den Hochgeschwindigkeits-Oszillator und den SMCLK. Sämtliche eingeschalteten Peripheriekomponenten können mit dem sparsamen 40-kHz-ACLK betrieben werden. Das ist sinnvoll, wenn das Wearable gerade nicht verwendet wird und keine Knöpfe gedrückt werden. Serielle Peripheriekomponenten wie I2C und SPI können autonom betrieben werden, um Sensordaten zu erfassen, während der direkte Speicherzugriff (DMA) die Daten auf RAM überträgt. Die Echtzeituhr kann das Gerät aufwecken, um bei Bedarf die anstehenden Aufgaben durchzuführen.
- LPM4 schaltet alles aus außer der Echtzeituhr. Der SRAM wird abgeschaltet. Das ist sinnvoll, wenn das Wearable vom Nutzer ausgeschaltet wird.
Der MSP430FR2676TPTR kann mit 1,8 bis 3,6 Volt laufen, so dass er sich mit 3,6-V-Lithiumbatterien betreiben lässt. Wenn nur die Echtzeituhr und eine minimale Anzahl an Peripheriekomponenten aktiv sind, benötigt der Mikrocontroller weniger als 5 Mikroampere (µA). Läuft der Haupt-Oszillator, verbraucht der MSP430FR2676TPTR (normalerweise) 135 µA/MHz.
Für ein Wearable mit einer höheren Leistung bietet Maxim Integrated den MAX32660GWE 32-Bit-Mikrocontroller an (Abbildung 2). Er basiert auf dem Cortex®-M4-Kern mit Gleitkommaeinheit (FPU) von Arm®. Der MAX32660 verfügt über 256 KB Flash und 96 KB SRAM. Das SRAM ist in vier Sektoren unterteilt. Jeder Sektor lässt sich zum Lesen/Schreiben aktivieren, in den Stromsparmodus versetzen, so dass das Lesen/Schreiben deaktiviert ist, aber die Inhalte erhalten bleiben, oder vollständig ausschalten, so dass in diesem Sektor keinerlei Strom verbraucht wird.
Abbildung 2: Der MAX32660 von Maxim Integrated ist speziell auf die Elektronik von immer aktiven Wearables ausgelegt. Zum Stromsparen verringert er die Anzahl der Peripheriekomponenten auf diejenigen, die bei einer Wearable-Anwendung als Schnittstelle zu externen Sensoren benötigt werden. (Bildquelle: Maxim Integrated)
Der MAX32660 kann mit bis zu 96 MHz betrieben werden und verbraucht bei Aktivierung aller Peripheriekomponenten lediglich 85 µA/MHz. Für minimalen Stromverbrauch und eine geringere Gehäusegröße verfügt er nur über eine minimale Anzahl an Peripheriekomponenten für Wearables, darunter zwei SPIs, zwei I2Cs und zwei UARTs.
Er unterstützt zwei interne Oszillatoren: einen internen Hochgeschwindigkeits-Oszillator mit 96 MHz, der sich über die Firmware abschalten lässt, und einen energieeffizienten Ringoszillator mit 8 KHz, der unabhängig vom Energiesparmodus immer in Betrieb ist. Ein 32,768-kHz-Oszillator nutzt einen externen Quarz und wird für die RTC verwendet. Jeder dieser drei Oszillatoren kann zur Taktung der CPU und der Peripheriekomponenten verwendet werden.
Jede Peripheriekomponente lässt sich über die Firmware ausschalten. Darüber hinaus kann die Firmware auch den Taktgeber für die betreffende Peripheriekomponente deaktivieren, so dass wertvolle Nanoampere eingespart werden.
Gemäß den Anforderungen an Wearables ist die Echtzeituhr in allen Energiesparmodi dauerhaft in Betrieb, sofern sie nicht im Aktivmodus ausdrücklich durch die Firmware deaktiviert wird. Die Echtzeituhr und der Taktgeber befinden sich in einem separaten Bereich, der als „Always-on-Domäne“ bezeichnet wird. Dieser Bereich ist vom Rest des Mikrocontrollers isoliert, um sicherzustellen, dass die Echtzeituhr von einer Fehlfunktion oder Manipulation der Firmware nicht beeinträchtigt wird.
Neben dem Aktivmodus unterstützt der MAX32660 drei Energiesparmodi, die speziell an Elektronik in Wearables angepasst sind:
- Im Ruhemodus ist die CPU ausgeschaltet, während aktivierte Peripheriekomponenten autonom betrieben werden können. Das kann sinnvoll sein, wenn das Wearable gerade nicht verwendet wird und die Sensorendaten per DMA aufgezeichnet und gespeichert werden. Jede aktive Peripheriekomponente kann die CPU aufwecken und in den Aktivmodus versetzen.
- Im Tiefschlafmodus werden alle internen Taktgeber der CPU und der Peripheriekomponenten deaktiviert, mit Ausnahme des 32,768-kHz-Taktgebers für die Echtzeituhr. Die Firmware kann den internen 96-MHz-Taktgeber so konfigurieren, dass er im Tiefschlafmodus automatisch ausgeschaltet wird. Sämtliche RAM-Inhalte bleiben erhalten, das gilt auch für das Daten-SRAM und alle peripheren Register. Das ist sinnvoll, wenn ein Wearable einen Soft-off-Modus benötigt, in dem das Wearable zum Stromsparen ausgeschaltet ist, beim Wiedereinschalten jedoch genau an der Stelle wieder einsetzen muss, an der es ausgeschaltet wurde.
- Der Backup-Modus ist der Modus mit dem geringsten Stromverbrauch. Die Taktgeber und Stromversorgung der CPU und sämtlicher Peripheriekomponenten sind deaktiviert, mit Ausnahme der Echtzeituhr. Standardmäßig ist die gesamte Stromversorgung des SRAM deaktiviert. Das ist sinnvoll, wenn das Wearable ohne SRAM-Speicherung vom Nutzer ausgeschaltet wird, um Strom zu sparen. Allerdings ist es bei diesem Modus optional möglich, einen der vier SRAM-Sektoren lediglich in den Ruhemodus zu versetzen, damit die Speicherinhalte nicht verloren gehen. Das ist sinnvoll, wenn ein Wearable einen Minimalstatus mit einem geringen zusätzlichen Stromverbrauch aufrechterhalten muss.
Der MAX32660 benötigt zwischen 1,71 und 3,63 Volt, sodass er mit 3,6-V-Lithiumbatterien betrieben werden kann. Außerdem verfügt der Mikrocontroller über ein eigenständiges Energiemanagement, wodurch eine geringere Pin-Anzahl möglich ist, da die externe Komponente wegfällt. Darüber unterstützt er eine Batterieanzeige, die die externe Batterie überwacht und eine exakte Angabe zum Ladezustand der Batterie ermöglicht, die auf der Benutzeroberfläche des Wearables dargestellt werden kann.
Fazit
Die Elektronik für immer aktive tragbare Geräte stellt die Ingenieure vor einzigartige Herausforderungen. Selbst wenn ein Wearable ausgeschaltet zu sein scheint, hat es noch einen gewissen Stromverbrauch. Allerdings können die Entwickler ihre Konzepte um Funktionalitäten und Merkmale ergänzen und die konfigurierbaren Energiesparmodi nutzen, um für eine lange Haltbarkeit und Lebensdauer der Batterie zu sorgen.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.




