-
Die
Erfindung betrifft eine Steuervorrichtung für Fahrzeuge
und insbesondere zur Steuerung von Fahrzeugsicherheitseinrichtungen
nach dem Oberbegriff des Anspruchs 1.
-
Im
Bereich der Fahrzeugelektronik werden Steuergeräte für
Mess-, Steuer- und Regelungsaufgaben eingesetzt. Die Schritte, die
zur Erfüllung dieser Aufgaben notwendig sind, werden in
Programmen oder Abläufen beschrieben und überwiegend auf
einem Prozessor zur Ausführung gebracht. Zur Absicherung
von systematischem und spontanem Fehlverhalten sind in Abhängigkeit
von den Sicherheitsanforderungen des Systems bestimmte Maßnahmen
vorzusehen. Hierzu ist es bekannt, für sicherheitskritische
Systeme in Fahrzeugen, wie beispielsweise elektronischen Bremssystemen,
elektronischen Stabilitäts-Programmen und elektrohydraulischen
Bremsen, Kontrollrechner einzusetzen. Diese sogenannten elektronischen
Regler bzw. Steuergeräte weisen bereits heute je nach Ausführungsvariante
physikalische und/oder funktionale Rückfallebenen auf.
-
Eine
derartige hydraulische Rückfallebende wird bekannterweise
beispielsweise dadurch realisiert, dass bei einer blockiergeschützten
Bremsanlage im Fehlerfall der elektronische ABS-Regler abgeschaltet
wird. Die bei abgeschaltetem Regler stromlosen Hydraulikventile
sind so konzipiert, dass eine gewöhnliche Bremsung ohne
das Antiblockiersystem weiterhin vorgenommen werden kann.
-
Es
kann also bei Ausfall des Systems oder von Systemteilen ein Notbetrieb
bzw. ein eingeschränkter Betrieb gewährleistet
werden. Ebenfalls in ähnlicher Weise läßt
sich eine funktionelle Rückfallebene realisieren. Wenn
beispielsweise eine komplexe höherwertige Softwarefunktion – wie
ein elektronisches Stabilitätsprogramm – fehlerhaft
ist, wird diese stillgelegt, wobei die Software von niedrigerem
Rang, beispielsweise ein Antiblockiersystem, weiterhin funktionsfähig
bleibt.
-
Der
Einsatz von sicherer elektronischer Hardware zur Steuerung und Regelung
von Fahrzeugfunktionen bei Fahrzeugen nimmt ständig zu. Dabei
wird insbesondere auf eine hohe Ausfallsicherheit und eine fehlertolerante
Ausführung der elektronischen Geräte geachtet.
Aus der
WO 03/050624
A1 ist ein fehlertolerantes elektronisches Steuergerät bekannt,
dessen Verfügbarkeit und Sicherheit hinsichtlich des Mikroprozessorsystems
besser ist als dies bei bisher bekannten Mikroprozessorkonzepten der
Fall ist.
-
Hierzu
wird ein mehrkerniges redundantes Kontrollrechnersystem vorgesehen,
bei dem mindestens zwei Kontrollrechner miteinander verbunden sind.
Diese sind neben jeweils einem Rechnerkern mit teil- oder vollredundanten
Peripherieelementen und teil- und vollredundanten Speicherelementen ausgestattet
und auf einem gemeinsamen Chipträger oder einem gemeinsamen
Chip integriert, wobei die mindestens zwei Kontrollrechner mit mindestens
einer gemeinsamen ersten Arbitrationseinheit, welche die Kontrollrechner
auf eine Fehlfunktion hin überwacht, verbunden sind.
-
Ähnliche
Sicherheitsmechanismen sind aus der
DE 10 35 09 19 A1 , die ein Steuergerät
und eine Beschleunigungssensorik betrifft, und der
EP 0 728 635 B1 , die eine
Steuerungsvorrichtung für eine Insassenschutzeinrichtung
betrifft, bekannt.
-
Diese
vorbekannten Systeme weisen aber Schwachstellen in ihrer Sicherheit
auf.
-
So
ist beispielsweise bei Zugriffen zweier oder mehrerer Softwareprozesse
auf die Peripherie kein Schutz gegen wechselseitige Beeinflussung
implementiert. Somit ist es möglich, beispielsweise vom Prozeß A
eine Modifikation im Adressraum direkt oder indirekt in dem Betriebsmittel
B zu verursachen. Dies kann die Folge von spontanen Fehlern oder
systematischen Fehlimplementierungen sein.
-
Weiterhin
basieren Zeitscheibenbetriebssysteme auf zeitgebergesteuerten Prozessaufrufen.
Diese Prozessaufrufe werden durch Interrupts aus der Peripherie
verursacht. Der Zugriff auf diese Peripherie kann aber von beliebiger
Stelle erfolgen und dadurch eine fehlerhafte Modifikation verursachen.
Generell ist ein übergreifender Schutz vor systematischen
oder sporadischen Fehlern, insbesondere Softwarefehlern, nicht realisiert.
-
Anhand
der 1 kann ein System nach dem Stand der Technik erläutert
werden. Hier sind zwei unabhängige Steuermittel 4.1 und 4.2 vorgesehen.
Sie wirken mit einem gemeinsam genutzten Betriebsmittel 2 zusammen.
Der Zugriff auf das Betriebsmittel seitens des Steuermittels 4.1 ist
mit dem laufenden Betriebsmittelzugriff 2.1 bezeichnet.
In gleicher Weise ist der Zugriff des Steuermittels 4.2 auf
das gemeinsam genutzte Betriebsmittel über den erlaubten
Betriebsmittelzugriff 2.1 dargestellt. Neben dem Zugriff
auf das gemeinsame Betriebsmittel sind die Steuermittel 4.1 und 4.2 jeweils
exklusiv mit einem Betriebsmittel 5.1 bzw. einem Betriebsmittel 5.2 verbunden.
Auch hier gibt es jeweils einen erlaubten Betriebsmittelzugriff 2.1.
-
Über
die gestrichelten Verbindungslinien besteht zum einen eine unzulässige
Kommunikation 4.3 zwischen den Steuermitteln 4.1 und 4.2.
Weiterhin sind auch die unmittelbaren Zugriffe vom Steuermittel 4.2 auf
das von dem Steuermittel 4.1 genutzte Betriebsmittel 5.1 und
umgekehrt vom Steuermittel 4.1 auf das exklusiv vom Steuermittel 4.2 genutzte
Betriebsmittel 5.2 dargestellt. Die hier dargestellten
Betriebsmittelzugriffe 2.2 sind ebenfalls unzulässig.
-
In
dieser Konfiguration ergibt sich das Problem, dass für
den Fall, dass die Steuermittel die Prozesse gleichzeitig abwickeln,
sich diese gegenseitig beeinflussen können. Eine Beeinflussung
oder Veränderung des Steuermittels 4.2 durch das
Steuermittel 4.1 findet genau dann statt, wenn das Steuermittel 4.2 infolge
des Prozesses den Prozessablauf ändert und zu einem anderen
Ergebnis gelangt. Die Beeinflussung eines Steuermittels durch ein
anderes Steuermittel, d. h. der jeweiligen durch diese veranlaßten Prozesse,
kann sowohl beabsichtig sein als auch unbeabsichtigt sein. Beabsichtigte
Beeinflussungen der Steuermittel während des Ablaufs der
Prozesse entstehen beispielsweise infolge von Kommunikation und/oder
Synchronisation mit einem oder mehreren anderen Prozessen.
-
Im
Rahmen der vorliegenden Anmeldung beinhalten die hier definierten
Steuermittel beispielsweise Prozesse, d. h. bestimmte Programmabläufe. Zum
Ablauf des Programms sind das Speicherabbild des Programms, Speicher
für die Daten, vom Betriebssystem bereitgestellte Ressourcen
und ein Prozessor notwendig. Nachher werden diese Betriebsmittel
als zum Steuermittel bzw. den mit diesen durchgeführten
Prozess zugehörig betrachtet. Allgemein spricht man hier
von einem „Programm in Ausführung". Steuermittel
sind über die durch sie eingeleiteten Prozesse einerseits
Handlungsträger in einer Rechenanlage, andererseits Objekte,
denen Prozesskapazität (CPU-Kapazität) zugeteilt
wird.
-
Bei
einer unbeabsichtigten Beeinflussung wird ein Steuermittel in einer
Art und Weise beeinflußt, wie es von der Spezifikation
nicht vorgesehen war und/oder wie es der Lösung der Aufgabe,
die das Steuermittel bewältigen soll, nicht zuträglich
ist. Insbesondere. bei sicherheitsrelevanten Anwendungen stellen
derartige Prozessergebnisse ein Problem dar.
-
Aufgabe
der Erfindung ist es nun, eine Steuervorrichtung an die Hand zu
geben, bei der ein derartiges systematisches und/oder spontanes
Fehlverhalten sicher verhindert wird.
-
Erfindungsgemäß wird
die Aufgabe durch eine Steuervorrichtung mit den Merkmalen des Anspruchs
1 gelöst. Demnach wird bei einer Steuervorrichtung die
in Fahrzeugen einsetzbar ist und die insbesondere zur Steuerung
von Fahrzeugsicherheitseinrichtungen Verwendung findet, ein Kontrollmittel vorgesehen.
Hierdurch können für die mindestens zwei Steuermittel,
die jeweils mit mindestens einem gemeinsamen unabhängigen
Betriebsmittel und/oder mit mindestens einem mit dem jeweils anderen
Steuermittel verbundenen Betriebsmittel kommunizieren, die Kommunikation
jedes Steuermittels mit dem unabhängigen Betriebsmittel
sowie mit einem Betriebsmittel, das mit einem anderen Steuermittel
verbunden ist, überwacht werden. Hier werden also unbeabsichtigte
Beeinflussungen zwischen den Steuermitteln ausgeschlossen.
-
Die
bevorzugten Ausgestaltungen der Erfindung ergeben sich aus den sich
an den Hauptanspruch anschließenden Unteransprüchen.
-
Die
Unterscheidung zwischen einer beabsichtigten und unbeabsichtigten
Beeinflussung wird vom Kontrollmittel anhand eines Regelsatzes vorgenommen.
Eine mögliche Form des Regelsatzes stellt eine einfache
oder mehrfach verschachtelte Tabellenstruktur dar, über
die das Kontrollmittel die Gültigkeit der Speicherzugriffe
eines Prozesses bestimmen kann.
-
Damit
das Kontrollmittel seine Aufgabe erfüllen kann, ist es
vorzugsweise in Teilen oder vollständig in Hardware realisiert.
Dabei kann es als Teil des Mikrokontrollers oder als Funktionseinheit
in einem separaten Bauteil oder in einer separaten Hardware verwirklicht
sein („in separatem Silizium"). Ist das Kontrollmittel
nicht vollständig in Hardware realisiert, wird es in seiner
Funktionalität durch ein Programm und/oder einen Daten-/Parametersatz,
der hier als Regelsatz bezeichnet ist, vervollständigt.
Um ein nicht zu komplexes System zu erhalten, können hier mehrere
einfache Kontrollmittel eingesetzt werden.
-
Ein
Regelsatz kann während der Systemlaufzeit veränderbar-dynamisch – oder
unveränderbar-statisch – gestaltet sein. Statische
Regelsätze werden vorzugswei se in einem nicht flüchtigen
Speicher abgelegt, wie beispielsweise einem ROM, PROM oder Flash
ROM. Für dynamische Regelsätze bieten sich beschreibbare
Speicher an, wie beispielsweise RAM. Die Initialisierung eines dynamischen Regelsatzes
kann durch einen statischen Regelsatz erfolgen.
-
Die
Steuermittel können sich während des Betriebes
auf unterschiedliche Weise beeinflussen. Eine unbeabsichtigte Beeinflussung
wird dabei meist durch eine Kopplung zweier oder mehrerer Steuermittel über
ein oder mehrere gemeinsam genutzte Betriebsmittel verursacht. Unter
Betriebsmittel im Sinne der vorliegenden Erfindung werden Ressourcen
verstanden, die bei einem Kommunikationsprozess mit den Steuermitteln
verbunden werden, wie beispielsweise Rechenwerke, Register, Logiken, Speicher
oder Peripheriegeräte.
-
Soll
eine Beeinflussung zwischen den Steuermitteln während der
Kommunikation unterbunden werden, hat das Kontrollmittel dafür
zu sorgen, dass die Betriebsmittel, die ein Steuermittel für
seine Abarbeitung benötigt, von diesem exklusiv genutzt
werden können, d. h. vor Beendigung der Abarbeitung des
Kommunikationsprozesses mit dem Steuermittel muß eine gleichzeitige
Benutzung durch eine andere Kommunikation mit einem anderen Steuermittel
ausgeschlossen werden.
-
Ein
Beispiel für eine Ausführung eines derartigen
Systems besteht aus einem integrierten Baustein als Kontrollmittel
und einem Mikrokontroller. Der Mikrokontroller muß dazu
interne Zustände, (einen Adressbus, einen Programmzähler
oder etwas anderes) dem Baustein Kontrollmittel zur Verfügung
stellen. Anhand des Regelsatzes kann das Kontrollmittel nun erkennen,
ob der aktive Kommunikationsprozess des Steuermittels (eventuell
erkennbar durch den Programmzähler) die notwendige Berechtigung
hat, auf Betriebsmittel (beispielsweise erkennbar durch die Information
auf dem Adressbus) zuzugreifen. Im Falle eines zulässigen
Zugriffes wird der weitere Funktionsablauf nicht beeinflußt.
Im Fehlerfall wird beispielsweise eine Ansteuerung des für
das Steuermittel unzulässigen Betriebsmittels durch Unterbrechung
des Programmablaufs, durch Unterbrechung des Adress- oder Datenbusses
oder Umschreiben des Programmzählers erreicht.
-
Ist
die exklusive Nutzung eines Betriebsmittels im Prinzip umsetzbar
oder wird das Betriebsmittel von mehr als einem Prozeß gleichzeitig
beansprucht, so muß das Kontrollmittel den Zugriff abhängig
vom Regelsatz organisieren. Dabei kann es beispielsweise den exklusiven
Zugriff verschiedener Steuermittel, die das Betriebsmittel beanspruchen dürfen,
alternierend weiter erlauben.
-
Besitzt
das Betriebsmittel, das von den verschiedenen Steuermitteln angesteuert
werden soll, einen Zustand, in dem die Kommunikation mit den Steuermitteln
verändert werden kann, so hat das Kontrollmittel vorzugsweise
dafür zu sorgen, dass sich die Zustandsänderungen
nicht ungewollt durch die Kommunikation auf andere Steuermittel überträgt.
Im gleichen Sinne ist es ebenfalls zweckmäßig, wenn
das Kontrollmittel die vom Steuermittel herbeigefügte Zustandsänderung
beim Wechsel zu einem anderen Steuermittel sichert und beim Wechsel
der Kommunikation von einem anderen Steuermittel zurück
zur Kommunikation mit dem ersten Steuermittel wiederherstellt.
-
Zusätzlich
kann das Kontrollmittel die Aufgabe einer generellen Zugriffskontrolle übernehmen. Bei
dieser Art der Zugriffkontrolle soll nicht nur die unbeabsichtigte
Beeinflussung der Kommunikation mit einem Steuermittel verhindert
werden, sondern es soll vielmehr generell der Zugriff von bestimmten Steuermitteln
auf bestimmte Betriebsmittel durch das Kontrollmittel blockiert
werden. Eine Kommunikation zur Bedienung der Fahrzeugdiagnoseschnittstelle soll
beispielsweise durch ein Fehlverhalten keine sicherheitskritische
Vollbremsung einleiten können.
-
Vorzugsweise
ist eine mögliche Umsetzung der beschriebenen Eigenschaften
durch eine Virtualisierung der Betriebsmittel zu erreichen. Ein
Betriebsmittel, das für die Virtualisierung verwendet wurde,
soll im folgenden als virtualisiertes Betriebsmittel bezeichnet
werden. Betriebsmittel, die durch den Vorgang der Virtualisierung
eines Betriebsmittels entstehen, werden virtuelle Betriebsmittel
genannt. Alle bereits beschriebenen Mechanismen sind auch auf die
virtuellen Betriebsmittel ab bildbar. Die Virtualisierung kann sich
auch auf Betriebsmittel in einer getrennten Hardware oder in einer
getrennten Komponente („getrenntes Silizium") erstrecken.
-
Durch
die Virtualisierung eines bisher beschriebenen real vorhandenen
Betriebsmittels werden durch das Kontrollmittel ein oder mehrere
virtuelle Betriebsmittel erzeugt, die bevorzugt über gleiche oder ähnliche
Eigenschaften verfügen und ein gleiches oder ähnliches
Verhalten vorweisen wie das virtualisierte Betriebsmittel aus dem
sie entstanden sind. In diesem Fall sollte das virtualisierte Betriebsmittel
von Steuermitteln nur noch über das Kontrollmittel belegt
werden können. Stattdessen stehen den Prozessen dann die
virtuellen Betriebsmittel zur Verfügung. Die Virtualisierung
kann auch mehrere Betriebsmittel in einem virtuellen Betriebsmittel
zusammenfassen.
-
Dabei
kann das virtuelle Betriebsmittel gegenüber den virtualisierten
Betriebsmitteln und umgekehrt an Eigenschaften und Verhaltensweisen
hinzugewinnen. Beispielsweise kann hier die Realisierung einer Datenkomprimierung
in real vorhandenen Betriebsmitteln oder eine Prüfsummenbildung
in virtuellen Betriebsmitteln angeführt werden.
-
Eine
mögliche Anwendung von virtuellen Betriebsmitteln kann
darin bestehen, eine Kommunikationsschnittstelle (z. B. CAN-Schnittstelle)
mit externen Teilnehmern zu implementieren. Dabei werden reale Betriebsmittel,
beispielsweise Zeitgeber (für eine übertragene
Taktinformation), Ein- und Ausgabeanschlüsse (für
die Datenschreib- und Lesefunktion) oder auch Einheiten zur Checksummenberechnung
in einem virtuellen Betriebsmittel kombiniert und gesteuert. Der
das virtuelle Betriebsmittel ansteuernde Prozeß kennt aber
die dahinter befindlichen Betriebsmittel nicht und kann diese auch
nicht ansteuern. Er behandelt die virtuelle Kommunikationsschnittstelle
so, als wäre sie für die spezielle Anwendung real
und für den Prozess ideal (z. B. als CAN-Schnittstelle)
implementiert.
-
Zustandsänderungen,
die ein Steuermittel an einem virtuellen Betriebmittel vornimmt,
sollen sich auf diese Weise nicht mehr ungewollt auf andere Betriebsmittel übertragen.
Zugleich soll der Zustand des Betriebsmittels über einen
Prozesswechsel hinweg erhalten werden können. Gelöst
wird dies durch das Kontrollmittel, das die virtuellen Betriebsmittel bereitstellt
und die Transformation der angebotenen Eigenschaften und Verhaltensweisen
der virtuellen Betriebsmittel auf die virtualisierten und/oder real vorhandenen
Betriebsmittel vornimmt. Hierbei kann auch eine Abstraktion der
real vorhandenen Betriebsmittel erfolgen und dadurch beispielsweise
die Komplexitäten der Bedienung der virtuellen Betriebsmittel
für die Prozesse herabgesetzt werden.
-
Das
Kontrollmittel kann die sicherheitsgerichteten Eigenschaften des
Systems unterstützen oder gar vollständig abbilden.
Abhängig von der Ausprägung der Systemverfügbarkeit
und/oder Fehlsicherheit sind verschiedene Strategien ableitbar.
Sicherheitsgerichtet bedeutet hier die Fähigkeit des Systems,
beim Auftreten bestimmter Fehler- oder Ausfallzustände
in einem sicheren Systemzustand zu verweilen oder unmittelbar in
einen solchen überzugehen. Dazu kann das Kontrollmittel
im allgemeinen und/oder speziellen Fehlerfall über einen
Regelsatz die entsprechende Reaktionsvorschrift erhalten. Beispielsweise
kann in speziellen Fehlerfällen ein vorbestimmter Prozeß ausgelöst
werden.
-
Weitere
Merkmale, Einzelheiten der Erfindung werden in den beigefügten
Figuren anhand eines Ausführungsbeispiels näher
erläutert. Es zeigen:
-
1:
eine Systemübersicht nach dem Stand der Technik,
-
2:
eine Systemübersicht der Ausführungsvariante der
erfindungsgemäßen Lösung mit zwei Steuermitteln
und
-
3:
das Verhältnis von real vorhandenen zu virtuellen Betriebsmitteln.
-
In
der 2 ist die Systemübersicht eines Ausführungsbeispiels
der vorliegenden Erfindung gezeigt. Diese entspricht im wesentlichen
derjenigen nach dem Stand der Technik, wie sie in 1 dargestellt
ist. So ist hier in dem beigestellten Bei spiel ein Sicherheitssystem 1 mit
zwei Steuermitteln 4.1 und 4.2 gewählt.
Diese kommunizieren zwar unmittelbar mit den exklusiv von ihnen
genutzten Betriebsmitteln 5.1 und 5.2. Die weitere
Kommunikation erfolgt über das Kontrollmittel 3,
wie anhand der Kommunikationswege 2.1 gezeigt ist. Der
Zugriff auf die gemeinsam genutzten Betriebsmittel erfolgt ausschließlich über
das Kontrollmittel 3 oder wird durch dieses überwacht
und gegebenenfalls unterbunden. Der Zugriff der exklusiv genutzten
Betriebsmitteln 5.1 und 5.2 durch das zugehörige
Steuermittel ist jederzeit erlaubt und wird nicht eigens von dem
Kontrollmittel 3 überprüft. Ein unzulässiger
Zugriff eines Steuermittels 4.1 unmittelbar auf das exklusiv
vom Steuermittel 4.2 genutzte Betriebsmittel 5.2 wird
unterbunden (vgl. den unterbundenen Betriebsmittelzugriff 2.3).
-
Die 3 zeigt
die Zusammenhänge real vorhandener Betriebsmittel 6 zu
virtuellen Betriebsmitteln 8. Hierzu wird eine Untermenge 7 der
real vorhandenen Betriebsmittel 6 durch Virtualisierung
in eine Menge virtueller Betriebsmittel abgebildet.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - WO 03/050624
A1 [0005]
- - DE 10350919 A1 [0007]
- - EP 0728635 B1 [0007]