-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine Fahrzeugsteuervorrichtung mit mehreren CPU.
-
Stand der Technik
-
Ein Kraftfahrzeugsteuersystem umfasst mehrere elektronische Steuereinheiten (ECU). Solche ECU müssen Sensoreingabeprozesse, Prozesse zum Berechnen von Zielwerten für Steuerprozesse und Prozesse zum Steuern von Aktuatoren ausführen, während sie eine strenge Zeiteinschränkung (Frist) erfüllen. Die Integration von ECU wurde gefördert, um Kostenverringerungen und Raumeinsparung zu erreichen, und eine Mehrkernkonfiguration wurde schließlich angepasst, um mit einer Anforderung für höhere Rechenkomplexität zurechtzukommen.
-
Wenn jedoch ein Kern, der den Steuerprozess ausführt, ausfällt, ist der Kern nicht mehr in der Lage, den Prozess noch länger fortzusetzen. Daher wird eine Reservesteuerung zum Stoppen der gesamten ECU ausgeführt, um die Sicherheit zu gewährleisten.
-
Daher besteht ein Bedarf an einer Technik zum Verbessern der Verfügbarkeit, so dass der Steuerprozess fortgesetzt werden kann.
-
Mit der in PTL 1 beschriebenen Technologie werden Festlegungsinformationen (Kernzuweisungsinformationen), die definieren, welcher Kern die Software ausführen soll, im Voraus in einer Weise, die einem Betriebsmodus zugeordnet ist, gespeichert. Wenn ein Ausfall des Kerns dann detektiert wird, wird der Betriebsmodus, indem dies durch ein Rücksetzen ausgelöst wird, auf einen anderen Modus geändert, in dem die Software nur unter Verwendung der Kerne ausgeführt werden kann, die in der Lage sind, normal zu arbeiten. Auf diese Weise ist es möglich, den Kern, an dem die Software ausgeführt wird, umzuschalten und die Verfügbarkeit zu verbessern.
-
Entgegenhaltungsliste
-
Patentliteratur
-
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
Mit der in PTL 1 beschriebenen Technologie kann jedoch nicht sichergestellt werden, dass der Kern, zu dem die Ausführung bewegt wird, in der Lage ist, die Software in Echtzeit auszuführen. Da eine solche Konfiguration eine Auslegung im Voraus erfordert, ist es außerdem schwierig, mit Software-Aktualisierungen zurechtzukommen.
-
Die vorliegende Erfindung wurde gemacht, um das vorstehend beschriebene Problem zu lösen, und eine Aufgabe der vorliegenden Erfindung besteht darin, eine Fahrzeugsteuervorrichtung zu schaffen, die in der Lage ist, durch Bestimmen eines Kerns, zu dem eine Software bewegt werden soll, in Abhängigkeit von dem ausgefallenen Kern, Bestimmen, ob irgendein Konflikt in den Zeitabläufen besteht, in denen die Software ausgeführt wird, auf der Basis von Software-Operationen am Kern, der sich aus dem Bewegen der Software ergibt, und Durchführen einer Zuteilung, wenn ein Konflikt besteht, die Sicherheit und die Verfügbarkeit zu verbessern.
-
Lösung für das Problem
-
Um das vorstehend beschriebene Problem zu lösen, ist die vorliegende Erfindung wie folgt konfiguriert.
-
Ein Fahrzeugsteuervorrichtung mit einer CPU, die mehrere Aufgaben in Taktsynchronisation ausführt, wobei die Fahrzeugsteuervorrichtung umfasst:
- eine Ausfalldetektionseinheit, die einen Ausfall eines Kerns in der CPU detektiert; und eine Ausführungszeitablaufzuteilungseinheit, die eine Aufgabe, die durch den ausgefallenen Kern ausgeführt wurde, einem nicht ausgefallenen Kern zuweist; wobei, wenn die Aufgabe, die die durch den ausgefallenen Kern ausgeführt wurde, dem nicht ausgefallenen Kern zugewiesen wird, die Ausführungszeitablaufzuteilungseinheit einen Ausführungszeitschlitz verschiebt, um die durch den nicht ausgefallenen Kern ausgeführte Aufgabe ausführbar zu machen, wodurch Zeitschlitze festgelegt werden, in denen die mehreren Aufgaben ausführbar sind.
-
Vorteilhafte Effekte der Erfindung
-
Mit der Fahrzeugsteuervorrichtung gemäß der vorliegenden Erfindung ist es möglich, eine Fahrzeugsteuervorrichtung zu schaffen, die in der Lage ist, durch Bestimmen des Kerns, zu dem die Software bewegt werden soll, in Abhängigkeit davon, welcher Kern ausgefallen ist, Bestimmen, ob irgendein Konflikt in den Zeitabläufen der Ausführung der Software besteht, auf der Basis der Operationen der Software an dem Kern, der sich aus dem Bewegen der Software ergibt, und Durchführen einer Zuteilung, wenn ein Konflikt auftritt, die Sicherheit und die Verfügbarkeit zu verbessern.
-
Figurenliste
-
- [1] 1 ist ein Konfigurationsdiagramm einer Fahrzeugsteuervorrichtung gemäß einer ersten, einer zweiten, einer dritten und einer vierten Ausführungsform.
- [2] 2 ist ein Funktionsblockdiagramm der Fahrzeugsteuervorrichtung gemäß der ersten, der zweiten und der dritten Ausführungsform.
- [3A] 3A ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der ersten Ausführungsform darstellt.
- [3B] 3B ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der ersten Ausführungsform darstellt.
- [3C] 3C ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der ersten Ausführungsform darstellt.
- [4] 4 ist ein Diagramm, das eine Prozesskontinuitätsbestimmungstabelle gemäß der ersten Ausführungsform darstellt.
- [5] 5 ist ein Diagramm, das Kernzuweisungsinformationen gemäß der ersten Ausführungsform darstellt.
- [6A] 6A ist ein Diagramm, das eine Zeitplanungstabelle gemäß der ersten Ausführungsform darstellt.
- [6B] 6B ist ein Diagramm, das eine Zeitplanungstabelle gemäß der ersten Ausführungsform darstellt.
- [7] 7 ist ein Ablaufplan eines Prozesses, der durch eine Bestimmungseinheit für den fortzusetzenden Prozess gemäß der ersten Ausführungsform durchgeführt wird.
- [8] 8 ist ein Ablaufplan eines Prozesses, der durch eine Kernzuweisungsaktualisierungseinheit gemäß der ersten Ausführungsform durchgeführt wird.
- [9] 9 ist ein Ablaufplan eines Prozesses, der durch eine Ausführungszeitablaufzuteilungseinheit gemäß der ersten Ausführungsform durchgeführt wird.
- [10A] 10A ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der zweiten Ausführungsform darstellt.
- [10B] 10B ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der zweiten Ausführungsform darstellt.
- [10C] 10C ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der zweiten Ausführungsform darstellt.
- [11A] 11A ist ein Diagramm, das eine Zeitplanungstabelle gemäß der zweiten Ausführungsform darstellt.
- [11B] 11B ist ein Diagramm, das eine Zeitplanungstabelle gemäß der zweiten Ausführungsform darstellt.
- [12] 12 ist ein Ablaufplan eines Prozesses, der durch eine Ausführungszeitablaufzuteilungseinheit gemäß der zweiten Ausführungsform durchgeführt wird.
- [13A] 13A ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der dritten Ausführungsform darstellt.
- [13B] 13B ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der dritten Ausführungsform darstellt.
- [13C] 13C ist ein Diagramm das Aufgabenfestlegungsinformationen gemäß der dritten Ausführungsform darstellt.
- [14] 14 ist ein Diagramm, das eine Prozesskontinuitätsbestimmungstabelle gemäß der dritten Ausführungsform darstellt.
- [15] 15 ist ein Diagramm, das Kernzuweisungsinformationen in der dritten Ausführungsform darstellt.
- [16A] 16A ist ein Diagramm, das eine Zeitplanungstabelle gemäß der dritten Ausführungsform darstellt.
- [16B] 16B ist ein Diagramm, das eine Zeitplanungstabelle gemäß der dritten Ausführungsform darstellt.
- [17] 17 ist ein Ablaufplan eines Prozesses, der durch eine Ausführungszeitablaufzuteilungseinheit gemäß der dritten Ausführungsform durchgeführt wird.
- [18] 18 ist ein Funktionsblockdiagramm eines Steuersystems gemäß der vierten Ausführungsform.
- [19] 19 ist ein Konfigurationsdiagramm eines Systems gemäß einer fünften Ausführungsform.
- [20] 20 ist ein Funktionsblockdiagramm eines Steuersystems gemäß der fünften Ausführungsform.
- [21A] 21A ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der fünften Ausführungsform darstellt.
- [21B] 21B ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der fünften Ausführungsform darstellt.
- [21C] Fig .21C ist ein Diagramm, das Aufgabenfestlegungsinformationen gemäß der fünften Ausführungsform darstellt.
- [22] 22 ist ein Diagramm, das eine Prozesskontinuitätsbestimmungstabelle gemäß der fünften Ausführungsform darstellt.
- [23] 23 ist ein Diagramm, das Kernzuweisungsinformationen in der fünften Ausführungsform darstellt.
- [24A] 24A ist ein Diagramm, das eine Zeitplanungstabelle gemäß der fünften Ausführungsform darstellt.
- [24B] 24B ist ein Diagramm, das eine Zeitplanungstabelle gemäß der fünften Ausführungsform darstellt.
-
Beschreibung von Ausführungsformen
-
Eine Fahrzeugsteuervorrichtung gemäß der vorliegenden Erfindung detektiert einen Ausfall eines Kerns, der eine Steuer-Software ausführt, wählt einen fortzusetzenden Prozess unter Prozessen aus, die durch den ausgefallenen Kern betroffen sind, und bestimmt einen Kern, an dem der fortzusetzende Prozess ausgeführt werden soll.
-
Die Fahrzeugsteuervorrichtung bestimmt auch, ob irgendein Konflikt in den Zeitabläufen der Ausführung infolge des Hinzufügens des fortzusetzenden Prozesses besteht, und führt eine Zuteilung durch. Die Fahrzeugsteuervorrichtung wird dann mit den Zeitabläufen betrieben, die sich aus der Zuteilung ergeben.
-
Einige Ausführungsformen der vorliegenden Erfindung werden nun mit Bezug auf die Zeichnungen erläutert.
-
<Erste Ausführungsform>
-
1 ist ein Diagramm, das eine Konfiguration eines Systems gemäß einer ersten Ausführungsform der vorliegenden Erfindung darstellt. Eine Fahrzeugsteuervorrichtung 0 umfasst eine ECU 1 und ein Netz 2. Die ECU 1 umfasst mehrere CPU 11 und einen Speicher 12. Die mehreren CPU 11 führen Aufgaben in Taktsynchronisation aus. Da jede der CPU 11 mehrere Kerne 10 umfassen kann, kann eine CPU ein Mehrkernprozessor sein und in den Schutzbereich der vorliegenden Erfindung fallen. In der ersten Ausführungsform weist jedoch eine CPU einen Kern 10 auf. Da die ECU 1 mehrere CPU 11 umfasst, sind mehrere Kerne 10 in der ECU 1 angeordnet. Der Speicher 12 speichert darin ein Programm. Die Anzahl der Speicher 12 ist nicht auf irgendeine spezielle Anzahl begrenzt.
-
2 ist ein Funktionsblockdiagramm der ECU 1 gemäß der ersten Ausführungsform. Eine Ausfalldetektionseinheit 121 in der ECU 1 detektiert einen Ausfall eines Kerns 10 und meldet den Ort des Ausfalls an die Auswahleinheit 122 für den fortzusetzenden Prozess. Die Auswahleinheit 122 für den fortzusetzenden Prozess benachrichtigt eine Kernzuweisungsaktualisierungseinheit 123 über eine Aufgabengruppe, deren Prozesse fortgesetzt werden sollen. In der ersten Ausführungsform wird eine Einheit, in der ein Teil eines Software-Prozesses ausgeführt wird, als Aufgabe bezeichnet. Die Ausführung einer Aufgabe wird durch das Betriebssystem (OS) in derselben Weise wie für einen Thread gemanagt.
-
Der Prozess der Steuer-Software wird in einer Aufgabe ausgeführt, so dass mehrere Prozesse der Steuer-Software in einer Aufgabe ausgeführt werden können. Die Kernzuweisungsaktualisierungseinheit 123 wählt einen Zuweisungsempfangskern aus und benachrichtigt die Ausführungszeitablaufzuteilungseinheit 124 über den Zuweisungsempfangskern sowie die Aufgabengruppe.
-
Die Ausführungszeitablaufzuteilungseinheit 124 detektiert, ob irgendein Konflikt in den Zeitabläufen besteht, in denen die neu zugeordnete Gruppe von Aufgaben ausgeführt wird und in denen eine Gruppe von Aufgaben, die ursprünglich zugeordnet wurden, ausgeführt wird. Mit anderen Worten, die Ausführungszeitablaufzuteilungseinheit 124 überprüft, ob der nicht ausgefallene Kern 10 die Aufgabe, die durch den ausgefallenen Kern 10 ausgeführt wurde, im gleichen Zeitschlitz ausführen kann. Die Ausführungszeitablaufzuteilungseinheit 124 führt dann eine Zuteilung durch Ändern (Verschieben) des Zeitablaufs, in dem der Kern 10 die Aufgabe ausführt (Ausführungszeitschlitz), durch. Der Ausführungszeitschlitz wird innerhalb eines Bereichs geändert, in dem die Eingabe/Ausgabe-Zeiteinschränkungen des Kerns 10 es erlauben. Die Ausführungszeitablaufzuteilungseinheit 124 legt Zeitschlitze fest, in denen mehrere Aufgaben des ausgefallenen Kerns 10 unabhängig ausgeführt werden können, und legt die Zeitschlitze als zugeteilte Aufgabenfestlegungsinformationen fest. Die zugeteilten Aufgabenfestlegungsinformationen werden an einen Zeitplaner 127 gemeldet. Der Zeitplaner 127 führt die Aufgaben durch Zeitteilung auf der Basis der Aufgabenfestlegungsinformationen aus. Der Zeitplaner 127 steuert die auszuführenden Aufgaben in Taktsynchronisation, so dass eine spezielle Aufgabe in einem speziellen Zeitschlitz ausgeführt wird. Wenn die Zuteilung fehlschlägt, wird eine Reservesteuereinheit 125 ausgeführt und die Fehlerbenachrichtigungseinheit 126 meldet einen Fehler an eine andere ECU über das Netz.
-
3A, 3B und 3C sind Diagramme, die Aufgabenfestlegungsinformationen 131, 132 und 133 gemäß der ersten Ausführungsform darstellen. Die Aufgabenfestlegungsinformationen umfassen eine Kern-ID, eine Aufgabengruppe, eine Aufgaben-ID, eine Eigenschaft, einen Zyklus, eine Startzeit, eine Endzeit und einen Spielraum.
-
Eine Kern-ID ist eine ID zum Identifizieren einer CPU 11. Eine Aufgabengruppe gibt einen Satz von Teilen von Steuer-Software an und der Wert gibt eine Aufgabengruppen-ID an. Eine Aufgaben-ID gibt eine ID zum Identifizieren einer Aufgabe an. Die Eigenschaft gibt die Rolle der Aufgabe an. R gibt eine Eingabeverarbeitungsaufgabe zum Ausführen eines Eingabeprozesses in eine Aufgabengruppe (Einkopieren) an. E stellt eine Steuerverarbeitungsaufgabe zum Ausführen eines Steuerprozesses dar und W stellt eine Ausgabeverarbeitungsaufgabe zum Ausgeben eines Ergebnisses des durch E berechneten Steuerprozesses (Auskopieren) dar.
-
Ein Zyklus gibt ein Intervall an, in dem die Aufgabe ausgeführt wird. Die Startzeit gibt die Zeit an, in der die Ausführung der Aufgabe gestartet wird, und wird in Einheiten von ms angegeben. Die Endzeit ist die Zeit, in der die Aufgabe beendet wird, und wird in Einheiten von ms angegeben. Ein Spielraum ist eine zusätzliche Zeit (eine zusätzliche Zeit für eine Dauer der Aufgabe), die in Anbetracht der Möglichkeit von Schwankungen in der Dauer der Aufgabe reserviert ist, und die Endzeit wird durch diese Spielraumzeit unterstützt. Der Spielraum wird in Einheiten von ms angegeben.
-
3A stellt die Aufgabenfestlegungsinformationen 131 vor einem Kernausfall dar. 3B stellt die Aufgabenfestlegungsinformationen 132 dar, nachdem ein Zuweisungsempfangskern der Aufgabengruppe bestimmt wurde, aber vor der Zuteilung, und 3C stellt die Aufgabenfestlegungsinformationen 133 nach der Zuteilung dar.
-
4 stellt eine Prozesskontinuitätsbestimmungstabelle 134 gemäß der ersten Ausführungsform dar. Die Prozesskontinuitätsbestimmungstabelle 134 umfasst eine Funktionsgruppe, eine Aufgabengruppe, eine Aufgaben-ID, eine Prozesskontinuität, ein ASIL und eine erforderliche CPU-Nutzungsrate. Eine Funktionsgruppe gibt eine Gruppe von Fahrzeugsteuerfunktionen an und der Wert gibt eine Funktionsgruppen-ID an. Beispiele davon umfassen eine Gruppe von Teilen von Software zum Steuern der Kraftmaschine, und eine Gruppe von Teilen von Software zum Berechnen eines Ziellenkwinkels und eines Beschleunigungs/Verlangsamungs-Befehls für ein Fahrunterstützungssystem oder automatisches Fahren.
-
Eine Aufgabengruppe ist ein Satz von einer oder mehreren Aufgaben zum Implementieren einer Funktionsgruppe und der Wert gibt eine Aufgabengruppen-ID an. Eine Funktionsgruppe umfasst eine Aufgabengruppe, die eine oder mehrere Aufgaben umfasst. Ferner umfasst eine Aufgabengruppe R, E und W und zumindest die Ausgabeverarbeitungsaufgabe wird durch Zeitteilung ausgeführt. E wird nach R und vor W durchgeführt. Eine Aufgaben-ID gibt eine ID zum Identifizieren einer Aufgabe an. Die Prozesskontinuität gibt an, ob der Prozess der Aufgabengruppe fortgesetzt werden soll, wenn der Kern ausfällt. „Erforderlich“ gibt an, dass der Prozess fortgesetzt werden muss, und „nicht erforderlich“ gibt an, dass der Prozess nicht fortgesetzt werden muss. ASIL ist eine Abkürzung für Kraftfahrzeugsicherheitsintegritätsniveaus, die in der Funktionssicherheitsnorm ISO 262626 definiert sind, und gibt ein erforderliches Niveau an Kraftfahrzeugsicherheit an. Die Niveaus umfassen QM und A bis D, wobei D die höchste Anforderung ist. Die erforderliche CPU-Nutzungsrate bedeutet die CPU-Nutzungsrate, die beim Ausführen der Aufgabengruppe verbraucht wird.
-
5 stellt Kernzuweisungsinformationen 135 gemäß der ersten Ausführungsform dar. Die Kernzuweisungsinformationen 135 umfassen eine Kern-ID, ein ASIL, eine Ausführungsfunktionsgruppe, eine CPU-Nutzungsrate, einen Spielraum und eine CPU-Verfügbarkeitsrate. Eine Kern-ID ist eine ID zum Identifizieren einer CPU 11. ASIL gibt ein ASIL an, dem der Kern entsprechen soll. Eine Ausführungsfunktionsgruppe gibt eine Funktionsgruppe an, die durch den Kern 10 ausgeführt wird, und der Wert gibt eine Funktionsgruppen-ID an.
-
Die CPU-Nutzungsrate ist die CPU-Last, die beim Ausführen der Ausführungsfunktionsgruppe verbraucht wird. Ein Spielraum stellt eine Zeiterlaubnis dar, die erforderlich ist, um Echtzeit sicherzustellen, selbst wenn die Dauer der Aufgabengruppe von der vorhergesagten Zeit abweicht. Eine CPU-Verfügbarkeitsrate gibt den Grad an, in dem die CPU für die Ausführung einer anderen Aufgabengruppe verfügbar ist, wobei die CPU-Nutzungsrate und der Spielraum ausgeschlossen sind.
-
6A und 6B stellen Zeitplanungstabellen 136 und 137 gemäß der ersten Ausführungsform dar. Die Zeitplanungstabelle umfasst eine Aufgabengruppe und eine Startzeit. Eine Aufgabengruppe gibt die Aufgabengruppen-ID an, die an einem speziellen Kern ausgeführt wird. Die Startzeit gibt eine Aufgaben-ID an, die in einer speziellen Zeit ausgeführt wird. 6A stellt die Zeitplanungstabelle 136 vor der Zuteilung dar und 6B stellt die Zeitplanungstabelle 137 nach der Zuteilung dar.
-
Die Sequenz einer Operation gemäß der ersten Ausführungsform wird nun im Einzelnen erläutert.
-
7 ist die Sequenz des Prozesses, der durch die Bestimmungseinheit 122 für den fortzusetzenden Prozess durchgeführt wird. Jeder der in 7 enthaltenen Schritte wird nachstehend erläutert.
-
(Fig. 7: Schritt 1221)
-
Auf der Basis des Orts des Ausfalls (Kern-ID) identifiziert die Auswahleinheit 122 für den fortzusetzenden Prozess Aufgabengruppen, die dadurch betroffen sind, aus den Aufgabenfestlegungsinformationen. Insbesondere werden Aufgabengruppen, die durch die Kern-ID ausgeführt werden, aus den Aufgabenfestlegungsinformationen 131 identifiziert.
-
(Fig. 7: Schritt 1222)
-
Die Auswahleinheit 122 für den fortzusetzenden Prozess identifiziert eine Funktionsgruppe, die infolge der Unterbrechung der Aufgabengruppen betroffen ist, auf der Basis der Prozesskontinuitätsbestimmungstabelle 134 unter Verwendung der identifizierten Aufgabengruppen. In Schritt 1222 identifiziert die Auswahleinheit 122 für den fortzusetzenden Prozess auf der Basis der Prozesskontinuitätsbestimmungstabelle 134 die Funktionsgruppe, die durch den ausgefallenen Kern 10 betroffen ist, auf der Basis der Kraftfahrzeugsicherheitsnorm.
-
(Fig. 7: Schritt 1223)
-
Die Auswahleinheit 122 für den fortzusetzenden Prozess identifiziert eine Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, aus den identifizierten Funktionsgruppen auf der Basis der Prozesskontinuitätsbestimmungstabelle 134.
-
8 ist ein Ablaufplan des Prozesses, der durch die Kernzuweisungsaktualisierungseinheit 123 durchgeführt wird. Jeder der in 8 enthaltenen Schritte wird nachstehend erläutert.
-
(Fig. 8: Schritt 1231)
-
Um nach einem Kern zu suchen, zu dem die Aufgabengruppe bewegt werden soll, bezieht sich die Kernzuweisungsaktualisierungseinheit 123 auf die Kernzuweisungsinformationen 135 und findet eine Kern-ID, deren CPU-Verfügbarkeitsrate höher ist als die erforderliche CPU-Nutzungsrate für die Aufgabengruppe.
-
(Fig. 8: Schritt 1232)
-
Die Kernzuweisungsaktualisierungseinheit 123 bestimmt, ob die in Schritt 1231 gefundene Kern-ID sich an der gleichen ECU wie die ECU, von der der Ausfall detektiert wurde, befindet. Wenn dies wahr ist, wird die Sequenz dieses Prozesses beendet. Wenn es falsch ist, geht der Prozess zu Schritt 1233.
-
(Fig. 8: Schritt 1233)
-
Die Kernzuweisungsaktualisierungseinheit 123 sendet die in Schritt 1231 gefundene Kern-ID und die Informationen der Aufgabengruppe, deren Prozesse durch die ECU fortgesetzt werden müssen, zur ECU, die die Zuweisungsempfangskern-ID umfasst.
-
9 ist ein Ablaufplan des durch die Ausführungszeitablaufzuteilungseinheit 124 durchgeführten Prozesses. Jeder der in 9 enthaltenen Schritte wird nachstehend erläutert.
-
(Fig. 9: Schritt 12401)
-
Die Ausführungszeitablaufzuteilungseinheit 124 aktualisiert die Aufgabenfestlegungsinformationen durch Hinzufügen der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zur Zuweisungsempfangskern-ID, um die Aufgabenfestlegungsinformationen 132 (3B) zu erzeugen.
-
(Fig. 9: Schritt 12402)
-
Wenn die Zuweisungsempfangskern-ID mehrere Funktionsgruppen aufweist, dividiert die Ausführungszeitablaufzuteilungseinheit 124 den Spielraum durch die Anzahl der Funktionsgruppen (3B).
-
(Fig. 9: Schritt 12403)
-
Die Ausführungszeitablaufzuteilungseinheit 124 erzeugt dann die Zeitplanungstabelle (6A) auf der Basis einer Hyperperiode und prüft, ob eine andere Aufgabengruppe vorhanden ist, die im gleichen Startzeitschlitz ausgeführt werden soll wie die Aufgabengruppe, deren Prozesse fortgesetzt werden müssen.
-
(Fig. 9: Schritt 12404)
-
Wenn einige Aufgaben im gleichen Zeitschlitz ausgeführt werden sollen, bestimmt die Ausführungszeitablaufzuteilungseinheit 124, ob der Konflikt für R der Aufgabengruppe auftritt, deren Prozesse fortgesetzt werden müssen. Wenn dies wahr ist, wird der Prozess zu Schritt 12405 verschoben. Wenn es falsch ist, wird der Prozess zu Schritt 12406 verschoben.
-
(Fig. 9: Schritt 12405)
-
Die Ausführungszeitablaufzuteilungseinheit 124 verschiebt R der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zu einer verfügbaren Zeit mit der frühesten Startzeit.
-
(Fig. 9: Schritt 12406)
-
Wenn einige Aufgaben im gleichen Zeitschlitz ausgeführt werden sollen, bestimmt die Ausführungszeitablaufzuteilungseinheit 124, ob der Konflikt für E der Aufgabengruppe auftritt, deren Prozesse fortgesetzt werden müssen. Wenn dies wahr ist, wird der Prozess zu Schritt 12407 verschoben. Wenn es falsch ist, wird der Prozess zu Schritt 12408 verschoben.
-
(Fig. 9: Schritt 12407)
-
Die Ausführungszeitablaufzuteilungseinheit 124 verschiebt E der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zu einer verfügbaren Zeit mit der frühesten Startzeit. Um die Reihenfolge von Ausführungen innerhalb der Aufgabengruppe aufrechtzuerhalten, wird E in der Zeit später ausgeführt als R.
-
(Fig. 9: Schritt 12408)
-
Wenn einige Aufgaben im gleichen Zeitschlitz ausgeführt werden sollen, bestimmt die Ausführungszeitablaufzuteilungseinheit 124, ob der Konflikt für W der Aufgabengruppe auftritt, deren Prozesse fortgesetzt werden müssen. Wenn dies wahr ist, wird der Prozess zu Schritt 12409 verschoben. Wenn es falsch ist, wird der Prozess zu Schritt 12410 verschoben.
-
(Fig. 9: Schritt 12409)
-
Die Ausführungszeitablaufzuteilungseinheit 124 verschiebt W der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zu einer verfügbaren Zeit mit der spätesten Startzeit. Um die Reihenfolge von Ausführungen innerhalb der Aufgabengruppe aufrechtzuerhalten, wird W in der Zeit später ausgeführt als E. E kann in der Zeit von W getrennt werden. E kann schließlich später sein als die vorhergesagte Zeit, aber diese Differenz wird durch den Spielraum absorbiert. Indem E und W separat gehalten werden, wie es derzeit der Fall ist, ist der Zeitpunkt, zu dem W ausgeführt wird, fest. Daher ist keine Änderung in den anderen Aufgabengruppen erforderlich und die Echtzeit kann sichergestellt werden. Die Ausführungszeitablaufzuteilungseinheit 124 teilt die Zeitabläufe der Ausführung durch Ändern (Verschieben) des Zeitablaufs, in dem die Aufgaben in der Gruppe ausgeführt werden, zu, während die Reihenfolge aufrechterhalten wird, in der die Eingabeverarbeitungsaufgabe, die Steuerverarbeitungsaufgabe und die Ausgabeverarbeitungsaufgabe ausgeführt werden.
-
(Fig. 9: Schritt 12410)
-
Die Ausführungszeitablaufzuteilungseinheit 124 bestimmt, ob die Aufgaben W, E und R erfolgreich zur verfügbaren Startzeit verschoben wurden. Wenn das Bestimmungsergebnis wahr ist, wird die Sequenz dieser Operation beendet. Wenn das Bestimmungsergebnis falsch ist, wird der Prozess zu Schritt 12411 verschoben.
-
(Fig. 9: Schritt 12411)
-
Die Ausführungszeitablaufzuteilungseinheit 124 sendet eine Fehlerinformation zum Netz 2 über die Fehlerbenachrichtigungseinheit 126, benachrichtigt die Reservesteuereinheit 125, die Reservesteuerung auszuführen, und die Sequenz der Operation wird beendet.
-
Wie vorstehend beschrieben, bestimmt die Ausführungszeitablaufzuteilungseinheit 124, ob die Eingabeverarbeitungsaufgabe R und die Steuerverarbeitungsaufgabe E zu der Zeit, bevor die Ausgabeaufgabe ausgeführt werden soll, innerhalb desselben Zyklus verschoben werden können. Wenn die Eingabeverarbeitungsaufgabe R und die Steuerverarbeitungsaufgabe E nicht verschoben werden können, sendet die Ausführungszeitablaufzuteilungseinheit 124 einen Fehler, so dass die Reservesteuerung ausgeführt wird. Es ist zu beachten, dass in Schritt 12411 die Ausführungszeitablaufzuteilungseinheit 124 entweder den Fehler oder die Reservesteuerung melden kann. Gemäß der ersten Ausführungsform kann, selbst wenn ein Kern ausfällt, ein anderer Kern die Aufgabe ausführen, deren Verarbeitung fortgesetzt werden muss. Daher wird die Verfügbarkeit verbessert.
-
Gemäß der ersten Ausführungsform werden, selbst wenn ein Konflikt in den Zeitabläufen besteht, in denen die Prozesse ausgeführt werden sollen, unter der Annahme, dass ein anderer Kern die Aufgabe ausführen soll, deren Prozess fortgesetzt werden muss, außerdem die Ausführungszeitabläufe zu einer verfügbaren Zeit verschoben, während die Reihenfolge aufrechterhalten wird, in der die Aufgaben ausgeführt werden. Daher ist es möglich, die Frist ohne Beeinflussen des Ergebnisses der Steuerberechnung einzuhalten.
-
Außerdem wird gemäß der ersten Ausführungsform, wenn ein Konflikt in den Zeitabläufen besteht, in denen die Prozesse ausgeführt werden sollen, die Dauer der Aufgabe, deren Verarbeitung fortgesetzt werden muss, geändert, so dass die Aufgabe, die ursprünglich ausgeführt wurde, nicht dadurch beeinflusst wird. Daher kann der Umfang, in dem die Echtzeit beeinflusst wird, lokalisiert werden.
-
Da gemäß der ersten Ausführungsform die Aufgabe E und die Aufgabe W getrennt sind und zeitlich voneinander entfernt sind, wird, selbst wenn die Ausführung der Aufgabe E länger als erwartet dauert, die Differenz außerdem durch den Spielraum absorbiert und beeinflusst die Dauer der Aufgabe W nicht. Daher kann der zu überprüfende Umfang lokalisiert werden.
-
Gemäß der ersten Ausführungsform ist es möglich, eine Fahrzeugsteuervorrichtung zu schaffen, die in der Lage ist, durch Bestimmen des Kerns, zu dem die Software bewegt werden soll, in Abhängigkeit davon, welcher Kern ausgefallen ist, Bestimmen, ob irgendein Konflikt in den Zeitabläufen besteht, in denen die Software ausgeführt wird, auf der Basis der Operationen der Software an dem Kern, nachdem die Software bewegt wird, und Durchführen einer Zuteilung, wenn ein Konflikt auftritt, die Sicherheit und die Verfügbarkeit zu verbessern. Es ist zu beachten, dass gemäß der ersten Ausführungsform die Aufgabe auf der Basis einer Zeitteilungszeitplanung implementiert wird, in der die Zeitabläufe, in denen die Aufgaben ausführbar sind, auf der Basis des Zeitschlitzes gemanagt werden, aber die vorliegende Erfindung nicht darauf begrenzt ist.
-
<Zweite Ausführungsform>
-
Eine zweite Ausführungsform ist ein Beispiel, in dem die vorliegende Erfindung mit Prioritätszeitplanung implementiert wird. Nur die Unterschiede zur ersten Ausführungsform werden erläutert.
-
10 stellt Aufgabenfestlegungsinformationen 231, 232 und 233 gemäß der zweiten Ausführungsform dar. Die Aufgabenfestlegungsinformationen umfassen eine Kern-ID, eine Aufgabengruppe, eine Aufgaben-ID, eine Eigenschaft, einen Zyklus, eine Priorität, eine Startzeit, eine Dauer und einen Spielraum. Die Kern-ID, die Aufgabengruppe, die Aufgaben-ID, die Eigenschaft, der Zyklus, die Startzeit und der Spielraum sind dieselben wie jene in der ersten Ausführungsform. Eine Priorität ist eine Zahl zum Bestimmen der Reihenfolge, in der eine von ausführbaren Aufgaben zuerst ausgeführt werden soll, wenn mehrere ausführbare Aufgaben vorhanden sind, und eine kleinere Zahl gibt eine höhere Priorität an. Die Dauer ist die Länge der Zeit, die beim Ausführen der Aufgabe erforderlich ist. Als Dauer wird eine Zeitlänge, die auf einer Vorhersage basiert, die zur Zeit der Auslegung festgelegt wird, definiert, aber ein Spielraum wird in Anbetracht einer Möglichkeit, dass die Dauer länger als erwartet wird, nach dem Versand reserviert. Die Zeitlänge, die dem Spielraum entspricht, ist nicht in der Dauer enthalten. Obwohl dieselben Prioritäten R und E derselben Aufgabengruppe zugeordnet werden, ist die vorliegende Erfindung nicht darauf begrenzt. Diese Prioritäten können geändert werden, solange E später als R ausgeführt wird. Dagegen ist die Priorität, die W zugeordnet wird, höher als jene, die R und E zugeordnet werden. Dies dient dazu, den zu überprüfenden Umfang unter Verwendung eines festen Zeitablaufs für die Ausgabe zu lokalisieren, so dass er nicht durch die anderen beeinflusst wird.
-
11A und 11B stellen Zeitplanungstabellen 236 und 237 gemäß der zweiten Ausführungsform dar. Die Zeitplanungstabellen umfassen die Aufgabengruppe und Startzeit und die Aufgabengruppe und die Startzeit geben dasselbe wie jene in der ersten Ausführungsform an.
-
12 ist die Sequenz eines Prozesses, der durch die Ausführungszeitablaufzuteilungseinheit 224 gemäß der zweiten Ausführungsform durchgeführt wird. Jeder der in 12 enthaltenen Schritte wird nachstehend erläutert.
-
(Fig. 12: Schritt 2241)
-
Die Ausführungszeitablaufzuteilungseinheit 124 aktualisiert die Aufgabenfestlegungsinformationen durch Hinzufügen der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zur Zuweisungsempfangskern-ID, um die Aufgabenfestlegungsinformationen 232 (10B) zu erzeugen.
-
(Fig. 12: Schritt 2242)
-
Wenn eine einzelne Kern-ID mehrere Funktionsgruppen aufweist, dividiert die Ausführungszeitablaufzuteilungseinheit 124 den Spielraum durch die Anzahl der Funktionsgruppen (10B).
-
(Fig. 12: Schritt 2243)
-
Die Ausführungszeitablaufzuteilungseinheit 124 erzeugt dann die Zeitplanungstabelle (11A) auf der Basis einer Hyperperiode und prüft, ob eine andere Aufgabengruppe vorhanden ist, die im gleichen Startzeitschlitz wie die Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, ausgeführt werden soll.
-
(Fig. 12: Schritt 2244)
-
Wenn einige Aufgaben im gleichen Zeitschlitz ausgeführt werden sollen, bestimmt die Ausführungszeitablaufzuteilungseinheit 124, ob der Konflikt für W der Aufgabengruppe auftritt, deren Prozesse fortgesetzt werden müssen. Wenn dies wahr ist, wird der Prozess zu Schritt 2245 verschoben. Wenn es falsch ist, wird der Prozess zu Schritt 2246 verschoben.
-
(Fig. 12: Schritt 2445)
-
Die Ausführungszeitablaufzuteilungseinheit 124 verschiebt W der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zu einer verfügbaren Zeit mit der spätesten Startzeit. Um die Reihenfolge von Ausführungen innerhalb der Aufgabengruppe aufrechtzuerhalten, wird W in der Zeit später ausgeführt als E. E kann in der Zeit von W getrennt werden. E kann schließlich später sein als die vorhergesagte Zeit, aber diese Differenz wird durch den Spielraum absorbiert. Indem die Ausführungszeitabläufe von E und W diskontinuierlich gemacht werden und indem E und W separat gehalten werden, wie es derzeit der Fall ist, ist der Zeitablauf, in dem W ausgeführt wird, fest. Daher ist keine Änderung in anderen Aufgabengruppen erforderlich und die Echtzeit kann sichergestellt werden. Mit anderen Worten, ein spezieller Prozess einer Aufgabe, die mit hoher Priorität belegt ist, wird immer in einem speziellen Zeitschlitz ausgeführt.
-
(Fig. 12: Schritt 2246)
-
Die Ausführungszeitablaufzuteilungseinheit 124 bestimmt, ob die Summe der Dauern den Zyklus nicht überschreitet. Wenn das Bestimmungsergebnis wahr ist, wird die Sequenz dieser Operation beendet. Wenn das Bestimmungsergebnis falsch ist, wird der Prozess zu Schritt 2247 verschoben.
-
(Fig. 12: Schritt 2247)
-
Die Ausführungszeitablaufzuteilungseinheit 124 sendet Fehlerinformationen zum Netz über die Fehlerbenachrichtigungseinheit 126, um zu bewirken, dass die Reservesteuereinheit 125 die Reservesteuerung ausführt, und diese Sequenz der Operation wird beendet.
-
Gemäß der zweiten Ausführungsform können die folgenden Effekte zusätzlich zu den durch die erste Ausführungsform erreichten Effekten erreicht werden.
-
Gemäß der zweiten Ausführungsform wird in der Fahrzeugsteuervorrichtung, die durch die Prioritätszeitplanung implementiert wird, selbst wenn ein Konflikt neu in den Ausführungszeitabläufen aufgrund der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, auftritt, nur W der Aufgabengruppe verschoben, so dass die Echtzeit sichergestellt werden kann, solange die Zeitplanbarkeit sichergestellt wird.
-
Gemäß der zweiten Ausführungsform wird die Zeitplanbarkeit zum Sicherstellen, dass die CPU 100 % nicht überschreitet, durch Bestimmen, ob die Summe der Dauern den Zyklus nicht überschreitet, überprüft, aber die vorliegende Erfindung ist nicht darauf begrenzt. Wenn sich die Aufgabengruppe beispielsweise über mehrere Zyklen erstreckt, wird die Zeitplanbarkeit auf der Basis einer Hyperperiode überprüft.
-
Gemäß der zweiten Ausführungsform werden dieselben Prioritäten R und E derselben Aufgabengruppe zugeordnet und Dauern von R und E werden in dieser Reihenfolge aufgetragen. Selbst wenn ein Konflikt auftritt, wird daher die Zuteilung auf der Basis der Prioritätszeitplanung durchgeführt, so dass der Prozess der Ausführungszeitablaufzuteilungseinheit vereinfacht werden kann.
-
<Dritte Ausführungsform>
-
Die dritte Ausführungsform ist ein Beispiel, in dem die Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zur gleichen Funktionsgruppe wie jene des Zuweisungsempfängers gehört. Da irgendein Zeitplanungsschema verwendet werden kann, wird die dritte Ausführungsform unter Verwendung eines Beispiels der Prioritätszeitplanung erläutert. Daher werden nur die Unterschiede zur zweiten Ausführungsform erläutert.
-
13A, 13B und 13C stellen Aufgabenfestlegungsinformationen 331, 332 und 333 gemäß der dritten Ausführungsform dar. Die Aufgabenfestlegungsinformationen umfassen eine Kern-ID, eine Aufgabengruppe, eine Aufgaben-ID, eine Eigenschaft, einen Zyklus, eine Priorität, eine Startzeit, eine Dauer und einen Spielraum, und alle von diesen Elementen sind dieselben wie jene in der zweiten Ausführungsform.
-
14 stellt eine Prozesskontinuitätsbestimmungstabelle 334 gemäß der dritten Ausführungsform dar. Die Prozesskontinuitätsbestimmungstabelle 334 umfasst eine Funktionsgruppe, eine Aufgabengruppe, eine Aufgaben-ID, eine Prozesskontinuität, ein ASIL und eine erforderliche CPU-Nutzungsrate, und alle von diesen Elementen sind dieselben wie jene in der zweiten Ausführungsform. Der Unterschied zur zweiten Ausführungsform besteht darin, dass eine Aufgabengruppe 2 zu einer Funktionsgruppe 1 gehört, die dieselbe Funktionsgruppe ist, zu der eine Aufgabengruppe 1 gehört.
-
15 stellt Kernzuweisungsinformationen 335 gemäß der dritten Ausführungsform dar. Die Kernzuweisungsinformationen 335 umfassen eine Kern-ID, ein ASIL, eine Ausführungsfunktionsgruppe, eine CPU-Nutzungsrate, einen Spielraum und eine CPU-Verfügbarkeitsrate und alle von diesen Elementen sind dieselben wie jene in der zweiten Ausführungsform. Die dritte Ausführungsform ist von der zweiten Ausführungsform insofern verschieden, als die Ausführungsfunktionsgruppen 1 und 2 durch die Kern-ID 2 ausgeführt werden sollen
-
16A und 16B stellen Zeitplanungstabellen 336 und 337 gemäß der dritten Ausführungsform dar. Die Zeitplanungstabellen 336 und 337 umfassen eine Aufgabengruppe und Startzeit und die Aufgabengruppe und die Startzeit geben dasselbe wie jene in der zweiten Ausführungsform an. Die dritte Ausführungsform ist von der zweiten Ausführungsform insofern verschieden, als die verschiedenen Aufgabengruppen-IDs für die dritte Ausführungsform zugeordnet sind.
-
17 ist die Sequenz eines Prozesses, der durch die Ausführungszeitablaufzuteilungseinheit 124 gemäß der dritten Ausführungsform durchgeführt wird. Jeder der in 17 enthaltenen Schritte wird nachstehend beschrieben.
-
(Fig. 17: Schritt 3241)
-
Die Ausführungszeitablaufzuteilungseinheit 124 aktualisiert die Aufgabenfestlegungsinformationen durch Hinzufügen der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zur Zuweisungsempfangskern-ID, um die Aufgabenfestlegungsinformationen 332 (13B) zu erzeugen.
-
(Fig. 17: Schritt 3242)
-
Wenn die Kern-ID dieselben Funktionsgruppen mit einigen Spielräumen aufweist, führt die Ausführungszeitablaufzuteilungseinheit 124 den Spielraum zu E (spezielle Aufgabe), deren Priorität niedriger ist (13B), zusammen.
-
Fig. 17: Schritt 3243)
-
Die Ausführungszeitablaufzuteilungseinheit 124 erzeugt dann die Zeitplanungstabelle (16A) auf der Basis einer Hyperperiode und prüft, ob eine andere Aufgabengruppe vorhanden ist, die im gleichen Startzeitschlitz wie die Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, ausgeführt werden soll.
-
(Fig. 17: Schritt 3244)
-
Wenn einige Aufgaben im gleichen Zeitschlitz ausgeführt werden sollen, bestimmt die Ausführungszeitablaufzuteilungseinheit 124, ob der Konflikt für W der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, auftritt. Wenn dies wahr ist, wird der Prozess zu Schritt 3245 verschoben. Wenn es falsch ist, wird der Prozess zu Schritt 3246 verschoben.
-
(Fig. 17: Schritt 3445)
-
Die Ausführungszeitablaufzuteilungseinheit 124 verschiebt W der Aufgabengruppe, deren Prozesse fortgesetzt werden müssen, zu einer verfügbaren Zeit mit der spätesten Startzeit. Um die Reihenfolge von Ausführungen innerhalb der Aufgabengruppe aufrechtzuerhalten, wird W in der Zeit später als E ausgeführt. E kann in der Zeit von W getrennt werden. E kann schließlich später sein als die vorhergesagte Zeit, aber diese Differenz wird durch den Spielraum absorbiert. Indem E und W separat gehalten werden, wie es derzeit der Fall ist, ist der Zeitablauf, in dem W ausgeführt wird, fest. Daher ist keine Änderung in den anderen Aufgabengruppen erforderlich und die Echtzeit kann sichergestellt werden.
-
(Fig. 17: Schritt 3246)
-
Die Ausführungszeitablaufzuteilungseinheit 124 bestimmt, ob die Summe der Dauern den Zyklus nicht überschreitet. Wenn das Bestimmungsergebnis wahr ist, wird die Sequenz dieser Operation beendet. Wenn das Bestimmungsergebnis falsch ist, wird der Prozess zu Schritt 3247 verschoben.
-
(Fig. 17: Schritt 3247)
-
Die Ausführungszeitablaufzuteilungseinheit 124 sendet eine Fehlerinformation zum Netz über die Fehlerbenachrichtigungseinheit 126, um zu bewirken, dass die Reservesteuereinheit 125 die Reservesteuerung ausführt, und die Sequenz der Operation wird beendet.
-
Gemäß der dritten Ausführungsform können die nachstehend beschriebenen Effekte zusätzlich zu den durch die zweite Ausführungsform erreichten Effekten erreicht werden.
-
Gemäß der dritten Ausführungsform können, wenn die Aufgabengruppen, die zur gleichen Funktionsgruppe gehören, am gleichen Kern ausgeführt werden, die Spielräume integriert werden. Wenn die Dauer länger als erwartet wird, kann daher die Differenz in derselben Weise absorbiert werden, selbst wenn die Gesamtspielräume klein sind. Daher können die Aufgabengruppen effizient implementiert werden.
-
<Vierte Ausführungsform>
-
Eine vierte Ausführungsform ist ein Beispiel, in dem Aufgabenfestlegungsinformationen im Voraus erzeugt werden, um auf Ausfälle der jeweiligen Kerne vorzubereiten, bevor irgendeiner der Kerne tatsächlich ausfällt. Nur die Unterschiede zur ersten Ausführungsform werden erläutert.
-
18 ist ein Funktionsblockdiagramm einer ECU 1 gemäß der vierten Ausführungsform. Eine Konfigurationserzeugungseinheit 428 in der ECU 1 nimmt einen Ausfall von jedem der Kerne im Voraus an, bevor der Kern tatsächlich ausfällt, und gibt den Ort des Ausfalls, das heißt wo der Kern ausfällt, an die Auswahleinheit 122 für den fortzusetzenden Prozess aus. Die Kernzuweisungsaktualisierungseinheit 123 aktualisiert dann die Kernzuweisung und die Ausführungszeitablaufzuteilungseinheit 124 erzeugt dementsprechend Aufgabenfestlegungsinformationen 133. Die erzeugten Aufgabenfestlegungsinformationen 133 werden dann im Zeitplaner 427 gespeichert. Wenn der Ausfall dann detektiert wird, benachrichtigt die Ausfalldetektionseinheit 421 den Zeitplaner 327 über den Ort des Ausfalls (Kern-ID) und der Zeitplaner 427 wählt die Aufgabenfestlegungsinformationen 133 auf der Basis der Kern-ID aus.
-
Gemäß der vierten Ausführungsform können die nachstehend beschriebenen Effekte zusätzlich zu den durch die erste Ausführungsform erreichten Effekten erreicht werden.
-
Gemäß der vierten Ausführungsform können die Aufgabenfestlegungsinformationen, die zur Zeit eines Ausfalls verwendet werden sollen, im Voraus für jeden der Kerne 10 vorbereitet werden, bevor der Ausfall tatsächlich auftritt. Daher ist es möglich, die Zeit, die erforderlich ist, damit ein spezieller Kern 10 die Aufgabe ausführt, deren Prozess fortgesetzt werden muss, ab dann zu verkürzen, wenn der Ausfall auftritt.
-
<Fünfte Ausführungsform>
-
Eine fünfte Ausführungsform ist ein Beispiel, in dem, wenn der Kern 10 ausfällt, ein Kern 10 einer anderen ECU eine Aufgabe ausführt, deren Prozess fortgesetzt werden muss. Nur die Unterschiede zur ersten Ausführungsform werden erläutert.
-
19 stellt ein Konfigurationsdiagramm eines Systems gemäß der fünften Ausführungsform der vorliegenden Erfindung dar. Diese Fahrzeugsteuervorrichtung 3 umfasst eine ECU 4, eine ECU 5 und ein Netz 6. Jede der ECU 4 und der ECU 5 umfasst mehrere CPU 11 und einen Speicher 12 und die internen Konfigurationen der ECU 4 und 5 sind grundsätzlich dieselben wie jene gemäß der ersten Ausführungsform, außer dass die Anzahl von CPU 11 unterschiedlich ist.
-
20 ist ein Funktionsblockdiagramm der ECU 4 und 5 gemäß der fünften Ausführungsform. Die ECU 4 umfasst die Ausfalldetektionseinheit 121 und die Auswahleinheit 122 für den fortzusetzenden Prozess, die in der ersten Ausführungsform beschrieben sind. Die Aufgabengruppeninformationen, die aus der Auswahleinheit 122 für den fortzusetzenden Prozess ausgegeben werden, werden zur ECU 5 über das Netz 6 übertragen und werden in die Kernzuweisungsaktualisierungseinheit 123 eingegeben. Die ECU 5 umfasst die Kernzuweisungsaktualisierungseinheit 123, die Ausführungszeitablaufzuteilungseinheit 124, die Reservesteuereinheit 125, die Fehlerbenachrichtigungseinheit 126 und den Zeitplaner 127.
-
21A, 21B und 21C stellen Aufgabenfestlegungsinformationen 531, 532 und 533 gemäß der fünften Ausführungsform dar. Die Aufgabenfestlegungsinformationen umfassen eine ECU-ID, eine Kern-ID, eine Aufgabengruppe, eine Aufgaben-ID, eine Eigenschaft, einen Zyklus, eine Priorität, eine Startzeit, eine Dauer und einen Spielraum. Die fünfte Ausführungsform ist von den anderen Ausführungsformen insofern verschieden, als die ECU-ID hinzugefügt ist, da die mehreren ECU 4 und 5 in den Umfang fallen.
-
22 stellt eine Prozesskontinuitätsbestimmungstabelle 534 gemäß der fünften Ausführungsform dar. Die Prozesskontinuitätsbestimmungstabelle 534 umfasst eine Funktionsgruppe, eine Aufgabengruppe, eine Aufgaben-ID, eine Prozesskontinuität, ein ASIL und eine erforderliche CPU-Nutzungsrate und alle Elemente sind dieselben wie jene in der zweiten Ausführungsform. Ein Unterschied zu anderen Ausführungsformen besteht darin, dass eine Funktionsgruppe 3 hinzugefügt ist.
-
23 stellt Kernzuweisungsinformationen 535 gemäß der fünften Ausführungsform dar. Die Kernzuweisungsinformationen 535 umfassen eine ECU-ID, eine Kern-ID, ein ASIL, eine Ausführungsfunktionsgruppe, eine CPU-Verfügbarkeitsrate, einen Spielraum und eine CPU-Nutzungsrate. Die fünfte Ausführungsform ist von den anderen Ausführungsformen insofern verschieden, als die ECU-ID hinzugefügt ist, da die mehreren ECU 4 und 5 in den Umfang fallen.
-
24A und 24B stellen Zeitplanungstabellen 536 und 537 gemäß der fünften Ausführungsform dar. Die Zeitplanungstabellen 536 und 537 umfassen eine Aufgabengruppe und Startzeit und die Aufgabengruppe und die Startzeit geben dasselbe wie jene in den anderen Ausführungsformen an. Die fünfte Ausführungsform ist von den anderen Ausführungsformen insofern verschieden, als die verschiedenen Aufgabengruppen-IDs für die fünfte Ausführungsform zugeordnet sind.
-
Gemäß der fünften Ausführungsform können die folgenden Effekte zusätzlich zu den durch die erste Ausführungsform erreichten Effekten erreicht werden.
-
Gemäß der fünften Ausführungsform kann, wenn es nicht möglich ist, eine Aufgabengruppe, deren Prozess fortgesetzt werden muss, in derselben ECU auszuführen, nachdem ein Kern ausfällt, eine andere ECU die Aufgabengruppe ausführen, so dass die Verfügbarkeit verbessert werden kann.
-
Bezugszeichenliste
-
- 0, 3
- Fahrzeugsteuervorrichtung
- 1, 4, 5
- ECU
- 2, 6
- Netz
- 10
- Kern
- 11
- CPU
- 12
- Speicher
- 121
- Ausfalldetektionseinheit
- 122
- Auswahleinheit für den fortzusetzenden Prozess
- 123
- Kernzuweisungsaktualisierungseinheit
- 124
- Ausführungszeitablaufzuteilungseinheit
- 125
- Reservesteuereinheit
- 126
- Fehlerbenachrichtigungseinheit
- 127
- Zeitplaner
- 136, 137, 236, 237, 336, 337, 536, 537
- Zeitplanungstabelle
-
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
-