-
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 Arbeitsverfahren für ein 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 zum Auslösung der Ausführung von benutzergesteuerten Prozessen eingesetzt werden.
-
Aus der
DE 695 18 114 T2 ist eine Echtzeitschaltung für ein Computersystem bekannt. Die Schaltung umfasst einen ersten Registersatz zum Speichern von Eingaben, ein Indexregister zum Speichern eines Indexwertes und einen damit gekoppelten Indexkodierer. Die Schaltung ist durch einen zweiten Registersatz und ein Konfigurationsregister zum Speichern eines Wertes zum Kontrollieren, ob der erste Registersatz oder der zweite Registersatz während eines vorgegebene I/O-Zyklus aktiviert ist, gekennzeichnet.
-
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 Arbeitsverfahren für eine Computersystem 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 einer Systemkomponente 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. Die Stromversorgungseinheit ist 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.
-
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 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. Hierdurch kann trotz völliger Abkopplung der Systemkomponente von einer Betriebsspannung ein Aufwecken des Computersystems zu einem programmierten Zeitpunkt sichergestellt werden.
-
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 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 die Systemkomponente eine Batterie und der Mikrocontroller der 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,
- – Deaktivieren der Stromversorgungseinheit nach dem Programmieren der zweiten Echtzeituhr, so dass die Systemkomponente in dem Energiesparzustand nicht mehr mit einer Betriebsspannung versorgt wird,
- – kontinuierliches Überwachen der zweiten Echtzeituhr auf Auftreten eines Aufwecksignals und
- – Aktivieren der Stromversorgungseinheit zur Versorgung der Systemkomponente mit einer Betriebsspannung beim Auftreten des Aufwecksignals.
-
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. Durch die genannten Schritte kann ein so genannter 0 W-Energiesparmodus mit Aufweckfunktion verwirklicht werden.
-
Gemäß einer vorteilhaften Ausgestaltung wird im Schritt des Übermittelns 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 12 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:
-
1 eine schematische Darstellung eines Computersystems gemäß einer Ausgestaltung der Erfindung,
-
2 eine schematische Darstellung einer Netzeingangsschaltung einer Stromversorgungseinheit,
-
3 eine schematische Darstellung einer Softwarearchitektur zum Programmieren einer Echtzeituhr und
-
4 eine Bildschirmmaske einer Softwarekomponente zum Programmieren einer Echtzeituhr,
-
5 eine schematische Darstellung eines Verfahrens zum Programmieren und Aufwecken eines Computersystems aus einem Energiesparzustand.
-
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 nichtflü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 eine 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, 11 und 14 sind über einen so genannten Systemmanagementbus 16 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 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.
-
2 zeigt eine beispielhafte Ausgestaltung einer Netzeingangsschaltung der Stromversorgungseinheit 2. Die Schaltung gemäß 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 C1 angeordnet, der zur Speisung eines in der 2 nicht dargestellten Schaltwandlers dient. Die Schaltung gemäß 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 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 C1 unterbrochen wird.
-
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 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.
-
5 zeigt den zeitlichen Ablauf einer Programmierung der Echtzeituhren 14 beziehungsweise 9 sowie die Aktivierung des Computersystems 1 zu einem vorbestimmten Zeitpunkt. Aus der 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 T1 ausgeführt werden soll durch Mittel des Betriebssystems 32 spezifiziert. Beispielsweise kann mittels der Bildschirmmaske 40 vorgegeben werden, dass zu dem vorbestimmten Zeitpunkt T1 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 T1 einen digitalen Datenstrom aufzuzeichnen.
-
In einem Schritt 51 wird der vorbestimmte Zeitpunkt T1 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 Einscheiben 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 T1 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 5 dargestellten Ausführungsbeispiel wird jedoch schon vor Erreichen des vorbestimmten Zeitpunktes T1 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 ΔT von dem vorbestimmten Zeitpunkt T1 abziehen. Die Vorlaufzeit ΔT 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 T1 – ΔT, der um die Vorlaufzeit ΔT vor der vorbestimmten Zeit T1 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 versorgt 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 einen weiteren Schritt 63 erneut die Echtzeituhr 14 der Systemkomponente 3. Bei der Programmierung der Echtzeituhr 14 wird die gegebenenfalls vorab abgezogene Vorlaufzeit ΔT 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 T1 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 64 an das Betriebssystem 32 und von dort gegebenenfalls weiter an eine Anwendersoftware 31 übertragen, um die gewünschte Aktion auszuführen.
-
Im in der 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.
-
Bezugszeichenliste
-
- 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