-
Die Erfindung betrifft ein Steuergerät für ein Kraftfahrzeug. Durch das Steuergerät sind zwei unterschiedliche Softwarefunktionen bereitgestellt, von denen die eine hier als Hauptfunktion und die andere als Nebenfunktion bezeichnet ist. Die Hauptfunktion wird gegen eine Auswirkung eines Laufzeitfehlers der Nebenfunktion geschützt. Zu der Erfindung gehören auch eine Fahrzeugbatterie und ein Kraftfahrzeug, die jeweils eine Ausführungsform des erfindungsgemäßen Steuergeräts aufweisen. Die Erfindung umfasst schließlich auch ein Verfahren zum Schützen einer Hauptfunktion eines Steuergeräts vor einer Störung ihrer Ausführung aufgrund eines Laufzeitfehlers einer Nebenfunktion des Steuergeräts.
-
In einem Steuergerät kann vorgesehen sein, eine Softwarefunktion, die hier als Hauptfunktion bezeichnet ist, gegen eine Behinderung oder Blockade ihrer Ausführung zu schützen, um hierdurch den so genannten ASIL (automotive safety integrity level) dieser Hauptfunktion über den Grad QM (niedrigster ASIL-Grad) zu halten. Ein Beispiel für so ein Steuergerät ist in einer Hochvoltbatterie (Hochvolt - elektrische Spannung größer als 60 V) dasjenige Steuergerät für das Batteriemanagement (BMC - Batterie-Management-Controller). Für den Betrieb der Hochvoltbatterie muss eine Hauptfunktion oder es müssen mehrere Hauptfunktionen zuverlässig oder behinderungsfrei ausgeführt werden können. Allgemein kann hier unter einer Hauptfunktion eine solche Softwarefunktion verstanden werden, die für den Betrieb der durch das Steuergerät gesteuerten Fahrzeugkomponente, also z.B. die Hochvoltbatterie, notwendig ist. In einem solchen Steuergerät kann aber auch zumindest eine Nebenfunktion vorgesehen sein, die für den Betrieb der von dem Steuergerät gesteuerten Fahrzeugkomponente entbehrlich ist, weil das Kraftfahrzeug auch bei Ausfall der Nebenfunktion weiterhin fahrtüchtig bleibt. Eine solche Nebenfunktion kann eine Anwender- oder Komfortfunktion sein, die den Funktionsumfang des Steuergeräts ergänzen kann, um beispielsweise eine Bedienbarkeit und/oder Überprüfbarkeit des Steuergeräts und/oder der von diesem gesteuerten Fahrzeugkomponente zu steigern. Eine Nebenfunktion wird in der Regel mit dem Grad QM im ASIL-Bewertungssystem bereitgestellt, d.h. eine Absicherung gegen das Vorhadensein und/oder die Auswirkung von Funktionsfehlern ist am geringsten. Dagegen ist für eine Hauptfunktion, die zum Sicherstellen des Betriebs der Fahrzeugkomponente bei eine Fahrt des Kraftfahrzeugs vorgesehen sein kann, in der Regel ein Grad größer als QM, also im Bereich ASIL A bis ASIL D, vorgesehen. Eine solche Hauptfunktion wird auch als funktionssicherheitsrelevante Funktion bezeichnet. Ein Beispiel für eine solche Hauptfunktion ist im Falle einer Hochvoltbatterie die Steuerung der Batteriekühlung, die beispielsweise den Grad ASIL C aufweisen können muss. Dagegen ist beispielsweise eine Nebenfunktion das Errechnen des internen Batteriewiderstands (zur Erkennung beispielsweise der Batteriealterung oder des Batterieverschleißes), was nur mit einer QM-Kritikalität zu implementieren sein kann.
-
Vereinigt man allerdings in einem gemeinsamen Steuergerät sowohl eine Hauptfunktion mit einem ASIL größer als der Grad QM als auch eine Nebenfunktion, die den Grad QM aufweist, so kann durch einen Laufzeitfehler der Nebenfunktion die Funktionstüchtigkeit des Steuergeräts insgesamt derart beeinträchtigt werden, dass dies auch die Ausführung der Hauptfunktion beeinträchtigt, diese also behindert oder im Ablauf stört, sodass aufgrund eines Mangelnden Schutzes eine Nebenfunktion auch den ASIL der Hauptfunktion reduziert. Dies macht es sehr aufwändig, in einem Steuergerät eine Hauptfunktion mit einem ASIL größer als dem Grad QM zusammen mit einer Nebenfunktion vom Grad QM zu implementieren, da sichergestellt sein muss, dass ein Laufzeitfehler der Nebenfunktion nicht auch die Funktionstüchtigkeit der Hauptfunktion beeinträchtigt.
-
Deshalb können Nebenfunktionen mit QM-Kritikalität im Gegensatz zu Hauptfunktionen mit einem ASIL größer als QM zwar relativ schnell umgesetzt und eingeführt werden (gerade wegen der QM-Kritikalität), lassen sich dann aber im Nachhinein, wenn einmal eine Hauptfunktion und eine Nebenfunktion gemeinsam in einem Steuergerät implementiert sind, nur mit erheblichem Aufwand wieder ändern oder aktualisieren, da immer die Software des Steuergeräts insgesamt entwickelt und kompiliert werden muss, um sie freigeben zu können, d.h. den Einfluss der Nebenfunktion auf die Hauptfunktion ausschließen zu können. Dies schließt in der Regel ein Update oder eine Aktualisierung einer Nebenfunktion in einem Steuergerät aus, das zusätzlich auch eine Hauptfunktion ausführen soll. Hierdurch wird aber die Möglichkeit eingeschränkt, einem Benutzer des Steuergeräts einen aktuellen Stand der Software von Nebenfunktionen bereitzustellen.
-
Nebenfunktionen, deren Implementierung in einem Steuergerät für eine Hochvoltbatterie sich als vorteilhaft erwiesen hat, sind beispielsweise aus der
DE 10 2005 020 835 A1 , der
DE 10 2016 210 341 A1 und der
DE 10 2013 017 059 A1 bekannt. Aus dem genannten Stand der Technik ist auch bekannt, das ein Steuergerät einen oder mehrere Prozessoren aufweisen kann und in dem Steuergerät zum Betrieb von Softwareprogrammen ein so genanntes Betriebssystem bereitgestellt sein kann.
-
Der Erfindung liegt die Aufgabe zugrunde, in einem Steuergerät eine Hauptfunktion und eine Nebenfunktion zu implementieren und hierbei die Abhängigkeit einer Funktionstüchtigkeit der Hauptfunktion von einer Fehlerfreiheit der Nebenfunktion gering zu halten.
-
Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausführungsformen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figur beschrieben.
-
Durch die Erfindung ist ein Steuergerät für ein Kraftfahrzeug bereitgestellt. Das Steuergerät weist in der beschriebenen Weise eine Hauptfunktion und eine Nebenfunktion auf, wobei jeweils auch mehrere Hauptfunktionen und/oder mehrere Nebenfunktionen vorgesehen sein können, was noch erläutert werden wird. Das Steuergerät weist eine Schutzeinrichtung auf, die dazu eingerichtet ist, die Hauptfunktion davor zu schützen, im Betrieb des Steuergeräts durch einen Laufzeitfehler der Nebenfunktion behindert oder im Ablauf gestört zu werden, also z.B. verlangsamt zu werden. Der Unterschied zwischen Hauptfunktion und Nebenfunktion besteht also zum einen darin, dass die Hauptfunktion gegenüber der Nebenfunktion durch die Schutzeinrichtung geschützt ist. Als Hauptfunktion kann beispielsweise ein Schaltvorgang oder eine Regelung oder eine Steuerung für eine Fahrzeugkomponente des Kraftfahrzeugs vorgesehen sein. Als Nebenfunktion kann beispielsweise eine Diagnosefunktion und/oder Überwachungsfunktion und/oder Protokollierungsfunktion vorgesehen sein, wie sie für den eigentlichen Betrieb der vom Steuergerät gesteuerten Fahrzeugkomponente unnötig oder irrelevant sein kann. Die Hauptfunktion kann dagegen zum Steuern eines Betriebszustands der Fahrzeugkomponente vorgesehen sein. Mit anderen Worten kann die Hauptfunktion für einen Fahrbetrieb des Kraftfahrzeug relevant sein, sodass bei deren Ausfall eine Fahrtunterbrechung notwendig wird, die Nebenfunktion kann für den Fahrbetrieb irrelevant sein.
-
Um nun die Hauptfunktion gegen einen Laufzeitfehler der Nebenfunktion zu schützen, ist es erfindungsgemäß vorgesehen, in dem Steuergerät mehrere Prozessoren vorzusehen. Mit anderen Worten weist das Steuergerät mehrere Prozessoren auf. Ein Prozessor kann beispielsweise als Mikroprozessor oder als Mikrocontroller oder als System-on-Chip (SoC) ausgestaltet sein. Bevorzugt sind die Prozessoren jeweils als Mikroprozessor ausgestaltet. Mit anderen Worten handelt es sich bei jedem Prozessor also insbesondere nicht jeweils um einen einzelnen Kernel eines Mehr-Kernel-Prozessors. Die Hauptfunktion und die Nebenfunktion sind jeweils durch ein eigenes Softwareprogramm realisiert oder bereitgestellt. Mit anderen Worten sind also die Hauptfunktion und die Nebenfunktion unabhängig voneinander programmiert und der Programmcode der Hauptfunktion einerseits und der Programmcode der Nebenfunktion andererseits sind in unterschiedlichen Softwareprogrammen oder Binärdateien bereitgestellt. Die Hauptfunktion und die Nebenfunktion sind also im Betrieb in unterschiedlichen Adressräumen der Prozessoren betrieben oder eingeordnet. Die besagte Schutzeinrichtung zum Schutz der Hauptfunktion ist dazu eingerichtet, das Softwareprogramm der Hauptfunktion einerseits und das Softwareprogramm der Nebenfunktion andererseits stets auf unterschiedlichen Prozessoren auszuführen. Mit anderen Worten wird durch die Schutzeinrichtung sichergestellt, dass sich die Hauptfunktion und die Nebenfunktion keinen Prozessor teilen. Vielmehr wird als Schutzeinrichtung überprüft und/oder im Voraus durch eine Konfiguration sichergestellt oder gewährleistet, dass die Hauptfunktion auf einem anderen Prozessor gestartet und/oder betrieben wird als die Nebenfunktion.
-
Durch die Erfindung ergibt sich der Vorteil, dass selbst für den Fall, dass in der Nebenfunktion ein Laufzeitfehler dazu führen sollte, dass der Prozessor, auf welchem das Softwareprogramm der Nebenfunktion ausgeführt wird, am Ausführen weiterer Software gehindert wird, weil er beispielsweise in einer Endlosschleife gehalten wird, hierdurch das Ausführen des Softwareprogramms der Hauptfunktion unbeeinflusst bleibt, da dieses auf einem anderen Prozessor ausgeführt wird. Selbst ein schadhaftes Softwareprogramm der Nebenfunktion ist dadurch daran unfähig, eine Nebenwirkung oder eine Blockade des Prozessors, der die Hauptfunktion ausführt, zu bewirken.
-
Zu der Erfindung gehören auch Ausführungsformen, durch die sich zusätzliche Vorteile ergeben.
-
Das Aufteilen des Softwareprogramms der Hauptfunktion einerseits und des Softwareprogramms der Nebenfunktion andererseits auf zwei unterschiedliche oder mehrere unterschiedliche Prozessoren kann beispielsweise durch einen so genannten Scheduler eines gemeinsamen Betriebssystems erfolgen. In einer Ausführungsform ist dagegen vorgesehen, dass für jeden der Prozessoren ein eigenes Betriebssystem bereitgestellt ist, welches dazu eingerichtet ist, im Betrieb des Steuergeräts das jeweilige Softwareprogramm der Hauptfunktion und der Nebenfunktion ausschließlich auf dem jeweils vorgesehenen Prozessor auszuführen. Mit anderen Worten ist vorgesehen, dass in dem Steuergerät die Hauptfunktion und die Nebenfunktion von oder auf unterschiedlichen Betriebssystemen ausgeführt werden. Hierdurch ist zusätzlich sichergestellt, dass eine Auswirkung des besagten Laufzeitfehlers der Nebenfunktion auch nicht indirekt über ein gemeinsames Betriebssystem eine Auswirkung auf die Hauptfunktion haben kann.
-
In einer Ausführungsform sind die Prozessoren über eine Kommunikationseinrichtung gekoppelt, die dazu eingerichtet ist, zwischen den Prozessoren Nachrichten zu übertragen. Eine Nachricht kann jeweils beispielsweise aus einem oder mehreren Datenpaketen bestehen. Eine Nachricht kann beispielsweise mittels eines Shared-Memory oder mittels eines RPC (remote procedure call) oder mittels einer TCP/IP-Socket (TCP - Transport control protocol, IP - Internet Protocol) oder als Busnachricht übertragen werden. Durch die Kommunikationseinrichtung wird in vorteilhafter Weise ermöglicht, dass Daten oder Informationen zwischen der Hauptfunktion und der Nebenfunktion bidirektional oder unidirektional ausgetauscht werden können. Hierdurch kann die Nebenfunktion Daten der Hauptfunktion und/oder die Hauptfunktion Daten der Nebenfunktion (solange sie fehlerfrei läuft) nutzen.
-
In einer Ausführungsform ist die Kommunikationseinrichtung dazu eingerichtet, Nachrichten unabhängig von dem jeweiligen Softwareprogramm der Hauptfunktion und der Nebenfunktion eigenständig zu übertragen. Mit anderen Worten ist die Kommunikationseinrichtung als eigenständige Einrichtung, beispielsweise als eigenständiges Softwareprogramm, bereitgestellt. Die Nachrichten können beispielsweise dann durch ein Bussystem und/oder auf der Grundlage eines Busprotokolls übertragen werden, welches Bestandteil der Kommunikationseinrichtung sein kann. Es kann beispielsweise eine Kommunikation auf Grundlage des Busprotokolls CAN (Controller Area Network) oder LIN (Local Interconnected Network) oder FlexRay bereitgestellt sein. Eine unabhängige Kommunikationseinrichtung weist den Vorteil auf, dass eine Rückwirkung eines Laufzeitfehlers der Nebenfunktion auf die Hauptfunktion über die Kommunikationseinrichtung verhindert ist.
-
In einer Ausführungsform ist die Hauptfunktion eine Funktion mit einem ASIL größer als der Grad QM (also mit einer Absicherung gegen Laufzeitfehler mehr als der Grad QM) und die Nebenfunktion eine Funktion mit dem Grad QM. Hierdurch ergibt sich der beschriebene Erhalt des ASIL der Hauptfunktion gegenüber einer in der Implementierung mit geringerem Aufwand möglichen Nebenfunktion vom Grad QM. Bevorzugt ist eine Updateeinrichtung zum Veränderung oder Erneuern oder Neuinstallieren des Softwareprogramms der Nebenfunktion bei Erhalt des Softwareprogramms der Hauptfunktion vorgesehen, also z.B. ein Update OTA (over the air), d.h. über eine Funkverbindung, die beispielsweise auf einer Mobilfunkverbindung und/oder einer WLAN-Verbindung (WLAN - wireless local area network) beruhen kann. Somit kann nachträglich eine veränderte Nebenfunktion installiert werden.
-
In einer Ausführungsform ist das Steuergerät als ein Batteriemanagementsystem ausgestaltet und die Hauptfunktion umfasst das Steuern zumindest einer Komponente einer Fahrzeugbatterie. Eine solche Komponente kann beispielsweise das Kühlsystem und/oder zumindest ein Schaltschütz zum Schalten eines Stroms der Fahrzeugbatterie sein. Als Nebenfunktion kann beispielsweise eine Diagnosefunktion vorgesehen sein.
-
Bisher wurde beschrieben, dass in dem Steuergerät nur eine Hauptfunktion und eine Nebenfunktion vorgesehen sein können. Natürlich können in der besagten Weise auch mehrere Hauptfunktionen und/oder mehrere Nebenfunktionen der beschriebenen Art in dem Steuergerät vorgesehen sein. Entsprechend ist die Schutzeinrichtung dann dazu eingerichtet, jede Hauptfunktion davor zu schützen, durch einen Laufzeitfehler irgendeiner Nebenfunktion behindert oder im Ablauf gestört oder verlangsamt oder blockiert zu werden. Hierzu ist die Schutzeinrichtung dazu eingerichtet, jede Hauptfunktion einerseits und jede Nebenfunktion andererseits auf unterschiedlichen Prozessoren auszuführen. Mit anderen Worten teilt sich keine Hauptfunktion eine Prozessor mit einer Nebenfunktion. Es können aber mehrere Hauptfunktionen einen gemeinsamen Prozessor und/oder mehrere Nebenfunktionen einen gemeinsamen Prozessor nutzen. Die zumindest eine Hauptfunktion einerseits und die zumindest eine Nebenfunktion andererseits sind dann jeweils durch zumindest ein Softwareprogramm realisiert.
-
Als besonders vorteilhaft hat sich die Nutzung des erfindungsgemäßen Steuergeräts in einer Fahrzeugbatterie erwiesen. Eine solche Fahrzeugbatterie kann insbesondere eine Hochvoltbatterie sein. Diese Fahrzeugbatterie weist ein Batteriemanagementsystem auf, wobei das Batteriemanagementsystem auf der Grundlage einer Ausführungsform des erfindungsgemäßen Steuergeräts bereitgestellt ist. In diesem Batteriemanagementsystem ist dann die zumindest eine Hauptfunktion zum Betreiben der Fahrzeugbatterie gegen einen Laufzeitfehler irgendeiner Nebenfunktion des Steuergeräts geschützt.
-
Zu der Erfindung gehört auch ein Kraftfahrzeug, das zumindest ein Steuergerät gemäß der Erfindung aufweist. Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.
-
Beim Betrieb des erfindungsgemäßen Steuergeräts ergibt sich ein Verfahren, das ebenfalls Bestandteil der Erfindung ist. Das erfindungsgemäße Verfahren dient zum Schutz einer Hauptfunktion eines Steuergeräts vor einer Behinderung ihrer Ausführung aufgrund eines Laufzeitfehlers einer Nebenfunktion des Steuergeräts. Es handelt sich hierbei um ein Steuergerät für ein Kraftfahrzeug. Die Hauptfunktion und die Nebenfunktion werden dabei in der beschriebenen Weise gemeinsam in dem Steuergerät betrieben. Zum Schutz der Hauptfunktion werden in dem Steuergerät mehrere Prozessoren bereitgestellt und die Hauptfunktion und die Nebenfunktion werden jeweils als ein eigenes Softwareprogramm oder als eigener Softwareprozess (Thread) betrieben und die Schutzeinrichtung führt hierbei das Softwareprogramm der Hauptfunktion einerseits und das Softwareprogramm der Nebenfunktion andererseits stets auf unterschiedlichen der Prozessoren aus. Somit kann ein Laufzeitfehler der Nebenfunktion nur denjenigen Prozessor oder diejenigen Prozessoren blockieren oder stören, auf denen die Nebenfunktion ausgeführt wird. Damit bleibt aber aufgrund der getrennten Anordnung auf den Prozessoren die Hauptfunktion ungestört oder unbeeinflusst.
-
Zu der Erfindung gehören auch Weiterbildungen des erfindungsgemäßen Verfahrens, die Merkmale aufweisen, wie sie bereits im Zusammenhang mit den Weiterbildungen des erfindungsgemäßen Kraftfahrzeugs beschrieben worden sind. Aus diesem Grund sind die entsprechenden Weiterbildungen des erfindungsgemäßen Verfahrens hier nicht noch einmal beschrieben.
-
Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.
-
Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen.
-
Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt die einzige Figur:
- Fig. eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Kraftfahrzeugs.
-
Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
-
In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.
-
Die Figur zeigt ein Kraftfahrzeug 10, bei dem es sich um einen Kraftwagen, insbesondere einen Personenkraftwagen oder Lastkraftwagen, handeln kann. In dem Kraftfahrzeug 10 kann eine Fahrzeugkomponente 11 bereitgestellt sein, bei welcher es sich beispielsweise um eine Fahrzeugbatterie 11', insbesondere eine Hochvoltbatterie, handeln kann. Zum Steuern der Fahrzeugkomponente 11 kann ein Steuergerät 12 bereitgestellt sein, das, wie in der Figur gezeigt, in die Fahrzeugkomponente 11 integriert sein kann oder das (nicht dargestellt) an die Fahrzeugkomponente 11 angeschlossen oder mit der Fahrzeugkomponente 11 über einen Datenbus, beispielsweise einen CAN-Bus, gekoppelt sein kann. Im Falle einer Hochvoltbatterie kann es sich bei dem Steuergerät 12 um ein Steuergerät für ein Batteriemanagement (BMC - battery management controller) handeln.
-
Durch das Steuergerät 12 können für die Fahrzeugkomponente 11 unterschiedliche Steuerfunktionen bereitgestellt werden, wobei zumindest eine Hauptfunktion 13 und zumindest eine Nebenfunktion 14 vorgesehen sein kann. Im Folgenden wird der Anschaulichkeit halber beispielhaft von nur einer Hauptfunktion 13 und nur einer Nebenfunktion 14 ausgegangen. Die Hauptfunktion 13 kann für einen Betrieb der Fahrzeugkomponente 11 und damit für den Betrieb des Kraftfahrzeugs 10 relevant sein. Aus diesem Grund kann für die Implementierung und den Betrieb der Hauptfunktion 13 vorgesehen sein, dass diese gemäß der ASIL-Einstufung beispielsweise nach ISO26262 einen ASIL größer als der geringste Grad QM aufweist.
-
Die hier beschriebene Einstufung der Kritikalität einer Steuerfunktion (Hauptfunktion und Nebenfunktion) des Steuergeräts kann wie folgt erfolgen, wobei hier der niedrigste Grad zuerst angegeben ist:
- QM: SIL 0 (nicht funktionssicherheitsrelevant)
-
Höhere Einstufung Kritikalität einer Steuerfunktion der Fahrzeugkomponente: SIL 1 : ASIL A (niedrig relevant)
- SIL 2 : ASIL B
- SIL 2-3 : ASIL C (üblicherweise 2 Channelredundanzen)
- SIL 3 : ASIL D (hochrelevant) (üblicherweise 3 Channelredundanzen)
-
Bei der Nebenfunktion 14 kann es sich beispielweise um eine Diagnosefunktion oder Überwachungsfunktion handeln. Diese ist für den eigentlichen Betrieb der Fahrzeugkomponente 11 dahingehend, dass ein Fahrbetrieb des Kraftfahrzeugs 10 mittels der Fahrzeugkomponente 11 durchgeführt werden kann, dagegen bevorzugt nicht relevant oder nicht entscheidend, d.h. bei einem Ausfall der Nebenfunktion ist die Fahrzeugkomponente 11 weiterhin für den Fahrbetrieb des Kraftfahrzeugs 10 verfügbar. Bei einem Ausfall der Hauptfunktion 13 kann dagegen die Steuerung der Fahrzeugkomponente 11 derart unzureichend sein, dass ein Fahrbetrieb des Kraftfahrzeugs 10 unterbrochen werden müsste. Da die Nebenfunktion 14 für den Betrieb der Fahrzeugkomponente 11 nicht relevant ist, kann diese mit einem ASIL vom niedrigsten Grad QM betrieben werden.
-
Jede Steuerfunktion, d.h. auch die Hauptfunktion 13 und die Nebenfunktion 14, kann jeweils als ein Softwareprogramm 15 realisiert sein. Um die Softwareprogramme 15 auszuführen oder zu betreiben, sieht das Steuergerät 12 zumindest zwei Prozessoren P1, P2 vor, bei denen es sich jeweils beispielsweise um einen Mikroprozessor oder einen Mikrocontroller oder ein SoC (system on chip) handeln kann. Kommt es bei der Nebenfunktion 14 zu einem Laufzeitfehler, so kann dies dazu führen, dass derjenige Prozessor P2, welcher das Softwareprogramm 15 der Nebenfunktion 14 ausführt, beispielsweise aufgrund einer Endlosschleife des Softwareprogramms 15 dauerhaft blockiert ist und/oder regelmäßig neu starten muss. Dies würde auch das Ausführen des Softwareprogramms 15 der Hauptfunktion 13 beeinträchtigen, wenn sich die Hauptfunktion 13 und die Nebenfunktion 14 einen gemeinsamen Prozessor teilen würden.
-
Dies ist bei dem Steuergerät 12 dagegen durch eine Schutzeinrichtung 16 vermieden. Die Schutzeinrichtung 16 sieht vor, dass zumindest zwei Prozessoren P1, P2 vorgesehen sind und die Hauptfunktion 13 und die Nebenfunktion 14 jeweils durch ein eigenes Softwareprogramm 15 bereitgestellt sind und die Schutzeinrichtung 16 dazu eingerichtet ist, das Softwareprogramm 15 der Hauptfunktion 13 einerseits und das Softwareprogramm 15 der Nebenfunktion 14 andererseits stets auf unterschiedlichen der Prozessoren P1, P2 zu betreiben oder auszuführen. Beispielsweise stellt somit der Prozessor P1 stellt somit einen Sicherheitsprozessor oder Safety Prozessor dar, der für Hauptfunktionen oder eine Hauptfunktion 13 reserviert ist, die eine zu sichernde Funktion oder Safety-Funktion oder fahrsicherheitsrelevante Funktion betreibt, d.h. mit einem ASIL größer als der Grad QM. Dagegen kann der Prozessor P2 ein QM-Prozessor sein, der durch QM-Anwendungen, d.h. Nebenfunktionen 14, genutzt werden kann. Diese können mit geringerem Entwicklungsaufwand entwickelt werden, was allerdings auch die Wahrscheinlichkeit für das Verbleiben oder die Existenz eines Softwarefehlers im Softwareprogramm 15 der Nebenfunktion 14 entsprechend erhöht. Kommt es zu einem Laufzeitfehler oder Ablauffehler in einem solchen Softwareprogramm 15 einer Nebenfunktion 14, so kann dies dennoch nicht die Hauptfunktion 13 oder die Hauptfunktionen 13 beeinträchtigen.
-
Zum Betreiben oder Ausführen der Softwareprogramme 15 kann jeweils für den Prozessor P1 und den Prozessor P2 ein eigenes Betriebssystem OS1 für den Prozessor P1 und ein Betriebssystem OS2 für den Prozessor P2 ausgeführt oder bereitgestellt sein.
-
Um Daten oder Nachrichten 17 zwischen einer Hauptfunktion 13 und einer Nebenfunktion 14 austauschen zu können, kann eine Kommunikationseinrichtung 18 vorgesehen sein, mittels welcher die Daten oder Nachrichten 17 zwischen den Prozessoren P1, P2 übertragen werden können. Die Kommunikationseinrichtung 18 kann für das Übertragen von Daten oder Nachrichten 17 beispielsweise ein Kommunikationsprotokoll für einen Datenbus, beispielsweise CAN, LIN, FlexRay, oder ein proprietäres Kommunikationsprotokoll vorsehen. Die Kommunikationseinrichtung 18 kann unabhängig von der Hauptfunktion 13 und der Nebenfunktion 14 betrieben werden. Beispielsweise kann hierzu ein eigener Mikrocontroller vorgesehen sein oder ein eigenes Softwareprogramm, das dann bevorzugt auf dem Prozessor P2 für die Nebenfunktion 14 ausgeführt wird und somit ebenfalls gemäß dem Grad QM entwickelt oder ausgestaltet sein kann.
-
Die Schutzeinrichtung 16 basiert somit auf einem Steuergerät 12 mit zwei Prozessen P1, P2, auf denen die verschiedenen SW-Applikationen (SW - Software) ausgeführt werden:
- - Prozessor P1: Safety Prozessor für Safety Funktionen;
- - Prozessor P2: QM Prozessor für QM-Anwendungen.
-
Damit sind unterschiedliche schnelle Entwicklungszyklen realisierbar für QM-Software einerseits und Funktionssicherheitssoftware (mit ASIL) andererseits.
-
QM-Anwenderfunktionen (wie die Nebenfunktion 14) können getrennt von Funktionssicherheitssoftware (wie die Hauptfunktion 13) ausgeführt werden. QM-Softwareapplikateure oder Anbieter können Sicherheitsfunktionen nicht manipulieren/fälschlicherweise ändern. Bei gleichen Sicherheitszielen kann zu einer Funktionssicherheitssoftware beliebige Anwendersoftware aufgespielt werden (z.B. Variantenhandling von unterschiedlichen Anbietern).
-
Der Safetykernel, d.h. das jeweilige Softwareprogramm für jede Hauptfunktion 13, selbst muss nur einmal entwickelt werden und kann bei Bedarf in unterschiedlichen Zyklen und von anderen Entwicklungsteams wie die Anwender-Software nachgezogen/geändert werden.
-
Insgesamt zeigen die Beispiele, wie durch die Erfindung eine Hauptfunktion und eine Nebenfunktion in einem Steuergerät auf zwei verschiedenen Prozessoren getrennt bereitgestellt werden kann.
-
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
-
- DE 102005020835 A1 [0005]
- DE 102016210341 A1 [0005]
- DE 102013017059 A1 [0005]