Effizientes Powermanagement für Embedded PCs
Moderne Computerlösungen sollen möglichst umweltgerecht aufgebaut sein. Neben der Einhaltung der europäischen Richtlinien über die Begrenzung gefährlicher Substanzen RoHS muss stets auch auf die Stromaufnahme geachtet werden. Neue Batterietechnologien und die aktuellen Stromsparmechanismen der für die x86 PC Architektur verwendeten Komponenten werden dieser Anforderung gerecht und ermöglichen so zunehmend längeren, netzunabhängigen Betrieb.
Von diesen Technologien profitieren nicht nur die für mobilen Betrieb ausgelegten Notebooks, sondern auch zunehmends batteriebetriebene Embedded-PC Lösungen. Dadurch erschließen sich immer weitere mobile Anwendungsbereiche für Embedded-PCs. Die eingesetzten Rechner müssen oftmals sehr widrige Umweltbedingungen ertragen können. Kleinste Bauformen und hohe Umgebungstemperaturen bedingen eine geringe Stromaufnahme, da die entstehende Abwärme sonst nur mit hohem Aufwand abgeleitet werden kann.
Die Auswahl der richtigen Systemkomponenten ist einer der ersten Schritte beim PC-Design. Chipsatz und CPU sind mit die größten Stromverbraucher. Die richtige Auswahl ist vorentscheidend für ein Low-Power Design. Während ein Intel Pentium D 960 eine maximale Stromaufnahme (TDP = Thermal Design Power, Leistungsverbrauch bei maximaler Auslastung der CPU) von 130 Watt aufweist, liegen die besonders stromsparenden Pentium/Celeron M Prozessoren z.T. deutlich unter 10 Watt.
Die „Rechenleistung pro Watt“ kann deutlich variieren. In der folgenden Tabelle wurden verschiedene Embedded-PC Plattformen verglichen. Die Rechenleistung wurde durch unterschiedliche Benchmark Programme ermittelt. Die gemessene Stromaufnahme ist als „1/3-Mix“ berechnet. Dabei wird angenommen, dass die Anwendung nach dem Profil 1/3 volle Rechenleistung, 1/3 Desktop-Idle und 1/3 niedrigst möglicher Power-Down Modus die CPU auslastet. Die Benchmarks wurden mit Winbench99 und SiSoft Sandra gemessen und auf eine Plattform mit Pentium M 1.1GHz mit Intel I852GM/ICH4 normiert. Um die relative Rechenleistung pro Watt zu ermitteln wurde der „1/3-Mix“ Wert der Stromaufnahme ebenfalls normiert. Diese Annahmen gelten für viele industrielle und embedded Computeranwendungen.
| CPU/Chipsatz |
Rel. Power |
Rel. Performance |
1/3 Mix [W] |
100% Workload [W] |
AMD LX800 500MHz |
48% |
34% |
4,8 |
7,5 |
Intel Celeron M 600 MHz, Intel 852 Chipsatz |
78% |
71% |
7,8 |
10,5 |
Intel Celeron M 1 GHz, Intel 852 Chipsatz |
85% |
93% |
8,5 |
11,5 |
Intel Pentium M 1,1 GHz, Intel 852 Chipsatz |
100% |
100% |
10,0 |
16,5 |
Intel Pentium M 1,4 GHz, Intel 852 Chipsatz |
105% |
116% |
10,5 |
17,0 |
Intel Celeron M 1 GHz, Intel 915 Chipsatz |
65% |
100% |
6,5 |
11,5 |
Intel Pentium M 1,4 GHz, Intel 915 Chipsatz |
93% |
124% |
9,3 |
19,0 |
Intel Pentium M 1,8 GHz, Intel 915 Chipsatz |
130% |
142% |
13,0 |
30,5 |
Intel Pentium M 2,0 GHz, Intel 915 Chipsatz |
135% |
166% |
13,5 |
32,0 |
Intel Core Duo 1,66 GHz, Intel 945 Chipsatz |
103% |
229% |
10,3 |
24,0 |
Rechenleistung und Stromverbrauch unterschiedlicher ETX und XTX Module
Neben dem Einfluss der CPU ist auch die Auswirkung des Chipsatzes von Bedeutung. Mit einem Desktop oder gar Serverchipsatz lassen sich bei weitem nicht die Ergebnisse wie mit einem reinen Notebook Chipsatz erreichen. Aus diesem Grund findet man mehr und mehr aus dem Notebook-Markt kommende Komponenten auf Embedded PCs wieder. In die oben getroffene Annahme für den „1/3-Mix“ geht natürlich auch der maximal unterstützte Sleep-Modus des Systems ein. Mit S3 (Suspend to RAM) lässt sich im Sleep Modus deutlich mehr Energie einsparen, als im S1 (Power On Suspend). In die für die obigen Tests verwendete 852 Plattform fließt wegen fehlendem S3 Support ein höherer Sleepwert ein, was dazu führt, dass die Werte deutlich über 915er Plattformen mit gleichem Prozessor liegen.
In der Tabelle ist der Stromverbrauch des kompletten Embedded Computer Moduls unter Windows XP mit 512 MByte RAM dargestellt. Neben Prozessor und Chipsatz sind auch weitere Systemkomponenten für den Stromverbrauch mitverantwortlich. So sollte u. a. die DRAM-Größe der Anwendung angepasst werden. Ein halbes Gigabyte mehr bedeutet in der Praxis gleich 1 bis 2 Watt höheren Leistungsbedarf.
Große „Stromfresser“ in typischen Industrie-PCs sind die Flach-Displays. Der größte Energieanteil geht dabei auf Kosten der Hintergrundbeleuchtung. Je heller das Display leuchtet, umso kürzer ist folglich die Akkulaufzeit. In einem auf Low-Power ausgelegten System kann dabei ein ACPI Betriebssystem über entsprechende APCI-Methoden großen Einfluss auf das richtige Verhältnis von Hintergrundbeleuchtung und Akkulaufzeit nehmen.
Um die technologischen Neuigkeiten der Hardwarekomponenten überhaupt ausnutzen zu können, ist der Einsatz eines ACPI fähigen Betriebssystems (z. B. Microsoft Windows XP oder Linux) ein Muss. ACPI dient neben der konfliktfreien Vergabe der Hardware-Ressourcen vor allem dazu, ein möglichst effizientes Powermanagement zu gewährleisten. Für ein ACPI fähiges Gesamtsystem sind zudem ACPI kompatible Treiber und ein Netzteil mit genügend Standby-Leistung erforderlich. Wenn nur ein einziges Gerät oder dessen Treiber nicht konform ist, kommt es zu Fehlfunktionen. Sehr kritisch in diesem Zusammenhang ist die Systemwiederherstellung nach dem Aufwachen vom S3-Mode.
Neben den unterschiedlichen System Sleep-Modi S1, S3, S4 und S5 werden auch devicespezifische Low-Power Zustände unterstützt. Im S3 Modus liegt die Leistungsaufnahme eines Computers meist unter einem Watt.
Liste der ACPI System Modi |
S1
|
Power-On Suspend |
Das System schläft, ist aber mit einem Interrupt wieder aufzuwecken. Es werden keine Spannungen abgeschaltet. Weder CPU noch Chipsatz müssen reinitialisiert werden. |
S2 |
Wird in der Praxis nicht verwendet. |
Wie S1, die CPU und der Cache sind abgeschaltet, das Betriebssystem ist für das Reinitialisieren zuständig. |
S3 |
Suspend to RAM |
Mit Ausnahme vom DRAM sind alle Komponenten stromlos. Der Systemzustand ist im DRAM gespeichert. Die Board-Hardware sorgt dafür, dass der Speicherinhalt erhalten bleibt, das Betriebssystem ist für die Reinitialisierung verantwortlich. |
S4 |
Suspend to Disk |
Alle Komponenten sind stromlos, das System verbraucht kaum noch Energie. Der Systemzustand ist auf Disk gespeichert, das Betriebssystem ist für die Reinitialisierung verantwortlich. |
S5 |
Soft Off |
Wie S4, allerdings ist der Systemzustand nicht gespeichert. Beim nächsten Start muss das System komplett neu initialisiert werden. |
Mit Ausnahme veralteter ISA Bus Devices sind so gut wie alle Devicetreiber ACPI compliant und ermöglichen dem Betriebssystem das Resourcen- und Powermanagement zu übernehmen. Das gilt vor allem für den Prozessor selbst. Moderne Prozessoren unterstützten unterschiedliche Performance- und Power-States. Während mit den Performance-States die Rechenleistung an den aktuellen Workload angepasst werden kann, ermöglichen die Power-States ein optimiertes Stromsparen im Idle-Mode, also dann, wenn keine Rechenaufgaben für den Prozessor anstehen.
Ein gutes Beispiel für Prozessoren mit Performance-States ist der Pentium M Prozessor von Intel. Ein 1,4GHz Pentium M kann vom Betriebssystem je nach geforderter Rechenleistung auch mit 600MHz, 800MHz, 900MHz, 1GHz, 1,1GHz, 1,2GHz, 1,3GHz und entsprechend verringerter Corespannung betrieben werden. Somit wird stets nur die gerade erforderliche Rechenleistung erbracht und es entsteht keine unnötige Abwärme.
In Zusammenspiel mit entsprechenden Notebook Chipsätzen kann der Prozessor im Idle-Mode in unterschiedlich Low-Power Zustände geschaltet werden. Neben C1 (x86 Halt Befehl) und C2 (Stop Grant) unterstützen typische Notebook-Chipsätze auch C3 (Sleep) and C4 (Deep Sleep) um so die Stromaufnahme des Prozessors während der oft vielen aber nur sehr kurzen „Leerlaufphasen“ zu minimieren. Je öfter das System „Idle“ ist, umso positiver wirken sich die effektiveren Prozessor States C3 und C4 auf die Verlustleistung des Gesamtsystems aus. Unmerklich für den Anwender schaltet das ACPI Betriebssystem zwischen diesen Zuständen hin-und her. Im Falle von C4 wird sogar die Prozessor Corespannung verringert.

