[0001] Die Erfindung bezieht sich auf ein Verfahren zur Änderung der Daten in dem Parameterspeicher
eines Reglers für Kraftfahrzeuge im on-line-Betrieb, wobei der Regler außer dem Parameterspeicher
zumindest einen Mikrorechner enthält und zum Steuern und Regeln der Kraftstoffeinspritzung
und/oder weiterer Funktionen in Abhängigkeit von Betriebsgrößen, wie z.B. Drehzahl,
Ladedruck, Gaspedalstellung etc., die mit Hilfe von Meßwertgebern ermittelt werden,
eingerichtet ist, sowie auf eine Vorrichtung zur Durchführung dieses Verfahrens.
[0002] Die Eigenschaften und das Verhalten eines Kraftfahrzeugmotors werden durch eine
Anzahl von Parametern und Kennlinien, im folgenden Daten genannt, bestimmt, die in
einem Halbleiterspeicher des Reglers, dem sogenannten Parameterspeicher, untergebracht
sind. Für die optimale Abstimmung des Motorverhaltens müssen diese Daten während der
gesamten Motoren- und Fahrzeugentwicklungsphase verfügbar und änderbar sein. Die
Änderung dieser Daten muß sogar "on-line", d.h bei laufendem Motor möglich sein.
[0003] Es ist bekannt geworden, für die Datenänderung während der Entwicklungsphase spezielle
Prüfstandsregler zu verwenden, deren Parameterspeicher in einem eigenen Gerät, oft
als Programmiergerät bezeichnet, untergebracht ist. Der Parameterspeicher ist in
zwei identischen Ausführungen in dem Programmiergerät vorhanden. Während dem Regler
die Daten einer Kopie des Parameterspeichers zur Regelung des Motors zur Verfügung
stehen, können in der zweiten Kopie Datenänderungen durchgeführt werden. Nach Abschluß
der Änderung eines Datenbytes werden die beiden Kopien der Parameterspeicher vertauscht
und somit wird die Datenänderung wirksam. Neben den Daten enthält der Parameterspeicher
aber auch das Kontrollprogramm des Reglers.
[0004] Der Regler ist mit dem Programmiergerät über ein Flachbandkabel verbunden. Ober
dieses Kabel werden vom Mikroprozessor des Reglers die gewünschten Adressen an den
Parameterspeicher angelegt und anschließend die unter diesen Adressen ab gespeicherten
Daten wie auch Programminstruktionen aus dem Parameterspeicher ausgelesen. Über die
alpha-numerische Tastatur des Programmiergerätes können durch Eingabe der entsprechenden
Adressen die Daten des Parameterspeichers auf dem Bildschirm angezeigt und gegebenenfalls
geändert werden. Sowohl die Daten als auch die Adressen des Parameterspeichers werden
als hexadezimale Zahlen angezeigt, ebenso müssen die geänderten Daten in hexadezimaler
Form eingegeben werden.
[0005] Die Nachteile dieser bekannten Lösung sind offensichtlich:
[0006] Fehlerhafte Daten- oder Adreßeingaben können ein nicht vorhersagbares Verhalten des
Motors verursachen, einerseits weil das Reglerkontrollprogramm und die motor- und
fahrzeugsspezifischen Daten im gleichen Speicher untergebracht sind, andererseits
weil die Eingabedaten kaum geprüft werden.
[0007] Durch Verwendung nur eines Speichers für Programm und Daten werden über das oben
erwähnte Flachbandkabel auch Programminstruktionen übertragen, was bei elektrischen
Einstreuungen zu Programmabstürzen führen kann.
[0008] Das Vertauschen der beiden Parameterspeicherkopien nach Änderung von jeweils nur
einem Datenbyte kann zu inkonsistenten Daten führen, was wiederum ein nicht vorhersehbares
Motorverhalten verursachen kann.
[0009] Die Datenänderung in hexadezimaler Form und unter Angabe physikalischer Speicheradressen
kann praktisch nur von Programmierern und kaum vom Prüfstandspersonal durchgeführt
werden.
[0010] Der spezielle Prüfstandsregler ist nicht mit dem späteren Serienregler identisch,
da der Prüfstandsregler einen Multi-Chip Mikrorechner enthält, wogegen der Serienregler
aus Kostengründen üblicherweise einen Single-Chip-Mikrorechner enthält.
[0011] Es ist ein Ziel der Erfindung, ein Verfahren und eine zu dessen Durchführung geeignete
Vorrichtung zu schaffen, mit dem die Nachteile der bekannten Lösung beseitigt werden
können.
[0012] Dieses Ziel läßt sich mit einem Verfahren der eingangs genannten Art erreichen,
bei welchem erfindungsgemäß der als Lese-Schreib-Speicher ausgebildete Parameterspeicher
in einen Adreßbereich, in zumindest einen, im allgemeinen mehrere, Datenbereiche und
in einen Zwischenspeicherbereich unterteilt wird, wobei der an der Anfangsadresse
des Speichers liegende Adreßbereich die Adressen aller Datenbereiche und des Zwischenspeicherbereiches
enthält und die Kapazität des Zwischenspeicherbereiches zumindest gleich der Kapazität
des größten Datenbereiches gewählt wird und daß die für einen Datenbereich vorgesehenen,
in einem mit dem Regler kommunizierenden Dialogrechner bestimmbaren geänderten Daten
in den Zwischenspeicherbereich geschrieben werden, hierauf im Adreßbereich die Adresse
des Datenbereiches durch die Adresse des Zwischenspeicherbereiches ersetzt wird,
sodann die geänderten Daten aus dem Zwischenspeicherbereich in den Datenbereich übertragen
werden und schließlich im Adreßbereich die Adresse des Datenbereiches wieder auf die
Ursprungsadresse zurückgesetzt wird.
[0013] Die Erfindung ermöglicht das byteweise Einschreiben neuer Daten in den Zwischenspeicherbereich
bzw. das Umkopieren aus diesem Bereich in den richtigen Adreßbereich während der Zeiten,
in welchen kein Speicherzugriff durch das Regelprogramm erfolgt. Das Umschalten von
den alten Daten eines Datenbereiches auf die neuen Daten kann sehr schnell erfolgen.
Da diese Adreßänderung durch das Kommunikationsprogramm erfolgt, ohne zwischenzeitlich
den Parameterspeicher freizugeben, kann es zu keinen inkonsistenten Adressen kommen.
[0014] Zweckmäßig ist es, wenn die geänderten Daten vor Einschreiben in den Zwischenspeicherbereich
zunächst in einer Nachbil dung des Parameterspeichers im Dialogrechner abgelegt werden,
da hiedurch die Sicherheit und die Flexibilität des Verfahrens erhöht werden.
[0015] Eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens mit einem Regler
für Kraftfahrzeuge, der zumindest einen Mikrorechner und einen Parameterspeicher für
motor- und fahrzeugspezifische Daten, z.B. für Kennlinien aufweist und der zum Steuern
und Regeln der Kraftstoffeinspritzung und/oder weiterer Funktionen in Abhängigkeit
von Betriebsgrößen, wie z.B. Drehzahl, Ladedruck, Gaspedalstellung etc., die mit
Hilfe von Meßwertgebern ermittelt werden, eingerichtet ist und mit einem Dialogrechner
zur Ermittlung und vorübergehender Abspeicherung der in dem im Parameterspeicher
zu ändernden Daten ist erfindungsgemäß dadurch ausgezeichnet, daß der Regler mit
dem Dialogrechner über eine vorzugsweise serielle Schnittstelle verbindbar ist, der
Parameterspeicher als Lese-Schreib-Speicher ausgebildet ist und der Dialogrechner
eine Nachbildung des Parameterspeichers zur Speicherung der Daten des Parameterspeichers
bzw. der zu ändernden Daten enthält.
[0016] Es sei erwähnt, daß ein Regler für Kraftfahrzeuge der angesprochenen Art beispielsweise
in der EP-A2-207 051 beschrieben ist.
[0017] Die Erfindung samt ihren weiteren Vorteilen und Merkmalen ist im folgenden an Hand
einer beispielsweisen Ausführungsform näher erläutert, die in der Zeichnung veranschaulicht
ist. In dieser zeigen Fig. 1 in einer schematischen Übersicht einen Regler für Kraftfahrzeuge,
der mit einem Dialogrechner verbunden ist, Fig. 2 schematisch die Organisation des
Parameterspeichers, Fig. 3a bis 3e schematisch die einzelnen Schnitte der Datenänderung
und Fig. 4a bis 4b ein schematisches Ablaufdiagramm einer Datenänderung, ohne Berücksichtigung
der Fehlerbehandlung.
[0018] Gemäß Fig. 1 ist ein elektronischer Regler 1 über ein im allgemeinen bloß 3-adriges
Kabel 2 mit einem Dialogrechner 3 verbunden. Über eine Anzahl von Leitungen 4 steht
der Regler 1 in hier nicht näher interessierender Weise mit Gebern eines Motors bzw.
des Kraftfahrzeuges, z.B. für die Drehzahl, Temperatur usw. sowie mit einem oder
mehreren Stellgliedern, beispielsweise für die Regelstange der Einspritzpumpe eines
Dieselmotors in Verbindung.
[0019] Der Regler 1 enthält im vorliegenden Fall drei Mikrorechner 5, 6 und 7, die über
einen parallelen Bus 8 mit einem Parameterspeicher 9 verbunden sind. Der Parameterspeicher
9 enthält motor- bzw. fahrzeugspezifische Daten, die für die Regelung des Motors bzw.
den Betrieb des Fahrzeuges benötigt werden. Über den Bus 8 kann jeder Mikrorechner
5, 6, 7 mit jedem anderen Mikrorechner Daten austauschen, sowie Daten aus dem Parameterspeicher
9 lesen, wobei gleichzeitig nur zwei der Mikrorechner oder einer der Mikrorechner
mit dem Parameterspeicher kommunizieren können. Der Parameterspeicher 9 ist im Seriengerät
als reiner Lesespeicher ausgebildet, während der Entwicklungsphase wird ein Lese-/Schreibspeicher
verwendet. Der Mikrorechner 5 besitzt eine Sonderstellung in diesem Mehr-Computer
System, er enthält das Kommunikationsprogramm, das über die serielle Schnittstelle
(Kabel 2) mit dem Dialogrechner 3 verkehrt und er hat als einziger Schreibzugriff
zu dem Parameterspeicher 9 über eine Leitung 10.
[0020] Der Dialogrechner 3 ist als tragbarer Mikrorechner ausgebildet und besteht im wesentlichen
aus einer Zentraleinheit 11 (CPU), einem Speicher 12 und einer seriellen Ein-/Ausgabeeinheit
13. Für die Kommunikation mit dem Bediener stehen ein Farbgrafik-Bildschirm 12 und
eine alphanumerische Tastatur 15 zur Verfügung. Der Speicher 12 des Dialogrechners
3 besteht aus einem Festwertspeicher, der das Dialogrechnerprogramm enthält und einem
Lese-/Schreibspeicher, der sowohl die Programmdaten als auch eine Kopie des Parameterspeichers
9 des elektronischen Reglers 1 enthält.
[0021] Das 3-adrige Kabel 7 dient zur seriellen Übertragung von Daten zwischen dem Dialogrechner
3 und dem elektronischen Regler 1. Diese serielle Schnittstelle arbeitet halbduplex
und entspricht dem Standard RS-485. Der Datenaustausch wird mittels sogenannter Nachrichten
durchgeführt; die Bedeutung der Daten innerhalb einer Nachricht und die erlaubte Reihenfolge
der Nachrichten werden durch eine Datenaustausch-Vorschrift (Protokoll) festgelegt.
[0022] Nach Fig. 2 besteht der Parameterspeicher 9 aus einem am Speicheranfang liegenden
Adreßbereich A, einem oder mehreren Datenbereichen Di, 1 ≦ i ≦ n und einem Zwischenspeicherbereich
Z am Ende des Parameterspeichers. Der Adreßbereich A enthält die Adressen aller Datenbereiche
Di, sowie die Adresse des Zwischenspeicherbereiches Z; die Datenbereiche Di enthalten
die einzelnen motor- und fahrzeugspezifischen Daten und der Zwischenspeicherbereich
Z dient zur vorübergehenden Aufnahme von geänderten Daten eines bestimmten Datenbereiches
Di. Die Größe des Zwischenspeicherbereiches Z muß größer oder gleich dem Maximum der
Größen aller Datenbereiche Di, 1 ≦ i ≦ n gewählt werden.
[0023] In Fig. 3a bis 3e wird eine Datenänderung in einem bestimmten Datenbereich Dj, 1
≦ j ≦ n in den einzelnen Schritten erläutert. Der Einfachheit halber sind in Fig.
3a bis 3e nur der Parameterspeicher 9, das Kommunikationsprogramm des Mikrorechners
5 und die aus dem Parameterspeicher 9 lesenden Regelprogramme, die auf die Mikrorechner
5, 6, 7 verteilt sein können, dargestellt.
[0024] Die Daten des Datenbereiches DJ werden durch Eingabe eines entsprechenden Kommandos
über die Tastatur 15 des Dialogrechners 3 auf dem Bildschirm 14 angezeigt. Ein Teil
des Dialogrechnerprogrammes, nämlich der sogenannte Text-Editor, erlaubt nun die Änderung
einzelner Datenwerte. Der Abschluß der Datenänderung und damit die Übernahme der geänderten
Daten wird dem Dialogrechnerprogramm wieder mittels eines Kom mandos mitgeteilt.
Jetzt werden die Daten des Datenbereiches Dj vom Dialogrechnerprogramm auf Richtigkeit
und Verträglichkeit mit den übrigen Daten geprüft. Falsche oder nicht plausible Daten
werden unter Ausgabe einer Fehlermeldung am Bildschirm 14 des Dialogrechners 3 zurückgewiesen
und zur Korrektur angeboten.
[0025] Werden die geänderten Daten des Datenbereiches Dj als richtig und verträglich mit
dem Rest der Daten anerkannt, dann werden sie vorerst im Programmdatenspeicher des
Dialogrechners 3 (und nicht in der Kopie des Parameterspeichers) zwischengespeichert.
Fig. 3a zeigt den Zustand vor der Datenänderung aus der Sicht des elektronischen
Reglers 1.
[0026] Anschließend, wie in Fig. 3b dargestellt, beauftragt der Dialogrechner 3 durch eine
Nachricht den elektronischen Regler 1, die nachfolgend gesandten Daten in den Zwischenspeicherbereich
Z zu schreiben. Das Kommunikationsprogramm des Mikrorechners 5 schreibt die vom Dialogrechner
3 empfangenen Daten des Datenbereiches Dj über den Bus 8 unter Verwendung der Schreibleitung
10 in den Zwischenspeicherbereich Z. Dabei werden die Daten Byte für Byte immer nur
dann in den Parameterspeicher 9 geschrieben, wenn gerade kein Regelprogramm darauf
zugreift. Die Regelprogramme selbst arbeiten nach wie vor noch mit den alten Daten
des Datenbereiches Dj. Wenn alle Daten des Datenbereiches Dj erfolgreich in den Zwischenspeicherbereich
Z geschrieben wurden, wird dies dem Dialogrechner 3 per Nachricht (Antwort) mitgeteilt;
ebenso auch wenn der Auftrag aus irgendeinem Grund nicht ausgeführt werden konnte.
Im letzten Fall entscheidet der Dialogrechner 3, entweder den Auftrag zu wiederholen
oder abzubrechen, was dem Bediener mittels einer Fehlermeldung am Bildschirm mitgeteilt
wird.
[0027] In dem Schnitt nach Fig. 3c beauftragt der Dialogrechner 3 den elektronischen Regler
1, im Adreßbereich A die Adresse des Datenbereiches Dj durch die Adresse des Zwischenspei
cherbereiches Z zu ersetzen. Jetzt erst wird die Datenänderung für die Regelprogramme
wirksam; sie arbeiten ab dem nächsten Zugriff mit den neuen Daten des Datenbereiches
Dj, die vorläufig im Zwischenspeicherbereich Z abgespeichert sind.
[0028] Um weitere Datenänderungen durchführen zu können, werden wieder durch Auftrag des
Dialogrechners 3 die neuen Daten des Datenbereiches Dj aus dem Zwischenspeicherbereich
Z auf ihren ursprünglichen Platz kopiert. Dieser Schritt wird in Fig. 3d dargestellt;
die Regelprogramme arbeiten nach wie vor mit den neuen Daten des Datenbereiches Dj
im Zwischenspeicherbereich Z.
[0029] Als letzten Schritt des Verfahrens wird nun, wie in Fig. 3e gezeigt, im Adreßbereich
A die Adresse des Datenbereiches Dj wieder durch die ursprüngliche Adresse des Datenbereiches
ersetzt. Die Regelprogramme arbeiten nun mit den neuen Daten des Datenbereiches Dj
auf deren ursprünglichem Platz, der Zwischenspeicherbereich Z ist frei für weitere
Datenänderungen. Damit ist die Datenänderung für den elektronischen Regler 1 abgeschlossen.
Schließlich übernimmt der Dialogrechner 3 die geänderten Daten des Datenbereiches
Dj in seine Kopie des Parameterspeichers. Der Dialogrechner 3 kann weitere Aufträge
zur Datenänderung entgegennehmen.
[0030] Ein mögliches Ablaufdiagramm das im Zusammenhang mit der Erfindung angewendet werden
kann ist in Fig. 4a bis 4c dargestellt. Die Abkürzung DB steht für "Datenbereich".
Eine nähere Erläuterung des Diagramms erübrigt sich.
[0031] Die wesentlichen Vorteile der Erfindung werden im folgenden nochmals zusammengefaßt:
[0032] Der erste und der dritte Schritt der Datenänderung, nämlich das Einschreiben in den
Zwischenspeicherbereich und das Kopieren von diesem auf den Originalplatz können byteweise
immer dann ausgeführt werden, wenn die Regelprogramme den Parameterspeicher gerade
nicht benützen, ohne die Konsistenz der Daten zu beeinflussen (die Adressierung der
Daten erfolgt immer über den Adreßbereich).
[0033] Das Umschalten von den alten Daten eines Datenbereiches auf die neuen Daten im zweiten
Schritt geschieht durch Änderung von nur einer Adresse (im allgemeinen 2 Bytes), also
sehr schnell. Da das Kommunikationsprogramm diese Adreßänderung durchführt, ohne den
Parameterspeicher zwischenzeitlich freizugeben, kann es zu keinen inkonsistenten
Adressen kommen.
[0034] Plausibilität und Konsistenz aller Daten des Parameterspeichers werden vom Dialogrechner
3 durchgeführt.
[0035] Bei der gezeigten Ausführung enthält der Regler 1 ein Mehrrechnersystem mit drei
Mikrorechnern. Hiezu sei erwähnt, daß der Regler 1 auch mit bloß einem einzigen Mikrorechner
oder mit zwei Mikrorechnern und bei Bedarf auch mit mehr als drei Mikrorechnern aufgebaut
sein kann.
1. Verfahren zur Änderung der Daten in dem Parameterspeicher eines Reglers für Kraftfahrzeuge
im on-line-Betrieb, wobei der Regler außer dem Parameterspeicher zumindest einen Mikrorechner
enthält und zum Steuern und Regeln der Kraftstoffeinspritzung und/oder weiterer Funktionen
in Abhängigkeit von Betriebsgrößen, wie z.B. Drehzahl, Ladedruck, Gaspedalstellung,
die mit Hilfe von Meßwertgebern ermittelt werden, eingerichtet ist, dadurch gekennzeichnet,
daß der als Lese-Schreib-Speicher ausgebildete Parameterspeicher in einen Adreßbereich
(A), in zumindest einen, im allgemeinen mehrere, Datenbereiche (Di) und in einen
Zwischenspeicherbereich (Z) unterteilt wird, wobei der an der Anfangsadresse des
Speichers liegende Adreßbereich (A) die Adressen aller Datenbereiche (Di) und des
Zwischenspeicherbereiches (Z) enthält und die Kapazität des Zwischenspeicherbereiches
zumindest gleich der Kapazität des größten Datenbereiches gewählt wird und daß die
für einen Datenbereich (Di) vorgesehenen, in einem mit dem Regler kommunizierenden
Dialogrechner bestimmbaren geänderten Daten in den Zwischenspeicherbereich (Z) geschrieben
werden, hierauf im Adreßbereich (A) die Adresse des Datenbereiches (Dj) durch die
Adresse des Zwischenspeicherbereiches (Z) ersetzt wird, sodann die gänderten Daten
aus dem Zwischenspeicherbereich (Z) in den Datenbereich (Dj) übertragen werden und
schließlich im Adreßbereich (A) die Adresse des Datenbereiches (Dj) wieder auf die
Ursprungsadresse zurückgesetzt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die geänderten Daten vor
Einschreiben in den Zwischenspeicherbereich (Z) zunächst in einer Nachbildung des
Parameterspeichers im Dialogrechner abgelegt werden.
3. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1 oder 2 mit einem Regler
für Kraftfahrzeuge, der zumindest einen Mikrorechner und einen Parameterspeicher für
motor-und fahrzeugspezifische Daten, z.B. für Kennlinien aufweist und der zum Steuern
und Regeln der Kraftstoffeinspritzung und/oder weiterer Funktionen in Abhängigkeit
von Betriebsgrößen, wie z.B. Drehzahl, Ladedruck, Gaspedalstellung, die mit Hilfe
von Meßwertgebern ermittelt werden, eingerichtet ist und mit einem Dialogrechner
zur Ermittlung und vorübergehender Abspeicherung der im Parameterspeicher zu ändernden
Daten, dadurch gekennzeichnet, daß der Regler (1) mit dem Dialogrechner (3) über eine
vorzugsweise serielle Schnittstelle (2) verbindbar ist, der Parameterspeicher (9)
als Lese-Schreib-Speicher ausgebildet ist und der Dialogrechner (3) eine Nachbildung
des Parameterspeichers zur Speicherung der Daten des Parameterspeichers bzw. der zu
ändernden Daten enthält.