Bei der Entwicklung energiesparender Embedded-Systeme müssen auch nichttraditionelle Faktoren wie die Halbleiterprozesstechnologie und die Software, die auf Mikrocontroller-basierten Embedded-Plattformen läuft, berücksichtigt werden. In Kombination mit Energie-affinen Entwicklungs-Tools lässt sich die Lebensdauer batteriebetriebener Anwendungen deutlich verlängern.
Bei näherer Betrachtung auf Systemebene zeigen sich drei Parameter, welche die Energieeffizienz eines Mikrocontrollers (MCU) beeinflussen: die Leistungsaufnahme im aktiven Modus, in den Standby-Modi und die Einschaltdauer. Letztere wird über das Software-Verhalten bestimmt und legt das Verhältnis fest, wie viel Zeit im Aktiv- bzw. Standby-Zustand verbracht wird. Ein energiesparender Standby-Modus kann eine MCU äußerst energieeffizient machen, allerdings müssen auch alle Faktoren rund um den Energieverbrauch im Aktivmodus berücksichtigt werden. Darum müssen Abwägungen zwischen der Prozesstechnologie, der IC-Architektur und der Software getroffen werden, die manchmal zu unerwarteten Ergebnissen führen. Die Art, wie Funktionsblöcke auf der MCU kombiniert werden, hat erheblichen Einfluss auf die Energieeffizienz. Selbst kleinste Änderungen der Hardware-Implementierung können zu großen Abweichungen beim Gesamtenergieverbrauch eines Systems führen.
Energiesparende Anwendungen
Verbrauchszähler und Alarmsysteme werden oft über zehn Jahre mit einer einzigen Batterie betrieben. Eine nur geringfügig höhere Leistungsaufnahme beim Abfragen eines Sensors – die zig Millionen Mal während der Lebensdauer eines Produkts erfolgt – kann die Lebensdauer des Geräts im Feld um Jahre verkürzen. Ein einfacher Rauchmelder, der einmal pro Sekunde die Luft nach Rauchpartikeln untersucht, führt in dieser Zeit 315 Millionen Abfragen aus.
Die Aktivitäts-/Einschaltdauer eines Rauchmelders ist relativ kurz. Jede Sensorerfassung dauert nicht länger als ein paar 100 µs. Ein Großteil der Zeit wird zur Kalibrierung und zum Einschwingen verwendet, wenn die MCU die A/D-Wandler und andere Analogbausteine aktiviert, damit diese ihre stabilen Betriebspunkt erreichen. Der Einschaltzyklus führt dann eher zu einem Design, das in etwa 99,98 % seiner Zeit inaktiv ist.
Ein herkömmlicher Rauchmelder ist relativ einfach. Etwas komplexer ist ein Funkdesign, bei dem Ergebnisse über ein Sensornetzwerk zu einer Host-Anwendung übertragen werden. Der Sensor muss dabei nach einer Aktion des Master-Knotens Ausschau halten. Damit wird sichergestellt, dass er entweder im Netzwerk noch vorhanden ist oder kürzlich abgefragte Daten an den Router sendet. Diese erhöhte Aktivität darf aber nicht den Gesamt-Einschaltzyklus beeinträchtigen. Stattdessen lassen sich mit einem leistungsfähigeren Baustein mehr Funktionen während jeder Aktivitätsperiode ausführen. Durch die höhere Datenverarbeitungsgeschwindigkeit (ermöglicht durch eine fortschrittlichere Architektur und Halbleitertechnologie) kann der schnellere Baustein eine höhere Energieeffizienz erzielen als ein langsamerer Baustein, der mehr Zyklen benötigt. Entscheidend ist das Verständnis der Interaktion zwischen Prozesstechnologie, MCU-Architektur und Software-Implementierung.
CMOS-Energieprofil
Praktisch alle MCUs sind in CMOS-Technologie implementiert. Der Energieverbrauch eines aktiven Logikschaltkreises beträgt C·U2·f, wobei C die Gesamtkapazität des internen Schaltkreises ist, U die Versorgungsspannung und f die Betriebsfrequenz (Bild 1). Spannung und Kapazität hängen von der Prozesstechnologie ab. In den letzten 30 Jahren sank die On-Chip-Betriebsspannung von CMOS-Logik von 12 V auf weniger als 2 V, weil die Transistoren immer kleiner wurden. Da die Spannung in unserer Formel zur aktiven Leistungsaufnahme quadratisch eingeht, hat eine niedrigere Spannung somit einen erheblichen Einfluss.
Obwohl der Kapazitätswert linear ist, sorgt Moore’s Law auch hier im Laufe der Zeit für eine Reduzierung. Neue Prozesstechnik erzielt eine niedrigere Kapazität als bei vorherigen Techniken – und damit auch eine geringere Leistungsaufnahme. Fortschrittliche Designtechniken ermöglichen auch eine niedrigere Schaltfrequenz, indem nur die Schaltkreise betrieben werden, die wirklich Arbeit verrichten (Clock Gating).
Im Vergleich zu anderen Technologien verringert CMOS die Verluste um ein Vielfaches. Leckströme sind jedoch immer noch vorhanden. Im Gegensatz zum Energieverbrauch im Aktivmodus nimmt der Leckstrom bei schrumpfenden Prozessgeometrien zu und muss in stromsparenden Anwendungen berücksichtigt werden – vor allem dann, wenn Systeme lange Zeit inaktiv sind und nur kurz aktiviert werden. Bei der aktiven Stromaufnahme hat das Schaltkreisdesign einen erheblichen Einfluss auf den tatsächlichen Leckstrom. Wie beim Clock Gating kann das Power Gating die Auswirkungen der Leckströme mildern. Fortschrittlichere Prozesstechniken sind daher die bessere Wahl für Systeme, die nicht oft aktiviert werden, selbst wenn eine ältere Prozesstechnik niedrigere Leckströme ermöglichen würde.