ACPI Zustandsgrafik
Für ein auf geringe Stromaufnahme optimiertes Embedded-PC System sind ein ACPI kompatibles BIOS und ein ACPI fähiges Betriebssystem erforderlich. Das Betriebssystem selbst steuert dann via ACPI Methoden die Zustände der angeschlossenen Hardware. Wird eine Komponente nicht benötigt, kann diese abgeschaltet und im Bedarfsfall wieder aufgeweckt.
Auch das Kühlen des Prozessors bzw. des Systems wird voll und ganz vom ACPI Betriebssystem geregelt. Entsprechende BIOS Methoden ermöglichen dem Betriebssystem bei gewissen Schwellwerten Lüfter einzuschalten, den Prozessor langsamer zu takten oder bei kritischen Temperatur gar das System kontrolliert abzuschalten. Ein Überhitzung der Prozessoren ist mit derartig ausgelegten PCs praktisch nicht mehr möglich.
Neben der Stromeinsparung mittels APCI ist auch die Unterstützung des Batteriesystems selbst erforderlich. In der Praxis werden sogenannte Control Method Batterien implementiert. Um dem Betriebssystem die erforderliche Information über das Batteriesystem bereit zu stellen, müssen entsprechend angepasste APCI Methoden im BIOS des Embedded-PC enthalten sein.
Battery-Management im Notebook- oder Consumer-Bereich sind meist geschlossene Systeme und auf genau einen Akku-Typen abgestimmt. Dahinter steckt ein hoher Entwicklungsaufwand der sich meist nur für sehr hohe Stückzahlen ökonomisch rechnet. Eine Skalierbarkeit bzw. flexible Austauschbarkeit von Akkus ist damit kaum gegeben und von den großen Herstellern auch ganz bewusst nicht gewollt. Diese Ansätze können also die Anforderungen an Flexibilität und kurze Entwicklungszeiten im Embedded Bereich kaum erfüllen.
Embedded Lösungen lassen sich mit Modulkonzepten wie XTX, ETX oder COM Express skalierbar und austauschbar aufbauen. Das Battery-Management für eine solche Lösung sollte auch entsprechend flexibel ausgelegt sein, zumal Embedded Anwendungen auch hinsichtlich der mobilen Energieversorgung besondere Anforderungen haben.
Dem Gedanken der Modularität folgend hat congatec einen kompletten Smart-Battery-Manager als integrierbares Board ausgelegt um auch hier eine schnelle und risikolose technische Umsetzung zu ermöglichen. Mit dem SBM² (SMART Battery Manager Modul), ein nur 68 mm x 95 mm kleines und 12,5 mm hohes Modul, wird ein komplettes Akku-Manager Subsystem angeboten. Das benötigte Systemnetzteil muss lediglich 19 Volt Gleichspannung zur Verfügung stellen, den Rest übernimmt das SBM². Durch die Eingangs-Leistungsbegrenzung kann das Systemnetzteil auf CPU Board Leistung plus 25% dimensioniert werden, nicht wie sonst üblich auf den vollen Parallelbetrieb von CPU Board und Akkulader. Das SBM² verteilt den Strom für den Betrieb des Rechners und das Laden der Akkus intelligent. Damit können Gewicht und Kosten der Anwendung reduziert werden.
Blockschaltbild einer typischen mobilen Lösung unter Verwendung des congatec SBM² SMART Battery Manger Modules
Das congatec SBM² SMART Battery Management Modul bietet neben einfacher Integrierbarkeit (Bild 2) ein hohes Maß an Anpassungsfähigkeit. Es können SMART Batterien in den Zellen-Konfigurationen 2S1P (2 Zellen in Serie) bis 4S3P (4 Zellen in Serie, 3 Serien parallel, entspricht 12 Zellen) eingesetzt werden. Zusätzlich kann bestimmt werden, ob die Akkus gleichzeitig oder sequenziell verwendet werden. Beim sequenziellen Betrieb kann ein leerer Akku im Betrieb durch einen geladenen ausgetauscht werden. Die gleichzeitige Verwendung beider Batterien betreibt die Akkus und das Modul in einem optimierten Modus mit erhöhtem Wirkungsgrad. Die Akkulaufzeit kann dadurch um bis zu 10% verbessert werden.
Zusätzlich bietet das SBM² die Möglichkeit, mehrere LEDs zur Visualisierung des Ladezustands anzusteuern. Der Zustand der Akkus lässt sich somit unabhängig vom Betriebssystem anzeigen.
Blockschaltbild der SBM² SMART Battery Manger Modules mit Anbindung an eine XTX Lösung
Das SBM² ist mit einem eigenen Controller ausgestattet, der über den I²C Bus mit dem Boardcontroller der congatec CPU-Boards kommuniziert. Dieser wiederum ist eng mit dem congatec BIOS verzahnt, welches über den ACPI Treiber oder dem CGOS API, dem einheitlichen congatec Software-Interface, die Kommunikation zum Betriebssystem und der Anwendung ermöglicht.
Das Datenprotokoll auf dem I²C Bus zwischen der Ladeschaltung und dem congatec Computer Modul basiert auf dem Protokoll des SBS-forum.org, wurde aber um ein paar Funktionen erweitert, welche eine Abwärts-Kompatibilität weiterhin ermöglichen. Um die Lösung kostengünstig mit nur einem Mikrocontroller implementieren zu können, wurden die Adressen des SMART Battery System Controllers und der SMART Battery zusammengefasst.
Zur Kommunikation zwischen SBM² und dem Betriebssystem wurde ein so genanntes „Control-Method-Batterie-Interface“ (CMB) im ACPI Teil des congatec BIOS definiert. Es bietet den Nutzern die Flexibilität über ein standardisiertes Software-Interface auf das Akku-System zuzugreifen. Mit Hilfe des Batterie-Managements kann das Betriebssystem das Verhalten der Batterie effizient beeinflussen, indem es etwa je nach Auslastung neue Low-Battery-Punkte oder Warnmelde-Schwellen setzt. ACPI konforme Betriebssysteme wie Microsoft Windows XP, Windows XP Embedded oder LINUX können damit direkt auf den Status der Batterien zugreifen und so z.B. den Ladezustand der Batterien, die aktuelle Stromquelle und den Ladestatus auslesen. Bei der Verwendung anderer Betriebssysteme können die Anwendungen selbst über das congatec CGOS API auf das Batteriesystem zugreifen. Dieses API beinhaltet neben Batteriefunktionen noch zahlreiche andere embedded Funktionalitäten, welche auf allen congatec Boards und allen gängigen Betriebssystemen über das einheitliche API zugreifbar sind.
Um ACPI S3 (Suspend-to-RAM) zu ermöglichen, stellt das Batteriesystem eine 5 Volt Standby Spannung zur Verfügung. Daraus versorgt sich das DRAM im Self-Refresh-Modus. Mobile Lösungen mit hoher Rechenleistung und langer Akkulaufzeit sind damit möglich.
congatec SBM² Starterkit zum schnellen Entwicklungsstart mobiler Anwendungen
Zum schnellen Test des SBM² SMART Battery Management Moduls bietet congatec ein Starterkit inklusive SBM² Modul, SMART Battery und Kabelsatz an (Bild 4). Dieses Kit kann direkt am congatec XTX Starterkit betrieben werden. Damit lassen sich alle Funktionalitäten von XTX und SBM² schnell und einfach testen und konfigurieren. Im kundenspezifischen System wird das SBM² auf das anwendungsspezifisch entwickelte XTX Basisboard aufgesteckt. Optional ist auch eine komplette Integration des SBM²-Modules auf dem Basisboard möglich.
Ein effizientes ACPI Powermangement ermöglicht im perfekten Zusammenspiel mit einem ausgefeiltem Batterie-Management einen hervorragenden Wirkungsgrad, also mehr „Rechenleistung pro Watt“. Diese Lösung leistet einen positiven Beitrag zur Energieeinsparung und schont damit nicht nur die Umwelt sondern auch die Nerven der Entwickler und Anwender von Embedded Computerlösungen. Durch den modularen Aufbau des Rechnerkerns und des Batteriesystems wird ein hohes Maß an Individualisierung von embedded Computer-Lösungen ermöglicht. Ein System kann durch unterschiedliche CPU Module von der Rechenleistung, mit unterschiedlichen Akkutypen von der Batterielaufzeit flexibel dimensioniert werden. Kosten, Designrisiko, Flexibilität, Skalierbarkeit sowie Entwicklungszeiten können optimal gestaltet werden. Alle embedded PC Anwendungen mit Batteriebetrieb können davon profitieren.
 |
