-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 61/325,588, eingereicht am 19. April 2010. Die Offenbarung der obigen Anmeldung ist hier durch Bezugnahme vollständig mit aufgenommen.
-
GEBIET
-
Die vorliegende Offenbarung bezieht sich auf die Sicherstellung der Mikroprozessorsicherheitsintegrität in Kraftfahrzeuganwendungen.
-
HINTERGRUND
-
Die hier gegebene Hintergrundbeschreibung dient der allgemeinen Darstellung des Kontexts der Offenbarung. Die Arbeit der vorliegend genannten Erfinder, in dem Umfang, in dem sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Einreichung nicht möglicherweise auf andere Weise Stand der Technik bilden, sind weder explizit noch implizit als Stand der Technik gegenüber der vorliegenden Offenbarung anerkannt.
-
Ein Kraftfahrzeugelektronik-Steuersystem für ein Fahrzeug steuert Fahrzeugfunktionen einschließlich des Fahrzeugvortriebs, der Fahrzeugbremsung, der Fahrzeuglenkung und des Getriebebetriebs, ohne jedoch darauf eingeschränkt zu sein. Ein oder mehrere Hauptmikroprozessoren führen Software aus und/oder führen Berechnungen aus, die der Steuerung dieser Fahrzeugfunktionen zugeordnet sind. Somit hängt die Fahrzeugfunktion von der Integrität des Hauptmikroprozessors ab. Das Fahrzeug kann eine Diagnose implementieren, um die Integrität des Hauptmikroprozessors zu überprüfen.
-
Zum Beispiel kann das Fahrzeug einen dedizierten sekundären Mikroprozessor enthalten, der den Hauptmikroprozessor überwacht. Der sekundäre Mikroprozessor kann die Integrität des Hauptmikroprozessors z. B. durch Austauschen von Startparametern und Schlüsseln mit dem Hauptprozessor überprüfen.
-
ZUSAMMENFASSUNG
-
Ein Prozessorintegritätssystem in einem Fahrzeug enthält m Hauptprozessormodule, die wenigstens m jeweilige Funktionen des Fahrzeugs steuern, wobei m eine ganze Zahl [engl.: ”m is n integer”] größer oder gleich eins ist. Ein Überwachungsprozessormodul steuert wenigstens eine Funktion des Fahrzeugs, kommuniziert über ein verteiltes Fahrzeugnetz mit den m Hauptprozessormodulen, sendet über das verteilte Fahrzeugnetz wahlweise eine Abfrage an wenigstens eines der m Hauptprozessormodule, empfängt über das verteilte Fahrzeugnetz eine Antwort von dem wenigstens einen der m Hauptprozessormodule und überprüft [engt.: ”that verifies”] auf der Grundlage der Antwort die Integrität des wenigstens einen der m Hauptprozessormodule.
-
In anderen Merkmalen werden die oben beschriebenen Systeme und Verfahren durch ein Computerprogramm implementiert, das durch einen oder mehrere Prozessoren ausgeführt wird. Das Computerprogramm kann in einem konkreten computerlesbaren Medium wie etwa einem Speicher, einer nichtflüchtigen Datenablage und/oder anderen konkreten Ablagemedien, ohne jedoch darauf eingeschränkt zu sein, liegen.
-
Weitere Bereiche der Anwendbarkeit der vorliegenden Offenbarung gehen aus der im Folgenden gegebenen ausführlichen Beschreibung hervor. Selbstverständlich sind die ausführliche Beschreibung und die spezifischen Beispiele nur zur Veranschaulichung bestimmt und sollen den Umfang der Offenbarung nicht einschränken.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die vorliegende Offenbarung wird umfassender verständlich aus der ausführlichen Beschreibung und aus den beigefügten Zeichnungen, in denen:
-
1 ein Funktionsblockschaltplan eines Kraftmaschinensystems in Übereinstimmung mit den Prinzipien der vorliegenden Offenbarung ist;
-
2 ein Funktionsblockschaltplan eines verteilten Netzes für ein Fahrzeug in Übereinstimmung mit den Prinzipien der vorliegenden Offenbarung ist;
-
3 ein Funktionsblockschaltplan eines zweiten verteilten Netzes für ein Fahrzeug in Übereinstimmung mit den Prinzipien der vorliegenden Offenbarung ist;
-
4 ein Funktionsblockschaltplan eines dritten verteilten Netzes für ein Fahrzeug in Übereinstimmung mit den Prinzipien der vorliegenden Offenbarung ist; und
-
5 ein Ablaufplan ist, der Schritte eines Mikroprozessorüberprüfungsverfahrens in Übereinstimmung mit den Prinzipien der vorliegenden Offenbarung darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Beschreibung ist dem Wesen nach lediglich beispielhaft und soll die Offenbarung, ihre Anwendung oder Verwendungen in keiner Weise einschränken. Der Klarheit halber sind in den Zeichnungen zur Angabe ähnlicher Elemente dieselben Bezugszeichen verwendet. Wie der Ausdruck wenigstens eines von A, B und C hier verwendet ist, soll er ein logisches (A oder B oder C) unter Verwendung eines nicht ausschließenden logischen Oder bedeuten. Es ist festzustellen, dass Schritte innerhalb eines Verfahrens in anderer Reihenfolge ausgeführt werden können, ohne die Prinzipien der vorliegenden Offenbarung zu andern.
-
Wie der Begriff Modul hier verwendet ist, bezieht er sich auf eine anwendungsspezifische Schaltung (ASIC), auf eine elektronische Schaltung, auf einen Prozessor (gemeinsam genutzt, dediziert oder Gruppe) und auf Speicher, die eines oder mehrere Software- oder Firmwareprogramme ausführen, auf eine Kombinationslogikschaltung und/oder auf andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen.
-
Nun anhand von 1 ist ein Funktionsblockschaltplan eines beispielhaften Kraftmaschinensystems 100 dargestellt. Das Kraftmaschinensystem 100 enthält eine Kraftmaschine 102, die ein Luft/Kraftstoff-Gemisch verbrennt, um auf der Grundlage einer Fahrereingabe (von Fahrereingaben) von einem Fahrereingabemodul 104 ein Antriebsdrehmoment für ein Fahrzeug zu erzeugen. Die Fahrereingaben können z. B. eine oder mehrere Fahrpedalpositionen (APPs), die durch APP-Sensoren (nicht gezeigt) gemessen werden, eine oder mehrere Bremspedalpositionen (BPPs), die durch BPP-Sensoren (nicht gezeigt) gemessen werden, und eine Geschwindigkeitsregelungs-Drehmomentanforderung, die durch ein Geschwindigkeitsregelungssystem (nicht gezeigt) geliefert wird, enthalten. In verschiedenen Implementierungen kann das Geschwindigkeitsregelungssystem ein adaptives Geschwindigkeitsregelungssystem enthalten, das einen vorgegebenen Mindestabstand aufrechterhält.
-
In einen Einlasskrümmer 110 wird durch eine Drosselklappe 112 Luft angesaugt. Die Drosselklappe 112 kann nur beispielhaft eine Ventilklappe mit einer drehbaren Klappe enthalten. Ein Kraftmaschinensteuermodul (ECM) 114 steuert ein Drosselklappenaktuatormodul 116, das das Öffnen der Drosselklappe 112 reguliert, um die Menge der in den Einlasskrümmer 110 angesaugten Luft zu steuern.
-
Luft von dem Einlasskrümmer 110 wird in einen oder in mehrere Zylinder der Kraftmaschine 102 angesaugt. Obwohl die Kraftmaschine 102 mehr als einen Zylinder enthalten kann, ist für Veranschaulichungszwecke ein einzelner repräsentativer Zylinder 118 gezeigt. Nur beispielhaft kann die Kraftmaschine 102 2, 3, 4, 5, 6, 8, 10 und/oder 12 Zylinder enthalten. Das ECM 114 kann ein Zylinderaktuatormodul 120 anweisen, einige der Zylinder wahlweise abzuschalten, was unter einigen Umständen die Kraftstoffwirtschaftlichkeit verbessern kann.
-
Die Kraftmaschine 102 kann unter Verwendung eines Viertaktkraftmaschinenzyklus arbeiten. Die vier nachstehend beschriebenen Takte können als der Ansaugtakt, als der Verdichtungstakt, als der Verbrennungstakt und als der Ausstoßtakt bezeichnet werden. Während jeder Umdrehung einer Kurbelwelle (nicht gezeigt) treten innerhalb des Zylinders 118 zwei der vier Takte auf. Somit können zwei Kurbelwellenumdrehungen notwendig sein, damit der Zylinder 118 alle vier Takte eines Kraftmaschinenzyklus erfährt.
-
Während des Einlasstakts wird durch ein Einlassventil 122 Luft aus dem Einlasskrümmer 110 in den Zylinder 118 angesaugt. Das ECM 114 steuert ein Kraftstoffaktuatormodul 124, das die Kraftstoffeinspritzung reguliert, um ein gewünschtes Luft/Kraftstoff-Verhältnis zu erzielen. Kraftstoff kann in den Einlasskrümmer 110 an einem zentralen Ort oder an mehreren Orten wie etwa in der Nähe des Einlassventils (der Einlassventile) jedes der Zylinder eingespritzt werden. In verschiedenen Implementierungen (nicht gezeigt) kann Kraftstoff direkt in die Zylinder oder in den Zylindern zugeordnete Mischkammern eingespritzt werden. Das Kraftstoffaktuatormodul 124 kann das Einspritzen von Kraftstoff in die Zylinder, die abgeschaltet sind, anhalten.
-
Der eingespritzte Kraftstoff mischt sich mit Luft und erzeugt ein Luft/Kraftstoff-Gemisch. Während des Verdichtungstakts verdichtet ein Kolben (nicht gezeigt) innerhalb des Zylinders 118 das Luft/Kraftstoff-Gemisch. Auf der Grundlage eines Signals von dem ECM 114 setzt ein Zündfunkenaktuatormodul 126 eine Zündkerze 128 in dem Zylinder 118 unter Strom, was das Luft/Kraftstoff-Gemisch zündet. Die Zeiteinstellung des Zündfunkens kann relativ zu dem Zeitpunkt, zu dem der Kolben in seiner obersten Position ist, die als oberer Totpunkt (TDC) bezeichnet wird, spezifiziert werden.
-
Das Zündfunkenaktuatormodul 126 kann durch ein Zeitgebungssignal gesteuert werden, das spezifiziert, wie weit vor oder nach dem TDC der Zündfunken zu erzeugen ist. Da die Kolbenposition direkt mit der Kurbelwellendrehung zusammenhängt, kann der Betrieb des Zündfunkenaktuatormoduls 126 mit dem Kurbelwellenwinkel synchronisiert werden. In verschiedenen Implementierungen kann das Zündfunkenaktuatormodul 126 die Bereitstellung des Zündfunkens für abgeschaltete Zylinder anhalten.
-
Die Verbrennung des Luft/Kraftstoff-Gemischs innerhalb eines Zylinders kann als ein Zündereignis bezeichnet werden. Das Zündfunkenaktuatormodul 126 kann die Fähigkeit aufweisen, die Zeiteinstellung des Zündfunkens für jedes Zündereignis zu ändern. Außerdem kann das Zündfunkenaktuatormodul 126 die Fähigkeit aufweisen, die Zündfunkenzeiteinstellung für ein gegebenes Zündereignis selbst dann zu ändern, wenn eine Änderung des Zeitgebungssignals nach einem Zündereignis eines Zylinders unmittelbar vor einem gegebenen Zündereignis empfangen wird.
-
Während des Verbrennungstakts treibt die Verbrennung des Luft/Kraftstoff-Gemischs den Kolben von der TDC-Position weg und treibt dadurch die Drehung der Kurbelwelle an. Der Verbrennungstakt kann als die Zeitdauer zwischen dem Erreichen des TDC durch den Kolben und dem Zeitpunkt, zu dem der Kolben eine unterste Position erreicht, die als ein unterer Totpunkt (BDC) bezeichnet werden kann, definiert werden.
-
Während des Auslasstakts beginnt sich der Kolben wieder in Richtung der TDC-Position zu bewegen und stößt die Nebenprodukte der Verbrennung durch ein Auslassventil 130 aus. Die Nebenprodukte der Verbrennung werden von dem Fahrzeug über ein Auspuffsystem 134 ausgestoßen.
-
Das Einlassventil 122 kann durch eine Einlassnockenwelle 140 gesteuert werden, während das Auslassventil 130 durch eine Auslassnockenwelle 142 gesteuert werden kann. In verschiedenen Implementierungen können mehrere Einlassnockenwellen (einschließlich der Einlassnockenwelle 140) mehrere Einlassventile (einschließlich des Einlassventils 122) für den Zylinder 118 steuern und/oder können sie die Einlassventile (einschließlich des Einlassventils 122) mehrerer Zylinderbänke (einschließlich des Zylinders 118) steuern. Ähnlich können mehrere Auslassnockenwellen (einschließlich der Auslassnockenwelle 142) mehrere Auslassventile für den Zylinder 118 steuern und/oder können sie die Auslassventile (einschließlich des Auslassventils 130) für mehrere Zylinderbänke (einschließlich des Zylinders 118) steuern.
-
Das Zylinderaktuatormodul 120 kann den Zylinder 118 durch Sperren des Öffnens des Einlassventils 122 und/oder des Auslassventils 130 abschalten. In verschiedenen anderen Implementierungen können das Einlassventil 122 und/oder das Auslassventil 130 durch andere Vorrichtungen als Nockenwellen wie etwa durch elektromagnetische Aktuatoren gesteuert werden.
-
Der Zeitpunkt, zu dem das Einlassventil 122 geöffnet wird, kann in Bezug auf die TDC-Position durch einen Einlassnockenphasensteller 148 geändert werden. Der Zeitpunkt, zu dem das Auslassventil 130 geöffnet wird, kann in Bezug auf die TDC-Position durch einen Auslassnockenphasensteller 150 geändert werden. Ein Phasenstelleraktuatormodul 158 kann den Einlassnockenphasensteller 148 und den Auslassnockenphasensteller 150 auf der Grundlage von Signalen von dem ECM 114 steuern. Wenn Technologien für die variable Ventilbetätigung (VVA-Technologien) (nicht gezeigt) implementiert sind, können sie ebenfalls durch das Phasenstelleraktuatormodul 158 gesteuert werden.
-
Das Kraftmaschinensystem 100 kann eine Ladedruckvorrichtung enthalten, die Druckluft für den Einlasskrümmer 110 bereitstellt. Zum Beispiel zeigt 1 einen Turbolader, der eine heiße Turbine 160-1 enthält, die durch heiße Abgase, die durch das Abgassystem 134 strömen, mit Leistung versorgt wird. Außerdem enthält der Turbolader einen Kaltluftkompressor 160-2, der durch die Turbine 160-1 angetrieben wird, der Luft, die in die Drosselklappe 112 führt, verdichtet. In verschiedenen Implementierungen kann ein Lader (nicht gezeigt), der durch die Kurbelwelle angetrieben wird, Luft von der Drosselklappe 112 verdichten und die Druckluft an den Einlasskrümmer 110 liefern.
-
Ein Ladedruckregelventil 162 (z. B. ein Turboumgehungsventil) kann ermöglichen, dass Abgas die Turbine 160-1 umgeht, und dadurch den von dem Turbolader gelieferten Ladedruck verringern. Der Ladedruck kann z. B. die Differenz zwischen dem Druck innerhalb des Einlasskrümmers 110 und dem Druck innerhalb des Einlasskrümmers einer Saugkraftmaschine unter denselben Betriebsbedingungen enthalten.
-
Das ECM 114 kann den Turbolader über ein Ladedruckaktuatormodul 164 steuern. Das Ladedruckaktuatormodul 164 kann den Ladedruck des Turboladers durch Steuern der Position des Ladedruckregelventils 162 modulieren. In verschiedenen Implementierungen können mehrere Turbolader durch das Ladedruckaktuatormodul 164 gesteuert werden. Der Turbolader kann eine variable Geometrie aufweisen, die durch das Ladedruckaktuatormodul 164 gesteuert werden kann.
-
Ein Zwischenkühler (nicht gezeigt) kann einen Teil der in der Druckluftladung enthaltenen Wärme, die erzeugt wird, während die Luft verdichtet wird, ableiten. Die Druckluftladung kann außerdem absorbierte Wärme von Komponenten des Auspuffsystems 134 besitzen. Obwohl die Turbine 160-1 und der Kompressor 160-2 zu Veranschaulichungszwecken getrennt gezeigt sind, können sie aneinander in der Nähe des Orts der Turbine 160-1 befestigt sein, wobei Einlassluft in nächster Nähe zum heißen Abgas angeordnet wird.
-
Das Kraftmaschinensystem 100 kann ein Abgasrückführungsventil (AGR-Ventil) 170 enthalten, das wahlweise Abgas zu dem Einlasskrümmer 110 zurückleitet. Das AGR-Ventil 170 kann sich oberstromig der Turbine 160-1 befinden. Das AGR-Ventil 170 kann durch ein AGR-Aktuatormodul 172 gesteuert werden.
-
Das Kraftmaschinensystem 100 kann unter Verwendung eines RPM-Sensors 178 die Drehzahl der Kurbelwelle in Umdrehungen pro Minute (min–1) messen. Das Kraftmaschinensystem 100 kann unter Verwendung eines Fahrzeuggeschwindigkeitssensors 180 die Geschwindigkeit des Fahrzeugs messen. Die Fahrzeuggeschwindigkeit kann z. B. auf der Grundlage einer Getriebeausgangswellendrehzahl (TOSS), einer oder mehrerer Raddrehzahlen oder eines anderen geeigneten Maßes für die Fahrzeuggeschwindigkeit bestimmt werden. Unter Verwendung eines Kraftmaschinen-Kühlmitteltemperatursensors (ECT-Sensors) 182 kann die Temperatur des Kraftmaschinenkühlmittels gemessen werden. Der ECT-Sensor 182 kann sich innerhalb der Kraftmaschine 102 oder an anderen Orten, wo das Kühlmittel umgewälzt wird, wie etwa an einem Kühler (nicht gezeigt) befinden.
-
Der Druck innerhalb des Einlasskrümmers 110 kann unter Verwendung eines Krümmerabsolutdrucksensors (MAP-Sensors) 184 gemessen werden. In verschiedenen Implementierungen kann der Kraftmaschinenunterdruck gemessen werden, wobei der Kraftmaschinenunterdruck eine Differenz zwischen dem Umgebungsluftdruck und dem Druck innerhalb des Einlasskrümmmers 110 enthält. Der Luftmassendurchfluss in den Einlasskrümmer 110 kann unter Verwendung eines Luftmassenströmungssensors (MAF-Sensors) 186 gemessen werden. In verschiedenen Implementierungen kann sich der MAF-Sensor 186 in einem Gehäuse befinden, das ebenfalls die Drosselklappe 112 enthält.
-
Das Drosselklappenaktuatormodul 116 kann unter Verwendung eines oder mehrerer Drosselklappenpositionssensoren (TPS) 190 die Position der Drosselklappe 112 überwachen. Die Umgebungstemperatur von Luft, die in die Kraftmaschine 102 angesaugt wird, kann unter Verwendung eines Einlasslufttemperatursensors (IAT-Sensors) 192 gemessen werden. Das ECM 114 kann Signale von den Sensoren verwenden, um Steuerentscheidungen für das Kraftmaschinensystem 100 zu treffen.
-
Das ECM 114 kann mit einem Getriebesteuermodul 194 kommunizieren, um den Betrieb der Kraftmaschine 102 mit einem Getriebe (nicht gezeigt) zu koordinieren. Zum Beispiel kann das ECM 114 während einer Gangschaltung das Kraftmaschinenausgangsdrehmoment verringern. Die Kraftmaschine 102 kann über eine Drehmomentübertragungsvorrichtung (nicht gezeigt) wie etwa einen Drehmomentwandler und/oder eine oder mehrere Kupplungen ein Drehmoment an das Getriebe abgeben. Das Getriebesteuermodul 194 kann außerdem Daten wie etwa ein gegenwärtiges innerhalb des Getriebes eingerücktes Übersetzungsverhältnis, das durch einen oder mehrere Gangsensoren (nicht gezeigt) angegeben wird, und einen Zustand der Drehmomentübertragungsvorrichtung mit dem ECM 114 gemeinsam nutzen. Nur beispielhaft kann der Zustand für den Fall des Drehmomentwandlers einen verriegelten Zustand oder einen entriegelten Zustand einer Drehmomentwandler-Überbrückungskupplung (TCC) (nicht gezeigt) enthalten.
-
Das ECM 114 kann mit einem Hybridsteuermodul 196 kommunizieren, um den Betrieb der Kraftmaschine 102 und eines Elektromotors 198 zu koordinieren. Der Elektromotor 198 kann ebenfalls als ein Generator arbeiten und kann zum Erzeugen elektrischer Energie zur Verwendung durch Fahrzeugelektriksysteme und/oder zur Speicherung in einer Batterie verwendet werden. In verschiedenen Implementierungen können verschiedene Funktionen des ECM 114, des Getriebesteuermoduls 194 und des Hybridsteuermoduls 196 in einem oder in mehreren Modulen integriert sein.
-
Ein Kraftmaschinenaktuator ändert einen oder mehrere Kraftmaschinenparameter durch Steuern eines zugeordneten Aktuatorwerts. Nur beispielhaft kann das Drosselklappenaktuatormodul 116 als ein Kraftmaschinenaktuator bezeichnet werden und kann der Drosseldurchlassquerschnitt als der zugeordnete Aktuatorwert bezeichnet werden. In dem Beispiel aus 1 erreicht das Drosselklappenaktuatormodul 116 den Drosseldurchlassquerschnitt durch Einstellen eines Klappenwinkels der Drosselklappe 112.
-
Ähnlich kann das Zündfunkenaktuatormodul 126 als ein Kraftmaschinenaktuator bezeichnet werden, während der zugeordnete Aktuatorwert als der Betrag der Zündfunkenverstellung nach früh relativ zum Zylinder-TDC bezeichnet werden kann. Andere Kraftmaschinenaktuatoren können das Zylinderaktuatormodul 120, das Kraftstoffaktuatormodul 124, das Phasenstelleraktuatormodul 158, das Ladedruckaktuatormodul 164 und das AGR-Aktuatormodul 172 enthalten. Für diese Kraftmaschinenaktuatoren können die zugeordneten Aktuatorwerte in dieser Reihenfolge die Anzahl aktivierter Zylinder, die Kraftstoffbeaufschlagungsrate, den Einlassnocken- und den Auslassnockenphasenstellerwinkel, den Ladedruck und den AGR-Ventil-Durchlassquerschnitt enthalten. Das ECM 114 kann Aktuatorwerte in der Weise steuern, dass veranlasst wird, dass die Kraftmaschine 102 ein gewünschtes Kraftmaschinenausgangsdrehmoment erzeugt und gewünschte Kraftmaschinenparameter erreicht.
-
Verschiedene Steuermodule des Kraftmaschinensystems 100 (einschließlich des Kraftmaschinensteuermoduls 114, aber darauf nicht beschränkt) können einen oder mehrere Mikroprozessoren enthalten und über einen Fahrzeugbus 200 kommunizieren. Zum Beispiel kann ein verteiltes Kommunikationsnetz wie etwa ein Controller Area Network (CAN) die Kommunikation zwischen den Mikroprozessoren über den Fahrzeugbus 200 ermöglichen.
-
Nun in 2 ist ein beispielhaftes verteiltes Netz 300 gezeigt. Obwohl das verteilte Netz 300 in der Weise gezeigt ist, dass es Mikroprozessormodule 302 und 304 enthält, wird der Fachmann auf dem Gebiet würdigen, dass das verteilte Netz 300 irgendeine Anzahl von Mikroprozessormodulen, die Steuermodulen des Fahrzeugs entsprechen, enthalten kann. Nur beispielhaft kann das Mikroprozessormodul 302 (d. h. ein Hauptprozessormodul 302) dem Kraftmaschinensteuermodul 114 entsprechen. Das Mikroprozessormodul 304 (d. h. ein Überwachungsprozessormodul 304) kann ein unabhängiger Mikroprozessor mit hoher Integrität außerhalb des Kraftmaschinensteuermoduls 114 sein, der das Hauptprozessormodul 302 und andere Fahrzeugmikroprozessoren über das verteilte Netz 300 überwacht. Nur beispielhaft kann das Überwachungsprozessormodul 304 dem Getriebesteuermodul 194 oder einem anderen Fahrzeugmodul zugeordnet sein. Mit anderen Worten, das Überwachungsprozessormodul 304 ist kein dedizierter Prozessor zum Überwachen des Hauptprozessormoduls 302. Das Überwachungsprozessormodul 304 kann (z. B. durch fahrzeugeigene Überwachungshardware) selbst überwacht werden, um seine eigene Integrität sicherzustellen.
-
Das Überwachungsprozessormodul 304 kann die Integrität des Hauptprozessormoduls 302 periodisch und/oder bedingungsweise abfragen. Zum Beispiel kann das Überwachungsprozessormodul 304 das Hauptprozessormodul 302 abfragen und eine von dem Hauptprozessormodul 302 empfangene Antwort (z. B. unter Verwendung eines Startparameter/Schlüssel-Austauschs) überprüfen. Das Überwachungsprozessormodul 304 bestimmt auf der Grundlage der Antwort, ob das Hauptprozessormodul 302 richtig arbeitet. Wenn das Hauptprozessormodul 302 nicht richtig arbeitet, kann das Überwachungsprozessormodul 304 Abhilfemaßnahmen initiieren. Zum Beispiel kann das Überwachungsprozessormodul 304 angeben, dass das Hauptprozessormodul 302 in einem Störungsmodus, einschließich, aber nicht beschränkt auf, der Nichtausführung, der unvollständigen Ausführung, der falschen Zeitgebung und/oder der fehlerhaften Ausführung, ist.
-
Das Überwachungsprozessormodul 304 enthält ein Abfragemodul 310 und ein Überprüfungsmdul 312. Das Abfragemodul 310 bestimmt eine Abfrage (z. B. einen Startparameter) zur Sendung an das Hauptprozessormodul 302. Nur beispielhaft kann die Abfrage eine 4-Bit-Zahl zwischen 0 und 15 (d. h. 0000 und 1111) enthalten, die über den Bus 200 an das Hauptprozessormodul 302 gesendet wird. Das Überwachungsprozessormodul 304 kann aufeinanderfolgend mehrere (z. B. 16) Abfragen von 0000 bis 1111 an das Hauptprozessormodul 302 senden. Falls es (z. B. durch das Überprüfungsmodul 312) angewiesen wird, kann das Überwachungsprozessormodul 304 die Sendung einer der Abfragen wiederholen, bevor die nachfolgende Sendung der Abfragen wieder aufgenommen wird.
-
Das Überprüfungsmodul 312 empfängt Antworten (z. B. Schlüssel) auf die an das Hauptprozessormodul 302 gesendeten Abfragen. Außerdem kann das Überprüfungsmodul 312 die Abfragen von dem Hauptprozessormodul 302 empfangen. Das Überprüfungsmodul 312 bestimmt, ob die Antworten auf die Abfragen richtig sind. Zum Beispiel kann jede Abfrage eine entsprechende erwartete Antwort besitzen. Das Überprüfungsmodul vergleicht jede empfangene Antwort mit der entsprechenden auf der Grundlage der von dem Hauptprozessormodul 302 empfangenen Abfrage erwarteten Antwort. Falls die empfangene Antwort zu der erwarteten Antwort passt, wird die empfangene Antwort für gültig erklärt. Dementsprechend ist keine Abhilfemaßnahme erforderlich, da davon ausgegangen wird, dass das Hauptprozessormodul 302 richtig arbeitet. Jede der Abfragen 0000 bis 1111 kann eine eindeutige entsprechende Antwort besitzen. Zum Beispiel kann jede Antwort ebenfalls eine 4-Bit-Zahl zwischen 0 und 15 sein.
-
Falls die empfangene Antwort nicht zu der erwarteten Antwort passt, wird die empfangene Antwort nicht für gültig erklärt und kann das Überprüfungsmodul 312 das Abfragemodul 310 anweisen, die Sendung der entsprechenden Abfrage zu wiederholen. Falls nachfolgend empfangene Antworten nicht zu der erwarteten Antwort passen (z. B., wenn eine Anzahl ungültiger empfangener Antworten in einer vorgegebenen Zeitdauer einen Schwellenwert übersteigt), kann das Überprüfungsmodul 312 über ein Abhilfemaßnahmemodul 314 eine Abhilfemaßnahme anfordern. Das Überprüfungsmodul 312 kann jedes Mal, wenn die empfangene Antwort nicht zu der erwarteten Antwort passt, einen Zähler 316 inkrementieren und eine Abhilfemaßnahme anfordern, wenn der Zähler 316 den Schwellenwert übersteigt. Umgekehrt kann das Überprüfungsmodul 312 den Zähler 316 jedes Mal dekrementieren, wenn die empfangene Antwort zu der erwarteten Antwort passt.
-
Wenn das Überprüfungsmodul 312 z. B. eine Abhilfemaßnahme anfordert: kann das Abhilfemaßnahmemodul 314 den Überwachungsprozessor 304 oder ein anderes Modul anweisen, die Verarbeitungsfunktionen des Hauptprozessormoduls 302 anzunehmen; kann das Abhilfemaßnahmemodul 314 das Überwachungsprozessormodul 304 anweisen, von dem Hauptprozessormodul 302 empfangene Eingaben zu ignorieren und andere Module über den Störungsstatus des Hauptprozessormoduls 302 zu informieren; kann das Abhilfemaßnahmemodul 314 Ausgaben von dem Hauptprozessormodul 302 sperren; und/oder kann das Abhilfemaßnahmemodul 314 andere Module anweisen, von dem Hauptprozessormodul 302 empfangene Eingaben zu ignorieren.
-
Das Überprüfungsmodul 312 kann andere Störungen detektieren, die die Überprüfung der Antwort beeinflussen. Zum Beispiel kann das Überprüfungsmodul 312 eine Angabe des Verlusts der Kommunikation auf dem Bus 200 (d. h. eine Kommunikationsverluststörung), Kommunikationsdatenstörungen (z. B. eine Störung eines überschlagenden Zählwerts [engl.: ”rolling count”]) und/oder eine Störung einer ”hängenbleibenden” Abfrage [engl.: ”stuck query”] empfangen. Eine Störung einer hängenbleibenden Abfrage bezieht sich auf einen Abfragewert, der sich über eine vorgegebene Zeitdauer in aufeinanderfolgenden Abfragen nicht ändert. Zum Beispiel kann die gesendete Abfrage bei 0000 hängenbleiben, anstatt aufeinanderfolgend zwischen 0000 und 1111 zu inkrementieren. Wenn keine anderen Störungen detektiert werden oder nur eine hängenbleibende Abfrage detektiert wird, gibt eine ungültige Antwort an, dass das Hauptprozessormodul 302 nicht richtig arbeitet. Wenn umgekehrt die einzige Störung eine Störung einer hängenbleibenden Abfrage ist, kann das Überprüfungsmodul 312 nicht in der Lage sein, eine Störungsquelle zu diagnostizieren. Kommunikationsverlust- oder Kommunikationsdatenstörungen geben an, dass das Überwachungsprozessormodul 304 das Hauptprozessormodul 302 nicht mehr überwachen kann.
-
Das Hauptprozessormodul 302 kann Funktionsmodule 320-1, 320-2, 320-3, ... und 320-n enthalten, die zusammen als Funktionsmodule 320 bezeichnet werden. Jedes der Funktionsmodule 320 kann eine andere Funktion des Hauptprozessormoduls 302 ausführen [engl.: ”executed”]. Zum Beispiel kann jedes der Funktionsmodule 320 einer anwendungsspezifischen Funktion des Fahrzeugs entsprechen, die dem Hauptprozessormodul 302 zugeordnet ist.
-
Das Funktionsmodul 320-1 empfängt über den Bus 200 die Abfrage von dem Überwachungsprozessormodul 304. Das Funktionsmodul 320-1 erzeugt auf der Grundlage der Abfrage eine erste Teilantwort und sendet die Abfrage und die erste Teilantwort an das Funktionsmodul 320-2. Das Funktionsmodul 320-2 erzeugt auf der Grundlage der Abfrage und der ersten Teilantwort eine zweite Teilantwort und sendet die Abfrage und die zweite Teilantwort an das Funktionsmodul 320-3. Das Funktionsmodul 320-3 erzeugt auf der Grundlage der Abfrage und der zweiten Teilantwort eine dritte Teilantwort und sendet die Abfrage und die dritte Teilantwort an das Funktionsmodul 320-n. Das Funktionsmodul 320-n erzeugt auf der Grundlage der Abfrage und der dritten Teilantwort eine Endantwort und sendet die Abfrage und die dritte Teilantwort über den Bus 200 an das Überprüfungsmodul 312. Falls irgendeines der Funktionsmodule 320 nicht richtig arbeitet, passt die an das Überprüfungsmodul 312 gesendete Endantwort nicht zu der erwarteten Antwort. Dementsprechend überprüft die Endantwort die Integrität jeder einzelnen Funktion des Hauptprozessormoduls 302, der die Abfrage und eine Teilantwort empfängt.
-
Nun anhand von 3 enthält ein beispielhaftes verteiltes Netz 400 für ein Fahrzeug ein Überwachungsprozessormodul 402 und Hauptprozessormodule 404-1, 404-2, ... und 404-n, die gemeinsam als Hauptprozessormodule 404 bezeichnet werden. Das Überwachungsprozessormodul 402 kommuniziert über einen Fahrzeugbus 406 mit den Hauptprozessormodulen 404. Das Überwachungsprozessormodul 402 sendet in dem verteilten Netz 400 an jedes der Hauptprozessormodule 404 eine einzelne Abfrage (d. h. einen Startparameter) 408. Dementsprechend empfangt jedes der Hauptprozessormodule 404 dieselbe Abfrage 408. Die Hauptprozessormodule 404 senden jeweils eine Antwort (d. h. einen Schlüssel) 410 an das Überwachungsprozessormodul 402 zurück. In dieser Implementierung ist die erwartete Antwort von jedem der Hauptprozessormodule 404 dieselbe.
-
Nun in 4 sendet das Überwachungsprozessormodul 402 Abfragen 420-1, 420-2, ... und 420-3, die gemeinsam als Abfragen 420 bezeichnet werden, in dieser Reihenfolge an die Hauptprozessormodule 404-1, 404-2, ... und 404-n. Mit anderen Worten, jedes der Hauptprozessormodule 404 empfängt eine andere Abfrage 420. Die Hauptprozessormodule 404 senden Antworten 422-1, 422-2, ... und 422-n an das Überwachungsprozessormodul 402 zurück. In dieser Implementierung sind die erwarteten Antworten von jedem der Hauptprozessormodule 404 verschieden.
-
Nun in 5 beginnt ein Mikroprozessorüberprüfungsverfahren 500 in Schritt 502. In Schritt 504 bestimmt das Verfahren 500 eine Abfrage zur Sendung an eines oder an mehrere Hauptprozessormodule. Falls das Verfahren 500 z. B. eine Anfangsabfrage sendet, kann die Abfrage 0000 oder ein anderer Anfangsfolgewert sein. In Schritt 506 sendet das Verfahren 500 die Abfrage an eines oder an mehrere Hauptprozessormodule. In Schritt 508 erzeugen das eine oder die mehreren Hauptprozessormodule auf der Grundlage der Abfrage eine Antwort und senden sie. In Schritt 510 bestimmt das Verfahren 500, ob die Antwort zu einer erwarteten Antwort passt. Wenn das wahr ist, wird das Verfahren 500 in Schritt 512 fortgesetzt. Wenn es falsch ist, wird das Verfahren 500 in Schritt 514 fortgesetzt. In Schritt 512 dekrementiert das Verfahren 500 einen Zähler. In Schritt 516 bestimmt das Verfahren 500 eine neue Abfrage (inkrementiert es z. B. die Abfrage von 0000 auf 0001) und kehrt zu Schritt 506 zurück.
-
In Schritt 514 inkrementiert das Verfahren 500 einen Zähler. In Schritt 518 bestimmt das Verfahren 500, ob der Zähler einen vorgegebenen Wert übersteigt. Wenn das wahr ist, wird das Verfahren 500 in Schritt 520 fortgesetzt. Wenn es falsch ist, wird das Verfahren 500 in Schritt 522 fortgesetzt. in Schritt 520 initiiert das Verfahren 500 eine oder mehrere Abhilfemaßnahmen.
-
In Schritt 522 wiederholt das Verfahren 500 die Sendung der Abfrage. In Schritt 524 empfängt das Verfahren 500 auf der Grundlage der Abfrage eine neue Antwort. In Schritt 526 bestimmt das Verfahren 500, ob die neue Antwort zu der erwarteten Antwort passt. Wenn das wahr ist, wird das Verfahren in Schritt 512 fortgesetzt. Wenn es falsch ist, wird das Verfahren 500 in Schritt 514 fortgesetzt. In Schritt 528 endet das Verfahren.
-
Die umfassenden Lehren der Offenbarung können in einer Vielzahl von Formen implementiert werden. Obwohl diese Offenbarung bestimmte Beispiele enthält, soll der wahre Umfang der Offenbarung somit nicht darauf beschränkt sein, da für den erfahrenen Praktiker beim Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche weitere Änderungen offensichtlich sind.