-
Die
Erfindung betrifft eine elektronische Steuerungseinheit und ein
Steuerungsverfahren, die innerhalb der Baugruppe ein Neuschreiben
von Steuerungsprogrammen und Steuerungsdaten durchführen zur
Verwendung bei Regelungsvorgängen
vorbestimmter Mechanismen oder zu steuernder Objekte.
-
Bei
einer elektronischen Steuerungseinheit, die in der Praxis zur Steuerung
von Objekten wie einer Maschine oder eines Gertriebes eines Kraftfahrzeugs
dient, ist ein nichtflüchtiger
Festwertspeicher in Form eines elektrisch neubeschreibbaren ROM vorgesehen,
wobei dieser Festwertspeicher elektrisch löschbar und wiederbeschreibbar
ist. Das wiederbeschreibbare ROM ist derart aufgebaut, daß darin
gespeicherte Steuerungsprogramme und Steuerungsdaten erneut nach
der Herstellung der elektronischen Steuerungseinheit eingeschrieben
werden können.
-
Bei
einem normalen Betrieb steuert eine derartige elektronische Steuerungseinheit
eine Maschine und andere zu steuernde Objekte in Abhängigkeit von
Steuerungsprogrammen und Steuerungsdaten, die in dem elektrisch
wiederbeschreibbaren ROM der elektronischen Steuerungseinheit gespeichert
sind. Wird eine externe Speicherneuschreibeeinrichtung mit der elektronischen
Steuerungseinheit verbunden und wird ein Neuschreibebefehl ausgegeben,
dann erkennt die elektronische Steuerungseinheit, daß eine Neuschreibebedingung
vorliegt. Die elektronische Steurungseinheit führt einen Übergang zu einer Neuschreibebetriebsart
durch, und in der Neuschreibebetriebsart wird der Inhalt des elektrisch
wiederbeschreibbaren ROM mit den neuen Inhalten (Programm und/oder
Daten) ersetzt, die von der Speicherneuschreibeeinrichtung stammen.
-
In
der elektronischen Steuerungseinheit mit dem vorstehend angegebenen
baugruppeninternen überschreibbaren
Speicher ist es relativ einfach, einer möglichen Anforderung Rechnung
zu tragen, daß eine
Verarbeitungssequenz (Verarbeitungsabfolge, Steuerungsablauf) geändert werden
muß infolge
einer Änderung
der technischen Entwicklung oder des Angebots auf dem Markt.
-
Bei
dem in der elektronischen Steuerungseinheit als elektrischer überschreibbarer
Speicher ROM vorgesehenen Flash-Speicher
oder EEPROM besteht eine Begrenzung hinsichtlich der möglichen maximalen
Anzahl des Überschreibens
bzw. Neuschreiben der darin enthaltenen Inhalte (d. h. des erlaubten
maximalen Löschungs-/Überschreibungs-Zählwerts
des Inhalts des Speichers).
-
Bei
der vorstehend beschriebenen elektronischen Steuerungseinheit ist
ein Neuschreibungszählwert
des im elektrisch überschreibbaren
Speichers ROM gespeicherten Inhalts (Neuschreibungszählwert des
elektrisch überschreibbaren
Speichers ROM oder Neuschreibungszählwert) in einem Zählwertinformationsspeicherbereich
erhalten, der im elektrisch überschreibbaren
Speicher ROM vorgesehen ist, so daß die Inhalte des elektrisch überschreibbaren
Speichers ROM nicht wiederholt über
einen maximalen Neuschreibungszählwert
hinaus überschrieben
werden, der für
den elektrisch überschreibbaren
Speicher ROM garantiert wird.
-
Aus
diesem Grund wurde vorgeschlagen, die Anzahl der Neuschreibungen
des elektrisch überschreibbaren
Speichers ROM immer dann zu zählen, wenn
die Speicherinhalte in jedem Speicherblock gelöscht und überschrieben werden. Bei diesem
Zählverfahren
treten hohe tatsächliche
Zählwerte
des Neuschreibens des elektrisch überschreibbaren Speichers ROM
auf, da jedes Neuschreiben eines Blocks gezählt wird. Werden somit drei
Blöcke
zu einem Zeitpunkt überschrieben,
dann wird der Zählwert
des Neuschreibens um 3 erhöht.
-
Wird
die Anzahl der Neuschreibungen des elektrisch überschreibbaren Speichers ROM
blockweise gezählt,
dann steigt die erforderliche Speicherkapazität oder der erforderliche Speicherraum
zur Speicherung des Zählwerts
an.
-
Die
Druckschrift
EP 0762249
A1 offenbart eine elektronische Steuerungseinheit mit einem
elektrisch löschbaren
und neubeschreibbaren nichtflüchtigen
ROM-Speicher (EEPROM).
-
Die
Druckschrift
DE 42
208 77 A1 offenbart eine Steuerungseinrichtung für nichtflüchtige,
elektrisch lösch-
und programmierbare Speicherelemente (Flash-EPROM). Gemäß der Lehre dieser Druckschrift
wird jeder Programmier-/Löschzyklus
gezählt und
abgespeichert, um die Betriebssicherheit zu erhöhen.
-
Der
Erfindung liegt die Aufgabe zugrunde, eine elektronische Steuerungseinheit
und ein Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts
eines nichtflüchtigen
Speichers derart auszugestalten, daß das Zählen der Anzahl der Neuschreibungsvorgänge auf
lediglich einen Vorgang begrenzt wird, solange eine elektronische
Steuerungseinheit in ihrer ursprünglichen
Ausführung
betrieben wird und unabhängig
von der Anzahl der Blöcke,
die einem Neuschreibungsvorgang unterworfen werden.
-
Erfindungsgemäß wird diese
Aufgabe mit den im Patentanspruch 1 angegebenen Mitteln bezüglich einer
elektronischen Steuerungseinheit gelöst. Bezüglich eines Verfahrens wird
diese Aufgabe mit dem in Patentanspruch 5 angegebenen Mitteln gelöst.
-
Gemäß der vorliegenden
Erfindung führt eine
elektronische Steuerungseinheit einen Neuschreibungsvorgang für jeden
Block durch, wobei der Block durch einen von einer externen Speicherneuschreibeeinrichtung
erhaltenen Befehl bestimmt wird. Wurde eine Vielzahl von Befehlen
zum Neuschreiben einer Vielzahl von Blöcken eines nichtflüchtigen
Speichers erhalten, dann löscht
und schreibt die elektronische Steuerungseinheit die jeweiligen
Inhalte der bestimmten (identifizierten) Blöcke. Die elektronische Steuerungseinheit
zählt als
Neuschreibungszählwert des
Flash-Speichers (des nichtflüchtigen
Speichers) lediglich den ersten der Löschungsvorgänge, der nach der ursprünglichen
Ausführung
(Anfangsbedingungen) erfolgt ist, solange die elektronische Steuerungseinheit
in ihrer Anfangsausführung
weiterhin betrieben wird.
-
In
den Unteransprüche
sind vorteilhafte Ausgestaltungen der Erfindung gekennzeichnet.
-
Die
Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme
auf die Zeichnung näher
beschrieben. Es zeigen:
-
1 ein
Blockschaltbild zur Veranschaulichung des Aufbaus der elektronischen
Steuerungseinheit (ECU) gemäß einem
Ausführungsbeispiel,
-
2 eine
graphische Darstellung zur Veranschaulichung der in einem Flash-Speicher
gemäß dem Ausführungsbeispiel
vorgesehenen Speicherbereiche,
-
3 ein
Ablaufdiagramm zur Veranschaulichung der gesamten, in der elektronischen
Steuerungseinheit gemäß dem Ausführungsbeispiel
ablaufenden Vorgänge,
-
4 ein
Ablaufdiagramm zur Veranschaulichung eines in der elektronischen
Steuerungseinheit gemäß dem Ausführungsbeispiel
ablaufenden Programmneuschreibungsvogangs, und
-
5 eine
graphische Darstellung von Signalzeitverläufen zur Veranschaulichung
der Wirkungsweise der elektronischen Steuerungseinheit gemäß dem Ausführungsbeispiel.
-
1 zeigt
ein Blockschaltbild zur Veranschaulichung einer elektronischen Steuerungseinheit ECU 2 gemäß dem Ausführungsbeispiel,
die zur Steuerung einer Brennkraftmaschine (Maschine) in einem Kraftfahrzeug
vorgesehen ist.
-
Gemäß 1 umfaßt die elektronische Steuerungseinheit 2 eine
Eingangverarbeitungsschaltung 6 zur Durchführung einer
Signalformverarbeitung (Wellenformung) von empfangenen Signalen von
Sensoren 4, die zur Erfassung der Betriebszustände der
Brennkraftmaschine vorgesehen sind, einen Mikrocomputer 8 zur
Durchführung
unterschiedlicher Maschinensteuerungsvorgänge und Steuerungsabläufe gemäß den Sensorsignalen
der Eingangsverarbeitungsschaltung 6, eine Ausgangsschaltung 12 zum
Ansteuern von an der Brennkraftmaschine angeordneten Betätigungsgliedern 10,
wie beispielsweise eine Brennstoffeinspritzeinrichtung oder eine
Zündanlage,
in Abhängigkeit
von den Steuerungssignalen des Mikrocomputers 8, eine Kommunikationsschaltung 16 zur
Durchführung
einer seriellen Datenkommunikation mit einer Speicherneuschreibeeinrichtung 14,
die als externes Gerät
angeschlossen wird, und eine Leistungszuführungsschaltung 18 zum
Empfangen einer Leistung von einer Batterie BT, wenn ein Zündschalter 17 des
Fahrzeugs eingeschaltet wird, und zum Zuführen einer Leistung (Spannung,
beispielsweise 5 V) zum Betrieb des Mikrocomputers 8 und
der weiteren, in der elektronischen Steuerungseinheit 2 enthaltenen Schaltungen.
-
Die
Leistungsversorgungsschaltung 18 umfaßt eine Leistungs-Ein-Rücksetz-Funktion zur Ausgabe
eines Rücksetzsignals
an den Mikrocomputer 8 während einer vorbestimmten Zeitdauer,
bis zu der die Spannungsversorgung nach Einschalten des Zündschalters 17 stabil
wird bis zum Beginn der Zuführung
der elektrischen Leistung (Spannung).
-
Der
Mikrocomputer 8 umfaßt
eine bekannte Zentraleinheit (CPU) 20 zur entsprechenden
Verarbeitung von Programmen, einen nichtflüchtigen Speicher bzw. Flash-Speicher 22 und
einen maskierten Speicher ROM 24 zur Speicherung von Programmen (insbesondere
von datenbezogenen Programmen), die zum Betreiben der Zentraleinheit
CPU 20 erforderlich sind, und von Daten, auf die bei der
Verarbeitung der Programme zugegriffen wird, einen flüchtigen
Speicher RAM 26 zum zeitweiligen Speichern von Ergebnissen
der in der Zentraleinheit CPU 20 durchgeführten Berechnungen,
eine Eingangs-/Ausgangsschaltung (I/O-Schaltung) 28 zum
Austausch von Signalen und Daten mit der Eingangsverarbeitungsschaltung 6,
eine Ausgangsschaltung 12 und eine Kommunikationsschaltung 16,
sowie unterschiedliche, in der Fig. nicht gezeigte Register.
-
Der
Flash-Speicher 22 ist ein nichtflüchtiger Festwertspeicher (Nur-Lese-Speicher)
ROM, dessen darin gespeicherte Inhalte elektrisch gelöscht und überschrieben
werden können
(elektrisch überschreibbare
bzw. neubeschreibbarer Speicher ROM). Ein Programm zur Steuerung
der Maschine (nachstehend vereinfacht als Maschinensteuerungsprogramm
bezeichnet) und Steuerungsdaten, auf die bei der Steuerung der Maschine entsprechend
dem Maschinensteuerungsprogramm zugegriffen werden kann, sind im
Flash-Speicher 22 gespeichert.
-
2 zeigt
die Speicherbereiche (Zellen) des Flash-Speichers 22 mit
der entsprechenden Aufteilung in eine Vielzahl von Blöcken (17 Blöcke A-Q im
vorliegenden Ausführungsbeispiel),
wobei jedem Block eine vorbestimmte Anzahl von Bytes zugeordnet
ist. Die in den Blöcken
A-Q gespeicherten Inhalte können
jeweils blockweise gelöscht
werden. Im vorliegenden Ausführungsbeispiel
werden 11 Blöcke
der Blöcke
A-K als Programmspeicherbereiche zur Speicherung des Maschinensteuerungsprogramms
verwendet, und es werden 5 Blöcke
von Block L bis P als Steuerungsdatenspeicherbereiche verwendet
zur Speicherung der Steuerungsdaten der Maschinensteuerung. Ferner
wird der Block Q als Zähldatenspeicherbereich
verwendet zur Speicherung eines Löschungszählwerts CT, dessen Daten die
Anzahl des Neueinschreibens von Daten in den Flash-Speicher 22 angeben
(d. h. Löschen
und Speichern von Daten).
-
Das
Maschinensteuerungsprogramm und die Steuerungsdaten werden in den
Blöcken
A bis P des Flash-Speichers 22 eingeschrieben, nachdem
im Rahmen eines Herstellungsvorgangs der elektronischen Steuerungseinheit 2 der
Mikrocomputer 8 in die elektronische Steuerungseinheit 2 eingebaut
wurde. Dabei wird im vorliegenden Fall vorausgesetzt, daß das Maschinensteuerungsprogramm
und die Steuerungsdaten zuvor bereits eingeschrieben wurden.
-
Im
Gegensatz hierzu ist das maskierte ROM 24 ein nichtflüchtiger
Festwertspeicher (Nur-Lese-Speicher), der kein erneutes Schreiben
des gespeicherten Inhalts erlaubt. Ein Anfangsprogramm (Boot-Programm),
das unmittelbar nach dem Rücksetzen
des Mikrocomputers 8 zum Löschen verarbeitet wird, ist
im voraus im maskierten ROM 24 gespeichert.
-
Werden
die im Flash-Speicher 22 gespeicherten Steuerungsdaten
oder das Maschinensteuerungsprogramm durch ein neues Programm oder neue
Daten ersetzt, dann wird die Speicherneuschreibeeinrichtung 14 mit
der elektronischen Steuerungseinheit 2 verbunden. Gemäß 1 werden
die elektronische Steuerungseinheit 2 und die Speicherneuschreibeeinrichtung 14 mittels
einer Verbindungseinrichtung 30 verbunden zur Bildung einer
Signalübertragungsleitung
(Verbindungsleitung) 32 zwischen beiden Einrichtungen.
Mittels der Verbindungseinrichtung 30 ist der Mikrocomputer 8 in
der elektronischen Steuerungseinheit 2 in der Lage, eine serielle
Datenkommunikation (Datenübertragung)
mit der Speicherneuschreibeeinrichtung 14 über die Kommunikationsschaltung 16 und
die Signalübertragungsleitung 32 durchzuführen.
-
In
der elektronischen Steuerungseinheit 2 gemäß dem vorstehend
beschriebenen Aufbau wird das Boot-Programm, das zuvor im maskierten
ROM 24 gespeichert ist, zuerst ausgeführt, wenn der Mikrocomputer 8 zum
Löschen
und Starten aus seinem Anfangszustand rückgesetzt wird. Gemäß den normalen
Betriebsbedingungen, bei denen die Speicherneuschreibeeinrichtung 14 nicht
angeschlossen ist, ruft das Boot-Programm das im Flash-Speicher 22 gespeicherte
Maschinensteuerungsprogramm auf zur Durchführung eines Maschinensteuerungsablaufs
zur Steuerung der Maschine.
-
Bestimmt
der Mikrocomputer 8, daß eine Schreibbedingung (die
nachstehend noch beschrieben wird) bei der Durchführung des
Boot-Programms oder bei der Durchführung des Maschinensteuerungsprogramms
erfüllt
ist, dann empfängt
der Mikrocomputer 8 ein Schreibprogramm von der Speicherneuschreibeeinrichtung 14 und
lädt bzw. überträgt dasselbe
in den Speicher RAM 26. Im Speicher RAM 26 wird
sodann das Schreibprogramm verarbeitet zur Durchführung eines
Neuschreibevorgangs zum Ersetzen des im Flash-Speicher 22 gespeicherten
Inhalts durch neue Inhalte (beispielsweise ein neues Maschinensteuerungsprogramm
oder neue Steuerungsdaten), die von der Speicherneuschreibeeinrichtung 14 übertragen
wurden.
-
Nachfolgend
werden nun die im Mikrocomputer 8 der elektronischen Steuerungseinheit 2 durchgeführten Steuerungsabläufe in Verbindung
mit den Ablaufdiagrammen der 3 und 4 beschrieben.
-
3 zeigt
ein allgemeines Ablaufdiagramm zur Veranschaulichung des gesamten,
im Mikroprozessor 8 durchgeführten Ablaufs. Die Verarbeitungsschritte
S100 bis S120, S150 und S160 werden durch das zuvor im maskierten
ROM 24 gespeicherte Boot-Programm verarbeitet. (Der Buchstabe "S" dient zur Angabe des "Schritts" des Verfahrensablaufs).
Die Verarbeitungsschritte S130 und S140 werden durch das Maschinensteuerungsprogramm
verarbeitet, das im Flash-Speicher 22 gespeichert ist, und
die Verarbeitungsschritte S170 bis S190 werden mittels des Neuschreibeprogramms
verarbeitet, das von der Speicherneuschreibeeinrichtung 14 zum Speicher
RAM 16 geladen wird.
-
Gemäß 3 startet
der Mikrocomputer 8 seinen Verarbeitungsablauf von einem
Anfangszustand aus (Resetzustand), wenn der Zündschalter 17 eingeschaltet
wird, zur Verarbeitung des Boot-Programms, das zuvor im maskierten
Speicher ROM 24 gespeichert wurde. In Schritt S100 wird
zuerst eine Initialisierungsverarbeitung durchgeführt zur
Initialisierung des Speichers RAM 26 und der (nicht gezeigten)
internen Register. Bei dieser Initialisierungsverarbeitung wird "0" als Anfangswert in einer Vollständigkeitszählmarke
FC des Speichers RAM 26 gesetzt. Die Vollständigkeitszählmarke
FC zeigt an, ob die Zählung
der Anzahl der Löschvorgänge, mit
welchem der Speicherinhalt einer der Blöcke des Flash-Speichers 22 gelöscht wurde,
vollendet ist oder nicht. Dabei zeigt "0" an,
daß die
Anzahl der durchgeführten
Löschvorgänge noch
nicht gezählt wurde.
-
Im
nachfolgenden Schritt S110 wird bestimmt, ob eine Neuschreibebedingung
zum Ersetzen des im Flash-Speicher 22 gespeicherten Inhalts erfüllt ist
oder nicht. Im vorliegenden Ausführungsbeispiel
wird bestimmt, daß die
Neuschreibebedingung dann erfüllt
ist, wenn ein Neuschreibebefehl (Rückschreibebefehl) zur Angabe
einer Anweisung zum Neuschreiben des Speicherinhalts des Flash-Speichers 22 von
der mittels der Verbindungsleitung 32 mit der elektronischen
Steuerungseinheit 2 verbundenen Speicherückschreibeeinrichtung 14 ausgegeben
wird und der Neuschreibebefehl durch den Mikrocomputer 8 bei
einer Empfangsinterabverarbeitung oder dergleichen erkannt wird.
-
Wird
in Schritt S110 bestimmt, daß die
Neuschreibebedingung nicht erfüllt
ist (S110: NEIN), dann wird zu einer normalen Maschinensteuerung übergegangen
und es wird Schritt S120 ausgewählt. In
Schritt S120 erfolgt ein Sprung zu der Startadresse des Maschinensteuerungsprogramms,
das im Flash-Speicher 22 enthalten
ist.
-
Danach
wird das im Flash-Speicher 22 enthaltene Maschinensteuerungsprogramm
zur Verarbeitung aufgerufen zur Durchführung der Verarbeitungsschritte
S130 und S140.
-
Im
einzelnen wird in Schritt S130 die Maschinensteuerungsverarbeitung
durchgeführt
zur Steuerung der Maschine. In der Maschinensteuerungsverarbeitung
werden eine optimale Brennstoffeinspritzmenge, Zündzeitpunkte und weitere Maschinen,
Betriebsparameter in Abhängigkeit
von verschiedenen Sensorsignalen, die von der Eingangverarbeitungsschaltung 6 erhalten
werden, und im Flash-Speicher 22 enthaltenen Steuerungsdaten
berechnet. In Abhängigkeit
vom Berechnungsergebnis werden Steuerungssignale der Ausgangsschaltung 12 zugeführt zum
Ansteuern der Betätigungsglieder 10 einschließlich der
Einrichtungen wie eine Brennstoffeinspritzeinrichtung und eine Zündanlage.
-
Da
die Maschinensteuerungsverarbeitung wiederholt durchgeführt wird,
wird die Maschine in kontinuierlicher Weise betrieben.
-
Bei
jedem Erreichen des Endes des Maschinensteuerungsablaufs wird Schritt
S140 verarbeitet, bevor eine Wiederholung des Maschinensteuerungsablaufs
erfolgt. In Schritt S140 erfolgt eine Bestimmung, ob in gleicher
Weise wie in Schritt S110 eine Neuschreibebedingung erfüllt ist
oder nicht.
-
Ist
die Neuschreibebedingung nicht erfüllt (S140: NEIN), dann erfolgt
erneut ein Übergang
zu Schritt S130 zum Wiederholen des Maschinensteuerungsablaufs.
-
Somit
wird bei jeder Wiederholung des Maschinensteuerungsablaufs (S130) überprüft, ob die Neuschreibebedingung
erfüllt
ist oder nicht (S140). Der Maschinensteuerungsablauf (S130) wird
ständig wiederholt,
bis die Neuschreibebedingung erfüllt
ist.
-
Wird
im Gegnsatz dazu erfaßt,
daß die
Neuschreibebedingung in Schritt S110 des Boot-Programms oder in
Schritt S140 des Maschinensteuerungsprogramms (S110: JA, oder S140:
JA) erfüllt
ist, dann wird eine Neuschreibebetriebsart zum Ersetzen des im Flash-Speicher 22 gespeicherten
Inhalts erkannt und es wird Schritt S150 des Boot-Programms ausgewählt. In
Schritt S150 wird das von der Speicherneuschreibeeinrichtung 14 erhaltene
Neuschreibeprogramm geladen oder in den Speicher RAM 26 geschrieben.
-
Die
Speicherneuschreibeeinrichtung 14 dient zur Ausgabe des
Neuschreibebefehls und sendet das Neuschreibeprogramm zur elektronischen Steuerungseinheit 2,
wenn ein vorbestimmter Ablauf in der Speicherneuschreibeeinrichtung 14 durchgeführt wird.
Mittels des Ablaufs gemäß Schritt
S150 empfängt
der Mikrocomputer 8 der elektronischen Steuerungseinheit 2 das
Neuschreibeprogramm der Speicherneuschreibeeinrichtung 14 und
lädt dasselbe
in den Speicher RAM 26.
-
Nach
Vollendung des Ladens des Neuschreibeprogramms in den Speicher RAM 26 in Schritt
S150 erfolgt ein Übergang
zu Schritt S160 und ein Sprung zur Startadresse des in Speicher
RAM 26 geladenen Neuschreibeprogramms.
-
Der
Mikrocomputer 8 verarbeitet sodann das Neuschreibeprogramm
des Speichers RAM 26 zur Durchführung der Verarbeitungsschritte
S170 bis S190.
-
Im
einzelnen wird in Schritt S170 der Löschungszählwert CT zur Angabe der Anzahl
der Neuschreibungen im Flash-Speicher 22 aus dem Block Q,
d. h. dem Zählwertspeicherbereich
des Flash-Speichers 22 ausgelesen
und es wird überprüft, ob der
Löschungszählwert CT
gleich einem oder größer als
ein vorbestimmter Bezugswert Cr ist. Der vorbestimmte Bezugswert
Cr wird auf den gleichen Wert wie die Anzahl der garantierten Neuschreibevorgänge des
Flash-Speichers 22 (d. h. der Anzahl der garantierten Lösch- und
Neuschreibevorgänge) oder
auf einen geringfügig
kleineren Wert als die Anzahl der garantierten Neuschreibvorgänge gesetzt.
-
Wird
in Schritt S170 bestimmt, daß der
Löschungszählwert CT
größer als
der vorbestimmte Bezugwert Cr (S170: JA) ist, dann erfolgt seitens
des Mikrocomputers 8 ein Übergang zu Schritt S180 zur Bildung
eines Verarbeitungsberichts, worauf der gesamte Verarbeitungsablauf
endet. In dem Verarbeitungsbericht gemäß Schritt S180 wird ein Signal übertragen
zur Angabe, daß die
Anzahl der Neuschreibevorgänge
im Flash-Speicher 22 die Anzahl der garantierten Neuschreibevorgänge erreicht
hat. Die Speicherneuschreibeeinrichtung 14 zeigt auf ihrer
Anzeigeeinrichtung eine Nachricht an zur Angabe, daß die Anzahl
der Neuschreibevorgänge
des Flash-Speichers 22 die Anzahl der garantierten Neuschreibevorgänge erreicht
hat und beendet die Kommunikation mit der elektronischen Steuerungseinheit 2,
wenn die Speicherneuschreibeeinrichtung 14 das in Schritt
S180 ausgesandte Berichtssignal empfängt.
-
Wird
bestimmt, daß der
Löschungszählwert CT
kleiner als der vorbestimmte Bezugswert Cr in Schritt S170 (S170:
NEIN) ist, dann bestimmt der Mikrocomputer 8, daß der Neuschreibevorgang
des Flash-Speichers 22 weiterhin möglich ist und geht zu Schritt
S190 über
zur Durchführung
des Programmneueinschreibevorgangs gemäß 4.
-
Die
Speicherneuschreibeeinrichtung 14 ist in der Weise aufgebaut,
daß sequentielle
Löschbefehle ausgesandt
werden als Löschanforderungen
für jeden
Block, der zu diesem Zeitpunkt neu zu beschreiben ist aus der Anzahl
der Blöcke
A bis P des Flash-Speichers 22,
nachdem das Neuschreibeprogramm zur elektronischen Steuerungseinheit 2 übersandt
wurde. Der Mikrocomputer 8 sendet sodann sequentielle Schreibbefehle
für jeden
Block, der zu diesem Zeitpunkt neu zu beschreiben ist, nachdem die
Löschbefehle
ausgesandt wurden. Der Löschbefehl
umfaßt
Befehlsdaten zum Anfordern einer Löschung des Speicherinhalts
sowie Identifikationsdaten zum Identifizieren des Blocks (eines
Blocks der Blöcke
A bis P), dessen Speicherinhalt zu diesem Zeitpunkt zu löschen ist.
Der Schreibbefehl umfaßt Befehlsdaten
zur Anforderung des Schreibens von Daten, Identifikationsdaten zum
Identifizieren des Blocks (eines Blocks der Blöcke A bis P) in welchen die
Daten einzuschreiben sind, Schreibdaten für den Block (d. h. ein neues
Maschinensteuerungsprogramm oder neue Steuerungsdaten), und Adressen zur
Angabe der Orte, an welche die Schreibdaten eingeschrieben wurden.
-
Gemäß der Darstellung
in 4 startet der Mikroprozessor 8 der elektronischen
Steuerungseinheit den Programmschreibevorgang in Schritt S190 und
wartet auf einen Befehl (Löschbefehl
oder Schreibbefehl) der Speicherneuschreibeeinrichtung 14 gemäß Schritt
S200.
-
Wird
ein Befehl der Speicherneuschreibeeinrichtung 14 erhalten
(S200: JA), dann geht die Verarbeitung im Mikrocomputer 8 zu
Schritt S210A über zur Überprüfung, ob
der in Schritt S200 empfangene Befehl der Löschbefehl ist für Block
A (d. h. der Löschbefehl
einschließlich
der Identifikationsdaten bezüglich Block
A und der Löschbefehl
zur Anforderung einer Löschung
des im Block A gespeicherten Inhalts). Handelt es sich hierbei um
den Löschbefehl für Block
A (S210A: JA), dann geht der Ablauf im Mikroprozessor 8 zu
Schritt S220A über
zur Durchführung
eines Löschvorgangs
und zum Erneuern des Löschungszählwerts.
Danach kehrt der Ablauf im Mikroprozessor 8 zu Schritt
S200 zurück
zum Warten auf den nächsten
Befehl der Speicherneuschreibeinrichtung 14.
-
Bei
dem Ablauf zum Löschen
und Erneuern des Löschungszählwerts,
wie es in 4 mittels einer strichpunktierten
Linie angedeutet ist, wird in Schritt S300 überprüft, ob die Vollständigkeitszählmarke
FC gleich "0" ist. Ist die Vollständigkeitszählmarke
FC gleich "0" (S300: JA), dann
wird "1" in der Vollständigkeitszählmarke
FC in Schritt S310 gesetzt zur Angabe, daß die Durchführungsanzahl
der Löschvorgänge gezählt wurde.
In Schritt S320 wird der Löschungszählwert CT
aus dem Block Q (dem Zähldatenspeicherbereich)
des Flash-Speichers 22 ausgelesen
und ein neuer Löschungszählwert CT
(d. h. CT + 1) wird in den Block Q des Flash-Speichers 22 nach
Addieren des Werts 1 zu dem zuvor ausgelesenen Löschungszählwert CT eingeschrieben. In einem
nachfolgenden Schritt S330 wird der Löschungsvorgang durchgeführt zum
Löschen
des Speicherinhalts im Block A des Flash-Speichers 22. Wird
demgegenüber
in Schritt S300 bestimmt, daß die
Vollständigkeitszählmarke
FC nicht gleich "0" ist, d. h. FC =
1, (S300: NEIN), dann geht der Ablauf des Mikrocomputers 8 zu
Schritt 330 über
ohne Verarbeitung der Schritte 310 und 320 und
führt einen
Löschvorgang
durch zum Löschen
des Speicherinhalts im Block A des Flash-Speichers 22.
-
Wird
in Schritt S210A bestimmt, daß der
in Schritt S220 empfangene Befehl nicht der Löschbefehl für Block A ist (S210A: NEIN),
dann geht der Ablauf im Mikroprozessor 8 zu Schritt S210 über zur weiteren
Prüfung,
ob der in Schritt 200 empfangene Befehl der Löschbefehl
für den
Block B ist. Handelt es sich hierbei um den Löschbefehl für den Block B (S210B: JA),
dann geht der Ablauf im Mikroprozessor 8 zu Schritt S220B über zur
Durchführung
des Löschens
und in gleicher Weise wie in Schritt S220 wird der Löschungszählwert CT
mit einem entsprechenden Ablauf erneuert. Unter nachfolgender Rückkehr zu
Schritt S200 wartet der Mikrocomputer 8 auf den nächsten Befehl
der Speicherneuschreibeeinrichtung 14. Dabei ist zu beachten,
daß jedoch
in Schritt S230 bei dem Löschungsvorgang
und dem Vorgang zur Erneuerung des Löschungszählwerts CT in Schritt S220B
die Speicherinhalte im Block B des Flash-Speichers 22 gelöscht werden.
-
Obwohl
es in 4 bezüglich
der Blöcke
C bis O nicht gezeigt ist, wird überprüft, ob der
in Schritt S200 empfangene Befehl der Löschbefehl für einen der Blöcke C bis
O ist, falls bestimmt wird, daß der
in Schritt S200 empfangene Befehl nicht der Löschbefehl für den Block B ist (S210B: NEIN).
Handels es sich um einen Löschbefehl
für einen
der Blöcke
C bis O, dann führt
der Mikrocomputer die Löschung
und den Erneuerungsvorgang für
den Löschungszählwert CT
in gleicher Weise wie in den Schritten S320 und S330 durch und kehrt
mit dem Ablauf zu Schritt S200 zurück. Bei dem Löschungsvorgang
und dem Erneuerungsvorgang für
den Löschungszählwert CT
in Schritt S330 werden die Speicherinhalte des mittels des empfangenen
Löschbefehls
identifizierten Blocks gelöscht.
-
In
dem Teil des Ablaufdiagramms von 4, der durch
die gestrichelte Linie zwischen den Schritten S210B und S210P angedeutet
ist, sind in gleicher Weise wie in den Schritten S210A und S210B
Verarbeitungsschritte S210C bis S210O vorgesehen zur Überprüfung, ob
der empfangene Befehl eine Löschungsanforderung
für jeden
der Blöcke
C bis O ist, und in gleicher Weise wie bei den Schritten S220A und
S220B sind Verarbeitungsschritte S220C bis S220O vorgesehen, d.
h. für
den Löschvorgang
und den Erneuerungsvorgang für
den Löschungszählwert CT
zum Löschen
der Speicherinhalte des Blocks, der mittels des empfangenen Löschbefehls
identifiziert ist, und zur Erneuerung des Löschungszählwerts CT, wenn die Bestimmung
in jedem der Schritte S210C bis S210O "JA" ist.
-
Handelt
es sich bei dem in Schritt S200 empfangenen Befehl nicht um einen
Befehl zum Löschen der
Blöcke
A bis O, dann wird überprüft, ob der
in Schritt S200 empfangene Befehl ein Löschbefehl für den Block P ist. Liegt ein
Löschbefehl
für den
Block P vor (Schritt S210P: JA), dann wird ein Löschungsvorgang und ein Erneuerungsvorgang
für den
Löschungszählwert CT
in Schritt S220P in gleicher Weise wie in den Schritten S220A und
S220B durchgeführt.
Der Mikrocomputer kehrt mit seinem Ablauf sodann zu Schritt S200
zurück.
In diesem Schritt S300 wird der Löschungsvorgang und der Erneuerungsvorgang
für den
Löschungszählwert CT
gemäß Schritt
S220P durchgeführt
und die Speicherinhalte im Block P des Flash-Speichers 22 werden
gelöscht.
-
Wird
in Gegensatz dazu in Schritt S210P bestimmt, daß der in Schritt S200 empfangene
Befehl nicht der Löschbefehl
für den
Block P darstellt (S210P: NEIN), dann geht der Ablauf des Mikrocomputers 8 zu
Schritt S230A über,
da in diesem Fall der in Schritt S200 empfangene Befehl nicht als
ein Löschbefehl
angesehen wird, sondern als Schreibbefehl für einen der Blöcke A bis
P betrachtet wird.
-
In
Schritt S230A wird überprüft, ob der
in Schritt S200 empfangene Befehl ein Schreibbefehl (Neuschreibbefehl)
für den
Block A ist (Schreibbefehl einschließlich der Identifikationsdaten
für den
Block A und Schreibanforderung für
ein Schreiben in den Block A entsprechend den in den Block A einzuschreibenden
Daten). Liegt der Schreibbefehl für den Block A vor, S230A: JA),
dann geht der Ablauf im Mikrocomputer 8 zu Schritt S240A über zur
Durchführung
eines Schreibvorgangs (Neuschreibevorgang), in welchem die im empfangenen
Schreibbefehl für den
Block A enthaltenen Schreibdaten in den Block A des Flash-Speichers 22 geschrieben
werden. Bei diesem Schreibvorgang wird eine Summenüberprüfung der
Schreibdaten durchgeführt.
Der Ablauf im Mikrocomputer 8 kehrt sodann zu Schritt S200
zurück
für eine
Wartezeit auf den nächsten
Befehl der Speicherneuschreibeeinrichtung 14.
-
Wird
in Schritt S230A bestimmt, daß es
sich bei dem in Schritt S200 empfangenen Befehl nicht um einen Schreibbefehl
für den
Block A handelt (S230A: NEIN), dann geht der Ablauf im Mikrocomputer 8 zu
Schritt S230B über
zur Bestimmung, ob der in Schritt S200 empfangene Befehl ein Schreibbefehl
für den
Block B ist. Liegt ein Schreibbefehl für den Block B vor (S230B: JA),
dann geht der Ablauf im Mikrocomputer 8 zu Schritt S240B über zur
Durchführung
des Schreibablaufs wie in Schritt S240A und kehrt zu Schritt S200
zurück
für eine
Wartezeit auf den nächsten
Befehl der Speicherneuschreibeeinrichtung 14. Bei dem Schreibablauf
in Schritt S240B werden die im empfangenen Schreibbefehl für den Block
B enthaltenen Schreibdaten in den Block B des Flash-Speichers 22 geschrieben.
-
Obwohl
dies in 4 nicht für die Blöcke C bis O gezeigt ist wird überprüft, ob der
in Schritt S200 empfangene Befehl ein Schreibbefehl für einen
der Blöcke
C bis O in gleicher Weise wie in den Schritten S230A und S230B ist,
falls in Schritt S230B bestimmt wird, daß der in Schritt S200 empfangene
Befehl kein Schreibbefehl für
den Block B ist (S230B: NEIN). Liegt ein Schreibbefehl für einen
der Blöcke
C bis O vor, dann führt
der Mikroprozessor 8 den Schreibablauf in gleicher Weise
wie in den Schritten S240A und S240B durch und kehrt mit dem Ablauf
sodann zu Schritt S200 zurück.
Bei diesem Schreibablauf werden die im empfangenen Schreibbefehl
enthaltenen Schreibdaten in den mittels des empfangenen Schreibbefehls
identifizierten Block eingeschrieben.
-
In
dem in 4 mittels der gestrichelten Linie angedeuteten
Bereich zwischen den Schritten S230B und S230P sind in gleicher
Weise wie bei den Schritten S230A und S230B Verarbeitungsschritte S230C
bis S230O vorgesehen zur Überprüfung, ob der
empfangene Befehl ein Schreibanforderungsbefehl für jeden
der Blöcke
C bis O ist, und in gleicher Weise wie bei den Schritten S240A und
S240B sind Verarbeitungsschritte S240C bis S240O vorgesehen, d.
h. es ist ein Schreibablauf vorgesehen zum Schreiben der in dem
Schreibbefehl enthaltenen Schreibdaten in den mittels des empfangenen
Schreibbefehls identifizierten Block, wenn die Bestimmung in jedem
der Schritte S230C bis S230O "ja" ist.
-
Ist
der in Schritt S200 empfangene Befehl nicht der Schreibbefehl für die Blöcke A bis
O, dann wird in Schritt S230P überprüft, ob der
in Schritt S200 empfangene Befehl der Schreibbefehl für den Block P
ist. Handelt es sich hierbei um den Schreibbefehl für den Block
P (S230P: JA), dann wird in Schritt S240P in gleicher Weise wie
in den Schritten S240A und S240B der Schreibablauf durchgeführt. Der
Mikrocomputer kehrt mit seinem Ablauf sodann zu Schritt S200 zurück. In Schritt
S230 im Schreibablauf von Schritt S240P werden die im Schreibbefehl
für den
Block P enthaltenen Schreibdaten in den Block P des Flash-Speichers 22 eingeschrieben.
-
Wird
im Gegensatz dazu bestimmt, daß der in
Schritt S200 empfangene Befehl nicht der Schreibbefehl für den Block
P ist (S230P: NEIN), dann kehrt der Mikrocomputer 8 mit
seinem Ablauf zu Schritt S200 zurück für eine Wartezeit auf den nächsten Befehl
der Speicherneuschreibeeinrichtung 14.
-
Bei
dem vorstehend beschriebenen Ausführungsbeispiel wird die Speicherneuschreibeeinrichtung 14 zuerst
für eine Übersendung
des Schreibbefehls verbunden, wenn die Speicherinhalte des Flash-Speichers 22 in
der elektronischen Steuerungseinheit 2 durch einen Neuschreibevorgang
ersetzt werden. Der Mikrocomputer 8 in der elektronischen
Steuerungseinheit 2 führt
sodann eine bejahende Bestimmung in den Schritten S110 oder S140 in 3 durch
und ändert
seine Betriebsart in eine Schreibbetriebsart zur Durchführung des
Ablaufs der Schritte S150 bis S190.
-
Des
weiteren sendet die Speicherneuschreibeeinrichtung 14 das
neuzuschreibende Programm zur elektronischen Steuerungseinheit 2 und
sendet ferner sequentiell die Löschbefehle
für jeden
der Blöcke
A bis P des Flash-Speichers 22, deren Speicherinhalte ersetzt
werden sollen. Der Mikrocomptuer 8 führt daraufhin in entsprechender
Weise die Abläufe der
Schritte S210A, S220A bis S210P und S220P gemäß 4 durch
zum sequentiellen Löschen
der Speicherinhalte der mittels der Löschbefehle der Speicherneuschreibeeinrichtung 14 identifizierten Blöcke.
-
Ferner
sendet die Speicherneuschreibeeinrichtung 14 in sequentieller
Weise die Schreibbefehle zur elektronischen Steuerungseinheit 12 in
der Reihenfolge der Blöcke,
deren Speicherinhalte ersetzt werden sollen. In Abhängigkeit
davon führt
der Mikrocomputer 8 die Abläufe der Schritte S230A, S240A bis
S230P und S240P gemäß 4 durch
zum Schreiben der in jedem Schreibbefehl der Speicherneuschreibeeinrichtung 14 enthaltenen
Schreibdaten in die Blöcke,
deren Speicherinhalte zuvor gemäß der vorstehenden
Beschreibung gelöscht
wurden.
-
Bei
dem vorstehend angegebenen Ausführungsbeispiel
wird die Anzahl der in Schritt S230 durchgeführten Löschungen in jedem der Löschvorgänge und
Erneuerungsvorgänge
des Löschungszählwerts
CT der Schritte S220A bis S220P gezählt und in einem Schritt S320
gespeichert. Der Zählvorgang
in Schritt S320 wird lediglich dann durchgeführt, wenn die elektronische
Steuerungseinheit 2 ihren Betrieb ausgehend von den Anfangsbedingungen startet
und den Löschvorgang
in Abhängigkeit
von dem ersten Löschungsbefehl
der Speicherneuschreibeeinrichtung 14 durchführt.
-
Bei
der elektronischen Steuerungseinheit 2 gemäß dem vorliegenden
Ausführungsbeispiel
wird die elektrische Leistung von der Batterie BT in Abhängigkeit
vom Einschalten des Zündschalters 17 zugeführt, so
daß der
Mikrocomputer 8 seinen Betrieb ausgehend von den Anfangsbedingungen
aufnimmt. Zu diesem Zeitpunkt ist die Vollständigkeitszählmarke FC gemäß 3 in
Schritt S100 auf "0" gesetzt. Wird nun
der erste Löschungsbefehl
der Speicherneuschreibeeinrichtung 14 empfangen, dann wird
im Schritt S300 bestimmt, daß die
Vollständigkeitszählmarke
FC in einem der Löschvorgänge und
der Löschungszählwert-Erneuerungsvorgänge der
Schritte S220A bis S220P gleich "0" ist (S300: JA).
Die Vollständigkeitszählmarke
FC wird auf "1" gesetzt (Schritt
S310), und der in Block Q des Flash-Speichers 22 gespeicherte
Löschungszählwert CT
wird um 1 erhöht
(CT = CT + 1). Ferner werden die Speicherinhalte in dem mittels
des empfangenen Löschungsbefehls
identifizierten Block zu diesem Zeitpunkt gelöscht (S300). Wird demgegenüber ein zweiter
oder späterer
Löschungsbefehl
der Speicherneuschreibeeinrichtung 14 empfangen, nachdem
der Mikrocomputer 8 seinen Betrieb aufgenommen hat, dann
wurde die Vollständigkeitszählmarke
FC bereits auf "1" gesetzt. In Schritt
S200 wird daher in einem der Löschvorgänge und
der Löschungszählwert-Erneuerungsvorgänge der
Schritte S220A bis S220P bestimmt, daß die Vollständigkeitszählmarke
FC auf "1" gesetzt ist (S300:
NEIN). Daher werden die Speicherinhalte in dem mittels des zu diesem
Zeitpunkt empfangenen Löschungsbefehls
identifizierten Block ohne weiteres Hochzählen des Löschungszählwerts CT gelöscht.
-
Auch
wenn beispielsweise gemäß der Darstellung
in 5 eine Vielzahl von Löschungsbefehlen der Speicherneuschreibeeinrichtung 14 sequentiell
empfangen wird zum Neuschreiben der Speicherinhalte (d. h. sämtliche
Steuerungsprogramme und Steuerungsdaten) in den Blöcken A bis
P des Flash-Speichers 22 während einer Zeitdauer, in der der
Zündschalter
(IG) 17 eingeschaltet gehalten wird, wird der Löschungszählwert CT
um 1 hochgezählt und
lediglich bis zum Wert "n" erneuert, wenn die Speicherinhalte
im ersten Block (beispielsweise in Block A) in Abhängigkeit
vom ersten Löschungsbefehl
für einen
Block (Block A) gelöscht
werden. Auch wenn die Speicherinhalte in anderen Blöcken (B
bis P) sequentiell in Abhängigkeit
von den Löschungsbefehlen
für die anderen
Blöcke
gelöscht
werden, wird somit der Löschungszählwert CT
nicht erneuert (hochgezählt),
sondern auf dem Wert CT = n gehalten.
-
Auch
wenn eine Vielzahl von Löschungsbefehlen
der Speicherneuschreibeeinrichtung 14 empfangen wird zum
Neuschreiben der Speicherinhalte (beispielsweise lediglich der Steuerungsdaten)
in den Blöcken
(beispielsweise in den Blöcken
L bis P) des Flash-Speichers 22 während der Zeitdauer, in der
der Zündschalter 17 erneut
eingeschaltet wird, nachdem der Zündschalter 17 zuvor
einmal ausgeschaltet wurde, wird ferner der Löschungszählwert CT um 1 hochgezählt und
erneuert auf "n
+ 1", wenn die Speicherinhalte
in dem ersten Block (beispielsweise Block L) in Abhängigkeit
von dem ersten Löschungsbefehl
für einen
Block (Block L) gelöscht werden.
Dabei wird der Löschungszählwert CT
nicht erneuert sondern auf dem Wert CT = n + 1 gehalten, auch wenn
die Speicherinhalte der anderen Blöcke (N bis P) sequentiell in
Abhängigkeit
von den Löschungsbefehlen
für die
anderen Blöcke
gelöscht werden.
-
Somit
wird die Anzahl der Löschungsvorgänge für jeden
Block des Flash-Speichers 22 als Anzahl der Neuschreibevorgänge des
Flash-Speichers 22 gezählt,
und es wird der Löschungszählwert CT
nicht weitergezählt
oder erneuert, auch wenn der Neuschreibevorgang durchgeführt wird
für eine
Vielzahl von Blöcken
des Flash-Speichers 22, solange die elektronische Steuerungseinheit 2 kontinuierlich
auf der Basis der Anfangsbedingungen in Betrieb gehalten wird, d.
h. solange der elektronischen Steuerungseinheit 2 kontinuierlich
elektrische Leistung zugeführt
wird. Im Ergebnis kann die Anzahl der Neuschreibevorgänge des
Flash-Speichers 22 in effizienter Weise und mit ausreichender
Genauigkeit erneuert werden.
-
Die
Anzahl der Löschungsvorgänge sämtlicher
Speicherinhalte wird als ein Vorgang gezählt, auch wenn sämtliche
der Steuerungsprogramme und Steuerungsdaten (sämtliche Speicherinhalte in
den Blöcken
A bis P) im Flash-Speicher 22 neu geschrieben werden. Somit
unterscheiden sich die tatsächliche
Anzahl der Neuschreibungen des Flash-Speichers 22 und der
Löschungszählwert CT
nicht voneinander.
-
Werden
ferner gemäß 5 lediglich
die Steuerungsdaten neu geschrieben, nachdem die Steuerungsprogramme
und die Steuerungsdaten neu geschrieben wurden, wird der Löschungsvorgang
für jeden
der Blöcke
L bis P, die Steuerungsdaten speichern, durchgeführt. Dies wird ebenfalls als eine
Löschung
oder ein Neuschreiben gezählt.
Hierbei stimmt die maximale Anzahl der Neuschreibevorgänge jedes
Blocks (maximale Anzahl des Neuschreibens der Steuerungsdaten speichernden
Blöcke
L bis P) mit dem Löschungszählwert CT überein.
-
Wird
ferner lediglich eines der Steuerungsprogramme und der Steuerungsdaten
in den Flash-Speicher 22 neu geschrieben, dann wird der Löschungsvorgang
lediglich bezüglich
der den zu überschreibenden
Inhalt speichernden Blöcke
durchgeführt.
Dies wird ebenfalls lediglich als eine Löschung oder ein Neuschreiben
gezählt.
Auch wenn diese Art des Neuschreibens mehrmals auftritt, wird der
Löschungszählwert CT
zur Angabe der Anzahl der Löschungsvorgänge größer als
die tatsächliche maximale
Anzahl der Neuschreibungen in jedem Block des Flash-Speichers 22.
Daher wird ein Neuschreibevorgang an der Ausführung gehindert in Abhängigkeit
vom Überschreiten
der zulässigen
Anzahl der garantierten Neuschreibungen des Flash-Speichers 22.
-
Gemäß der vorstehenden
Beschreibung und dem bevorzugten Ausführungsbeispiel gelangt der Löschungszählwert CT
näher an
die tatsächliche
maximale Anzahl der Neuschreibungen in jedem Block im Vergleich
zu dem Fall, in welchem der Löschungsvorgang
in einfacher Weise gezählt
wird. Daher kann die Anzahl der Neuschreibungen im Flash-Speicher 22 in
genauerer Weise gezählt
werden.
-
Ferner
wird die Anzahl des Durchführens
des Löschungsvorgangs
ohne Unterscheidung jedes Blocks A bis P gezählt. Diese ist daher insoweit
effizient, als das der zur Speicherung des Löschungszählwerts CT im Flash-Speicher 22 vorgesehene Speicherbereich
auf ein Minimum verkleinert werden kann, d. h. auf lediglich einen
Block Q.
-
Ferner
wird der Löschungszählwert CT
lediglich in Abhängigkeit
vom ersten Löschungsbefehl nach
Aufnahme des Betriebs ausgehend von den Anfangsbedingungen hochgezählt. Somit
kann die Anzahl der durchgeführten
Löschungsvorgänge aufrechterhalten
werden, auch wenn der Neuschreibevorgang des Flash-Speichers 22 aus
beliebigen Gründen
vor seiner Vollendung unterbrochen wird.
-
Ferner
wird in Schritt S170 in 3 überprüft, ob der in Block Q des Flash-Speichers 22 gespeicherte
Löschungszählwert CT
einen vorbestimmten Bezugswert Cr vor dem Starten des Programmneuschreibevorgangs
zur Verarbeitung der Speicherinhalte im Flash-Speicher 22 erreicht
hat, und es wird ein Berichtssignal zur Anzeige des Überprüfungsergebnisses
zur Speicherneuschreibeeinrichtung 14 gemäß Schritt
S180 übertragen,
falls der Löschungszählwert CT
den Bezugswert Cr erreicht hat (S170: JA). Somit kann der Vorgang
des Neuschreibens des Lösch-Speichers 22 auf
einfache Weise verhindert werden bei Überschreiten der Anzahl der
garantierten Neuschreibevorgänge.
-
Bei
dem vorstehend beschriebenen Ausführungsbeispiel werden das Neuschreibeprogramm
zur Durchführung
der Verarbeitung der Schritte S170 bis S190 gemäß 3 und der
Verarbeitung gemäß 4 von
der Speicherneuschreibeeinrichtung 14 zu dem Speicher RAM 24 in
der elektronischen Steuerungseinheit 2 geladen, wobei eine Änderung
der Anordnung derart vorgenommen werden kann, daß das Neuschreibeprogramm vorläufig in
dem maskierten ROM 24 gespeichert und damit verarbeitet
wird. Bei dieser Änderung
können
die Verarbeitungsschritte S150 und S160 gemäß der Darstellung in 3 weggelassen
werden.
-
Das
vorstehende Ausführungsbeispiel
kann ferner in der Weise abgewandelt werden, daß Bit-Daten in additiver Weise
in den Block Q des Flash-Speichers 22 in Schritt S320 bei
dem Löschungsvorgang und
Löschungszählwert-Erneuerungsvorgang
gemäß 4 geschrieben
werden, so daß die
Anzahl der Durchführungen
der Löschungsvorgänge erfaßt werden
kann durch Zählen
der Anzahl der in Block Q eingeschriebenen Bits.
-
Das
vorstehend beschriebene Ausführungsbeispiel
kann ferner in der Weise abgewandelt werden, daß bei negativer Erfassung in
Schritt S230P gemäß 4 (S230P:
NEIN), der Verarbeitungsablauf softwaregsteuert zur Rücksetzstartadresse
des Programms in Abhängigkeit
von einem Vollendungsbefehl der Speicherneuschreibeeinrichtung 14 zum Starten
des Ablaufs ausgehend von Schritt S100 gemäß 3 springt.
Hierbei startet die elektronische Steuerungseinheit 2 automatisch
ihren Betrieb ausgehend von den Anfangsbedingungen in Abhängigkeit
von dem Vollständigkeitsbefehl
der Speicherneuschreibeeinrichtung 14.
-
Obwohl
im vorstehenden Ausführungsbeispiel
die elektronische Steurungseinheit 2 vorgesehen ist zur
Steuerung einer Fahrzeugmaschine ist es ersichtlich, daß die erfindungsgemäße elektronische Steuerungseinheit 2 auch
bei anderen elektronischen Einrichtungen zur Steuerung von Mechanismen
wie einer Bremse, eines Betriebes, oder einer Radaufhängung in
gleicher Weise gemäß der vorstehend
angegebenen technischen Lehre anwendbar ist.
-
Die
elektronische Steuerungseinheit 2 umfaßt somit einen Flash-Speicher 22 als
nichtflüchtigen
Speicher, dessen Speicherinhalte Block für Block A bis Q gelöscht werden
können,
zum Speichern von Programmen und Daten. Ein Löschungsablauf gemäß Schritt
S330 wird für
jeden Speicherinhalt in jedem der mittels eines von einer externen
Einrichtung 14 empfangenen Löschungsbefehl identifizierten
Blöcke
durchgeführt,
und ein neuer Schreibvorgang S190 wird durchgeführt zum Ersetzen des gelöschten Speicherinhalts
mit einem neuen, von der externen Einrichtung 14 empfangenen
Inhalt. Die Anzahl der Löschungsvorgänge CT wird
lediglich dann gezählt,
wenn der erste von einer Anzahl von Löschungsbefehlen für eine Vielzahl
von Blöcken
empfangen wird, solange die elektronische Steuerungseinheit 2 ausgehend
von den Anfangsbedingungen in Betrieb gehalten wird.