Komplettes Batteriemanagement Modul conga-SBM² |
Technische Daten des SBM² Smart-Battery-Management-Moduls:
• Support von 2 Akkus (2S1P bis 4S3P)
• Paralleler oder sequenzieller Akkubetrieb
• Support des S3 Powermanagement Modus (Suspend to RAM)
• Visualisierung von Lader- und Akkustatus über LEDs möglich
• Optionale Implementierung von Sonderfunktionen z.B. Akku Ladekühlung oder Umgebungstemperatur-abhängiges Ladeverhalten
• Eingangsspannung 19 V, max. 4,5 A, mit Eingangs-Leistungsbegrenzung
• Ausgang 5 V, 7 A und 12 V, 2 A
• Akkuladung max. 17 V, max. 3 A Gesamtstrom
• 68 mm x 95 mm x 12,5 mm |
|
conga-X945 Embedded Computer Modul mit Dual Core Prozessor, PCI Express und Serial ATA |
XTX Konzept |
XTX™ ist die konsequente Weiterführung des etablierten ETX® Embedded PC Modul-Standards. Bei XTX™ werden neueste I/O Technologien auf einen bewährten Formfaktor implementiert. Durch Verzicht auf den kaum mehr verwendeten ISA-Bus wird der ETX Stecker X2 mit neuen seriellen Bussen wie PCI Express und Serial ATA belegt. Alle anderen Signale auf den Steckern X1, X3 und X4 bleiben mit dem ETX Standard (Rev. 2.7) vollständig kompatibel.
Die Mechanik ist absolut unverändert, auch das Kühlkonzept über den einheitlichen Heatspreader ist bei XTX Standard. ETX Anwendungen ohne ISA-Bus können ohne Änderungen XTX Module einsetzen.
XTX Module sind vom 500 MHz AMD GEODE LX800 bis hin zum 1,66 GHz Intel® Core™ Duo (Bild) verfügbar.
|
Weiterführende Informationen |
ACPI: |
|
congatec Battery Management: |
|
General Power: |
|
I²C & SMBus: |
|
Li-Ion battery cells: |
|
SMART Battery: |
|
SMART Gas Gauge Controllers: |
|
XTX: |
|

Author: Dipl.-Ing. (FH) Helmut Artmeier ist Entwicklungsingenieur bei congatec AG.
Als Analogspezialist konzipiert er Schaltregler und Batterielösungen.
|