-
HINTERGRUND
-
[Technisches Gebiet]
-
Die vorliegende Erfindung bezieht sich auf eine elektronische Steuereinheit, die eine Mehrzahl von CPUs hat, und eine elektrische Servolenkvorrichtung, die die elektronische Steuereinheit verwendet.
-
[Verwandte Technik]
-
Eine elektronische Steuereinheit vergleicht herkömmlicherweise Betriebsresultate von zwei Verarbeitungseinheiten (CPUs) miteinander und erfasst in den CPUs eine Abnormalität. Die elektronische Steuereinheit, die beispielsweise in einer Patentbezugnahme 1 (der
japanischen ungeprüften Anmeldung Veröffentlichungs-Nr. 2006-209197 ) offenbart ist, vergleicht in einem Komparator bzw. Vergleicher Betriebsresultate einer Haupt-CPU mit Betriebsresultaten einer Neben-CPU. Wenn dann die elektronische Steuereinheit zwischen den Betriebsresultaten eine Inkonsistenz erfasst, erfasst dieselbe eine Abnormalität in der Haupt- oder Neben-CPU und führt eine störungssichere Funktion durch, um die Haupt- oder Neben-CPU neu einzustellen.
-
Die elektronische Steuereinheit unterscheidet jedoch nicht zwischen einer vorübergehenden Abnormalität und einer fortdauernden Abnormalität. Dies bewirkt daher, dass sich die elektronische Steuereinheit selbst neu einstellt oder stoppt, selbst wenn eine vorübergehende Abnormalität auftritt.
-
Die elektronische Steuereinheit, die in einer Patentbezugnahme 2 (der
japanischen ungeprüften Anmeldung Veröffentlichungs-Nr. 04-363729 ) offenbart ist, erzeugt andererseits ein Fehlersignal, wenn ein Vergleicher zwischen Betriebsresultaten von zwei CPUs eine Inkonsistenz erfasst, und inkrementiert während eines vorbestimmten Intervalls eine Fehlerzahl des Auftretens der Fehlersignale. Wenn dann der gezählte Wert einen vorbestimmten Schwellenwert überschreitet, stoppt die elektronische Steuereinheit die Haupt- und Neben-CPU, was ein System realisiert, bei dem aufgrund der temporären Abnormalität die Haupt- und Neben-CPU nicht stoppen.
-
Bei der elektronischen Steuereinheit wird jedoch, wenn es einen Betrieb bzw. eine Operation gibt, der bzw. die einen extrem längeren Zeitraum zum Ausführen in Anspruch nimmt als das vorbestimmte Intervall zum Zählen von Fehlern, das Zählen der Zahl von Fehlern möglicherweise beendet, bevor erfasst wird, dass die Fehlerzahl, die während eines Ausführens des Betriebs gezählt wird, den vorbestimmten Schwellenwert überschreitet.
-
Wenn die im Vorhergehenden beschriebene elektronische Steuereinheit ferner beispielsweise für eine Treibsteuerung eines elektrischen Motors verwendet ist, die bei einer elektrischen Servolenkvorrichtung angewendet ist, beeinträchtigt ein Erfassungsfehler einer Abnormalität bei der CPU ein Gefühl des Fahrers für das Lenken.
-
Die
US 2007/0 260 939 A1 offenbart ein System zum Tolerieren eines Einzelereignisfehlers in einer elektronischen Schaltung, mit einem Hauptprozessor, einem auf den Hauptprozessor reagierenden Fehlerdetektionsprozessor, wobei der Fehlerdetektionsprozessor ferner eine Voter-Logikschaltung umfasst, drei oder mehr Logikeinrichtungen, die auf den Fehlerdetektionsprozessor reagieren, wobei jede Ausgabe der drei oder mehr Logikeinrichtungen die Voter-Logikschaltung durchläuft, und einem programmierbaren Fehlerfilter, wobei ein Ausgang der Voter-Logikschaltung mit dem programmierbaren Fehlerfilter gekoppelt ist.
-
Weiterer relevanter Stand der Technik ist der Nicht-Patentliteratur „SORIN: Fault Tolerant Computer Architecture”, ISBN: 9781598299540.2009 und „ALAGOZ, B. B.: Hierarchical Triple-Modular Redundancy (H-TMR) Network for Digital Systems”, OncuBilim Algorithm and Systems Labs. Vol. 08, Art. No.: 05, (2008) zu entnehmen.
-
Mit Blick auf den vorstehend genannten Stand der Technik ergibt sich somit das Problem, dass nicht exakt zwischen einer vorübergehenden Abnormalität und einer fortdauernden Abnormalität unterschieden werden kann.
-
KURZFASSUNG
-
Die vorstehend aufgeführte Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche 1, 2 und 6 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der sich daran anschließenden abhängigen Ansprüche.
-
Die vorliegende Offenbarung schafft eine elektronische Steuereinheit, die zwischen einer vorübergehenden Abnormalität und einer fortdauernden Abnormalität bei CPUs genau unterscheiden kann, und eine elektrische Servolenkvorrichtung, die die elektronische Steuereinheit verwendet.
-
Ein exemplarisches Ausführungsbeispiel liefert eine elektronische Steuereinheit (ECU; ECU = electronic control unit), die eine Mehrzahl von CPUs (= central processing units = zentrale Verarbeitungseinheiten) (21, 22), die konfiguriert sind, um den gleichen Betrieb auszuführen, einen Vergleicher (16), der konfiguriert ist, um die Betriebsresultate der CPUs zu vergleichen und zwischen den Betriebsresultaten eine Inkonsistenz als eine Abnormalität bei den CPUs zu erfassen, und einen Zähler (S103) hat, der konfiguriert ist, um eine Inkonsistenz-Zählzahl zu inkrementieren, wenn der Vergleicher die Inkonsistenz zwischen den Betriebsresultaten erfasst, wobei die Inkonsistenz-Zählzahl eine Zahl der zwischen den Betriebsresultaten erfassten Inkonsistenzen ist, wobei ein Inkrementieren bei einer Unterbrechungs-(englisch: interrupt)Routine durchgeführt wird. Die ECU hat ferner eine Abnormalitäts-Bestimmungseinrichtung (S104) zum Bestimmen, welche von einer vorübergehenden Abnormalität oder einer fortdauernden Abnormalität die bei den CPUs erfasste Abnormalität ist, auf der Basis der Inkonsistenz-Zählzahl.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein schematisches Diagramm, das eine elektrische Servolenkvorrichtung zeigt, auf die eine elektronische Steuereinheit gemäß einem ersten Ausführungsbeispiel angewendet ist;
-
2 ein Blockdiagramm, das die elektronische Steuereinheit gemäß dem ersten Ausführungsbeispiel zeigt;
-
3 ein detailliertes Blockdiagramm, das die elektronische Steuereinheit gemäß dem ersten Ausführungsbeispiel zeigt;
-
4 ein Flussdiagramm, das eine Unterbrechungsroutine bei der elektronischen Steuereinheit gemäß dem ersten Ausführungsbeispiel zeigt;
-
5 ein Blockdiagramm, das die elektronische Steuereinheit eines zweiten Ausführungsbeispiels gemäß der vorliegenden Erfindung zeigt;
-
6 ein detailliertes Blockdiagramm, das die elektronische Steuereinheit gemäß dem zweiten Ausführungsbeispiel zeigt;
-
7 ein Flussdiagramm, das eine Unterbrechungsroutine bei der elektronischen Steuereinheit gemäß dem zweiten Ausführungsbeispiel zeigt.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Eine Mehrzahl von Ausführungsbeispielen gemäß der vorliegenden Erfindung ist Bezug nehmend auf die Zeichnungen beschrieben. Bei den Ausführungsbeispielen sind elektronische Steuereinheiten (ECUs) gemäß der vorliegenden Erfindung bei elektrischen Servolenkvorrichtungen zum Unterstützen von Fahrern beim Lenken von Autos und so weiter verwendet. Bei den Ausführungsbeispielen sind die gleichen Komponenten mit der gleichen Beschriftung versehen, und Beschreibungen derselben sind weggelassen.
-
<Erstes Ausführungsbeispiel>
-
1 ist ein Blockdiagramm, das ein Lenksystem 90, das die elektrische Servolenkvorrichtung 1 hat, zeigt. Bei der elektrischen Servolenkvorrichtung 1 ist eine Lenkwelle 92, die mit einem Lenkrad 91 verbunden ist, mit einem Drehmomentsensor 94 versehen. Der Drehmomentsensor 94 erfasst ein Lenkdrehmoment, das der Fahrer in das Lenkrad 91 (die Lenkwelle 92) eingibt.
-
Das Ende der Lenkwelle 92 ist mit einem Ritzel 96 versehen, und das Ritzel 96 ist mit einer Zahnstangenwelle 97 in Eingriff. Ein Paar von Rädern 98 ist durch Spurstangen und so weiter mit beiden Enden der Zahnstangenwelle 97 drehbar verbunden.
-
Der Fahrer, der das Lenkrad 91 dreht, dreht daher die Lenkwelle 92. Die Drehbewegung der Lenkwelle 92 wird durch das Ritzel 96 in eine Linearbewegung der Zahnstangenwelle 97 gewandelt, wobei dann das Paar von Rädern 98 um einen Winkel, der von dem Weg der Linearbewegung der Zahnstangenwelle 97 abhängt, rotiert.
-
Die elektrische Servolenkvorrichtung 1 hat einen Motor 80, der ein Lenkunterstützungsdrehmoment erzeugt, ein Reduktionsgetriebe 89 als eine Leistungsübertragungseinrichtung, die die Geschwindigkeit der Drehung des Motors 80 reduziert und die reduzierte Drehung des Motors 80 zu der Lenkwelle 92 überträgt, und einen Motortreiber 2. Der Motor 80 besteht aus einem bürstenlosen Dreiphasenmotor und dreht das Reduktionsgetriebe 89 in Vorwärts- und Rückwärtsrichtungen. Der Motortreiber 2 hat die ECU 10. Der Motortreiber 2 hat einen Winkelsensor 85, der den Drehwinkel des Motors 80 erfasst, den im Vorhergehenden beschriebenen Drehmomentsensor 94 und einen Geschwindigkeitssensor 95, der eine Fahrzeuggeschwindigkeit erfasst.
-
Die elektrische Servolenkvorrichtung 1, die die im Vorhergehenden beschriebene Konfiguration hat, erzeugt von dem Motor 80 das Lenkunterstützungsdrehmoment und überträgt dasselbe zu der Lenkwelle 92.
-
2 zeigt ein Blockdiagramm der ECU 10. Die ECU 10 hat einen Mikrocomputer 11, eine Treibschaltung 30 zum Treiben des Motors 80 und so weiter. Der Mikrocomputer 11 führt auf der Basis von Signalen, die aus dem im Vorhergehenden beschriebenen Winkelsensor 85, dem Drehmomentsensor 94, dem Geschwindigkeitssensor 95 und so weiter ausgegeben werden, Programme aus und steuert die Treibschaltung 30.
-
Der Mikrocomputer 11 hat ein Hauptmodul 12, ein Nebenmodul 13, einen Nur-Lese-Speicher (ROM; ROM = read only memory), einen Zufallszugriffsspeicher (RAM; RAM = random access memory) 15, einen Hauptvergleicher 16, eine Hauptunterbrechungssteuerung 17, eine Nebenunterbrechungssteuerung 18 und so weiter.
-
3 zeigt ein detailliertes Blockdiagramm der ECU 10. Das Hauptmodul 12 hat eine zentrale Verarbeitungseinheit (CPU) 21 und so weiter. Das Nebenmodul 13 hat eine CPU 22 und so weiter. Die CPUs 21, 22 entsprechen hier in den Ansprüchen der „Mehrzahl von Zentralverarbeitungseinheiten”. Zwei CPU sind mit anderen Worten bei diesem Ausführungsbeispiel vorgesehen. Das Hauptmodul 12 ist über Signalleitungen mit der Treibschaltung 30 verbunden. Die CPUs 21, 22 führen in einem vorbestimmten Betriebszyklus den gleichen programmierten Betrieb aus. Bei diesem Ausführungsbeispiel sind die CPUs 21, 22 in einer Synchronisation mit dem gleichen Taktzyklus in Betrieb. Die CPUs können alternativ auf der Basis von jeweiligen Taktzyklen unabhängig in Betrieb sein.
-
Die CPU 21 steuert, um den Motor 80 durch die Treibschaltung 30 auf der Basis des Betriebsresultats zu treiben. Bei diesem Ausführungsbeispiel ist die CPU 22 zum Bestimmen verwendet, ob das Betriebsresultat der CPU 21 korrekt ist oder nicht (ob die CPU 21 normal oder abnormal ist). Die Treibsteuerung des Motors 80 durch die CPU 21 (eine Hauptroutine) wird beispielsweise durch Einschalten eines Zündschlüssels des Fahrzeugs ausgelöst.
-
Der ROM 14 speichert beispielsweise Programme, die geschrieben sind, um mit den CPUs 21, 22 Betriebsvorgänge bzw. Operationen durchzuführen. Der RAM 15 speichert Betriebsresultate der CPUs 21, 22 und so weiter.
-
Der Hauptvergleicher 16 vergleicht die Betriebsresultate der CPU 21 mit denselben der CPU 22. Ein Busvergleichsabschnitt 25 des Hauptvergleichers 16 vergleicht genauer gesagt die Betriebsresultate der CPU 21 mit denselben der CPU 22. Ein RAM-Vergleichsabschnitt 23 des Hauptvergleichers 16 vergleicht Schreibresultate eines Schreibens von Daten in den RAM 15 durch die CPU 21 mit Schreibresultaten eines Schreibens von Daten in den RAM 15 durch die CPU 22. Der RAM-Vergleichsabschnitt 23 vergleicht Leseresultate eines Lesens von Daten von dem RAM 15 durch die CPU 21 mit Leseresultaten eines Lesens von Daten von dem RAM 15 durch die CPU 22.
-
Ein ROM-Vergleichsabschnitt 24 des Hauptvergleichers 16 vergleicht Leseresultate eines Lesens von Daten von dem ROM 14 durch die CPU 21 mit Leseresultaten eines Lesens von Daten von dem ROM 14 durch die CPU 22.
-
Wie im Vorhergehenden beschrieben ist, weisen Betriebsresultate, die durch den Hauptvergleicher 16 zu vergleichen sind, nicht nur die Betriebsresultate (Daten) der CPUs 21, 22, die Daten, die in einem Bus fließen, auf, sondern ferner die Leseresultate von dem RAM 15 und dem ROM 14 durch die CPUs 21 und 22 und die Schreibresultate in den RAM 15 durch die CPUs 21, 22.
-
Wenn dann der Hauptvergleicher 16 bei den Busvergleichsabschnitten 25, den RAM-Vergleichsabschnitten 23 oder den ROM-Vergleichsabschnitten 24 eine Inkonsistenz zwischen den Betriebsresultaten der CPUs 21 und 22 als eine Abnormalität erfasst, schreibt der Hauptvergleicher 16 Informationen über die Inkonsistenz als Störungsinformationen in ein Register. Der Hauptvergleicher 16 sendet ferner zu den Haupt- und Nebenunterbrechungssteuerungen 17, 18 ein Inkonsistenz-Erfassungssignal, wobei das Inkonsistenz-Erfassungssignal zeigt, dass eine Inkonsistenz (Abnormalität) erfasst wurde.
-
Wenn die Haupt- und Nebenunterbrechungssteuerungen 17, 18 das Inkonsistenz-Erfassungssignal von dem Hauptvergleicher 16 empfangen, senden sowohl die Haupt- als auch die Nebenunterbrechungssteuerung 17, 18 ein Unterbrechungssignal zu einer entsprechenden der CPUs 21, 12.
-
Wenn jede der CPUs 21, 22 das Unterbrechungssignal von der entsprechenden der Haupt- und Nebenunterbrechungssteuerungen 17 und 18 bei einer Unterbrechungsroutine empfängt, inkrementiert (erhöht) jede der CPUs 21, 22 eine jeweilige Inkonsistenz-Zählzahl (Bezug nehmend auf 4). Die Inkonsistenz-Zählzahl ist eine Zahl der zwischen den Betriebsresultaten der CPU 21 und der CPU 22 erfassten Inkonsistenzen. Bei diesem Ausführungsbeispiel ist eine Inkonsistenz-Zählzahl für den Hauptvergleicher 16 eingestellt. Ein Anfangswert der Inkonsistenz-Zählzahl ist beispielsweise 0, und eine Erhöhung bei jeder Zählung der Inkonsistenz-Zählzahl ist eins. Die CPUs 21, 22 und die Haupt- und Nebenunterbrechungssteuerungen 17, 18 arbeiten hier in den Ansprüchen als die „Zähler”.
-
Wenn dann die Inkonsistenz-Zählzahl kleiner als ein vorbestimmter Schwellenwert ist, bestimmt jede der CPUs 21, 22, dass die Abnormalität (die Inkonsistenz der Betriebsresultate) eine vorübergehende Abnormalität ist. Wenn andererseits die Inkonsistenz-Zählzahl gleich oder größer als der vorbestimmte Schwellenwert ist, bestimmt jede der CPUs 21, 22, dass die Abnormalität (die Inkonsistenz der Betriebsresultate) eine fortdauernde Abnormalität ist. Jede der CPUs 21, 22 bestimmt mit anderen Worten auf der Basis der Inkonsistenz-Zählzahl, ob die Abnormalität in den CPUs 21, 22 vorübergehend oder fortdauernd ist. Jede der CPUs 21, 22 arbeitet hier in den Ansprüchen als eine „Abnormalitäts-Bestimmungseinrichtung”.
-
Wenn die CPUs 21, 22 bestimmen, dass die Abnormalität der CPUs die fortdauernde Abnormalität ist, starten die CPUs 21, 22 die ECU 10 neu um dieselbe neu einzustellen. Hier arbeiten die CPUs 21, 22 in den Ansprüchen als eine „Neueinstellungseinrichtung”. Es gibt beispielsweise einen Fall, bei dem ein Registerwert aufgrund eines Rauschens und so weiter ohne einen innewohnenden Mangel bei der Hardware und der Software kurz abnormal ist. In einem solchen Fall besteht, wenn bestimmt wird, dass die erfasste Abnormalität eine fortdauernde Abnormalität ist, eine Möglichkeit, dass die ECU 10 durch Neustarten der ECU 10, um dieselbe neu einzustellen (zu initialisieren), zu normal zurückkehrt.
-
Wenn die ECU 10 nach dem Neueinstellen nicht zurückkehrt, um normal zu sein, ist es wahrscheinlich, dass die Neueinstellungseinrichtung die Neueinstellung der ECU 10 wiederholt. Wenn daher die Zahl von Neueinstellungen größer als eine vorbestimmte Zahl ist, stoppen die CPUs 21, 22 die ECU 10. Hier funktionieren die CPUs 21, 22 in den Ansprüchen als eine „Stoppeinrichtung”. Wenn die ECU 10 gestoppt wird, wird die Treibsteuerung des Motors 80 mit der ECU 10 ebenfalls gestoppt. Dies verhindert, dass der Motor 80 (die Servolenkvorrichtung 1) mit der abnormalen ECU 10 abnormal gesteuert wird.
-
Wenn die CPUs 21, 22 die ECU 10 neu einstellen oder stoppen, können die CPUs 21, 22 Informationen über die Abnormalitäten der CPUs 21, 22 in einer Speicherungseinrichtung speichern oder können Treibern eine Mitteilung liefern, dass die CPU 21 oder die CPU 22 (die Servolenkvorrichtung 1) abnormal ist. Es ist wünschenswert, dass die Speicherungseinrichtung, die die Informationen nach der Neueinstellung halten kann, wie zum Beispiel eine Vorrichtung außerhalb der ECU 10, verwendet ist.
-
Das Folgende beschreibt Bezug nehmend auf 4 die Unterbrechungsroutine bei den CPUs 21, 22.
-
Bei einem Schritt S100 wird die Routine, die in 4 gezeigt ist, gestartet, wenn jede der CPUs 21, 22 das Unterbrechungssignal, das von der entsprechenden der Unterbrechungssteuerungen 17, 18 gesendet wird, empfängt. Die Routine ist eine Unterbrechungsroutine. Beim Empfangen des Unterbrechungssignals wird daher ungeachtet des Betriebszeitraums der Hauptroutine für eine Treibsteuerung des Motors 80 mit der CPU 21 der Schritt 100 durchgeführt, das heißt, um beispielsweise die Hauptroutine zu unterbrechen.
-
Bei einem Schritt S101 werden die Störungsinformationen, die in das Register geschrieben sind, gelesen. Dann wird ein Schritt S102 durchgerührt.
-
Bei dem Schritt S102 wird das Register, in das die Störungsinformationen geschrieben sind, geräumt (Datenlöschen). Dann wird ein Schritt S103 durchgeführt.
-
Bei dem Schritt S103 wird die Inkonsistenz-Zählzahl inkrementiert (um 1 erhöht). Dann wird ein Schritt S104, ein Verfahren, durchgeführt.
-
Bei dem Schritt S104 wird bestimmt, ob die Inkonsistenz-Zählzahl gleich oder größer als der vorbestimmte Schwellenwert ist. Wenn die Inkonsistenz-Zählzahl gleich oder größer als der vorbestimmte Schwellenwert ist (S104: JA), bestimmen die CPUs 21, 22, dass die Abnormalität (die Inkonsistenz der Betriebsresultate) bei der CPU 21 oder der CPU 22 die fortdauernde Abnormalität ist, und dann wird ein Verfahren, S105, durchgeführt. Wenn andererseits die Inkonsistenz-Zählzahl kleiner als der vorbestimmte Schwellenwert ist (S104: NEIN), bestimmen die CPUs 21, 22, dass die Abnormalität (die Inkonsistenz des Betriebsresultats) bei der CPU 21 oder der CPU 22 eine vorübergehende Abnormalität ist, und dann wird das Umschalten von der Routine zu der Hauptroutine (zurück) durchgeführt.
-
Bei dem Schritt S105 wird die ECU 10 neu gestartet, um neu eingestellt zu werden. Wenn die ECU 10 neu startet, werden verschiedene Daten, die die ECU 10 in dem Register und so weiter hält, wie zum Beispiel die Inkonsistenz-Zählzahl, geräumt (initialisiert). Die Hauptroutine für die Treibsteuerung des Motors 80 wird dann wieder aufgenommen.
-
Wie im Vorhergehenden beschrieben ist, kann bei diesem Ausführungsbeispiel durch Zählen der Zahl der Inkonsistenzen zwischen den Betriebsresultaten bei einer Mehrzahl von CPUs (den CPUs 21 und 22) bestimmt werden, ob die Abnormalität bei den CPUs vorübergehend oder fortdauernd ist. Die Abnormalität bei den CPUs kann ungeachtet der Länge des Betriebszeitraums erfasst werden, da die Zahl (die Inkonsistent-Zählzahl) der Inkonsistenzen zwischen den Betriebsresultaten der CPU bei einer Unterbrechungsroutine gezählt wird. Es kann daher genau bestimmt werden, ob die Abnormalität bei den CPUs vorübergehend oder fortdauernd ist. Dies kann eine übermäßige Erfassung der temporären Abnormalität und einen abnormalen Betrieb bei dem fortdauernd abnormalen Zustand verhindern.
-
Bei diesem Ausführungsbeispiel ist ein Vergleicher (der Hauptvergleicher 16) vorgesehen, und eine Inkonsistenz-Zählzahl ist für den Hauptvergleicher 16 eingestellt. Wenn die Inkonsistenz-Zählzahl kleiner als der vorbestimmte Schwellenwert ist, bestimmt die Abnormalitäts-Bestimmungseinrichtung, dass bei den CPUs die erfasste Abnormalität eine vorübergehende Abnormalität ist. Wenn die Inkonsistenz-Zählzahl nicht kleiner ist, wird bestimmt, dass die CPUs die fortdauernde Abnormalität haben. Selbst ein Vergleicher kann somit bestimmen, ob die Abnormalität vorübergehend oder fortdauernd ist. Dieses Ausführungsbeispiel kann die Zahl der Teile (die Zahl der Vergleicher) verringern, was den Aufwand eines Herstellens der Erzeugnisse senkt.
-
Bei diesem Ausführungsbeispiel ist ferner die Neueinstellungseinrichtung vorgesehen. Die Neueinstellungseinrichtung stellt die ECU 10 durch den Neustart neu ein (initialisiert dieselbe), wenn die Abnormalitäts-Bestimmungseinrichtung bestimmt, dass die „Abnormalität eine fortdauernde Abnormalität ist”. Dies kann die ECU 10 zu dem normalen Zustand zurückbringen, wenn es beispielsweise bei der Hardware und der Software keine innewohnende Störung gibt, wenn jedoch ein Registerwert aufgrund eines Rauschens und so weiter kurz abnormal ist.
-
Bei diesem Ausführungsbeispiel ist die Stoppeinrichtung vorgesehen. Die Stoppeinrichtung stoppt die ECU 10, wenn die Zahl von Neueinstellungen größer als die vorbestimmte Zahl ist. Bei diesem Ausführungsbeispiel wird beispielsweise, wenn die ECU 10 aufgrund einer innewohnenden Störung bei der Hardware oder der Software abnormal ist, und wenn die ECU 10 nach der Neueinstellung nicht zurückgebracht werden kann, um normal zu sein, die ECU 10 gestoppt. Dies verhindert, dass der Motor 80 (die Servolenkvorrichtung 1) als ein Steuerziel durch die ECU 10 abnormal gesteuert wird.
-
Bei diesem Ausführungsbeispiel hat die Servolenkvorrichtung 1 die im Vorhergehenden beschriebene ECU 10, den Motor 80, der durch die ECU 10 gesteuert ist, und das Reduktionsgetriebe 89, das die Drehung des Motors 80 zu der Lenkwelle 92 überträgt und konfiguriert ist, um das Lenkdrehmoment, das in die Lenkwelle 92 eingegeben wird, zu unterstützen.
-
In einem Fall, bei dem eine elektronische Steuereinheit (ECU 10) für die Treibsteuerung des Motors bei der elektrischen Servolenkvorrichtung verwendet ist, beeinträchtigt die Steuerung des Motors durch die ECU, die abnormal wird, oder das Motorstoppen aufgrund eines Stopps der Steuerung durch die ECU das Gefühl des Fahrers für ein Lenken bedeutend. Bei diesem Ausführungsbeispiel kann die ECU 10 genau bestimmen, ob die Abnormalität bei der CPU vorübergehend oder fortdauernd ist, was einen Erfassungsfehler der Abnormalität bei den CPUs verhindern kann. Dies kann verhindern, dass sich das Gefühl des Fahrers für ein Lenken aufgrund des Erfassungsfehlers der Abnormalität bei der CPU verringert.
-
<Zweites Ausführungsbeispiel>
-
Die ECU 10 des zweiten Ausführungsbeispiels gemäß der vorliegenden Erfindung ist im Folgenden Bezug nehmend auf 5 bis 7 beschrieben. Das zweite Ausführungsbeispiel unterscheidet sich von dem ersten Ausführungsbeispiel in der Zahl von Vergleichern und so weiter. Bei diesem Ausführungsbeispiel sind für die Elemente, die den Elementen des ersten Ausführungsbeispiels entsprechen, die gleichen Bezugssymbole verwendet.
-
Wie in 5 und 6 gezeigt ist, ist bei dem zweiten Ausführungsbeispiel neben einem Hauptvergleicher 16 ein Nebenvergleicher 19 vorgesehen. Dies bedeutet bei diesem Ausführungsbeispiel, dass eine Mehrzahl von (zwei) Vergleichern vorgesehen ist. Der Nebenvergleicher 19 hat Eingangs-Ausgangs-Pfade, die mit einem Hauptmodul 12, einem Nebenmodul 13, einem ROM 12, einem RAM 15, Haupt- und Nebenunterbrechungssteuerungen 17, 18 in Verbindung stehen, genauso, wie sie der Hauptvergleicher hat. Der Nebenvergleicher 16 sendet und empfängt über die Pfade Daten und Signale.
-
Der Hauptvergleicher 16 vergleicht genauso wie das erste Ausführungsbeispiel die Betriebsresultate der CPU 21 mit denselben der CPU 22. Ein Busvergleichsabschnitt 25 des Hauptvergleichers 16 vergleicht genauer gesagt die Betriebsresultate der CPU 21 mit denselben der CPU 22. Ein RAM-Vergleichsabschnitt 23 des Hauptvergleichers 16 vergleicht Schreibresultate eines Schreibens von Daten in den RAM 15 durch die CPU 21 mit Schreibresultaten eines Schreibens von Daten durch die CPU 22 in den RAM 15. Der RAM-Vergleichsabschnitt 23 vergleicht ferner Leseresultate eines Lesens von Daten von dem RAM 15 durch die CPU 21 mit Leseresultaten eines Lesens von Daten von dem RAM 15 durch die CPU 22. Ein ROM-Vergleichsabschnitt 24 des Hauptvergleichers 16 vergleicht Leseresultate eines Lesens von Daten von dem ROM 14 durch die CPU 21 mit Leseresultaten eines Lesens von Daten von dem ROM 14 durch die CPU 22.
-
Der Nebenvergleicher 19 vergleicht genauso wie der Hauptvergleicher 16 die Betriebsresultate der CPU 21 mit denselben der CPU 22. Ein Busvergleichsabschnitt 28 des Nebenvergleichers 16 vergleicht genauer gesagt die Betriebsresultate der CPU 21 mit denselben der CPU 22. Ein RAM-Vergleichsabschnitt 26 des Nebenvergleichers 16 vergleicht Schreibresultate eines Schreibens von Daten in den RAM 15 durch die CPU 21 mit Schreibresultaten eines Schreibens von Daten in den RAM 15 durch die CPU 22. Der RAM-Vergleichsabschnitt 26 vergleicht ferner Leseresultate eines Lesens von Daten von dem RAM 15 durch die CPU 21 mit Leseresultaten eines Lesens von Daten von dem RAM 15 durch die CPU 22. Ein ROM-Vergleichsabschnitt 27 des Nebenvergleichers 19 vergleicht Leseresultate eines Lesens von Daten von dem ROM 14 durch die CPU 21 mit Leseresultaten eines Lesens von Daten von dem ROM 14 durch die CPU 22.
-
Wie im Vorhergehenden beschrieben ist, weisen durch den Hauptvergleicher 16 zu vergleichende Betriebsresultate nicht nur die Betriebsresultate (Daten) der CPUs 21, 22, die Daten, die in einem Bus fließen, auf, sondern ferner die Leseresultate von dem RAM 15 und dem ROM 14 durch die CPUs 21, 22 und die Schreibresultate in den RAM 15 durch die CPUs 21, 22.
-
Wenn dann die Haupt- und Nebenvergleicher 16, 19 bei den Busvergleichsabschnitten 25, 28, den RAM-Vergleichsabschnitten 23, 26 oder den ROM-Vergleichsabschnitten 24, 27 zwischen dem Betriebsresultat der CPU 21 und demselben der CPU 22 eine Inkonsistenz als eine Abnormalität erfassen, schreiben die Haupt- und Nebenvergleicher 16, 19 Informationen über die Inkonsistenz als Störungsinformationen in ein Register. Sowohl der Haupt- als auch der Nebenvergleicher 16, 19 senden ferner ein Inkonsistenz-Erfassungssignal zu der Haupt- und Nebenunterbrechungssteuerung 17, 18, wobei das Inkonsistenz-Erfassungssignal zeigt, dass eine Inkonsistenz (Abnormalität) erfasst wurde.
-
Wenn die Haupt- und Nebenunterbrechungssteuerungen 17, 18 von dem Hauptvergleicher 16 oder dem Nebenvergleicher 19 das Inkonsistenz-Erfassungssignal empfangen, senden sowohl die Haupt- als auch die Nebenunterbrechungssteuerung 17, 18 das Unterbrechungssignal zu einer entsprechenden der CPUs 21, 22.
-
Bei diesem Ausführungsbeispiel ist eine jeweilige Inkonsistenz-Zählzahl für sowohl den Haupt- als auch den Nebenvergleicher 16, 19 eingestellt, wobei die Inkonsistenz-Zählzahl eine Zahl der zwischen den Betriebsresultaten der CPU 21 und denselben der CPU 22 erfassten Inkonsistenzen ist. Eine Mehrzahl von Inkonsistenz-Zählzahlen ist mit anderen Worten für Vergleicher (die Haupt- und Nebenvergleicher 16, 19) eingestellt, bei diesem Ausführungsbeispiel sind insgesamt zwei Inkonsistenz-Zählzahlen eingestellt.
-
Wenn jede der CPUs 21, 22 das Unterbrechungssignal von der entsprechenden der Haupt- und Nebenunterbrechungssteuerungen 17, 18 empfängt, wird eine Unterbrechungsroutine aufgerufen. Bei der Unterbrechungsroutine inkrementiert (erhöht) dann jede der CPUs 21, 22 die Inkonsistenz-Zählzahl, die dem Vergleicher (dem Hauptvergleicher 16 oder dem Nebenvergleicher 19) entspricht, der das Inkonsistenz-Erfassungssignal (Bezug nehmend auf 7) gesendet hat.
-
Bei diesem Ausführungsbeispiel sind zwei Inkonsistenz-Zählzahlen eingestellt, eine der Inkonsistenz-Zählzahlen, die im Folgenden als „Hauptinkonsistenz-Zählzahl” beschrieben ist, entspricht dem Hauptvergleicher 16, und eine andere, die im Folgenden als „Nebeninkonsistenz-Zählzahl” beschrieben ist, entspricht dem Nebenvergleicher 19. Jeder Anfangswert der Inkonsistenz-Zählzahlen ist beispielsweise 0, und eine jeweilige Inkonsistenz-Zählzahl wird um eins inkrementiert.
-
Wenn dann sowohl die Haupt- als auch die Nebeninkonsistenz-Zählzahl kleiner als ein vorbestimmter Schwellenwert sind, bestimmt jede der CPUs 21, 22, dass die Abnormalität (die Inkonsistenz der Betriebsresultate) eine vorübergehende Abnormalität ist. Wenn andererseits mindestens eine der Haupt- und Nebeninkonsistenz-Zählzahlen gleich oder größer als der vorbestimmte Schwellenwert ist, bestimmt jede der CPUs 21, 22, dass die Abnormalität (die Inkonsistenz der Betriebsresultate) eine fortdauernde Abnormalität ist. Jede der CPUs 21, 22 bestimmt mit anderen Worten auf der Basis der Haupt- und Nebeninkonsistenz-Zählzahlen, ob die Abnormalität der CPUs 21, 22 die vorübergehende oder die fortdauernde ist.
-
Bei diesem Ausführungsbeispiel starten, wenn die CPUs 21, 22 bestimmen, dass „die Abnormalität der CPUs die fortdauernde Abnormalität ist”, die CPUs 21, 22 die ECU 10 neu, um dieselbe neu einzustellen. Wenn dann die Zahl von Neueinstellungen größer als eine vorbestimmte Zahl ist, stoppen die CPUs 21, 22 die ECU 10.
-
Die im Vorhergehenden beschriebene Unterbrechungsroutine bei den CPUs 21, 22 ist im Folgenden Bezug nehmend auf 7 beschrieben.
-
Bei einem Schritt S200 in 7 wird die in 7 gezeigte Routine gestartet, wenn jede der CPUs 21, 22 das Unterbrechungssignal, das von der entsprechenden der Unterbrechungssteuerungen 17, 18 gesendet wird, empfängt. Die Routine ist eine Unterbrechungsroutine. Beim Empfangen des Unterbrechungssignals wird daher der Schritt S200 ungeachtet des Betriebszeitraums der Hauptroutine für eine Treibsteuerung des Motors 80 mit der CPU 21 durchgeführt, um beispielsweise die Hauptroutine zu unterbrechen.
-
Bei einem Schritt S201 werden zuerst die Störungsinformationen, die in das Register geschrieben sind, gelesen. Dann wird ein Schritt S202 durchgeführt.
-
Bei dem Schritt S202 wird das Register, in das die Störungsinformationen geschrieben sind, geräumt (Datenlöschen). Dann wird ein Schritt S203 durchgeführt.
-
Bei dem Schritt S203 bestimmen die CPUs 21, 22, ob der Hauptvergleicher 16 die Inkonsistenz erfasst hat. Wenn bestimmt wird, dass der Hauptvergleicher 16 die Inkonsistenz erfasst hat (das Inkonsistenz-Erfassungssignal von dem Hauptvergleicher 16 gesendet wurde) (S203: JA), wird ein Verfahren, ein Schritt S204, durchgeführt. Wenn andererseits bestimmt wird, dass der Hauptvergleicher 16 keine Inkonsistenz erfasst hat (S203: NEIN), wird ein Verfahren, ein Schritt S205, durchgeführt.
-
Bei dem Schritt S204 wird die Hauptinkonsistenz-Zählzahl (die Inkonsistenz-Zählzahl entspricht dem Hauptvergleicher 16) inkrementiert (um 1 erhöht). Ein Verfahren, der Schritt S205, wird dann durchgeführt.
-
Bei dem Schritt S205 bestimmen die CPUs 21, 22, ob der Nebenvergleicher 19 die Inkonsistenz erfasst hat. Wenn bestimmt wird, dass der Nebenvergleicher 19 die Inkonsistenz erfasst hat (das Inkonsistenz-Erfassungssignal von dem Nebenvergleicher 19 gesendet wird) (S205: JA), wird ein Verfahren, ein Schritt S206, durchgeführt. Wenn andererseits bestimmt wird, dass der Nebenvergleicher 19 keine Inkonsistenz erfasst hat (S205: NEIN), wird ein Schritt S207 durchgeführt.
-
Bei dem Schritt S206 wird die Nebeninkonsistenz-Zählzahl (die Inkonsistenz-Zählzahl entspricht dem Nebenvergleicher 19) hochgezählt (um 1 erhöht). Dann wird der Schritt S207 durchgeführt.
-
Bei dem Schritt S207 bestimmen die CPUs 21, 22, ob mindestens entweder die Haupt- oder Nebeninkonsistenz-Zählzahl gleich oder größer als der vorbestimmte Schwellenwert ist. Wenn bestimmt wird, dass mindestens entweder die Haupt- oder die Nebeninkonsistenz-Zählzahl gleich oder größer als der vorbestimmte Schwellenwert ist (S207: JA), ist die Abnormalität (die Inkonsistenz der Betriebsresultate) bei der CPU 21 oder der CPU 22 eine fortdauernde Abnormalität. Dann wird ein Schritt S208 durchgeführt.
-
Wenn andererseits bestimmt wird, dass mindestens entweder die Haupt- oder die Nebeninkonsistenz-Zählzahl nicht gleich oder größer als der vorbestimmte Schwellenwert ist (mindestens entweder die Haupt- oder Nebeninkonsistenz-Zählzahl kleiner als der vorbestimmte Schwellenwert ist (S207: NEIN), bestimmen die CPUs 21, 22, dass die Abnormalität (die Inkonsistenz der Betriebsresultate) bei der CPU 21 oder der CPU 22 eine vorübergehende Abnormalität ist. Das Umschalten (Zurückkehren) von der Routine zu der Hauptroutine wird dann durchgeführt.
-
Bei dem Schritt S208 wird die ECU 10 durch einen Neustart neu eingestellt. Wenn die ECU 10 neu gestartet wird, werden verschiedene Daten, die die ECU 10 in dem Register und so weiter hält, wie zum Beispiel die Haupt- und Nebeninkonsistenz-Zählzahlen, geräumt (initialisiert). Die Hauptroutine für die Treibsteuerung des Motors 80 wird dann wieder aufgenommen.
-
Wie im Vorhergehenden beschrieben ist, ist bei diesem Ausführungsbeispiel eine Mehrzahl von Vergleichern (der Hauptvergleicher 16 und der Nebenvergleicher 19) vorgesehen. Eine Mehrzahl von Inkonsistenz-Zählzahlen (die Hauptinkonsistenz-Zählzahl und die Nebeninkonsistenz-Zählzahl) ist für die jeweiligen Vergleicher vorgesehen. Wenn der Vergleicher (der Hauptvergleicher 16 oder der Nebenvergleicher 19) die Inkonsistenz der Betriebsresultate erfasst, zählen die CPUs 21, 22 die Inkonsistenz-Zählzahl, die dem Vergleicher, der die Inkonsistent erfasst hat, entspricht, hoch. Wenn mindestens eine der Inkonsistenz-Zählzahlen (Haupt- und Nebeninkonsistenz-Zählzahlen) gleich oder größer als der vorbestimmte Schwellenwert ist, bestimmen die CPUs 21, 22, dass bei der CPU die Abnormalität eine fortdauernde Abnormalität ist. Wenn nicht (sowohl die Haupt- als auch die Nebeninkonsistenz-Zählzahl kleiner als die vorbestimmte Schwelle sind), bestimmen die CPUs 21, 22, dass die Abnormalität bei der CPU eine vorübergehende Abnormalität ist.
-
Bei diesem Ausführungsbeispiel ist eine Mehrzahl von Vergleichern vorgesehen, und eine Mehrzahl von Inkonsistenz-Zählzahlen ist für die jeweiligen Vergleicher vorgesehen. Die Zahl der Vergleicher, die zwischen den Betriebsresultaten der CPUs (der CPU 21 und der CPU 22) die Inkonsistenz erfasst haben, ist als eine Anzeige zum Bestimmen der Abnormalität bei der CPU verwendet. Bei diesem Ausführungsbeispiel kann daher genauer bestimmt werden, ob die Abnormalität bei den CPUs vorübergehend oder fortdauernd ist.
-
<Andere Ausführungsbeispiele>
-
Bei einem anderen Ausführungsbeispiel gemäß der vorliegenden Erfindung kann die elektronische Steuereinheit (ECU) drei oder mehr CPUs haben. Drei oder mehr Vergleicher können vorgesehen sein.
-
Bei dem im Vorhergehenden beschriebenen zweiten Ausführungsbeispiel wird, wenn mindestens eine der Inkonsistenz-Zählzahlen (der Haupt- und Nebeninkonsistenz-Zählzahlen) gleich oder größer als der vorbestimmte Schwellenwert ist, bestimmt, dass die Abnormalität bei der CPU eine fortdauernde Abnormalität ist. Wenn nicht (sowohl die Haupt- als auch die Nebeninkonsistenz-Zählzahl kleiner sind), wird bestimmt, dass die Abnormalität bei der CPU eine fortdauernde Abnormalität ist.
-
Bei einem anderen Ausführungsbeispiel gemäß der vorliegenden Erfindung kann andererseits, wenn alle Inkonsistenz-Zählzahlen gleich oder größer als der vorbestimmte Schwellenwert sind, bestimmt werden, dass die Abnormalität bei der CPU eine fortdauernde Abnormalität ist. Wenn nicht (mindestens eine der Inkonsistenz-Zählzahlen kleiner als der vorbestimmte Schwellenwert ist), wird bestimmt, dass die Abnormalität bei der CPU eine fortdauernde Abnormalität ist. Es kann alternativ auf der Basis des Verhältnisses der Inkonsistenz-Zählzahlen, die gleich oder größer als der vorbestimmte Schwellenwert sind, zu allen Inkonsistenz-Zählzahlen (des Verhältnisses der Zahl der Vergleicher, die die Inkonsistenz erfasst haben, zu der Gesamtzahl der Vergleicher) bestimmt werden, ob die Abnormalität bei der CPU vorübergehend oder fortdauernd ist.
-
Das im Vorhergehenden beschriebene zweite Ausführungsbeispiel zeigt ein Beispiel, bei dem eine Mehrzahl von Inkonsistenz-Zählzahlen für die jeweiligen Vergleicher vorgesehen ist. Bei einem anderen Ausführungsbeispiel gemäß der vorliegenden Erfindung kann andererseits eine gemeinsame Inkonsistenz-Zählzahl für eine Mehrzahl von Vergleichern vorgesehen sein. Bei dieser Konfiguration zählt, wenn mindestens einer der Vergleicher die Inkonsistenz der Betriebsresultate erfasst, der Zähler die (eine) Inkonsistenz-Zählzahl hoch.
-
Wenn die Inkonsistenz-Zählzahl kleiner als der vorbestimmte Schwellenwert ist, bestimmt die Abnormalitäts-Bestimmungseinrichtung, dass die Abnormalität bei der CPU eine vorübergehende Abnormalität ist. Wenn die Inkonsistenz-Zählzahl gleich oder größer als der vorbestimmte Schwellenwert ist, bestimmt die Abnormalitäts-Bestimmungseinrichtung, dass die Abnormalität bei der CPU eine fortdauernde Abnormalität ist. Das bedeutet bei dieser Konfiguration, dass genauso wie bei dem zweiten Ausführungsbeispiel die Zahl der Vergleicher, die die Inkonsistenz zwischen den Betriebsresultaten der CPUs erfasst haben, als eine Anzeige zum Bestimmen des Typs einer Abnormalität der CPU verwendet ist. Bei der vorliegenden Erfindung kann daher genauer bestimmt werden, ob die Abnormalität bei den CPUs vorübergehend oder fortdauernd ist. Selbst bei einer Konfiguration, bei der eine gemeinsame Inkonsistenz-Zählzahl für eine Mehrzahl von Vergleichern vorgesehen ist, kann somit bestimmt werden, ob die Abnormalität bei den CPUs vorübergehend oder fortdauernd ist.
-
Bei den im Vorhergehenden beschriebenen Ausführungsbeispielen wird, wenn die Abnormalitäts-Bestimmungseinrichtung bestimmt, dass die Abnormalität bei der CPU die fortdauernde Abnormalität ist, die elektronische Steuereinheit durch Neustarten neu eingestellt (initialisiert). Wenn dann die Zahl der Neueinstellungen eine vorbestimmte Zahl überschreitet, wird die elektronische Steuereinheit gestoppt. Bei einem anderen Ausführungsbeispiel gemäß der vorliegenden Erfindung wird andererseits, wenn die Abnormalitäts-Bestimmungseinrichtung bestimmt, dass die Abnormalität bei der CPU fortdauernd ist, die elektronische Steuereinheit nicht neu eingestellt, kann jedoch gestoppt werden.
-
Bei den im Vorhergehenden beschriebenen Ausführungsbeispielen ist die CPU, ein Erfassungsziel, bei dem die Abnormalitäten erfasst werden, in Betrieb, um die Inkonsistenz-Zählzahl zu inkrementieren, um die elektronische Steuereinheit neu einzustellen, um dieselbe zu stoppen und so weiter. Bei einem anderen Ausführungsbeispiel gemäß der vorliegenden Erfindung kann andererseits nicht die CPU, die das Erfassungsziel der Abnormalität ist, jedoch eine periphere Vorrichtung und so weiter in Betrieb sein, um die Inkonsistenz-Zählzahl zu inkrementieren, um die elektronische Steuereinheit neu einzustellen, um dieselbe zu stoppen und so weiter. Bei dieser Konfiguration kann es genau erreicht werden, die Inkonsistenz-Zählzahl zu inkrementieren, die elektronische Steuereinheit neu einzustellen, dieselbe zu stoppen und so weiter.
-
Bei den im Vorhergehenden beschrieben Ausführungsbeispielen ist lediglich das Hauptmodul 12 mit der Treibschaltung 30 verbunden. Bei einem anderen Ausführungsbeispiel gemäß der vorliegenden Erfindung kann andererseits das Nebenmodul 13 neben dem Hauptmodul 12 mit der Treibschaltung 30 verbunden sein.
-
Die vorliegende Erfindung kann neben der elektrischen Servolenkvorrichtung auf verschiedene Verwendungen, wie zum Beispiel eine VGRS (= Variable Gear Ratio Steering = Lenkung mit einem variablen Übersetzungsverhältnis) und eine ARS (= Active Rear Steering = Aktive Hinterlenkung), angewendet sein.
-
Obwohl die Erfindung hinsichtlich eines spezifischen bevorzugten Ausführungsbeispiels beschrieben ist, sind viele Variationen und Modifikationen für Fachleute nach einem Lesen der vorliegenden Anmeldung offensichtlich. Es ist daher die Absicht, dass die Ansprüche angesichts des Stands der Technik so breit wie möglich interpretiert werden, um alle solche Variationen und Modifikationen zu umfassen.