-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Betreiben von einer Steuereinrichtung für ein Fahrzeug gemäß den Oberbegriffen der unabhängigen Ansprüche.
-
Bei der
DE 40 02 389 A1 wird im Notfall und beim Startvorgang komplett auf den zweiten Prozessor umgeschaltet. Die DE 40 02 389 A1 beschreibt ein Kraftstoffzumess-System mit einer redundanten Regeleinrichtung. Bei fehlerfreiem Betrieb führt ein erster Prozessor verschiedene Funktionen zur Steuerung des Fahrzeugs aus. Des weiteren ist ein zweiter Prozessor
11 vorgesehen. Dieser zweite Prozessor führt die selben Funktionen durch und überwacht die Funktionsfähigkeiten des ersten Prozessors. Tritt ein Fehler auf, so übernimmt der zweite Prozessor die Steuerung der Brennkraftmaschine. Zur Überprüfung der Notlaufeinrichtung ist vorgesehen, dass beim Start der Brennkraftmaschine die Steuerung mittels dem zweiten Prozessor erfolgt. Der erste Prozessor hat beim Umschalten (Notlauf, Start) keinen Durchgriff auf das Stellglied.
-
Die elektronische Steuer- und Regeleinheit der
DE 195 40 264 A1 verfügt über zwei unterschiedliche und unabhängige Mikroprozessoren, wobei der zweite Prozessor Daten des ersten Prozessors weiterbearbeitet und an diesen zurückleitet. Dei einem Ausfall des zweiten Mikroprozessors kann ein Umschalter im ersten Prozessor aktiviert werden, so dass lediglich Daten des ersten Prozessors an den Ausgang des ersten Prozessors gelangen können.
-
Die
DE 41 28 658 A1 geht aus von einem Verfahren zur Steuerung von betriebsparameterabhängigen und sich zyklisch wiederholenden Betriebsvorgängen von Brennkraftmaschinen. Dazu sind mehrere Vorrichtungen vorgesehen mit jeweils einem Mikroprozessor, wobei die Vorrichtungen miteinander über einen Datenbus zum Datenaustausch verbunden sind. Fällt diese Datenverbindung aus, verfügt jeder Mikroprozessor über ein Notlaufprogramm, das die Funktionsfähigkeit der Brennkraftmaschine gewährleistet.
-
Aus der
US 4,556,943 ist ein Multiprozessor-basiertes Einspritzsystem für ein Kraftfahrzeug bekannt, wobei ein erster Prozessor als Masterprozessor die Berechnungen eines zweiten Prozessors synchronisiert.
-
Ein weiteres Verfahren und eine weitere Vorrichtung zum Betreiben von einer Steuereinrichtung in einem Fahrzeug, insbesondere eines Fahrzeugs mit einer Brennkraftmaschine, sind aus der
DE 42 41 790 A1 bekannt. Die dort beschriebene Steuereinrichtung besitzt einen Prozessor, der verschiedene Funktionen zur Steuerung des Fahrzeugs und/oder der Brennkraftmaschine ausführt. Abhängig davon, welche Rechenzeit jeweils zur Verfügung steht, werden bestimmte Funktionen ausgeführt oder nicht ausgeführt.
-
Dies bedeutet, bei einer erhöhten Belastung des Rechners werden bestimmte Funktionen nicht mehr durchgeführt. Mit Blick auf eine immer höhere Genauigkeit der Steuerung der Brennkraftmaschine und des Fahrzeugs wird gewünscht, daß alle Funktionen ständig ausgeführt werden sollen. Dies führt dazu, daß immer leistungsfähigere Prozessoren verwendet werden müssen. Prozessoren mit ausreichend großer Rechenleistung stehen nicht oder nur mit höheren Kosten zur Verfügung.
-
Der Erfindung liegt demgegenüber die Aufgabe zugrunde, bei einem Verfahren und einer Vorrichtung zum Betreiben von Steuereinrichtungen für ein Fahrzeug, insbesondere mit einer Brennkraftmaschine sicherzustellen, daß alle Funktionen ständig ausgeführt werden, wobei eine kostengünstige, effiziente und betriebssichere Lösung gefunden wird.
-
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen gekennzeichneten Merkmale gelöst.
-
Mit der erfindungsgemäßen Vorgehensweise wird eine genaue Steuerung auch mit relativ billigen Prozessoren gewährleistet.
-
Vorteilhafte und zweckmäßige Ausgestaltungen und Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
-
Die Erfindung wird nachstehend anhand der in der Zeichnung dargestellten Ausführungsformen erläutert. Es zeigen 1 ein Blockdiagramm der erfindungsgemäßen Vorrichtung und die 2 und 3 Flußdiagramme zur Verdeutlichung des erfindungsgemäßen Verfahrens.
-
Im folgenden wird die erfindungsgemäße Vorrichtung am Beispiel einer Steuereinrichtung für ein Fahrzeug, das mit einer Brennkraftmaschine ausgerüstet ist, beschrieben. Die erfindungsgemäße Vorrichtung ist aber nicht auf diese Anwendung beschränkt, sie kann bei allen Fahrzeugen eingesetzt werden, insbesondere auch bei Fahrzeugen mit Elektromotoren.
-
Eine erste Steuereinrichtung ist mit 100 bezeichnet. Diese umfaßt u. a. einen ersten Prozessor 105. Die erste Steuereinrichtung 100 verarbeitet verschiedene Signale verschiedener erster Sensoren 110 und 115. Der Sensor 110 liefert beispielsweise ein Signal N, das eine Betriebskenngröße der Brennkraftmaschine kennzeichnet. Hierbei handelt es sich beispielsweise um die Drehzahl N der Brennkraftmaschine. Der Sensor 115 liefert ein Signal V, das eine Betriebskenngröße des Fahrzeugs kennzeichnet. Hierbei handelt es sich beispielsweise um die Fahrgeschwindigkeit V des Fahrzeugs.
-
Die erste Steuereinrichtung 100 beaufschlagt ein erstes Stellelement 120 mit Ansteuersignalen. Hierbei handelt es sich beispielsweise um ein Stellelement, das die Leistung der Brennkraftmaschine beeinflußt. Hierbei handelt es sich beispielsweise um ein Stellelement, das die einzuspritzende Kraftstoffmenge, die Drosselklappe, die Zündung, den Einspritzbeginn und/oder die Einspritzmenge beeinflußt.
-
Die Verwendung der ersten Steuereinrichtung 100 zur Steuerung der Brennkraftmaschine ist nicht zwingend. Die erste Steuereinrichtung 100 kann auch zur Steuerung anderer Stellelemente im Fahrzeug verwendet werden. Solche Steuereinrichtungen werden beispielsweise eingesetzt, zur Steuerung des Getriebes, der Kupplung, von Magnetventilen eine Hydraulikflüssigkeit in einem Bremssystem steuern, oder andere Steuereinrichtungen.
-
Der erste Prozessor 105 steuert verschiedene Funktionen zur Steuerung des Fahrzeugs und/oder der Brennkraftmaschine.
-
Eine zweite Steuereinrichtung ist mit 200 bezeichnet. Diese zweite Steuereinrichtung 200 umfaßt einen zweiten Prozessor 205. Die zweite Steuereinrichtung 200 verarbeitet die Ausgangssignale zweiter Sensoren 210 und beaufschlagt ein zweites Stellelement 220 mit entsprechenden Signalen. In den wesentlichen Elementen ist die zweite Steuereinrichtung 200 ähnlich aufgebaut, wie die erste Steuereinrichtung 100.
-
Die erste und die zweite Steuereinrichtung 100 bzw. 200 sind über eine Leitung 300 verbunden, über die Daten zwischen den Steuereinrichtungen, insbesondere zwischen den Prozessoren 105 bzw. 205, ausgetauscht werden können. Diese Verbindung 300 ist vorzugsweise als Bussystem, insbesondere als sogenannter CAN-Bus ausgebildet.
-
Die beschriebene Vorgehensweise ist nicht auf Systeme mit zwei Steuereinrichtungen 100 bzw. 200 mit zwei Prozessoren 105 bzw. 205 beschränkt, sie kann auch besonders vorteilhaft bei Systemen mit mehreren Steuereinrichtungen und mehreren Prozessoren verwendet werden. Erfindungsgemäß kann auch vorgesehen sein, daß in einer Steuereinrichtung mehrere Prozessoren vorgesehen sind.
-
Bei dem dargestellten Ausführungsbeispiel handelt es sich bei der zweiten Steuereinrichtung 200 um ein sogenanntes Kombiinstrument. Hierbei handelt es sich um ein Bauteil eines Kraftfahrzeugs, das dem Fahrer verschiedene Signale mittels verschiedener Instrumente anzeigt. Dies bedeutet, das zweite Stellglied 220 ist als Anzeigemittel ausgebildet.
-
In dieser Ausgestaltung erfaßt der zweite Sensor 210 die Fahrgeschwindigkeit V des Kraftfahrzeuges. Der zweite Prozessor 205 berechnet ausgehend von den Signalen des zweiten Sensors 210 die Fahrgeschwindigkeit und bestimmt hieraus Ansteuersignals zur Ansteuerung des zweiten Stellelements 220, das als Anzeigemittel ausgebildet ist.
-
Neben diesen Funktionen kann die zweite Steuereinrichtung 200 noch weitere Funktionen wahrnehmen. So kann beispielsweise der zweite Prozessor 205 die Funktionen einer Wegfahrsperre, das heißt einer Identifikation des Fahrers wahrnehmen. Hierbei ermittelt der zweite Prozessor 205, ob der Fahrer berechtigt ist und übermittelt über die Leitung 300 dem ersten Prozessor 105, daß der Fahrer berechtigt ist und damit das Fahrzeug starten kann.
-
Bei der oben beschriebenen Ausgestaltung handelt es sich um lediglich eine Ausgestaltung der zweiten Steuereinrichtung 200. Bei der zweiten Steuereinrichtung 200 kann es sich auch um weitere Steuereinrichtungen handeln, die weitere Elemente ansteuern. Bei diesen handelt es sich insbesondere um Elemente, die dem Komfort im Fahrzeug dienen. So kann die zweite Steuereinrichtung 200 zur Steuerung der Klimaanlage, eines Lüfters, der Getriebesteuerung oder einer Einrichtung zur Regelung des Abstandes zum vorausgehenden Fahrzeug handeln. In der Regel sind die Prozessoren der zweiten Steuereinrichtung 200 nur sehr gering ausgelastet.
-
Das Gesamtsystem im Fahrzeug kann als Multiprozessorsystem angesehen werden. Insbesondere die Steuereinrichtungen 100 zur Steuerung der Brennkraftmaschine weisen eine sehr hohe Belastung des Prozessors 105 auf. Das heißt, der Prozessor 105 führt überwiegend zeitkritische Berechnungen durch. Dies ist insbesondere bei hohen Drehzahlen der Fall, bei denen die Berechnungen und die Funktionen sehr häufig abgearbeitet werden müssen. Aus Sicherheitsgründen darf der Prozessor 105 keineswegs überlastet werden, das heißt, daß die Rechenzeit zu Berechnungen der Funktionen nicht ausreicht. Dies gilt insbesondere für wichtige Funktionen mit hoher Priorität.
-
Beim Stand der Technik ist deshalb vorgesehen, daß bestimmte weniger wichtige Funktionen bei hoher Rechnerbelastung nicht, eingeschränkt oder weniger häufig abgearbeitet werden. Um einen sicheren Betrieb zu ermöglichen, da die Laufzeitbelastung der Prozessoren im voraus nicht sicher abgeschätzt werden kann, müssen Prozessoren mit ausreichend hoher Laufzeitreserve eingesetzt werden. Häufig werden Prozessoren eingesetzt, die überdimensioniert sind.
-
Es wurde erkannt, daß bestimmte Steuereinrichtungen überdimensioniert sind und nur eine sehr geringe Laufzeitbelastung aufweisen. Es ist daher vorgesehen, daß die erste Steuereinrichtung abhängig von der Belastung bestimmte Funktionen an eine zweite Steuereinrichtung delegiert.
-
Die Bestimmung der momentanen Belastung des Rechners ist problematisch und erfordert zusätzliche Rechenzeit. Daher ist vorgesehen, daß anstelle der Rechnerbelastung eine Betriebskenngröße verwendet wird, die mit der Rechnerbelastung korreliert ist. Hierbei handelt es sich beispielsweise um die Drehzahl der Brennkraftmaschine und/oder um die Fahrgeschwindigkeit des Fahrzeugs. Erreicht diese Betriebskenngröße einen bestimmten Schwellwert, so werden bestimmte Funktionen delegiert. Dabei kann auch vorgesehen sein, daß die Funktionen an mehrere Steuereinrichtungen delegiert werden.
-
In dem dargestellten Ausführungsbeispiel bedeutet dies, daß bei hohen Drehzahlen N und/oder hohen Fahrgeschwindigkeiten V der erste Prozessor 105 eine und/oder mehrere Funktionen an den zweiten Prozessor 205 delegiert. Hierbei handelt es sich beispielsweise um die Berechnung der Fahrgeschwindigkeit, die vom zweiten Prozessor 205 im Normalbetrieb ausgeführt wird. Da der zweite Prozessor 205 die Fahrgeschwindigkeit V lediglich zur Anzeige benötigt, kann diese Berechnung auch mit niederer Genauigkeit erfolgen. Dies bedeutet, bei hoher Rechnerbelastung delegiert der erste Prozessor 105 die Funktion Geschwindigkeitsberechnung an den zweiten Prozessor 205, der diese Funktion abarbeitet, wobei dies nur im eingeschränkten Umfang ausgeführt werden kann.
-
Bei dieser Ausführungsform ist das Programm zur Durchführung der Funktion bereits im zweiten Prozessor 205 vorhanden. Bei einer anderen Ausgestaltung der Erfindung kann auch vorgesehen sein, daß der erste Prozessor 105 bei der Delegation der Funktion zuerst das komplette Programm zum zweiten Prozessor 205 überträgt und dieser das Programm und damit die Funktion abarbeitet. Dabei werden i. d. R. das Programm und die erforderlichen Daten übertragen. Nach der Abarbeitung der Funktion wird das Ergebnis wieder zum ersten Prozessor 105 zurück übertragen. Vorzugsweise wird das Programm anschließend im zweiten Prozessor 205 gelöscht.
-
In 2a ist ein Flußdiagramm einer Ausgestaltung der erfindungsgemäßen Vorgehensweise dargestellt. In einem Schritt 400 wird eine die Rechnerbelastung kennzeichnende Betriebskenngröße des Fahrzeuges und/oder der Brennkraftmaschine erfaßt. In dem dargestellten Ausführungsbeispiel handelt es sich um die Drehzahl N der Brennkraftmaschine. Die anschließende Abfrage 410 überprüft, ob die Drehzahl N größer als ein erster Schwellwert SW1 ist. Ist dies nicht der Fall, so folgt Schritt 420, indem der normale Programmablauf erfolgt.
-
Ist die Drehzahl N größer als ein Schwellwert SW1, so folgt eine weitere Abfrage 430, die überprüft, ob die Drehzahl größer als ein zweiter Schwellwert SW2 ist. Ist dies nicht der Fall, das heißt die Drehzahl ist größer als der Schwellwert SW1 aber kleiner als ein zweiter Schwellwert SW2, so werden in Schritt 435 bestimmte Funktionen F1 von dem ersten Prozessor an einen zweiten Prozessor delegiert. Erkennt die Abfrage 430, daß die Drehzahl größer als ein zweiter Schwellwert SW2 ist, so folgt eine weitere Abfrage 440, die überprüft, ob die Drehzahl größer als ein dritter Schwellwert SW3 ist.
-
Ist dies nicht der Fall, das heißt die Drehzahl N nimmt Werte zwischen dem zweiten und dem dritten Schwellwert SW2 bzw. SW3 an, werden in Schritt 445 weitere Funktionen F2 von dem ersten Prozessor 105 an den zweiten Prozessor 205 delegiert.
-
Ist die Drehzahl N größer als der dritte Schwellwert SW3, so werden in Schritt 448 die Funktionen F3 an den zweiten Prozessor 205 delegiert. Im Anschluß an die Schritte 435, 445 und 448 erfolgt der normale Programmablauf in Schritt 420.
-
Erfindungsgemäß sind den verschiedenen Funktionen F1, F2, F3 verschiedene Prioritäten zugeordnet. Die Funktionen mit der niedrigsten Priorität sind mit F1, die mit zweithöchster Priorität mit F2 und die mit höherer Priorität mit F3 bezeichnet. Bei den Funktionen F1 handelt es sich vorzugsweise um reine Komfortfunktionen, wie die Steuerung der Klimaanlage oder eines Lüfters. Bei den zweitwichtigsten Funktionen F2 handelt es sich um Funktionen mit relativ geringer Priorität oder um Funktionen die auch geringer Genauigkeit erfaßt werden können. Hierbei handelt es sich beispielsweise um die Erfassung der Fahrgeschwindigkeit V. oder verschiedener Temperatur- und Druckwerte.
-
Bei einer vereinfachten Ausgestaltung erfolgt nur eine Abfrage 410, das heißt bei Überschreiten eines Schwellwertes SW für die Drehzahl N werden bestimmte Funktionen F delegiert. Bei einer verbesserten Ausgestaltung der Erfindung werden weitere Schwellwerte SW abgefragt, das heißt, abhängig von der Drehzahl N werden unterschiedliche Funktionen delegiert.
-
Bei der dargestellten Ausführungsbeispiel werden die Funktionen F abhängig von ihrer Priorität und der Belastung des Prozessors 105 delegiert. Funktionen F mit niedriger Priorität werden bereits bei niederen Drehzahlen N und Funktionen mit höherer Priorität erst bei höheren Drehzahlen N delegiert.
-
Die zweite Steuereinrichtung 200 kann die Funktion F nur ausführen, wenn sie nicht ausgelastet ist. Bei verschiedenen Steuereinrichtungen ist dies ständig der Fall, bei anderen ist es möglich, daß diese ebenfalls zu stark belastet sind, daß sie weitere Funktionen F nicht übernehmen können. In diesem Fall ist die Vorgehensweise, die in 2b dargestellt ist, besonders vorteilhaft.
-
In 2b ist der Schritt 443, 445 bzw. 448 detaillierter dargestellt. Zu Beginn wird jeweils in Schritt 500 ein Zähler Z mit 1 gesetzt. Anschließend in Schritt 510 wird die Belastung BZ der Steuereinrichtung Z, an die delegiert werden soll, bestimmt. Die anschließende Abfrage 520 überprüft, ob die Belastung BZ der Steuereinrichtung Z größer als ein Schwellwert S ist. Ist dies der Fall, so wird in Schritt 530 der Zähler Z um 1 erhöht. Anschließend erfolgt erneut Schritt 510, bei dem die Belastung der nächsten Steuereinrichtung überprüft wird. Erkennt die Abfrage 520, daß die überprüfte Steuereinrichtung Z nicht ausgelastet ist, das heißt die Belastung BZ der Steuereinrichtung Z kleiner als der Schwellwert S ist, so wird in Schritt 540 die Funktion an die Steuereinrichtung Z delegiert.
-
Besonders vorteilhaft ist es, wenn die Schwellwerte S für die Drehzahl N bzw. für die anderen Betriebskenngrößen, bei denen die Funktionen delegiert werden, adaptiert, das heißt gelernt werden. Hierzu wird, wie in 3 dargestellt, vorgegangen. In einem ersten Schritt 450 wird die Drehzahl N bzw. eine andere Betriebskenngröße erfaßt. Anschließend in Schritt 452 wird die nicht ausgenutzte Rechenzeit RLZ bestimmt. Hierbei handelt es sich um die Zeit, in der der Prozessor 105 nicht tätig ist. Ausgehend von dieser Größe wird in Schritt 454 ein Wert für die Belastung B des Prozessors 105 bestimmt. Hierbei handelt es sich vorzugsweise um die Rechnerauslastung, die sich aus dem Verhältnis zwischen der nicht ausgenutzten Rechenzeit RLZ und der Gesamtrechenzeit zusammensetzt.
-
Anschließend überprüft die Abfrage 460, ob der Wert der Belastung größer als ein erster Schwellwert BW1 ist. Ist dies nicht der Fall, so endet das Programm in Schritt 470. Erkennt die Abfrage, daß die Belastung größer als ein erster Schwellwert BW1 ist, so folgt die Abfrage 480, die überprüft, ob die Belastung größer als ein zweiter Schwellwert BW2 ist. Ist dies nicht der Fall, das heißt die Belastung bewegt sich zischen dem ersten Schwellwert BW1 und dem zweiten Schwellwert BW2, so wird die in Schritt 450 erfaßte Drehzahl N in Schritt 485 als erster Schwellwert SW1 abgespeichert.
-
Erkennt die Abfrage 480, daß die Belastung größer als der zweite Schwellwert BW2 ist, folgt die Abfrage 490, die überprüft, ob die Belastung größer als ein dritter Schwellwert BW3 ist. Ist dies nicht der Fall, das heißt die Belastung bewegt sich zwischen dem zweiten und dritten Schwellwert BW2 bzw. BW3, wird in Schritt 495 der Schwellwert SW2 mit den momentanen Drehzahlwert N besetzt. Erkennt die Abfrage 490, daß die Belastung größer als der dritte Schwellwert BW3 ist, so wird in Schritt 499 der Schwellwert BW3 mit dem aktuellen Drehzahlwert N besetzt. Anschließend an die Schritte 485, 495 und 499 endet das Programm in Schritt 470.