-
Die vorliegende Erfindung betrifft ein Verarbeitungssystem für ein Fahrzeug. Insbesondere betrifft die Erfindung ein Verarbeitungssystem zur Steuerung einer Fahrfunktion des Fahrzeugs.
-
Zur Automatisierung einer Fahrfunktion eines Fahrzeugs ist ein Verarbeitungssystem erforderlich, das leistungsfähig genug ist, um aktuelle Konzepte zur Informationsverarbeitung auszuführen, beispielsweise um Objekte in einem Umfeld des Fahrzeugs automatisch zu erkennen und passend darauf zu reagieren. Zusätzlich muss soll das Verarbeitungssystem höchste Ansprüche an die Funktionssicherheit erfüllen und zumindest bezüglich bestimmter Fehlerzustände tolerant sein.
-
Vorzugsweise soll das Verarbeitungssystem Anforderungen erfüllen, die beispielsweise in der ISO 26262 und insbesondere in den ASIL (automotive safety integrity level) Stufen definiert sind. Außerdem soll das Verarbeitungssystem möglichst ausbaufähig sein, um auch für zukünftige, noch unbekannte Anforderungen gerüstet zu sein.
-
Der vorliegenden Erfindung liegt die Aufgabe zu Grunde, ein verbessertes Verarbeitungssystem zum Einsatz an Bord eines Fahrzeugs bereitzustellen. Die Erfindung löst diese Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
-
Ein Verarbeitungssystem zum Einsatz an Bord eines Fahrzeugs umfasst mehrere Einfachprozessoren; mehrere Parallelprozessoren; eine Schnittstelle zur Verbindung mit einem Kommunikationsbus des Fahrzeugs; und eine Überwachungseinrichtung, die mit der Schnittstelle und jedem der Prozessoren verbunden ist. Dabei ist die Überwachungseinrichtung zur redundanten Konfiguration der Einfachprozessoren und/oder der Parallelprozessoren untereinander eingerichtet.
-
Das Verarbeitungssystem kann eine skalierbare und redundante Hardware Plattform für ein Fail Operational System bereitstellen. Ein solches System ist resilient gestaltet und soll auch dann weiter funktionieren, wenn seine Steuerungssysteme zu einem vorbestimmten Grad ausfallen. Ein Fail Safe System wäre im Gegensatz eher dazu eingerichtet, im Fehlerfall einen sicheren Zustand einnehmen zu können. Ein solcher Zustand besteht bei der Steuerung eines Fahrzeugs allgemein nicht, da das Fahrzeug selbst im Stillstand eine Gefahr für ein fahrendes Fahrzeug darstellen oder durch dieses gefährdet sein kann.
-
Die vorgeschlagene Anordnung kann eine „native decomposition“ auf verschiedenen Ebenen erlauben, beispielsweise auf ASIL-B und ASIL-D. Sollen Sensorwerte verarbeitet werden, so kann das vorgeschlagene Verarbeitungssystem das Ausführen unterschiedlicher Prozesse oder Algorithmen auf der Basis unterschiedlicher Sensoren oder Sensorgruppen für den gleichen Zweck erlauben. Dadurch kann sowohl eine Entmischung (decomposition), als auch eine Arbitration ermöglicht sein. Das Verarbeitungssystem kann noch lauffähig sein, wenn einer oder mehrere Einfach- und/oder Parallelprozessoren ausfallen. Insgesamt kann das Verarbeitungssystem im Betrieb ASIL-Anforderungen bis Stufe D erfüllen.
-
Die Einfachprozessoren sind bevorzugt gleicher Bauart, und die Parallelprozessoren sind bevorzugt gleicher Bauart. Das Verarbeitungssystem kann weitere Bauelemente eines Computers umfassen, beispielsweise einen Taktgenerator, flüchtigen und/oder nichtflüchtigen Speicher oder ein Ein-/Ausgabesystem. Die Prozessoren können auf einer Leiterplatte angebracht und elektrisch verbunden sein. In einer Ausführungsform ist ein Kühlkörper vorgesehen, um Abwärme eines oder mehrerer Prozessoren, insbesondere der Parallelprozessoren, abzuführen. Dazu können Anlageflächen der Prozessoren in einer gemeinsamen Ebene liegen und der Kühlkörper kann eine ebene Anlagefläche für die zu kühlenden Prozessoren aufweisen. Der Kühlkörper kann Teil eines aktiven Kühlsystems sein, das eine geschlossene Fluidkühlung umfassen kann. Die Fluidkühlung kann insbesondere als Flüssigkeitskühlung realisiert sein.
-
Das Verarbeitungssystem kann dazu eingerichtet sein, eine Aufgabe zu bearbeiten, die sicherheitsrelevant ist. Dabei kann ein Fehler oder Defekt eine mittelbare oder unmittelbare Auswirkung auf die Sicherheit einer Person oder eines Gegenstands an Bord des Fahrzeugs oder in seinem Umfeld haben.
-
Es wurde erkannt, dass für eine Steueraufgabe an Bord eines Fahrzeugs, insbesondere eines Kraftfahrzeugs, eine Kombination aus einem klassischen Einfachprozessor und einem Parallelprozessor am besten geeignet ist. Der Einfachprozessor kann insbesondere Aufgaben übernehmen, die schwer oder gar nicht zu parallelisieren sind, etwa eine iterative oder rekursive Berechnung einer Größe. Der Parallelprozessor kann hingegen verbessert parallelisierbare Aufgaben übernehmen, die insbesondere mit einer Erkennung eines Umfelds des Fahrzeugs zu tun haben können. Ein Parallelprozessor kann weiter bevorzugt dazu eingerichtet sein, Muster in Daten zu erkennen, insbesondere ein Objekt in einem Bild zu erkennen, Daten zu fusionieren, lineare Algebra zu berechnen, ein künstliches neuronales Netzwerk zu realisieren oder eine Aufgabe der Künstlichen Intelligenz zu erfüllen.
-
Insbesondere für eine sicherheitsrelevante Anwendung ist es vorteilhaft, einen Prozessor nicht einzeln, sondern in einer redundanten Konfiguration zu betreiben. Dazu können insbesondere mehrere redundant konfigurierte Einzelprozessoren und mehrere redundant konfigurierte Parallelprozessoren vom Verarbeitungssystem umfasst sein. Es ist allgemein bevorzugt, dass keine Komponente des Verarbeitungssystems nur einfach ausgeführt ist, falls ihr Versagen die Funktion des gesamten Verarbeitungssystems beeinträchtigen kann. Der Einfachprozessor kann zweifach vorgesehen sein. Der Parallelprozessor kann insbesondere vierfach vorgesehen sein.
-
Eine Redundanz muss dabei nicht unbedingt auf Prozessor-Ebene implementiert sein. Vielmehr können mehrere Parallelprozessoren derart betrieben werden, dass sie als eine einzige Verarbeitungsumgebung für ein zu bearbeitendes Problem erscheinen. Redundanz beziehungsweise Resilienz gegenüber einem Fehler oder Defekt kann inhärent durch Nachbarbeziehungen zwischen verteilten Daten realisiert sein. Ist eine Verarbeitungseinrichtung defekt, können ihre Ergebnisse zwar fehlerhaft sein, jedoch nur einen Teil des bearbeiteten Problems betreffen. Das gesamte Problem, etwa die Erkennung eines Objekts in einem Bild, kann hingegen immer noch korrekt gelöst werden.
-
Alternativ können beispielsweise auch die Verarbeitungseinrichtungen aller Parallelprozessoren zusammen in redundanten Konfigurationen betrieben werden. Die vorgeschlagene Konfiguration von Einfach- und Parallelprozessoren kann es erlauben, eine Bewegungssteuerung des Fahrzeugs durchzuführen, sodass beispielsweise ein Autonomiegrad nach SAE J3016 von vier (hohe Automation) oder fünf (volle Automation) erreicht werden kann.
-
Die Überwachungseinrichtung kann dazu eingerichtet sein, zu bestimmen, ob einer der Einfachprozessoren oder einer der Parallelprozessoren fehlerhaft arbeitet. Dabei kann die Überwachungseinrichtung eine Verarbeitungseinrichtung umfassen, die dazu eingerichtet ist, einen oder mehrere der anderen Prozessoren zu überwachen. Ergebnisse oder Zustände von angeschlossenen Prozessoren können durch die Überwachungseinrichtung miteinander oder mit vorbestimmten Schwellenwerten oder Intervallgrenzen verglichen werden, um einen Fehler zu bestimmen. Die Überwachungseinrichtung kann eine Sicherheitsfunktion ausführen, wobei eine vorbestimmte ASIL Sicherheitsklasse, bevorzugt bis zu Klasse ASIL-D, erfüllt sein kann.
-
Die Überwachungseinrichtung ist üblicherweise mittels einer Überwachungsbusses mit den Prozessoren verbunden, wobei der Überwachungsbus üblicherweise nur eine moderate Bandbreite von ca. 100 Mbit/s bereitstellt, aber bevorzugt nach ISO 26262 als sicherheitsrelevante Schnittstelle ausgeführt ist.
-
Wird bestimmt, dass einer der Prozessoren fehlerhaft arbeitet, so kann ein Signal auf der Schnittstelle zum Fahrzeug bereitgestellt werden, um einer anderen Komponente an Bord des Fahrzeugs den Defekt zu signalisieren. Ein als defekt erkannter Prozessor kann abgeschaltet oder derart umkonfiguriert werden, dass eine von ihm umfasste, defekte Komponente möglichst nicht mehr zu Verarbeitungsergebnissen beiträgt. In einer Ausführungsform kann ein Prozessor oder eine von ihm umfasste Komponente auch abgeschaltet werden. Die Bereitstellung von inkorrekten Informationen auf dem Kommunikationsbus kann so weitgehend oder vollständig verhindert werden.
-
Ein Einfachprozessor weist üblicherweise eine klassische Architektur auf und kann beispielsweise der x86, x64 oder ARM-Familie entstammen. Der Einfachprozessor kann mehrere Kerne (cores) umfassen, wobei die Anzahl der Kerne üblicherweise auf acht oder weniger beschränkt ist, auch wenn bereits ein Einfachprozessor mit bis zu 64 Kernen veröffentlicht wurde. Eine Taktfrequenz eines Einfachprozessors ist üblicherweise höher als die eines Parallelprozessors.
-
Ein Parallelprozessor umfasst üblicherweise wesentlich mehr Verarbeitungseinrichtungen als ein Einfachprozessor. Beispielsweise kann der Parallelprozessor als dedizierter Grafikprozessor ausgebildet sein und mehrere 1000 Verarbeitungseinrichtungen (z. B. „shader“) umfassen. Alternativ kann der Parallelprozessor auch als FPGA realisiert sein, das eine Vielzahl Elemente umfasst, die per Konfiguration miteinander verschaltet werden können, um beispielsweise eine Vielzahl Verarbeitungseinrichtungen zu bilden. Der Parallelprozessor kann auch zur Realisierung eines neuronalen Netzwerks eingerichtet sein und eine Vielzahl künstlicher Neuronen umfassen, auf deren Basis das Netzwerk konfiguriert werden kann.
-
Bevorzugt ist jeder Prozessor in einem dedizierten Halbleitergehäuse angebracht. Das Halbleitergehäuse ist bevorzugt zur Montage auf einer Leiterplatte eingerichtet und kann insbesondere ein BGA-Gehäuse (ball grid array) umfassen, bei dem elektrische Anschlüsse in Kugelgitteranordnung vorgesehen sind. Die Leiterplatte kann zusammen mit den Prozessoren und gegebenenfalls weiteren Bauelementen als separat handhabbare Einheit vorliegen. Eine Anordnung mehrerer Prozessoren in einem gemeinsamen Halbleitergehäuse ist jedoch ebenfalls möglich.
-
Die Parallelprozessoren können mittels Kommunikationsbussen vollständig untereinander verbunden sein. Sind n Parallelprozessoren vorgesehen, so kann jeder Parallelprozessor mit jedem anderen Parallelprozessor mittels einer dedizierten Leitung verbunden sein. In diesem Fall können
Kommunikationsbusse vorgesehen sein. Ein Kommunikationsbus zwischen Prozessoren wird auch als Inter-Prozessor-Bus (inter processor communication, IPC) bezeichnet und stellt bevorzugt eine sehr hohe Brandbreite von ca. 100 Gbit/s oder mehr bereit.
-
Die Parallelprozessoren können Sensorschnittstellen zur Verbindung mit jeweils mehreren bildgebenden Sensoren aufweisen, wobei die Parallelprozessoren bevorzugt dazu eingerichtet sind, bereitgestellte Bilddaten von verbundenen Sensoren zu verarbeiten. Ein Sensor kann beispielsweise eine Kamera, eine Tiefenkamera, eine Stereokamera, einen Radarsensor, einen LiDAR-Sensor, einen Ultraschallsensor oder einen ähnlichen Sensor umfassen. In einer besonders bevorzugten Ausführungsform sind vier Parallelprozessoren vorgesehen; ebenfalls bevorzugt kann ein Parallelprozessor mit vier bildgebenden Sensoren verbunden werden. Zur Verbindung mit dem Sensor kann eine FCI-Schnittstelle genutzt werden.
-
Das Verarbeitungssystem ist bevorzugt dazu eingerichtet, eine Fahrfunktion des Fahrzeugs mittels Signalen auf dem Kommunikationsbus zu steuern. Die Steuerung kann unmittelbar erfolgen, indem Zielwerte oder Steuersignale für eine Längs- und/oder Quersteuerung bereitgestellt werden. Alternativ kann die Steuerung auch indirekt erfolgen, indem das Verarbeitungssystem auf dem Kommunikationsbus Daten bereitstellt, die Objekte in einem aktuellen Umfeld des Fahrzeugs repräsentieren, wobei die Steuerung des Fahrzeugs in Abhängigkeit von den Objekten erfolgt.
-
Das Verarbeitungssystem kann ferner wenigstens zwei redundante Kommunikationsbausteine umfassen. Dabei kann ein Kommunikationsbaustein mit jedem Einfachprozessor und mit jedem Parallelprozessor verbunden sein. Ein Kommunikationsbaustein stellt zu einem Prozessor bevorzugt eine hohe Bandbreite von ca. 1 Gbit/s oder mehr zur Verfügung; eine solche Verbindung wird auch schnelle Kommunikationsschnittstelle (fast communication interface, FCI) genannt.
-
Die Kommunikationsbausteine können jeweils eine Kommunikationsschnittstelle zur Verbindung mit einem weiteren Verarbeitungssystem aufweisen. Das verbundene Verarbeitungssystem kann insbesondere einem hierin beschriebenen Verarbeitungssystem entsprechen. Das verbundene Verarbeitungssystem kann die gleiche oder eine andere Topologie als das vorliegende Verarbeitungssystem aufweisen.
-
Nach einem weiteren Aspekt der vorliegenden Erfindung umfasst ein System mehrere miteinander verbundene Verarbeitungssysteme, von denen wenigstens eines von der hierin beschriebenen Art ist.
-
Nach noch einem weiteren Aspekt der vorliegenden Erfindung umfasst ein Fahrzeug wenigstens ein hierin beschriebenes Verarbeitungssystem. Insbesondere kann das Fahrzeug dazu eingerichtet sein, mittels des Verarbeitungssystems in seiner Bewegung gesteuert zu werden.
-
Die Erfindung wird nun mit Bezug auf die beigefügte Figur genauer beschrieben, in der ein Verarbeitungssystem dargestellt ist.
- 1 zeigt ein exemplarisches Verarbeitungssystem 100, das insbesondere zum Betrieb an Bord eines Fahrzeugs eingerichtet ist. Das Verarbeitungssystem 100 umfasst zwei Einfachprozessoren 105 und vier Parallelprozessoren 110, sowie eine Überwachungseinrichtung 115. Die Zahl der Einfachprozessoren 105 kann unabhängig von der Zahl der Parallelprozessoren 110 festgelegt sein. In einer Ausführungsform sind Anschlüsse für einen oder mehrere weitere Einfachprozessoren 105 und/oder Parallelprozessoren 110 vorgesehen, beispielsweise in Form von Sockeln, sodass zur Leistungssteigerung zusätzliche Prozessoren 105, 110 eingesetzt werden können. Ein bestehender Prozessor 105, 110 kann in seinem Sockel austauschbar sein. Das Verarbeitungssystem 100 kann dazu eingerichtet sein, mit unterschiedlichen Prozessoren 105, 110 bestückt zu werden, um je nach Anforderung beispielsweise ein kostengünstiges, ein energiesparendes oder einen leistungsfähiges Verarbeitungssystem 100 bilden zu können.
-
Die Einfachprozessoren 105 können redundant konfiguriert sein, sodass sie im Wesentlichen die gleichen Bestimmungen durchführen und eine mögliche Abweichung zwischen bestimmten Werten oder Zuständen der Einfachprozessoren 105 mittels der Überwachungseinrichtung 115 bestimmt wird. Die Überwachungseinrichtung 115 kann nur einfach im Verarbeitungssystem 100 vorgesehen sein. Bevorzugt ist die Überwachungseinrichtung 115 selbst so ausgeführt, dass sie vorbestimmte Sicherheitsanforderungen, beispielsweise nach ASIL-D, erfüllt.
-
Die Parallelprozessoren 110 können ebenfalls redundant konfiguriert sein. Es können auch zwei oder mehr der Parallelprozessoren 110 kooperativ zu einem vergrößerten Parallelprozessor 110 zusammen konfiguriert werden. Die Parallelprozessoren 110 sind bevorzugt mittels IPC-Bussen 120 miteinander verbunden. Weiter bevorzugt ist jeder Parallelprozessor 110 mittels eines dedizierten IPC-Busses 120 mit jedem anderen Parallelprozessor 110 verbunden. Weitere IPC-Busse 120 können vorgesehen sein, um einen Sensor 125 mit einem Parallelprozessor 110 zu verbinden. Dazu kann eine Sensorschnittstelle 130, die insbesondere eine Steckverbindung aufweisen kann, am Verarbeitungssystem 100 vorgesehen sein.
-
Ein Sensor 125 ist bevorzugt dazu eingerichtet, ein Umfeld, einen Innenraum oder einen Fahrzustand eines umgebenden Fahrzeugs abzutasten. Ein Sensor 125 kann insbesondere bildgebend sein, indem er Daten bereitstellt, die in wenigstens zwei Dimensionen organisiert sind, die zu geometrischen Dimensionen bezüglich des Fahrzeugs korrelieren. Beispielhafte bildgebende Sensoren 125 umfassen eine Kamera, einen Radar-Sensor und einen LiDAR-Sensor. Auch ein nicht bildgebender Sensor 125 kann angeschlossen werden, beispielsweise ein akustischer Sensor 125. In einer Ausführungsform sind einer oder mehrere Sensoren 125 zur Abtastung physikalischer Parameter an einem Antriebsmotor des Fahrzeugs angebracht. Ein anderer Sensor 125 kann zur Bestimmung eines Fahrzustands des Fahrzeugs eingerichtet sein und beispielsweise eine Position, eine Geschwindigkeit, eine Drehrate oder eine Beschleunigung erfassen.
-
Bevorzugt ist wenigstens ein Kommunikationsbaustein 135 vorgesehen, der weiter bevorzugt dazu eingerichtet ist, mehrere Kommunikationsbusse 140 zu bündeln und eine geordnete Kommunikation von mit den Kommunikationsbussen 140 verbundenen Elementen zu ermöglichen. Das Bündeln kann im ISO-OSI-Modell beispielsweise auf Schicht 2 oder 3 erfolgen. Ein Kommunikationsbus 140 kann auch als FCI bezeichnet werden. Bevorzugt ist je ein Kommunikationsbus 140 zur Verbindung des Kommunikationsbausteins 135 mit jedem der Prozessoren 105, 110 vorgesehen.
-
Weiter bevorzugt ist noch wenigstens ein weiterer Kommunikationsbaustein 135 vorgesehen, der mittels separater Kommunikationsbusse 140 mit den Prozessoren 105, 110 verbunden ist, sodass redundante Kommunikationswege zwischen den Prozessoren 105, 110 existieren.
-
Durch die vorgeschlagene Verbindung der Parallelprozessoren 110 mittels IPC-Bussen 150 und Kommunikationsbussen 140 kann eine Redundanz auf bis zu drei Ebenen realisiert werden: einfach mittels IPC-Bus 150 und zweifach mittels Kommunikationsbussen 140.
-
Das Verarbeitungssystem 100 kann eine Kommunikationsschnittstelle 145 umfassen, die mittels eines weiteren Kommunikationsbusses 140 mit einem Kommunikationsbaustein 135 verbunden ist. Sind mehrere Kommunikationsbausteine 135 vorgesehen, so kann jedem eine eigene Kommunikationsschnittstelle 145 zugeordnet sein.
-
Die Überwachungseinrichtung 115 ist bevorzugt mittels eines Überwachungsbusses 150 mit jedem der Prozessoren 105, 110 verbunden. Dabei werden weiter bevorzugt Punkt-zu-Punkt Verbindungen benutzt, um eine gegenseitige Beeinflussung, insbesondere im Fehlerfall, zu vermeiden. Einer oder mehrere weitere Überwachungsbusse 150 sind zur Verbindung der Überwachungseinrichtung 115 mit einer Schnittstelle 155 des Verarbeitungssystems 100 vorgesehen. Die Schnittstelle 155 ist zur Verbindung mit einem Kommunikationsbus des Fahrzeugs eingerichtet, der beispielsweise einen CAN- FlexRay- oder LIN-Bus umfassen kann.
-
Die Überwachungseinrichtung 115 kann mehrere Funktionen abdecken. Eine erste Funktion kann in der Überwachung der Prozessoren 105, 110 bestehen. Eine zweite Funktion kann in der Bestimmung von Steuerwerten zur Steuerung einer Funktion an Bord des Fahrzeugs, insbesondere zur Steuerung einer Fahrfunktion erfüllt werden.
-
Eine dritte Funktion kann in der Übernahme von Bestimmungsergebnissen der Prozessoren 105, 110 bestehen. Außerdem kann die Überwachungseinrichtung 115 in einer vierten Funktion über die Schnittstelle 155 mit einem System, einem Subsystem oder einem Aktor des Fahrzeugs kommunizieren. Dazu kann die Überwachungseinrichtung 115 über die Schnittstelle 155 insbesondere zuvor empfangene Bestimmungsergebnisse bereitstellen und/oder externe Anforderungen an das Verarbeitungssystem 100 entgegennehmen. Empfangene Anforderungen können in geeigneter Weise an die Prozessoren 105, 110 weitergegeben werden.
-
Bezugszeichenliste
-
- 100
- Verarbeitungssystem
- 105
- Einfachprozessor
- 110
- Parallelprozessor
- 115
- Überwachungseinrichtung
- 120
- IPC-Bus, Kommunikationsbus zwischen Prozessoren
- 125
- Sensor
- 130
- Sensorschnittstelle
- 135
- Kommunikationsbaustein
- 140
- Kommunikationsbus
- 145
- Kommunikationsschnittstelle
- 150
- Überwachungsbus
- 155
- Schnittstelle für Kommunikationsbus des Fahrzeugs