-
Technischer Bereich
-
Die vorliegende Erfindung bezieht sich auf eine Steuerungsvorrichtung und ein Steuerungsverfahren.
-
Stand der Technik
-
Eine Steuerungsvorrichtung ist so konfiguriert, dass sie Eingangsdaten verarbeitet und verarbeitete Daten an ein Folgegerät ausgibt. In einer Steuerungseinrichtung für Echtzeitfunktionen sind Einschränkungen für die Eingabe- und Ausgabezeitpunkte der Daten vorgesehen, so dass die Steuerungseinrichtung so ausgelegt ist, dass sie diese Einschränkungen erfüllt. Eine periodische Aufgabe ist so konfiguriert, dass die Verarbeitung innerhalb einer vorgegebenen Zeitspanne (vom Start der periodischen Aufgabe bis zu einer Frist der periodischen Aufgabe) erfolgt. Die Frist muss so festgelegt werden, dass das Kontrollsystem nicht zusammenbricht.
-
PTL 1 offenbart eine Synchronisationstechnik zwischen einer Aufgabe und Kommunikation. In PTL 1 werden alte Ausgangsdaten der Aufgabe in einem Ausgangsspeicherbereich gehalten und in einen Eingangsspeicher einer nachfolgenden Aufgabe übertragen, so dass eine Frist für die nachfolgende Aufgabe zuverlässig ermittelt wird.
-
PTL 2 offenbart eine Technik zur Überwachung eines Verzögerungsgrades einer Aufgabe einer Fahrzeugsteuerungsvorrichtung. In PTL 2 wird ein Verzögerungsgrad einer in der Aufgabe enthaltenen Unteraufgabe überwacht, und wenn der Verzögerungsgrad gleich oder größer als ein Schwellenwert ist, wird eine Fail-Safe-Aufgabe anstelle der Aufgabe ausgeführt; und diese Konfiguration verhindert, dass das gesamte System auch dann abgeschaltet wird, wenn die Aufgabe die Verarbeitung innerhalb der Frist nicht abschließen kann.
-
Zitierliste
-
Patentliteratur
-
- PTL 1: JP 2016-523409 A
- PTL 2: JP 2016-66139 A
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
In der Regel wird eine Frist für eine periodische Aufgabe auf der Grundlage einer zuvor berechneten schlechtesten Ausführungszeit festgelegt. Mit zunehmender Größe und Komplexität des Systems wird es jedoch immer schwieriger, die schlechteste Ausführungszeit zu berechnen. Außerdem ist es bei der Forderung nach einer Beschleunigung der Verarbeitung nicht mehr angemessen, einfach die auf der Grundlage der schlechtesten Ausführungszeit ermittelte Frist zu verwenden, die nur sehr selten auftritt. Daher ist es erforderlich, eine im Wesentlichen ausreichende Fxrist für die Verarbeitung festzulegen und Gegenmaßnahmen für den Fall vorzubereiten, dass die Verarbeitung nicht innerhalb der im Wesentlichen ausreichenden Fxrist abgeschlossen wird.
-
Falls eine der periodischen Aufgaben die Verarbeitung nicht innerhalb der vorgegebenen Zeitspanne abschließt (Überschreitung), verwendet das System einen früheren Wert, was zu einer Verschlechterung der Genauigkeit der Verarbeitung führt.
-
In Anbetracht der oben beschriebenen Gesichtspunkte ist es eine Aufgabe der vorliegenden Erfindung, eine Steuerungsvorrichtung und -verfahren bereitzustellen, die jeweils so ausgestaltet sind, dass sie die Verschlechterung der Genauigkeit bei der Verarbeitung unterdrücken.
-
Lösung des Problems
-
Um die Aufgabe zu erreichen, stellt eine Ausführungsform der vorliegenden Erfindung eine Steuerungsvorrichtung bereit, die Folgendes umfasst: einen Puffer; eine erste Aufgabeneinheit, die konfiguriert ist, in einer vorbestimmten Ausführungsperiode eine erste Aufgabe auszuführen und einen Ausgabewert der ersten Aufgabe in den Puffer zu schreiben; eine Vorhersage-Aufgabeneinheit, die konfiguriert ist, bevor die erste Aufgabeneinheit den Ausgabewert der ersten Aufgabe in den Puffer in der Ausführungsperiode schreibt, den Ausgabewert vorherzusagen und einen Vorhersagewert der ersten Aufgabe in den Puffer zu schreiben; und eine zweite Aufgabeneinheit, die so konfiguriert ist, dass sie in der Ausführungsperiode eine zweite Aufgabe ausführt, indem sie den Ausgabewert oder den Vorhersagewert der ersten Aufgabe aus dem Puffer liest und den Ausgabewert oder den Vorhersagewert eingibt, den die zweite Aufgabeneinheit aus dem Puffer gelesen hat, und einen Ausgabewert der zweiten Aufgabe ausgibt.
-
Vorteilhafte Auswirkungen der Erfindung
-
Die vorliegende Erfindung stellt eine Steuerungsvorrichtung und ein Verfahren bereit, die jeweils so ausgestaltet sind, dass sie eine Verschlechterung der Genauigkeit bei der Verarbeitung unterdrücken. Probleme, Konfigurationen und Effekte, die über die oben beschriebenen hinausgehen, werden im Folgenden in Beschreibungen von Ausführungsformen verdeutlicht.
-
Figurenliste
-
- [1] 1 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration einer Fahrzeugsteuerungsvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
- [2] 2 ist ein Diagramm, das ein Beispiel für eine Konfiguration eines Funktionselements der Fahrzeugsteuerungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt.
- [3] 3 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von einer periodischen Aufgabe A gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [4] 4 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von einer Vorhersage-Aufgabe gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [5] 5 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von einer periodischen Aufgabe B gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [6] 6 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von einem Zeitplaner gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [7] 7 ist ein Diagramm, das schematisch auf einer zeitlichen Achse einen Vorgang jeder Verarbeitung gemäß der ersten Ausführungsform der vorliegenden Erfindung beschreibt.
- [8] 8 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch den Zeitplaner durchgeführt werden, die Verarbeitungsschritte gemäß einer zweiten Ausführungsform der vorliegenden Erfindung.
- [9] 9 ist ein Diagramm, das schematisch auf der zeitlichen Achse einen Vorgang jeder Verarbeitung gemäß der zweiten Ausführungsform der vorliegenden Erfindung beschreibt.
- [10] 10 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch die Vorhersage-Aufgabe durchgeführt werden, die Verarbeitungsschritte gemäß einer dritten Ausführungsform der vorliegenden Erfindung.
- [11] 11 ist ein Diagramm, das schematisch auf der zeitlichen Achse einen Vorgang jeder Verarbeitung gemäß der dritten Ausführungsform der vorliegenden Erfindung beschreibt.
- [12] 12 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der periodischen Aufgabe A, den Verarbeitungsschritten gemäß einer vierten Ausführungsform der vorliegenden Erfindung, durchgeführt werden.
- [13] 13 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch den Zeitplaner durchgeführt werden, die Verarbeitungsschritte gemäß der vierten Ausführungsform der vorliegenden Erfindung.
- [14] 14 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der periodischen Aufgabe A durchgeführt werden, die Verarbeitungsschritte gemäß einer fünften Ausführungsform der vorliegenden Erfindung.
- [15] 15 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch den Zeitplaner durchgeführt werden, die Verarbeitungsschritte gemäß der fünften Ausführungsform der vorliegenden Erfindung.
- [16] 16 ist ein Diagramm, das schematisch auf der zeitlichen Achse einen Vorgang jeder Verarbeitung gemäß der fünften Ausführungsform der vorliegenden Erfindung beschreibt.
- [17] 17 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration eines Motorsteuergeräts gemäß einer sechsten Ausführungsform der vorliegenden Erfindung zeigt.
- [18] 18 ist ein Diagramm, das ein Beispiel für eine Konfiguration eines Funktionselements des Motorsteuergeräts gemäß der sechsten Ausführungsform der vorliegenden Erfindung zeigt.
- [19] 19 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von einer Zündzeitpunktberechnungs-Aufgabe gemäß der sechsten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [20] 20 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von einer Zeitgebersatz-Aufgabe gemäß der sechsten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [21] 21 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Vorhersage-Aufgabe, den Verarbeitungsschritten gemäß der sechsten Ausführungsform der vorliegenden Erfindung, durchgeführt werden.
- [22] 22 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration einer autonomen Fahreinheit (AD) gemäß einer siebten Ausführungsform der vorliegenden Erfindung zeigt.
- [23] 23 ist ein Diagramm, das ein Beispiel für eine Konfiguration eines Funktionselements der AD-Einheit gemäß der siebten Ausführungsform der vorliegenden Erfindung zeigt.
- [24] 24 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von einer Längspositionsschätz-Aufgabe gemäß der siebten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [25] 25 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von einer Horizontalpositionsschätz-Aufgabe gemäß der siebten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [26] 26 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von einer Streckenberechnungs-Aufgabe gemäß der siebten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [27] 27 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von einer Längspositions-Vorhersage-Aufgabe gemäß der siebten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
- [28] 28 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von einer horizontalen Positionsvorhersage-Aufgabe gemäß der siebten Ausführungsform der vorliegenden Erfindung durchgeführt werden.
-
Beschreibung der Ausführungsformen
-
Eine Ausführungsform der vorliegenden Erfindung wird im Folgenden unter Bezugnahme auf die Zeichnungen beschrieben. Es wird darauf hingewiesen, dass die vorliegende Erfindung nicht auf die nachstehenden Ausführungsformen beschränkt ist; und somit fällt jede Änderung, Hinzufügung oder Streichung einer Konfiguration jeder Einheit, die in geeigneter Weise im Sinne der vorliegenden Erfindung vorgenommen wird, selbstverständlich in den Anwendungsbereich der Ansprüche der vorliegenden Erfindung. Hier wird die vorliegende Erfindung beispielhaft auf eine Fahrzeugsteuerungsvorrichtung angewendet. Eine Aufgabe der Fahrzeugsteuerungsvorrichtung gemäß den nachstehenden Ausführungsformen ist es, eine Verschlechterung der Genauigkeit, beispielsweise aufgrund von Verarbeitungsüberschreitungen, zu verhindern.
-
[Erste Ausführungsform]
-
1 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration einer Fahrzeugsteuerungsvorrichtung 1 gemäß einer ersten Ausführungsform zeigt. Die Fahrzeugsteuerungsvorrichtung 1 umfasst einen Prozessor 2, einen Speicher 3, einen nichtflüchtigen Speicher 4 und einen Puffer 15.
-
Der Prozessor 2, der Speicher 3, der nichtflüchtige Speicher 4 und der Puffer 15 sind über eine Verbindungsleitung 8 verbunden.
-
In den Speicher 3 werden ein Betriebssystem (OS) 7, eine periodische Aufgabe A (11), eine Vorhersage-Aufgabe 12 und eine periodische Aufgabe B (13) geladen; und das Betriebssystem (OS) 7, die periodische Aufgabe A (11), die Vorhersage-Aufgabe 12 und die periodische Aufgabe B (13) werden durch den Prozessor 2 ausgeführt. Zur Vereinfachung der Beschreibung können diese Aufgaben im Folgenden als Gegenstand einer Operation jeder Verarbeitung bezeichnet werden, aber der eigentliche Gegenstand der Operation ist der Prozessor 2.
-
Bei der periodischen Aufgabe A (11), der Vorhersage-Aufgabe 12, der periodischen Aufgabe B (13) und einem Zeitplaner 14 handelt es sich jeweils um Software, die in dem Betriebssystem 7 läuft. Bei dem Betriebssystem 7 kann es sich beispielsweise um ein Betriebssystem handeln, das einer offenen Systemarchitektur für Kraftfahrzeuge (AUTOSAR) entspricht, oder um ein Echtzeitbetriebssystem.
-
2 ist ein Diagramm, das die Konfiguration eines Funktionselements der Fahrzeugsteuerungsvorrichtung 1 gemäß der ersten Ausführungsform zeigt.
-
In der Fahrzeugsteuerungsvorrichtung 1 führt die periodische Aufgabe A (11) eine Verarbeitung durch und speichert einen Ausgabewert im Puffer 15. Die periodische Aufgabe B (13) liest aus dem Puffer 15 den Ausgabewert, den die periodische Aufgabe A (11) gespeichert hat, und fährt mit der Verarbeitung fort. Die Vorhersage-Aufgabe 12 sagt den Ausgabewert der periodischen Aufgabe A (11) voraus und speichert einen vorausgesagten Wert im Puffer 15. Der Zeitplaner 14 startet und beendet die periodische Aufgabe A (11), die Vorhersage-Aufgabe 12, und die periodische Aufgabe B (13).
-
Mit anderen Worten, die Fahrzeugsteuerungsvorrichtung 1 (Steuerungsvorrichtung) umfasst mindestens den Puffer 15, eine erste Aufgabeneinheit, eine Vorhersage-Aufgabeneinheit und eine zweite Aufgabeneinheit. In dieser Ausführungsform werden die erste Aufgabeneinheit, die Vorhersage-Aufgabeneinheit und die zweite Aufgabeneinheit durch die in den Speicher 3 ( 1) geladene Software und den Prozessor 2 (1), die zusammenarbeiten, erreicht, können aber alternativ auch durch Hardware, z. B. ein Field-Programmable Gate Array (FPGA), erreicht werden.
-
Dabei führt die erste Aufgabeneinheit (Prozessor 2) in einer vorgegebenen Ausführungsperiode eine erste Aufgabe (periodische Aufgabe A) aus und schreibt den Ausgabewert der ersten Aufgabe (periodische Aufgabe A) in den Puffer 15. Bevor die erste Aufgabeneinheit (Prozessor 2) in der Ausführungsperiode den Ausgabewert der ersten Aufgabe (periodische Aufgabe A) in den Puffer 15 schreibt, sagt die Vorhersage-Aufgabeneinheit (Prozessor 2) den Ausgabewert der ersten Aufgabe (periodische Aufgabe A) voraus und schreibt einen Vorhersagewert, d.h. den vorausgesagten Ausgabewert, in den Puffer 15. In der Ausführungsperiode führt die zweite Aufgabeneinheit (Prozessor 2) eine zweite Aufgabe (periodische Aufgabe B) aus, indem sie den Ausgabewert oder den Vorhersagewert der ersten Aufgabe (periodische Aufgabe A) aus dem Puffer 15 ausliest und den aus dem Puffer 15 ausgelesenen Ausgabewert oder Vorhersagewert eingibt, und gibt einen Ausgabewert der zweiten Aufgabe (periodische Aufgabe B) aus. Diese Vorgänge werden später unter Bezugnahme auf 7 im Detail beschrieben.
-
Dementsprechend ist es möglich, selbst wenn der Ausgabewert der ersten Aufgabe (periodische Aufgabe A) in der Ausführungsperiode nicht in den Puffer 15 geschrieben wird, den Vorhersagewert der ersten Aufgabe (periodische Aufgabe A) einzugeben, um die zweite Aufgabe (periodische Aufgabe B) zu vervollständigen. Dadurch ist es möglich, eine Verschlechterung der Genauigkeit des Ausgabewertes (z.B. eine Stellgröße eines Stellgliedes) der zweiten Aufgabe (periodische Aufgabe B) zu unterdrücken.
-
Es wird darauf hingewiesen, dass der Vorhersagewert mit dem Ausgabewert der ersten Aufgabe (periodische Aufgabe A) überschrieben wird, wenn der Vorhersagewert z. B. in den Puffer 15 geschrieben wurde. Alternativ kann anstelle des Überschreibsystems auch ein Ringpuffer verwendet werden.
-
3 ist ein Flussdiagramm eines Beispiels für die Verarbeitungsschritte, die von der periodischen Aufgabe A (11) gemäß der ersten Ausführungsform durchgeführt werden. Die periodische Aufgabe A (Prozessor 2) führt die Verarbeitung 100 wie folgt aus.
-
In Schritt 101 wird die periodische Aufgabe A mit einem Eingabewert versehen.
-
In Schritt 102, basierend auf dem erworbenen Eingabewert, führt die periodische Aufgabe A eine arithmetische Verarbeitung durch.
-
In Schritt 103 schreibt die periodische Aufgabe A ein Ergebnis der arithmetischen Verarbeitung als Ausgabewert in den Puffer 15.
-
4 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Vorhersage-Aufgabe 12 gemäß der ersten Ausführungsform durchgeführt werden. Die Vorhersage-Aufgabe (Prozessor 2) führt die Verarbeitung 200 wie folgt aus.
-
In Schritt 201 wird die Vorhersage-Aufgabe mit einem Eingabewert versehen.
-
In Schritt 202 sagt die Vorhersage-Aufgabe auf der Grundlage des erworbenen Eingabewertes einen Wert voraus, den die periodische Aufgabe A (11) ausgeben soll.
-
In Schritt 203 schreibt die Vorhersage-Aufgabe einen Vorhersagewert, d.h. den vorausgesagten Wert, in den Puffer 15.
-
5 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der periodischen Aufgabe B (13) gemäß der ersten Ausführungsform durchgeführt werden. Die periodische Aufgabe B (Prozessor 2) führt die Verarbeitung 300 wie folgt durch.
-
In Schritt 301 erwirbt die periodische Aufgabe B einen Eingabewert aus dem Puffer 15.
-
In Schritt 302, basierend auf dem erworbenen Eingabewert, führt die periodische Aufgabe B eine arithmetische Verarbeitung durch.
-
In Schritt 303 schreibt die periodische Aufgabe B ein Ergebnis der arithmetischen Verarbeitung als Ausgabewert in den Puffer 15.
-
6 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die vom Zeitplaner 14 gemäß der ersten Ausführungsform durchgeführt werden. Der Zeitplaner 14 (Prozessor 2) führt die Verarbeitung 400 wie folgt durch.
-
In Schritt 401 vergleicht der Zeitplaner 14 die Zeit mit einer Startzeit 16 der Periodischen Aufgabe A. Wenn die Zeit mit der Startzeit 16 der Periodischen Aufgabe A übereinstimmt (Schritt 401: Ja), fährt der Zeitplaner 14 mit Schritt 402 fort; und wenn die Zeit nicht mit der Startzeit 16 der Periodischen Aufgabe A übereinstimmt (Schritt 401: Nein), fährt der Zeitplaner 14 mit Schritt 403 fort.
-
Im Schritt 402 stimmt die Uhrzeit mit der Startzeit der periodischen Aufgabe A überein, so dass der Zeitplaner 14 die periodische Aufgabe A (11) startet.
-
Im Schritt 403 vergleicht der Zeitplaner 14 die Uhrzeit mit einer Periodische-Aufgabe-A-Frist und stellt fest, ob die periodische Aufgabe A (11) ausgeführt wird oder nicht. Wenn die Zeit mit der Periodischen-Aufgabe-A-Frist übereinstimmt und die periodische Aufgabe A (11) ausgeführt wird (Schritt 403: Ja), fährt der Zeitplaner 14 mit Schritt 404 fort; und wenn die Zeit nicht mit der Periodischen-Aufgabe-A-Frist übereinstimmt oder wenn die periodische Aufgabe A (11) nicht ausgeführt wird (Schritt 403: Nein), fährt der Zeitplaner 14 mit Schritt 405 fort.
-
Im Schritt 404 beendet der Zeitplaner 14 die periodische Aufgabe A (11).
-
Im Schritt 405 vergleicht der Zeitplaner 14 die Uhrzeit mit einer Startzeit der Periodischen Aufgabe B. Wenn die Uhrzeit mit der Startzeit der periodischen Aufgabe B übereinstimmt (Schritt 405: Ja), fährt der Zeitplaner 14 mit Schritt 406 fort; und wenn die Uhrzeit nicht mit der Startzeit der periodischen Aufgabe B übereinstimmt (Schritt 405: Nein), fährt der Zeitplaner 14 mit Schritt 407 fort.
-
Im Schritt 406 stimmt die Uhrzeit mit der Startzeit der periodischen Aufgabe B überein, so dass der Zeitplaner 14 die periodische Aufgabe B (13) startet.
-
Im Schritt 407 vergleicht der Zeitplaner 14 die Uhrzeit mit einer Vorhersage-Aufgabe-Start-Zeit. Stimmt die Uhrzeit mit der Vorhersage-Aufgabe-Start-Zeit überein (Schritt 407: Ja), fährt der Zeitplaner 14 mit Schritt 408 fort; stimmt die Uhrzeit nicht mit der Vorhersage-Aufgabe-Start-Zeit überein (Schritt 407: Nein), fährt der Zeitplaner 14 mit dem Schritt 401 fort.
-
Im Schritt 408 stimmt die Zeit mit der Vorhersage-Aufgabe-Start-Zeit überein, so dass der Zeitplaner 14 die Vorhersage-Aufgabe 12 startet.
-
7 ist ein Diagramm, das schematisch auf einer Zeitachse den Ablauf jeder Verarbeitung gemäß der ersten Ausführungsform beschreibt.
-
Ein schwarzer Pfeil auf der Zeichnung von stellt einen Befehl des Zeitplaners 14 dar, und ein weißer Pfeil bedeutet, dass aus dem Puffer 15 gelesen oder in den Puffer 15 geschrieben wird.
-
In dieser Ausführungsform wird ein Fall beschrieben, in dem eine periodische Aufgabe A (11-2) zum Zeitpunkt (t) = 26 überschritten wird.
-
Der Zeitplaner 14 startet die Vorhersage-Aufgabe 12 zu einer Vorhersage-Aufgabe-Start-Zeit 20 (Schritt 408). Daraufhin startet eine Vorhersage-Aufgabe 12-1. Wenn die arithmetische Verarbeitung abgeschlossen ist, schreibt die Vorhersage-Aufgabe 12-1 den Vorhersagewert in den Puffer 15. Es wird darauf hingewiesen, dass die Verarbeitung der Vorhersage-Aufgabe 12-1 einen wesentlich geringeren Zeitaufwand erfordert als die Verarbeitung der periodischen Aufgabe A oder die Verarbeitung der periodischen Aufgabe B (dasselbe gilt für eine Vorhersage-Aufgabe 12-2, wie später beschrieben wird).
-
Der Zeitplaner 14 startet die periodische Aufgabe A (11) zu einer periodischen Aufgabe A Startzeit 21. Daraufhin startet eine periodische Aufgabe A (11-1). Wenn die arithmetische Verarbeitung abgeschlossen ist, schreibt die periodische Aufgabe A (11-1) den Ausgabewert in den Puffer 15.
-
Der Zeitplaner 14 startet die periodische Aufgabe B (13) zu einer periodischen Aufgabe B Startzeit 23. Daraufhin startet eine periodische Aufgabe B (13-1). Die periodische Aufgabe B (13-1) liest aus dem Puffer 15 den Wert, den die periodische Aufgabe A (11-1) geschrieben hat, und führt die arithmetische Verarbeitung auf der Grundlage des Wertes durch.
-
Der Zeitplaner 14 startet die Vorhersage-Aufgabe 12 zu einer Vorhersage-Aufgabe-Start-Zeit 24. Daraufhin startet die Vorhersage-Aufgabe 12-2. Wenn die arithmetische Verarbeitung abgeschlossen ist, schreibt die Vorhersage-Aufgabe 12-2 den Vorhersagewert in den Puffer 15.
-
Der Zeitplaner 14 startet die periodische Aufgabe A (11) zu einer periodischen Aufgabe A Startzeit 25. Daraufhin startet die periodische Aufgabe A (11-2). In dieser Ausführungsform schließt die periodische Aufgabe A (11-2) die arithmetische Verarbeitung nicht bis zu einer vorgegebenen Periodische-Aufgabe-A-Frist 26 ab. Hier beendet der Zeitplaner 14 die periodische Aufgabe A (11-2) an der Periodischen-Aufgabe-A-Frist 26.
-
Der Zeitplaner 14 startet die periodische Aufgabe B (13) zu einer periodischen Aufgabe B Startzeit 27. Daraufhin startet eine periodische Aufgabe B (13-2). Die periodische Aufgabe B (13-2) liest aus dem Puffer 15 den Wert, den die Vorhersage-Aufgabe 12-2 geschrieben hat, und führt die arithmetische Verarbeitung auf der Grundlage des Wertes durch.
-
Mit anderen Worten: Wenn die erste Aufgabe (periodische Aufgabe A) in der Ausführungsperiode nicht durch einen erste-Aufgabe-Frist (die Periodische-Aufgabe-A-Frist) als Frist für die erste Aufgabe (periodische Aufgabe A) abgeschlossen wird, führt die zweite Aufgabeneinheit (Prozessor 2) die zweite Aufgabe (periodische Aufgabe B) aus, indem sie den Vorhersagewert der ersten Aufgabe (periodische Aufgabe A) eingibt. Dementsprechend kann die zweite Aufgabe (periodische Aufgabe B) durch Eingabe des Vorhersagewerts der ersten Aufgabe (periodische Aufgabe A) abgeschlossen werden, auch wenn die erste Aufgabe (periodische Aufgabe A) nicht durch die erste-Aufgabe-Frist (Periodische-Aufgabe-A-Frist) abgeschlossen wird.
-
Wie oben beschrieben, kann in der ersten Ausführungsform auch dann, wenn die arithmetische Verarbeitung einer Aufgabe nicht innerhalb eines vorgegebenen Ausgabeperiode abgeschlossen ist, ein vorher festgelegter Ausgabewert verwendet werden. Mit dieser Konfiguration ist es möglich, die Verwendung eines zuvor verwendeten Wertes zu verhindern und damit die Verschlechterung der Genauigkeit der Verarbeitung zu vermeiden.
-
[Zweite Ausführungsform]
-
8 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch den Zeitplaner 14 durchgeführt werden, wobei die Verarbeitungsschritte einer zweiten Ausführungsform entsprechen. Der Zeitplaner 14 (Prozessor 2) führt die Verarbeitung 500 wie folgt durch.
-
Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 6 entfällt.
-
In Schritt 507 vergleicht der Zeitplaner 14 die Uhrzeit mit einer Vorhersage-Aufgabe-Start-Zeit β. Wenn die Uhrzeit mit der Vorhersage-Aufgabe-Start-Zeit β übereinstimmt (Schritt 507: Ja), geht der Zeitplaner 14 zu Schritt 509 über; und wenn die Uhrzeit nicht mit der Vorhersage-Aufgabe-Start-Zeit β übereinstimmt (Schritt 507: Nein), geht der Zeitplaner 14 zu Schritt 510 über.
-
Im Schritt 509 stellt der Zeitplaner 14 fest, ob die periodische Aufgabe B (13) die arithmetische Verarbeitung abgeschlossen hat oder nicht. Wenn die periodische Aufgabe B (13) die arithmetische Verarbeitung abgeschlossen hat (Schritt 509: Ja), fährt der Zeitplaner 14 mit dem Schritt 408 fort. Wenn die periodische Aufgabe B (13) die arithmetische Verarbeitung nicht abgeschlossen hat, fährt der Zeitplaner 14 mit Schritt 401 fort.
-
Im Schritt 408 stimmt die Zeit mit der Vorhersage-Aufgabe-Start-Zeit überein, so dass der Zeitplaner 14 die Vorhersage-Aufgabe 12 startet.
-
Im Schritt 510 vergleicht der Zeitplaner 14 die Zeit mit einer Vorhersage-Aufgabe-Start-Zeit α und stellt ferner fest, ob die Vorhersage-Aufgabe 12 noch nicht ausgeführt ist oder nicht. Dabei ist eine Beziehung zwischen der Vorhersage-Aufgabe-Start-Zeit β und der Vorhersage-Aufgabe-Start-Zeit α: β < α. Wenn die Zeit mit der Vorhersage-Aufgabe-Start-Zeit α übereinstimmt und die Vorhersage-Aufgabe 12 noch nicht ausgeführt wurde (Schritt 510: Ja), fährt der Zeitplaner 14 mit Schritt 511 fort; und wenn die Zeit nicht mit der Vorhersage-Aufgabe-Start-Zeit α übereinstimmt oder die Vorhersage-Aufgabe 12 bereits ausgeführt wurde (Schritt 510: Nein), fährt der Zeitplaner 14 mit Schritt 401 fort.
-
Im Schritt 511, Zeitplaner 14 startet die Vorhersage-Aufgabe 12.
-
9 ist ein Diagramm, das schematisch auf der Zeitachse einen Vorgang jeder Verarbeitung gemäß der zweiten Ausführungsform beschreibt.
-
In dieser Ausführungsform wird ein Fall beschrieben, in dem eine Vorhersage-Aufgabe 12-3 zum Zeitpunkt (t) = 28 startet und die periodische Aufgabe A (11-2) zum Zeitpunkt (t) = 26 überfahren wird.
-
Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 7 entfällt.
-
Der Zeitplaner 14 startet die periodische Aufgabe B (13) zu einer periodischen Aufgabe B Startzeit 23. Infolgedessen startet eine periodische Aufgabe B (13-3).
-
Der Zeitplaner 14 startet die Vorhersage-Aufgabe 12 zur Vorhersage-Aufgabe-Start-Zeit β (28). Infolgedessen startet die Vorhersage-Aufgabe 12-3 (Schritt 408).
-
Die Vorhersage-Aufgabe 12-3 ist bereits zur Vorhersage-Aufgabe-Start-Zeit α (24) abgelaufen, so dass der Zeitplaner 14 die Vorhersage-Aufgabe 12 nicht startet.
-
Der Zeitplaner 14 startet die periodische Aufgabe B (13) zu einer periodischen Aufgabe B Startzeit 27. Daraufhin startet eine periodische Aufgabe B (13-4). Die periodische Aufgabe B (13-4) liest aus dem Puffer 15 einen Wert, den die Vorhersage-Aufgabe 12-3 geschrieben hat, und führt auf der Grundlage des Wertes eine arithmetische Verarbeitung durch.
-
Wie oben beschrieben, ist es in der zweiten Ausführungsform möglich, die Ausführungszeit des Prozessors, die in der ersten Ausführungsform durch die Vorhersage-Aufgabe 12 belegt ist, für eine beliebige andere Verarbeitung zu nutzen. Wenn die arithmetische Verarbeitung der periodischen Aufgabe B abgeschlossen ist, kann die Vorhersage-Aufgabe für eine nächste Periode früher starten als die der ersten Ausführungsform.
-
[Dritte Ausführungsform] (Vorhersagealgorithmus entsprechend der Länge der unbesetzten Zeit umschalten)
-
10 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Vorhersage-Aufgabe 12 durchgeführt werden, die Verarbeitungsschritte gemäß einer dritten Ausführungsform. Die Vorhersage-Aufgabe 12 (Prozessor 2) führt die Verarbeitung 600 wie folgt aus. Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 4 wird an dieser Stelle weggelassen.
-
In Schritt 602 stellt die Vorhersage-Aufgabe 12 fest, ob die Vorhersage-Aufgabe 12 zur Vorhersage-Aufgabe-Start-Zeit β gestartet ist oder nicht.
-
Wenn die Vorhersage-Aufgabe 12 in der Vorhersage-Aufgabe-Start-Zeit β gestartet hat (Schritt 602: Ja), fährt die Vorhersage-Aufgabe 12 mit Schritt 603 fort. Wenn die Vorhersage-Aufgabe 12 nicht mit der Vorhersage-Aufgabe-Start-Zeit β gestartet hat (Schritt 602: Nein), fährt die Vorhersage-Aufgabe 12 mit Schritt 604 fort.
-
Im Schritt 603 verwendet die Vorhersage-Aufgabe 12 einen hochpräzisen Vorhersagealgorithmus und sagt einen Ausgabewert der periodischen Aufgabe A (11) auf der Grundlage eines erfassten Eingabewertes voraus. Der hochgenaue Vorhersagealgorithmus ist z.B. ein Algorithmus, der eine Regressionskurve höherer Ordnung oder eine große Datenmenge verwendet.
-
Im Schritt 604 verwendet die Vorhersage-Aufgabe 12 einen Hochgeschwindigkeits-Vorhersagealgorithmus und sagt den Ausgabewert der periodischen Aufgabe A (11) auf der Grundlage des erfassten Eingabewertes voraus. Der Hochgeschwindigkeits-Vorhersagealgorithmus ist beispielsweise ein Algorithmus, bei dem ein Vorhersagewert in Übereinstimmung mit dem Eingabewert unter Bezugnahme auf eine Tabelle erfasst wird.
-
11 ist ein Diagramm, das schematisch auf der zeitlichen Achse einen Vorgang jeder Verarbeitung gemäß der dritten Ausführungsform beschreibt. Es wird darauf hingewiesen, dass eine detaillierte Beschreibung der gleichen Verarbeitung wie in den 7 und 9 gegebenenfalls weggelassen wird.
-
Der Zeitplaner 14 startet die Vorhersage-Aufgabe 12 zur Vorhersage-Aufgabe-Start-Zeit β (28). Infolgedessen startet eine Vorhersage-Aufgabe 12-4. Die zur Vorhersage-Aufgabe-Start-Zeit β gestartete Vorhersage-Aufgabe 12-4 verwendet den hochpräzisen Vorhersagealgorithmus, um den Ausgabewert der periodischen Aufgabe A (11) vorherzusagen (Schritt 603).
-
Mit anderen Worten, wenn die zweite Aufgabe (periodische Aufgabe B) in der Ausführungsperiode abgeschlossen ist und wenn eine unbesetzte Zeit in der Ausführungsperiode größer ist als ein erster Schwellenwert (z.B., eine Zeitdauer, die für eine erste Vorhersage (auf der Grundlage des Algorithmus mit hoher Genauigkeit) erforderlich ist), führt die Vorhersage-Aufgabeneinheit (Prozessor 2) die erste Vorhersage durch, bei der die Genauigkeit Vorrang vor der Geschwindigkeit hat; und wenn die unbesetzte Zeit gleich oder kleiner als der erste Schwellenwert ist, führt die Vorhersage-Aufgabeneinheit (Prozessor 2) eine zweite Vorhersage durch, bei der die Geschwindigkeit Vorrang vor der Genauigkeit hat. Dabei bezeichnet die unbesetzte Zeit eine Zeitdauer von einem Zeitpunkt (Vorhersage-Aufgabe-Start-Zeit β), an dem die Vorhersage-Aufgabeneinheit (Prozessor 2) startet, einen Ausgabewert der ersten Aufgabe (periodische Aufgabe A)) in einer nächsten Ausführungsperiode vorherzusagen, bis zu einem Zeitpunkt, an dem die Ausführungsperiode endet. Dementsprechend ist es möglich, zwischen der ersten Vorhersage (Vorrang der Genauigkeit) und der zweiten Vorhersage (Vorrang der Geschwindigkeit) in Abhängigkeit von der Länge der nicht belegten Zeit zu wechseln.
-
Wie oben beschrieben, verwendet die Vorhersage-Aufgabe 12 in der dritten Ausführungsform, entsprechend dem Verarbeitungsstatus der anderen Aufgaben, den hochgenauen Vorhersagealgorithmus, um einen genaueren Vorhersagewert auszugeben. Wenn die Vorhersage-Aufgabe 12 den Hochgeschwindigkeits-Vorhersagealgorithmus verwendet, wird gleichzeitig die Rechenlast reduziert, was zu einem geringeren Stromverbrauch der Fahrzeugsteuerungsvorrichtung führt.
-
[Vierte Ausführungsform]
-
12 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der periodischen Aufgabe A (11) ausgeführt werden, wobei die Verarbeitungsschritte einer vierten Ausführungsform entsprechen. Die periodische Aufgabe A (Prozessor 2) führt die Verarbeitung 700 wie folgt aus. Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 3 wird an dieser Stelle weggelassen.
-
In Schritt 703 stellt die periodische Aufgabe A fest, ob ein Vorhersage-Aufgabe-Überspringungs-Flag ungültig ist oder nicht. Wenn das Vorhersage-Aufgabe-Überspringungs-Flag ungültig ist (Schritt 703: Ja), fährt die periodische Aufgabe A mit Schritt 704 fort. Wenn das Vorhersage-Aufgabe-Überspringungs-Flag nicht ungültig ist (Schritt 703: Nein), fährt die periodische Aufgabe A mit Schritt 103 fort.
-
Im Schritt 704, der periodischen Aufgabe A, steht ein Vorhersagewert aus dem Puffer 15.
-
In Schritt 705 erhält die periodische Aufgabe A auf der Grundlage des aus dem Puffer 15 gelesenen Vorhersagewertes und eines Ergebnisses der arithmetischen Verarbeitung eine Vorhersagegenauigkeit und vergleicht die Vorhersagegenauigkeit mit einem vorgegebenen Schwellenwert. Wenn die Vorhersagegenauigkeit gleich oder größer als der Schwellenwert ist, fährt die periodische Aufgabe A mit dem Schritt 103 fort. Wenn die Vorhersagegenauigkeit kleiner als der Schwellenwert ist, fährt die periodische Aufgabe A mit Schritt 706 fort.
-
Im Schritt 706 validiert die periodische Aufgabe A das Vorhersage-Aufgabe-Überspringungs-Flag.
-
Mit anderen Worten: Wenn die Vorhersagegenauigkeit, die einen Übereinstimmungsgrad zwischen dem Ausgabewert der periodischen Aufgabe A (als Ergebnis der arithmetischen Verarbeitung) und dem Vorhersagewert angibt, kleiner ist als ein zweiter Schwellenwert, bewirkt die erste Aufgabeneinheit (Prozessor 2), dass der Start der Vorhersage-Aufgabeneinheit (Prozessor 2) übersprungen wird. Mit dieser Konfiguration ist es bei niedriger Vorhersagesauigkeit möglich, die zweite Aufgabe (periodische Aufgabe B) durch Eingabe des Ausgabewertes der ersten Aufgabe (periodische Aufgabe A) abzuschließen.
-
13 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch den Zeitplaner 14 durchgeführt werden, die Verarbeitungsschritte gemäß der vierten Ausführungsform. Der Zeitplaner 14 (Prozessor 2) führt die Verarbeitung 800 wie folgt durch. Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 6 entfällt an dieser Stelle.
-
Im Schritt 807 stellt der Zeitplaner 14 fest, ob das Vorhersage-Aufgabe-überspringen-Flag ungültig ist oder nicht. Wenn das Vorhersage-Aufgabe-Überspringungs-Flag ungültig ist (Schritt 807: Ja), fährt der Zeitplaner 14 mit Schritt 407 fort. Wenn das Vorhersage-Aufgabe-Überspringungs-Flag nicht ungültig ist (Schritt 807: Nein), fährt der Zeitplaner 14 mit Schritt 811 fort.
-
Im Schritt 811 vermindert der Zeitplaner 14 einen Wert, den ein Vorhersage-Aufgabe-Überspringungszähler anzeigt. Der Vorhersage-Aufgabe-Überspringungszähler hat einen Wert vorgegeben.
-
In Schritt 812 stellt der Zeitplaner 14 fest, ob der Überspringungszähler für die Vorhersage-Aufgabe 0 anzeigt oder nicht. Wenn der Überspringungszähler für die Vorhersage-Aufgabe 0 anzeigt, fährt der Zeitplaner 14 mit Schritt 813 fort. Wenn der Überspringungszähler für die Vorhersage-Aufgabe nicht 0 anzeigt, fährt der Zeitplaner 14 mit dem Schritt 401 fort.
-
Im Schritt 813 hebt der Zeitplaner 14 das Vorhersage-Aufgabe-Überspringungs-Flag auf und initialisiert den Vorhersage-Aufgabe-Überspringungs-Zähler.
-
Wie oben beschrieben, kann in der vierten Ausführungsform, wenn die Vorhersagegenauigkeit kleiner ist als der vorgegebene Schwellenwert, die Ausführung der Vorhersage-Aufgabe 12 übersprungen werden. Dementsprechend ist es möglich, die Ausführungszeit des Prozessors, die durch die Vorhersage-Aufgabe 12 belegt ist, für eine beliebige andere Verarbeitung zu nutzen. Weiterhin wird hier weniger Strom von der Fahrzeugsteuerungsvorrichtung verbraucht.
-
[Fünfte Ausführungsform]
-
14 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der periodischen Aufgabe A (11) ausgeführt werden, wobei die Verarbeitungsschritte einer fünften Ausführungsform entsprechen. Die periodische Aufgabe A (Prozessor 2) führt die Verarbeitung 900 wie folgt aus. Es wird darauf hingewiesen, dass eine detaillierte Beschreibung derselben Verarbeitung wie in 3 gegebenenfalls weggelassen wird.
-
In Schritt 902 führt die periodische Aufgabe A eine arithmetische Verarbeitung I durch.
-
In Schritt 903 stellt die periodische Aufgabe A fest, ob die Zeit innerhalb einer vorgegebenen Arithmetische-Verarbeitung-I-Frist liegt oder nicht. Wenn der Zeitpunkt innerhalb (vor) der Arithmetische-Verarbeitung-I-Frist liegt (Schritt 903: Ja), fährt die periodische Aufgabe A mit Schritt 904 fort. Liegt der Zeitpunkt außerhalb der Arithmetische-Verarbeitung-I-Frist (Schritt 903: Nein), geht die periodische Aufgabe A zu Schritt 905 über.
-
Im Schritt 904 führt die periodischen Aufgabe A eine arithmetische Verarbeitung II durch.
-
Im Schritt 905 erzeugt die periodische Aufgabe A ein Vorhersage-Aufgabe-Start-Ereignis.
-
Mit anderen Worten, die erste Aufgabe (periodische Aufgabe A) umfasst mindestens eine erste arithmetische Verarbeitung (arithmetische Verarbeitung I) und eine zweite arithmetische Verarbeitung (arithmetische Verarbeitung II). Wenn die erste arithmetische Verarbeitung (arithmetische Verarbeitung I) über die Erste-arithmetische-Verarbeitung-Frist (Arithmetische-Verarbeitung-I-Frist) hinaus als Frist für die erste arithmetische Verarbeitung (arithmetische Verarbeitung I) abgeschlossen ist, bricht die erste Aufgabeneinheit (Prozessor 2) die Ausführung der zweiten arithmetischen Verarbeitung (arithmetische Verarbeitung II) ab und veranlasst den Start der Vorhersage-Aufgabeneinheit (Prozessor 2). Dementsprechend wird, wenn die erste arithmetische Verarbeitung (arithmetische Verarbeitung I) über die Erste-arithmetische-Verarbeitung-Frist (Arithmetische-Verarbeitung-I-Frist) hinaus abgeschlossen ist, die Ausführung der zweiten arithmetischen Verarbeitung (arithmetische Verarbeitung II) abgebrochen, was dazu führt, dass für die zweite arithmetische Verarbeitung (arithmetische Verarbeitung II) kein Bedarf an Ressourcen besteht.
-
15 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die durch den Zeitplaner 14 durchgeführt werden, die Verarbeitungsschritte gemäß der fünften Ausführungsform. Der Zeitplaner 14 (Prozessor 2) führt die Verarbeitung 1000 wie folgt durch. Es wird darauf hingewiesen, dass eine detaillierte Beschreibung derselben Verarbeitung wie in 6 gegebenenfalls weggelassen wird.
-
Im Schritt 1007 stellt der Zeitplaner 14 fest, ob der Zeitplaner 14 das Vorhersage-Aufgabe-Start-Ereignis empfangen hat oder nicht. Wenn der Zeitplaner 14 das Vorhersage-Aufgabe-Start-Ereignis erhalten hat (Schritt 1007: Ja), fährt der Zeitplaner 14 mit Schritt 408 fort. Wenn der Zeitplaner 14 das Vorhersage-Aufgabe-Start-Ereignis nicht erhalten hat (Schritt 1007: Nein), fährt der Zeitplaner 14 mit dem Schritt 401 fort.
-
16 ist ein Diagramm, das schematisch auf der zeitlichen Achse einen Vorgang jeder Verarbeitung gemäß der fünften Ausführungsform beschreibt. Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 7 wird gegebenenfalls weggelassen.
-
Eine periodische Aufgabe A (11-3) schließt die arithmetische Verarbeitung I zum Zeitpunkt 30 ab. Hier liegt der Zeitpunkt 30 jenseits einer Periodische-Aufgabe-A-arithmetische-Verarbeitung-I-Frist 29, so dass die periodische Aufgabe A das Vorhersage-Aufgabe-Start-Ereignis zum Abschluss der Verarbeitung erzeugt (Schritt 905).
-
Wenn der Zeitplaner 14 zum Zeitpunkt 30 das Vorhersage-Aufgabe-Start-Ereignis empfangen hat, startet der Zeitplaner 14 die Vorhersage-Aufgabe 12 (Schritt 408). Infolgedessen startet eine Vorhersage-Aufgabe 12-5. Die Vorhersage-Aufgabe 12-5 sagt einen Ausgabewert der periodischen Aufgabe A (11-3) voraus.
-
Wie oben beschrieben, ist es in der fünften Ausführungsform möglich, proaktiv zu verhindern, dass die periodische Aufgabe A (11) überschreitet (Überschreitung der Frist), und die periodische Aufgabe B13 zu veranlassen, die arithmetische Verarbeitung unter Verwendung des von der Vorhersage-Aufgabe 12 ausgegebenen Vorhersagewertes durchzuführen.
-
[Sechste Ausführungsform]
-
17 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration einer Motorsteuereinheit 1-10 gemäß einer sechsten Ausführungsform der vorliegenden Erfindung zeigt. Eine detaillierte Beschreibung der gleichen Konfigurationen wie in 1 wird gegebenenfalls weggelassen. Ein Sensoreingang 22 ist eine Vorrichtung, die so konfiguriert ist, dass sie Eingaben von verschiedenen Sensoren, wie z. B. einem Kurbelwinkelsensor, empfangen kann. Ein Zündungstreiber 23-10 ist mit einem Motorzündsystem verbunden und folgt einem Befehl von einem Zündzeitpunktgeber 24-10, einen elektrischen Strom zum Zünden einer Kerze fließen zu lassen. Der Zündzeitpunktgeber 24-10 startet den Zündungstreiber 23-10 zu einem vom Prozessor festgelegten Zeitpunkt.
-
18 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration eines Funktionselements des Motorsteuergeräts 1-10 gemäß der sechsten Ausführungsform zeigt. Eine Drehzahl(RPM)-Berechnungs-Aufgabe 21-10 zählt die Kurbelwinkelsensorunterbrechungen innerhalb einer Periode und berechnet die Drehzahl. Eine Zündzeitpunktberechnungs-Aufgabe 11-10 berechnet den Zündzeitpunkt auf der Basis von Eingaben der Drehzahl, einer Ansauglufttemperatur oder anderen, und schreibt einen Wert des Zündzeitpunktes (relative Zeit zum Erreichen eines oberen Totpunktes) in den Puffer 15. Eine Zeitgebersetz-Aufgabe 13-10 liest den Zündzeitpunkt aus dem Puffer 15, wandelt den gelesenen Zündzeitpunkt in eine absolute Zeit um und setzt den Zündzeitpunkt. Die Vorhersage-Aufgabe 12 berechnet einen Vorhersagewert des Zündzeitpunktes, und schreibt den Vorhersagewert in den Puffer 15. Der Zeitplaner 14 startet jede Aufgabe in einem vorgegebenen Zeitraum.
-
19 ist ein Flussdiagramm eines Beispiels für Verarbeitungsschritte, die von der Zündzeitpunktberechnungs-Aufgabe 11-10 (Prozessor 2) gemäß der sechsten Ausführungsform durchgeführt werden. 20 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Zeitgebersetz-Aufgabe 13-10 (Prozessor 2) gemäß der sechsten Ausführungsform durchgeführt werden. Eine ausführliche Beschreibung der gleichen Verarbeitung wie in 5 wird hier weggelassen.
-
In Schritt 1202 von 20 stellt die Zeitgebersatz-Aufgabe den Zündzeitpunkt ein.
-
21 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Vorhersage-Aufgabe 12 (Prozessor 2) durchgeführt werden, die Verarbeitungsschritte gemäß der sechsten Ausführungsform. Die Vorhersage-Aufgabe 12 führt die Verarbeitung 1300 wie folgt aus. Es wird darauf hingewiesen, dass eine detaillierte Beschreibung derselben Verarbeitung wie in 4 gegebenenfalls weggelassen wird.
-
Die Vorhersage-Aufgabe 12 gibt die Drehzahl im Schritt 201 als Eingabeverarbeitung ein; und wenn eine Differenz zwischen der Drehzahl und einer vorherigen Drehzahl kleiner ist als ein konstanter Wert (Schritt 1302: Ja), beendet die Vorhersage-Aufgabe 12 den Vorgang. Wenn die Differenz nicht kleiner als der konstante Wert ist (Schritt 1302: Ja), bestimmt die Vorhersage-Aufgabe 12 in Schritt 1303, ob die Drehzahl hoch ist oder nicht; und wenn die Drehzahl hoch ist (Schritt 1303: Ja), addiert die Vorhersage-Aufgabe 12 einen Wert zu dem vorherigen Zündzeitpunkt, den Wert, der auf der Grundlage eines leichten Algorithmus erhalten wurde, mit anderen Worten, den Wert mit Bezug auf eine Tabelle, die der Drehzahl entspricht, und bestimmt den Zündzeitpunkt.
-
Wenn die Drehzahl nicht hoch ist (Schritt 1303: Nein), sagt die Vorhersage-Aufgabe 12 eine aktuelle Drehzahl auf der Grundlage des hochgenauen Algorithmus voraus, d.h. auf der Grundlage einer Änderung der Drehzahl über eine Vielzahl vorheriger Perioden; und auf der Grundlage eines vorausgesagten Wertes, d.h. eines Vorhersagewertes der aktuellen Drehzahl, sagt die Vorhersage-Aufgabe 12 den Zündzeitpunkt voraus (Schritt 603). Anschließend schreibt die Vorhersage-Aufgabe 12 den Vorhersagewert des Zündzeitpunktes in den Puffer 15 als Ausgabeverarbeitung.
-
Im Schritt 1302, wenn die Differenz zwischen der Drehzahl und der vorherigen Drehzahl kleiner ist als der konstante Wert, kann die Vorhersage-Aufgabe 12 die Vorhersageverarbeitung und die Ausgabeverarbeitung überspringen. Wenn die Vorhersageverarbeitung nicht erforderlich ist, d. h. wenn die Differenz zwischen der Drehzahl und der vorherigen Drehzahl kleiner als der konstante Wert ist, kann eine Verarbeitungslast reduziert werden.
-
In den Schritten 1303, 603 und 604, wenn die Drehzahl hoch ist (Schritt 1303: Ja), sagt die Vorhersage-Aufgabe 12 den Zündzeitpunkt basierend auf dem leichtgewichtigen Algorithmus voraus (Schritt 604); und wenn die Drehzahl nicht hoch ist (Schritt 1303: Nein), sagt die Vorhersage-Aufgabe 12 den Zündzeitpunkt basierend auf dem hochpräzisen Algorithmus voraus (Schritt 603). Mit dieser Konfiguration ist es möglich, die Vorhersageverarbeitung entsprechend der Verarbeitungslast zu schalten.
-
Wie oben beschrieben, verwendet das Motorsteuergerät in der sechsten Ausführungsform, wenn die Zündzeitpunktberechnungs-Aufgabe 11-10 die arithmetische Verarbeitung nicht innerhalb der vorgegebenen Ausgabeperiode abschließt, nicht den vorherigen Wert, sondern den vorausberechneten Ausgabewert, um eine Verschlechterung der Genauigkeit in der Zeitgebersetz-Aufgabe 13-10 zu verhindern.
-
[Siebte Ausführungsform]
-
22 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration einer AD-Einheit 1-20 zeigt, auf die die vorliegende Erfindung angewendet wurde. Eine detaillierte Beschreibung der gleichen Konfigurationen wie in 1 wird gegebenenfalls weggelassen.
-
In den Speicher 3 werden das Betriebssystem 7, eine Längspositionsschätz-Aufgabe 11-20, eine Horizontalpositionsschätz-Aufgabe 11-21, eine Längspositionsvorhersage-Aufgabe 12-20, eine Horizontalpositionsvorhersage-Aufgabe 12-21, eine Szeneriebestimmungs-Aufgabe 31 und eine Fusions-Aufgabe 32 geladen und vom Prozessor 2 ausgeführt.
-
Die AD-Einheit ist eine Steuereinheit, die zur Steuerung des automatischen Fahrens konfiguriert ist. Die AD-Einheit empfängt Eingaben von verschiedenen Sensoren (z.B. einer Kamera); erkennt Objekte in der Nähe eines eigenen Fahrzeugs auf der Grundlage der Eingaben; und integriert Informationen über die erkannten Objekte (als „Fusion“ bezeichnet), bestimmt einen Fahrzustand des eigenen Fahrzeugs (als „Szene“ bezeichnet) oder schätzt eine Position des eigenen Fahrzeugs. Anschließend berechnet die AD-Einheit eine Route, auf der das eigene Fahrzeug fahren soll; berechnet Steuerinformationen (z.B. einen Lenkwinkel), die erforderlich sind, um das eigene Fahrzeug auf der Route fahren zu lassen; und gibt die Steuerinformationen an einen Aktuator, wie z.B. ein elektrisches Lenksystem (EPS), aus.
-
Es wird darauf hingewiesen, dass die vorliegende Erfindung unter den Funktionen der AD-Einheit auf die Schätzung der Position des eigenen Fahrzeugs angewendet wird. Daher zeigen die 22 und 23 nur Konfigurationselemente, die sich auf die Schätzung der Position des eigenen Fahrzeugs beziehen.
-
23 ist ein Blockdiagramm, das ein Beispiel für die Konfiguration eines Funktionselements der AD-Einheit 1-20 zeigt, auf die die vorliegende Erfindung angewendet wurde.
-
Die Fusions-Aufgabe 32 integriert die Informationen über die erkannten Objekte oder andere und gibt die von der Längspositionsschätz-Aufgabe 11-20 und der Horizontalpositionsschätz-Aufgabe 11-21 benötigten Informationen aus.
-
Die Szeneriebestimmungs-Aufgabe 31 ermittelt, ob ein Kollisionsrisiko des eigenen Fahrzeugs mit einem vorausfahrenden Fahrzeug (aufgrund von Beschleunigung des eigenen Fahrzeugs oder Verzögerung des vorausfahrenden Fahrzeugs) gleich oder größer als ein konstantes Niveau ist oder ob sich das eigene Fahrzeug in einem Links/Rechts-Spurwechselmanöver befindet oder nicht. Die Szeneriebestimmungs-Aufgabe 31 gibt dann ein ermitteltes Ergebnis aus.
-
Die Längspositionsschätz-Aufgabe 11-20 schätzt eine Längsposition des eigenen Fahrzeugs und gibt ein Schätzergebnis an einen Längspositions-Puffer 15-20 aus.
-
Die Horizontalpositionsschätz-Aufgabe 11-21 schätzt eine horizontale Position des eigenen Fahrzeugs und gibt ein Schätzergebnis an einen Horizontalpositions-Puffer 15-21 aus.
-
Die Längspositions-Vorhersage-Aufgabe 12-20 prognostiziert die Längsposition des eigenen Fahrzeugs und gibt ein prognostiziertes Ergebnis an den Längspositions-Puffer 15-20 aus.
-
Die Horizontalpositions-Vorhersage-Aufgabe 12-21 prognostiziert die horizontale Position des eigenen Fahrzeugs und gibt ein prognostiziertes Ergebnis an den Horizontalpositions-Puffer 15-21 aus.
-
Ausgehend von der Längs- und Querposition des eigenen Fahrzeugs oder von Informationen über die Fahrspur, den Freiraum u.a. berechnet die Streckenberechnungs-Aufgabe 13-20 die Route, auf der das eigene Fahrzeug fahren soll.
-
24 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Längspositionsschätz-Aufgabe 11-20 gemäß der siebten Ausführungsform ausgeführt werden. 25 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Horizontalpositionsschätz-Aufgabe 11-21 gemäß der siebten Ausführungsform ausgeführt werden. 26 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Streckenberechnungs-Aufgabe 13-20 gemäß der siebten Ausführungsform ausgeführt werden. Die Streckenberechnungs-Aufgabe 13-20 führt die Verarbeitung 1600 wie folgt aus. Es wird darauf hingewiesen, dass eine detaillierte Beschreibung derselben Verarbeitung wie in 5 gegebenenfalls weggelassen wird.
-
In Schritt 1601 von 26 übernimmt die Streckenberechnungs-Aufgabe 13-20 Eingabewerte aus dem Längspositions-Puffer 15-20 und dem Horizontalpositions-Puffer 15-21.
-
27 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Längsposition Vorhersage-Aufgabe 12-20 gemäß der siebten Ausführungsform durchgeführt werden. Die Längsposition Vorhersage-Aufgabe (Prozessor 2) führt die Verarbeitung 1700 wie folgt aus. Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 4 wird hier weggelassen.
-
In Schritt 1702 bestimmt die Längsposition Vorhersage-Aufgabe, ob das eigene Fahrzeug die Kollisionsgefahr mit dem vorausfahrenden Fahrzeug hat oder nicht.
-
Die Längspositions-Vorhersage-Aufgabe 12-20 gibt das Ergebnis der Fusion und das Ergebnis der Szenenermittlung im Schritt 201 als Eingabeverarbeitung ein; und wenn das Kollisionsrisiko mit dem vorausfahrenden Fahrzeug kleiner ist als der konstante Pegel (Schritt 1702: Nein), beendet die Längspositions-Vorhersage-Aufgabe 12-20 die Verarbeitung. Wenn die Kollisionsgefahr nicht kleiner als der konstante Wert ist (Schritt 1702: Ja), sagt die Längspositions-Vorhersage-Aufgabe 12-20 die Längsposition des eigenen Fahrzeugs im Schritt 202 als Vorhersageverarbeitung voraus und schreibt den Ausgabewert in den Längspositions-Puffer 15-20 im Schritt 203 als Ausgabeverarbeitung.
-
28 ist ein Flussdiagramm eines Beispiels von Verarbeitungsschritten, die von der Horizontalpositions-Vorhersage-Aufgabe 12-21 gemäß der siebten Ausführungsform ausgeführt werden. Die horizontale Position Vorhersage-Aufgabe (Prozessor 2) führt die Verarbeitung 1800 wie folgt aus. Eine detaillierte Beschreibung der gleichen Verarbeitung wie in 4 wird an dieser Stelle weggelassen.
-
In Schritt 1802 bestimmt die horizontale Position Vorhersage-Aufgabe 12-21, ob sich das eigene Fahrzeug im Fahrspurwechselmanöver befindet oder nicht.
-
Die Horizontalpositions-Vorhersage-Aufgabe 12-21 gibt das Ergebnis der Fusion und das Ergebnis der Szenenbestimmung im Schritt 201 als Eingabeverarbeitung ein; und wenn sich das eigene Fahrzeug nicht im Spurwechselmanöver befindet (Schritt 1802: Nein), beendet die Horizontalpositions-Vorhersage-Aufgabe 12-21 die Verarbeitung. Wenn sich das eigene Fahrzeug im Spurwechselmanöver befindet (Schritt 1802: Ja), gibt die Horizontalpositions-Vorhersage-Aufgabe 12-21 die Horizontalposition des eigenen Fahrzeugs im Schritt 202 als Vorhersageverarbeitung vor, und schreibt den Ausgabewert in den Horizontalpositions-Puffer 15-21 im Schritt 203 als Ausgabeverarbeitung.
-
In den Schritten 1702 und 1802 wird aufgrund der Ergebnisse der Szenenermittlungen die Längsposition Vorhersage-Aufgabe 12-20 bzw. die Horizontalposition Vorhersage-Aufgabe 12-21 zur Vorhersageverarbeitung geschaltet. So kann verhindert werden, dass sich die Verarbeitungslast durch nicht benötigte Vorhersageverarbeitung erhöht.
-
Wie oben beschrieben, kann in der siebten Ausführungsform, wenn die Längspositionsschätz-Aufgabe 11-20 oder die Horizontalpositionsschätz-Aufgabe 11-21 in der AD-Einheit die arithmetische Verarbeitung nicht innerhalb der vorgegebenen Ausgabeperiode abschließt, der vorhergesagte Ausgabewert anstelle des vorherigen Wertes verwendet werden, um eine Verschlechterung der Genauigkeit in der Streckenberechnungs-Aufgabe 13-20 zu verhindern.
-
Es sollte beachtet werden, dass die vorliegende Erfindung nicht auf die vorstehenden Ausführungsformen beschränkt ist und verschiedene Modifikationen enthalten sein können. Zum Beispiel ist eine detaillierte Beschreibung der vorstehenden Ausführungsformen in jeder Hinsicht als rein illustrativ zu betrachten, um die Beschreibung zu erleichtern, und ist daher nicht einschränkend. Zusätzlich zu oder anstelle einer Konfiguration in jeder der vorgenannten Ausführungsformen können beliebige andere Konfigurationen der vorgenannten Ausführungsformen gezeigt werden. Ferner kann jede Hinzufügung, Entfernung und Ersetzung anderer Konfigurationen teilweise an, von und mit der Konfiguration in jeder der vorstehenden Ausführungsformen vorgenommen werden.
-
Jede der Komponenten, Funktionen oder anderen in den vorstehenden Ausführungsformen kann teilweise oder ganz in ein Hardwaresystem, wie z. B. eine integrierte Schaltung, integriert werden. Darüber hinaus kann jede der Komponenten, die Funktionen oder andere in ein Softwaresystem integriert sein, in dem ein Prozessor ein Programm bezüglich jeder der Funktionen interpretiert und ausführt. Informationen, die jede der Funktionen angeben, wie das Programm, eine Tabelle oder eine Datei, können in einem Speichergerät, wie einem Speicher, einer Festplatte oder einem Solid State Drive (SSD), gespeichert werden. Alternativ können die Informationen auch auf einem Speichermedium wie einer IC-Karte, einer SD-Karte oder einer DVD gespeichert werden.
-
Es ist zu beachten, dass die Ausführungsformen der vorliegenden Erfindung folgende Aspekte aufweisen können.
-
- (1) Bei einer Steuerungsvorrichtung mit einer Aufgabenausführungseinheit (Prozessor), die so konfiguriert ist, dass sie eine Aufgabe in einem vorgegebenen Zeitraum ausführt, sagt die Aufgabenausführungseinheit einen Ausgabewert der Aufgabe in einer Ausführungsperiode voraus, bevor der Ausgabewert in der Ausführungsperiode ausgegeben wird.
- (2) Bei der Steuerungsvorrichtung nach (1) kann, wenn die Aufgabe nicht innerhalb der Ausführungsperiode abgeschlossen wird, die Aufgabenausführungseinheit den Ausgabewert vorausberechnet erhalten.
- (3) Mit der Steuerungsvorrichtung gemäß (1) oder (2) führt die Aufgabenausführungseinheit bei der Vorhersage des Ausgabewertes in der Ausführungsperiode, wenn die unbesetzte Zeit (bevor der Ausgabewert ausgegeben wird) in irgendeiner der Ausführungsperioden größer als ein vorbestimmter Wert ist, eine Vorhersage durch, bei der die Genauigkeit im Vordergrund steht; und wenn die unbesetzte Zeit (bevor der Ausgabewert ausgegeben wird) in einer der Ausführungsperioden kleiner als der vorbestimmte Wert ist, führt die Aufgabenausführungseinheit eine Vorhersage durch, bei der die Geschwindigkeit Vorrang hat.
- (4) Bei der Steuerungsvorrichtung nach (1) oder (2), wenn eine Verzögerung der Aufgabe in der Ausführungsperiode einen Schwellenwert überschreitet, beendet die Aufgabenausführungseinheit die Aufgabe in der Ausführungsperiode und sagt den Ausgabewert in der Ausführungsperiode voraus.
- (5) Bei der Steuerungsvorrichtung nach (3) basiert die Vorhersage, bei der die Genauigkeit im Vordergrund steht, auf dem Algorithmus, der eine Regressionskurve hoher Ordnung oder eine große Datenmenge verwendet, und die Vorhersage, bei der die Geschwindigkeit im Vordergrund steht, basiert auf dem Algorithmus, bei dem ein dem Eingabewert entsprechender Vorhersagewert unter Bezugnahme auf eine Tabelle ermittelt wird.
- (6) Bei der Steuerungsvorrichtung nach (1) entspricht die Steuerungsvorrichtung einer AD-Einheit.
-
Mit anderen Worten, die Steuerungsvorrichtung enthält den Prozessor und einen Speicher, führt eine arithmetische Verarbeitung auf der Grundlage von Eingabedaten durch, die von einer Eingabevorrichtung erfasst werden, erzeugt einen Ausgabewert und steuert eine Ausgabevorrichtung innerhalb einer vorgegebenen Zeitspanne. Die Steuerungsvorrichtung umfasst: eine periodische Aufgabe A, die so konfiguriert ist, dass sie Daten von der Eingabevorrichtung empfängt und auf der Grundlage der empfangenen Daten eine arithmetische Verarbeitung durchführt, die so vorbestimmt ist, dass sie den Ausgabewert erzeugt; eine periodische Aufgabe B, die so konfiguriert ist, dass sie eine arithmetische Verarbeitung durch Eingabe des erzeugten Ausgabewertes durchführt; und eine Vorhersage-Aufgabe, die so konfiguriert ist, dass sie den Ausgabewert der periodischen Aufgabe A vorhersagt. Wenn die periodische Aufgabe A die arithmetische Verarbeitung nicht abschließt, um den Ausgabewert innerhalb der vorgegebenen Zeitspanne zu erzeugen, führt die periodische Aufgabe B die arithmetische Verarbeitung auf der Grundlage des von der Vorhersage-Aufgabe vorhergesagten Ausgabewertes durch.
-
Mit dieser Steuerungsvorrichtung ist es möglich, wenn die arithmetische Verarbeitung einer Aufgabe nicht innerhalb einer vorbestimmten Ausgabeperiode abgeschlossen ist, den vorausberechneten Ausgabewert zu verwenden, um eine Verschlechterung der Genauigkeit der Verarbeitung zu verhindern.
-
Bezugszeichenliste
-
- 1
- Fahrzeugsteuerungseinrichtung
- 2
- Prozessor
- 3
- Speicher
- 4
- nichtflüchtige Speicher
- 8
- Zusammenschaltung
- 11
- periodische Aufgabe A
- 12
- Vorhersage-Aufgabe
- 13
- periodische Aufgabe B
- 14
- Zeitplaner
- 15
- Puffer
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2016523409 A [0004]
- JP 2016066139 A [0004]