-
HINTERGRUND
-
Verschiedene Energieverwaltungstechniken wurden entwickelt, um Benutzern von mobilen Computergeräten den Betrieb mit Batterieleistung über längere Zeiträume zu ermöglichen. Diese Techniken werden jedoch allgemein ohne viel Wissen über den Status der Batterieleistung verwendet.
-
US 5,541,489 zeigt exemplarische ein Verfahren zur Bestimmung einer noch vorhandenen Batteriekapazität unter Berücksichtigung von Umweltparametern und verschiedenen Entladungsbedingungen. Diese werden in einem Speicher des Batteriesystems abgelegt.
-
Die Erfindung hat zur Aufgabe, die Ressourcen eines Batteriesystems effizienter zu nutzen.
-
Figurenliste
-
Die verschiedenen Vorteile der erfindungsgemäßen Ausführungsformen sind für den Fachmann beim Durchlesen der folgenden Beschreibung und der anhängenden Ansprüche sowie unter Bezugnahme auf die folgenden Zeichnungen offensichtlich, in denen:
- 1 ein Blockdiagramm ist, das ein exemplarisches Computersystem gemäß einigen Ausführungsformen veranschaulicht,
- 2 ein Blockdiagramm ist, das ein exemplarisches Batteriesystem gemäß einigen Ausführungsformen veranschaulicht,
- 3A ein Blockdiagramm ist, das ein Beispiel einer Logik zur Bestimmung des Batteriestatus veranschaulicht,
- 3B ein Blockdiagramm ist, das ein Beispiel eines Schnittstellenregisters veranschaulicht,
- 4 ein Blockdiagramm ist, das ein Beispiel der verschiedenen Leistungsbereiche der Batterieleistungsinformationen veranschaulicht,
- 5 ein Blockdiagramm ist, das ein Beispiel eines Batteriesystems veranschaulicht, das Statusinformationen zur Batterieleistung für ein Computergerät mit einem eingebetteten Controller und einer Zentraleinheit (central processing unit, CPU) erzeugt,
- 6 ein Ablaufdiagramm eines exemplarischen Verfahrens der Bereitstellung von Statusinformationen zur Batterieleistung mithilfe einer aktiven Methode ist,
- 7 ein Ablaufdiagramm eines Beispiels der Bereitstellung von Statusinformationen zur Batterieleistung mithilfe einer passiven Methode ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen können eine Vorrichtung umfassen, die Logik zur Bestimmung aktueller Statusinformationen zur Batterieleistung eines Batteriesystems enthält. Es kann Logik geben, die die aktuellen Statusinformationen zur Batterieleistung mit einem Satz programmierter Batterieleistungsstatus sowie Spannungs- und Widerstandsparametern vergleicht, um eine Übereinstimmung festzustellen, und es kann Logik für die Angabe der aktuellen Batterieleistungsinformationen auf Basis der Übereinstimmung geben.
-
Ausführungsformen können ein System umfassen, das einen Prozessor und ein
Batteriesystem enthält, das mit dem Prozessor gekoppelt ist. Das Batteriesystem kann so konfiguriert sein, dass es die ersten aktuellen Statusinformationen zur Batterieleistung bestimmt. Das Batteriesystem kann so konfiguriert sein, dass es die ersten aktuellen Statusinformationen zur Batterieleistung auf Basis einer Übereinstimmung mit einem Element einer Menge an programmierten Statusinformationen zur Batterieleistung bereitstellt.
-
Ausführungsformen können ein computerimplementiertes Verfahren umfassen, das Empfangen einer Unterstützungsanforderung in Verbindung mit einem Batteriesystem umfasst, wobei die Unterstützungsanforderung einen oder mehrere Batterieleistungszustände, die aus einer Vielzahl von Batterieleistungszuständen ausgewählt werden umfasst, sowie das die Bestimmung der ersten, aktuellen Statusinformationen zur Batterieleistung eines Batteriesystems beinhaltet. Das Verfahren kann außerdem das Vergleichen der ersten aktuellen Statusinformationen zur Batterieleistung mit einer Menge an programmierten Statusinformationen zur Batterieleistung umfassen, um eine Übereinstimmung festzustellen. Die programmierten Statusinformationen zur Batterieleistung können in einem Speicher des Batteriesystems gespeichert sein. Das Verfahren kann ferner das Angeben der aktuellen, zweiten Statusinformationen zur Batterieleistung auf Basis der Übereinstimmung zwischen den aktuellen Statusinformationen zur Batterieleistung und den programmierten Statusinformationen zur Batterieleistung umfassen. Das Verfahren kann ferner das Bestimmen umfassen, ob die Unterstützungsanforderung auf Basis der angegebenen zweiten Statusinformationen zur Batterieleistung erfüllt werden können.
-
In 1 ist ein Blockdiagramm, das ein exemplarisches Computersystem 100 veranschaulicht, gemäß einigen Ausführungsformen dargestellt. Computersystem 100 kann eine Zentraleinheit (CPU) 105, einen Grafik- und Speichercontroller-Hub (GMCH) 110 und einen Eingabe/Ausgabe-Controller-Hub (ICH) 125 beinhalten. GMCH 110 kann mit CPU 105 über einen Bus 107 gekoppelt sein. ICH 125 kann mit GMCH 110 über einen Bus 122 gekoppelt sein. GMCH 110 kann außerdem mit Speichergeräten 115 und Anzeigegeräten 120 gekoppelt sein. ICH 125 kann mit E/A-Geräten 130 gekoppelt sein. GMCH 110 kann ein Grafiksystem 200 (in 2 dargestellt) umfassen. Auch wenn CPU 105, GMCH 110 und ICH 125 als getrennte Komponenten veranschaulicht sein können, können die Funktionen von ein oder mehreren dieser Komponenten kombiniert werden. Eine Stromversorgung 150 kann verwendet werden, um Computersystem 100 mit Strom zu versorgen. Stromversorgung 150 kann eine Batterie (hierin als Batteriesystem 150 bezeichnet) oder eine externe Stromquelle sein. Computersystem 100 kann außerdem viele anderen Komponenten enthalten, die jedoch aus Gründen der Vereinfachung nicht dargestellt sind.
-
In 2 ist ein Blockdiagramm, das ein exemplarisches Batteriesystem 150 veranschaulicht, gemäß einigen Ausführungsformen dargestellt. Batteriesystem 150 kann ein intelligentes Batteriesystem sein und es kann einen Batteriecontroller 205, Batteriespeicher 210 und Batterieschnittstelle 220 umfassen. Batteriecontroller 205 kann so konfiguriert sein, dass er Operationen durchführt, die es Batteriesystem 150 ermöglichen, die Batterielebensdauer zu verlängern. Dies kann zum Beispiel Operationen umfassen, die ein Überladen verhindern, und Operationen, die das Entladen steuern. Batteriespeicher 210 kann so konfiguriert sein, dass er Befehle und Informationen speichert, die von Batteriecontroller 205 verwendet werden. Die Befehle und Informationen können vom Batteriehersteller bereitgestellt werden. Es kann möglich sein, dass die Befehle und Informationen nachfolgend änderbar sind. Die Befehle und Informationen können zu Beispiel in einer Firmware (z. B. einem schreibgeschützten Speicher oder Flash-Speicher) gespeichert sein und können ausgetauscht werden.
-
Für einige Ausführungsformen kann Batteriespeicher 210 eine Logik zur Bestimmung des Batteriestatus 215 enthalten, die so konfiguriert sein kann, dass sie aktuelle Statusinformationen zur Batterieleistung von Batteriesystem 150 bestimmt. Die Logik zur Bestimmung des Batteriestatus 215 kann zum Beispiel so konfiguriert sein, dass sie einen Bereich der Batterieleistungsstände bestimmt, die Batteriesystem 150 unterstützen kann. Die Logik zur Bestimmung des Batteriestatus 215 kann so konfiguriert sein, dass sie eine Mindestspannung bestimmt, die Batteriesystem 150 bereitstellen kann. Batterieschnittstelle 220 kann so konfiguriert sein, dass sie es dem Batteriesystem ermöglicht, Informationen über eine Leistungsmenge liefert, die Batteriesystem 150 unterstützen kann. Batteriesystem 150 kann gemäß der Smart Battery System Specification (z. B. Revision 1.0, Benchmarq Microelectronics Inc. et al, 1996) konzipiert sein. Auch wenn nicht dargestellt, kann Batteriesystem 150 mit einem Batterieladegerät verbunden sein.
-
In 3A ist die Logik zur Bestimmung des Batteriestatus 215 dargestellt. Für einige Ausführungsformen kann die Logik zur Bestimmung des Batteriestatus 215 so konfiguriert sein, dass sie Batterieparameter 302 empfängt, um aktuelle Statusinformationen zur Batterieleistung zu bestimmen, die Batteriesystem 150 unterstützen kann. Batterieparameter 302 können zum Beispiel ein oder mehrere Spannungsparameter, ein oder mehrere Stromparameter und ein oder mehrere Widerstandsparameter umfassen. Für einige Ausführungsformen können die Batterieparameter programmierbar sein. Die Logik zur Bestimmung des Batteriestatus 215 kann in Software, Hardware oder einer Kombination von beidem implementiert sein.
-
Für einigen Ausführungsformen kann Batterieschnittstelle 220 ein Schnittstellenregister 305 enthalten, das von Batteriesystem 150 verwendet wird, um Statusinformationen zur Batterieleistung anzugeben. Ein Beispiel von Schnittstellenregister 305 ist in 3B dargestellt. Schnittstellenregister 305 kann ein Ein-Bit-Register- oder ein Mehr-Bit-Register sein. Wenn zum Beispiel nur ein Bit verwendet wird, kann das Bit auf einen Wert von „1“ gesetzt werden, wenn die Statusinformationen zur Batterieleistung (z. B. Leistungsstand) von Batteriesystem 150 (2) über einem vorher festgelegten Stand sind, und auf eine Wert von „0“, wenn der Leistungsstand von Batteriesystem 150 (2) unter diesem vorher festgelegten Stand ist.
-
Wenn mehrere Bits für Schnittstellenregister 305 verwendet werden, können verschiedene Statusinformationen zur Batterieleistung oder verschiedene Bereiche von Statusinformationen zur Batterieleistung verfügbar sein. Wenn drei Bits verwendet werden, können zum Beispiel acht verschiedene Elemente oder Bereiche von Statusinformationen zur Batterieleistung verwendet werden. Ein Beispiel der verschiedenen Bereiche ist in Tabelle 405 von 4 dargestellt. Spalte 410 kann die verschiedenen möglichen Bitwerte für Drei-Bit-Schnittstellenregister 305 veranschaulichen. Spalte 415 kann die verschiedenen Leistungsstände oder Bereiche der Leistungsstände veranschaulichen, die Batteriesystem 150 unterstützen kann. Zum Beispiel können Bitwerte von „101“ einem Leistungsstandbereich 2 entsprechen. Spalte 420 kann die Leistungsmodi veranschaulichen, in denen Computersystem 100 betrieben werden kann, auf Basis des Leistungsstands, den Batteriesystem 150 unterstützen kann. Wenn die Bitwerte von Schnittstellenregister 305 „111“ sind, kann Computersystem 100 mit maximaler Leistung oder im Turbomodus betrieben werden.
-
Für einige Ausführungsformen können die verschiedenen Bitwerte und die entsprechenden Statusinformationen zur Batterieleistung durch den Hersteller von Batteriesystem 150 angegeben sein und sie können in Batteriespeicher 210 gespeichert sein. Unter anhaltender Bezugnahme auf FIG. 2-4 können, wenn die Logik zur Bestimmung des Batteriestatus 215 bestimmt, dass der aktuelle Leistungsstand, den Batteriesystem 150 unterstützen kann, innerhalb von Leistungsbereich 2 (wie in Tabelle 405 dargestellt) liegt, diese Informationen an Batterieschnittstelle 220 übertragen werden, damit Schnittstellenregister 305 auf den Wert „101“ eingestellt wird.
-
5 ein Blockdiagramm ist, das eine exemplarische Ausführungsform des Batteriesystems zeigt, das Statusinformationen zur Batterieleistung erzeugt. Für einige Ausführungsformen kann Batteriesystem 150 in einem aktiven Modus betrieben werden, wobei die Logik zur Bestimmung des Batteriestatus 215 (in 3A dargestellt) regelmäßig veranlasst wird, die aktuellen Statusinformationen zur Batterieleistung zu bestimmen. Die Häufigkeit der Operationen der Logik zur Bestimmung des Batteriestatus 215 kann vom Hersteller festgelegt werden oder sie kann programmiert werden. Das Ergebnis der Operationen kann dann in Schnittstellenregister 305 widergespiegelt werden. Ein eingebetteter Controller 500 in Computersystem 100 kann auf die Statusinformationen zur Batterieleistung von Schnittstellenregister 305 über Bus 505 zugreifen. Die Statusinformationen zur Batterieleistung können dann an CPU 105 über Bus 510 gesendet werden. CPU 105 kann dann ihren Betriebsmodus auf Basis der Statusinformationen zur Batterieleistung anpassen.
-
Für einige Ausführungsformen kann Batteriesystem 150 in einem passiven Modus betrieben werden, wobei die Logik zur Bestimmung des Batteriestatus 215 veranlasst wird, die aktuellen Statusinformationen zur Batterieleistung aus Aufforderung zu bestimmen. CPU 105 kann zum Beispiel bestimmten, dass, um Operationen in einem bestimmten Betriebsmodus (z. B. Turbomodus) auszuführen, für CPU 105 erforderlich ist, dass Batteriesystem 150 diesen Betriebsmodus unterstützen kann (z. B. die Energieanforderung für den Turbomodus erfüllen). CPU 105 kann die Anforderung an den eingebetteten Controller 500 über Bus 510 senden. Der eingebettete Controller 500 kann wiederum die Anforderung an Batteriesystem 150 senden. Batteriesystem 150 kann dann die Logik zur Bestimmung des Batteriestatus 215 veranlassen, die aktuellen Statusinformationen zur Batterieleistung zu bestimmen. Batteriesystem 150 kann dann die aktuellen Statusinformationen zur Batterieleistung mit der Anforderung vergleichen, um zu bestimmen, ob die Anforderung erfüllt werden kann. Batteriesystem 150 kann dann Schnittstellenregister 305 entsprechend einstellen. Der passive Modus kann als Verhandlungsmodus bezeichnet werden, wobei der eingebettete Controller 500 mit Batteriesystem 150 verhandelt, bis Batteriesystem 150 angibt, dass es die Anforderung erfüllen kann.
-
In 6 ist ein exemplarisches Ablaufdiagramm dargestellt, das einen Prozess veranschaulicht, der vom Batteriesystem durchführt wird. Der Prozess kann dem Betrieb von Batteriesystem 150 im oben beschriebenen aktiven Modus entsprechen. Bei Block 605 kann das oben beschriebene Batteriesystem 150 die Logik zur Bestimmung des Batteriestatus 215 veranlassen, die aktuellen Statusinformationen zur Batterieleistung zu bestimmen. Bei Block 610 können die aktuellen Statusinformationen zur Batterieleistung mit den programmierten Batterieinformationen verglichen werden. Ein Beispiel vorher festgelegter Batterieinformationen ist in 4 dargestellt. Bei Block 615 kann Batteriesystem 150 die Batterieschnittstelle so einstellen, dass sie die Statusinformationen zur Batterieleistung auf Basis einer Übereinstimmung mit den programmierten Batterieinformationen widerspiegelt. Dies kann die Einstellung des Schnittstellenregisters auf einen Wert umfassen, der den programmierten Batterieinformationen entspricht.
-
In 7 ist ein exemplarisches Ablaufdiagramm dargestellt, das einen weiteren Prozess veranschaulicht, der vom Batteriesystem durchführt wird. Der Prozess kann dem Betrieb von Batteriesystem 150 im oben beschriebenen passiven Modus entsprechen. Bei Block 705 kann Batteriesystem 150 eine Anforderung erhalten, zu bestätigen, ob Batteriesystem 150 eine Anforderung unterstützen kann. Zum Beispiel kann es sein, dass CPU 105 (in 1 dargestellt) für eine bestimmte Zeit in den Turbomodus gehen muss und bestätigen möchte, dass Batteriesystem 150 genug Leistung zur Aufrechterhaltung des Turbomodus liefert (z. B. „111“ wie in 4 dargestellt). Bei Block 710 kann das oben beschriebene Batteriesystem 150 die Logik zur Bestimmung des Batteriestatus 215 veranlassen, die aktuellen Statusinformationen zur Batterieleistung zu bestimmen. Bei Block 715 können die aktuellen Statusinformationen zur Batterieleistung mit den programmierten Statusinformationen zur Batterieleistung verglichen werden, um eine Übereinstimmung festzustellen (z. B. „011“ wie in 4 dargestellt). Der Übereinstimmungswert (z. B. „011“) kann mit der Anforderung (z. B. „111“) verglichen werden, um zu bestimmen, ob Batteriesystem 150 die Anforderung erfüllen kann. Wenn die Anforderung nicht erfüllt werden kann, kann der Prozess von Block 715 zu Block 725 gehen, wo ein negativer Indikator gesetzt werden kann. Wenn die Anforderung erfüllt werden kann, kann der Prozess von Block 715 zu Block 720 gehen, wo ein positiver Indikator gesetzt werden kann.
-
Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination beider implementiert werden. Beispiele von Hardware-Elementen können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktionsspulen und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (application specific integrated circuits, ASIC), programmierbare Logikeinheiten (programmable logic devices, PLD), digitale Signalprozessoren (digital signal processors, DSP), Field Programmable Gate Array (FPGA), Logikgatter, Register, ein Halbleitergerät, Chips, Mikrochips, Chipsätze und so weiter beinhalten. Beispiele von Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Hilfsprogramme, Unterprogramme, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Programmierschnittstellen (application program interfaces, API), Befehlssätze, EDV-Code, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon beinhalten. Die Bestimmung, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann in Übereinstimmung mit einer beliebigen Anzahl an Faktoren variieren, wie beispielsweise gewünschte Rechengeschwindigkeit, Energieniveaus, Wärmetoleranzen, Budget der Verarbeitungszyklen, Eingabedatengeschwindigkeiten, Ausgabedatengeschwindigkeiten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Beschränkungen bezüglich Design oder Leistung.
-
Ein oder mehrere Aspekte mindestens einer Ausführungsform können durch repräsentative Befehle implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken innerhalb des Prozessors repräsentiert, die beim Lesen durch eine Maschine die Maschine veranlassen, Logik zum Ausführen der hierin beschriebenen Techniken zu erzeugen. Solche Repräsentationen, auch als „IP-Kerne“ bekannt, können auf einem konkreten maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, wo sie in Fertigungsmaschinen geladen werden, welche die Logik oder den Prozessor herstellen.