-
Die vorliegende Erfindung betrifft ein Verfahren zur Aktualisierung eines Steuergeräts eines Kraftfahrzeugs mit wenigstens zwei Mikroprozessoren sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
-
Stand der Technik
-
Mikroprozessoren werden alleine oder als Bestandteil von Mikrocontrollern, welche neben dem Mikroprozessor auch zusätzliche Peripherie, wie z.B. Netzwerkschnittstellen, ADC, DAC, E/A usw. auf dem Chip aufweisen, vielfach eingesetzt.
-
Moderne Mikroprozessoren, wie sie beispielsweise in Steuergeräten von Kraftfahrzeugen eingesetzt werden (z.B. in Motorsteuergeräten zur Motorsteuerung), sind zumeist Multicore-Prozessoren mit mehreren (wenigstens zwei) Prozessorkernen (Cores). Ein Prozessorkern bzw. Core umfasst eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, sowie weiterhin einen lokalen Speicher. Ein derartiger lokaler Speicher kann beispielsweise als ein Registersatz aus einem oder mehreren Registern oder als ein RAM-Speicher ausgebildet sein. Weiterhin umfasst der Mikroprozessor einen globalen Speicher, der beispielsweise als Flash-, NOR-Flash oder RAM-Speicher ausgebildet sein kann.
-
Zur Aktualisierung von Steuergeräten eines Kraftfahrzeugs, welche über einen Feldbus, wie z.B. CAN, miteinander vernetzt sind, kann über den Feldbus auf das zu aktualisierende Steuergerät zugegriffen werden und neue Software oder überarbeitete Parameter können an das Steuergerät übermittelt werden.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zur Aktualisierung eines Steuergeräts eines Kraftfahrzeugs mit wenigstens zwei Mikroprozessoren, insbesondere als Bestandteile von Mikrocontrollern, sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Ein erster Mikroprozessor des Steuergeräts ist mit einem Kraftfahrzeugkommunikationssystem datenübertragend verbunden, insbesondere mit einem Feldbus. Über dieses Kraftfahrzeugkommunikationssystem stehen der erste Mikroprozessor und damit das Steuergerät mit weiteren Komponenten des Kraftfahrzeugs in Kommunikationsverbindung, beispielsweise mit weiteren Steuergeräten, Sensoren und/oder Aktoren.
-
Der erste Mikroprozessor ist mit einem zweiten Mikroprozessor des Steuergeräts über ein Mikroprozessorkommunikationssystem datenübertragend verbunden. Der zweite Mikroprozessor ist zweckmäßigerweise nicht direkt mit dem Kraftfahrzeugkommunikationssystem datenübertragend verbunden.
-
Der zweite Mikroprozessor ist insbesondere nur mit Komponenten des Steuergeräts direkt datenübertagend verbunden (insbesondere mit dem ersten Mikroprozessor und gegebenenfalls mit weiteren Mikroprozessoren des Steuergeräts), jedoch nicht mit weiteren Komponenten des Kraftfahrzeugs, insbesondere nicht mit weiteren Steuergeräten. Der erste Mikroprozessor dient insbesondere als Master, der zweite Mikroprozessor insbesondere als Slave.
-
Im Rahmen des Verfahrens werden Aktualisierungsdaten für den zweiten Mikroprozessor über das Kraftfahrzeugkommunikationssystem von dem ersten Mikroprozessor empfangen und über das Mikroprozessorkommunikationssystem an den zweiten Mikroprozessor übertragen. Der zweite Mikroprozessor wird mittels der Aktualisierungsdaten aktualisiert.
-
Eine Aktualisierung des zweiten Mikroprozessors ist zumeist mit herkömmlichen Entwicklertools zur Aktualisierung von Steuergeräten in der Automobilindustrie nicht möglich. Derartige Entwicklertools greifen auf das Steuergerät zur Aktualisierung und zur Kommunikation zumeist über das Kraftfahrzeugkommunikationssystem zu, wobei jedoch eine direkte Verbindung zu dem zweiten Mikroprozessor zu Aktualisierungszwecken nicht möglich ist. Ein Beispiel für derartige herkömmliche Entwicklertools ist INCA (Integrated Calibration and Application Tool) von der Firma ETAS, ein Repertoire an Softwareprodukten, welche bei der Entwicklung und beim Test von Steuergeräten sowie bei der Validierung und Kalibrierung von elektronisch gesteuerten Systemen im Fahrzeug, am Prüfstand oder in einer virtuellen Umgebung am PC eingesetzt werden können. Herkömmlicherweise ist es daher zumeist notwendig, eine Kommunikationsverbindung zu dem zweiten Mikroprozessor über eine zusätzliche Schnittstelle herzustellen, was zumeist jedoch mit hohem Aufwand verbunden ist.
-
Durch das Verfahren wird es ermöglicht, den zweiten Mikroprozessor mittels derartiger herkömmlicher Entwicklertools wie INCA aktualisieren zu können, ohne dass dieser an das Kraftfahrzeugkommunikationssystem angebunden ist und ohne dass eine Kommunikationsverbindung über zusätzliche Schnittstellen hergestellt wird.
-
Die Aktualisierungsdaten können, wie für die Entwicklertools üblich, über das Kraftfahrzeugkommunikationssystem übermittelt werden. Der erste Mikroprozessor dient als ein Vermittler. Insbesondere sind die Aktualisierungsdaten derart gekennzeichnet, dass sie für den zweiten Mikroprozessor vorgesehen sind. Der erste Mikroprozessor erkennt diese Kennzeichnung zweckmäßigerweise beim Empfang der Aktualisierungsdaten und leitet diese automatisch weiter.
-
Das Verfahren eignet sich insbesondere für Steuergeräte mit mehreren zweiten Mikroprozessoren, welche jeweils als Slave ausgebildet sind und jeweils über das Mikroprozessorkommunikationssystem mit dem ersten Mikroprozessor (Master) datenübertragen verbunden, jedoch nicht direkt an das Kraftfahrzeugkommunikationssystem angebunden sind. Jeder dieser zweiten Mikroprozessoren kann im Rahmen des Verfahrens aktualisiert werden, indem die entsprechenden Aktualisierungsdaten über das Kraftfahrzeugkommunikationssystem an den ersten Mikroprozessor übermittelt werden und von diesem an den jeweiligen zweiten Mikroprozessor weitergeleitet werden.
-
Das Kraftfahrzeugkommunikationssystem ist vorteilhafterweise als ein Feldbus ausgebildet, beispielsweise CAN, ProfiNet, Sercos, FlexRay, LIN, MOST, etc. Besonders bevorzugt ist das Kraftfahrzeugkommunikationssystem als CAN-Bus ausgebildet. Derartige Feldbus-Verbindungen ermöglichen eine besonders effektive, insbesondere echtzeitfähige Kommunikation zwischen unterschiedlichen Komponenten des Kraftfahrzeugs. Der CAN-Bus (Controller Area Network) ist in der
Norm ISO 11898: "Road vehicles – Controller area network (CAN)" spezifiziert.
-
Das Mikroprozessorkommunikationssystem ist insbesondere als eine steuergerät-interne Kommunikationsverbindung ausgebildet, zweckmäßigerweise als eine sog. Computer-to-Computer-Verbindung, beispielsweise als Systembus oder NoC (Network-on-a-chip).
-
Vorteilhafterweise werden die Applikationsdaten von dem ersten an den zweiten Mikroprozessor über einen PDU-Router übertragen. Ein derartiger PDU-Router leitet komplette Datenpakete, die sog. Protocol Data Units (PDUs), von einem Netzwerk auf ein anderes weiter, sprich von dem Kraftfahrzeugkommunikationssystem auf das Mikroprozessorkommunikationssystem. Insbesondere setzt dieses Prinzip voraus, dass die PDUs sowohl auf dem Quell- als auch auf dem Zielnetzwerk gleich definiert sind, d.h. in Länge und Inhalt übereinstimmen. Ein derartiger PDU-Router kann insbesondere als ein Software-Modul gemäß AUTOSAR (AUTomotive Open System ARchitecture) implementiert sein.
-
Vorteilhafterweise werden die Aktualisierungsdaten mittels des UDS-Protokolls und/oder mittels des XCP-Protokolls über das Kraftfahrzeugkommunikationssystem und/oder über das Mikroprozessorkommunikationssystem übertragen.
-
Das UDS-Protokoll (Unified Diagnostic Services) ist ein Diagnose- bzw. Kommunikationsprotokoll, welches in der
Norm ISO 14229: "Road vehicles – Unified Diagnostic Services" spezifiziert ist. Teil 1 dieser Norm ("Specification and requirements") beschreibt dieses Diagnoseprotokoll, welches 25 Diagnoseservices umfasst, die der Tester an ein oder mehrere Steuergeräte senden kann. Ein Diagnoseservice besteht insbesondere aus einem Request des Testers und mindestens einer Antwort (Response). Jedem Diagnoseservice ist ein eindeutiger Service-Identifier (SID) zugeordnet. Es wird unterschieden zwischen Request-SID und Response-SID.
-
Gemäß einer besonders bevorzugten Ausführungsform des Verfahrens werden die Aktualisierungsdaten mittels des UDS-Protokolls über das als CAN ausgebildete Kraftfahrzeugkommunikationssystem übertragen. Eine derartige Übertragung ist in Teil 3 ("Unified diagnostic services on CAN implementation (UDSon-CAN)") der Norm ISO 14229 spezifiziert, in welcher die Umsetzung der Diagnosekommunikation mit UDS auf CAN beschrieben wird.
-
XCP (Universal Measurement and Calibration Protocol) ist ein standardisiertes Netzwerkprotokoll der ASAM (Association for Standardization of Automation and Measuring Systems), mittels welchem Lese- und Schreibzugriffe auf Variablen bzw. Speicherinhalte von Mikroprozessor-Systemen zur Laufzeit ermöglicht werden. XCP ist ein universelles Mess- und Kalibrierprotokoll, welches unabhängig vom verwendeten Netzwerktyp arbeitet.
-
Bevorzugt werden die Aktualisierungsdaten mittels des XCP-Protokolls über das als CAN ausgebildete Kraftfahrzeugkommunikationssystem an den ersten Mikroprozessor übertragen (XCP on CAN).
-
Von dem ersten Mikroprozessor werden die Aktualisierungsdaten vorzugsweise mittels UDS oder XCP über das Mikroprozessorkommunikationssystem an den zweiten Mikroprozessor übertragen.
-
Vorteilhafterweise wird der zweite Mikroprozessor mittels der Aktualisierungsdaten programmiert und/oder appliziert. Im Zuge einer derartigen Programmierung kann insbesondere ein neuer oder aktualisierter Programmcode in den zweiten Mikroprozessor eingebracht werden und ein bisher in dem zweiten Mikroprozessor vorhandener Programmcode kann überschrieben werden (sog. Flash-Vorgang). Im Zuge einer derartigen Applikation werden insbesondere Parameter der auf dem zweiten Mikroprozessor ablaufenden Software angepasst, beispielsweise können Kennwerte von Funktionsalgorithmen eingestellt werden. Das Fahrzeugverhalten kann durch entsprechende Applizieren und Einstellen von Steuergeräteparameter verbessert werden.
-
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
-
Auch die Implementierung des Verfahrens in Form eines Computerprogramms ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt schematisch eine bevorzugte Ausgestaltung eines erfindungsgemäßen Steuergeräts, welches dazu eingerichtet ist, eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen.
-
Ausführungsform(en) der Erfindung
-
In 1 ist ein Steuergerät eines Kraftfahrzeugs schematisch dargestellt und mit 100 bezeichnet.
-
Das Steuergerät 100 weist eine Vielzahl von Mikroprozessoren auf, welche beispielsweise jeweils Bestandteil eines Mikrocontrollers sein können. Ein erster Mikroprozessor 111 wird als ein Master verwendet. Weiterhin weist das Steuergerät mehrere zweite Mikroprozessoren 112, 113, 114 auf, welche jeweils als Slave verwendet werden. Es versteht sich, dass das Steuergerät noch weitere zweite Mikroprozessoren aufweisen kann.
-
Der erste Mikroprozessor 111 ist mit den zweiten Mikroprozessoren 112, 113, 114 über ein Mikroprozessorkommunikationssystem 120 datenübertragend verbunden, vorzugsweise über HSSL (High Speed Serial Link) oder LFAST (LVDS Fast Asynchronous Serial Transmission).
-
Weiterhin ist der erste Mikroprozessor 111 an ein Kraftfahrzeugkommunikationssystem 130 datenübertragend angebunden, vorzugsweise an einen CAN-Feldbus. Die zweiten Mikroprozessoren 112, 113, 114 hingegen sind nicht an den CAN-Bus angebunden.
-
Das Steuergerät 100 ist, insbesondere programmtechnisch, dazu eingerichtet, eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen.
-
Im Zuge dessen sollen einer oder mehrere der zweiten Mikroprozessor 112, 113, 114 aktualisiert werden. Es werden im Folgenden beispielsweise die Fälle betrachtet, dass der Mikroprozessor 112 programmiert werden soll und der Mikroprozessor 113 appliziert.
-
Zur Aktualisierung der Mikroprozessoren 112 und 113 wird eine Recheneinheit 140 an den CAN-Bus 130 angeschlossen. Bei der Recheneinheit 140 kann es sich beispielsweise um einen Computer eines Kraftfahrzeug- oder Steuergeräteherstellers handeln, auf welchem ein Entwicklungstool (z.B. INCA) zur Aktualisierung des Steuergeräts 100 ausgeführt wird.
-
Zum Programmieren des Mikroprozessors 112 werden Aktualisierungsdaten 152 in Form eines neuen Programmcodes über den CAN-Bus 130 von der Recheneinheit 140 an den Master-Mikroprozessor 111 übermittelt. Diese Aktualisierungsdaten 152 sind insbesondere als zu dem Mikroprozessor 112 gehörig gekennzeichnet. Der Master-Mikroprozessor 111 übermittelt die empfangenen Aktualisierungsdaten 152 daraufhin über die Verbindung 120 an den entsprechenden Mikroprozessor 112. Nach Erhalt der Aktualisierungsdaten 152 führt der Mikroprozessor 112 eine Aktualisierung seines Programmcodes gemäß dem neuen Programmcode 152 durch.
-
Für die Übermittlung des neuen Programmcodes über den CAN-Bus 130 und über die Verbindung 120 kann vorzugsweise jeweils das Protokoll UDS oder das Protokoll XCP verwendet werden.
-
Zur Applikation des Mikroprozessors 113 übermittelt die Recheneinheit 140 Befehle zum Einstellen von Steuergeräteparametern des Mikroprozessors 113 als Aktualisierungsdaten 153 an den Master-Mikroprozessor 111. Diese Applikationsbefehle 153 sind insbesondere als zu dem Mikroprozessor 113 gehörig gekennzeichnet. Der Master-Mikroprozessor 111 leitet die Befehle 153 über die Verbindung 120 an den Mikroprozessor 113 weiter. Die entsprechenden Parameter des Mikroprozessors 113 werden daraufhin gemäß den Applikationsbefehlen 153 angepasst.
-
Auch für die Übermittlung dieser Applikationsbefehle 153 über den CAN-Bus 130 und die Verbindung 120 kann jeweils bevorzugt das Protokoll UDS oder das Protokoll XCP verwendet werden.
-
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 Nicht-Patentliteratur
-
- Norm ISO 11898: "Road vehicles – Controller area network (CAN)" [0014]
- Norm ISO 14229: "Road vehicles – Unified Diagnostic Services" [0018]
- Norm ISO 14229 [0019]