Die FM3-Familie ist bereits mit über 463 Derivaten in Produktion.

Die FM3-Familie ist bereits mit über 463 Derivaten in Produktion.Fujitsu

Wer den Energieverbrauch von eingebetteten Systemen senken will, muss auch an die inaktiven System-Modi denken: In unzähligen Applikationen und Anwendungsbereichen finden Entwicklungsingenieure hier eine der lohnendsten Optimierungsmöglichkeit. Das gilt besonders für batteriebetriebene Systeme. Typische Energiesparanwendungen werden über die USB-Schnittstelle synchronisiert und aufgeladen. Für die Synchronisierung ist viel Rechenleistung nötig, für den Betrieb im Standalone-Modus ist jedoch das Energiemanagement signifikant. Performance und Energieverbrauch müssen deshalb dynamisch zur Laufzeit skalierbar sein, indem Software die Mikrocontroller-Taktung einstellt und selektiv Peripherien an- und abwählt.

Um den Energieverbrauch zu minimieren, muss der Entwickler das eingebettete System insgesamt betrachten, auch wenn die MCU einen entscheidenden Anteil daran hat. Kritische Elemente sind etwa niederohmige Schnittstellen vom Mikrocontroller zu anderen externen Peripherien, Pull-up-Widerstände und nicht abschaltbare externe Module. Nur durch intelligentes Energiemanagement lässt sich der beste Kompromiss zwischen niedrigem Energieverbrauch und hoher Leistung erzielen.

Energiemanagement nachrüsten

Ein Mikrocontroller kann vorhandene und neu zu entwickelnde Produkte um neue Funktionen und Eigenschaften bereichern – dazu zählt auch das Energiemanagement einer Anwendung. Idealerweise verfügt die MCU über intern schaltbare Pull-up-Widerstände, außerdem kann sie per schaltbarer Stromzufuhr zu externen Peripherien und Modulen im Energiesparmodus viele Stromfresser stilllegen.

Auf einen Blick

System-Sicht: Um ein energieeffizientes Embedded-System zu erhalten, genügt es nicht, einen stromsparenden Mikrocontroller einzusetzen. Es kommt auf die komplette Architektur an, vom Taktgeber bis zum Speicher.

Das Systemdesign muss auf sparsamen Energieverbrauch – im dynamischen Betrieb und in Energiesparmodi – ausgerichtet sein, aber auch schnelles Aufwachen aus dem Energiesparmodus bei kurzen Aufwachzeiten ist wichtig. Auf die Aufwachzeiten hat der Entwickler meistens keinen Einfluss und ist daher auf die Angaben des Mikrocontroller-Herstellers angewiesen. Je länger die Aufwachzeit, desto höher wird meistens auch der Energieverbrauch, wenn der auszuführende Code im aktiven Modus nur sehr kurz gehalten wird. Überwiegt der aktive Modus, sind Aufwachzeiten eher zu vernachlässigen. Um die Zeit zu verringern, die die MCU im aktiven Modus verbringt, bietet Fujitsu eine EEPROM-Emulation an, die im Flash läuft und so schnellere Zugriffszeiten bei höherer Lebensdauer als ein herkömmliches EEPROM bietet.

Langzeit-Optimierung

Bild 1: Intelligentes Energiemanagement über einen längeren Zeitraum führt trotz Lastspitzen zu einem niedrigen Durchschnittsverbrauch im aktiven Modus.

Bild 1: Intelligentes Energiemanagement über einen längeren Zeitraum führt trotz Lastspitzen zu einem niedrigen Durchschnittsverbrauch im aktiven Modus.Fujitsu

Geringer Energieverbrauch ist also nicht allein durch den Einsatz des stromsparendsten Mikrocontrollers zu erreichen. Entscheidend sind vielmehr die Betriebsbedingungen über alle Anwendungsfälle einer Applikation und über einen längeren Zeitraum (Bild 1). So kann eine Applikation zu vielen Zeitabschnitten wenig Energie verbrauchen, hat aber auch gelegentliche Leistungsspitzen, die auf lange Zeit gemittelt nicht den durchschnittlichen Energieverbrauch beeinflussen. Kritisch werden Leistungsspitzen aber, wenn sie eine schwache Batterie in die Knie zwingen können. Hierfür ist eine Low-Voltage-Detection-Unit sinnvoll, die vor der Ausführung eines Resets niedrige Spannung erkennt und gewisse höher performante Operationen an kritischen Stellen nicht mehr ausführt. So bleiben auch ohne Reset elementare Funktionen wie LCD und Echtzeituhr bei wenig zur Verfügung stehender Energie erhalten.

Intelligente Peripherie hilft, die Performance-Anforderungen des Systems zu reduzieren und sorgt für diverse Operationen ohne Eingreifen der CPU. Fujitsu bietet eine Application Note zu dem Thema „Design of Low Power Systems“. Diese beschreibt diverse Modi und bietet etliche Code-Beispiele. Um Low-Power-Szenarien zu testen, bietet Fujitsu das Evaluation-Board SK-FM3-100PMC-MB9AFB44N, das zum Beispiel ein LCD besitzt und externe Peripherien mit abschalten kann.

