-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine elektronische Steuervorrichtung.
-
Technischer Hintergrund
-
Um eine Verarbeitung mit einer hohen Rechenlast auszuführen, wurde eine elektronische Steuervorrichtung angewendet, die eine Mehrkern-CPU, die mehrere Kerne in einer CPU besitzt, enthält. Ein sicherheitskritisches Produkt wie z. B. eine an einem Fahrzeug montierte elektronische Steuervorrichtung muss bestätigen, dass jeder Kern normal arbeitet, um die Zuverlässigkeit sicherzustellen. PTL 1 offenbart ein Verfahren zum Bestätigen, dass jeder Kern normal arbeitet, durch Erzeugen einer großen Anzahl von Aufgabenstartzeitablaufmustern in einer Abhängigkeit der Ausführungsreihenfolge von Aufgaben für jeden Kern, Ausführen der erzeugten Aufgabenstartzeitablaufmuster als Prüfelemente und Bestätigen des Betriebs.
-
Insbesondere wird in einem automatischen Fahrsystem oder dergleichen häufig eine Abhängigkeit von einer Fehlerdetektionszeit wie z. B. ein Schalten zu einem Degenerationsmodus oder ein Stoppen auf einem Seitenstreifen in einer vorgegebenen Zeit unter der Annahme, dass ein Fehler während des Betriebs des Systems auftritt, festgelegt. Deshalb empfiehlt der Mikrocomputeranbieter ein zyklisches Ausführen in einer Zeit, die kleiner als die Zeitabhängigkeit ist, der Kerndiagnoseaufgabe zum Bestätigen, dass der Kern normal arbeitet. In einem Diagnoseverfahren unter Verwendung einer Kerndiagnoseaufgabe gibt ein Diagnosefunktionsmodul in der CPU häufig ein bestimmtes Prüfmuster in einen Kern, der nach einem Stoppen einer Normalaufgabenverarbeitung diagnostiziert werden soll, ein und vergleicht ein ausgegebenes Ergebnis mit einem vorgegebenen Wert.
-
Entgegenhaltungsliste
-
Patentliteratur
-
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
Allerdings wird in diesem Diagnoseverfahren die Normalaufgabenverarbeitung gestoppt und eine Unterbrechung ist verboten. Deshalb ist dann, wenn die Kerndiagnoseaufgabe mit dem Ausführungszeitablauf einer Aufgabe mit hoher Priorität überlappt, die Priorität umgekehrt. Da die Kerndiagnoseaufgabe sich auf die Zuverlässigkeit der elektronischen Steuervorrichtung bezieht, ist es erforderlich, die Priorität derart einzustellen, dass sie hoch ist. Allerdings ist, wie durch ein automatisches Fahrsystem oder dergleichen repräsentiert wird, in einem System, das eine Kommunikation wichtiger Daten durchführt, unter mehreren Untersystemen der Zeitablauf, zu dem Daten aus weiteren Untersystemen gesendet werden, unbekannt und deshalb ist es nötig, die Priorität einer kommunikationsbezogenen Aufgabe am höchsten einzustellen, so dass Daten immer empfangen werden können. In diesem Fall besitzt die kommunikationsbezogene Aufgabe eine höhere Priorität als die Kerndiagnoseaufgabe.
-
Im Allgemeinen ist raten monotones Planen als ein optimaler Planungsalgorithmus mit einer festen Priorität öffentlich bekannt. Dieses ratenmonotone Planen nimmt an, dass alle Aufgaben unterbrechbar sind. Allerdings kann die Kerndiagnoseaufgabe, das sie nicht unterbrechbar ist, nicht auf raten monotones Planen angewendet werden. Das heißt, im Falle des öffentlich bekannten Planungsverfahrens liegt eine hohe Wahrscheinlichkeit vor, dass ein Vorgang außerhalb der Garantie wie z. B. ein Verlust von Kommunikationsdaten auftritt.
-
Die vorliegende Erfindung wurde gemacht, um die oben genannten Probleme zu lösen, und eine Aufgabe der vorliegenden Erfindung ist, eine Technik bereitzustellen, die eine Aufgabe durch eine elektronische Steuervorrichtung, die einen Prozessor enthält, der mehrere Kerne besitzt, geeignet ausführen kann.
-
Lösung des Problems
-
Um die oben beschriebene Aufgabe zu lösen, enthält eine elektronische Steuervorrichtung gemäß der vorliegenden Erfindung Folgendes: einen Prozessor, der mehrere Kerne enthält, die eine erste Aufgabe, die eine Ausführungszeit besitzt, die abhängig von einem Verarbeitungsaufwand jedes vorgegebenen Zyklus variiert, und eine zweite Aufgabe, die eine geringere Priorität als die erste Aufgabe besitzt und nicht unterbrochen werden darf, ausführen, wobei die zweite Aufgabe derart eingestellt ist, dass sie zwischen den mehreren Kernen nicht gleichzeitig ausführbar ist, und die elektronische Steuervorrichtung eine erste Planungseinheit, die einen ersten Plan erzeugt, in dem die erste Aufgabe jedem der Kerne zugewiesen wird, eine zweite Planungseinheit, die einen zweiten Plan erzeugt, in dem die zweite Aufgabe jedem der Kerne in einem Ausführungszeitablauf, in dem die erste Aufgabe nicht ausgeführt wird, zugewiesen wird, eine erste Ausführungseinheit, die die erste Aufgabe auf der Grundlage der ersten Planungseinheit ausführt, eine Korrektureinheit, die eine Verzögerungszeit der ersten Aufgabe, die durch die erste Ausführungseinheit ausgeführt wird, misst und in Übereinstimmung mit der gemessenen Verzögerungszeit die zweite Aufgabe des zweiten Plans zu dem Ausführungszeitablauf, der darauf folgt, aufschiebt, und eine zweite Ausführungseinheit, die die zweite Aufgabe für jeden der Kerne auf der Grundlage des zweiten Plans, der durch die Korrektureinheit korrigiert wurde, ausführt, enthält.
-
30Vorteilhafte Wirkungen der Erfindung
-
Gemäß der vorliegenden Erfindung ist es möglich, eine zweite Aufgabe in einem Zeitablauf auszuführen, der nicht mit einer ersten Aufgabe überlappt, selbst wenn die erste Aufgabe verzögert ist, und ist es möglich, die Aufgabe durch die elektronische Steuervorrichtung, die einen Prozessor enthält, der mehrere Kerne besitzt, geeignet auszuführen.
-
Figurenliste
-
- [1] 1 ist ein Konfigurationsdiagramm einer ECU.
- [2] 2 ist ein Funktionsblockdiagramm der ECU.
- [3] 3 ist ein Beispiel einer Normalaufgabentabelle.
- [4] 4 ist ein Beispiel einer Diagnoseaufgabentabelle.
- [5] 5 ist ein Ausführungsbeispiel durch raten monotones Planen.
- [6] 6 ist ein Ausführungsbeispiel zum Erläutern eines Unterbrechungsverbots durch monotones Planen.
- [7] 7 ist ein Zeitdiagramm, das einen ersten Plan veranschaulicht.
- [8] 8 ist ein Zeitdiagramm, das einen zweiten Plan zu einer normalen Zeit veranschaulicht.
- [9] 9 ist ein Zeitdiagramm, das den zweiten Plan zu einer Zeit veranschaulicht, zu der eine Verzögerung auftritt.
-
Beschreibung der Ausführungsformen
-
Das vorliegende Beispiel bezieht sich auf eine elektronische Steuervorrichtung, die eine Mehrkern-CPU besitzt. Insbesondere besitzt eine an einem Fahrzeug montierte elektronische Steuervorrichtung eine Abhängigkeit der Fehlerdetektionszeit und führt z. B. eine mikrocomputerübergreifende Kommunikationsaufgabe, eine Kollisionsvermeidungsaufgabe und eine Kerndiagnoseaufgabe in vorgegebenen Zyklen aus. Es wird ein Beispiel beschrieben, in dem die mikrocomputerübergreifende Kommunikationsaufgabe eine Aufgabe ist, deren Priorität höher als die der Kerndiagnoseaufgabe ist, und die Kerndiagnoseaufgabe nicht unterbrechbar ist.
-
Unten wird eine Ausführungsform unter Bezugnahme auf die Zeichnungen beschrieben.
-
<Hardware-Konfiguration>
-
1 ist ein Konfigurationsdiagramm einer ECU.
-
Eine elektronische Steuereinheit (ECU) 100 als Beispiel einer „elektronischen Steuervorrichtung“ ist an einem Fahrzeug montiert und steuert eine weitere an einem Fahrzeug angebrachte Vorrichtung. Die ECU 100 umfasst einen Mikrocomputer 1 als Beispiel eines „Computers“ und einen Mikrocomputer 2 als Beispiel eines „verschiedenen Computers“. Der Mikrocomputer 1 besitzt eine Mehrkern-CPU 3 als Beispiel eines „Prozessors“ und integriert verschiedene Daten. Die Mehrkern-CPU 3 enthält einen ersten Kern 4, einen zweiten Kern 5, ein Diagnosefunktionsmodul 6 und ein Register 7. Der erste Kern 4, der zweite Kern 5, das Diagnosefunktionsmodul 6 und das Register 7 sind mittels eines Busses 8 kommunikationstechnisch miteinander verbunden. Der Mikrocomputer 2 steuert einen Sensor und einen Motor, der am Fahrzeug montiert ist, und erfasst verschiedene Daten von dem Sensor und dem Motor. Die verschiedenen Daten, die durch den Mikrocomputer 2 erfasst werden, sind z. B. Bilder und Bewegtbilder, die durch eine an einem Fahrzeug angebrachte Kamera aufgenommen werden. Die Anzahl von Kernen der Mehrkern-CPU 3 kann drei oder mehr sein. Der Mikrocomputer 2 muss lediglich eine CPU besitzen und kann eine Mehrkern-CPU besitzen oder muss sie nicht besitzen.
-
Der Mikrocomputer 1 und der Mikrocomputer 2 sind mittels eines mikrocomputerübergreifenden Kommunikationskanals 9 als Beispiel eines „Kommunikationskanals“ kommunikationstechnisch miteinander verbunden. Der mikrocomputerübergreifende Kommunikationskanal 9 überträgt Daten zwischen dem Mikrocomputer 1 und dem Mikrocomputer 2. Der mikrocomputerübergreifende Kommunikationskanal 9 ist eine oder mehrere physische Signalleitungen. Die Kommunikation kann eine serielle Kommunikation oder eine parallele Kommunikation sein und das Kommunikationsverfahren und das Kommunikationsprotokoll können beliebige öffentlich bekannte Techniken sein.
-
Der erste Kern 4 führt eine mikrocomputerübergreifende Kommunikationsaufgabe als Beispiel einer „ersten Aufgabe“, die eine Ausführungszeit besitzt, die abhängig von einem Verarbeitungsaufwand (einem Kommunikationsaufwand) in jedem vorgegebenen Zyklus variiert, und eine erste Kerndiagnoseaufgabe als Beispiel einer „zweiten Aufgabe“, die eine geringere Priorität als die mikrocomputerübergreifende Kommunikationsaufgabe besitzt und deren Unterbrechen verboten ist, aus. Die mikrocomputerübergreifende Kommunikationsaufgabe ist eine Aufgabe des Sendens und Empfangens von Daten zwischen dem Mikrocomputer 1 und dem Mikrocomputer 2 mittels des mikrocomputerübergreifenden Kommunikationskanals 9. Die erste Kerndiagnoseaufgabe ist eine Aufgabe des Diagnostizierens eines Fehlers des ersten Kerns 4.
-
Der zweite Kern 5 führt eine Kollisionsvermeidungsaufgabe als Beispiel einer „ersten Aufgabe“ und eine zweite Kerndiagnoseaufgabe als Beispiel einer „zweiten Aufgabe“, die eine geringere Priorität als die Kollisionsvermeidungsaufgabe besitzt und deren Unterbrechen verboten ist, aus. Die Kollisionsvermeidungsaufgabe ist eine Aufgabe zum Vermeiden, dass das Fahrzeug mit einem weiteren Hindernis zusammenstößt. Die zweite Kerndiagnoseaufgabe ist eine Aufgabe des Diagnostizierens eines Fehlers des zweiten Kerns 5.
-
Hier sind die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe derart eingestellt, dass sie zwischen dem ersten Kern 4 und dem zweiten Kern 5 nicht gleichzeitig ausführbar sind. Die mikrocomputerübergreifende Kommunikationsaufgabe und die Kollisionsvermeidungsaufgabe können derart eingestellt sein, dass sie nicht zwischen dem ersten Kern 4 und dem zweiten Kern 5 gleichzeitig beginnen, ausgeführt zu werden.
-
<Funktionsblockdiagramm>
-
Fig. 2 ist ein Funktionsblockdiagramm der ECU.
-
Die ECU 100 enthält die Aufgabenverarbeitungseinheiten 10a und 10b als Beispiele einer „ersten Ausführungseinheit“, eine Aufgabenzuweisungseinheit 11 als Beispiel einer „ersten Planungseinheit“, eine Diagnoseaufgabenplanungseinheit 12 als Beispiel einer „zweiten Planungseinheit“, eine Diagnoseaufgabenkorrektureinheit 13 als Beispiel einer „Korrektureinheit“ und eine Diagnoseeinheit 14 als Beispiel einer „zweiten Ausführungseinheit“. Die Aufgabenverarbeitungseinheit 10a entspricht dem ersten Kern 4 in 1, die Aufgabenverarbeitungseinheit 10b entspricht dem zweiten Kern 5 in 1 und die Aufgabenzuweisungseinheit 11, die Diagnoseaufgabenplanungseinheit 12, die Diagnoseaufgabenkorrektureinheit 13 und die Diagnoseeinheit 14 entsprechen dem Diagnosefunktionsmodul 6 in 1. In dem vorliegenden Beispiel enthält die Mehrkern-CPU 3 zwei Aufgabenverarbeitungseinheiten 10a und 10b, da die Mehrkern-CPU 3 zwei Kerne, den ersten Kern 4 und den zweiten Kern 5, enthält.
-
Die Aufgabenzuweisungseinheit 11 bestimmt eine Aufgabe, die durch jede der Aufgabenverarbeitungseinheiten 10a und 10b auf der Grundlage eines Unterbrechungsereignisses 15 zum Ausführen einer Normalaufgabe außer einer Diagnoseaufgabe, die eine höhere Priorität besitzt, und einer Normalaufgabentabelle 16 zum Managen der Normalaufgabe ausgeführt werden soll. Speziell erzeugt die Aufgabenzuweisungseinheit 11 einen ersten Plan, wobei die mikrocomputerübergreifende Kommunikationsaufgabe dem ersten Kern 4 zugewiesen ist und die Kollisionsvermeidungsaufgabe dem zweiten Kern 5 zugewiesen ist.
-
Die Diagnoseaufgabenplanungseinheit 12 plant den Zeitablauf, in dem jeder der Kerne 4 und 5 die Kerndiagnoseaufgabe startet, auf der Grundlage der Normalaufgabentabelle 16 (3) und einer Diagnoseaufgabentabelle 17 (4) zum Managen der Diagnoseaufgabe. Speziell erzeugt die Diagnoseaufgabenplanungseinheit 12 einen zweiten Plan, wobei die Kerndiagnoseaufgabe jedem der Kerne 4 und 5 in einem Ausführungszeitablauf zugewiesen wird, in dem der erste Kern 4 die mikrocomputerübergreifende Kommunikationsaufgabe nicht ausführt und der zweite Kern 5 die Kollisionsvermeidungsaufgabe nicht ausführt.
-
Die Diagnoseaufgabenkorrektureinheit 13 korrigiert den Startzeitablauf der Kerndiagnoseaufgabe, die durch die Diagnoseaufgabenplanungseinheit 12 erzeugt wird. Speziell misst die Diagnoseaufgabenkorrektureinheit 13 jeweils die Verzögerungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe, die durch die Aufgabenverarbeitungseinheit 10a ausgeführt wird, und der Kollisionsvermeidungsaufgabe, die durch die Aufgabenverarbeitungseinheit 10b ausgeführt wird, auf der Grundlage des ersten Plans und schiebt die Kerndiagnoseaufgabe des zweiten Plans in Übereinstimmung mit der gemessenen Verzögerungszeit zu einem nachfolgenden Ausführungszeitablauf auf.
-
Die Diagnoseeinheit 14 führt die Kerndiagnoseaufgabe für jede der Aufgabenverarbeitungseinheiten 10a und 10b auf der Grundlage des zweiten Plans, der durch die Diagnoseaufgabenkorrektureinheit 13 korrigiert wurde, aus. Speziell verursacht die Diagnoseeinheit 14, dass einer des ersten Kerns 4 und des zweiten Kerns 5 die Kerndiagnoseaufgabe zu dem weiteren sendet, verursacht den weiteren, ein Antwortergebnis zu dem einen zu senden und das gesendete Antwortergebnis mit einem vorgegebenen Erwartungswert zu vergleichen, und diagnostiziert den Fehler des ersten Kerns 4 und des zweiten Kerns 5. Dies ermöglicht, dass der Fehler des ersten Kerns 4 und des zweiten Kerns 5 zwischen dem ersten Kern 4 und dem zweiten Kern 5 diagnostiziert wird. Zum jetzigen Zeitablauf veranlasst die Diagnoseeinheit 14 jede der Aufgabenverarbeitungseinheiten 10a und 10b, bei der Ausführung der Kerndiagnoseaufgabe die Ausführung einer weiteren Aufgabe zu verbieten. Das heißt, die Diagnoseeinheit 14 verbietet die Unterbrechung einer weiteren Aufgabe für die Kerndiagnoseaufgabe.
-
<Normalaufgabentabelle 16>
-
3 ist ein Beispiel einer Normalaufgabentabelle.
-
Die Normalaufgabentabelle 16 enthält für jede Aufgabe außer der Kerndiagnoseaufgabe einen zugewiesenen Kern 18, eine Priorität 19 im zugewiesenen Kern (die im Folgenden auch als Priorität bezeichnet wird), einen Aufgabennamen 20 und einen Entwurfswert 21 einer erforderlichen Ausführungszeit als Beispiel einer „Ausführungszeit“.
-
Der zugewiesene Kern 18 ist der Name oder die Kennung eines Kerns, der zum Zeitablauf des Entwerfens der Aufgabe für jede Aufgabe zugewiesen wird. Die zugewiesenen Kerne 18 werden zu „erster“, was dem ersten Kern 4 entspricht, und „zweiter“, was dem zweiten Kern 5 entspricht, eingestellt. Die Priorität 19 im zugewiesenen Kern ist eine Prioritätsreihenfolge unter Aufgaben, die demselben Kern zugewiesen sind. Zum Beispiel liegt die Priorität 19 im Bereich von „1“ bis „4“.
-
Wie in 4 veranschaulicht ist, ist im vorliegenden Beispiel die Priorität der Kerndiagnoseaufgabe in dem ersten Kern 4 und dem zweiten Kern 5 zu „2“ eingestellt. Deshalb ist „2“ eine fehlende Zahl im Feld der Priorität 19 im zugewiesenen Kern der Normalaufgabentabelle 16.
-
Der Aufgabenname 20 ist der Name oder die Kennung der Aufgabe, die zum Zeitablauf des Entwerfens der Aufgabe bestimmt wird. Die Aufgabennamen 20 sind „mikrocomputerübergreifende Kommunikationsaufgabe“, „Datenkonsistenzprüfaufgabe“, „Datenintegrationsaufgabe“, „Kollisionsvermeidungsaufgabe“ und „Inbetriebnahmeerzeugungsaufgabe“.
-
Der Entwurfswert 21 einer erforderlichen Ausführungszeit ist ein Entwurfswert der erforderlichen Ausführungszeit als Beispiel einer „Ausführungszeit“ jeder Aufgabe, die in der Aufgabenentwurfsstufe angenommen wird. Der Entwurfswert 21 einer erforderlichen Ausführungszeit kann im Falle einer Aufgabe, die eine große Schwankung der erforderlichen Ausführungszeit aufweist, auf der Grundlage eines Index wie z. B. eines Mittelwerts oder eines Medianwerts geeignet gewählt werden. Im vorliegenden Beispiel ist die mikrocomputerübergreifende Kommunikationsaufgabe eine Aufgabe, die eine größere Schwankung der erforderlichen Ausführungszeit in Übereinstimmung mit dem Datenkommunikationsbetrag aufweist als die Kerndiagnoseaufgabe. Für die mikrocomputerübergreifende Kommunikationsaufgabe im vorliegenden Beispiel kann der Entwurfswert 21 einer erforderlichen Ausführungszeit zu einer Zeit eingestellt werden, die zum Zeitablauf des Kommunizierens einer Datenmenge des 1,5-Fachen des Mittelwerts der Obergrenze und der Untergrenze des Kommunikationsaufwands, der als der Entwurfswert definiert ist, erforderlich ist. Der Entwurfswert 21 einer erforderlichen Ausführungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe ist z. B. 3 ms.
-
<Diagnoseaufgabentabelle 17>
-
4 ist ein Beispiel der Diagnoseaufgabentabelle 17.
-
Ebenso wie die Normalaufgabentabelle 16 enthält die Diagnoseaufgabentabelle 17 für jede Kerndiagnoseaufgabe den zugewiesenen Kern 18, die Priorität 19 im zugewiesenen Kern, den Aufgabennamen 20 und den Entwurfswert 21 einer erforderlichen Ausführungszeit.
-
In der Diagnoseaufgabentabelle 17 ist die Priorität 19 zu „2“ eingestellt, sind die Aufgabennamen 20 „erste Kerndiagnoseaufgabe“, die durch den ersten Kern 4 ausgeführt wird, und „zweite Kerndiagnoseaufgabe“, die durch den zweiten Kern 5 ausgeführt wird, und ist der Entwurfswert 21 einer erforderlichen Ausführungszeit zu „2 ms“ eingestellt.
-
<Aufgabenzuweisungseinheit11>
-
Hier wird eine Erzeugungsverarbeitung des ersten Plans durch die Aufgabenzuweisungseinheit 11 beschrieben.
-
Die Aufgabenzuweisungseinheit 11 bezieht sich auf die Normalaufgabentabelle 16, um der Reihe nach von einer Aufgabe, die eine höhere Priorität besitzt, einen kurzen Ausführungszyklus zuzuweisen. Aufgrund dessen bestimmt die Aufgabenzuweisungseinheit 11 den Zeitablauf, um die Verarbeitung der Aufgabe für jeden der Kerne 4 und 5 auszuführen. Die Aufgabenzuweisungseinheit 11 des vorliegenden Beispiels weist im ersten Kern 4 der mikrocomputerübergreifenden Kommunikationsaufgabe einen 10 ms-Zyklus zu, der Datenkonsistenzprüfaufgabe einen 20 ms-Zyklus zu und der Datenintegrationsaufgabe einen 30 ms-Zyklus zu und im zweiten Kern 5 der Kollisionsvermeidungsaufgabe einen 10 ms-Zyklus zu und der Bahnerzeugungsaufgabe einen 20 ms-Zyklus zu.
-
5 ist ein Ausführungsbeispiel durch ratenmonotones Planen.
-
Zum Beispiel tritt im ersten Kern 4 das Unterbrechungsereignis 15 auf, wenn der Zeitablauf, um die Datenkonsistenzprüfaufgabe, die die Priorität „3“ besitzt, zu verarbeiten, während der Verarbeitung der Datenintegrationsaufgabe, die die Priorität „4“ besitzt, kommt. In diesem Fall unterbricht der erste Kern 4 die Datenintegrationsaufgabe und führt die Datenkonsistenzprüfaufgabe, die eine höhere Priorität als die Datenintegrationsaufgabe besitzt, aus. Im ersten Kern 4 tritt ein weiteres Unterbrechungsereignis 15 auf, wenn der Zeitablauf, um die mikrocomputerübergreifende Kommunikationsaufgabe, die die Priorität „1“ besitzt, zu verarbeiten, während der Verarbeitung der Datenkonsistenzprüfaufgabe, die die Priorität „3“ besitzt, kommt. In diesem Fall unterbricht der erste Kern 4 die Datenkonsistenzprüfaufgabe und führt die mikrocomputerübergreifende Kommunikationsaufgabe, die eine höhere Priorität als die Datenkonsistenzprüfaufgabe besitzt, aus.
-
Dann nimmt der erste Kern 4, nachdem die mikrocomputerübergreifende Kommunikationsaufgabe beendet ist, die Datenkonsistenzprüfaufgabe wieder auf und nimmt, nachdem die Datenkonsistenzprüfaufgabe beendet ist, die Datenintegrationsaufgabe wieder auf.
-
Das heißt, der erste Kern 4 nimmt die Datenintegrationsaufgabe wieder auf, nachdem die Aufgaben (die Datenkonsistenzprüfaufgabe und die mikrocomputerübergreifende Kommunikationsaufgabe), die eine höhere Priorität als alle Datenintegrationsaufgaben besitzen, beendet sind. Dieser Lösungsversuch ist als ratenmonotones Planen öffentlich bekannt. Die Aufgabenzuweisungseinheit 11 kann den Verarbeitungszeitablauf der Aufgabe durch einen Planungsalgorithmus außer ratenmonotonem Planen bestimmen.
-
<Diagnoseaufgabenplanungseinheit 12>
-
Als nächstes wird die Erzeugungsverarbeitung des zweiten Plans durch die Diagnoseaufgabenplanungseinheit 12 beschrieben.
-
6 ist ein Ausführungsbeispiel zum Erläutern eines Unterbrechungsverbots durch monotones Planen.
-
In 6 ist ein Beispiel, in dem die erste Kerndiagnoseaufgabe dem ersten Kern 4 durch raten monotones Planen zugewiesen ist, beschrieben.
-
Zum Beispiel kann der erste Kern 4 die mikrocomputerübergreifende Kommunikationsaufgabe, die die Priorität „1“ besitzt, nicht ausführen, weil dann, wenn der Verarbeitungszeitablauf der mikrocomputerübergreifenden Kommunikationsaufgabe, die die Priorität „1“ besitzt, während der Ausführung der ersten Kerndiagnoseaufgabe, die die Priorität „2“ besitzt, überlappt, eine Unterbrechung während der Ausführung der ersten Kerndiagnoseaufgabe verboten ist. Aus diesem Grund tritt ein außerhalb der Garantie liegender Vorgang wie z. B. ein Datenverlust im Mikrocomputer 1 auf. Deshalb erzeugt die Diagnoseaufgabenplanungseinheit 12 den zweiten Plan, wobei die Kerndiagnoseaufgabe dem Kern 4 zugewiesen ist, um die Kerndiagnoseaufgabe in einem Zeitablauf auszuführen, der nicht mit dem Verarbeitungszeitablauf der Aufgabe, deren Priorität höher als die der Kerndiagnoseaufgabe ist, überlappt.
-
7 ist ein Zeitdiagramm, das den ersten Plan veranschaulicht.
-
Der erste Kern 4 führt die mikrocomputerübergreifende Kommunikationsaufgabe, die die Priorität „1“ besitzt zu einer Bezugszeit 0 ms aus. Der zweite Kern 5 führt die Kollisionsvermeidungsaufgabe, die die Priorität „1“ besitzt, zu einer Zeit 3 ms aus. Die Kerne 4 und 5 können die Kerndiagnoseaufgabe verarbeiten, ohne mit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe, die zwischen den Zeiten 5 ms und 10 ms bzw. zwischen den Zeiten 15 ms und 20 ms die Priorität „1“ besitzen, zu überlappen. Somit weist jeder der Kerne 4 und 5 einen Zeitablauf auf, in dem die Kerndiagnoseaufgabe alle 10 ms verarbeitet werden kann.
-
8 ist ein Zeitdiagramm, das den zweiten Plan zur normalen Zeit veranschaulicht.
-
Deshalb erzeugt, wie in 8 veranschaulicht ist, die Diagnoseaufgabenplanungseinheit 12 den zweiten Plan mit dem Diagnosestartzeitablauf des ersten Kerns 4 als 20n - 15 [ms] und dem Diagnosestartzeitablauf des zweiten Kerns 5 als 20n - 5 [ms] (n ist eine natürliche Zahl).
-
<Diagnoseaufgabenkorrektureinheit 13>
-
Durch Korrigieren des Startzeitablaufs der Kerndiagnoseaufgabe, die durch die Diagnoseaufgabenplanungseinheit 12 erzeugt wird, korrigiert die Diagnoseaufgabenkorrektureinheit 13 den zweiten Plan in Übereinstimmung mit der Verzögerungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe, die durch die Aufgabenverarbeitungseinheiten 10a bzw. 10b ausgeführt wird, auf der Grundlage des ersten Plans. Die Verzögerungszeit muss lediglich die Inbetriebnahmeabweichungszeit der Kerne 4 und 5, die jeweils den Aufgabenverarbeitungseinheiten 10a und 10b entsprechen, oder die erforderliche Ausführungszeit, die in Übereinstimmung mit einem tatsächlichen Betätigungsstatus als Beispiel einer „tatsächlichen erforderlichen Ausführungszeit“ verzögert ist, sein.
-
Im vorliegenden Beispiel ist es als eine Abhängigkeit von einer Fehlerdetektionszeit nötig, einen Fehler innerhalb von 30 ms, nachdem eine Anomalie in dem ersten Kern 4 oder dem zweiten Kern 5 aufgetreten ist, zu detektieren. In diesem Fall kann jeder der Kerne 4 und 5 die Kerndiagnoseaufgabe zwischen 25 ms und 30 ms verarbeiten. Allerdings ist es, da jeder der Kerne 4 und 5 die Abhängigkeit einer Fehlerdetektionszeit in 30 ms besitzt, nicht nötig, die Kerndiagnoseaufgabe in diesem Zeitablauf zu verarbeiten. Das heißt, 5 ms im Bereich von 25 ms bis 30 ms sind eine Ruhezeit, in der die Kerndiagnoseaufgabe nicht verarbeitet wird.
-
Die Diagnoseaufgabenkorrektureinheit 13 kann den Diagnosestartzeitablauf unter Verwendung dieser Ruhezeit korrigieren.
-
9 ist ein Zeitdiagramm, das den zweiten Plan zu einer Zeit veranschaulicht, zu der eine Verzögerung auftritt.
-
Zum Beispiel wird dann, wenn eine große Menge von mikrocomputerübergreifenden Kommunikationsdaten im Zeitablauf der Bezugszeit 0 empfangen wird, angenommen, dass der erste Kern 4 9,0 ms benötigt, um die mikrocomputerübergreifende Kommunikationsaufgabe, die den Entwurfswert einer erforderlichen Ausführungszeit von 3,0 ms besitzt, auszuführen. Da die erste Kerndiagnoseaufgabe 2,0 ms erfordert, wenn sie gemäß dem zweiten Plan unverändert ausgeführt wird, überlappt der Zeitablauf der ersten Kerndiagnoseaufgabe mit dem Zeitablauf der nächsten mikrocomputerübergreifenden Kommunikationsaufgabe. Deshalb verschiebt die Diagnoseaufgabenkorrektureinheit 13 die Startzeitabläufe der ersten Kerndiagnoseaufgabe und der zweiten Kerndiagnoseaufgabe 10 ms nach die des zweiten Plans und korrigiert den Startzeitablauf der ersten Kerndiagnoseaufgabe zu 20n - 5 [ms] und den Startzeitablauf der zweiten Kerndiagnoseaufgabe zu 20n + 5 [ms] (n ist eine natürliche Zahl). Das heißt, die Diagnoseaufgabenkorrektureinheit 13 schiebt jede der ersten Kerndiagnoseaufgabe und der zweiten Kerndiagnoseaufgabe zum nächsten diagnostizierbaren Zeitablauf auf.
-
Unter Bezugnahme auf die Abhängigkeit einer Fehlerdetektionszeit zum Zeitpunkt des Planens des Startzeitablaufs der Kerndiagnoseaufgabe kann die Diagnöseaufgabenkorrektureinheit 13 bis zu einmal während der letzten 30 ms um 10 ms verschieben. Wenn die nächste mikrocomputerübergreifende Kommunikationsaufgabe auch eine Ausführungszeit erfordert, die 8,0 ms überschreitet, kann die Diagnoseaufgabenkorrektureinheit 13 die Abhängigkeit einer Fehlerdetektionszeit nicht verwirklichen und kann deshalb der Mehrkern-CPU 3 ein Auftreten einer Anomalie mitgeteilt werden und kann sie den Modus zu einem Degenerationsmodus oder einem vorgegebenen Anomaliedetektionsbehandlungsmodus wie z. B. einer Abschaltung verschieben.
-
Gemäß dieser Konfiguration enthält die ECU 100 die Mehrkern-CPU 3, die den ersten Kern 4 und den zweiten Kern 5 besitzt, die die mikrocomputerübergreifende Kommunikationsaufgabe und die Kollisionsvermeidungsaufgabe, die Ausführungszeiten besitzen, die abhängig vom Kommunikationsaufwand in jedem vorgegebenen Zyklus variieren und die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe, die eine niedrigere Priorität als die mikrocomputerübergreifende Kommunikationsaufgabe und die Kollisionsvermeidungsaufgabe besitzen, ausführen, und darf nicht unterbrochen werden. Die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe sind derart eingestellt, dass sie zwischen dem ersten Kern 4 und dem zweiten Kern 5 gleichzeitig deaktiviert werden. Die ECU 100 enthält die Aufgabenzuweisungseinheit 11, die Diagnoseaufgabenplanungseinheit 12, die Aufgabenverarbeitungseinheiten 10a und 10b, die Diagnoseaufgabenkorrektureinheit 13 und die Diagnoseeinheit 14. Die Aufgabenzuweisungseinheit 11 erzeugt einen ersten Plan, wobei die mikrocomputerübergreifende Kommunikationsaufgabe dem ersten Kern 4 zugewiesen ist und die Kollisionsvermeidungsaufgabe dem zweiten Kern 5 zugewiesen ist. Die Diagnoseaufgabenplanungseinheit 12 erzeugt den zweiten Plan, wobei die erste Kerndiagnoseaufgabe dem ersten Kern 4 zugewiesen ist und die zweiten Kerndiagnose dem zweiten Kern 5 zugewiesen ist, in einem Ausführungszeitablauf, in dem die mikrocomputerübergreifende Kommunikationsaufgabe und die Kollisionsvermeidungsaufgabe nicht ausgeführt werden. Die Aufgabenverarbeitungseinheit 10a führt die mikrocomputerübergreifende Kommunikationsaufgabe auf der Grundlage des ersten Plans aus und die Aufgabenverarbeitungseinheit 10b führt die Kollisionsvermeidungsaufgabe auf der Grundlage des ersten Plans aus. Die Diagnoseaufgabenkorrektureinheit 13 misst die Verzögerungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe, die durch die Aufgabenverarbeitungseinheiten 10a und 10b ausgeführt werden, und schiebt die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe des zweiten Plans zu einem nachfolgenden Ausführungszeitablauf in Übereinstimmung mit der gemessenen Verzögerungszeit auf. Die Diagnoseeinheit 14 führt die erste Kerndiagnoseaufgabe im ersten Kern 4 und die zweite Kerndiagnose im zweiten Kern 5 auf der Grundlage des zweiten Plans, der durch die Diagnoseaufgabenkorrektureinheit 13 korrigiert wurde, aus. Aufgrund dessen können selbst dann, wenn die mikrocomputerübergreifende Kommunikationsaufgabe oder die Kollisionsvermeidungsaufgabe verzögert ist, die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe in einem Zeitablauf ausgeführt werden, der nicht mit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe überlappt, und deshalb kann die Ausführungszeit der ersten Kerndiagnoseaufgabe und der zweiten Diagnoseaufgabe sichergestellt werden, während die Priorität für jede Aufgabe aufrechterhalten wird. Deshalb kann die Aufgabe durch die ECU 100, die die Mehrkern-CPU 3, die den ersten Kern 4 und den zweiten Kern 5 besitzt, enthält, geeignet ausgeführt werden.
-
Der Mikrocomputer 1, der die Mehrkern-CPU 3 besitzt, und der mikrocomputerübergreifende Kommunikationskanal 9, der den Mikrocomputer 1 und den Mikrocomputer 2 verbindet, sind enthalten und eine Aufgabe, die eine Ausführungszeit besitzt, die in Übereinstimmung mit dem Kommunikationsaufwand in jedem vorgegebenen Zyklus variiert, enthält eine mikrocomputerübergreifende Kommunikationsdiagnoseaufgabe, die zwischen dem Mikrocomputer 1 und dem Mikrocomputer 2 mittels des mikrocomputerübergreifenden Kommunikationskanals 9 gesendet und empfangen wird. Dies ermöglicht, die Priorität einer Kommunikation zwischen dem Mikrocomputer 1 und dem Mikrocomputer 2 aufrechtzuerhalten.
-
Die Aufgaben, die eine niedrigere Priorität als die mikrocomputerübergreifende Kommunikationsaufgabe und die Kollisionsvermeidungsaufgabe besitzen und nicht unterbrochen werden dürfen, sind die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe, die eine Abhängigkeit der Fehlerdetektionszeit für den ersten Kern 4 und den zweiten Kern 5 besitzen. Dies ermöglicht, dass der erste Kern 4 und der zweite Kern 5 die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe ausführen, ohne die Ausführungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe zu überlappen, und die Abhängigkeit einer Fehlerdetektionszeit erfüllen. Als Ergebnis kann die Zuverlässigkeit des Betriebs der ECU 100 verbessert werden.
-
Die Verzögerungszeit ist eine Inbetriebnahmeabweichungszeit des ersten Kerns 4 und des zweiten Kerns 5 oder eine tatsächliche erforderliche Ausführungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe. Dies ermöglicht, die erste Kerndiagnoseaufgabe und die zweite Diagnoseaufgabe geeignet auszuführen, selbst wenn die Inbetriebnahme des ersten Kerns 4 und des zweiten Kerns 5 verzögert ist oder die erforderliche Ausführungszeit der mikrocomputerübergreifenden Kommunikationsaufgabe und der Kollisionsvermeidungsaufgabe verlängert ist.
-
Die Diagnoseaufgabenkorrektureinheit 13 schiebt die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe zum frühesten Ausführungszeitablauf unter mehreren nachfolgenden Ausführungszeitabläufen auf. Dies ermöglicht, das Intervall der Ausführungszeit der ersten Kerndiagnoseaufgabe und das Intervall der Ausführungszeit der zweiten Kerndiagnoseaufgabe zu verkürzen und die Abhängigkeit der Fehlerdetektionszeit zu erfüllen.
-
Falls die Ausführungszeitabläufe der ersten Kerndiagnoseaufgabe, die im ersten Kern 3 aufgeschoben wurde, und der zweiten Kerndiagnoseaufgabe des zweiten Kerns 5 miteinander überlappen, schiebt die Diagnoseaufgabenkorrektureinheit 13 die zweite Kerndiagnoseaufgabe des zweiten Kerns 5 zu einem nachfolgenden Ausführungszeitablauf auf. Dies ermöglicht, sowohl die Abhängigkeit der Fehlerdetektionszeit der ersten Kerndiagnoseaufgabe im ersten Kern 3 als auch die Abhängigkeit der Fehlerdetektionszeit der zweiten Kerndiagnoseaufgabe im zweiten Kern 5 zu erfüllen.
-
Die vorliegende Erfindung ist nicht auf das oben beschriebene Beispiel beschränkt und enthält verschiedene Änderungen.
-
Zum Beispiel kann die Diagnoseaufgabenplanungseinheit 12 die Fehlerdetektionszeit in Übereinstimmung mit dem Fahrzustand des Fahrzeugs ändern. Speziell stellt dann, wenn ein Stadtbereichsmodus, in dem das Fahrzeug sich in einem städtischen Bereich bewegt, und ein Hochgeschwindigkeitsmodus, in dem das Fahrzeug sich auf einer Schnellstraße bewegt, gewählt werden können,die ECU 100 die Fehlerdetektionszeit im Hochgeschwindigkeitsmodus kürzer als im Stadtbereichsmodus ein. Zum jetzigen Zeitpunkt kann die mikrocomputerübergreifende Kommunikationsaufgabe im Hochgeschwindigkeitsmodus zu 1 ms eingestellt sein. Dies ermöglicht, dass die mikrocomputerübergreifende Kommunikationsaufgabe in Übereinstimmung mit dem Fahrzustand des Fahrzeugs geeignet ausgeführt wird.
-
Die Diagnoseaufgabenplanungseinheit 12 weist zuerst die erste Kerndiagnoseaufgabe oder die zweite Kerndiagnoseaufgabe einem Kern des ersten Kerns 4 und des zweiten Kerns 5 zu, der eine längere Ausführungszeit der Kommunikationsaufgabe besitzt. Dies ermöglicht, die erste Kerndiagnoseaufgabe oder die zweite Kerndiagnoseaufgabe dem Kern, der eine längere Ausführungszeit besitzt, einfach zuzuweisen.
-
Zum Beispiel kann, falls die Ausführungszeiten der ersten Kerndiagnoseaufgabe und der zweiten Kerndiagnoseaufgabe verschieden sind, die Diagnoseaufgabenplanungseinheit 12 die erste Kerndiagnoseaufgabe oder die zweite Kerndiagnoseaufgabe zuerst dem ersten Kern 4 oder dem zweiten Kern 5 zuweisen, der eine Kerndiagnoseaufgabe ausführt, die eine längere Ausführungszeit der ersten Kerndiagnoseaufgabe und der zweiten Kerndiagnoseaufgabe besitzt. Dies ermöglicht, eine Diagnoseaufgabe, die eine längere Ausführungszeit besitzt, dem ersten Kern 4 oder dem zweiten Kern 5 einfach zuzuweisen und die erste Kerndiagnoseaufgabe und die zweite Kerndiagnoseaufgabe geeignet auszuführen.
-
Die ECU 100 muss den Mikrocomputer 2 und den mikrocomputerübergreifenden Kommunikationskanal 9 nicht enthalten, wenn eine Aufgabe außer der mikrocomputerübergreifenden Kommunikationsaufgabe als eine Aufgabe, deren Priorität höher als die der Kerndiagnoseaufgabe ist, eingestellt ist.
-
Bezugszeichenliste
-
- 1
- Mikrocomputer
- 2
- Mikrocomputer
- 3
- Mehrkern-CPU
- 4
- Erster Kern
- 5
- Zweiter Kern
- 9
- Mikrocomputerübergreifender Kommunikationskanal
- 10a
- Aufgabenverarbeitungseinheit
- 10b
- Aufgabenverarbeitungseinheit
- 11
- Aufgabenzuweisungseinheit
- 12
- Diagnoseaufgabenplanungseinheit
- 13
- Diagnoseaufgabenkorrektureinheit
- 14
- Diagnoseeinheit
- 100
- ECU
-
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
-