FREIBERT, Erich (Dr.-Dürrwanger-Str. 33d, Augsburg, 86156, DE)
| Patentansprüche 1. ComputerSystem (1), umfassend wenigstens eine Systemkomponente (3) umfassend eine erste Echtzeituhr (14) zum Erzeugen von Unterbrechungsanforderungen, wenigstens eine Stromversorgungseinheit (2) zum Versorgen der Systemkomponente (3) mit wenigstens einer Betriebsspannung, wobei die Stromversorgungseinheit (2) wenigstens einen MikroController (7) mit einer zweiten Echtzeituhr (9) umfasst, wenigstens eine Firmwarekomponente, wobei die Firmwarekomponente dazu eingerichtet ist, vor einem Übergang des Computersystems (1) in einen ausgeschalteten Zustand oder einen Energiesparzustand eine Programmierung der ersten Echtzeituhr (14) auf die zweite Echtzeituhr (9) zu übertragen. 2. Computersystem (1) nach Anspruch 1, dadurch gekennzeichnet, dass die wenigstens eine Firmwarekomponente dazu eingerichtet ist, beim Übergang des Computersystems (1) in einen Betriebszustand oder einen Bereitschaftszustand eine Programmierung der zweiten Echtzeituhr (9) auf die erste Echtzeituhr (14) zu übertragen. 3. Computersystem (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die wenigstens eine Firmwarekomponente ein BIOS-Programm (34) und/oder ein Steuerprogramm (35) des MikroControllers (7) umfasst. Computersystem (1) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Stromversorgungseinheit (2) dazu eingerichtet ist, wenigstens die Systemkomponente (3) mit der ersten Echtzeituhr (14) in dem ausgeschalteten Zustand oder dem Energiesparzustand vollständig von der Betriebsspannung zu trennen und der MikroController (7) dazu eingerichtet ist, die Programmierung der zweiten Echtzeituhr (9) in dem Energiesparzustand zu überwachen und bei Erreichen einer Aufweckzeit die Stromversorgungseinheit (2) zu aktivieren, um die Systemkomponente (3) mit einer Betriebsspannung zu versorgen. Computersystem (1) nach Anspruch 4, gekennzeichnet durch wenigstens ein Schaltelement (6) zum Trennen der Stromversorgungseinheit (2) von einer primären Wechselspannung eines Energieversorgungsnetzes (5) und wenigstens einem Energiepuffer zum Versorgen des MikroControllers (7) mit einer Betriebsenergie unabhängig von dem Energieversorgungsnetz (5), wobei der MikroController (7) dazu eingerichtet ist, die Stromversorgungseinheit (2) in dem ausgeschalteten Zustand oder dem Energiesparzustand mittels des Schaltelementes (6) von der primären Wechselspannung zu trennen . Computersystem (1) nach Anspruch 5, dadurch gekennzeichnet, dass die Systemkomponente (3) eine Batterie (13) umfasst und der MikroController (7) der Stromversorgungseinheit (2) und die Batterie (13) der Systemkomponente (3) elektrisch miteinander verbunden sind, so dass die Batterie (13) als Energiepuffer zur Versorgung des MikroControllers (7) in dem Energiesparzustand dient. Verfahren zum Programmieren einer Echtzeituhr eines Computersystems (1) mit einem Energiesparzustand, umfassend die Schritte: Erfassen einer beabsichtigten Aufweckzeit (Tl) durch eine Softwarekomponente des Computersystems (1), Übermitteln der erfassten Aufweckzeit (Tl) an eine Hard- oder Softwareschnittstelle zum Programmieren einer ersten Echtzeituhr (14) einer Systemkomponente (3) und Programmieren einer zweiten Echtzeituhr (9) eines MikroControllers (7) einer Stromversorgungseinrichtung (2) basierend auf der übermittelten Aufweckzeit (Tl) vor einem Übergang des Computersystems (1) in einen ausgeschalteten Zustand oder einen Energiesparzustand. Verfahren nach Anspruch 7, gekennzeichnet durch die zusätzlichen Schritte: Erfassen einer Anforderung zum Wechseln in den Energiesparzustand und Deaktivieren der Stromversorgungseinheit (2) nach dem Programmieren der zweiten Echtzeituhr (9), so dass die Systemkomponente (3) in dem Energiesparzustand nicht mehr mit einer Betriebsspannung versorgt wird. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass im Schritt des Übermitteins zunächst die erste Echtzeituhr (14) programmiert wird und nach dem Erfassen der Aufforderung zum Wechseln in den Energiesparzustand die zweite Echtzeituhr (9) basierend auf der Programmierung der ersten Echtzeituhr (14) programmiert wird . Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass beim Programmieren der zweiten Echtzeituhr (9) eine vorbestimmte Vorlaufzeit (ΔΤ) von der übermittelten Aufweckzeit (Tl) abgezogen wird. Verfahren nach einem der Ansprüche 7 bis 10, gekennzeichnet durch die zusätzlichen Schritte: kontinuierliches Überwachen der zweiten Echtzeituhr (9) auf Auftreten eines Aufwecksignals und Aktivieren der Stromversorgungseinheit (2) zur Versorgung der Systemkomponente (3) mit einer Betriebsspannung beim Auftreten des Aufwecksignals. Verfahren nach Anspruch 11, gekennzeichnet durch den zusätzlichen Schritt: Programmieren der ersten Echtzeituhr (14) basierend auf der Programmierung der zweiten Echtzeituhr (9) nach dem Aktivieren der Stromversorgungseinheit (2) . 13. Verfahren nach Anspruch 11, gekennzeichnet durch die zusätzlichen Schritte: Programmieren eines nichtflüchtigen Speichers der Systemkomponente (3) basierend auf der übermittelten Aufweckzeit (Tl) vor einem Übergang des Computersystems (1) in den ausgeschalteten Zustand oder den Energiesparzustand und Programmieren der ersten Echtzeituhr (14) basierend auf der Programmierung des nichtflüchtigen Speichers der Systemkomponente (3) nach dem Aktivieren der Stromversorgungseinheit (2) . Computerprogrammprodukt umfassend einen ausführbaren Programmcode, dadurch gekennzeichnet, dass bei der Ausführung des ausführbaren Programmcodes durch wenigstens eine Datenverarbeitungseinheit (10) oder einen MikroController (7) eines Computersystems (1) ein Verfahren gemäß einem der Ansprüche 7 bis 13 ausgeführt wird . |
Computersystem, Verfahren zum Programmieren einer Echtzeituhr und Computerprogrammprodukt
Die Erfindung betrifft ein Computersystem umfassend
wenigstens eine Systemkomponente umfassend eine Echtzeituhr zum Erzeugen von Unterbrechungsanforderungen und wenigstens eine Stromversorgungseinheit zum Versorgen der
Systemkomponente. Darüber hinaus betrifft die Erfindung ein Verfahren zum Programmieren einer Echtzeituhr eines
Computersystems mit einem Energiesparzustand . Schließlich betrifft die Erfindung ein Computerprogrammprodukt mit ausführbarem Programmcode zur Durchführung des Verfahrens.
Praktisch alle aktuellen Computersysteme weisen eine oder mehrere Echtzeituhren auf. Echtzeituhren dienen insbesondere dazu, eine Systemzeit des Computersystems laufend zu
aktualisieren. Darüber hinaus verfügen bekannte Echtzeituhren oftmals über eine so genannte Alarmfunktion, mit der
zeitgesteuert Unterbrechungsanforderungen, auch bekannt als Interrupt Requests, ausgelöst werden können. Die von einer Echtzeituhr ausgelösten Unterbrechungsanforderungen können von einer anderen Hard- oder Softwarekomponente, insbesondere einem BIOS-Programm oder einem Betriebssystem, das durch einen Prozessor des Computersystems ausgeführt wird,
abgefangen und zur Auslösung der Ausführung von
benutzergesteuerten Prozessen eingesetzt werden.
Problematisch an den bekannten Computersystemen ist, dass eine Programmierung der Echtzeituhren nicht in jedem Zustand des Computersystems erfolgreich abgefragt werden kann.
Insbesondere wenn sich der Computer in einem vollständig ausgeschalteten Zustand befindet, wird eine entsprechende Unterbrechungsanforderung entweder durch den
Echtzeituhrenbaustein nicht ausgelöst oder von einer anderen Hard- oder Softwarekomponente nicht ausgewertet. In diesem Fall werden vom Benutzer vorgegebene Aufgaben unter Umständen nicht ausgeführt.
Befindet sich das Computersystem dagegen in einem so
genannten Bereitschaftszustand, sind das Auslösen und die Auswertung solcher Unterbrechungsaufforderungen möglich. Hier besteht jedoch der Nachteil, dass das Computersystem im
Bereitschaftszustand in der Regel weiter mit einer
Betriebsspannung versorgt werden muss, so dass unabhängig von der tatsächlichen Nutzung des Computersystems elektrische Energie verbraucht wird. Dies führt bei netzbetriebenen
Computersystemen zu einer Verringerung der Effizienz und bei batteriebetriebenen Systemen zu einem vorzeitigen Erschöpfen der eingesetzten Batteriezellen.
Aufgabe der vorliegenden Anmeldung ist es, ein
Computersystem, ein Verfahren zum Programmieren einer
Echtzeituhr sowie ein Computerprogrammprodukt zu beschreiben, die die genannten Nachteile ganz oder teilweise überwinden. Insbesondere soll ein Computersystem und ein Verfahren zu seinem Betrieb beschrieben werden, die die Überwachung zeitgesteuerter Ereignisse gestatten, ohne dass es hierzu einer ständigen Stromversorgung des Computersystems bedarf.
Die oben genannte Aufgabe wird gelöst durch ein
Computersystem, umfassend wenigstens eine Systemkomponente umfassend eine erste Echtzeituhr zum Erzeugen von
Unterbrechungsanforderungen, wenigstens eine
Stromversorgungseinheit zum Versorgen der Systemkomponente mit wenigstens einer Betriebsspannung und wenigstens eine Firmwarekomponente. Dabei umfasst die Stromversorgungseinheit wenigstens einen Mikrocontroller mit einer zweiten
Echtzeituhr, und die Firmwarekomponente ist dazu
eingerichtet, vor einem Übergang des Computersystems in einen ausgeschalteten Zustand oder einen Energiesparzustand eine Programmierung der ersten Echtzeituhr auf die zweite
Echtzeituhr zu übertragen.
Durch das Zusammenwirken einer Firmwarekomponente mit einer ersten Echtzeituhr einer Systemkomponente und einer zweiten Echtzeituhr, die in einem Mikrocontroller einer
Stromversorgungseinheit enthalten ist, kann eine
Programmierung einer Systemkomponente auf den Mikrocontroller einer Stromversorgungseinheit übernommen werden. Auf diese Weise kann eine Überwachung der Programmierung und
gegebenenfalls eine Aktivierung des Computersystems durch die Stromversorgungseinheit auch dann vorgenommen werden, wenn die Systemkomponente selber zu der programmierten Zeit nicht mit einer Betriebsspannung versorgt wird.
Gemäß einer vorteilhaften Ausgestaltung ist die wenigstens eine Firmwarekomponente, beispielsweise ein BIOS-Programm und/oder ein Steuerprogramm des Mikrocontrollers , dazu eingerichtet, beim Übergang des Computersystems in einen Betriebszustand oder einen Bereitschaftszustand, eine
Programmierung der zweiten Echtzeituhr auf die erste
Echtzeituhr zu übertragen. Wird die Programmierung der ersten Echtzeituhr durch Trennen der Betriebsspannung von der
Systemkomponente gelöscht, kann diese beim Reaktivieren des Computersystems erneut mit den Werten der zweiten Echtzeituhr vorgenommen werden. Gemäß einer weiteren vorteilhaften Ausgestaltung ist die Stromversorgungseinheit dazu eingerichtet, die
Systemkomponente mit der ersten Echtzeituhr in dem
ausgeschalteten Zustand oder dem Energiesparzustand
vollständig von der Betriebsspannung zu trennen. Der
MikroController ist dazu eingerichtet, die Programmierung der zweiten Echtzeituhr in dem Energiesparzustand zu überwachen und bei Erreichen einer Aufweckzeit die
Stromversorgungseinheit zu aktivieren, um die
Systemkomponente mit einer Betriebsspannung zu versorgen. Hierdurch kann trotz völliger Abkopplung der Systemkomponente von einer Betriebsspannung ein Aufwecken des Computersystems zu einem programmierten Zeitpunkt sichergestellt werden.
Gemäß einer weiteren vorteilhaften Ausgestaltung ist das Computersystem durch wenigstens ein Schaltelement zum
elektrischen Trennen der Stromversorgungseinheit von einer primären Wechselspannung eines Energieversorgungsnetzes gekennzeichnet. Das Computersystem ist weiter gekennzeichnet durch wenigstens einen Energiepuffer zum Versorgen des
MikroControllers mit einer Betriebsenergie unabhängig von dem Energieversorgungsnetz. Dabei ist der MikroController dazu eingerichtet, die Stromversorgungseinheit in dem
ausgeschalteten Zustand oder dem Energiesparzustand mittels des Schaltelementes von der primären Wechselspannung zu trennen. Ein derartiges Computersystem weist den Vorteil auf, dass in dem ausgeschalteten oder Energiesparzustand keinerlei Spannung mehr aus dem Energieversorgungsnetz aufgenommen wird, so dass die so genannte Stand-by-Leistung bei 0 Watt liegt .
Gemäß einer weiteren vorteilhaften Ausgestaltung umfasst Systemkomponente eine Batterie, und der Mikrocontroller Stromversorgungseinheit und die Batterie der Systemkomponente sind elektrisch miteinander verbunden. Auf diese Weise kann die Batterie der Systemkomponente, insbesondere eine bereits vorhanden BIOS-Batterie, als Energiepuffer zur Versorgung des MikroControllers in dem Energiesparzustand dienen. Auf den Einsatz weiterer Batterien, insbesondere in der
Stromversorgungseinheit, kann somit verzichtet werden.
Die oben genannte Aufgabe wird ebenso gelöst durch ein
Verfahren zum Programmieren einer Echtzeituhr eines
Computersystems mit einem Energiesparzustand umfassend die folgenden Schritte:
- Erfassen einer beabsichtigten Aufweckzeit durch eine
Softwarekomponente des Computersystems,
- Übermitteln der erfassten Aufweckzeit an eine Hard- oder Softwareschnittstelle zum Programmieren einer ersten Echtzeituhr einer Systemkomponente und
- Programmieren einer zweiten Echtzeituhr eines
MikroControllers einer Stromversorgungseinrichtung basierend auf der übermittelten Aufweckzeit vor einem Übergang des Computersystems (1) in einen
ausgeschalteten Zustand oder einen Energiesparzustand.
Durch die oben genannten Schritte wird sichergestellt, dass die von einer Softwarekomponente programmierte Aufweckzeit unabhängig vom Betrieb der ersten Echtzeituhr weiterhin zur Verfügung steht und überwacht werden kann.
Gemäß einer vorteilhaften Ausgestaltung umfasst das Verfahren des Weiteren die Schritte des Erfassens einer Anforderung zum Wechseln in den Energiesparzustand und Deaktivierens der Stromversorgungseinheit, so dass die Systemkomponente in dem Energiesparzustand nicht mehr mit einer Betriebsspannung versorgt wird. Durch die genannten Schritte kann ein so genannter OW-Energiesparmodus mit Aufweckfunktion
verwirklicht werden.
Gemäß einer vorteilhaften Ausgestaltung wird im Schritt des Übermitteins zunächst die erste Echtzeituhr programmiert und nach dem Erfassen der Aufforderung zum Wechseln in den
Energiesparzustand die zweite Echtzeituhr basierend auf der Programmierung der ersten Echtzeituhr programmiert. Ein derartiges Verfahren ist für eine Softwarekomponente des Computersystems vollkommen transparent, wobei die
Programmierung der zweiten Echtzeituhr erst bei Bedarf vorgenommen wird.
Gemäß einer vorteilhaften Ausgestaltung ist das Verfahren dadurch gekennzeichnet, dass beim Programmieren der zweiten Echtzeituhr eine vorbestimmte Vorlaufzeit von der
übermittelten Aufweckzeit abgezogen wird. Durch das Abziehen einer vorbestimmten Vorlaufzeit kann eine Verzögerung ausgeglichen werden, die das Computersystem zum Erreichen eines betriebsbereiten Zustands benötigt, um die
beabsichtigte Aktion rechtzeitig zum beabsichtigten
Aufweckzeitpunkt durchzuführen.
Die oben genannte Aufgabe wird schließlich durch ein
Computerprogrammprodukt gemäß Patentanspruch 14 gelöst.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Patentansprüchen sowie der nachfolgenden ausführlichen Beschreibung von Ausführungsbeispielen
erläutert . Die Erfindung wird im Detail unter Bezugnahme auf Figuren näher erläutert. In den Figuren zeigen:
Figur 1 eine schematische Darstellung eines Computersystems gemäß einer Ausgestaltung der Erfindung,
Figur 2 eine schematische Darstellung einer
Netzeingangsschaltung einer Stromversorgungseinheit,
Figur 3 eine schematische Darstellung einer
Softwarearchitektur zum Programmieren einer Echtzeituhr,
Figur 4 eine Bildschirmmaske einer Softwarekomponente zum
Programmieren einer Echtzeituhr und
Figur 5 eine schematische Darstellung eines Verfahrens zum
Programmieren und Aufwecken eines Computersystems aus einem Energiesparzustand .
Figur 1 zeigt eine schematische Darstellung eines
Computersystems 1. Das Computersystem 1 umfasst eine
Stromversorgungseinheit 2 und eine Systemkomponente 3.
Beispielsweise handelt es sich bei der
Stromversorgungseinheit 2 um ein Computernetzteil mit einem oder mehreren integrierten Schaltwandlern 4. Der
Schaltwandler 4 dient zum Umwandeln einer primären
Wechselspannung eines Energieversorgungsnetzes 5 in eine oder mehrere sekundäre Gleichspannungen zum Betrieb des
Computersystems 1, insbesondere dessen Systemkomponente 3. Um die Verlustleistung der Stromversorgungseinheit 2 im
abgeschalteten Zustand möglichst gering zu halten, ist zwischen dem Energieversorgungsnetz 5 und dem Schaltwandler 4 eine Schaltkomponente 6 angeordnet. Bei der Schaltkomponente 6 kann es sich beispielsweise um ein Relais oder ein
Halbleiterschaltelement handeln.
Des Weiteren weist die Stromversorgungseinheit 2 einen
MikroController 7 auf. Der MikroController 7 wird von einer Spannungsquelle 8 mit einer Betriebsenergie versorgt.
Beispielsweise handelt es sich bei der Spannungsquelle 8 um eine einfache Schaltung, die eine konstante Spannung aus einer Spannung einer BIOS-Batterie oder sonstigen
Energiequelle erzeugt. Alternativ kann auch ein sehr einfach aufgebauter und hoch effizienter Schaltwandler zur
ausschließlichen Versorgung des MikroControllers 7 aus dem Energieversorgungsnetz 5 in der Stromversorgungseinheit 2 vorgesehen sein. Der Mikrocontroller 7 weist bevorzugt eine besonders geringe Leistungsaufnahme auf und verfügt über eine eingebaute Echtzeituhr 9 oder einen anderen Zeitgeber zum Auslösen von zeitgesteuerten Aktionen. Ist ein vorbestimmter Zeitpunkt erreicht, löst die Echtzeituhr 9 eine
Unterbrechungsaufforderung aus und weckt damit den
Mikrocontroller 7 aus einem Bereitschaftszustand. Der
Mikrocontroller 7 steuert dann die Schaltkomponente 6 so an, dass der Schaltwandler 4 mit dem Energieversorgungsnetz 5 verbunden wird und nachfolgend eine Betriebsspannung für die Systemkomponente 3 bereitstellt.
Die Systemkomponente 3, beispielsweise ein Mainboard des Computersystems 1, umfasst im Ausführungsbeispiel eine
Datenverarbeitungseinrichtung 10 sowie einen nicht-flüchtigen Speicher 11 zum Speichern eines BIOS-Programms. Der nicht ¬ flüchtige Speicher 11 kann beispielsweise als so genannter Flash-Speicher ausgeführt sein. Bei der Datenverarbeitungseinrichtung 10 kann es sich beispielsweise um einen Prozessor handeln. Die Systemkomponente 3 weist des Weiteren eine BIOS-Batterie 13 sowie eine Echtzeituhr 14 auf. Die BIOS-Batterie 13, die Echtzeituhr 14 und der nicht flüchtige Speicherbaustein 11 können als einheitliches
Bauteil oder als separate Komponente auf der Systemkomponente 3 angeordnet sein. Alternativ ist es auch möglich, Teile dieser Funktionseinheiten oder die gesamten
Funktionseinheiten in einen Chipsatz der Systemkomponente 3 zu integrieren.
Die Datenverarbeitungseinheit 10, der nicht flüchtige
Speicher 11 sowie die Echtzeituhr 14 werden in einem
Betriebs- oder Bereitschaftszustand des Computersystems 1 über einen Stromversorgungsanschluss 12, der beispielsweise gemäß dem ATX oder BTX-Standard ausgeführt ist, von der
Stromversorgungseinheit 2 mit einer Betriebsspannung
versorgt. Zum Einsparen von Energie in dem
Bereitschaftszustand können einzelne Komponenten der
Systemkomponente 3 abgeschaltet oder mit einer reduzierten Leistung betrieben werden. Beispielsweise ist es möglich, das eigentliche Rechenwerk der Datenverarbeitungseinheit 10 mit einem reduzierten oder gar keinem Arbeitstakt mehr zu
versorgen. Solange die Echtzeituhr 14 mit einer
Betriebsspannung versorgt wird, überwacht sie zuvor
programmierte Aufweckzeitpunkte und löst beim Erreichen eines derartigen Aufweckzeitpunkts eine Unterbrechungsanforderung aus, die von dem Datenverarbeitungselement 10 verarbeitet wird, sofern auch das Datenverarbeitungselement 10 zu diesem Zeitpunkt mit einer Betriebsspannung versorgt wird.
Die Komponenten 10 und 14 sind über einen so genannten Systemmanagementbu miteinander verbunden. Über den Systemmanagementbus 16 können insbesondere Einstellungen der Echtzeituhr 14 von dem Datenverarbeitungselement 10
programmiert oder abgerufen werden. Der Systemmanagementbus 16 ist des Weiteren über einen Schnittstellenanschluss 17 mit der Stromversorgungseinheit 2 gekoppelt. Über den
Schnittstellenanschluss 17 können Daten zwischen dem
MikroController 7 der Stromversorgungseinheit 2 und der
Datenverarbeitungseinheit 10 oder sonstigen Komponenten der Systemkomponente 3 ausgetauscht werden. Hierzu umfasst der Schnittstellenanschluss 17 eine Busschnittstelle 18 zu
Kopplung des Systemmanagementbusses 16 mit einer
gleichartigen Schnittstelle des Mikrocontrollers 7 der
Stromversorgungseinheit 2. Im Ausführungsbeispiel umfasst der Schnittstellenanschluss 17 zusätzlich einen Anschluss zum Übertragen der Spannung der BIOS-Batterie 11 der Systemkomponente 3. Die BIOS-Batterie 11 dient bei konventionellen Computersystemen dazu, die
Einstellung eines flüchtigen Speichers, insbesondere eines BIOS-Bausteins, auch bei Unterbrechung einer
Versorgungsspannung zu sichern und eine Taktschaltung der Echtzeituhr 9 der Systemkomponente 3 weiter zu betreiben. In der in der Figur 1 dargestellten Ausgestaltung wird die
Spannung der BIOS-Batterie 13 zusätzlich der Spannungsquelle 8 zur Versorgung des Mikrocontrollers 7 zugeführt. Somit kann auf eine gesonderte Batterie in der Versorgungseinrichtung 2 verzichtet werden.
In dem Fall, dass eine gesteigerte Belastung der BIOS- Batterie 13 der Systemkomponente 3 vermieden werden soll oder eine solche Batterie nicht auf der Systemkomponente 3
angeordnet ist, kann jedoch alternativ oder zusätzlich auch eine Zusatzbatterie 20 oder ein anderer Energiespeicher in der Versorgungseinrichtung 2 vorgesehen sein. In einer bevorzugten Ausgestaltung wird die Zusatzbatterie 20 in dem eingeschalteten Zustand von dem Schaltwandler 4 geladen. Für den Fall, dass sämtliche Energiespeicher des Computersystems 1 vollständig entladen wurden, umfasst die
Stromversorgungseinheit zusätzlich ein Schaltelement 15 zum manuellen Schließen der Schaltkomponente 6.
Figur 2 zeigt eine beispielhafte Ausgestaltung einer
Netzeingangsschaltung der Stromversorgungseinheit 2. Die
Schaltung gemäß Figur 2 umfasst eine Schaltkomponente 6 in Form eines bistabilen Relais, ein Schaltelement 15 in Form eines Tasters, einen passiven Netzeingangfilter 21, einen Gleichrichter 22 in Form einer Graetzbrücke und ein
Strombegrenzungselement 23 in Form eines Heißleiters Rntc. Das Strombegrenzungselement 23 kann mittels eines zweiten Relais 24 überbrückt werden, um Leistungsverluste an dem Strombegrenzungselement 23 im Betrieb zu verhindern. Hinter dem Strombegrenzungselement 23 ist ein Speicherkondensator Cl angeordnet, der zur Speisung eines in der Figur 2 nicht dargestellten Schaltwandlers dient. Die Schaltung gemäß Figur 2 weist zusätzlich einen Schaltausgang für einen Monitor auf, der mittels eines dritten Relais 25 in einem Betriebszustand der Versorgungseinrichtung 2 hinzugeschaltet wird.
Auf die Funktion und Ansteuerung der dargestellten Schaltung wird hier nicht weiter eingegangen. Aus dem Schaltplan der Figur 2 ist jedoch ersichtlich, dass durch korrekte
Ansteuerung des Relais 6 eine Leistungsaufnahme der
Versorgungseinrichtung 2 in einem Energiesparzustand oder ausgeschalteten Zustand vollständig unterbunden werden kann, indem ein Lastpfad vom Netzeingang zum Speicherkondensator Cl unterbrochen wird. Figur 3 zeigt eine schematische Darstellung von
Softwarekomponenten zum Programmieren der Echtzeituhren 9 und 14. Die Ansteuerung erfolgt durch eine mehrstufige
Ansteuerhierarchie .
In einer Softwareebene 30 befindet sich eine Anwendersoftware 31 sowie eine Betriebssystemsoftware 32. Die Anwendersoftware 31, beispielsweise ein Programm zum Aufzeichnen und
Wiedergeben von Videodaten, greift über eine
betriebssystemabhängige Schnittstelle auf die
Betriebssystemsoftware 32 zu. Über diese Schnittstellte vermittelt die Anwendersoftware 31 an das Betriebssystem 32 Anforderungen, wann der Computer 1 für eine bestimmte
Funktion, beispielsweise zur Aufzeichnung eines
Fernsehprogramms, zur Verfügung stehen soll.
Selbstverständlich können solche und andere zeitabhängige Anforderungen auch von der Betriebssystemsoftware 32 selbst ausgelöst werden, beispielsweise zum Durchführen einer regelmäßigen Datensicherung.
Die Softwareebene 30 greift zur Abarbeitung der Anfragen auf eine Firmwareebene 33 zurück. Im Ausführungsbeispiel umfasst die Firmwareebene 33 insbesondere ein BIOS-Programm 34, das im Ausführungsbeispiel in dem nicht-flüchtigen Speicher 11 der Systemkomponente 3 gespeichert ist. Das BIOS-Programm 34 hält plattformspezifische Softwareschnittstellen zur
Ansteuerung von Hardwarekomponenten des Computersystems 1 bereit. In einem Ausführungsbeispiel weist das BIOS-Programm 34 eine Schnittstelle zur Programmierung der Echtzeituhr 14 der Systemkomponente 3 auf. Ebenfalls in der Firmwareebene 33 angeordnet ist ein
Steuerprogramm 35, das von dem MikroController 7 der
Stromversorgungseinheit 2 ausgeführt wird. Das Steuerprogramm 35 kommuniziert mit dem BIOS-Programm 34 über die
Busschnittstelle 18. Insbesondere tauschen das BIOS-Programm 34 und das Steuerprogramm 35 Daten über das Wechseln eines Betriebszustands des Computersystems 1 aus. Darüber hinaus kann das BIOS-Programm 34 eine Programmierung der Echtzeituhr 14 der Systemkomponente 3 an das Steuerprogramm 35 zur
Programmierung der Echtzeituhr 9 der Stromversorgungseinheit 2 übertragen und umgekehrt.
In der Figur 4 ist eine Bildschirmmaske 40 zur Programmierung einer Echtzeituhr durch eine Komponente des Betriebssystems 32 dargestellt. Über die Bildschirmmaske 40 können
verschiedene Eigenschaften des auszuführenden Programms
(englisch Task) eingestellt werden. Insbesondere kann in einem unteren Bereich der Bildschirmmaske 40 ausgewählt werden, dass das Computersystem 1 zum Ausführen eines Tasks
( re- ) aktiviert werden soll. Wird ein entsprechender Haken gesetzt, wird vom Betriebssystem 32 eine Programmierung der Echtzeituhr 14 derart vorgenommen, dass beim Erreichen der zuvor gewählten Ausführungszeit eine
Unterbrechungsanforderung von der Echtzeituhr 14 an die
Datenverarbeitungseinheit 10 übermittelt wird, um den
spezifizierten Task auszuführen.
Figur 5 zeigt den zeitlichen Ablauf einer Programmierung der Echtzeituhren 14 beziehungsweise 9 sowie die Aktivierung des Computersystems 1 zu einem vorbestimmten Zeitpunkt. Aus der Figur 5 ergibt sich insbesondere auch das Zusammenwirken der unterschiedlichen Komponenten. In einem Schritt 50 wird eine Aufgabe, die von dem Computersystem 1 zu einem vorbestimmten Zeitpunkt Tl
ausgeführt werden soll durch Mittel des Betriebssystems 32 spezifiziert. Beispielsweise kann mittels der Bildschirmmaske 40 vorgegeben werden, dass zu dem vorbestimmten Zeitpunkt Tl ein vorbestimmtes Programm auf dem Computersystem 1
ausgeführt werden soll. Alternativ ist eine Programmierung auch durch höhere Softwareschichten, wie insbesondere die Anwendersoftware 31 möglich. Beispielsweise kann ein Programm zum Aufzeichnen eines digitalen Mediastroms programmiert werden, zu dem vorbestimmten Zeitpunkt Tl einen digitalen Datenstrom aufzuzeichnen.
In einem Schritt 51 wird der vorbestimmte Zeitpunkt Tl an eine Schnittstelle des BIOS-Programms 34 übertragen. Das BIOS-Programm 34 nimmt daraufhin eine Programmierung der Echtzeituhr 14 im Schritt 52 vor. In einem alternativen
Ausführungsbeispiel programmieren die Anwendersoftware 31 oder das Betriebssystem 32 die Echtzeituhr 14 direkt über eine Hardwareschnittstelle, beispielsweise durch Einschreiben entsprechender Werte direkt in ein Steuerregister eines
Echtzeituhrenbausteins . In diesem Fall fallen die Schritte 51 und 52 zusammen.
Die Echtzeituhr 14 des Computersystems 1 ist nun programmiert und würde zu einem vorbestimmten Zeitpunkt Tl eine
Unterbrechungsanforderung zurück an das Betriebssystem 32 senden. Dies ist jedoch nur möglich, solange die
Systemkomponente 3 mit einer Betriebsspannung versorgt wird und die Programmierung der Echtzeituhr 14 aufrechterhalten bleibt . Im in der Figur 5 dargestellten Ausführungsbeispiel wird jedoch schon vor Erreichen des vorbestimmten Zeitpunktes Tl in einem Schritt 53 eine Aufforderung zum Wechsel in einen Energiesparzustand durch das Betriebssystem 32 abgesetzt. Die Aufforderung wird von dem BIOS-Programm 34 in einem Schritt 54 empfangen.
Anstatt das Computersystem 1 unmittelbar in den
Energiesparzustand zu versetzen, liest das BIOS-Programm 34 in einem Schritt 55 zunächst die Programmierung der
Echtzeituhr 14 aus. In einem Schritt 56 wird die ausgelesene Programmierung über die Busschnittstelle 18 an das
Steuerprogramm 35 des MikroControllers 7 übertragen.
Daraufhin programmiert das Steuerprogramm 35 im Schritt 57 seinerseits die Echtzeituhr 9 des MikroControllers 7.
Bei der Programmierung der Echtzeituhr 9 können entweder das BIOS-Programm 34 oder das Steuerprogramm 35 optional eine vorbestimmte Vorlaufzeit ΔΤ von dem vorbestimmten Zeitpunkt Tl abziehen. Die Vorlaufzeit ΔΤ trägt dabei beispielsweise dem Umstand Rechnung, dass das Computersystem eine gewisse Zeit zum Starten benötigt, bevor die eigentliche Funktion, etwa das Aufzeichnen des digitalen Medienstroms, erfolgreich beginnen kann.
Ist die Echtzeituhr 9 erfolgreich programmiert, wird in einem nachfolgenden Schritt ein Befehl von dem BIOS-Programm 34 zum Aktivieren des Energiesparzustands an das Steuerprogramm 35 übertragen. Insbesondere kann das Steuerprogramm 35 nach Erhalt dieser Aufforderung in einem Schritt 58 die
Schaltkomponente 6 unterbrechen, um einen Schaltwandler 4 der Stromversorgungseinheit 2 von einem Energieversorgungsnetz 5 zu trennen. Alternativ kann das BIOS-Programm 34 auch bloß eine Aufforderung zum Wechsel in den Energiesparzustand an den MikroController 7 übermitteln. In diesem Fall ruft das
Steuerprogramm 35 eigenständig die Programmierung aus der ersten Echtzeituhr 14 ab und überträgt sie auf die zweite Echtzeituhr 9, bevor die Stromversorgung der Systemkomponente 3 unterbrochen wird.
Das Computersystem 1 befindet sich nun in einem
Energiesparzustand, in dem die Stromversorgungseinheit 2 keine Energie mehr aus dem Energieversorgungsnetz 5 aufnimmt. In diesem Betriebszustand wird lediglich die Echtzeituhr 9 des MikroControllers 7 von einer in das Computersystem 1 eingebauten, unabhängigen Energiequelle versorgt. Im
Ausführungsbeispiel handelt es sich insbesondere um die
Spannungsquelle 8 der Stromversorgungseinheit 2, die von der BIOS-Batterie 13 mit einer Betriebsspannung versorgt wird.
Zu einem Zeitpunkt Tl - ΔΤ, der um die Vorlaufzeit ΔΤ vor der vorbestimmten Zeit Tl liegt, löst die Echtzeituhr 9 eine Unterbrechungsanforderung auf. Dies führt zu einem Aufwecken des MikroControllers 7 im Schritt 59. Das Steuerprogramm 35 des MikroControllers 7 schließt daraufhin die
Schaltkomponente 6, so dass der Schaltwandler 4 die
Systemkomponente 3 erneut mit einer Betriebsspannung
versorgt. Abhängig von einer Voreinstellung des
Steuerprogramms 7 kann das Computersystem 1 entweder in einen Bereitschaftszustand oder in einen Betriebszustand versetzt werden, in dem zumindest Teile der Systemkomponente 3 mit einer Betriebsspannung versetzt werden. Im Schritt 60 wird daraufhin ein Teil des BIOS-Programms 34 ausgeführt, das unmittelbar nach dem Übergang in einen derartigen Betriebszustand aktiviert wird. Sofern eine
Programmierung der Echtzeituhr 14 der Systemkomponente 3 durch Unterbrechung der Stromversorgung gelöscht wurde, wird in einem nachfolgenden, optionalen Schritt 61 die
Programmierung der Echtzeituhr 9 von dem Mikrocontroller 7 abgefragt. Diese wird von dem Mikrocontroller 7 im Schritt 62 ausgelesen und zurück an das BIOS-Programm 34 übertragen. Daraufhin programmiert das BIOS-Programm 34 in einem weiteren Schritt 63 erneut die Echtzeituhr 14 der Systemkomponente 3. Bei der Programmierung der Echtzeituhr 14 wird die
gegebenenfalls vorab abgezogene Vorlaufzeit ΔΤ wieder auf die ursprüngliche Programmierung aufaddiert. Auch in diesem Fall kann die Programmierung unter Umgehung des BIOS-Programms 34 vorgenommen werden. Beispielsweise kann der Mikrocontroller 7 die Echtzeituhr 14 durch Setzen entsprechender Registerwerte direkt programmieren.
In einer weiteren, alternativen Ausgestaltung wird die
Programmierung zusätzlich in einem nichtflüchtigen Speicher der Systemkomponente 3 gespeichert. Beispielsweise kann eine Programmierung der Echtzeituhr 14 von dem BIOS-Programm 34 vor dem Aktivieren des Energiesparzustands in einem
batteriegepufferten CMOS-RAM abgelegt werden. Nach dem
Reaktivieren des BIOS-Programms kopiert dieses dann die Werte zurück in die Echtzeituhr 14.
Wird der vorbestimmte Zeitpunkt Tl schließlich erreicht, befindet sich die Echtzeituhr 14 somit in einem aktivierten Zustand und löst die vorab programmierte
Unterbrechungsanforderung aus. Diese wird in einem Schritt an das Betriebssystem 32 und von dort gegebenenfalls weiter an eine Anwendersoftware 31 übertragen, um die gewünschte Aktion auszuführen.
Im in der Figur 5 dargestellten Ausführungsbeispiel erfolgt eine Programmierung der Echtzeituhr 9 des MikroControllers 7 lediglich beim Aktivieren des Energiesparzustandes oder bei einem kontrollierten Abschalten des Computersystems 1.
Alternativ oder zusätzlich ist es auch möglich, unmittelbar beim Programmieren der Unterbrechungsanforderung in den
Schritten 50 bis 52 auch die Echtzeituhr 9 in der
Stromversorgungseinheit 2 mit zu programmieren. In diesem Falle werden die Schritte 56 und 57 bereits vor Anfordern des Energiesparzustands im Schritt 53 ausgeführt. In diesem Fall brauchen beim Aktivieren des Energiesparzustands keine weiteren Schritte vorgenommen zu werden. Die Echtzeituhr 9 ist in diesem Fall auch dann korrekt programmiert, wenn das Computersystem 1 abstürzt oder unvorhergesehen von einer Energieversorgung getrennt wird.
Selbstverständlich kann auf das Vorsehen und die
Programmierung der Echtzeituhr 14 der Systemkomponente 3 auch vollständig verzichtet werden, wenn stets für eine Umleitung von Anfragen an eine Echtzeituhr der Systemkomponente 3 über das BIOS-Programm 34 und/oder das Steuerprogramm 35 auf die Echtzeituhr 9 der Stromversorgungseinheit 2 Sorge getragen wird .
Es ist auch möglich, das Verhalten des Steuerprogramms 35 von einer gewählten Betriebsart abhängig zu machen.
Beispielsweise kann per BIOS-Einstellung ausgewählt werden, dass beim Wechsel in einen Energiesparzustand die Echtzeituhr 9 programmiert wird, so dass das Computersystem zu einer vorbestimmten Zeit T in den Betriebszustand wechselt, während beim Wechsel in einen ausgeschalteten Zustand eine solche Programmierung nicht vorgenommen wird, so dass eine
entsprechende Programmierung nicht ausgeführt wird.
Eine Programmierung der Echtzeituhren 9 beziehungsweise 14 kann erfindungsgemäß nicht nur über die Softwarekomponenten 31 und 32 des Computersystems 1 selbst, sondern auch aus der Ferne, beispielsweise von einem Wartungsrechner über eine Fernsteuerschnittstelle, vorgenommen werden. Auf diese Weise ist es insbesondere möglich, ein vorbestimmtes
Wartungsintervall für ein Computersystem 1 einzustellen, in dem es über Fernabfragen aufweckbar ist.
Bevorzugt wird das oben genannte Verfahren durch ausführbaren Programmcode verwirklicht, der in dem nicht-flüchtigen
Speicher der Systemkomponente und/oder einem nicht-flüchtigen Speicher des MikroControllers einer Stromversorgungseinheit gespeichert ist. Sofern das Computersystem bereits über zwei voneinander unabhängige Echtzeituhren verfügt, kann eine solche Funktionalität auch durch das nachträgliche
Installieren eines derartigen Programmcodes nachgerüstet werden, beispielsweise durch eine Aktualisierung eines BIOS- Programms .
Bezugs zeichen
1 ComputerSystem
2 Stromversorgungseinheit 3 Systemkomponente
4 Schaltwandler
5 Energieversorgungsnetz
6 Schaltkomponente
7 MikroController
8 Spannungsquelle
9 Echtzeituhr
10 Datenverarbeitungseinheit
11 nicht-flüchtiger Speicher
12 Stromversorgungsanschluss 13 BIOS-Batterie
14 Echtzeituhr
15 Schaltelement
16 Systemmanagementbus
17 Schnittstellenanschluss 18 Busschnittstelle
20 Zusatzbatterie
21 Netzeingangsfilter
22 Gleichrichter
23 Strombegrenzungselement 24 zweites Relais
25 drittes Relais
30 Softwareebene
31 Anwendersoftware
32 Betriebssystemsoftware 33 Firmwareebene
34 BIOS-Programm
35 Steuerprogramm
40 Bildschirmmaske
