Bild: iStock, mipan

Embedded-Systeme & Mikrocontroller Sparsamkeit macht die Musik

08.09.2015

Immer mehr smarte Produkte benötigen immer höhere Funktionalität bei niedriger Leistungsaufnahme – ein einfacher Blick auf die reinen Datenblattwerte gibt aber keine aussagekräftigen Benchmarks. Die Energieplanung muss auch Low-Power-Modi und den funktionsspezifischen Strom berücksichtigen. Kurz: Wir müssen wissen, wie viel Leistung die zugewiesenen Aufgaben insgesamt über die Zeit verbrauchen.

In einem Embedded-System, bei denen Stromsparen Trumpf ist, gilt es, optimale Energieeffizienz über die unterschiedlichsten Aufgaben hinweg zu gewährleisten. Diese Aufgaben kann man in drei Phasen unterteilen: Initialisierung, Ablaufsteuerung (inklusive Datenerfassung, Kommunikation und Administration) und Berechnungen. Die Gleichung zur Reduktion des Energieverbrauchs ist einfach: mit weniger Leistung mehr in kürzerer Zeit erledigen (Energie = Leistung x Zeit). Dabei müssen alle Phasen optimiert werden. Hier gibt es drei Schlüsselfaktoren. Erstens muss der Stromverbrauch im Aktiv- und Standbyzustand möglichst gering sein. Zweitens müssen Peripheriefunktionen intelligent gebaut werden, so dass sie Daten erfassen, verarbeiten und speichern können, ohne die CPU zu wecken. Drittens muss die Zeit für Berechnungen möglichst kurz gehalten werden, um rasch wieder in den Schlafmodus zu schalten.

L-Baureihe: Energieeffizient bei 32-Bit

Sie profitieren von jahrzehntelangem Know-how rund um Applikationen und Kundenlösungen, die durch Freescale Produkte besonders energieeffizient wurden. Das Kinetis MCU-Portfolio zeichnet sich durch hohen Leistungsdurchsatz, die Integration smarter (Peripherie)-Funktionen und Skalierbarkeit bei geringer Stromaufnahme aus. Gleich mehrere Kinetis MCU-Familien wie die Kinetis L-Baureihe sind hervorragende Beispiele für Freescale Energy-Efficient Solutions.

Im Vergleich mit Einstiegs-MCUs anderer Hersteller weisen die MCUs der Kinetis L-Baureihe deutliche Vorzüge bei Funktionsumfang und Energieeffizienz auf und ermöglichen eine signifikante Effizienzsteigerung während Initialisierung, Ablaufsteuerung und Berechnungen.

Effizienz: Energie= Leistung x Zeit

Die MCUs der Kinetis-L-Baureihe basieren auf dem energieeffizientesten ARM-Prozessor Cortex-M0+ und setzen bei 32-Bit-MCUs neue Maßstäbe in puncto Effizienz. Bei der Entwicklung der Kinetis L-Baureihe wurde ein scheinbar einfaches Konzept umgesetzt: Wie erfasst man Daten ohne Intervention der CPU, weckt die MCU, verarbeitet Funktionen so schnell und effizient wie möglich und fällt dann zurück in den Schlafmodus? Das Ergebnis ist eine signifikante Energieeinsparung. Erreicht wird dies durch die Kombination von Cortex-M0+, Ultra-Low-Power-Modi für die unterschiedlichsten Einsatzszenarien, architekturelle Energiespartechniken und viele autonome energieoptimierte Peripheriemodule.

10 flexible Stromsparmodi

Herkömmliche MCUs wurden bisher nur mit drei Power-Modi entwickelt: Run, Sleep und Deep Sleep. Aber diese Allerwelts-Philosophie eignet sich nicht besonders gut für Embedded-Produkte mit ihren unterschiedlichen Leistungsprofilen. Designteams haben Freescales jahrzehntelanges Know-how rund um MCUs genutzt und gründliche Analysen an vielen potenziellen Applikationen und Einsatzszenarien durchgeführt.

Das Ergebnis: die MCUs der Kinetis L-Baureihe bewirken deutliche Effizienzsteigerungen. Die 3 bisherigen Betriebsmodi wurden auf 10 erweitert, die zahlreiche Einsatzszenarien flexibel abdecken und so die Fläche unter der Energiekurve minimieren. Je tiefer man in die Sleep-Modi vordringt, desto mehr Logik, Speicher und Peripherie blendet die MCU aus und spart so Energie.

Effizienzs durch architekturelle Innovation

