-
Die Erfindung betrifft ein Verfahren zur Überwachung verteilter Software sowie ein Steuergerät und ein Computerprogramm zur Durchführung des Verfahrens.
-
Stand der Technik
-
Es sind unterschiedliche Konzepte bekannt, mit denen ein Steuergerät einzelfehlersicher bzw. eigensicher gestaltet werden kann. Bekannte ESP/ABS-Steuergeräte bspw. überwachen im 2-Rechner-Konzept, wobei die Funktionssoftware auf einem zweiten, meist identischen Rechner parallel gerechnet wird und die Ergebnisse beider Rechner miteinander verglichen werden. Diese Methode gilt als eigensicher. Sie ist jedoch durch den Einsatz von zwei Rechnern teuer.
-
-
Aus der Druckschrift
DE 44 38 714 A1 sind ein Verfahren und eine Vorrichtung zur Steuerung der Antriebseinheit eines Fahrzeugs bekannt. Bei diesen wird zur Leistungssteuerung lediglich ein Rechenelement zur Durchführung von Steuerungsfunktionen und Überwachungsfunktionen eingesetzt. Dafür sind in dem Rechenelement wenigstens 2 voneinander unabhängige Ebenen festgelegt, wobei eine erste Ebene die Steuerfunktionen und eine zweite Ebene die Überwachungsfunktionen durchführt.
-
Eine weitere bekannte, günstige Möglichkeit, die Eigensicherheit eines Steuergeräts zu erreichen, ist die Überwachung im 3-Ebenenkonzept. Bei diesem wird der zweite Rechner durch ein günstigeres Überwachungsmodul ersetzt.
-
Aktuelle Motorsteuergeräte überwachen EGAS-Systeme gemäß dem 3-Ebenenkonzept. Dabei besteht das Motorsteuergerät aus einem sogenannten Funktionsrechner und einem Überwachungsmodul, dem sogenannten Watchdog. Der Funktionsrechner und das Überwachungsmodul kommunizieren über eine Frage-Antwort-Kommunikation und besitzen getrennte Abschaltpfade. Beim 3-Ebenenkonzept bezeichnet die Ebene 1 die eigentliche Funktionssoftware, die für den Motorbetrieb erforderlich ist. Die Ebene 1 wird auf dem Funktionsrechner ausgeführt. In Ebene 2, die ebenfalls auf dem Funktionsrechner ausgeführt wird, werden anhand eines vereinfachten Motormodells ein zulässiges Moment mit einem Motor-Istmoment verglichen. Die Ebene 2 wird in einem durch die Ebene 3 abgesicherten Hardwarebereich durchgeführt. Bestandteil der Ebene 3 sind der Befehlstest, die Programmablaufkontrolle, der A/D-Wandler-Test sowie zyklische und vollständige Speichertests. Bei aktuellen EGAS-Systemen befindet sich die gesamte Funktions- und Überwachungssoftware in einem Steuergerät.
-
Zu beachten ist, dass mit zunehmender Anzahl von Steuergeräten im Fahrzeug der Bedarf an steuergeräteübergreifender Software zur intelligenten, gesamtheitlichen Regelung verschiedener Systeme steigt.
-
Vorteile der Erfindung
-
Bei dem erfindungsgemäßen Verfahren zur Überwachung verteilter Software, die auf einer Anzahl von mindestens einem Steuergerät zugeordneten Recheneinheiten zur Ausführung kommt, wird einer der Recheneinheiten ein Master-Modul und den anderen Recheneinheiten jeweils ein Slave-Modul zugewiesen. Zur Überwachung wird zwischen dem Master-Modul und den Slave-Modulen eine Kommunikation im Master-Slave-Betrieb durchgeführt. Durch die Anordnung der Slave-Module nacheinander und da die Antwort eines Slave-Moduls gleichzeitig die Frage für das nachfolgende Salve-Modul darstellt, wird ein besonders einfaches Verfahren zur Überwachung aller Slave-Module angegeben. Das Master-Modul muss jeweils nur die Antwort des letzten Slave-Modul auswerten, um eine Fehlerreaktion im Fehlerfall auszulösen.
-
Das erfindungsgemäße Verfahren stellt ein gekapseltes Überwachungskonzept für sicherheitsrelevante Software dar, die auf verschiedene, miteinander vernetzte Steuergeräte aufgeteilt ist. Durch das Überwachungskonzept werden sicherheitsrelevante Einzelfehler im System erkannt, so dass eine beherrschbare Fahrzeugreaktion sichergestellt werden kann.
-
Mit dem erfindungsgemäßen Verfahren kann somit die Einzelfehlersicherheit eines Systems mit sicherheitsrelevanter, verteilter Software gewährleistet werden. Es können diejenigen Fehler erkannt werden, deren Erkennung auch mit dem vorstehend beschriebenen 3-Ebenenkonzept für ein Steuergerät möglich ist. Wesentliche Vorteile des erfindungsgemäßen Verfahrens sind die Flexibilität bei Hard- und Software und die erreichte Hardware-Unabhängigkeit. Durch die Strukturierung der Softwaremodule nach dem Master-Slave-Prinzip sind die Slave-Module auf Steuergeräten auch ohne Überwachungsmodule einsetzbar.
-
Ein weiterer Vorteil besteht in der freien Verteilungsmöglichkeit der Ebene-1-Software innerhalb des Steuergeräteverbunds. Durch eine modulare Struktur der Ebene-2-Software und die geeignete Gestaltung der Slave-Module ist eine freie Konfigurierbarkeit möglich. Außerdem ist das erfindungsgemäße Konzept nicht an eine bestimmte Anzahl von Steuergeräten gebunden. Es kann 0 bis n Slave-Module überwachen.
-
Die Überwachung kann bspw. erfolgen, indem die Slave-Module auf eine Anfrage des Master-Moduls entsprechende Antworten an das Master-Modul zurücksenden und diese Antworten zur Überprüfung eines einwandfreien Betriebs ausgewertet werden. Im Fehlerfalle wird dann typischerweise durch das Master-Modul eine Fehlerreaktion eingeleitet.
-
In einer möglichen Ausgestaltung des Verfahrens stellt das Master-Modul eine einzige Frage, die von allen Slave-Modulen gelesen und entsprechend beantwortet wird. Hierbei ist vorteilhaft, dass nur ein geringer Zeitverzug gegeben ist, bis die Antworten sämtlicher Slave-Module vorliegen. Im Fehlerfall ist zu erkennen, welches Slave-Modul defekt ist, so dass eine Abschaltung des gesamten Systems gegebenenfalls vermieden werden kann.
-
Vorzugsweise erfolgt eine Kommunikation zwischen dem Master-Modul und dem zugeordneten Steuergerät.
-
Die Recheneinheiten können einem Steuergerät oder mehreren Steuergeräten zugeordnet sein. Das erfindungsgemäße Konzept ist somit auch bei innerhalb eines Steuergeräts auf verschiedene Recheneinheiten bzw. Prozessoren aufgeteilter Software anwendbar.
-
Das Master-Modul und/oder die Slave-Module weisen typischerweise einen fixen und einen variablen Bestandteil auf.
-
Das erfindungsgemäße Computerprogramm umfasst Programmcodemittel, um alle Schritte des vorstehend beschriebenen erfindungsgemäßen Verfahrens durchzuführen, wenn dieses auf einem Computer oder einer Recheneinheit, insbesondere einer Recheneinheit in einem Steuergerät, bspw. einem Motorsteuergerät, durchgeführt wird.
-
Das erfindungsgemäße Computerprogrammprodukt weist diese Programmcodemittel auf, die auf einem computerlesbaren Datenträger gespeichert sind.
-
Weiter Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch Dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
- 1 zeigt in einer schematischen Darstellung eine mögliche Anwendung des erfindungsgemäßen Verfahrens.
- 2 zeigt einen bevorzugten Aufbau eines Slave-Moduls.
- 3 zeigt einen bevorzugten Aufbau eines Master-Moduls.
-
Der in 1 dargestellte Anwendungsfall dient zur Überwachung auf ungewollte Beschleunigung eines mit einem EGAS-System ausgerüsteten Fahrzeugs. Analog ist dieses Konzept auch anwendbar für eine Überwachung einer ungewollten Verzögerung. Bei Hybridfahrzeugen kann bspw. der Elektromotor in das Konzept mit einbezogen werden. Eine Reihe weiterer Anwendungsmöglichkeiten des Konzepts, wie bspw. ein Steuergeräteverbund mit Zentralsteuergerät, ein Steuergeräteverbund mit Steuergerät für Elektromotor und/oder Steuergerät für Batterie, eine Überwachung auf ungewollte Verzögerung analog oder ungewollte Beschleunigung oder Verbindung der Überwachung auf ungewollte Verzögerung und ungewollte Beschleunigung, wobei kein weiteres Master-Modul erforderlich ist, sind realisierbar.
-
In 1 befindet sich das Master-Modul der Ebene 2 für den Anwendungsfall der Überwachung einer ungewollten Beschleunigung im Motorsteuergerät. In jedes weitere Steuergerät, dass sicherheitsrelevante Software des Vortriebspfades enthält, wird ein Ebene-2-Slave-Modul integriert. Die Verteilung der Ebene-2-Module erfolgt nach funktionalen Gesichtspunkten analog zu der Verteilung der Funktionssoftware.
-
In der Figur sind schematisch ein erstes Steuergerät 10, ein zweites Steuergerät 12 und ein Motorsteuergerät 14 dargestellt. Den beiden Steuergeräten 10 und 12 ist jeweils ein Slave-Modul und dem Motorsteuergerät 14 ein Master-Modul zugewiesen.
-
In dem ersten Steuergerät 10 ist eine erste Ebene 16 dargestellt, in der sowohl eine Funktionalität 18 als auch eine Überwachung 20 des Slave-Moduls erfolgt.
-
In dem zweiten Steuergerät 12 ist ebenfalls eine erste Ebene 22 mit einer Funktionalität 24 und Überwachung 26 dargestellt.
-
Das Motorsteuergerät 14 ist über eine Endstufe 28 mit einem Motor 30 verbunden. In dem Motorsteuergerät bzw. in einem dem Motorsteuergerät zugeordneten Funktionsrechner 32 ist eine erste Ebene 34 wiedergegeben, in der eine Funktionalität 36 eines der beiden Steuergeräte 10, 12 und eine Überwachung 38 durch das Master-Modul abläuft. Des Weiteren ist das Motorsteuergerät 14 mit einem Überwachungsmodul 40 mit integrierter Hardware 42 verbunden. In einer weiteren ersten Ebene 44 wird die Funktionalität des Motorsteuergeräts 14 zur Ausführung gebracht. In einer zweiten Ebene 46 erfolgt die Überwachung dieser Funktionalität.
-
Bei dem Überwachungskonzept auf ungewollte Beschleunigung ist wichtig, dass eine abgesicherte Abschaltmöglichkeit der Motorendstufen vorliegt. Es muss sichergestellt werden, dass im Fehlerfall zu jedem Zeitpunkt die Möglichkeit besteht, die leistungserhöhende Verbrennung im Motor zu verhindern. Dies wird erreicht, indem das System zu Beginn einen Abschaltpfadtest durchführt. Jedes Slave-Modul fordert nach der Initialisierung von dem Master-Modul eine Abschaltung der Zündendstufe an Das Master-Modul reicht diese Abschaltanforderung an das Motorsteuergerät 14 weiter und lässt sich den korrekten Empfang bestätigen. Bestätigt das Motorsteuergerät 14 den Empfang der Abschaltanforderung, kann davon ausgegangen werden, dass diese im Betrieb auch umgesetzt werden kann.
-
Das Master-Modul schickt nun eine Freigabe an die Slave-Module und der reguläre Programmablauf kann beginnen. Alternativ ist auch denkbar, im Notfall bspw. die Kupplung zu öffnen, um kein überschüssiges Moment an die Antriebsräder gelangen zu lassen. Dieser Abschaltpfad ist als Alternative denkbar, wenn z.B. das Motorsteuergerät 14 von einem anderen Hersteller stammt, das den Abschaltpfad so nicht zulässt. Der reguläre Betrieb ist durch zwei Frage- bzw. Antwort-Kommunikationen gekennzeichnet:
- Die erste Frage/Antwort-Kommunikation findet zwischen dem Master-Modul und dem Motorsteuergerät statt. Dabei bezeichnet Pfeil 48 die Frage und Pfeil 50 die Antwort. Durch diese Frage/Antwort-Kommunikation werden Hardwarefehler sowie ein fehlerhafter Programmablauf des Master-Moduls erkannt. Dies ist insbesondere wichtig, da eine eventuell eingehende Abschaltanforderung an das Motorsteuergerät 14 sicher weitergeleitet werden muss. Im Fehlerfall leitet das Motorsteuergerät 14 eine Fehlerreaktion ein.
-
Die zweite Frage/Antwortkommunikation findet zwischen dem Mastermodul und den Slave-Modulen statt. Dabei bezeichnet Pfeil 52 die Frage des Master-Moduls an das Slave-Modul des zweiten Steuergeräts 12 und Pfeil 54 die Antwort des Slave-Moduls des ersten Steuergeräts 10 an das Master-Modul des Motorsteuergeräts 14. Ein Doppelpfeil 56 verdeutlicht, dass die Frage des Slave-Moduls des ersten Steuergeräts 10 der Antwort des Slave-Moduls des zweiten Steuergeräts entspricht.
-
Diese zweite Kommunikation ist notwendig, um die Ebene 2 der verteilten Software zu kapseln. Entsprechend der anderen Frage/Antwort-Kommunikation hat diese die Aufgabe, Hardwarefehler bei den Slave-Modulen und unkorrektes Abarbeiten der einzelnen Module festzustellen. Die Antwort eines Slave-Moduls stellt gleichzeitig die Frage die das folgende Slave-Modul dar. Die Antwort des letzten Slave-Moduls wird vom Master-Modul ausgewertet. Im Fehlerfall leitet das Master-Modul eine Fehlerreaktion ein.
-
In 2 ist der prinzipielle Aufbau eines Slave-Moduls, insgesamt mit der Bezugsziffer 60 bezeichnet, dargestellt. Dieses besteht aus einem fixen Anteil 62 und einem variablen Anteil 64. Der feste Anteil 62 dient zur Absicherung der Speicherbereiche (RAM und ROM) 66, die von dem gesamten Slave-Modul benutzt werden (zyklischer Test im Betrieb, kompletter Rest im Nachlauf), sowie den Abschaltpfadtest 68 und die sendenden 70 und empfangenden 72 Module. Die einzelnen Module der Ebene 2 werden als „Plug-Ins“ in die Programmablaufkontrolle 74 sowie in den Befehlstest 76 integriert.
-
In 3 ist das Konzept eines Master-Moduls 80 dargestellt. Das Master-Modul 80 besteht ähnlich den Slave-Modulen aus einem fixen Anteil 82 und einem variablen Anteil 84. Auch ein empfangendes Modul 86 ist vorgesehen. Der Speichertest entspricht dem der Slave-Module. Zentraler Bestandteil ist das Master-Modul 80 an sich. In diesem Programmteil wird die Frage/Antwort-Kommunikation mit den Slave-Modulen ausgewertet sowie an der mit dem Motorsteuergerät teilgenommen. Zusätzlich können Module der Ebene 2 als „Plug Ins“ wie bei den Slave-Modulen integriert werden.
-
Die Überwachung der A/D-Wandler erfolgt in einem speziellen Ebene-2-Modul in dem Steuergerät, wo über einen A/D-Wandler sicherheitsrelevante Informationeneingelesen werden. Im Falle der Überwachung auf ungewollte Beschleunigung ist dies insbesondere das Steuergerät, wo die Spannungen des Pedalwertgebers bzw. des Fahrpedalmoduls eingelesen werden. Die Einbindung des Moduls erfolgt analog zu den anderen Ebene-2-Modulen entweder im Master-Modul oder in einer der Slave-Module nach dem „Plug In“-Prinzip. Der Test der eines A/D-Wandlers kann z.B. durch das Leerlauftestimpulsverfahren durchgeführt werden, bei den softwareseitig die Eingangsspannung eines AS-Kanals zyklisch auf Low gezogen wird.
-
Der Informationsaustausch der verschiedenen Steuergeräte erfolgt über eine eigensichere Verbindung wie z.B. CAN, TTT, TTCAN usw. Dadurch können die Kommunikationswege im Zeit- und im Wertebereich überwacht werden.
-
Mit der Frage übermittelt der Master bspw. seinen Fehlerzählerstand. Unterschreitet der Fehlerzählerstand einen gewissen Schwellwert, streut ein Slave-Modul eine falsche Antwort ein, um zu testen, ob sich bei der nächsten Frage vom Master der Fehlerzählerstand um den entsprechenden Wert erhöht. Ist dies nicht der Fall, ist das Master-Modul defekt und das Slave-Modul sendet fortwährend falsche Antworten, die durch die Verkettung mit der Frage/Antwort-Kommunikation zwischen Master und Motorsteuergerät zu einer Fehlerreaktion im Master-Steuergerät führen.
-
Das in der Erfindungsmeldung beschriebene Überwachungskonzept für auf verschiedene Steuergeräte aufgeteilte Software ist ebenso anwendbar auf die Aufteilung von Software innerhalb eines Steuergeräts auf verschiedene Recheneinheiten bzw. Prozessoren. Das Konzept gilt auch für eine Kombination von mehreren Prozessoren innerhalb eines Steuergeräts und die Aufteilung auf verschiedene Steuergeräte.
-
Ist bspw. die zu überwachende Software auf zwei Prozessoren eines Steuergeräts verteilt, steuert einer der beiden Prozessoren die Endstufen an und kommuniziert mit dem Überwachungsmodul. Diesem Prozessor wird das Master-Modul der Überwachung zugeordnet. Auf dem anderen Prozessor wird die Funktionalität des Slave-Moduls implementiert. Die Verteilung der Ebene-2-Module auf Master und Slave-Modul geschieht analog zur Funktionssoftware. Die Kommunikation zwischen Master-Modul und Slave-Modul kann, da steuergeräteintern, z.B. auch über eine SPI-Schnittstelle geschehen (analog zur Kommunikation Prozessor-Überwachungsmodul), je nach Hardwarekonfiguration. Die Überwachung von sicherheitsrelevanten Steuergerätekomponenten, bspw. eines A/D-Wandlers, geschieht je nach Hardwarekonfiguration innerhalb des Master-Moduls oder des Slave-Moduls.