-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich auf eine elektronische Steuerungsvorrichtung und ein Verfahren zum Einstellen von Steuerungsdaten.
-
HINTERGRUNDTECHNIK
-
Ein nichtflüchtiger Speicher von in Automobilen montierten elektronischen Steuerungsvorrichtungen speichert ein Steuerungsprogramm, das sich je nach Modell jeweils unterscheidet. In solch einer elektronischen Steuerungsvorrichtung werden ferner Operationen einer Zielkomponente durch Steuerungsdaten (Steuerungskonstante) für ein gemeinsames Steuerungsprogramm geändert, wie in der
JP S62-67422 A (Patentdokument 1) offenbart ist. Dementsprechend weisen in Automobilen montierte elektronische Steuerungsvorrichtungen in Abhängigkeit vom jeweiligen Typ von Steuerungsprogramm und Steuerungsdaten viele Varianten (Komponentennummern) auf.
-
REFERENZDOKUMENTENLISTE
-
PATENTDOKUMENT
-
Patentdokument 1:
JP S62-67422 A
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
DURCH DIE ERFINDUNG ZU LÖSENDES PROBLEM
-
In Montagelinien von Automobilen müssen elektronische Steuerungsvorrichtungen, die mit den Spezifikationen beispielsweise jedes Automobils kompatibel sind, montiert werden. Da es jedoch wie oben beschrieben viele Varianten elektronischer Steuerungsvorrichtungen gibt, wurden enorme Anstrengungen unternommen, um diese Varianten zu bewältigen bzw. zu verwalten.
-
Dementsprechend besteht eine Aufgabe der vorliegenden Erfindung darin, eine elektronische Steuerungsvorrichtung und ein Verfahren zum Einstellen von Steuerungsdaten bereitzustellen, die den Aufwand reduzieren können, der erforderlich ist, um die Varianten elektronischer Steuerungsvorrichtungen zu verwalten.
-
MITTEL ZUM LÖSEN DES PROBLEMS
-
Um die Aufgabe zu lösen, stellt die vorliegende Erfindung eine elektronische Steuerungsvorrichtung bereit, die einen elektronisch überschreibbaren nichtflüchtigen Speicher enthält, der den ersten und zweiten Speicherbereich aufweist. Der erste Speicherbereich speichert ein Steuerungsprogramm, in dem Steuerungsdaten eingebettet sind. Der zweite Steuerungsbereich speichert eine Vielzahl von Steuerungsdaten, die für das Steuerungsprogramm verwendbar sind, und ein Überschreibprogramm, um die Steuerungsdaten des Steuerungsprogramms zu überschreiben. Die elektronische Steuerungsvorrichtung überschreibt mittels des Überschreibprogramms die Steuerungsdaten des Steuerungsprogramms mit einem Stück von Steuerungsdaten, das aus der Vielzahl von Steuerungsdaten ausgewählt wird.
-
EFFEKTE DER ERFINDUNG
-
Da es nur notwendig ist, elektronische Steuerungsvorrichtungen vorzubereiten, die sich nur im Steuerungsprogramm unterscheiden, ist es gemäß der vorliegenden Erfindung möglich, den Aufwand zu reduzieren, der erforderlich ist, um Varianten elektronischer Steuerungsvorrichtungen zu verwalten.
-
Figurenliste
-
- 1 ist ein Diagramm einer internen Konfiguration, das ein Beispiel einer elektronischen Steuerungsvorrichtung veranschaulicht.
- 2 veranschaulicht zwei Speicherbereiche, die in einem Code-Flash-Speicher zugeordnet sind.
- 3 veranschaulicht die Datenstruktur des Code-Flash-Speichers.
- 4 ist eine schematische Ansicht, um ein System zum Überschreiben von Steuerungsdaten eines Steuerungsprogramms zu veranschaulichen.
- 5 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Überschreiben von Steuerungsdaten veranschaulicht.
- 6 veranschaulicht einen Zustand, in dem die Steuerungsdaten des Steuerungsprogramms überschrieben werden.
- 7 veranschaulicht einen Zustand, in dem ein Speicherbereich nach einem Überschreiben der Steuerungsdaten gelöscht ist.
- 8 veranschaulicht ein anderes Beispiel einer Vielzahl von Steuerungsdaten, die im Speicherbereich in einem aktiven Zustand gespeichert sind.
- 9 ist eine schematische Ansicht eines Systems zum Aktualisieren des Steuerungsprogramms, während ein Fahrzeug gefahren wird.
- 10 ist ein Diagramm, um ein Verfahren zum Aktualisieren des Steuerungsprogramms zu veranschaulichen.
- 11 veranschaulicht ein weiteres Beispiel von Speicherbereichen, die im Code-Flash-Speicher zugewiesen sind.
- 12 ist ein Flussdiagramm, das ein Beispiel der Prozeduren veranschaulicht, die ein Arbeiter in einer Montagelinie von Automobilen befolgt.
-
VERFAHREN ZUM AUSFÜHREN DER ERFINDUNG
-
Im Folgenden wird hierin mit Verweis auf die beiliegenden Zeichnungen eine Ausführungsform zum Implementieren der vorliegenden Erfindung im Detail beschrieben.
-
1 veranschaulicht ein Beispiel einer elektronischen Steuerungsvorrichtung 100, für die die vorliegende Erfindung verwendet wird. Die elektronische Steuerungsvorrichtung 100 wird in Fahrzeugen wie etwa Automobilen montiert.
-
Die elektronische Steuerungsvorrichtung 100 enthält einen Prozessor 110, einen Code-Flash-Speicher 120, einen Daten-Flash-Speicher 130, einen Direktzugriffsspeicher (RAM) 140, eine Eingabe-Ausgabe-Schaltung 150, eine Kommunikationsschaltung 160 und einen internen Bus 170, um diese Komponenten wechselseitig kommunikationsfähig zu verbinden. Der Code-Flash-Speicher 120 ist hier ein Beispiel des nichtflüchtigen Speichers. 1 veranschaulicht nur eine elektronische Steuerungsvorrichtung 100; aber ein Fahrzeug kann eine Vielzahl elektronischer Steuerungsvorrichtungen aufweisen, die mit einem Controller Area Network (CAN) oder anderen bordeigenen Netzwerken verbunden sind.
-
Der Prozessor 110 ist eine Hardware, um einen in einem Programm geschriebenen Anweisungssatz (z. B. Datenübertragung, Berechnung, Verarbeitung, Steuerung und Verwaltung) auszuführen. Der Prozessor 110 enthält zum Beispiel eine arithmetische und logische Einheit, ein Register, um Anweisungen und Informationen darin zu speichern, und eine Peripherieschaltung. Der Code-Flash-Speicher 120 enthält einen elektronisch überschreibbaren nichtflüchtigen Speicher und speichert darin Steuerungsprogramme, um beispielsweise einen Motor, ein Automatikgetriebe und eine Kraftstoffeinspritzung zu steuern. Der Daten-Flash-Speicher 130 enthält einen elektronisch überschreibbaren nichtflüchtigen Speicher und speichert beispielsweise einen Lernwert oder andere Daten. Der RAM 140 enthält einen flüchtigen Speicher, in dem Daten gelöscht werden, wenn die Stromversorgung unterbrochen wird. Der RAM 140 stellt einen temporären Speicherbereich für den Prozessor 110 bereit.
-
Die Eingabe-Ausgabe-Schaltung 150 enthält beispielsweise einen A/D-Wandler, einen D/A-Wandler und einen D/D-Wandler und stellt eine Funktion zum Einspeisen eines analogen Signals und eines digitalen Signals in eine externe Vorrichtung und zu deren Abgeben von einer solchen bereit. Die Kommunikationsschaltung 160 enthält beispielsweise einen CAN-Transceiver bzw. eine CAN-Sende-Empfangseinrichtung und stellt eine Funktion zum Verbinden mit dem bordeigenen Netzwerk bereit. Der interne Bus 170 ist ein Pfad zum Austauschen von Daten zwischen Vorrichtungen. Der interne Bus 170 enthält einen Adressbus zum Übertragen einer Adresse, einen Datenbus zum Übertragen von Daten und einen Steuerungsbus, um Informationen über den tatsächlichen Zeitpunkt zur Eingabe oder Ausgabe von Daten über den Adressbus oder Datenbus und Steuerungsinformationen dafür auszutauschen.
-
Die Kommunikationsschaltung 160 der elektronischen Steuerungsvorrichtung 100 ist über ein Gateway 180 mit einer drahtlosen Sende-Empfangseinrichtung 190 zur drahtlosen Kommunikation mit der äußeren Umgebung verbunden. Das Gateway 180 stellt eine Funktion zum Umwandeln des Protokolls von Daten, die von außen übertragen werden, in das Protokoll bereit, das von der Kommunikationsschaltung 160 verarbeitet werden kann, und auch eine Funktion, um das Protokoll der bei der Kommunikationsschaltung 160 verarbeiteten Daten in das Protokoll umzuwandeln, das außerhalb verarbeitet werden kann. Wenn die elektronische Steuerungsvorrichtung 100 nicht mit der äußeren Umgebung drahtlos kommunizieren muss, müssen das Gateway 180 und die drahtlose Sende-Empfangseinrichtung 190 nicht bereitgestellt werden.
-
Wie in 2 veranschaulicht ist, werden vorab in einem Code-Flash-Speicher 120 eine Bank A und eine Bank B als ein Beispiel von zwei Speicherbereichen zugeordnet, die ausschließlich zwischen einem aktiven Zustand und einem inaktiven Zustand umschaltbar sind. Auf die Bank im aktiven Zustand und die Bank im inaktiven Zustand wird hier im Folgenden als „aktiver ROM“ bzw. „inaktiver ROM“ verwiesen. Der inaktive ROM und der aktive ROM sind Beispiele des ersten Speicherbereichs bzw. des zweiten Speicherbereichs.
-
In einem Anfangszustand der elektronischen Steuerungsvorrichtung 100 ist, wie in 3 veranschaulicht, ein Steuerungsprogramm zum Steuern einer Zielkomponente der elektronischen Steuerungsvorrichtung 100 im inaktiven ROM gespeichert. Das Steuerungsprogramm enthält darin eingebettete Steuerungsdaten zum Definieren von Operationen einer Zielkomponente, wie durch eine gestrichelte Linie veranschaulicht ist. Die Steuerungsdaten können hier beispielsweise welche sein, die mit einem Modell mit der größten Anzahl unter mehreren Modellen kompatibel sind, die mit der gleichen elektronischen Steuerungsvorrichtung 100 ausgestattet werden sollen. In einem in 3 veranschaulichten Beispiel ist ein Steuerungsprogramm im inaktiven ROM gespeichert; jedoch können zwei oder mehr Steuerungsprogramme zum Steuern von Zielkomponenten im inaktiven ROM gespeichert werden.
-
In einem Anfangszustand der elektronischen Steuerungsvorrichtung 100 speichert, wie in 3 veranschaulicht, auch der aktive ROM eine Vielzahl von Steuerungsdaten 1 bis N (N: natürliche Zahl größer oder gleich 2), die für das im inaktiven ROM gespeicherte Steuerungsprogramm verwendbar sind, und ein Überschreibprogramm, um die im Steuerungsprogramm eingebetteten Steuerungsdaten zu überschreiben. Das Überschreibprogramm wählt gemäß von außerhalb bereitgestellten Fahrzeuginformationen (Informationen) ein Stück von Steuerungsdaten, das mit der Fahrzeuginformation kompatibel ist, aus der Vielzahl von Steuerungsdaten 1 bis N aus und überschreibt die im Steuerungsprogramm eingebetteten Steuerungsdaten. Der aktive ROM, in dem das Überschreibprogramm und die Vielzahl von Steuerungsdaten gespeichert sind, kann hier ursprünglich zum Zweck von Speicherbereichen, um darin verschiedene, nur in einem Markt verwendete Informationen wie etwa Fehlerinformationen oder Lernwerte zu schreiben, verwendet werden.
-
In dem in 3 veranschaulichten Beispiel speichert der aktive ROM die Steuerungsdaten 1 bis N, die einem Steuerungsprogramm entsprechen, und ein Überschreibprogramm. Falls zwei oder mehr Steuerungsprogramme im inaktiven ROM gespeichert sind, können Steuerungsdaten und Überschreibprogramme entsprechend jedem Steuerungsprogramm gespeichert werden. Auch ist die Anzahl an Steuerungsdaten nicht auf N beschränkt, sondern kann jede beliebige Zahl sein, die in einem Steuerungsprogramm genutzt werden kann.
-
Wenn die mit dem Bestimmungsziel oder den Optionen eines Automobils kompatiblen Steuerungsdaten beispielsweise vor einem Einbau solch einer elektronischen Steuerungsvorrichtung 100 in das Automobil eingestellt werden, wird die elektronische Steuerungsvorrichtung 100 über ein Netzwerkkabel 200 wie etwa CAN, eine serielle Kommunikation, ein Local Interconnect Network (LAN) oder FlexRay (eingetragenes Warenzeichen) mit einer externen Vorrichtung 300, die von einem Arbeiter bedient wird, abnehmbar verbunden, wie in 4 veranschaulicht ist. Bei der externen Vorrichtung 300 handelt es sich beispielsweise um einen Personalcomputer, der mit einer Eingabevorrichtung und einer Anzeigevorrichtung ausgestattet ist. Die externe Vorrichtung 300 speichert in ihrem Speicher, wie etwa einem Festplattenlaufwerk, zumindest ein Programm zum Eingeben von Fahrzeuginformationen von Automobilen. Darüber hinaus fährt die elektronische Steuerungsvorrichtung 100, wenn sie mit der externen Vorrichtung 300 verbunden wird, hoch, indem sie die Stromzufuhr von der externen Vorrichtung 300 empfängt.
-
5 veranschaulicht ein Beispiel einer Verarbeitung zum Überschreiben von Steuerungsdaten, die vom Prozessor 110 der elektronischen Steuerungsvorrichtung 100 ausgeführt wird, wenn die elektronische Steuerungsvorrichtung 100 hochfährt. Der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 führt die Verarbeitung zum Überschreiben von Steuerungsdaten gemäß dem im aktiven ROM des Code-Flash-Speichers 120 gespeicherten Überschreibprogramm durch.
-
In Schritt 1 (in 5 als „S1“ abgekürzt; das Gleiche gilt in den anderen Schritten unten) erhält der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 die Fahrzeuginformationen von der externen Vorrichtung 300. Das heißt, der Prozessor 110 erhält die Fahrzeuginformationen eines mit der elektronischen Steuerungsvorrichtung 100 auszustattenden Fahrzeugs, die von einem Arbeiter an der mit der elektronischen Steuerungsvorrichtung 100 verbundenen externen Vorrichtung 300 eingegeben werden, konkret beispielsweise das Bestimmungsziel oder die Optionen eines Automobils.
-
In Schritt 2 nimmt der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 Bezug auf eine (nicht dargestellte) Tabelle, in der die Fahrzeuginformationen und die Steuerungsdaten beispielsweise miteinander assoziiert sind, und wählt ein Stück von Steuerungsdaten aus, das mit den von der externen Vorrichtung 300 erhaltenen Fahrzeuginformationen kompatibel ist. Diese Tabelle kann als ein Teil des Überschreibprogramms eingebettet sein. Die externe Vorrichtung 300 kann hier dafür konfiguriert sein, Informationen, die die Steuerungsdaten identifizieren können, als die Fahrzeuginformationen bereitzustellen.
-
In Schritt 3 bestimmt der Prozessor 110 der elektronischen Steuerungsvorrichtung 100, ob die Steuerungsdaten des Steuerungsprogramms, die im inaktiven ROM gespeichert sind, überschrieben werden müssen. Indem bestimmt wird, ob die mit den Fahrzeuginformationen kompatiblen Steuerungsdaten mit den Steuerungsdaten des Steuerungsprogramms übereinstimmen, bestimmt konkret der Prozessor 110 der elektronischen Steuerungsvorrichtung 100, ob die Steuerungsdaten des Steuerungsprogramms überschrieben werden müssen. Falls bestimmt wird, dass die Steuerungsdaten des Steuerungsprogramms überschrieben werden müssen, das heißt die mit den Fahrzeuginformationen kompatiblen Steuerungsdaten nicht mit den Steuerungsdaten des Steuerungsprogramms übereinstimmen, führt der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 die Verarbeitung weiter zu Schritt 4 (Ja). Falls auf der anderen Seite bestimmt wird, dass die Steuerungsdaten des Steuerungsprogramms nicht überschrieben werden müssen, das heißt die mit den Fahrzeuginformationen kompatiblen Steuerungsdaten, mit den Steuerungsdaten des Steuerungsprogramms übereinstimmen, führt der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 die Verarbeitung weiter zu Schritt 5 (Nein).
-
In Schritt 4 überschreibt der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 die Steuerungsdaten des Steuerungsprogramms, die im inaktiven ROM gespeichert sind, mit den mit den Fahrzeuginformationen kompatiblen Steuerungsdaten. Falls hier unter Verwendung beispielsweise einer zyklischen Redundanzprüfung (CRC) oder Prüfsumme bestimmt wird, dass ein Überschreiben der Steuerungsdaten nicht erfolgreich abgeschlossen worden ist, kann der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 das Überschreiben der Steuerungsdaten wieder ausführen. Der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 kann auch so konfiguriert sein, dass, falls ein Überschreiben der Steuerungsdaten nicht erfolgreich abgeschlossen worden ist, selbst nachdem ein Überschreiben der Steuerungsdaten eine vorbestimmte Anzahl von Malen nacheinander ausgeführt wurde, der Prozessor meldet, dass ein Fehler in der elektronischen Steuerungsvorrichtung 100 aufgetreten ist, ohne die nachfolgende Verarbeitung durchzuführen.
-
In Schritt 5 schaltet der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 den aktiven ROM auf den inaktiven ROM um und schaltet auch den inaktiven ROM auf den aktiven ROM um. Somit kann der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 ein Überschreibprogramm und eine Vielzahl von Steuerungsdaten, die im inaktiven ROM gespeichert sind, geeignet verarbeiten.
-
In Schritt 6 löscht der Prozessor 110 der elektronischen Steuerungsvorrichtung 100 das Überschreibprogramm und die Vielzahl von Steuerungsdaten, die im inaktiven ROM gespeichert sind, das heißt initialisiert den inaktiven ROM. Dementsprechend kann die elektronische Steuerungsvorrichtung 100 beispielsweise Fehlerinformationen im inaktiven ROM des Code-Flash-Speichers 120 zur Speicherung schreiben. Wenn im inaktiven ROM des Code-Flash-Speichers 120 ein ausreichender Speicherbereich übrig ist, können das Überschreibprogramm und die Vielzahl von Steuerungsdaten ohne Löschung beibehalten werden.
-
Gemäß solch einer elektronischen Steuerungsvorrichtung 100 wird, wenn die elektronische Steuerungsvorrichtung 100 hochfährt, indem sie mit einer externen Vorrichtung 300 verbunden wird, das im aktiven ROM gespeicherte Überschreibprogramm ausgeführt. Das Überschreibprogramm erhält die Fahrzeuginformationen von der externen Vorrichtung 300, um ein Stück von Steuerungsdaten, das mit den Fahrzeuginformationen kompatibel ist, aus einer Vielzahl von Steuerungsdaten auszuwählen, die im aktiven ROM gespeichert sind, wie in 6 veranschaulicht ist. Im veranschaulichten Beispiel werden aus der Vielzahl von Steuerungsdaten 1 bis N Steuerungsdaten 2 ausgewählt; allerdings müssen Steuerungsdaten 2 nicht notwendigerweise ausgewählt werden.
-
Das Überschreibprogramm bestimmt, indem bestimmt wird, ob die Steuerungsdaten des im inaktiven ROM gespeicherten Steuerungsprogramms mit den mit den Fahrzeuginformationen kompatiblen Steuerungsdaten übereinstimmen, ob die Steuerungsdaten des Steuerungsprogramms überschrieben werden müssen. Falls bestimmt wird, dass die Steuerungsdaten überschrieben werden müssen, überschreibt das Überschreibprogramm die Steuerungsdaten des Steuerungsprogramms, die im inaktiven ROM gespeichert sind, mit den mit den Fahrzeuginformationen kompatiblen Steuerungsdaten (zum Beispiel Steuerungsdaten 2), wie in 6 veranschaulicht ist. Falls bestimmt wird, dass die Steuerungsdaten nicht überschrieben werden müssen, oder falls ein Überschreiben der Steuerungsdaten des Steuerungsprogramms abgeschlossen ist, schaltet das Überschreibprogramm auch den aktiven ROM auf den inaktiven ROM um und schaltet auch den inaktiven ROM auf den aktiven ROM um. Das Überschreibprogramm löscht dann das Überschreibprogramm und die Vielzahl von Steuerungsdaten, die im aktiven ROM gespeichert sind, um wie in 7 veranschaulicht den aktiven ROM zu initialisieren, und bereitet beispielsweise ein Schreiben von Fehlerinformationen vor.
-
Somit ist es möglich, in Bezug auf elektronische Steuerungsvorrichtungen 100, die sich nur im Steuerungsprogramm unterscheiden, die im Steuerungsprogramm eingebetteten Steuerungsdaten mit den mit den Bestimmungszielen oder Optionen beispielsweise kompatiblen Steuerungsdaten unter Verwendung des Überschreibprogramms und der Vielzahl von Steuerungsdaten, die im aktiven ROM gespeichert sind, zu überschreiben. Bezüglich einer Übertragung von einer Montagelinie elektronischer Steuerungsvorrichtungen 100 auf eine Montagelinie von Automobilen können, da es nur erforderlich ist, elektronische Steuerungsvorrichtungen 100, die sich nur im Steuerungsprogramm unterscheiden, zu verwalten, die Anstrengungen reduziert werden, die erforderlich sind, um die Varianten elektronischer Steuerungsvorrichtungen zu verwalten. Da ferner ein Überschreibprogramm und eine Vielzahl von Steuerungsdaten unter Verwendung eines Speicherbereichs, der ursprünglich beispielsweise dazu dient, Fehlerinformationen darin zu schreiben, gespeichert werden, kann der ungenutzte Speicherbereich eines Code-Flash-Speichers 120 effektiv genutzt werden.
-
Im Folgenden wird ein spezifisches Beispiel beschrieben. Es wird angenommen, dass es beispielsweise 26 Modelle von Automobilen und 4 Typen von Steuerungsdaten für jedes Modell gibt. In diesem Fall weisen elektronische Steuerungsvorrichtungen 100 in den herkömmlichen Techniken 26 Modelle X 4 Typen = 104 Varianten auf. Auf der anderen Seite weisen elektronische Steuerungsvorrichtungen 100 gemäß der vorliegenden Ausführungsform nur 26 Varianten auf, da es nicht notwendig ist, die Steuerungsdaten für jedes Modell zu verwalten. Dementsprechend wird die Anzahl an Varianten elektronischer Steuerungsvorrichtungen 100 von 104 auf 26 reduziert, wodurch die Anstrengungen, die erforderlich sind, um diese Varianten zu verwalten, reduziert werden. Mit dem reduzierten Aufwand für die Verwaltung nehmen darüber hinaus auch die Kosten der Verwaltung elektronischer Steuerungsvorrichtungen 100 ab, was beispielsweise die Profitabilität des Unternehmens verbessern kann.
-
Das Überschreiben der im Steuerungsprogramm eingebetteten Steuerungsdaten ist nicht auf vor einem Einbau der elektronischen Steuerungsvorrichtung 100 in ein Automobil beschränkt, sondern kann nach einem Einbau der elektronischen Steuerungsvorrichtung 100 in einem Automobil erfolgen. In diesem Fall ist es möglich, die Fahrzeuginformationen eines Automobils, in das die elektronische Steuerungsvorrichtung 100 eingebaut ist, beispielsweise unter Verwendung einer am Automobil montierten Multianzeige oder eines Instruments, das mit einem Port für eine bordeigene Diagnose der zweiten Generation (OBD2) verbunden ist, zu erhalten.
-
Der aktive ROM des Code-Flash-Speichers 120 kann außer einer Vielzahl von Steuerungsdaten 1 bis N, die für das im inaktiven ROM gespeicherte Steuerungsprogramm verwendbar sind, auch Steuerungsdatenunterschiede 1 bis N speichern, die Unterschiede gegenüber den im Steuerungsprogramm eingebetteten Steuerungsdaten angeben, wie in 8 veranschaulicht ist. In diesem Fall können die Steuerungsdatenunterschiede, die mit den Fahrzeuginformationen kompatibel sind, genutzt werden, um die im Steuerungsprogramm eingebetteten Steuerungsdaten zum Überschreiben dieser Steuerungsdaten zu patchen bzw. nachzubessern. Auf diese Weise wird die Speicherkapazität, die erforderlich ist, um eine Vielzahl von Steuerungsdaten zu speichern, reduziert, was ermöglicht, dass viele Steuerungsdaten gespeichert werden, selbst wenn die Kapazität des aktiven ROM des Code-Flash-Speichers 120 gering ist.
-
Der Speicherbereich, in dem das Überschreibprogramm und die Vielzahl von Steuerungsdaten gespeichert waren, kann nach einer Initialisierung genutzt werden, um das Steuerungsprogramm beispielsweise mittels Over The Air (OTA) bzw. einer Funkschnittstelle unter Verwendung einer drahtlosen Kommunikation zu aktualisieren, während ein Fahrzeug gefahren wird.
-
9 veranschaulicht ein Beispiel eines Systems zum Aktualisieren des Steuerungsprogramms einer an einem Fahrzeug VH montierten elektronischen Steuerungsvorrichtung 100 mittels OTA. Ein Aktualisierungsprogramm ist in einem Server SVR eines OTA-Zentrums CTR gespeichert und wird über drahtlose Kommunikation von einer mit dem OTA-Zentrum CTR verbundenen Basisstation BS an das Fahrzeug VH geliefert. Das an das Fahrzeug VH gelieferte Aktualisierungsprogramm wird über die drahtlose Sende-Empfangseinrichtung 190, das Gateway 180 und ein bordeigenes Netzwerk des Fahrzeugs VH an die elektronische Steuerungsvorrichtung 100 gesendet und in den inaktiven ROM des Code-Flash-Speichers 120 der elektronischen Steuerungsvorrichtung 100 geschrieben. Indem man zu einem vorbestimmten Zeitpunkt wie etwa einem Zeitpunkt, um die elektronische Steuerungsvorrichtung 100 wieder hochzufahren bzw. neu zu starten, den aktiven ROM auf den inaktiven ROM umschaltet und auch den inaktiven ROM auf den aktiven ROM umschaltet, kann dann das aktualisierte Steuerungsprogramm genutzt werden, um eine Zielkomponente zu steuern.
-
Im Folgenden wird ein Beispiel der Verarbeitung zur Aktualisierung eines Steuerungsprogramms beschrieben. In einem Anfangszustand der elektronischen Steuerungsvorrichtung 100 ist, wie in 10 veranschaulicht ist, ein Steuerungsprogramm Rev. 1.0 im aktiven ROM gespeichert und wird der inaktive ROM nicht genutzt. In diesem Anfangszustand wird ein Aktualisierungsprogramm Rev. 2.0 in den inaktiven ROM geschrieben und wird zu einem vorbestimmten Zeitpunkt der aktive ROM auf den inaktiven ROM umgeschaltet und wird auch der inaktive ROM auf den aktiven ROM umgeschaltet. Dementsprechend kann die elektronische Steuerungsvorrichtung 100 danach das in den aktiven ROM geschriebene Steuerungsprogramm Rev. 2.0 ausführen, wodurch beispielsweise solch eine Steuerung durchgeführt wird, dass eine Funktion hinzugefügt wird oder ein Bug bzw. Fehler repariert wird.
-
Wenn das in den aktiven ROM geschriebene Steuerungsprogramm Rev. 2.0 weiter aktualisiert wird, wird ein Aktualisierungsprogramm Rev. 3.0 in den inaktiven ROM geschrieben und wird zu einem vorbestimmten Zeitpunkt der aktive ROM auf den inaktiven ROM umgeschaltet und wird auch der inaktive ROM auf den aktiven ROM umgeschaltet. Auf diese Weise kann das Steuerungsprogramm aktualisiert werden, selbst wenn das Fahrzeug VH fährt.
-
Der Code-Flash-Speicher 120 kann außer den zugeordneten zwei Speicherbereichen, die ausschließlich zwischen einem aktiven Zustand und einem inaktiven Zustand umschaltbar sind, den ersten Speicherbereich zum Speichern eines Steuerungsprogramms, in dem Steuerungsdaten eingebettet sind, und den zweiten Speicherbereich zum Speichern eines Überschreibprogramms und eine Vielzahl von Steuerungsdaten 1 bis N aufweisen, wie in 11 veranschaulicht ist. Im veranschaulichten Beispiel weist der Code-Flash-Speicher 120 nur erste und zweite Speicherbereiche auf; er kann aber ferner einen Speicherbereich zum Speichern beliebiger Daten aufweisen.
-
12 veranschaulicht den Überblick von Prozeduren zum Überschreiben der Steuerungsdaten einer elektronischen Steuerungsvorrichtung 100 in einer Montagelinie von Automobilen. Im folgenden Beispiel wird eine elektronische Steuerungsvorrichtung 100 in ein Automobil eingebaut und werden Arbeitsanweisungen unter Verwendung der im Automobil angeordneten Multianzeige gegeben. Die Arbeitsanweisungen können auch beispielsweise durch Verbinden eines Instruments mit dem OBD2-Port oder mittels OTA gegeben werden. Wenn die Steuerungsdaten vor einem Einbau der elektronischen Steuerungsvorrichtung 100 in ein Automobil überschrieben werden, können Arbeitsanweisungen auch beispielsweise durch Verbinden eines Instruments mit dem OBD2-Port gegeben werden.
-
In Schritt 11 bestimmt ein Arbeiter, ob ein Bildschirm mit einer Bestätigung des Überschreibens, zum Beispiel „Überschreiben ausführen“, in der Multianzeige angezeigt wird. Falls bestimmt wird, dass der Bildschirm mit einer Bestätigung des Überschreibens angezeigt wird, geht der Arbeiter zu Schritt 12 weiter (Ja). Falls auf der anderen Seite bestimmt wird, dass der Bildschirm mit einer Bestätigung des Überschreibens nicht angezeigt wird, geht der Arbeiter zu Schritt 14 weiter (Nein). Hier wird angenommen, dass der Fall, in dem der Bildschirm mit einer Bestätigung des Überschreibens nicht angezeigt wird, auftritt, wenn das Überschreibprogramm, das ausgeführt wird, indem die elektronische Steuerungsvorrichtung 100 hochgefahren wird, bestimmt, dass ein Überschreiben der Steuerungsdaten nicht notwendig ist.
-
In Schritt 12 gibt der Arbeiter eine Anweisung, ein Überschreiben der Steuerungsdaten zu beginnen, über einen auf der Multianzeige angezeigten Bildschirm mit einer Beginn-Anweisung, zum Beispiel „Überschreiben Beginnen OK? Y/N“, ein. Wenn die Anweisung, ein Überschreiben der Steuerungsdaten zu beginnen, erteilt wird, überschreibt die elektronische Steuerungsvorrichtung 100 mittels der oben beschriebenen Verarbeitung die Steuerungsdaten des Steuerungsprogramms, die im inaktiven ROM gespeichert sind. Wenn eine Anweisung, ein Überschreiben der Steuerungsdaten nicht zu beginnen, erteilt wird, beendet der Arbeiter anschließend die Prozeduren zum Überschreiben der Steuerungsdaten.
-
In Schritt 13 bestimmt der Arbeiter, ob der Bildschirm mit einer Bestätigung des Abschlusses des Überschreibens, zum Beispiel „Überschreiben abgeschlossen. Zündung bitte ausschalten.“, auf der Multianzeige angezeigt wird. Falls bestimmt wird, dass der Bildschirm mit einer Bestätigung des Abschlusses des Überschreibens angezeigt wird, geht der Arbeiter zu Schritt 14 weiter (Ja). Falls bestimmt wird, dass der Bildschirm mit einer Bestätigung des Abschlusses des Überschreibens nicht angezeigt wird, wartet der Arbeiter, bis der Bildschirm mit einer Bestätigung des Abschlusses des Überschreibens angezeigt wird (Nein).
-
In Schritt 14 schaltet der Arbeiter den Zündschalter aus und sieht anschließend einen Bildschirm mit einer Bestätigung der Nummer der Software-Komponente, zum Beispiel „Nummer der Software-Komponente: xxx-xxxx-xx“, auf der Multianzeige, um zu bestätigen, dass es beim Überschreiben der Steuerungsdaten kein Problem gibt.
-
Auf diese Weise müssen Arbeiter von Montagelinien von Automobilen nur Anweisungen, ein Überschreiben der Steuerungsdaten zu beginnen, geben und Nummern von Software-Komponenten bestätigen und wird die Arbeitsbelastung reduziert. Dementsprechend kann der Prozess zum Überschreiben der Steuerungsdaten der Montagelinie hinzugefügt werden. Im Gegensatz zu einer End-of-Line-Programmierung (EOLP) ist darüber hinaus keine dedizierte Überschreibvorrichtung notwendig, da es nur erforderlich ist, eine bestehende Einrichtung wie etwa mit dem OBD2-Port verbundener Instrumente und die Multianzeige zu nutzen. Dies hat einen geringen Kapitaleinsatz zur Folge.
-
In den oben beschriebenen Ausführungsformen weist der Code-Flash-Speicher 120 zwei Speicherbereiche auf, kann aber der Daten-Flash-Speicher 130 zwei Speicherbereiche aufweisen.
-
Man beachte, dass der Fachmann erkennt, dass verschiedene technische Ideen der obigen Ausführungsformen weggelassen, geeignet kombiniert oder in Teilen ersetzt werden können, um eine andere Ausführungsform zu schaffen.
-
Bezugszeichenliste
-
- 100
- elektronische Steuerungsvorrichtung
- 110
- Prozessor
- 120
- Code-Flash-Speicher (nichtflüchtiger Speicher)
-
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
-
- JP 62067422 A [0002, 0003]