Die MCUs der Kinetis L-Baureihe verfügen dank der innovativen Architektur über eine erstklassige Energieeffizienz. Sie nutzt die vielen Stromsparfunktionen des ARM Cortex-M0+-Prozessors, die in anderen MCUs oft nicht optimal ausgeschöpft werden. Beispielsweise kann man mit einer BME (Bit Manipulation Engine) die Initialisierung einer Anwendung vereinfachen und mit bitorientierten Arithmetikfunktionen an den Peripheriemodulen Zykluszeit und Codegröße um 40 Prozent verbessern. Die BME codiert Funktionen wie OR, AND, XOR sowie das Einfügen und Extrahieren von Bitfeldern. Ein herkömmlicher 32-Bit-Prozessor benötigt zur Ausführung der äquivalenten Read-Modify-Write-Operation mehrere Befehle.

Eine weitere innovative Funktion ist die Low-Power Boot-Option – sie reduziert Leistungsspitzen während der Bootsequenz oder dem Wecken aus dem Deep Sleep-Modus. Besonders nützlich erweist sie sich in Systemen, bei denen der maximal erlaubte Strom durch die Art der Batterie begrenzt ist (zum Beispiel Lithium-Ionen-Batterien). Eine Reduzierung der Leckströme und damit des Stromverbrauchs lässt sich darüber hinaus mit leckstromarmen I/Os und Clock Gating erreichen.

Der innovativen und preisgekrönten Flashspeichertechnologie von Freescale ist die branchenweit stromsparendste Flashimplementierung zu verdanken. Im Gegensatz zur herkömmlichen Speicherung von Ladungen in einem durchgehenden Film werden diese hier in winzigen Silizuminseln gespeichert. Die Immunität des Flashspeichers gegen typische Ursachen von Datenverlust verbessert sich.

Kinetis Power-Smart und Peripheriemodule

MCUs der Kinetis L-Baureihe verfügen über Stromsparintelligenz in den Peripheriefunktionen. Diese können im Deep Sleep-Modus autonom mit einer alternativen Taktquelle arbeiten. Die Peripheriemodule der L-Baureihe sind Minikerne, die Aufgaben ohne Interaktion des Rechenkerns oder Hauptsystems abarbeiten und damit eine drastische Reduzierung des Stromverbrauchs und eine längere Batterielebensdauer ermöglichen. Die MCUs der Kinetis L-Baureihe beinhalten u.a. eine asynchrone DMA-Weckfunktion (ADMA), über die diverse Peripheriemodule auch im Stop- bzw. VLPS-Modus einen DMA-Transfer anfordern können. Das ADMA-Modul kann Datentransfers zwischen der Peripherie und dem Speicher vornehmen, ohne dass der Prozessor eingreifen oder in den Run-Modus schalten muss.

Peripheriemodule können so selbst im Deep Sleep-Zustand weiterarbeiten und Daten von/zu Arrays im SRAM übertragen, bis so viele Daten angefallen sind, dass der Prozessor eingreifen muss. Konkurrenzprodukte müssen geweckt und in den Run-Modus geschaltet werden, um ein Peripheriemodul zu aktivieren und Daten zu erfassen, um dann wieder in den Deep Sleep-Modus zu fallen.

Bei den Kinetis L-MCUs beginnt die Datenakquisitionsphase im Deep Sleep-Modus. Sie zeigt drei periodische Ereignisse, die von einem Low Power-Timer getriggert werden. Der Timer löst A/D-Wandlungen aus, deren Ergebnisse über die Compare-Funktion des A/D-Wandlers mit einem vordefinierten Schwellenwert verglichen werden. So muss man Ergebnisse nicht abspeichern, wenn deren Wert außerhalb des gewünschten Bereiches liegt. Man beachte, die ersten beiden Ereignisse speichern ihr Ergebnis nicht, wohl aber das letzte. Und das mit wesentlich weniger Energie als beim Wecken der CPU für eine Speicherung der Daten benötigt wird. Dies ist der asynchronen DMA-Weckfunktion der Peripheriemodule der L-Baureihe zu verdanken. Sie kann den Wert des A/D-Wandlers im SRAM für die spätere Verarbeitung ablegen, während die CPU weiter schläft. Ist der DMA-Transfer abgeschlossen, wird automatisch wieder in den Deep Sleep-Modus geschaltet. Sind genug Daten erfasst oder per Low-Power-UART übertragen worden, kann die CPU aufwachen und die Verarbeitungsphase einleiten.
Dies ist nur ein Beispiel für die energiesparenden Peripheriefunktionen der Kinetis L-MCUs.

Die intelligente Integration von Peripheriemodulen ist das A und O um eine optimale Energieeffizienz mit Deep Sleep-Modi zu erreichen. In herkömmlichen MCUs müssen Haupttakt und Prozessorkern selbst für triviale Aufgaben wie beispielsweise das Senden und Empfangen von Daten, das Erfassen von digitalen oder analogen Signalen oder deren Erzeugung aktiviert werden.

Bildergalerie

  • MCUs der Serie Kinetis L gewährleisten eine erhebliche Effektivitätssteigerung über alle Phasen der Applikation hinweg.

    Bild: Freescale

Firmen zu diesem Artikel
Verwandte Artikel