Maßgeschneiderte Lösung

Mit den Mikrocontroller-Familien 8FX und FM0+, FM3 und FM4 (8 Bit, ARM-Cortex-M0+, -M3 und -M4) bietet Fujitsu maßgeschneiderte Lösungen für die verschiedensten Anwendungsbereiche. Die skalierbare Produktpalette wird momentan von der FM3-Familie gekrönt, basierend auf der ARM-Cortex-M3-Architektur für Hochleistungsanwendungen. Für höhere Performance-Anforderungen kommt künftig die FM4-Serie hinzu mit ARM Cortex-M4-Core mit Floating-Point-Unit, DSP und weiteren Performance-Steigerungen und größeren RAM- und Flash-Speichergrößen. Die FM3-Familie erzielt eine hohe Leistung pro MHz Chiptaktung – die CPU kann mit bis zu 144 MHz getaktet werden. FM3 stellt zahlreiche serielle Kommunikationsschnittstellen wie CAN, USB und Ethernet sowie die frei konfigurierbaren USART-, I2C- und SPI-Schnittstellen bereit. Der Codespeicher ist in Hochgeschwindigkeits-Flash-Technologie mit langer Lebensdauer implementiert.

In der Produktpalette lassen sich bezüglich der Betriebsspannung drei Gruppen unterscheiden: Die High-Performance-Group und die Basic-Group arbeiten mit Betriebsspannungen zwischen 2,7 und 5,5 V. In der Low-Power-Group für energiesparende Produkte liegt die Betriebsspannung zwischen 1,65 und 3,6 V. Die stromsparendste Kategorie ist die Ultra-Low-Leak-Group mit besonders niedriger Leistungsaufnahme. Obwohl primär auf Energieeffizienz ausgerichtet, verfügen diese Mikrocontroller über einen großen Betriebsspannungsbereich von 1,8 bis 5,5 V.

Optimierte Peripherie

Besonderes Merkmal der Fujitsu FM3-Serie für energiesparende Anwendungen sind die optimierten Peripheriefunktionen. Sie umfassen eine Echtzeituhr, einen LCD-Controller, eine Low-Voltage-Detection-Unit (LVD) zur Erkennung von Unterspannung und eine schnelle EEPROM-Emulation, die den Flash-Speicher nutzt. Der bis zu 1 MByte große Flash-Speicher des Bausteins arbeitet bis 72 MHz ohne Waitcycles. Ein integrierter, 16 kByte großer Tracebuffer unterstützt den Zugriff ohne Waitcycles.

Die Programmierung des Flash-Speichers ist eine effiziente und sichere Angelegenheit. Der vom Ingenieur gesteuerte Anschluss für die Programmierung erfolgt über einen seriellen Port, JTAG, USB oder über eine kundenspezifische Implementierung. Auch ohne Bootloader lässt sich der Mikrocontroller mithilfe des Burn-in-ROM-Codes via UART oder USB programmieren.

Für extrem kostensensitive Applikationen bietet Fujitsu mit den 8-Bit-Mikrocontrollern der 8FX-Familie Bausteine an, die neben energiesparenden Eigenschaften auch Analog-Hardware wie On-Chip-Operationsverstärker und Komparatoren enthalten.

Bild 2: Mögliche Taktquellen für das optimale Verhältnis aus Performance und Energieverbrauch.

Bild 2: Mögliche Taktquellen für das optimale Verhältnis aus Performance und Energieverbrauch.Fujitsu

Passender Takt

In den Mikrocontrollern der FM0-, FM3-, FM4- und 8FX-Serien hat Fujitsu skalierbare dynamische Clock-Muliplexer implementiert. Alle Mikrocontroller-Serien können mit fünf verschiedenen Taktquellen betrieben werden (Bild 2): Zwei externe Quarzoszillatoren (Sub-Clock Crystal und Main-Clock Crystal) sowie drei On-Chip-Taktgeber (Sub-RC-Oszillator, Main-RC-Oszillator und PLL). Auf diese Weise realisiert der Mikrocontroller das optimale Verhältnis aus Performance und Energieverbrauch für die unterschiedlichsten Anwendungsbereiche. Der Entwickler kann die Verhältnisse sogar zur Laufzeit zu ändern.

Bild 3: Stromaufnahme in verschiedenen Energiesparmodi.

Bild 3: Stromaufnahme in verschiedenen Energiesparmodi.Fujitsu

Neben der äußerst flexiblen skalierbare Taktauswahl bieten insbesondere die FM3-Derrivate der Low-Power-Gruppe zusätzlich mehrere Energiesparmodi. Verschiedene Sleep-Modi, spezielle RTC- und Stop-Modi sorgen für geringe Stromaufnahmen zwischen 2 µA und weniger als 1 µA. In diesen Modi können zudem Peripheriefunktionen und RAM deaktiviert werden, um die Stromaufnahme zu minimieren.