-
Die Erfindung betrifft einen Rechner
zur Steuerung des Betriebs eines Funktionsorgans eines Kraftfahrzeugs.
-
Die Erfindung bezieht sich insbesondere
auf einen solchen Rechner, der eine Mikroprozessoreinheit umfaßt, der
Mittel zur Speicherung von Daten zugeordnet sind und die dafür ausgelegt
ist, bei Aktualisierungsoperationen des Rechners an ein Werkzeug
zum Herunterladen von Informationen zur Aktualisierung der gespeicherten
Daten angeschlossen zu werden.
-
Aus dem Stand der Technik, beispielsweise
aus der Schrift FR-A-2 719 919, ist ein Steuerrechner dieses Typs
bekannt, bei dem die Speichermittel folgendes umfassen:
- 1) einen nicht-flüchtigen
Speicher, der dafür
ausgelegt ist, ein Programm zum Hochfahren des Rechners zu speichern,
- 2) einen Flash-Speicher, der dafür ausgelegt ist, mindestens
ein Anwendungsprogramm für
das Funktionsorgan zu speichern,
- 3) mindestens einen Datenspeicher und
- 4) einen elektrisch programmierbaren nicht-flüchtigen
Speicher, der dafür
ausgelegt ist, Informationen zur Identifizierung des Rechners und
dieses mindestens einen Anwendungsprogramms zu speichern.
-
Ein derartiger Rechneraufbau wurde
entwickelt, um die Probleme der Aktualisierung der verschiedenen
Daten, die in den Speichermitteln des Rechners gespeichert sind,
zu lösen.
-
Es kann nämlich interessant sein, in
den Rechner ein neues Anwendungsprogramm und/oder neue Daten beispielsweise
zur Kalibrierung fernladen zu können,
um den Betrieb des Rechners so zu ändern, daß die Steuerung des Funktionsorgans
in der Folge von an diesem vorgenommenen Verbesserungen optimiert wird.
-
Man hat deshalb im Stand der Technik
Fernladewerkzeuge entwickelt, die dafür ausgelegt sind, beispielsweise
durch eine Fernladeleitung mit dem Rechner verbunden zu werden,
um in dessen Datenspeichermittel Informationen zu deren Aktualisierung
einzugeben.
-
In diesem Fall muß der Rechner eine Identifizierungszone
besitzen, die die Parameter enthält,
die einerseits für
die Identifizierung des Rechners und andererseits für die Identifizierung
der in seinen Speichermitteln gespeicherten Daten erforderlich sind.
-
Die Schrift FR-A-2 719 beschreibt
ein Verfahren zur Entriegelung des Zugangs des Fernladewerkzeugs
zu dem Rechner.
-
Bei jeder Operation der Aktualisierung
dieses Rechners überschreiben
die in diesen eingegebenen Aktualisierungsinformationen die zuvor
in den Speichermitteln des Rechners gespeicherten Daten, um sie
zu ersetzen.
-
Ziel der Erfindung ist es, eine Verbesserung
für diese
Art von Rechner vorzuschlagen.
-
Zu diesem Zweck ist Gegenstand der
Erfindung ein Rechner zur Steuerung des Betriebs eines Funktionsorgans
eines Kraftfahrzeugs, umfassend eine Mikroprozessoreinheit, der Mittel
zum Speichern von Daten zu geordnet sind und die dafür ausgelegt
ist, bei Aktualisierungsoperationen des Rechners an ein Werkzeug zum
Fernladen von Informationen zur Aktualisierung der gespeicherten
Daten angeschlossen zu werden, dadurch gekennzeichnet, daß die Speichermittel
eine Zone zum Speichern von Daten aufweisen, die einen Bericht der
Aktualisierungsoperationen des Rechners betreffen.
-
Zum besseren Verständnis de
Erfindung folgt ausschließlich
als Beispiel eine Beschreibung, in der auf die beiliegende Zeichnung
Bezug genommen wird, die ein Gesamtschaltbild zeigt, das den Aufbau
eines erfindungsgemäßen Steuerrechners
veranschaulicht.
-
Die Figur zeigt einen Rechner zur
Steuerung mindestens eines Funktionsorgans eines Kraftfahrzeugs, der
eine mit dem allgemeinen Bezugszeichen 1 bezeichnete Mikroprozessoreinheit
aufweist, der Speichermittel 2 zugeordnet sind.
-
Dieser Rechner kann sowohl ein Rechner
zur Steuerung des Betriebs des Motors des Fahrzeugs, als auch ein
Rechner zur Steuerung des elektronischen Getriebes, zur Steuerung
der Federung, der Klimaanlage oder auch ein Bordrechner sein.
-
Alle Bordsysteme des Fahrzeugs können nämlich einen
Aufbau besitzen, der auf der Verwendung eines Mikroprozessors oder
eines Mikrosteuergeräts,
dem Speicher zugeordnet sind, beruht.
-
Die Speichermittel 2 umfassen
beispielsweise:
- 1) einen nicht-flüchtigen
Speicher 3, der dafür
ausgelegt ist, ein Programm zum Hochfahren des Rechners zu speichern,
- 2) einen Flash-Speicher 4, der dafür ausgelegt ist, mindestens
ein Anwendungsprogramm für
das Funktionsorgan zu speichern,
- 3) mindestens einen Datenspeicher 5 und
- 4) einen elektrisch programmierbaren nicht-flüchtigen
Speicher 6, der dafür
ausgelegt ist, Informationen zur Identifizierung des Rechners und
dieses mindestens eines Anwendungsprogramms zu speichern.
-
Der Rechner muß nämlich ein Anfahr- oder BOOT-Programm
enthalten, das in einem paginierten nicht-flüchtigen Speicher vom Typ EEPROM
oder Flash des digitalen Herzen installiert ist, um beispielsweise das
Anfahren einer Fernladung des Anwendungsprogramms in den Rechner
zu gestatten.
-
Der Anwendungsprogrammspeicher entspricht
einer Zone zur Speicherung des Programms, das dem elektronischen
Rechner die Erfüllung
der Funktion, für
die er ausgelegt wurde, gestattet.
-
Es schließt ebenso das Programm wie
die Daten sowie die Kalibrierungen ein.
-
Der Datenspeicher 5 ist
eine Datenzone, die dem Speicherplatz entspricht, der für die Verarbeitung der
empfangenen Schriftzeichen beispielsweise auf einer Fahrzeugdiagnose-Strecke und für sein Fernladeprogramm
erforderlich ist.
-
Der elektrisch programmierbare nicht-flüchtige Speicher 6 zur
Speicherung der Informationen zur Identifizierung des Rechners wird
in sofern verwendet, als der Rechner eine Identifizierungszone besitzen muß, die die
Parameter enthält,
die einerseits für
die Identifizierung des Rechners und andererseits für die Identifizierung
des Anwendungsprogramms erforderlich sind.
-
Bei mit einem EEPROM-Speicher ausgerüsteten Rechnern
ist die Identifizierungszone in diesem Speicher gespeichert, um
ständig
erhalten zu bleiben, während
sie bei den anderen Rechnern direkt in dem EPROM-Flashspeicher gespeichert
ist.
-
-
Diese Identifizierungszone umfaßt beispielsweise
die folgenden Zonen:
- 1) CHKSUM, die einer Zone
der Kontrollsumme des Flashspeichers nach Fernladen des Codes entspricht, und
diese Information kann auf 16 Bits gegeben werden.
-
Die Identifizierungszone ist nicht
in die Berechnung der Kontrollsumme integriert. Diese Zone kann
die Ergänzung
des Modulo 65536 der Summe der ferngeladenen Bytes auf zwei enthalten.
-
Nach Fernladung muß der Rechner
seine Kontrollsumme berechnen, die, zur Kontrollsumme der Identifizierungssumme
addiert, gleich null sein muß.
-
Diese Zone ist nicht erforderlich,
wenn andere Kontrollmittel verwendet werden.
-
- 2) CLEF, die einer Schlüsselzone zum Zugang zum Rechner
entspricht.
- Diese Information beispielsweise von 16 Bit gibt den Zugangsschlüssel zum
Fernladeprogramm, und dieser Schlüssel ist inaktiv, wenn sein
Wert gleich null ist.
- 3) LIEFERANT, die einer Zone der Identifizierung des Lieferanten
des Rechners entspricht, die beispielsweise auf 8 Bit codiert ist
und dessen Identifizierung ausgehend von einer beliebigen bestimmten
Codierungslogik gestattet.
- 4) SYSTEM, die einer Zone zur Identifizierung der Familie des
Rechners entspricht, d.h. der Definition der Hardware dieser Familie,
die beispielsweise auf 8 Bit codiert ist.
- 5) DATUM-1, die einer Zone der Angabe des Herstellungsdatums
des Rechners beispielsweise auf drei Bytes entspricht. Das erste
Byte kann den Tag des Herstellungsmonats angeben, das zweite den
Monat des Jahres und das dritte das Jahr des Jahrhunderts.
- 6) ANWENDUNG, die einer beispielsweise auf 8 Bit codierten Zone
der Identifizierung des Anwendungstyps entspricht, für den das
Anwendungsprogramm bestimmt ist und der bei einem gegebenen System
einer anderen Hardwareversion entspricht.
- 7) VERSION, die einer Zone der Identifizierung der Version des
gespeicherten Anwendungsprogramms entspricht, d. h. einer beispielsweise
auf 8 Bit codierten Information, die die Version der Hardware kennzeichnet,
die in dem Rechner arbeitet.
- 8) AUSGABE, die einer Zone der Angabe des Änderungszustands des gespeicherten
Anwendungsprogramms entspricht, die beispielsweise auf 16 Bit codiert
ist. Das große
Gewicht dieser Zone kann dem Änderungszustand
der Software entsprechen, während
das kleine Gewicht dem Änderungszustand
der Kalibrierung entsprechen kann.
-
Bei Rechnern, die keine Kalibrierungsindizes
verwenden, kann das kleine Gewicht auf null. gezwungen werden.
-
- 9) DATUM-2, die einer Zone der Angabe des Datums
des Ladens der Version/Ausgabe des gespeicherten Anwendungsprogramms
entspricht. Diese Information, beispielsweise auf drei Bytes, identifiziert
das letzte Programmierungs- oder Nachprogrammierungsdatum der Version/Ausgabe
des Programms des Rechners. Die Codierung dieser Zone ist mit der
der Zone DATUM-1 identisch.
- 10) PLATZ, die einer Zone der Identifizierung des Platzes entspricht,
an dem die erste Ladung eines Anwendungsprogramms im Flash-Speicher
stattgefunden hat, die in Form einer Information auf 8 Bit vorliegen kann,
die auf eine beliebige bestimmte Weise codiert ist, um diesen Platz
zu identifizieren.
- 11) KENNZEICHEN, die einer Zone der Identifizierung des Kennzeichens
des Platzes entspricht, an dem die Ladung des gespeicherten Anwendungsprogramms
stattgefunden hat, die auf beliebige bestimmte Weise auf drei Bytes
codiert ist, um den Ort der Nachprogrammierung des Rechners zu identifizieren,
und schließlich
- 12) ANZAHL, die einer Zone der Angabe der Anzahl von in den
Flashspeicher geladenen Anwendungsprogrammen entspricht. Diese Information,
beispielsweise auf 8 Bit, identifiziert die Anzahl von Anwendungsprogrammen,
die in den Rechner geladen wurden, und gestattet auch die Identifizierung
des Vorhandenseins eines Anwendungsprogramms.
-
Diese Variable wird direkt von dem
Rechner erzeugt und gestattet es zu jedem Zeitpunkt, die Anzahl von
auf dem Rechner tatsächlich
durchgeführten
Programmierungen zu kennen, und gestattet beispielsweise die Identifizierung
der von nicht befugten Instanzen durchgeführten Programmierungen.
-
Es können andere Kontrollmittel
verwendet werden, um derartige betrügerische Programmierungen zu erkennen,
wie es ausführlicher
im nachstehenden beschrieben wird.
-
Um die Fernladung eines Anwendungsprogramms
unter den besten Bedingungen zu gewährleisten, muß diese
Identifizierungszone folgendermaßen programmiert und/oder aktualisiert
werden:
-
Die Programmierung des Rechners kann
in drei verschiedene Phasen zerlegt werden, und zwar eine erste
Phase, die einer Herstellung des Rechners entspricht, der eine erste
Programmierung durch dessen Lieferanten zugeordnet ist, eine zweite
Phase, die entweder beim Lieferanten des Rechners oder beim Benutzer durchgeführt werden
kann und der Programmierung der ersten Anwendung in diesem entspricht,
und schließlich
eine dritte Phase, die dem Kundendienst für die Verwaltung der Softwareänderungen
vorbehalten ist.
-
In der ersten Phase der Programmierung
beim Lieferanten des Rechners muß dieser einen Teil der Identifizierungszone
programmieren, um das Produkt zu identifizieren, und zwar auf eine
Weise, die in der nachstehenden Tabelle beschrieben wird.
-
In dieser Tabelle sind die durch
den Lieferanten codierten Informationen mit X bezeichnet.
-
-
Wenn der Rechner beispielsweise einem
Kraftfahrzeughersteller geliefert wurde, wird er in das Fahrzeug
eingebaut, und die zweite Phase seiner Programmierung findet beispielsweise
auf der Fahrzeug-Montagestrecke statt.
-
Diese zweite Programmierungsphase
gestattet die Installierung des Anwendungsprogramms.
-
Diese Operation wird beispielsweise
durch Fernladen dieses Programms in den entsprechenden Speicher
des Rechners über
eine Fernladeleitung durchgeführt,
die in der Figur mit 7 bezeichnet ist. Diese Fernladeleitung gestattet
es, mindestens ein Anwendungsprogramm in den Flash-Speicher zu laden
und die Identifizierungszone im elektrisch programmierbaren nicht-flüchtigen
Speicher zu aktualisieren.
-
Vor der Durchführung der Fernladung dieses
Codes muß das
entsprechende Fernladewerkzeug Parameter der Identifizierungszone
des Rechners mit zu installierenden Parametern korrelieren, die
beispielsweise den oben beschriebenen Zonen SYSTEM oder ANWENDUNG
entsprechen.
-
Diese Parameter SYSTEM und ANWENDUNG
des zu installierenden Codes müssen
nämlich
mit den gespeicherten Codes identisch sein.
-
Die Identifizierungszone wird dann
folgendermaßen
geändert,
wobei die in dieser zweiten Programmierungsphase vorgenommenen Änderungen
mit Y bezeichnet werden:
-
Es ist unbedingt erforderlich, daß das Fernladeverfahren
die Identifizierungszone ändert,
um sie erst nach der Datenübertragung
und der Fernladung des Programms zu aktualisieren.
-
Die dritte Phase der Programmierung,
beispielsweise als Serviceleistung nach Verkauf unterscheidet sich
von der vorhergehenden nur dadurch, daß sie an dem Fahrzeug beispielsweise
im Rahmen des Kundendienstes durchgeführt wird.
-
Vor Durchführung der Fernladung des Codes
muß das
Fernladewerkzeug gewisse Parameter der Identifizierungszone mit
den zu installierenden Parametern korrelieren.
-
Diese Parameter sind die Parameter
SYSTEM, ANWENDUNG, VERSION und AUSGABE.
-
Die Parameter SYSTEM, ANWENDUNG und
VERSION des zu installierenden Codes müssen mit den entsprechenden
gespeicherten Parametern identisch sein, während der Parameter AUSGABE
des zu installierenden Codes unbedingt höher als der in der Identifizierungszone
gespeicherte Parameter AUSGABE sein muß.
-
Im Fall von Rechnern zur Steuerung
des Betriebs der Motoren, die mit einer Tastatur "codierte Wegfahrsperre" verbunden sind,
blockiert diese im verriegelten Zustand jede Verbindung mit den
Fernladeleitungen, so daß zuvor
eine Entriegelung des Rechners durch diese Tastatur "codierte Wegfahrsperre" vorzunehmen ist.
-
Die dritte Programmierungsphase besteht
in den folgenden Änderungen
der Identifizierungszone (Änderungen
mit Z bezeichnet)
-
Eine weitere Programmierung kann
auch bei Installierung eines Austauschrechners vorgenommen werden.
-
Der Rechner besitzt ursprünglich nur
das Etikett des Lieferanten, ein zweites Etikett wird durch den Kundendienst
bei der Programmierung dieses Austauschrechners hinzugefügt. Diese
Programmierung eines Austauschrechners unterscheidet sich jedoch
nicht von den oben beschriebenen Vorgehensweisen, nur die Identifizierungszone
wird geändert,
und sie sieht folgendermaßen
aus (Änderungen
mit W bezeichnet):
-
Der Aufbau dieses Rechners gestattet
also eine sehr einfache Nachbesserung des oder der in diesen geladenen
Anwendungsprogramme und eine Aktualisierung der Identifizierungszone.
-
Außerdem weisen die Speichermittel 2 des
Rechners eine Zone zur Speicherung von Informationen auf, die einen
Bericht der Aktualisierungsoperationen des Rechners betreffen.
-
So kann diese Zone zur Speicherung
der Informationen, die einen Bericht der Aktualisierungsoperationen
betreffen, in einem nicht-flüchtigen
Speicher der Speichermittel 2 vorgesehen sein, wobei dieser nicht-flüchtige Speicher
beispielsweise von einem Teil des Flash-Speichers der Speichermittel
gebildet ist.
-
Diese Bericht-Informationen umfassen
nun verschiedene Daten, die die Verfolgung der aufeinanderfolgenden Änderungen
und Aktualisierungen der in den Speichermitteln des Rechners gespeicherten
Daten gestatten, um beispielsweise dessen Entwicklung nachzuvollziehen,
indem eine Spur seiner verschiedenen Konfigurationen in der Zeit
aufbewahrt wird.
-
Diese Bericht-Informationen können beispielsweise
Informationen zur Identifizierung des Lieferanten des Rechners,
Informationen zur Identifizierung dieses Rechners und Informationen
zur Identifizierung der in den Speichermitteln gespeicherten Daten
umfassen.
-
Außerdem können diese Informationen auch
Informationen des Aktualisierungsdatums und Informationen zur Identifizierung
des Platzes, an dem diese Aktualisierung stattgefunden hat, umfassen.
-
Diese verschiedenen Informationen
wurden oben beschrieben und werden hier nicht ausführlich wiederholt.
-
In diese Bericht-Informationen können natürlich auch
noch andere Informationen integriert werden.
-
Auf diese Weise kann also im Rechner
eine Spur der verschiedenen Aktualisierungsoperationen, die an diesem
Rechner vorgenommen worden waren, bewahrt werden, um beispielsweise
das Verständnis
der Arbeitsweise und seine Wartungsoperationen sowie die Erfassung
von betrügerischen
Manipulationen an diesem Rechner zu erleichtern.