-
Die
vorliegende Erfindung bezieht sich auf den Betrieb von Mikrocomputern.
Genauer gesagt bezieht sich die vorliegende Erfindung auf ein Platzieren
eines Mikrocomputers in einem Schlafmodus.
-
Ein
Mikrocomputer, der bei einer elektronischen Fahrzeugsteuerung verwendet
ist, verwendet herkömmlicherweise
ein Mehraufgabenmerkmal (engl.: multitasking feature), das von einem
Betriebssystem (BS) angeboten wird, um mehrere Anwendungsaufgaben
zum Steuern von Objekten auszuführen.
-
Wenn
kein Verfahren notwendig ist, ermöglicht ein solcher Mikrocomputer
einen Schlafmodus, der weniger Strom als ein normaler Betrieb verbraucht
(siehe z. B. die offengelegte japanische Patentanmeldung Nr.
JP-2005-182223 A ).
Der Schlafmodus verringert beispielsweise eine CPU-Taktfrequenz
oder eine Stromversorgungsspannung oder stoppt ein Zuführen von
Takten oder eines Stroms zu der CPU.
-
Es
wird im Folgenden unter Bezugnahme auf 7 ein Beispielverfahren
zum Versetzen eines Mikrocomputers in einen Schlafmodus beschrieben. Um
einer Zweckmäßigkeit
willen nimmt die vorliegende Beschreibung beispielsweise gelegentlich
auf eine Aufgabe Bezug, die eine Handlung durchführt, die beispielsweise die
Verwendung eines Computerprogramms bedeutet, das auf einer Hardware-Vorrichtung,
wie einer Steuerung oder einem Computer, in Betrieb ist oder ausgeführt wird,
wie hierin beschrieben ist. Eine Verwendung eines solchen Ausdrucks
kann bedeuten, dass ein Computer Anweisungen von beispielsweise
einem computerlesbaren Medium, wie einer Speichervorrichtung, einem
Datenübertragungskanal,
einem Kommunikationskanal oder dergleichen, liest und die Anweisungen
oder das Programm ausführt,
um den Operationsinhalt zu implementieren, der hierin hinsichtlich
einer Funktionseinrichtung oder dem Inhalt der Programmfunktion,
der Aufgabe, des Moduls oder desgleichen beschrieben sein kann,
wie für
einen Fachmann zu erkennen ist.
-
Ein
Beispiel in 7 nimmt Bezug auf Anwendungsaufgaben
1 und 2. Das Beispiel nimmt ferner Bezug auf eine Systemaufgabe,
die die Anwendungsaufgaben 1 und 2 periodisch aufweckt. Die Systemaufgabe
wacht jede Millisekunde auf und fordert auf, die Anwendungsaufgabe
1 aufzuwecken. Die Systemaufgabe fordert jedes zweite Mal, wenn die
Systemaufgabe aufwacht, auf, die Anwendungsaufgabe 2 zu wecken.
Die Anwendungsaufgabe 1 wacht daher jede Millisekunde auf. Die Anwendungsaufgabe
2 wacht alle zwei Millisekunden auf. Die Aufgaben sind in der Reihenfolge „Systemaufgabe > Anwendungsaufgabe
1 > Anwendungsaufgabe
2" priorisiert.
-
Jede
der Anwendungsaufgaben 1 und 2 bestimmt, ob eine Ausführung notwendig
ist, und betritt einen Schlafbereitzustand, wenn eine Bestimmung durchgeführt wird,
dass keine Ausführung
notwendig ist. Wenn bestimmt wird, dass der Schlafbereitzustand
zu betreten ist, führt
die Anwendungsaufgabe ein Verfahren zum Einstellen einer Schlaf-Flag
durch, die für
die Aufgabe vorgesehen ist. Die Systemaufgabe wacht auf, um die
Schlaf-Flag-Einstellungen von allen Anwendungsaufgaben zu prüfen. Wenn
alle Schlaf-Flags eingestellt sind, führt die Systemaufgabe, beispielsweise
ohne aufzufordern, die Anwendungsaufgaben aufzuwecken, eine Prozedur
durch, um den Mikrocomputer in den Schlafmodus zu versetzen.
-
Gemäß dem Beispiel
in 7 bestimmt die Systemaufgabe, dass die Anwendungsaufgabe
1 zu einer Zeit t3 zu dem Schlafbereitzustand geht und dass die
Anwendungsaufgabe 2 zu einer Zeit t4 zu dem Schlafbereitzustand
geht. Lediglich wenn die Systemaufgabe zu einer Zeit t5 aufwacht,
kann diese den Mikrocomputer in einen Schlafmodus versetzen. Wie
in 7 gezeigt ist, wacht die Systemaufgabe in Intervallen
einer Millisekunde auf, die beispielsweise Zeiten t1, t2 und t5
entsprechen. Zu der Zeit t1 wacht die Systemaufgabe auf und fordert
die Anwendungsaufgaben 1 und 2 auf, aufzuwachen. Die Anwendungsaufgabe
1 erwacht und führt
ein notwendiges Verarbeiten durch. Da der Anwendungsaufgabe 2 eine
niedrigere Priorität
als der Systemaufgabe und der Anwendungsaufgabe 1 zugewiesen ist,
ist der Zeitraum zum Ausführen
der Anwendungsaufgabe 2 der Zeitraum zwischen dem Abschluss der
Ausführung
der Aufgabe 1 und dem Zeitraum, wenn die Systemaufgabe bei t2 erwacht.
Bei t3 geht die Anwendung 1 zu dem Schlafbereitzustand, und bei
t4 geht die Anwendung 2 zu dem Schlafbereitzustand. Da die Systemaufgabe
immer noch schlafend ist, wird jedoch diese die Flags bis zu der
Zeit t5 nicht prüfen und
am Ende der Prüfprozedur
den Mikrocomputer in dem Schlafmodus platzieren.
-
Wie
im Zusammenhang mit dem im Vorhergehenden erwähnten Verfahren, bei dem die
Systemaufgabe verwendet wird, um einen Übergang zu dem Schlafmodus
zu steuern, bemerkt ist, kann der Mikrocomputer nicht in den Schlafmodus
versetzt werden, bis die Systemaufgabe aufwacht, selbst wenn alle
Anwendungsaufgaben in dem Schlafbereitzustand sind. Wie in 7 gezeigt
ist, stellt daher die Zeit zwischen t4 und dem Ende von t5 einen
Verlustbetrieb dar, und eine elektrische Energie geht demgemäß verloren.
-
Eine
Leerlaufaufgabe kann als ein anderes Verfahren zum Versetzen des
Mikrocomputers in einen Schlafmodus verwendet sein. Eine Verwendung der
Leerlaufaufgabe, um einen Übergang
zu dem Schlafmodus zu steuern, bewirkt jedoch aus folgenden Gründen ebenfalls
Probleme, die jenen, die der Verwendung der Systemaufgabe zugeordnet
sind, ähnlich
sind. Der Leerlaufaufgabe ist die niedrigste Priorität gegeben,
und diese wird ausgeführt,
wenn keine anderen Aufgaben ausgeführt werden. Anstatt der Systemaufgabe
prüft die
Leerlaufaufgabe Schlaf-Flags von allen Anwendungsaufgaben. Wenn alle
Schlaf-Flags eingestellt sind, führt
die Leerlaufaufgabe ein Verfahren durch, um den Mikrocomputer in
den Schlafmodus zu versetzen. Ein Zustand eines Ausführens der
Leerlaufaufgabe kann einem Zustand eines Versetzens des Mikrocomputers
in den Schlafmodus gleichen. Bei einem solchen Fall kann die Leerlaufaufgabe
unbedingt den Mikrocomputer in einen Schlafmodus versetzen, selbst
wenn Aufgaben eine Ausführung
erfordern (siehe z. B. die
JP-2005-182223 A ).
-
Es
sei beispielsweise angenommen, dass die Anwendungsaufgabe 2 vor
der Zeit 1 bereits in dem Schlafbereitzustand ist. Wenn die Systemaufgabe
zu der Zeit t1 aufwacht, fordert diese die Anwendungsaufgaben 1
und 2 auf, aufzuwachen. Selbst wenn die Anwendungsaufgabe 1 aufwacht
und zu dem Schlafbereitzustand geht, wird daher die Anwendungsaufgabe
2 bereits aufgefordert, aus dem Schlafbereitzustand aufzuwachen.
Wenn die Anwendungsaufgabe 1 endet, wird dann die Anwendungsaufgabe
2 ausgeführt.
Wenn die Anwendungsaufgabe 2 endet, versetzt die Leerlaufaufgabe
den Mikrocomputer in den Schlafmodus.
-
Bei
dem vorliegenden Beispiel geht jedoch ein Betrieb zwischen der Zeit,
wenn die Anwendungsaufgabe 1 endet, und der Zeit, wenn die Anwendungsaufgabe
2 endet, verloren, und eine elektrische Energie geht demgemäß wieder
verloren. Wenn die Leerlaufaufgabe verwendet wird, um einen Übergang
zu dem Schlafmodus zu steuern, kann daher ein Übergang aus dem Schlafmodus
schwierig sein, und es ist ferner schwierig, andere Funktionen in
die Leerlaufaufgabe einzubauen.
-
Die
vorliegende Erfindung wurde in Anbetracht des Vorhergehenden geschaffen.
Eine Aufgabe der vorliegenden Erfindung besteht daher darin, einen
Mikrocomputer, wenn möglich,
schnell in einen Schlafmodus zu versetzen und zu verhindern, dass eine
elektrische Energie verloren geht.
-
Um
die im Vorhergehenden erwähnte
Aufgabe zu lösen,
führt ein
Mikrocomputer eine Anwendungsaufgabe aus und umfasst eine Schlafübergangs-Verwaltungseinrichtung.
-
Die
Schlafübergangs-Verwaltungseinrichtung
startet, wenn eine Anwendungsaufgabe ihren Schlafbereitzustand,
wie einen Zustand, der fähig
ist, die Anwendungsaufgabe zu inaktivieren, meldet. Der Statusverwaltungsabschnitt
speichert eine Geschichte des Schlafbereitzustands, der der Anwendungsaufgabe,
die die Meldung ausgibt, zuzuteilen ist. Der Statusverwaltungsabschnitt
prüft die
Geschichte über
alle Anwendungsaufgaben, um zu bestimmen, ob alle Anwendungsaufgaben
zu Schlafbereitzuständen gehen
oder nicht. Wenn die Bestimmung ein bejahendes Resultat ergibt,
versetzt der Statusverwaltungsabschnitt den Mikrocomputer in einen
Schlafmodus, der weniger Energieverbrauch als ein normaler Betrieb
erfordert.
-
Die
Anwendungsaufgabe führt
ein Meldungsverfahren zum Ausgeben der Meldung durch, wenn die Anwendungsaufgabe
selbst zu einem Schlafbereitzustand geht.
-
Der
Mikrocomputer kann sofort zu dem Schlafmodus gehen, wenn alle Anwendungsaufgaben
zu Schlafbereitzuständen übergehen
und der Mikrocomputer für
den Schlafmodus bereit ist. Es ist möglich, das Problem der Verlustenergie
bei dem Stand der Technik zu lösen.
-
Das
Meldungsverfahren wird vorzugsweise am Ende der Anwendungsaufgabe
durchgeführt,
da, beispielsweise, wenn die Anwendungsaufgabe, die die Meldung
ausgibt, endet, die Schlafübergangs-Verwaltungseinrichtung
bestimmt, ob alle Anwendungsaufgaben zu Schlafbereitzuständen gehen oder
nicht. Es ist daher möglich,
zuverlässig
zu verhindern, dass ein Schlafzustand während einer Ausführung der
Anwendungsaufgabe auftritt.
-
Es
sei bemerkt, dass ferner ein exemplarisches Verfahren, das beispielsweise
durch die Ausführung
eines Computerprogramms auf einem Computer implementiert werden
kann, geschaffen ist. Das exemplarische Computerprogramm, wie dieses,
das als Anweisungen, die von einem Herstellungsgegenstand, der ein
computerlesbares Medium umfasst, gelesen werden, ausgeführt ist,
erlaubt einem Computer, Prozeduren, die einem exemplarischen Verfahren
oder einer exemplarischen Funktion, wie der Schlafübergangs-Verwaltungseinrichtung,
zugeordnet sind, durchzuführen,
und kann in einem Mikrocomputer ausgeführt sein, ohne eine zusätzliche Hardware
zu verwenden.
-
Der
exemplarische Mikrocomputer ist auf verschiedene Ausführungsbeispiele,
die eine elektronische Fahrzeugsteuerung, die insbesondere gefordert
ist, um den Strom verbrauch zu reduzieren, umfassen, anwendbar. Der
Mikrocomputer kann ferner Energie sparen, wenn die elektronische
Fahrzeugsteuerung fähig
ist, inaktiviert zu werden.
-
Die
vorhergehenden und andere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden aus der folgenden detaillierten Beschreibung, die
unter Bezugnahme auf die beigefügten Zeichnungen
vorgenommen ist, offensichtlicher. Es zeigen:
-
1 ein
Diagramm, das eine Konfiguration einer elektronischen Fahrzeugsteuerung
(ECU) gemäß einem
exemplarischen Ausführungsbeispiel darstellt;
-
2 ein
Diagramm, das eine Konfiguration einer Software, die in einem exemplarischen
Mikrocomputer ausgeführt
wird, darstellt;
-
3 ein
Flussdiagramm, das ein Verfahren von jeder Anwendungsaufgabe darstellt;
-
4 ein
Flussdiagramm, das ein Verfahren eines Statusverwaltungsabschnitts
SM darstellt;
-
5 ein
Funktionsflussdiagramm, das Operationen gemäß den in 3 und 4 gezeigten
exemplarischen Verfahren darstellt;
-
6 ein
Zeitdiagramm, das einen Effekt, der verschiedenen exemplarischen
Ausführungsbeispielen
zugeordnet ist, darstellt; und
-
7 ein
Zeitdiagramm, das Nachteile, die dem Stand der Technik zugeordnet
sind, darstellt.
-
Es
ist die folgende Beschreibung einer elektronischen Fahrzeugsteuerung
gemäß einem
Ausführungsbeispiel
der Erfindung vorgesehen. Die elektronische Steuerung gemäß dem beschriebenen Ausführungsbeispiel
steuert Funktionen, die Fahrzeugkörper einheiten, wie einem elektrischen
Fensterheber und einer Türverriegelung,
zugeordnet sind. Bei der folgenden Beschreibung sei bemerkt, dass sich
hierin die Abkürzung „ECU" auf eine elektronische
Steuerung, eine elektronische Steuereinheit, eine Maschinensteuereinheit,
eine Maschinenverwaltungseinheit oder dergleichen beziehen kann,
wie für
einen Fachmann zu erkennen ist.
-
Wie
in 1 gezeigt ist, umfasst eine ECU 11 gemäß dem vorliegenden
Ausführungsbeispiel
einen Mikrocomputer 13, eine Eingangsschaltung 15, die
beispielsweise dem Mikrocomputer 13 erlaubt, ein Sensorsignal
oder ein Schaltersignal, das von einer Schaltung zugeführt wird,
zu empfangen, eine Ausgangsschaltung 17, die beispielsweise
basierend auf einem Signal von dem Mikrocomputer 13 ein
Ansteuersignal zu verschiedenen Betätigungsvorrichtungen, die beispielsweise
einer Fahrzeugkörperanordnung,
wie einem Motor eines elektrischen Fensterhebers und einem Türverriegelungsmotor
oder dergleichen, oder anderen Anordnungen zugeordnet sind, ausgibt,
und eine Kommunikationsschaltung 19, die dem Mikrocomputer 13 erlaubt,
mit einer anderen bordeigenen ECU über eine Kommunikationsleitung 18 zu
kommunizieren.
-
Der
Mikrocomputer 13 umfasst allgemein bekannte Elemente, wie
beispielsweise eine CPU 21, einen ROM 23, einen
RAM 25 und einen I/O-Anschluss 27. Der ROM 23 speichert
ein Programm, wie ein Software-Programm mit Anweisungen, die durch
die CPU 21 ausgeführt
werden. Der RAM 25 speichert vorübergehend ein Betriebsresultat
von einer Programmausführung,
wie Daten oder eine Flag. Es ist ferner erkennbar, dass die Anweisungen
auf anderen computerlesbaren Medien, wie äußeren Speichervorrichtungen
umfassend, jedoch nicht begrenzt auf, flexible Platten, optische
Platten, Speichervorrichtungen eines universellen seriellen Bus (USB),
Netzschnittstellen und dergleichen, getragen sein können.
-
Der
Mikrocomputer 13 verwendet das BS-angebotene Mehraufgabenmerkmal,
um mehrere Anwendungsaufgaben für
ein Wechselwirken mit zu steuernden Fahrzeuganordnungen auszuführen. Der ROM 25 speichert
eine Software, die nicht nur das BS und die Anwendungsaufgaben sondern
auch eine Systemaufgabe ST (engl.: System Task) und einen Statusverwaltungsabschnitt
SM (engl.: System Management) umfasst.
-
Wie
in 2 gezeigt ist, umfassen Anwendungsaufgaben AP1
bis APx, wobei x eine ganze Zahl größer als oder gleich 2 ist,
Anwendungen oder Aufgaben, die Anwendungen oder Anwendungsaufgaben,
die periodisch ausgeführt
werden, zugeordnet sind. Bei einem typischen Ausführungsbeispiel fordert
die Systemaufgabe ST, dass das BS die Anwendungsaufgabe zu einer
Zeit, die ihrem Ausführungsintervall
entspricht, aufweckt. Die Systemaufgabe ST wacht in einem Intervall
auf, das einem kleinsten gemeinsamen Teiler, wie einer Millisekunde gemäß dem vorliegenden
Ausführungsbeispiel,
von Ausführungsintervallen
für alle
periodischen Anwendungsaufgaben äquivalent
ist.
-
Der
Statusverwaltungsabschnitt SM ist ein Programm, das erfasst, ob
alle Anwendungsaufgaben AP1 bis APx bereit sind, inaktiv zu werden,
und, wenn dem so ist, den Mikrocomputer 13 in den Schlafmodus
versetzt.
-
Es
ist erkennbar, dass manche Anwendungsaufgaben bei einem Auftreten
eines außerplanmäßigen Ereignisses,
wie durch ein Einschalten eines spezifischen Schalters, durch ein
Empfangen eines spezifischen Signals von einer anderen ECU oder
dergleichen, sofort aufwachen.
-
Wie
in 2 gezeigt ist, umfasst jede der Anwendungsaufgaben
AP1 bis APx ein oder mehrere Module, auf die im Folgenden als Anwendungsmodule
Bezug genommen ist. Die Anwendungsaufgabe AP1 umfasst beispielsweise
so viel wie y Anwendungsmodule AP1-1 bis AP1-y, wobei y eine ganze Zahl
größer als
oder gleich 1 ist. Die Anwendungsaufgabe APx umfasst so viel wie
z Anwendungsmodule APx-1 bis APx-z, wobei z eine ganze Zahl größer als
oder gleich 1 ist. Die Anwendungsmodule liefern verschiedene Niveaus
einer Steuerung von und einer Wechselwirkung mit beispielsweise
Einheiten, Anordnungen oder dergleichen, wie einer Türverriegelungseinheit, einer
Kofferraumdeckel-Steuereinheit, einer Raumbeleuchtungseinheit, Betriebsleuchten,
elektrischen Fensterhebern und dergleichen.
-
Das
Folgende beschreibt unter Bezugnahme beispielsweise auf das in 3 gezeigte
Flussdiagramm ein Verfahren, das jeder Anwendungsaufgabe, wie einer
Funktion, die durch die Anwendungsaufgabe implementiert ist, zugeordnet
sein kann. Während
das exemplarische Verfahren hinsichtlich auf einer Anwendungsaufgabe
APn, wobei n 1 bis x ist, beschrieben ist, kann die gleiche Beschreibung auf
andere Anwendungsaufgaben angewandt sein.
-
Unter
Bezugnahme auf das Flussdiagramm beginnt bei dem Start des exemplarischen
Verfahrens die Anwendungsaufgabe APn und führt ein Verfahren durch, das
beispielsweise jedem der Anwendungsmodule, die bei S110 in der Anwendungsaufgabe
APn umfasst sind, zugeordnet ist.
-
Wenn
Verfahren von allen Anwendungsmodulen enden, wie JA bei S120, bestimmt
die Anwendungsaufgabe APn, ob jedes von allen Anwendungsmodulen
zu einem Schlafbereitzustand, das heißt, einem Zustand, der bereit
ist, bei S130 inaktiv zu werden, geht. Es sei bemerkt, dass ein
Anwendungsmodul zu dem Schlafbereitzustand fortschreiten wird, wenn
dieses zugeordnete Steueroperationen abgeschlossen hat und keine
weiteren Steueroperationen geliefert werden müssen, wie im Folgenden beschrieben
ist.
-
Wenn
ein Anwendungsmodul beispielsweise einen elektrischen Fensterheber
steuert, wird das Anwendungsmodul während eines gegebenen Zeitintervalls
mehr als einmal ausgeführt,
um eine Folge von Steueroperationen über den elektrischen Fensterheber
zu implementieren. Wenn die Folge von Steuerungen vollständig ist
und keine weitere Steueraufforderungen auftreten, dann kann in Betracht gezogen
werden, dass, beispielsweise bis die nächste Aufforderung oder Folge
von Aufforderungen erzeugt wird, keine weiteren Steueroperationen
erforderlich sind. Ferner sei bemerkt, dass einige Anwendungsmodule
jedes Mal, wenn diese enden, wie wenn keine weitere Aufforde rung
oder Folge von Aufforderungen, die Steueroperationen betrifft, erzeugt wird,
zu dem Schlafbereitzustand gehen.
-
Das
exemplarische Verfahren bestimmt, ob jedes der Anwendungsmodule
zu dem Schlafbereitzustand geht oder nicht. Basierend auf einem
Bestimmungsresultat bestimmt das Verfahren, ob die Anwendungsaufgabe
APn zu dem Schlafbereitzustand geht oder nicht (S140). Das Verfahren
bestimmt insbesondere, ob alle Anwendungsmodule zu dem Schlafbereitzustand
gehen oder nicht. Wenn alle Anwendungsmodule zu dem Schlafbereitzustand gehen,
bestimmt das Verfahren, dass die Anwendungsaufgabe APn zu dem Schlafbereitzustand geht.
-
Wenn
bestimmt wird, dass die Anwendungsaufgabe APn nicht in dem Schlafbereitzustand
ist, wie ein Resultat NEIN bei S140, endet die Anwendungsaufgabe
APn.
-
Wenn
bestimmt wird, dass die Anwendungsaufgabe APn in dem Schlafbereitzustand
ist, wie ein Resultat JA bei S140, kann bei S150 ein Meldungsverfahren
durchgeführt
werden, um dem Statusverwaltungsabschnitt SM zu melden, dass die
Anwendungsaufgabe APn in dem Schlafbereitzustand ist. Gemäß dem vorliegenden
Ausführungsbeispiel
können
die exemplarischen Verfahrensaufrufe eine Schlafbereitfunktion,
wie SchlafenOK(n), aufrufen, um die Meldung durchzuführen. Es
sei bemerkt, dass das eingeklammerte n in der Schlafbereitfunktion
das Argument oder der Parameter der Funktion ist und beispielsweise
eine Bezeichnung der Anwendungsaufgabe, die die Funktion aufgerufen
hat, darstellen kann. Die Anwendungsaufgabe APn endet dann.
-
Wenn
eine Anwendungsaufgabe nach einem Abschluss einer Ausführung zu
dem Schlafbereitzustand geht, kann es bei manchen exemplarischen Ausführungsbeispielen
bevorzugt sein, beispielsweise bei S130 und bei S140 die Bestimmungen
wegzulassen und immer am Ende der Anwendungsaufgabe die Schlafbereitfunktion
aufzurufen.
-
Es
werden nun Bezug nehmend auf ein Flussdiagramm einer im Zusammenhang
mit 4 gezeigten exemplarischen Prozedur im Folgenden Funktionen
und Prozedu ren, die einem exemplarischen Statusverwaltungsabschnitt
SM zugeordnet sind, wie eine exemplarische Funktion, die durch den Statusverwaltungsabschnitt
SM implementiert ist, beschrieben.
-
Während eine
Ausführung
beispielsweise im Zusammenhang mit dem Mikrocomputer 13 durchgeführt wird,
ruft eine der Anwendungsaufgaben AP1 bis APx die Schlafbereitfunktion
SchlafenOK(n) mit einem Argument n mit einem Wert von 1 bis x auf.
Ein Programm, das dem Statusverwaltungsabschnitt SM entspricht,
wird unmittelbar ausgeführt.
-
Wenn
das Programm, das dem Statusverwaltungsabschnitt SM entspricht,
ausgeführt
wird, kann eine Schlafbereit-Flag-Einstellfunktion, wie Flag(n),
verwendet werden, um bei S210 eine Schlafbereit-Flag auf 1 einzustellen.
Es ist erkennbar, dass das eingeklammerte Argument n, das der Schlafbereit-Flag-Einstellfunktion
zugeordnet ist, beispielsweise eine Bezeichnung der Anwendungsaufgabe, die
die Schlafbereitfunktion aufgerufen hat, darstellen kann. Die Schlafbereit-Flag
kann bei S210 verwendet werden, um eine Geschichte des Schlafbereitzustands,
der der Anwendungsaufgabe zugeteilt ist, und Meldungen, die durch
diese geliefert werden, zu speichern.
-
Bei
S220 kann bestimmt werden, ob alle Schlafbereit-Flags, die den Schlafbereit-Flag-Einstellfunktionen,
wie Flag(1) bis Flag(x), zugeordnet sind, für alle Anwendungsaufgaben AP1
bis APx eingestellt sind.
-
Wenn
alle Schlafbereit-Flags, die den Schlafbereit-Flag-Einstellfunktionen
Flag(1) bis Flag(x) zugeordnet sind, für alle Anwendungsaufgaben AP1
bis APx eingestellt sind, wie ein Resultat JA bei S220, kann der
Mikrocomputer 13 bei S230 unmittelbar in dem Schlafmodus
platziert werden, derart, dass weniger Energie als für einen
normalen Betrieb erforderlich ist. Der Betrieb einer Schwingschaltung
zum Zuführen
von Takten zu dem CPU 21 kann beispielsweise gestoppt werden,
oder der Betrieb einer Stromversorgungsschaltung zum Zuführen eines
Stroms zu dem Mikrocomputer 13 kann gestoppt werden. Bei S230
kann daher der Mikrocomputer 13 gestoppt werden, oder das
Verfahren kann bei S230 alternativ die Taktfrequenz oder die Stromversorgungsspannung
für die
CPU 21 verringern. Im Gegensatz zu dem Stand der Technik
erfolgt bei einem Platzieren des Mikrocomputers 13 oder
der Steuerung oder dergleichen in einem Schlafmodus keine Verzögerung, da
es kein Warten auf den Ablauf eines Intervalls, während dessen
ein Modul, wie ein Leerlaufmodul oder dergleichen, den Ausführungszustand
im Hinblick auf ein Schlafen prüft,
gibt.
-
Wenn
die Bestimmung bei S220 ein negatives Resultat ergibt, derart, dass
mindestens eine der Schlafbereit-Flags nicht eingestellt ist, kann
eine Prozedur, die dem Statusverwaltungsabschnitt SM zugeordnet
ist, beendet werden. Es wird alternativ ein anderes Verfahren durchgeführt oder
gestartet, woraufhin eine Ausführung,
die dem Statusverwaltungsabschnitt SM zugeordnet ist, beendet werden
kann.
-
Es
werden nun die im Vorhergehenden erwähnten Verfahren hinsichtlich
von 5 und 6 beschrieben. Gemäß dem Beispiel
in 7 kann angenommen werden, dass zwei Anwendungsaufgaben
AP1 und AP2 verwendet werden. Die Systemaufgabe ST fordert auf,
die Anwendungsaufgabe AP1 jede Millisekunde und die Anwendungsaufgabe AP2
alle zwei Millisekunden aufzuwecken. Die Aufgaben sind priorisiert,
derart, dass die Reihenfolge wie folgt ist. Die Systemaufgabe ST
hat eine Priorität, die
größer als
dieselbe der Anwendungsaufgabe AP1 ist, die größer als dieselbe der Anwendungsaufgabe
AP2 ist (priST > priAP1 > priAP2). Ferner sei bemerkt,
dass in 5 die Zahlen, die mit S beginnen,
verschiedenen exemplarischen Prozeduren, die im Zusammenhang mit 3 und 4 gezeigt
und beschrieben sind, entsprechen. 5 zeigt
verschiedene Funktionsflüsse
eines Betriebs zwischen Anwendungsaufgaben und dem Statusverwaltungsabschnitt
SM gemäß verschiedenen
Ausführungsbeispielen
als eine Funktion der Zeit.
-
Wie
im Zusammenhang mit dem oberen Abschnitt von 5 gezeigt
ist, ruft die Anwendungsaufgabe AP1, wie bei S150, die Schlafbereitfunktion SchlafenOK(1)
auf. Nach einem Empfangen der Resultate der Schlafbereitoperation
beginnt der Statusverwaltungsabschnitt SM, wie bei S210, Flag(1)
einzustellen. Der Statusverwaltungsab schnitt SM bestimmt ferner,
wie bei S220, ob die Schlafbereit-Flags Flag(1) und Flag(2) beide
für die
Anwendungsaufgaben AP1 und AP2 eingestellt sind.
-
Gemäß dem vorliegenden
Beispiel von 5 ist die Schlafbereit-Flag
Flag(2) für
die Anwendungsaufgabe AP2 nicht eingestellt. Der Mikrocomputer 13 geht
daher nicht zu dem Schlafmodus über und
setzt stattdessen einen normalen Betrieb fort.
-
Die
Anwendungsaufgabe AP2 ruft dann die Schlafbereitfunktion SchlafenOK(2)
auf, die anzeigt, dass die AP2-Anwendungsaufgabe für ein Schlafen bereit
ist. Der Statusverwaltungsabschnitt SM startet neu, um Flag(2) einzustellen.
Der Statusverwaltungsabschnitt SM bestimmt wieder, wie gemäß S220,
ob die Schlafbereit-Flags, die mit Flag(1) und Flag(2) zugeordnet
sind, beide für
die Anwendungsaufgaben AP1 und AP2 eingestellt sind oder nicht.
-
Nach
einem Bestimmen, dass beide Schlafbereit-Flags für die Anwendungsaufgaben AP1
und AP2 eingestellt sind, kann beispielsweise der Statusverwaltungsabschnitt
SM ein Verfahren durchführen, um
den Mikrocomputer 13 in den Schlafmodus zu versetzen, wobei
der Mikrocomputer an diesem Punkt den Betrieb stoppt. Wie im Vorhergehenden beschrieben
ist, kann der Übergang
zu dem Schlafmodus eine Verringerung der Taktfrequenz oder eine Verringerung
der Stromversorgungsspannung für
die CPU 21 umfassen, wobei die CPU 21 an diesem Punkt
bei einem niedrigeren Strompegel als normal langsamer als normal
in Betrieb ist, was in Gesamtenergieeinsparungen resultiert.
-
Wie
in 6 gezeigt ist, kann der Mikrocomputer 13 sofort
zu dem Schlafmodus gehen, wenn alle Anwendungsaufgaben zu Schlafbereitzuständen gehen.
Bei dem vorliegenden Beispiel sei bemerkt, dass die Anwendungsaufgabe
AP2 zu dem Schlafbereitzustand geht und der Mikrocomputer 13 für den Schlafmodus
bereit ist. Es ist daher möglich,
das Problem der Verlustenergie, die bei dem Stand der Technik üblich ist,
zu lösen.
-
Es
sei bemerkt, dass das vorliegende Ausführungsbeispiel ein Computerprogramm
verwenden kann, um die Funktion als den Statusverwaltungsabschnitt
SM zu implementieren. Der im Vorhergehenden erwähnte Effekt kann geliefert
werden, ohne eine zusätzliche
Hardware zu verwenden. Wenn die Leerlaufaufgabe als die am wenigsten
priorisierte Aufgabe verwendet wird, kann die Leerlaufaufgabe ohne Weiteres
mit einer Funktion, wie einem Prüfen
des Speichers auf eine Anomalie, versehen sein.
-
Die
ECU 11, die einen solchen Mikrocomputer 13 verwendet,
kann den Energieverbrauch für
den inaktiven Zustand effektiver als bei dem Stand der Technik vermindern.
-
Bei
dem vorliegenden Ausführungsbeispiel ist
der Statusverwaltungsabschnitt SM einer Schlafübergangs-Verwaltungseinrichtung
oder einem Programm, das dem Computer erlaubt, als die Schlafübergangs-Verwaltungseinrichtung
zu funktionieren, äquivalent.
-
Obwohl
das spezifische bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung beschrieben wurde, versteht es sich klar
von selbst, dass die Erfindung darauf nicht begrenzt ist, sondern
innerhalb des Geistes und des Schutzbereichs der Erfindung sonst
unterschiedlich ausgeführt
sein kann. Das BS kann beispielsweise Funktionen, wie die Systemaufgabe
ST und den Statusverwaltungsabschnitt SM, umfassen. Das exemplarische
Verfahren oder die exemplarischen Prozeduren, die dem Verwaltungsabschnitt
SM zugeordnet sind, können
bei der Systemaufgabe ST oder einer der Anwendungsaufgaben durchgeführt werden.
Eine Anwendungsaufgabe oder ein Anwendungsmodul können bei
der Systemaufgabe ST durchgeführt
werden. D. h., an Stelle der Systemaufgabe ST kann eine gegebene Anwendungsaufgabe
eine Steuerung, wie ein Aufwecken von Aufgaben, liefern. Obwohl 2 die
Zahl von Anwendungsaufgaben (x) als zwei oder mehr definiert, kann
eine Anwendungsaufgabe verwendet sein.
-
Ferner
sei bemerkt, dass die Erfindung nicht nur auf eine ECU zum Steuern
der im Vorhergehenden erwähnten
Funktionen, die auf den Körper
bezogen sind, sondern auch auf eine ECU zum Steuern eines Antriebsstrangs,
der eine Maschine und ein Getriebe umfasst, anwendbar ist. Die Erfindung
ist ebenfalls auf ECUs, die für
andere Zwecke als Fahrzeuge verwendet sind, anwendbar.