-
Die Erfindung betrifft ein Steuergerät mit einem
Microcontroller mit integriertem oder externem zugeordnetem Flashspeicher,
welcher Microcontroller über
eine Schnittstelle mit einem an einen Datenbus anschließbaren Transceiver
verbunden ist, der entweder in einem Normalmodus zur Datenübertragung
oder in einem Flashmodus zum Beschreiben des Flashspeichers betreibbar
ist.
-
In modernen Kraftfahrzeugen ist eine
große Zahl
von elektronischen Steuergeräten
eingebaut, bei einem Fahrzeug der Oberklasse können je nach Ausstattung mehr
als 40 Steuergeräte
eingebaut sein. Herkömmliche
Steuergeräte
besitzen einen internen Transceiver, der die Kommunikation zwischen einem
Microcontroller des Steuergeräts
und externen Geräten über einen
Datenbus steuert. Der Microcontroller weist einen integrierten oder
externen Flashspeicher auf, in dem Steuerungsprogramme des Steuergeräts abgelegt
sind.
-
Die Steuergeräte werden normalerweise von den
Halbleiterherstellern programmiert, das heißt "geflasht", geliefert. Es kann jedoch der Fall
eintreten, dass vor der Auslieferung des Fahrzeugs eine Softwareänderung
stattgefunden hat, so dass bestimmte Steuergeräte wieder neu beschrieben,
also geflasht werden müssen.
Falls später
eine Änderung der
Software erforderlich ist, können
die Steuergeräte
in einer Kfz-Werkstatt neu geflasht werden. Das Beschreiben der
Flashspeicher beim Fahrzeughersteller und in der Kfz-Werkstatt dauert
in Abhängigkeit
der zu übertragenden
Datenmenge üblicherweise
mehrere Stunden. Wenn bei einer größeren Zahl von Autos die Steuergeräte neu programmiert
werden müssen,
kommt es zu großen
logistischen Problemen. Es wird angenommen, dass die Speicher von
Steuerge räten
in Zukunft häufiger
neu beschrieben werden müssen,
so dass auch die in diesem Zusammenhang auftretenden Probleme zunehmen werden.
-
In der
DE 195 00 453 A1 wird ein
Verfahren zum Beschreiben von Steuergeräten vorgeschlagen, bei dem
das Steuergerät
mit einem externen Applikationsgerät als Programmiergerät über eine
serielle Schnittstelle verbunden wird. Allerdings weist auch dieses
Verfahren den Nachteil auf, dass das Flashen des Steuergeräts zu lange
dauert.
-
Ein Problem bei dem Beschreiben von
in Kraftfahrzeugen eingebauten Flashspeichern liegt darin, dass
dazu der sogenannte CAN-Bus des Fahrzeugs benutzt wird. Der CAN-Bus
ist ein digitaler Bus, der mit einer vergleichsweise geringen Datenübertragungsrate
betrieben wird, die typischerweise 500 kBaud beträgt.
-
Der Erfindung liegt daher das Problem
zugrunde, die genannten Nachteile zu vermeiden und das Flashen von
Steuergeräten
in Kraftfahrzeugen zu verbessern.
-
Zur Lösung dieses Problems ist bei
einem Steuergerät
der eingangs genannten Art erfindungsgemäß vorgesehen, dass der Transceiver
eine eine erhöhte
Datenübertragungsgeschwindigkeit
zulassende Datenübertragungsstrecke
aufweist, über
die die Daten im Flashmodus an den Flashspeicher übertragbar
sind.
-
Da die Daten bei dem erfindungsgemäßen Steuergerät mit einer
wesentlich größeren Geschwindigkeit übertragen
werden, verkürzt
sich die Zeit, die zum Flashen erforderlich ist, erheblich. Da die
erfindungsgemäßen Steuergeräte erheblich schneller
programmierbar sind, werden die geschilderten logistischen Probleme
beim Fahrzeughersteller vermieden. Ebenso kann die Dauer von Werkstattaufenthalten
verkürzt
werden, was zu Kosteneinsparungen der Kunden führt.
-
Das erfindungsgemäße Steuergerät wird im üblichen
Fahrbetrieb im Normalmodus betrieben. In diesem Zustand kommuniziert
das Steuergerät über den
Datenbus mit anderen Steuergeräten
oder es erhält
Signale von Sensoren oder Schaltern und dergleichen. Nur wenn der
Flashspeicher des Steuergeräts
neu beschrieben werden soll, wird das Steuergerät im Flashmodus betrieben.
Im Flashmodus werden die Daten mit einer wesentlich höheren Geschwindigkeit
im Vergleich zu dem Normalmodus übertragen.
-
Es ist besonders vorteilhaft, wenn
die die erhöhte
Datenübertragungsgeschwindigkeit
zulassende Datenübertragungsstrecke
als zweite Schnittstelle zwischen dem Transceiver und dem Microcontroller ausgebildet
ist bzw. eine solche umfasst. Der Transceiver und der Microcontroller
des erfindungsgemäßen Steuergeräts sind
intern über
zwei Schnittstellen miteinander verbunden. Die erste Schnittstelle
wird wie bei herkömmlichen
Steuergeräten
im Normalbetrieb benutzt, wohingegen die zweite Schnittstelle der schnellen
Datenübertragungsstrecke
ausschließlich für den Flashmodus
vorgesehen ist und für
eine besonders hohe Übertragungsgeschwindigkeit
ausgelegt ist. Die erste Schnittstelle ist im Flashmodus abschaltbar
bzw. inaktiv und die schnelle Datenübertragungsstrecke mit ihrer
zweiten Schnittstelle ist als Bypassleitung betreibbar.
-
Es ist günstig, wenn die schnelle Datenübertragungsstrecke
bzw. die zweite Schnittstelle des erfindungsgemäßen Steuergeräts z. B.
ein SPI-Interface aufweist bzw. damit verbunden ist. SPI ist die Abkürzung für Serial
Peripheral Interface, dabei handelt es sich um eine Standardschnittstelle
mit drei Leitungen. Es kann aber auch jedwedes andere Interface,
das eine hinreichend schnelle Datenübertragung ermöglicht,
verwendet werden.
-
Der Flashspeicher des erfindungsgemäßen Steuergeräts kann
besonders schnell beschrieben werden, wenn der Transceiver für eine Datenübertragungsgeschwindigkeit
von bis zu 15 MBaud im Flashmodus ausgelegt ist. Eine besonders
schnelle Datenübertragung
lässt sich
jedoch auch bereits mit Steuergeräten durchführen, die für eine Übertragungsgeschwindigkeit
zwischen 1 MBaud und 10 MBaud im Flashmodus ausgelegt sind.
-
Gemäß einer vorteilhaften Weiterbildung
der Erfindung kann vorgesehen sein, dass für den Flashmodus unterschiedliche
Datenübertragungsgeschwindigkeiten
wählbar
sind. Eine hohe Datenübertragungsrate
kann z.B. bei optimalen Bedingungen gewählt werden. Falls schlechtere
Bedingungen vorliegen, z.B. wenn Störsignale auftreten, kann eine niedrigere
Datenübertragungsrate
gewählt
werden. Auf diese Weise lässt
sich eine besonders gute Anpassung an unterschiedliche Betriebsbedingungen erzielen.
-
Es ist auch möglich, dass durch den Transceiver
beim Beginn des Flashmodus eine niedrige Datenübertragungsgeschwindigkeit
wählbar
ist, die schrittweise erhöht
werden kann. Dementsprechend wird zunächst eine Datenübertragung
bei einer geringen Geschwindigkeit durchgeführt. Wenn diese Kommunikation
fehlerfrei abläuft,
können
das Steuergerät und
das andere mit dem Steuergerät
kommunizierende Gerät
die Datenübertragungsgeschwindigkeit erhöhen. Wenn
die Datenübertragung
bei dieser erhöhten
Datenübertragungsgeschwindigkeit
fehlerfrei abläuft,
kann die Übertragungsgeschwindigkeit
weiter erhöht
werden.
-
Mit besonderem Vorteil kann das erfindungsgemäße Steuergerät an den
CAN-Bus eines Kraftfahrzeugs angeschlossen werden. Wenn der CAN-Bus
benutzt wird, sind keine weiteren Bauteile erforderlich, um den
Flashspeicher zu beschreiben, da die vorhandene Fahrzeuginfrastruktur
genügt.
-
Eine besonders hohe Betriebssicherheit
wird bei dem erfindungsgemäßen Steuergerät erzielt, wenn
der Transceiver vom Flashmodus in den Normalmodus umschaltet, nachdem
während
eines vorgegebenen Zeitraums keine Flashsignale empfangen worden
sind. Wenn die Datenübertragung
des Flashvorgangs beendet ist, kehrt das Steuergerät automatisch
in den Normalmodus zurück,
ohne dass von dem externen Gerät,
das die Daten sendet, ein Stopp- oder Umschaltsignal oder dergleichen
gesendet werden muss.
-
Die Erfindung betrifft auch ein Kraftfahrzeug, das
eines oder vorzugsweise mehrere erfindungsgemäße Steuergeräte aufweist.
-
Eine noch größere Zeiteinsparung kann bei einem
erfindungsgemäßen Kraftfahrzeug
erzielt werden, wenn mehrere Steuergeräte gleichzeitig im Flashmodus
betreibbar sind. Die von einem externen Gerät an die Steuergeräte übertragenen
Daten können
adressiert sein, so dass jedes Steuergerät nur die für das jeweilige Gerät bestimmte
Daten erhält. Die
Daten können
dabei z.B. paketweise übertragen werden,
wobei jedes Paket einem bestimmten Steuergerät zugeordnet ist. Bei einem
derart ausgebildeten Kraftfahrzeug können die Steuergeräte parallel geflasht
werden, was in einer beträchtlichen
Zeitersparnis resultiert.
-
Die Erfindung betrifft ferner ein
Verfahren zur Übertragung
von Daten an einen integrierten Flashspeicher eines Microcontrollers
oder einen einem Microcontroller zugeordneten externen Flashspeicher eines
Steuergeräts,
der über
eine Schnittstelle mit einem an einen Datenbus angeschlossenen Transceiver
verbunden ist, der entweder in einem Normalmodus oder in einem Flashmodus
zum Beschreiben des Flashspeichers betrieben wird.
-
Um die Nachteile der bekannten Datenübertragungsverfahren
zu vermeiden, ist bei dem eingangs genannten Verfahren erfindungsgemäß vorgesehen,
dass die Daten im Flashmodus über
eine eine erhöhte
Datenübertragungsgeschwindigkeit
zulassende Datenübertragungsstrecke
des Transceivers an den Flashspeicher übertragen werden.
-
In einer Weiterbildung des Erfindungsgedankens
kann vorgesehen sein, dass die Datenübertragung im Flashmodus über eine
zweite Schnittstelle erfolgt, über
die der Microcontroller mit dem Transceiver verbunden ist. Somit
erfolgt bei dem erfindungsgemäßen Verfahren
die Datenübertragung
im Normalmodus über
die erste Schnittstelle und die Übertragung
der Flashdaten im Flashmodus über
die zweite Schnittstelle. Für
jedes Verfahren wird die passende Schnittstelle benutzt. Die zweite
Schnittstelle ist für
die Datenübertragung
bei hoher Geschwindigkeit optimiert, daher wird im Flashmodus die
erste Schnittstelle und derjenige Teil des Transceivers, der für den Normalmodus
zuständig
ist, abgeschaltet bzw. umgangen. Die zweite Schnittstelle arbeitet
dann als Bypass oder Umgehungsleitung, über die die Daten im Flashmodus übertragen
werden.
-
Bei dem erfindungsgemäßen Verfahren
kann vorgesehen sein, dass der Transceiver vom Normalmodus in den
Flashmodus umschaltet, wenn ihm über
den Datenbus ein Umschaltsignal zugeführt wird. Das Umschalten in
den Flashmodus kann damit ferngesteuert erfolgen, da dasjenige Gerät, das die Daten
an das Steuergerät überträgt, auch
die Umschaltung in den Flashmodus veranlassen kann.
-
Bei dem erfindungsgemäßen Verfahren
ist es besonders günstig,
wenn der Transceiver vom Flashmodus in den Normalmodus umschaltet,
nachdem er während
eines vorgegebenen Zeitraums keine Daten erhalten hat. Wenn die
Datenübertragung beendet
ist, schaltet der Transceiver automatisch vom Flashmodus wieder
in den Normalmodus, wenn ein vorgegebener Zeitraum überschritten
ist. Auch ein aktives Zurückschalten
in den Normalmodus durch den Microcontroller ist denkbar.
-
Die Datenübertragungsgeschwindigkeit
im Flashmodus kann bei dem erfindungsgemäßen Verfahren bis zu 15 MBaud
betragen.
-
Ein noch höherer Zeitgewinn lässt sich
erzielen, wenn die Datenübertragungsgeschwindigkeit
bei dem erfindungsgemäßen Verfahren
im Flashmodus schrittweise erhöht
wird. Die Datenübertragung
kann mit einer geringen Geschwindigkeit beginnen, diese Geschwindigkeit
kann z.B. der üblichen
Busgeschwindigkeit entsprechen. Daraufhin wird die Übertragungsgeschwindigkeit
erhöht,
beispielsweise verdoppelt. Wenn die Datenübertragung in diesem Modus
fehlerfrei stattfindet, kann die Geschwindigkeit wiederum erhöht werden,
so lange, bis entweder das Steuergerät oder das externe Gerät, an das
das Steuergerät
zur Datenübertragung
angeschlossen ist, mitteilt, dass die Geschwindigkeit nicht weiter
erhöht
werden soll, z.B. um Datenfehler zu vermeiden.
-
Es empfiehlt sich, das erfindungsgemäße Verfahren
durchzuführen,
wenn das Steuergerät
an einen CAN-Bus als Datenbus angeschlossen ist. Vorzugsweise wird
das Steuergerät
bei dem erfindungsgemäßen Verfahren
an ein Diagnosegerät
angeschlossen. Dabei kann es sich auch um ein Werkstattdiagnosegerät handeln.
-
Eine weitere Verfahrensoptimierung
und Zeiteinsparung lässt
sich bei dem erfindungsgemäßen Verfahren
erzielen, wenn gleichzeitig mehrere Steuergeräte eines Kraftfahrzeugs im
Flashmodus betrieben werden.
-
Weitere Vorteile und Einzelheiten
der Erfindung ergeben sich aus dem im folgenden beschriebenen Ausführungsbeispiel
sowie anhand der Zeichnungen. Dabei zeigen:
-
1 eine
schematische Darstellung eines erfindungsgemäßen Steuergeräts; und
-
2 ein
erfindungsgemäßes Fahrzeug,
bei dem die Flashspeicher mehrerer Steuergeräte beschrieben werden.
-
1 zeigt
schematisch ein Steuergerät 1, das
in einem Kraftfahrzeug verwendet werden kann. Das Steuergerät 1 besteht
im Wesentlichen aus einem Microcontroller 2 und aus einem
internen Transceiver 4. Der Microcontroller 2 besitzt
einen integrierten Flashspeicher 3, in dem die Steuersoftware
des Microcontrollers 2 abgelegt ist. Der Flashspeicher 3 kann
durch elektrische Impulse erneut beschrieben werden, z.B. wenn eine
neue Softwareversion des Steuerungsprogramms im Microcontroller 2 verwendet
werden soll.
-
Der Transceiver 4 besteht
intern aus einem ersten Transceiverteil 5 für den Normalmodus
und einem zweiten Transceiverteil 6 für den Flashmodus. Der Transceiverteil 5 für den Normalmodus
ist herkömmlich
aufgebaut. Er ermöglicht
die Kommunikation zwischen dem Microcontroller 2 und anderen
Geräten,
insbesondere anderen Steuergeräten über den
CAN-Bus 7. Zu die sem Zweck sind die Anschlüsse des
Transceivers 4 für
den CAN-Bus 7 durch ein Gehäuse des Steuergeräts 1 nach
außen
geführt. Der
CAN-Bus ist ein digitaler Datenübertragungsbus, der
bei Kraftfahrzeugen oder anderen Steuerungen verwendet wird.
-
Die Kommunikation zwischen dem Transceiverteil 5 für den Normalmodus
und dem Microcontroller 2 erfolgt über Signalleitungen 8.
-
In dem Transceiverteil 5 befinden
sich eine Steuerlogik 9 sowie Logikbausteine 10, 11,
die in 1 schematisch
als Logikgatter dargestellt sind. Der Transceiverteil 5 enthält weitere
elektronische Eingangs- und Ausgangsfilter, die für die Kommunikation
mit dem CAN-Bus optimiert sind.
-
Wenn der Flashspeicher 3 des
Microcontrollers 2 beschrieben werden soll, wird über den CAN-Bus 7 ein
Anforderungssignal gesendet. Die Software im Microcontroller 9 erkennt
dieses Signal und schaltet den Transceiver 4 daraufhin
vom Normalmodus in den Flashmodus um. Dabei wird vom ersten Transceiverteil 5 auf
den zweiten Transceiverteil 6 umgeschaltet, so dass die
von dem externen Gerät über den
CAN-Bus 7 bereitgestellten Daten nicht zu dem Transceiverteil 5,
sondern zu dem Transceiverteil 6 gelangen. Das Transceiverteil 6 dient
als Bypass oder Umgehungsleitung für die zu übertragenden Digitaldaten,
also als schnelle Datenübertragungsstrecke
für den
Flashmodus. Der in 1 innerhalb
des Transceiverteils 6 dargestellte Schalter ist im Flashmodus
geschlossen, so dass die Daten vom CAN-Bus 7 über den
Transceiverteil 6 und die zweite Schnittstelle 14 an
den Flashspeicher 3 des Microcontrollers 2 gelangen.
Der Transceiverteil 6 ist mit dem Microcontroller 2 über ein
an sich bekanntes SPI-Interface 12 verbunden. Dieses Serial
Peripheral Interface 12 ist eine Standardschnittstelle
mit dmehreren Daten- und Steuerleitungen. Das Transceiverteil 6,
das SPI-Interface 12 und die zweite Schnittstelle 14 bilden
eine im Flashmodus genutzte schnelle Datenübertragungsstrecke.
-
Der Normalmodus und der Flashmodus
unterscheiden sich hinsichtlich der Datenübertragungsgeschwindigkeit.
Die Geschwindigkeit auf dem CAN-Bus
7 beträgt im Normalmodus
typisch 500 kBaud. Demgegenüber
arbeitet der Transceiver 4 im Flashmodus mit einer wesentlich
größeren Datenübertragungsgeschwindigkeit,
die zwischen 1 MBaud und 10 MBaud liegen kann, in Einzelfällen kann
die Geschwindigkeit bis zu 15 MBaud betragen. Der Transceiverteil 6 mit
dem SPI-Interface 12 und der Transceiverteil 5 mit
der Steuerlogik 9 sind über
in der 1 schematisch
dargestellte Leitungen 13 miteinander verbunden, über die
Kontrollsignale an den Transceiverteil 5 gesendet werden
können.
Wenn während
des Flashmodus während
eines festgelegten Zeitraums keine Daten empfangen werden, wird dieser
Zustand vom SPI-Interface 12 als Ende der Datenübertragung
erkannt. Daraufhin sendet das SPI-Interface 12 über die
Signalleitungen 13 ein Signal an die Steuerlogik 9 des
Transceiverteils 5, der daraufhin vom Flashmodus wieder
in den Normalmodus umschaltet.
-
Wenn aus dem Normalmodus in den Flashmodus
umgeschaltet wird, erfolgt die Datenübertragung zunächst mit
einer vergleichsweise geringen Geschwindigkeit, z.B. 1 MBaud. Wenn
dabei festgestellt wird, dass keine Übertragungsfehler auftreten,
wird die Übertragungsgeschwindigkeit
schrittweise erhöht.
Sofern keinerlei Störungen
oder sonstige Beeinträchtigungen
vorliegen, kann die Übertragungsgeschwindigkeit
bis zum Maximalwert erhöht werden.
-
2 zeigt
ein Fahrzeug, das an ein Diagnosegerät angeschlossen ist, um die
Flashspeicher von Steuergeräten
neu zu beschreiben.
-
Das Fahrzeug 15 besitzt
eine Vielzahl von Steuergeräten,
von denen in 2 die Steuergeräte 1, 16, 17 eingezeichnet
sind. Jedes dieser Steuergeräte
hat grundsätzlich
den gleichen Aufbau wie das in 1 beschriebene
Steuergerät 1,
auch wenn die Steuergeräte 1, 16, 17 unterschiedliche
Funktionen ausüben.
Um die Flashspeicher neu zu beschreiben, wird das Fahrzeug 15 an
ein Diagnosegerät 18 angeschlossen.
Diese Wartungsarbeiten können
von Autowerkstätten
durchgeführt
werden. Das Diagnosegerät 18 besitzt
ein Kabel 19, das in einen Steckkontakt 20 am
oder im Fahrzeug 15 eingesteckt wird.
-
Das Überschreiben der Flashspeicher
der Steuergeräte 1, 16, 17 wird
von einem Techniker gestartet, der das Diagnosegerät 18 bedient.
Dieses Signal gelangt an den Transceiver 4, der vom Normalmodus
in den Flashmodus durch den Microcontroller umgeschaltet wird. Anschließend erfolgt
die Datenübertragung
von dem Diagnosegerät 18 über das
Kabel 19 und weitere Leitungsverbindungen im Fahrzeuginneren
an die Steuergeräte 1, 16 und 17.
Jedes dieser Steuergeräte
besitzt ein inneres Transceiverteil mit einem SPI-Interface, das eine
erhöhte
Datenübertragungsgeschwindigkeit
zulässt.
Die digitalen Daten gelangen zum Flashspeicher der jeweiligen Microcontroller,
die auf diese Weise umprogrammiert werden. Die Daten werden von
dem Diagnosegerät paketweise
versendet, wobei jedes Datenpaket mit einer Adresse versehen ist.
Somit werden die Steuergeräte 1, 16, 17 nacheinander
mit den benötigten
Informationen versorgt. Durch das parallele Flashen der Speicher
wird ein besonders hoher Datendurchsatz erzielt, so dass die insgesamt
benötigte
Zeit, um alle drei Flashspeicher neu zu beschreiben, relativ gering
ist.