Der Weg zum geringsten Energieverbrauch in MCU-Systemen (Teil 1)

Seite: 2/4

Firmen zum Thema

Hardware bestimmt Energieaufnahme und Systemleistungen

Beginnen wir mit der Hardware. Sie bestimmt grundsätzlich, wie Energieaufnahme und Systemleistungen bedient werden und zu welchen Resultaten führen. Die aktuell wesentlichen Funktionen zur Energieeinsparung sind in vier Kategorien einzuordnen:

  • Instruktionen [1]
  • Hardware, die im gewählten Power-Modi betriebsbereit ist
  • das Taktsystem und Clock-Gating
  • das Power-System und Power-Gating

Es gibt zum Beispiel in der Cortex-M ISA (Instruction Set Architecture) drei Instruktionen die Powermodi auslösen können und die Bedingungen für die Rückkehr zum aktiven (RUN) Mode setzen. Dies sind „Wait for Interrupt (WFI)“, „Wait for Event (WFE)“, und „Send Event (SEV)“. Dazu sind dann die Implementierung eines (ARM) Interrupt-Kontrollers „Nested Vectored Interrupt Controller (NVIC)“ und „Wake-up Interrupt Controllers (WIC)“ vorgesehen, die das Bereitstellen der MCU-Funktionalität sicherstellen.

Bildergalerie

Der NVIC ist dabei Bestandteil des Architektur-IPs. Wenn der Prozessor und der NVIC in den “Very Low-Power Sleep“-Mode gebracht ist, behandelt der WIC die Ereignisse die einen Systemstart anfordern. Daneben gibt es noch die Instruktion SLEEPONEXIT die den Prozessor in den „Sleep Mode“ setzt nach dem Rückkehren von einem „Exception“-Handler in einen Thread-Mode. Mit diesem Prinzip rufen Instruktionen die Sparmodi aus einem laufenden Programm auf. Wenn der Controller aufgeweckt wird, werden die Takt- und Energiequellen so betrieben wie sie vor dem „Low-Power“-Mode eingestellt waren.

Die Energieaufnahme wird von der jeweiligen Hardware-Implementierung in einem Baustein bestimmt. Im aktiven (RUN) Mode dominiert die Architektur des Instruktionssatzes (ISA) sowie die Leistungsfähigkeit der Instruktions- und Datenspeicher mit den Busstrukturen. Energietechnisch ausbalancierte Caches bzw. eng gekoppelte Speicher (TCM – tighly coupled memory) sparen in der Regel Energie in der Codeausführung.

Bei energiesparenden MCU/SoCs ist das System meist in einem Stromsparmodus. Typische Zeiten sind <1% aktiver Mode und >99% im Stromsparmodus. Zunehmend wird der Energieverlust beim Umschalten zwischen den Betriebsmode und den Stromsparmodi wichtig.

Was bestimmt wesentlich den Energieverbrauch?

Das Versorgungsspannungssystem, Taktgebersystem, Clock-Gating und Power-Gating, Interrupt- und Aufwach-Behandlung und eine eventgetriebene Systemarchitektur (≠Befehlsarchitektur ISA) sind bestimmend für den Energieverbrauch. Diese Hardware-Struktur (Systemarchitektur) bestimmt wesentlich das gesamte Verhalten und zwar nicht nur den Energieverbrauch des Systems.

Aus der energetischen Sicht werden meistens digitalen Verbraucher genutzt um die Energieeffizienz zu betonen, so auch beim ULPBench™-CP vom EEMBC-Konsortium. Die beteiligten analogen Komponenten sind das Versorgungssystem, die Schaltungsteile die den Eintritt und das Verlassen der Betriebsbedingungen überwachen, und ein Quarzoszillator für die genaue Wiederholfrequenz. Gerade im I-o-T-Bereich ist jedoch die Erfassung von Umgebungsdaten analog geprägt. Analoge Signale erfordern eine differenzierte Behandlung von der Erfassung und Digitalisierung.

Neben diesen Betrachtungen sind die Spezifikationen der Hersteller ein wichtiger Faktor. Werte in Spezifikationen können sich beispielsweise von vorläufigen Werten gegenüber Produktionswerten und bei Bauteil-Revisionen ändern. Ist erst einmal ein Produkt beim Endkunden durch die Verifikation wird es schwierig, laufend die Auswirkungen der Änderungen der Spezifikationen auf die Produkteigenschaften zu verfolgen. Sind sie noch innerhalb der garantierten Werte?

Nun zum Taktsystem, wobei allen sehr energiesparenden Systemen gemeinsam relative komplexe Taktsysteme sind. Für die Grundzeitgeber stehen Quarzoszillatoren (32 768Hz Uhrenquarz), ein schnell startender voll integrierter Oszillator (RC-Type), sowie ein Quarzoszillator im „MHz“-Bereich zur Auswahl. Die Einstellungen werden in der Regel einmal gemacht. Die Interrupt-/Handler-SW greift dann darauf zurück. Eine energetische Anpassung ohne Software an die aktuelle Situation erfolgt nicht.

Das „Power“- und „Power-Gating“-System von energie-effizienten Produkten, die in den letzten Jahren auf den Markt gekommen, haben zwei LDOs und einen „Low-Power“-DC/DC-Konverter. Sie nutzen „Power-Gating“ um tiefe Energielevels zu erreichen. Die Einstellungen des „Power“-Systems als auch der „Power“-Inseln werden mittels Hardware-Einstellungen und teils durch automatische „Power“-Modi-Umschaltung bedient. Beim Interrupt-Handling wird immer automatisch der hohe Energie-Level des Betriebs-Modes (RUN) gewählt. Ob dieser benötigt wird, oder nicht.

(ID:45104002)