-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Steuergerät, so wie
ein Fahrzeug-Motorsteuergerät oder ein Getriebe-Steuergerät,
das einen flüchtigen RAM-Speicher und einen nicht-flüchtigen
Datenspeicher enthält, die mit einem Mikroprozessor zusammenarbeiten,
und in dem nicht-flüchtigen Datenspeicher Lernsteuerkonstanten
aufbewahrt, die in dem RAM-Speicher gespeichert sind; die vorliegende
Erfindung betrifft auch eine Verbesserung zum Begrenzen der Anzahl
der Häufigkeit einer Kollektivlöschung eines Flash-Speichers,
der als der nicht-flüchtige Datenspeicher genutzt wird.
-
Beschreibung des verwandten
Fachgebiets
-
Es
ist allgemein bekannt, dass in einem Steuergerät, welches
einen Mikroprozessor, mit dem ein Eingangssignal-Schaltkreis und
ein Ausgangssignal-Schaltkreis verbunden sind, einen nicht-flüchtigen
Programmspeicher, einen flüchtigen RAM-Speicher und einen
nicht-flüchtigen Datenspeicher enthält, der mit
dem Mikroprozessor, einem Eingabe/Ausgabe-Steuerprogramm, das an
den nicht-flüchtigen Programmspeicher übertragen
wird und darin geschrieben ist, und in dem nicht-flüchtigen Datenspeicher
gespeicherten Werten von Steuerkonstanten zusammenarbeitet, und
welches ein Steuerausgangssignal an den Ausgangssignal-Schaltkreis
in Ansprechen auf den Signalzustand des Eingangssignal-Schaltkreises überträgt,
ein Flash-Speicher als der nicht- flüchtige Datenspeicher genutzt
wird, der eine Vielzahl von Aufteilungsblöcken hat, von
denen jeder separat und kollektiv gelöscht werden kann.
-
Bis
heute gab es ein Steuergerät, das anstelle eines Flash-Speichers
einen EEPROM-Speicher nutzt, der fähig ist zum Durchführen
eines elektrischen Lesens in Schritten von einem Byte (8 Bits); obwohl
dieses ermöglicht, dass ein kostengünstiger Speicher
mit großer Kapazität erhalten wird, hat ein Flash-Speicher
jedoch ein Problem darin, dass es erforderlich ist, ihn in Schritten
eines Blocks, der aus einer großen Anzahl von Bytes besteht,
vor einem Schreiben und Umschreiben von Daten kollektiv zu löschen,
und dass die Häufigkeit bzw. Anzahl einer Kollektivlöschung
aufgrund seiner Lebensdauer begrenzt ist.
-
Beispielsweise
wird gemäß der offen gelegten
japanischen Patentanmeldung Nr. 2006-072461 (
4, Ansprüche 2 und 3) ”Fahrzeugsteuergerät” der
erste Block eines nicht-flüchtigen Flash-Speichers als
ein Programmspeicher genutzt, und werden der zweite und der dritte
Block als Datenspeicher genutzt; zu behandelnde Steuerkonstanten
sind wie folgt klassifiziert:
Als Erstes ist eine Steuergerät-eigene
Information eine Korrekturwertinformation zum Korrigieren von Variationen,
durch Komponenten verursacht, in der Ausgangsspannungsgenauigkeit
einer Konstantspannungs-Energieversorgungsvorrichtung, die in einem
Fahrzeugsteuergerät aufgenommen ist, der Umwandlungsgenauigkeit
eines A/D-Wandlers und dergleichen; die Steuergerät-eigene
Information ist eine halbfeste Steuerkonstante, die sich in Abhängigkeit
von einem Produkt ändert, sich aber nicht mehr ändert,
nachdem sie als ein Anfangsmesswert gespeichert worden ist.
-
Als
Nächstes ist eine Fahrzeug-eigene Information eine Umgebungsinformation,
so wie eine Fahrzeugmodellinformation zum selektiven Bestimmen einer
Steuerungsspezifizierung für das Fahrzeug, in dem das Fahrzeugsteuergerät
befestigt ist, oder eine Charakteristikgenauigkeitsinformation über einen
Fahrzeugsensor, der extern mit dem Fahrzeugsteuergerät
verbunden ist; die Fahrzeug-eigene Information ist eine Steuerkonstante,
die sich in Abhängigkeit von einem Fahrzeug ändert,
an dem das Fahrzeugsteuergerät befestigt ist, die sich
aber nicht mehr ändert, bis eine extern angeschlossene
Komponente ersetzt wird, nachdem sie als ein Anfangswert oder ein
Anfangsmesswert gespeichert worden ist; die Fahrzeug-eigene Information
wird als eine variable Steuerkonstante oder eine halbfeste Steuerkonstante
behandelt.
-
Darüber
hinaus ist eine Lernspeicherungsinformation eine variable Information,
so wie eine Fahrsteuerinformation, die als ein Ergebnis einer Messung
der Fahrcharakteristika eines Fahrzeugs erhalten ist, oder eine
Charakteristikaverschlechterungsinformation über einen
Fahrzeugsensor oder eine elektrische Last; die Lernspeicherungsinformation
ist eine variable Steuerkonstante, die sich innerhalb einer vorbestimmten
Spanne ändern kann, nachdem sie als ein Anfangswert gespeichert
wird, wenn das Fahren gestartet wird. Eine Abnormalitätsauftritts-Verlaufsinformation
ist/sind kategorisierte Daten über die Häufigkeit
bzw. Anzahl eines Abnormalitätsauftritts, erhalten durch
Aufaddieren von Informationselementen über vielfältige
Arten von Abnormalitäten, die auftreten, während
ein Fahrzeug gefahren wird, gemäß Abnormalitätsauftrittskategorien;
die Abnormalitätsauftritts-Verlaufsinformation wird als eine
Art einer variablen Steuerkonstante behandelt.
-
Referenzdaten
sind Anfangswertdaten, die ein zulässigerer oberer Grenzwert,
ein zulässiger untere Grenzwert und ein Anfangseinstellungswert
für die halbfeste Steuerkonstante oder die variable Steuerkonstante
werden; die Referenzdaten werden als feste Steuerkonstanten behandelt.
Außerdem ist eine Programm-eigene Information eine feste
Steuerkonstante, die eine feste Entwurfskonstante wird, die gemäß einem
Eingabe/Ausgabe-Steuerprogramm bestimmt ist.
-
In
dem ersten Block sind ein Eingabe/Ausgabe-Steuerprogramm und feste
Steuerkonstanten von einem externen Hilfsmittel bzw. Tool gespeichert,
und nach einem Justierungsverfahren des Fahrzeugsteuergerätes
zum Verschiffen bzw. Verladen werden halbfeste Steuerkonstanten
zusätzlich gespeichert.
-
In
einem der zweiten und dritten Blöcke werden nur variable
Steuerkonstanten gespeichert; wenn die Häufigkeit bzw.
Anzahl eines sequentiellen Schreibens in dem einen der zweiten und
dritten Blöcke einen vorbestimmten Wert erreicht, d. h.
wenn dieser Block voll mit variablen Konstanten ist, werden variable
Konstanten zusätzlich in einer sequentiellen Weise in den
anderen Block geschrieben, nachdem sämtliche der Daten,
die in den anderen Block geschrieben worden sind, gelöscht
sind. Durch Schreiben, in dem ersten Block, fester Steuerkonstanten und
halbfester Steuerkonstanten, deren Schreibhäufigkeit klein
ist, um die Datenmenge zu reduzieren, die in die zweiten und dritten
Blöcke geschrieben wird, können demgemäß variable
Steuerkonstanten zusätzlich so oft wie möglich
geschrieben werden.
-
In
der offen gelegten
japanischen
Patentanmeldung Nr. 2006-072461 (
4,
Ansprüche 2 und 3) entsprechen in den ersten Block zu schreibende feste
und halbfeste Steuerkonstanten ersten und zweiten Konstanten in
der später beschriebenen vorliegenden Erfindung, und alternativ
bzw. wechselweise in die zweiten und dritten Blöcke zu
schreibende variable Steuerkonstanten entsprechen dritten Konstanten
in der vorliegenden Erfindung.
-
Darüber
hinaus offenbart die offen gelegte
japanische Patentanmeldung Nr. 2002-007221 (
1,
Zusammenfassung, Absatz [0014]) ”Verfahren zum Erhöhen
der Schreibhäufigkeit in einen Flash-Speicher” ein
Steuergerät, in dem ein Datenspeicherungsbereich in Sektoren
(eine minimale Einheit, die fähig ist, gelöscht
zu werden, und einem Block in der vorliegenden Erfindung entspricht)
aufgeteilt ist; jeder Sektor hat einen Flash-Speicher, in dem Daten
gelöscht werden können; ein interner Schaltkreis
wird durch einen integrierten Mikroprozessor gesteuert; Steuerprogramme
sind in die Sektoren A bis F des Flash-Speichers geschrieben; in dem
Sektor G sind Stroke-Justierungsdaten geschrieben, die gesetzt werden,
wenn die Produktion implementiert wird und die Umschreibhäufigkeit
davon ist klein; und in dem Sektor H sind Nutzerjustierungsdaten
geschrieben, deren Umschreibhäufigkeit groß ist.
-
Darüber
hinaus offenbart die offen gelegte
japanische Patentanmeldung Nr. 2002-007221 (
1,
Zusammenfassung, Absatz [0014]) ein Verfahren zum Erhöhen
der gewährleisteten Häufigkeit eines Schreibens
in einem Flash-Speicher; in dem vorhergehenden Verfahren wird der
Sektor H zum Speichern von Nutzerjustierungsdaten, die beispielsweise
gegeben sind, um den optimalen Betrieb des Steuergeräts
bei Nutzung durch einen Nutzer anzuweisen, weiter in eine Vielzahl
von Speicherungsblöcken (die jeweils eine Einheit zum Schreiben/Lesen sind
und einem Abschnitt in der vorliegenden Erfindung entsprechen) aufgeteilt,
deren Größen jeweils dieselben wie oder größer
als die Datengröße der Nutzerjustierungsdaten
sind; jedes Mal wenn die Nutzerjustierungsdaten aktualisiert werden,
werden die Nutzerjustierungsdaten sequentiell in unbeschriebene
Bereiche in Schritten des Speicherungsblocks geschrieben; in dem
Fall, wo kein unbeschriebener Bereich in dem Sektor existiert, werden
die gesamten Daten in dem die Nutzerjustierungsdaten speichernden
Sektor kollektiv gelöscht, so dass ein Schreiben der Nutzerjustierungsdaten
wieder möglich wird.
-
Gemäß dem
vorhergehenden Verfahren sind ein Steuergerätprogramm und
Gerätjustierungsdaten in demselben Flash-Speicher gespeichert;
hinsichtlich der Justierungsdaten, deren Umschreibhäufigkeit
groß ist, wird ein einzelner Sektor, der eine Aufteilungseinheit
eines Flash-Speichers ist, weiter in eine Vielzahl von Speicherungsblöcken
aufgeteilt; jedes Mal wenn die Justierungsdaten aktualisiert werden,
werden neue Justierungsdaten in einem unbeschriebenen Speicherungsblock
geschrieben; wenn Justierungsdaten in einem gesamten einzelnen Sektor
geschrieben sind, werden letzte Justierungsdaten in einem RAM-Speicher
behalten, und dann wird der Sektor kollektiv gelöscht,
so dass Justierungsdaten neu in Schritten eines Speicherungsblocks
geschrieben werden können. Deshalb ist kein EEPROM erforderlich,
das bis heute genutzt worden ist, wodurch eine Kostenreduzierung,
Reduzierung der Komponentenanzahl und ein Hochgeschwindigkeits-Datenlesen
durchgeführt werden kann, und es wird möglich gemacht,
die sichergestellte Schreibhäufigkeit wesentlich und überaus
zu erhöhen; daher kann das Verfahren angeblich ein Steuergerät
hoher Zuverlässigkeit bereitstellen.
-
In
der offen gelegten
japanischen
Patentanmeldung Nr. 2002-007221 (
1, Zusammenfassung,
Absatz [0014]) entsprechen in dem Sektor G zu schreibende Schrittjustierungsdaten
(step adjustment data) einer ersten Konstanten in der später
beschriebenen vorliegenden Erfindung und entsprechen in dem Sektor
H zu schreibende Nutzerjustierungsdaten einer zweiten Konstante
in der vorliegenden Erfindung.
-
(1) Erläuterung der Probleme
des Standes der Technik
-
Weil
ein ”Fahrzeugsteuergerät” gemäß der offen
gelegten
japanischen Patentanmeldung
Nr. 2006-072461 (
4, Ansprüche
2 und 3) derart ausgestaltet ist, dass feste Steuerkonstanten und
halbfeste Steuerkonstanten in einen ersten Block geschrieben sind,
in dem ein Eingabe/Ausgabe-Steuerprogramm geschrieben ist, kann
die Datenmenge in zweiten und dritten Blöcken reduziert
werden; jedoch gab es ein Problem darin, dass beispielsweise bei
einer Werkstatt, bei der die Wartung und Inspektion durchgeführt
wird, es schwierig wird, nur das Eingabe/Ausgabe-Steuerprogramm
zu ändern, wobei halbfeste Steuerkonstanten unverändert bleiben, oder
kollektiv nur halbfeste Steuerkonstanten zu ändern, wobei
das Eingabe/Ausgabe-Steuerprogramm unverändert bleibt.
-
Darüber
hinaus wird in einem ”Verfahren zum Erhöhen der
sichergestellten Schreibanzahl in einem Flash-Speicher” gemäß der
offen gelegten
japanischen
Patentanmeldung Nr. 2002-007221 (
1, Zusammenfassung,
Absatz [0014]) ein Schreiben in einem Sektor durchgeführt,
der eine Kollektivlöschungseinheit ist, und dessen Steuerprogrammbereich,
Stroke-Justierungsdaten-Bereich und Nutzerjustierungsdaten-Bereich
voneinander unterschiedlich sind. Deshalb kann ein separates Umschreiben
leicht durchgeführt werden; jedoch gab es ein Problem darin,
dass in dem Fall, dass kein unbeschriebener Bereich in dem Sektor
existiert und ein Stromausfall zu einem Zeitpunkt auftritt, wenn
die gesamten Daten in dem Sektor kollektiv gelöscht sind, vorherige
Daten verloren sind. Außerdem ist es erforderlich, einen
Sektor G bereitzustellen, der Stroke-Justierungsdaten gewidmet ist,
wo eine kleine Datenmenge gespeichert wird; deshalb gab es ein Problem,
dass die Nutzungseffizienz eines Speichers verschlechtert wird.
-
INHALTSANGABE DER ERFINDUNG
-
(2) Erläuterung der Aufgabe der
vorliegenden Erfindung
-
Die
vorliegende Erfindung ist implementiert worden, um die vorhergehenden
Probleme in einer konventionellen Vorrichtung zu lösen;
die Aufgabe davon ist die Bereitstellung eines Steuergerätes,
das die Nutzungseffizienz eines nicht-flüchtigen Datenspeichers
erhöhen kann, der ein Flash-Speicher ist, und das die Häufigkeit
bzw. Anzahl einer Kollektivlöschung reduzieren kann, um
eine Soll-Lebensdauer sicherzustellen.
-
Ein
Steuergerät gemäß der vorliegenden Erfindung
ist versehen mit einem Mikroprozessor, mit dem ein Eingangssignal-Schaltkreis
und ein Ausgangssignal- Schaltkreis verbunden sind, einem nicht-flüchtigen
Programmspeicher, der zusammenarbeitet mit dem Mikroprozessor, einem
flüchtigen RAM-Speicher und einem nicht-flüchtigen
Programmspeicher, und überträgt ein Steuerausgangssignal
an den Ausgangssignal-Schaltkreis, in Ansprechen auf ein in den
nicht-flüchtigen Programmspeicher geschriebenes Eingabe/Ausgabe-Steuerprogramm,
Werte von Steuerkonstanten, die in dem nicht-flüchtigen
Datenspeicher gespeichert sind, und einen Signalzustand des Eingangssignal-Schaltkreises.
Das Steuergerät ist dadurch gekennzeichnet, dass der nicht-flüchtige
Datenspeicher aus einem nicht-flüchtigen Speicher mit einer
Vielzahl von Aufteilungsblöcken gebildet ist, von denen
jeder separat und kollektiv gelöscht werden kann; jeder
der Aufteilungsblöcke in eine Vielzahl von Datenspeicherungsbereichen
aufgeteilt ist, deren Schreibfrequenzen und Schreib-Timings bzw.
Schreibsteuerzeiten voneinander unterschiedlich sind; jeder der
Datenspeicherungsbereiche mit einer Vielzahl von Abschnitten ausgestaltet
ist, von denen jeder eine Lese/Schreibeinheit ist; eine Vielzahl
separater Datenstücke bzw. Datenteile in einer vorbestimmten
Reihenfolge in jedem der Abschnitte geschrieben wird; und eine Datenkapazität
jedes Abschnitts mit der Anzahl von Bytes entsprechend der Anzahl
separater Datenstücke übereinstimmt, die in diesen
Abschnitt geschrieben sind, dadurch dass, nachdem der Subjekt-Aufteilungsblock
kollektiv gelöscht ist, neue Datenstücke sequentiell
in der Vielzahl von Abschnitten in Schritten eines Abschnitts gespeichert
werden; wenn ein Datenspeicherungsbereich des Subjekt-Aufteilungsblocks
mit Daten aufgefüllt ist und kein Leerabschnitt existiert,
wo keine Daten geschrieben sind, neue Daten in den Kopfabschnitt
in dem entsprechenden Datenspeicherungsbereich eines anderen Aufteilungsblocks
geschrieben werden, der vorbereitend und kollektiv gelöscht
worden ist; und letzte Daten, die in einen anderen Datenspeicherungsbereich
des ursprünglichen Aufteilungsblocks geschrieben worden sind,
an einen Kopfabschnitt in einem entsprechenden Datenspeicherungsbereich
des neuen Aufteilungsblocks übertragen und darin gespeichert
werden, dadurch dass, wenigstens nachdem die letzten Daten an den
neuen Aufteilungsblock übertragen und darin gespeichert
worden sind, Daten in dem ursprünglichen Aufteilungsblock
kollektiv gelöscht werden; und die Anzahl an den Datenspeicherungsbereich
zugeteilter Abschnitte in Proportion zu einer Schreibfrequenz ist.
-
In
einem Steuergerät gemäß der vorliegenden
Erfindung wird als ein nicht-flüchtiger Datenspeicher,
der mit einem Mikroprozessor zusammenarbeitet, eine nicht-flüchtiger
Speicher mit einer Vielzahl von Aufteilungsblöcken genutzt,
von denen jeder separat und kollektiv gelöscht werden kann;
jeder der Aufteilungsblöcke ist in eine Vielzahl von Datenspeicherungsbereichen
aufgeteilt; die Anzahl an den Datenspeicherungsbereich zugeteilter
Abschnitte ist in Proportion zu der Schreibfrequenz. Als ein Ergebnis können
halbfeste Steuerkonstanten, die in demselben Block geschrieben worden
sind, wie ein Eingabe/Ausgabe-Programm geschrieben ist, in einem
der Datenspeicherungsbereiche des nicht-flüchtigen Datenspeichers
gespeichert werden; deshalb wird es ermöglicht, dass, wobei
die halbfesten Steuerkonstanten unverändert bleiben, nur
das Eingabe/Ausgabe-Programm aktualisiert wird, oder dass, wobei
das Eingabe/Ausgabe-Steuerprogramm unverändert bleibt,
nur die halbfesten Steuerkonstanten kollektiv aktualisiert werden.
-
Wenn
ein kleiner Wert für die Anzahl der Abschnitte in dem Datenspeicherungsbereich
festgelegt ist, wo eine halbfeste Steuerkonstante, deren Schreibfrequenz
gering ist, gespeichert wird, wodurch kein leerer Abschnitt bzw.
Leerabschnitt in einem gegebenen Datenspeicherungsbereich übrig bleibt,
und ein Übergang zu einem neuen Aufteilungsblock getätigt
wird, verbleibt darüber hinaus eine kleine Anzahl von Leerabschnitten
in anderen Datenspeicherungsbereichen; deshalb wird die Anzahl von
Leerabschnitten reduziert, auf die eine unnötige Kollektivlöschung
angewendet wird. Als ein Ergebnis zeigt sich der Effekt, dass die
Häufigkeit einer Kollektivlöschung eines Flash-Speichers
insgesamt reduziert wird, und die Lebenszeit des Flash-Speichers
verlängert werden kann.
-
Darüber
hinaus wird, nachdem unter der Vielzahl von Aufteilungsblöcken
eine Übertragung und ein Bewahren letzter Daten durchgeführt
wird, ein ursprünglicher Aufteilungsblock kollektiv gelöscht;
deshalb zeigt sich ein Effekt, dass selbst in dem Fall, dass ein
Stromausfall während der Übertragungsverarbeitung
auftritt, keine Daten verloren gehen.
-
Die
vorhergehenden und andere Aufgaben, Merkmale, Aspekte und Vorteile
der vorliegenden Erfindung werden aus der folgenden detaillierten
Beschreibung der vorliegenden Erfindung im Zusammenhang mit den
begleitenden Zeichnungen besser ersichtlich werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das die Gesamtausgestaltung eines Steuergerätes
gemäß Ausführungsform 1 der vorliegenden
Erfindung veranschaulicht.
-
2 ist
ein Abschnittsausgestaltungsdiagramm eines nicht-flüchtigen
Datenspeichers in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung.
-
3A, 3B und 3C sind
eine Menge von erläuternden Diagrammen für eine Lösch/Schreibverarbeitung
in einem nicht-flüchtigen Datenspeicher in einem Steuergerät
gemäß Ausführungsform 1 der vorliegenden
Erfindung.
-
4A und 4B sind
eine Menge erläuternder Diagramme für eine Such/Leseverarbeitung eines
nicht-flüchtigen Datenspeichers in einem Steuergerät
gemäß Ausführungsform 1 der vorliegenden Erfindung.
-
5A und 5B sind
eine Menge erläuternder Diagramme für eine Abnormalitätsverarbeitung
eines nicht-flüchtigen Datenspeichers in einem Steuergerät
gemäß Ausführungsform 1 der vorliegenden
Erfindung.
-
6 ist
ein Flussdiagramm, das die Gesamtoperation eines Steuergerätes
gemäß Ausführungsform 1 der vorliegenden
Erfindung darstellt.
-
7 ist
ein Gesamtflussdiagramm, das die Datenschreibverarbeitung eines
Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
8 ist
ein Flussdiagramm, das eine Initialisierungsverarbeitung eines nicht-flüchtigen
Datenspeichers in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
9 ist
ein Flussdiagramm, das eine Schreibverarbeitung eines nicht-flüchtigen
Datenspeichers in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
10 ist ein Flussdiagramm, das die Gesamtblock-Löschverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung zeigt.
-
11A und 11B sind
eine Menge von Flussdiagrammen, die eine Übergangsverarbeitung eines
Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellen.
-
12 ist ein Gesamtflussdiagramm, das eine Datenleseverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
13 ist ein Flussdiagramm, das die Letzte-Daten-Suchverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
14 ist ein Flussdiagramm, das die Letzter-Block-Suchverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
15 ist ein Flussdiagramm, das die Letzter-Abschnitt-Suchverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt.
-
16 ist ein Blockdiagramm, das die Gesamtausgestaltung
eines Steuergerätes gemäß Ausführungsform
2 der vorliegenden Erfindung veranschaulicht.
-
17 ist ein Abschnittsausgestaltungsdiagramm eines
nicht-flüchtigen Datenspeichers in einem Steuergerät
gemäß Ausführungsform 2 der vorliegenden
Erfindung.
-
KURZE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Ausführungsform 1
-
(1) Detaillierte Beschreibung der Ausgestaltung
-
Es
wird die Ausgestaltung eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung erläutert werden, auf Grundlage
von 1, die ein Blockdiagramm ist, das die Gesamtausgestaltung
des Steuergerätes zeigt, und von 2, die
ein Abschnittsausgestaltungsdiagramm eines nicht-flüchtigen
Datenspeichers ist.
-
In 1 ist
ein Steuergerät 100A hauptsächlich mit
einem Mikroprozessor 110A, einem nicht-flüchtigen
Programmspeicher 111A, einem flüchtigen RAM-Speicher 112A und
einem nicht-flüchtigen Datenspeicher 113A ausgestaltet, der
ein Flash-Speicher ist; in der Praxis bildet das Steuergerät 100A ein
Fahrzeugsteuergerät, so wie ein Motorsteuergerät;
eine externe Energiequelle 101A, die eine Fahrzeugbatterie
ist, liefert elektrische Energie an das Steuergerät 100A über
ein Energieversorgungsrelais 102. Wenn ein nicht-veranschaulichter
Leistungsschalter bzw. Netzschalter angeschaltet wird, schließt
das Energieversorgungsrelais 102 sofort, und wenn der Leistungsschalter
abgeschaltet wird, öffnet das Energieversorgungsrelais 102 nach
einer vorbestimmten, verzögerten Energieversorgungsdauer.
-
Ein
Eingangssignal-Schaltkreis 103 ist ein Offen/Geschlossen-Sensor
oder ein Analogsensor, der mit dem Steuergerät 100A über
einen nicht-veranschaulichten Verbinder verbunden ist; der Eingangssignal-Schaltkreis 103 ist
mit dem Mikroprozessor 110A über einen nicht-veranschaulichten
Eingangsschnittstellen-Schaltkreis und einen Eingangssignalbus 130 verbunden.
Ein Ausgangssignal-Schaltkreis 104 ist eine elektrische
Last, so wie ein Antriebsapparat oder eine Anzeigevorrichtung, mit
dem Steuergerät 100A über einen nicht-veranschaulichten
Verbinder verbunden; der Ausgangssignal-Schaltkreis 104 ist
mit dem Mikroprozessor 110A über einen nicht-veranschaulichten
Ausgangsschnittstellen-Schaltkreis und einen Ausgangssignalbus 140 verbunden.
-
Ein
erstes Hilfsmittel bzw. Tool 105A ist mit dem Mikroprozessor 110A über
einen seriellen Signalbus 150 verbunden, wenn eine Verladungsjustierung/Inspektion
oder Wartung/Inspektion auf das Steuergerät 100A angewendet
wird; das erste Hilfsmittel 105A ist aus einer mobilen
Vorrichtung mit einer nicht-veranschaulichten Tastatur und einer nicht-veranschaulichten
Anzeigevorrichtung gebildet. Ein zweites Hilfsmittel bzw. Tool 106A ist
in Reihe mit dem Steuergerät 100A derart geschaltet,
um das erste Hilfsmittel 105A zu ersetzen; das zweite Hilfsmittel 106A ist
als ein Verladungsjustierungshilfsmittel hergerichtet, wenn der Hersteller
eines integrierten Produktes, so wie eines Fahrzeugs, in dem das
Steuergerät 100A integriert ist, eine Verladungsjustierung
auf das integrierte Produkt anwendet, oder das zweite Hilfsmittel 106A wird
genutzt, wenn die Ausrüstungsverwaltungsabteilung eines
Benutzers, der das Steuergerät 100A nutzt, eine
Installationsjustierung auf die Ausrüstung anwendet; das
zweite Hilfsmittel 106A ist aus einer mobilen Vorrichtung
mit einer nicht-veranschaulichten Tastatur und einer nicht-veranschaulichten
Anzeigevorrichtung gebildet. Außerdem sind die Ausrüstungsverwaltungsabteilung
und der Hersteller eines integrierten Produktes in derselben Kategorie;
deshalb wird in den hier nachfolgenden Erläuterungen auf
die Ausrüstungsverwaltungsabteilung (Equipment Management
Department) und den Hersteller als ein ”Hersteller eines integrierten
Produktes” verwiesen werden.
-
Die
Ausgestaltung des zweiten Hilfsmittels 106A ist dieselbe
wie die des ersten Hilfsmittels 105A; beispielsweise werden
sie von dem Hersteller des Steuergerätes 100A bereitgestellt
und derart genutzt, um lediglich die Funktionen zu teilen. Ein Eingabe/Ausgabe-Steuerprogramm 107A,
das in dem Steuergerät 100A genutzt wird, ist
in dem ersten Hilfsmittel 105A gespeichert; der Mikroprozessor 110A überträgt
das Eingabe/Ausgabe-Steuerprogramm 107A an den nicht-flüchtigen
Programmspeicher 111A mittels eines in einem Masken-ROM-Speicher 111a gespeicherten
Boot-Programms.
-
Das
Eingabe/Ausgabe-Steuerprogramm 107A enthält ein
Kommunikationsverarbeitungsprogramm für das erste Hilfsmittel 105A und
das zweite Hilfsmittel 106A. Das Eingabe/Ausgabe-Steuerprogramm 107A enthält
feste Konstanten, die konstant dafür sind, und Referenzkonstanten 107a mit
Bezug zu einer ersten Konstante 108a, einer zweiten Konstante 108b und
einer dritten Konstante 108c, die später beschrieben
werden, die in dem nicht-flüchtigen Datenspeicher 112A gespeichert
sind.
-
Die
Referenzkonstanten 107a sind Oberer/Unterer-Grenzwert-Daten,
welche eine zulässige Variationsspanne mit Bezug zu einem
Teil von variablen Informationselementen in der ersten Konstante 108a,
der zweiten Konstante 108b und der dritten Konstante 108c oder
einem Teil von Fahrcharakteristika-Lerninformationselementen darstellen,
und Anfangswert-Einstellungsdaten, die auf unspezifizierte Konstanten
in der ersten Konstante 108a, der zweiten Konstante 108b und
der dritten Konstante 108c angewendet sind; wenigstens
bevor das Steuergerät 100A anfangs betrieben wird,
werden die Anfangswert-Einstellungsdaten an die jeweiligen Kopfabschnitte
eines ersten Konstantenbereichs S10, eines zweiten Konstantenbereichs
S20 und eines dritten Konstantenbereichs S300 in einem von einem
ersten Aufteilungsblock 113a, einem zweiten Aufteilungsblock 113b,
einem dritten Aufteilungsblock 113c und einem vierten Aufteilungsblock 113d übertragen
und darin gespeichert.
-
Das
erste Hilfsmittel 105A enthält ferner die erste
Konstante 108a, die an den nicht-flüchtigen Datenspeicher 113A übertragen
wird; die erste Konstante 108a enthält eine Steuerkonstante
entsprechend der Modellklassifizierung des Steuergerätes 100A selbst,
eine Auswahlnummerninformation, die Teil des Eingabe/Ausgabe-Steuerprogramms 107A ist,
eine Korrekturkonstante zum Korrigieren von Variationen in Charakteristika
einer Komponente in dem Steuergerät 100A, und
Steuergerät-eigene Informationselemente, so wie die Produktionsnummer
des Steuergerätes. Das Eingabe/Ausgabe-Steuerprogramm 107A enthält
vielfältige Arten von Teilprogrammen und Konstantentabellen
mit der Annahme vielfältiger Arten von Steuerspezifizierungen;
die Funktion der Auswahlnummerninformation ist es, zu bestimmen,
welche(s) Teilprogramm und Konstantentabelle gemäß einer
tatsächlichen Steuerspezifizierung selektiv genutzt werden.
-
Die
erste Konstante 108a wird von dem ersten Hilfsmittel 105A an
den nicht-flüchtigen Datenspeicher 113A oder den
flüchtigen RAM-Speicher 112A transferiert, wenn
eine in dem ersten Hilfsmittel 105A bereitgestellte Übertragungsoperationstaste gedrückt
wird; die erste Konstante 108a wird von dem RAM-Speicher 112A an
den nicht-flüchtigen Datenspeicher 113A zu dem
Timing bzw. Zeitverhältnis transferiert, wenn der Leistungsschalter
für das Steuergerät 100A geöffnet
wird und eine verzögerte Energieversorgung durch das Energieversorgungsrelais 102 durchgeführt
wird.
-
Das
zweite Hilfsmittel 106A enthält ferner die zweite
Konstante 108b, die an den nicht-flüchtigen Datenspeicher 113A übertragen
wird; die zweite Konstante 108b enthält eine Steuerkonstante
entsprechend dem Modellnamen/Modell eines integrierten Produktes/Ausrüstung,
worin das Steuergerät 100A integriert ist, eine
Auswahlnummerninformation, die Teil des Eingabe/Ausgabe-Steuerprogramms 107A ist,
und eine dem integrierten Produkt eigene Information, so wie eine
Korrekturkonstante zum Korrigieren von Variationen in Charakteristika
einer mit dem Steuergerät 100A verbundenen Eingabe/Ausgabe-Komponente.
-
Das Übertragungs-Timing
der zweiten Konstante 108b ist dasselbe wie das der ersten
Konstante 108a; die zweite Konstante 108b wird
von dem zweiten Hilfsmittel 106A an den nicht-flüchtigen
Datenspeicher 113A oder an den flüchtigen RAM-Speicher 112A transferiert,
wenn eine in dem zweiten Hilfsmittel 106A bereitgestellte Übertragungsoperationstaste
gedrückt wird; die zweite Konstante 108b wird
von dem RAM-Speicher 112A an den nicht-flüchtigen
Datenspeicher 113A zu dem Timing transferiert, wenn der
Leistungsschalter für das Steuergerät 100A geöffnet
wird und eine verzögerte Energieversorgung durch das Energieversorgungsrelais 102 durchgeführt
wird.
-
Der
Mikroprozessor 110A, der eine Ansteueroperation bzw. Fahroperation
durch das in dem nicht-flüchtigen Programmspeicher 111A gespeicherte
Eingabe/Ausgabe-Steuerprogramm 107A durchführt,
erschafft die dritte Konstante 108c, so wie eine Charakteristika-Änderungsinformation über
in dem Steuergerät 100A aufgenommene Komponenten
oder Externe-Verbindung-Komponenten bzw. Komponenten einer externen
Verbindung, eine Lerninformation zum Erhalten verbesserter Fahrcharakteristika
oder eine Abnormalitätsauftritts-Verlaufsinformation, und
speichert sie in dem RAM-Speicher 112A. Der nicht-flüchtige
Datenspeicher 113A ist ein Flash-Speicher, in dem eine
Kollektivlöschung in Schritten eines Blocks durchgeführt
wird, und enthält den ersten Aufteilungsblock 113a,
den zweiten Aufteilungsblock 113b, den dritten Aufteilungsblock 113c und
den vierten Aufteilungsblock 113d.
-
In 2,
die die jeweiligen Ausgestaltungen der Aufteilungsblöcke 113a bis 113d darstellt,
haben die ersten bis vierten Aufteilungsblöcke 113a bis 113d jeweils
dieselbe Ausgestaltung und sind jeweils mit einem Prüfbereich
S0, dem ersten Konstantenbereich S10 als ein Datenspeicherungsbereich,
dem zweiten Konstantenbereich S20 und dem dritten Konstantenbereich
S300 versehen. Der Prüfbereich S0 ist mit einem Abschnitt
S1 mit einer Datenkapazität C0 von beispielsweise 16 Bytes
und einem Reserveabschnitt S2 ausgestaltet, der anstelle des Abschnitts
S1 in dem Fall genutzt wird, dass der Abschnitt S1 abnormal ist.
-
Der
erste Konstantenbereich S10 ist mit zwei Abschnitten S11 und S12
ausgestaltet, die jeweils eine Datenkapazität C10 von beispielsweise
32 Bytes haben; demgemäß ist die Anzahl N10 von
Abschnitten 2, und die Gesamtdatenkapazität ist 64 Bytes
(C10 × N10 = 32 × 2 = 64).
-
Der
zweite Konstantenbereich S20 ist mit vier Abschnitten S21, S22,
S23 und S24 ausgestaltet, die jeweils eine Datenkapazität
C20 von beispielsweise 96 Bytes haben; demgemäß ist
die Anzahl S20 von Abschnitten 4, und die Gesamtdatenkapazität
ist 384 Bytes (C20 × N20 = 96 × 4 = 384).
-
Der
dritte Konstantenbereich S300 ist mit zwanzig Abschnitten S301,
S302, S303, --- S320 ausgestaltet, die jeweils eine Datenkapazität
C300 von beispielsweise 384 Bytes haben; demgemäß ist die
Anzahl N300 von Abschnitten 20, und die Gesamtdatenkapazität
ist 7680 Bytes (C300 × N300 = 384 × 20 = 7680).
-
Jeder
der Abschnitte ist eine minimale Einheit bzw. Minimumeinheit zum
Schreiben/Lesen; eine Vielzahl separater Datenstücke bzw.
Datenteile wird in einer vorbestimmten Reihenfolge in jedem der
Abschnitte geschrieben; die jeweiligen Werte der Datenkapazitäten
C10, C20 und C300 sind die Anzahl von Bytes, entsprechend der Anzahl
separater Datenstücke, die in einem einzelnen Abschnitt
geschrieben sind. Außerdem sind in jeden der Abschnitte
Summendaten zum Erfassen eines Codefehlers oder Fehlerkorrekturcode-Daten
zusätzlich zu einer Vielzahl separater Datenstücke
geschrieben.
-
In
Ausführungsform 1 ist in jedem der Aufteilungsblöcke 113a bis 113d das
Verhältnis der Gesamtdatenkapazität B (= N0 × C0
+ N10 × C10 + N20 × C20 = 16 × 2 + 32 × 2
+ 96 × 4 = 480), die das Multiplikationsprodukt der jeweiligen
Anzahlen von Abschnitten von Neben-Datenspeicherungsbereichen bzw.
kleineren Datenspeicherungsbereichen S0, S10 und S20 und den entsprechenden
Datenkapazitäten ist, zu der Summe der Gesamtdatenkapazität
B und der Gesamtdatenkapazität A (= N300 × C300
= 20 × 384 = 7680) des Haupt-Datenspeicherungsbereiches bzw.
größeren Datenspeicherungsbereiches S300, in dem
das Multiplikationsprodukt der Anzahl von Abschnitten (N10, N20,
N300) und der Datenkapazität (C10, C20, C300) maximal wird,
d. h. das Verhältnis [B/(A + B)] (= 480/(7680 + 480) =
0,06), ist kleiner als der Kehrwert der Anzahl N (= 4) der Aufteilungsblöcke.
-
In 1 empfängt
wiederum ein Lösch/Schreib-Steuerschaltkreis 114 vielfältige
Arten von Befehlssignalen COMn von dem Mikroprozessor 110A,
steuert den nicht- flüchtigen Datenspeicher 113A,
und sendet von dem nicht-flüchtigen Datenspeicher 113A erhaltene
Antwortsignale ANSn an den Mikroprozessor 110A. Ein Befehlssignal
COM1 unter den Befehlssignalen ist ein Kollektivlöschungsbefehl;
die Nummer eines kollektiv zu löschenden Blocks wird an
den Lösch/Schreib-Steuerschaltkreis 114 mittels
eines Adresssignals ADR eingegeben. Der Lösch/Schreib-Steuerschaltkreis 114 speichert eine
spezifische Blocknummer und löscht den spezifizierten Block
in dem nicht-flüchtigen Datenspeicher 113A kollektiv,
und der Lösch/Schreib-Steuerschaltkreis 114 erzeugt
nach der Vollendung der Löschung ein Antwortsignal ANS1,
das die Vollendung der Löschung angibt.
-
Ein
Befehlssignal COM2 ist ein Löschungssicherstellungsbefehl
(Leerprüfung); die Nummern eines Blocks und eines Abschnitts,
für welche eine Sicherstellung bzw. Vergewisserung einer
Löschung durchgeführt wird, werden an den Lösch/Schreib-Steuerschaltkreis 114 mittels
des Adresssignals ADR eingegeben. Der Lösch/Schreib-Steuerschaltkreis 114 speichert
eine spezifizierte Blocknummer und eine spezifizierte Abschnittsnummer
und vergewissert sich bzw. stellt sicher, ob oder nicht der spezifizierte
Abschnitt in dem spezifizierten Block des nicht-flüchtigen
Datenspeichers 113A gelöscht worden ist; nach
der Vollendung der Vergewisserung erzeugt der Lösch/Schreib-Steuerschaltkreis 114 ein
Antwortsignal ANS2, das dem Ergebnis der Vergewisserung entspricht.
-
Ein
Befehlssignal COM3 ist ein Schreibbefehl; die Nummern eines Blocks
und eines Abschnitts, in welchen ein Schreiben durchgeführt
wird, werden an den Lösch/Schreib-Steuerschaltkreis 114 mittels
des Adresssignals ADR eingegeben. Der Lösch/Schreib-Steuerschaltkreis 114 speichert
eine spezifizierte Blocknummer und eine spezifizierte Abschnittsnummer
und schreibt Schreibdaten WRD in dem spezifizierten Abschnitt in
dem spezifizierten Block des nicht-flüchtigen Datenspeichers 113A; nach
der Vollendung des Schreibens erzeugt der Lösch/Schreib-Steuerschaltkreis 114 ein
Antwortsignal ANS3, das die Vollendung des Schreibens angibt.
-
Ein
Befehlssignal COM4 ist ein Lesebefehl; die Nummern eines Blocks
und eines Abschnitts, in welchen ein Lesen durchgeführt
wird, werden an den Lösch/Schreib-Steuerschaltkreis 114 mittels
des Adresssignals ADR eingegeben. Der Lösch/Schreib-Steuerschaltkreis 114 speichert
eine spezifizierte Blocknummer und eine spezifizierte Abschnittnummer
und liest Lesedaten RDD in dem spezifizierten Abschnitt in dem spezifizierten
Block des nicht-flüchtigen Datenspeichers 113A;
nach der Vollendung des Lesens erzeugt der Lösch/Schreib-Steuerschaltkreis 114 ein
Antwortsignal ANS4, das die Vollendung des Lesens angibt.
-
Empfangen
und Übertragen der Schreibdaten WRD und der Lesedaten RDD
werden zwischen dem RAM-Speicher 112A und dem Lösch/Schreib-Steuerschaltkreis 114 über
eine nicht-veranschaulichte Direktspeicherzugriff-Steuereinheit
durchgeführt.
-
Der
RAM-Speicher 112A ist mit einem Abbildspeicherbereich bzw.
Image-Speicherbereich 108 versehen; der Abbildspeicher 108 wird
als ein Weitergabespeicher genutzt, wenn die erste Konstante 108a von
dem ersten Hilfsmittel 105A an den nicht-flüchtigen
Datenspeicher 113A übertragen wird, oder als ein
Weitergabespeicher, wenn die zweite Konstante 108b von
dem zweiten Hilfsmittel 106A an den nicht-flüchtigen
Datenspeicher 113A übertragen wird; die dritte
Konstante 108c, die während der Operation des
Mikroprozessors 110A erzeugt wird, wird in dem Abbildspeicher 108 gespeichert.
-
Der
RAM-Speicher 112A enthält einen Statusspeicher 112a,
in dem Daten geschrieben sind, die dem Löschzustand/Schreibzustand
des nicht-flüchtigen Datenspeichers 113A entsprechen; in
dem Statusspeicher 112a sind wenigstens eine Identifizierungsnummerninformation
für den letzten Aufteilungsblock, unter den Aufteilungsblöcken 113a bis 113d,
in dem ein Schreiben aktuell durchgeführt wird, und eine
Abschnittsnummerninformation für den Abschnitt, unter den
Abschnitten von jedem der Datenspeicherungsbereiche S10, S20 und
S300, in dem letzten Aufteilungsblock gespeichert, in dem letzte
Daten geschrieben sind.
-
Als
der Abbildspeicherbereich 108 und der Statusspeicher 112a kann
ein in dem Lösch/Schreib-Steuerschaltkreis 114 bereitgestellter Pufferspeicher
genutzt werden.
-
Der
Energieversorgungsschaltkreis 109A wird mit elektrischer
Energie von der externen Energiequelle 101A versorgt, welche
beispielsweise eine Fahrzeugbatterie ist, über den Ausgangskontakt
des Energieversorgungsrelais 102, der vorgespannt ist, wenn
der Ansteuerleistungsschalter (driving power switch) geschlossen
ist, und einen Ansteuerleistungsanschluss 102a; der Energieversorgungsschaltkreis 109A wird
auch mit elektrischer Energie von der externen Energiequelle 101A als
eine(r) externen Batterie über einen Hilfs-Energiequellenanschluss 101a versorgt,
ohne die Zwischenschaltung des Ausgangskontakts des Energieversorgungsrelais 102.
-
Wenn
das Energieversorgungsrelais 102 vorgespannt ist, erzeugt
der Energieversorgungsschaltkreis 109A eine stabilisierte
Steuerspannung Vcc von beispielsweise 5 V Gleichspannung und liefert
die Steuerspannung Vcc an den Mikroprozessor 110A, den
nicht-flüchtigen Programmspeicher 111A, den RAM-Speicher 112A und
den nicht-flüchtigen Datenspeicher 113A. Wenn
das Energieversorgungsrelais 102 nicht vorgespannt ist,
erzeugt der Energieversorgungsschaltkreis 109A eine stabilisierte
Haltespannung Vup von beispielsweise 3 V Gleichspannung und liefert
die Haltespannung Vup als eine Backup-Energiequelle an den RAM-Speicher 112A.
-
In
dem Fall, dass, während das Energieversorgungsrelais 102 nicht
vorgespannt ist, die Spannung der Fahrzeugbatterie 101A,
die als eine Hilfs-Energiequelle dient, abnormal abnimmt, oder der
Hilfs-Energiequellenschaltkreis abgetrennt wird und die Speicherungsinhalte
des RAM-Speichers 112A verloren gehen, in dem Fall, dass,
während die Inhalte des Statusspeichers 112a abnormal
sind, das Energieversorgungsrelais 102 vorgespannt ist
und der Mikroprozessor 110A seinen Betrieb startet, oder in
dem Fall, dass der Mikroprozessor 110A arbeitet, werden
die Inhalte des letzten Abschnitts, die in dem dritten Datenspeicherungsbereich
S300 des nicht-flüchtigen Datenspeichers 113A geschrieben sind,
an den Abbildspeicherbereich 108 des RAM-Speichers 112A übertragen,
und der Mikroprozessor 110A steuert Eingaben und Ausgaben
auf Grundlage der in den Abbildspeicherbereich 108 geschriebenen
dritten Konstante 108c.
-
Wenn
der Mikroprozessor 110A seinen Betrieb startet, werden
in der Praxis nicht nur die dritte Konstante 108c sondern
auch die erste und zweite Konstante 108a und 108b von
dem nicht-flüchtigen Datenspeicher 113A an den
RAM-Speicher 112A übertragen und gelesen, so dass
der Mikroprozessor 110A eine Steuerung mit Verweis auf
den Abbildspeicherbereich 108 des RAM-Speichers 112A durchführt.
-
Abnormalitäten
des Statusspeichers 112a enthalten den Fall, dass dort
keine Identifizierungsnummerninformation über die letzten
Aufteilungsblöcke 113a bis 113d gespeichert
worden sind, in denen ein Schreiben aktuell durchgeführt
wird, den Fall, dass dort die Abschnittsnummerninformation über den
Abschnitt, in dem die letzten Daten geschrieben sind, der Datenspeicherungsbereiche
S10, S20 und S300 in dem letzten Aufteilungsblock nicht gespeichert
worden sind, und den Fall, dass aufgrund eines Codefehlers in dem
RAM-Speicher 112A in der Gesamtheit dort ein Eindringen
oder ein Verlust einer Bitinformation existiert.
-
Als
Nächstes wird mit Verweis auf eine Lösch/Schreibverarbeitung
in einem nicht-flüchtigen Datenspeicher in einem Steuergerät
gemäß Ausführungsform 1 der vorliegenden
Erfindung das Konzept des Verarbeitungsverfahrens erläutert
werden. 3A, 3B und 3C sind
jeweils eine erläuterndes Diagramm für die Lösch/Schreibverarbeitung in
einem nicht-flüchtigen Datenspeicher in einem Steuergerät
gemäß Ausführungsform 1 der vorliegenden
Erfindung; 3A, 3B und 3C stellen
in dieser Reihenfolge das Konzept der Schreibverarbeitung in dem
Fall dar, dass der dritte Konstantenbereich S300 des ersten Blocks 113a aufgefüllt bzw.
vollgelaufen ist.
-
3A stellt die Inhalte des ersten Blocks 113a dar,
in dem ein Schreiben tatsächlich durchgeführt
worden ist; in dem Abschnitt S1 des Prüfbereichs S0 sind
eine vorbestimmte spezifizierte Konstante und Prüfdaten
C gespeichert, die die Häufigkeit einer vergangenen Kollektivlöschung
darstellen. In dem Abschnitt S11 des ersten Konstantenbereichs S10
ist die erste Konstante 108a als erste Daten F1 gespeichert,
die von dem ersten Hilfsmittel 105A über den RAM-Speicher 112A übertragen
werden; der Abschnitt 12 ist ein Leerabschnitt, in den keine Daten
geschrieben worden sind.
-
In
dem Abschnitt S21 des zweiten Konstantenbereichs S20 ist die zweiten
Konstante 108b als erste Daten Sei gespeichert, die von
dem zweiten Hilfsmittel 106A über den RAM-Speicher 112A übertragen
sind; in dem Abschnitt S22 ist die zweite Konstante 108b als
zweite Daten Se2 gespeichert, die das zweite Mal übertragen
werden bzw. sind; die Abschnitte 23 und 24 sind Leerabschnitte,
in die keine Daten geschrieben worden sind.
-
Unmittelbar
nachdem das Steuergerät 100A gestoppt wird, wird
darüber hinaus in dem Abschnitt S301 des dritten Konstantenbereichs
S300 die dritte Konstante 108c als erste Daten T1 gespeichert,
die in dem RAM-Speicher 112A gespeichert worden sind; in
dem Abschnitt S302 wird die dritte Konstante 108c als zweite
Daten T2 gespeichert, unmittelbar nachdem das Steuergerät 100A das
zweite Mal gestoppt hat; ähnlich wird hier im Nachfolgenden
die dritte Konstante 108c als 20. Speicherungsdaten T20 gespeichert,
unmittelbar nachdem das Steuergerät 100A das 20.
Mal gestoppt wird; somit stellt 3A einen
Fall dar, wo kein Abschnitt existiert, in den keine Daten geschrieben
worden sind.
-
3B stellt die Inhalte des dritten Aufteilungsblocks 113c dar;
obwohl Daten bereits in den Aufteilungsblock 113c geschrieben
worden sind, wird, wenn der Aufteilungsblock 113a aufgefüllt
bzw. vollgelaufen ist, und es erforderlich ist, die nächsten Daten
zu schreiben, der dritte Aufteilungsblock 113c zuerst in
einer Kollektivweise gelöscht; deshalb sind sämtliche
der Abschnitte in dem Prüfbereich S0, dem ersten Konstantenbereich
S10, dem zweiten Konstantenbereich S20 und dem dritten Konstantenbereich
S300 leer.
-
3C stellt die Inhalte des zweiten Aufteilungsblocks 113b dar;
obwohl der Aufteilungsblock 113b bereits kollektiv gelöscht
worden ist, wird als Vergewisserungsverarbeitung eine Kollektivlöschung erneut
durchgeführt; danach wird die nächste dritte Konstante 108c,
mit der der aktuelle Aufteilungsblock 113a aufgefüllt
ist, in dem Kopfabschnitt S301 des dritten Konstantenbereichs S300
geschrieben. Als Nächstes bewegen sich die Speicherungsdaten
Se2, die die letzten Daten (die zweite Konstante 108b,
die zuletzt geschrieben worden ist) in dem zweiten Konstantenbereich
S20 des Aufteilungsblocks 113a sind, zu dem Kopfabschnitt
S21 in dem zweiten Konstantenbereich S20 des Aufteilungsblocks 113b und
werden übertragen.
-
Als
Nächstes werden die Speicherungsdaten F1, die die letzten
Daten (die erste Konstante 108a, die zuletzt geschrieben
worden ist) in dem ersten Konstantenbereich S10 des Aufteilungsblocks 113a sind,
an den Kopfabschnitt S11 in dem ersten Konstantenbereich S10 des
Aufteilungsblocks 113b übertragen. Zuletzt sind
in dem Prüfbereich S0 des Aufteilungsblocks 113b eine
vorbestimmte spezifizierte Konstante, die angibt, dass der Aufteilungsblock 113b nicht
leer ist, und der akkumulierte Wert der Häufigkeit bzw.
Anzahl einer Kollektivlöschung gespeichert.
-
Wie
oben beschrieben, wird der Aufteilungsblock 113a durch
den Aufteilungsblock 113b ersetzt, der der nächste
aktuell Block wird.
-
Wenn,
nachdem die Aufteilungsblöcke 113a bis 113d kollektiv
gelöscht sind, wirksame Daten in wenigstens einem Abschnitt
in sämtlicher der Datenspeicherungsbereiche S10, S20 und
S300 geschrieben werden, wird eine vorbestimmte Konstante in dem
ersten Halbbereich des Abschnitts S1 geschrieben, der einer der
Abschnitte in dem Prüfbereich S0 ist; in dem Fall, dass
wirksame Daten bzw. Effektivdaten nicht in irgendeinem Abschnitt
in den vorhergehenden Datenspeicherungsbereichen geschrieben sind,
wird jeder Datenspeicherungsbereich ein Leerblock bzw. leerer Block,
wo die spezifizierte Konstante nicht geschrieben wird.
-
In
dem zweiten Halbbereich des Abschnitts S1, der einer der Abschnitte
in dem Prüfbereich S0 ist, gibt es geschriebene Daten über
die Häufigkeit einer Kollektivlöschung für
die Aufteilungsblöcke, wenn die spezifizierte Konstante
geschrieben wird; in dem Fall, dass ein Übergang des Aufteilungsblocks
durchgeführt wird, wird die Häufigkeit einer Kollektivlöschung
des Nach-Übergang-Aufteilungsblocks ein Wert, der erhalten
wird durch Addieren von ”1” zu der Häufigkeit
einer Kollektivlöschung, die in den Prüfbereich
des aktuellen Aufteilungsblocks unmittelbar vor dem Übergang
geschrieben worden ist.
-
Einer
der Aufteilungsblöcke 113a bis 113d wird
in dem letzten Übergangsprozess des Aufteilungsblocks und
des aktuellen Übergangsprozesses des Aufteilungsblocks
kollektiv gelöscht; in dem Fall, dass sämtliche
der Abschnitte während der ersten Kollektivlöschung
gelöscht werden, beeinträchtigt die zweite Kollektivlöschung
nicht die Löschlebensdauer; somit wird die Häufigkeit
einer Kollektivlöschung, die in dem Prüfbereich
S0 gespeichert ist, die Häufigkeit bzw. Anzahl einer einmaligen
Kollektivlöschung der zweiten Kollektivlöschung.
-
Hinsichtlich
der Such/Leseverarbeitung in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung wird als Nächstes das Konzept des
Verarbeitungsverfahrens erläutert werden. 4A und 4B sind
jeweils ein erläuterndes Diagramm für eine Such/Leseverarbeitung
in einem nicht-flüchtigen Datenspeicher in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung; 4A stellt
das Verfahren zum Suchen in dem letzten Block dar, wo ein Lesen
der Daten durchgeführt wird; 4B stellt
das Verfahren zum Suchen in dem letzten Abschnitt dar, wo ein Lesen
von Daten durchgeführt wird.
-
Teil
(1) in 4A zum Erläutern des
Suchverfahrens nach dem letzten Block, wo ein Lesen von Daten durchgeführt
wird, stellt einen Fall dar, bei dem, nachdem sämtliche
der ersten bis vierten Aufteilungsblöcke kollektiv gelöscht
worden sind, Daten in den ersten Aufteilungsblock 113a geschrieben werden;
bezüglich des letzten Blocks N wird ein Leerblock, dessen
Prüfbereich leer ist, gesucht, und dann wird ein Block,
der vor dem Leerblock ist und nicht ein Leerblock ist, als der letzte
Block gesucht.
-
Teil
(2) in 4A ist eine Tabelle, die einen Fall
darstellt, dass, nachdem einer der ersten, zweiten und dritten Bereiche
S10, S20 und S300 des ersten Blocks 113a aufgefüllt
ist, die letzten Daten sich zu dem zweiten Block 113b bewegen;
der letzte Block N ist der zweite Block 113b vor dem dritten Block 113c,
der ein Leerblock ist, und der erste Block 113a ist ein
Block N-1, der unmittelbar vor dem letzten Block ist.
-
Teil
(3) in 4A ist eine Tabelle, die einen Fall
darstellt, dass, nachdem einer der Bereiche des zweiten Blocks 113b aufgefüllt
ist, die letzten Daten sich zu dem dritten Block 113c bewegen;
der letzte Block N ist der zweite Block 113b vor dem vierten Block 113d,
der ein Leerblock ist, und der erste Block 113a ist ein
Block N-2, der zwei Blöcke vor dem letzten Block ist, und
der zweite Block 113b ist ein Block N-1, der vor dem letzten
Block ist.
-
Teil
(4) in 4A ist eine Tabelle, die einen Fall
darstellt, dass, nachdem einer der Bereiche des dritten Blocks 113c aufgefüllt
ist, die letzten Daten sich zu dem vierten Block 113d bewegen;
in diesem Fall bewegen sich die letzten Daten zu dem vierten Block,
nachdem der erste Block 113a, der zwei Blöcke
nach dem dritten Block 113c liegt, kollektiv gelöscht
wird. Demgemäß ist der letzte Block N der vierte
Block 113d vor dem ersten Block 113a, der ein Leerblock
ist; der zweite Block 113b ist ein Block N-2, der zwei
Blöcke vor dem letzten Block liegt; der dritte Block 113c ist
ein Block N-1, der vor dem letzten Block ist.
-
Teil
(5) in 4A ist eine Tabelle, die einen Fall
darstellt, dass, nachdem einer der Bereiche des vierten Blocks 113d aufgefüllt
ist, die letzten Daten sich zu dem ersten Block 113a bewegen;
in diesem Fall bewegen sich die letzten Daten zu dem ersten Block 113a,
nachdem der zweite Block 113b, der zwei Blöcke
hinter dem vierten Block ist, kollektiv gelöscht ist. Demgemäß ist
der letzte Block N der erste Block 113a vor dem zweiten
Block 113b, der ein Leerblock ist; der dritte Block 113c ist
ein Block N-2, der zwei Blöcke vor dem letzten Block ist;
der vierte Block 113d ist ein Block N-1, der vor dem letzten Block
ist.
-
Teil
(6) in 4A ist eine Tabelle, die einen Fall
darstellt, dass, nachdem einer der Bereiche des ersten Blocks 113a aufgefüllt
ist, die letzten Daten sich zu dem zweiten Block 113b bewegen;
in diesem Fall bewegen sich die letzten Daten zu dem zweiten Block 113b,
nachdem der dritte Block 113c, der zwei Blöcke
hinter dem ersten Block ist, kollektiv gelöscht ist. Demgemäß ist
der letzte Block N der zweite Block 113b vor dem dritten
Block 113c, der ein Leerblock ist; der vierte Block 113d ist
ein Block N-2, der zwei Blöcke vor dem letzten Block ist;
der erste Block 113a ist ein Block N-1, der vor dem letzten
Block ist.
-
In
Teil (6) von 4A in dem Fall, dass, nachdem
einer der Bereiche des zweiten Blocks 113b aufgefüllt
ist, die letzten Daten sich zu dem dritten Block 113c bewegen,
nachdem der vierte Block 113d, der zwei Blöcke
nach dem zweiten Block 113b ist, kollektiv gelöscht
ist, bewegen sich die letzten Daten zu dem dritten Block 113c;
deshalb wird ein Übergang von dem Fall von Teil (6) zum
Teil (3) von 4A getätigt.
-
In
dem Fall, dass ein Übergang des Aufteilungsblocks implementiert
wird, wird ein Schreiben gestartet, nachdem der Bestimmungsorts-Aufteilungsblock
kollektiv gelöscht wird, nur für den Fall.
-
Wie
oben beschrieben, ist der nicht-flüchtige Datenspeicher 113A mit
wenigstens drei Aufteilungsblöcken 113a bis 113d versehen;
in dem Fall, dass kein Leerabschnitt in einem der Datenspeicherungsbereiche
S10, S20 und S300 des Aufteilungsblocks 113a existiert,
wo ein Schreiben aktuell durchgeführt wird, wird zuerst
der dritte Aufteilungsblock 113c kollektiv gelöscht,
und dann wird als eine Vergewisserungsverarbeitung der zweite Aufteilungsblock 113b kollektiv
gelöscht; die neuen Daten werden in den Kopfabschnitt in
dem Datenspeicherungsbereich des zweiten Aufteilungsblocks 113b geschrieben;
die letzten Daten, die in andere Datenspeicherungsbereiche des ursprünglichen
Aufteilungsblocks 113a geschrieben worden sind, werden
an den Kopfabschnitt in dem Datenspeicherungsbereich des zweiten
Aufteilungsblocks 113b übertragen und darin gespeichert;
bezüglich des Übergangs der Aufteilungsblöcke 113a bis 113d bewegen
sich die letzten Daten zu dem Aufteilungsblock, der ein Leerblock
und vor dem Leerblock ist, der kollektiv gelöscht worden
ist.
-
In 4B, die das Verfahren zum Suchen in dem letzten
Abschnitt darstellt, wo ein Lesen von Daten durchgeführt wird,
sind spezifische Konstanten, die angeben, dass der entsprechende
Block nicht ein Leerblock ist, und die Häufigkeit einer
Kollektivlöschung in den Prüfbereich S0 geschrieben.
In den Kopfabschnitt S11 in dem ersten Konstantenbereich S10 sind
die letzten Daten F1 für die erste Konstante 108a geschrieben;
der folgende Abschnitt S12 ist in einem unbeschriebenen Zustand.
-
In
den Kopfabschnitt S21 in dem zweiten Konstantenbereich S20 sind
die letzten Daten Set der zweiten Konstante 108b geschrieben;
in den Abschnitt S22 sind die letzten Daten Se2 der zweiten Konstante 108b geschrieben;
die folgenden Abschnitte S23 und S24 sind in einem unbeschriebenen Zustand.
-
In
den Kopfabschnitt S301 in dem dritten Konstantenbereich S300 sind
die ersten Daten T1 der dritten Konstante 108c geschrieben;
in den Abschnitt S302 sind die zweiten Daten T2 der dritten Konstante 108c geschrieben;
in den Abschnitt S303 sind die dritten Daten T3 der dritten Konstante 108c geschrieben;
jedoch ist aufgrund einer Stromunterbrechung während der
Schreiboperation ein Teil des Abschnitts 303 leer. Die
folgenden Abschnitte S304 bis S320 sind in einem unbeschriebenen
Zustand.
-
Der
Mikroprozessor 110A erzeugt ein Kollektivlöschungsbefehl-Signal
für den nicht-flüchtigen Datenspeicher 113A und
ein Leerprüfbefehl-Signal (Löschungsvergewisserungsbefehl-Signal);
der nicht-flüchtige Datenspeicher 113A empfängt
den Leerprüfbefehl und überträgt dann
wenigstens eine Bestimmungsinformation hinsichtlich dessen, ob oder
nicht jeder Abschnitt gelöscht worden ist.
-
Der
Mikroprozessor 110A bestimmt einen Abschnitt, der durch
Kollektivlöschung gelöscht worden ist, als einen
Leerabschnitt; in dem Fall, dass dort ein Abschnitt existiert, der
nicht durch die Kollektivlöschung gelöscht werden
kann, oder in dem Fall, dass aufgrund einer Stromunterbrechung während einer
Schreiboperation für den nicht-flüchtigen Datenspeicher 113A die
Tatsache erfasst wird, dass ein Daten-beschriebenes Teilstück
und ein Daten-unbeschriebenes Teilstück gleichzeitig in
einem Abschnitt enthalten sind, bestimmt der Mikroprozessor 110A den
vorhergehenden Abschnitt als einen unwirksamen Abschnitt bzw. Ineffektivabschnitt
und bestimmt den Abschnitt, der Daten enthält und nicht
ein unwirksamer Abschnitt ist, als einen wirksamen Abschnitt bzw.
Effektivabschnitt.
-
Beim
Durchführen eines Lesens in dem nicht-flüchtigen
Datenspeicher 113A durchsucht der Mikroprozessor 110A den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereiches
nach einem wirksamen Abschnitt und liest Daten, die in einem wirksamen
Abschnitt gespeichert sind, der zuerst erfasst wird.
-
Bezüglich
einer Abnormalitätsverarbeitung in einem Steuergerät
gemäß Ausführungsform 1 der vorliegenden
Erfindung wird als Nächstes das Konzept des Verarbeitungsverfahrens
erläutert werden. 5A und 5B sind
jeweils ein erläuterndes Diagramm für eine Abnormalitätsverarbeitung
eines nicht-flüchtigen Datenspeichers in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung; 5A stellt
ein Verarbeitungsverfahren in dem Fall dar, dass eine Schreibabnormalität
auftritt; 5B stellt ein Verarbeitungsverfahren
in dem Fall dar, dass eine Löschabnormalität während
einer Kollektivlöschung eines Aufteilungsblocks auftritt.
-
In 5A, die ein Verarbeitungsverfahren in dem Fall
erläutert, dass eine Schreibabnormalität auftritt,
wird ein Fall dargestellt, dass eine Zellabnormalität in
dem Abschnitt S302 existiert, oder einem Fall, dass der Abschnitt
S302 als ein unwirksamer Abschnitt bestimmt wird, obwohl Daten geschrieben sind
bzw. werden. Beim Durchführen eines Schreibens in dem nicht-flüchtigen
Datenspeicher 113A durchsucht der Mikroprozessor 110A den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereiches
(in einer Anfangsrichtung) nach einem wirksamen Abschnitt, führt
ein Suchen in der entgegengesetzten Richtung von einem wirksamen Abschnitt
durch, der zuerst erfasst wird, und schreibt dann Daten in einen
Leerabschnitt, der zuerst erfasst wird. In dem Fall, dass Daten
nicht korrekt in den Leerabschnitt geschrieben werden können,
führt der Mikroprozessor 100A eine Suche in der
Anfangsrichtung durch und schreibt Daten in einen neu erfassten Leerabschnitt.
-
In
dem Fall, dass eine Abnormalität beim Blocklöschen
auftritt, in 5B dargestellt, wird eine Wiederholversuchsoperation
nur einmal durchgeführt; wenn nach der Wiederholversuchsoperation die
Blocklöschung immer noch abnormal ist, wird eine Leerprüfung
für den Prüfbereich durchgeführt. In dem
Fall, dass der Block als ein Leerblock bestimmt wird, wird die Blocklöschung
als normal betrachtet. Dieses ist so, weil, selbst wenn ein ungelöschtes
Teilstück in einem Abschnitt existiert, ein Löschen
in dem nächsten Abschnitt durchgeführt wird und
somit kein tatsächlicher Schaden verursacht wird.
-
(2) Detaillierte Beschreibung der Operation
-
Als
Nächstes wird die Operation eines Steuergerätes
gemäß Ausführungsform 1 der vorliegenden
Erfindung erläutert werden. 6 ist
ein Flussdiagramm, das die Gesamtoperation eines Steuergerätes
gemäß Ausführungsform 1 der vorliegenden Erfindung
darstellt. Wenn in 6 ein nicht-veranschaulichter
Leistungsschalter bzw. Energieschalter in dem Schritt 600a angeschaltet
wird, wird das Energieversorgungsrelais 102 vorgespannt,
und eine elektrische Energie wird an das Steuergerät 100A geliefert,
um es anzutreiben, so dass der Mikroprozessor 110A seinen
Betrieb in dem Schritt 601 startet.
-
In
dem Schritt 602a, der ein Bestimmungsschritt ist, wird
durch einen Operator bestimmt, ob oder nicht das Eingabe/Ausgabe-Programm 107A an den
nicht-flüchtigen Programmspeicher 111A übertragen
werden soll; in dem Fall, dass das Eingabe/Ausgabe-Programm 107A an
den nicht-flüchtigen Programmspeicher 111A übertragen
werden soll, wird das erste Hilfsmittel 105A angeschlossen
bzw. verbunden, und durch Drücken der Übertragungsoperationstaste
wird das Ergebnis der Bestimmung ”Ja”; dann folgt
dem Schritt 602a der Schritt 602b. In dem Fall,
dass die Übertragungsoperationstaste nicht gedrückt
wird oder das Eingabe/Ausgabe-Programm 107A bereits in
den nicht-flüchtigen Programmspeicher 111A geschrieben
worden ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 602a der Schritt 603.
-
In
dem Schrittblock 602b wird mittels eines in dem Masken-ROM-Speicher 111a gespeicherten Boot-Programms
das in dem ersten Hilfsmittel 105A gespeicherte Eingabe/Ausgabe-Programm 107A an den
nicht-flüchtigen Programmspeicher 111A übertragen
und darin gespeichert; dann folgt dem Schritt 602b der
Schritt 603a. In dem Eingabe/Ausgabe-Steuerprogramm sind
feste Konstanten, die konstant und nicht variabel und einem Programm
eigen bzw. inhärent sind, und eine Referenzkonstante 107a enthalten.
-
In
dem Schritt 603a, der ein Bestimmungsschritt ist, wird
durch Bestimmen, ob oder nicht ein Einstellungs-spezifizierter Wert
in den Prüfbereich S0 eines von dem ersten bis vierten
Aufteilungsblock geschrieben worden ist, bestimmt, ob oder nicht
die Aufteilungsblöcke initialisiert worden sind; in dem Fall,
dass die Aufteilungsblöcke initialisiert worden sind, wird
das Ergebnis der Bestimmung ”Ja”, und dann folgt
dem Schritt 603a der Schritt 604a, und in dem
Fall, dass die Aufteilungsblöcke nicht initialisiert worden
sind, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 603a der Schritt 603b.
-
In
dem Schritt 603b werden zuerst die Anfangseinstellungswerte
der ersten Konstante 108a, der zweiten Konstante 108b und
der dritten Konstante 108c in den Abbildspeicherbereich 108 des RAM-Speichers 112A geschrieben;
als der Anfangseinstellungswert wird die in dem nicht-flüchtigen
Programmspeicher 111A gespeicherte Referenzkonstante 107a genutzt,
und bezüglich separater Daten, für die keine Referenzkonstante
gegeben ist, wird eine beliebige Konstante, so wie ein Wert ”0”,
als eine temporäre Konstante geschrieben.
-
In
dem Schritt 604a, der ein Bestimmungsschritt ist, wird
durch einen Operator bestimmt, ob oder nicht die erste Konstante 108a an
den RAM-Speicher 112A übertragen werden soll;
in dem Fall, dass das Eingabe/Ausgabe-Programm 107A an den
nicht-flüchtigen Programmspeicher 111A übertragen
werden soll, wird das erste Hilfsmittel 105A angeschlossen,
und mittels Drücken der Übertragungsoperationstaste
wird das Ergebnis der Bestimmung ”Ja”; dann folgt
dem Schritt 604a der Schritt 605a. In dem Fall,
dass die Übertragungsoperationstaste nicht gedrückt
wird, oder das erste Hilfsmittel 105A nicht angeschlossen
ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 604a der Schritt 604b.
-
In
dem Schritt 605a wird die von dem ersten Hilfsmittel 105a übertragene
erste Konstante 108a an den Abbildspeicherbereich 108 des
RAM-Speichers 112A übertragen; dann folgt dem
Schritt 605a der Schritt 606.
-
In
dem Schritt 604b, der ein Bestimmungsschritt ist, wird
durch einen Operator bestimmt, ob oder nicht die zweite Konstante 108b an
den RAM-Speicher 112A übertragen werden soll;
in dem Fall, dass die zweite Konstante 108b an den RAM-Speicher 112A übertragen
werden soll, wird das Hilfsmittel 106A angeschlossen bzw.
verbunden, und mittels Drücken der Übertragungsoperationstaste
wird das Ergebnis der Bestimmung ”Ja”; dann folgt dem
Schritt 604b der Schrittblock 605b. In dem Schritt,
dass die Übertragungsoperationstaste nicht gedrückt
wird, oder das zweite Hilfsmittel 106A nicht angeschlossen
ist, wird das Ergebnis der Bestimmung ”Nein”;
dann folgt dem Schritt 604b der Schrittblock 604c.
-
In
dem Schritt 605b wird die von dem zweiten Hilfsmittel 106a übertragene
zweite Konstante 108b an den Abbildspeicherbereich 108 des RAM-Speichers 112A übertragen;
dann folgt dem Schritt 605b der Schritt 606. In
dem Schritt 604c, der ein Bestimmungsschritt ist, wird
in dem Fall, dass während des tatsächlichen Betriebs
des Steuergerätes 100A eine Lernspeicherungsinformation
existiert, die in den RAM-Speicher 112 geschrieben werden soll,
das Ergebnis der Bestimmung ”Ja”; dann folgt dem
Schritt 604c der Schritt 605c; in dem Fall, dass keine
Lernspeicherungsinformation existiert, die in den RAM-Speicher 112A geschrieben
werden soll, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 604c der Schritt 606.
-
In
dem Schritt 605c wird die dritte Konstante 108c,
so wie eine Lerninformation, die während des tatsächlichen
Betriebs des Steuergerätes 100A erhalten ist,
an den Abbildspeicherbereich 108 des RAM-Speichers 112A übertragen;
dann folgt dem Schritt 605c der Schritt 606. In
dem Schritt 606 wird bestimmt, ob oder nicht der Leistungsschalter An/Aus
geschaltet ist; in dem Fall, dass der Leistungsschalter bereits
angeschaltet worden ist, wird das Ergebnis der Bestimmung ”Nein”;
dann folgt dem Schritt 606 der Schritt 609. In
einer vorbestimmten Zeitperiode, während welcher der Leistungsschalter ausgeschaltet
ist, wird das Ergebnis der Bestimmung ”Ja”; dann
folgt dem Schritt 606 der Schritt 700.
-
Der
Schrittblock 700 ist ein Schreibverarbeitungsschritt für
den Datenspeicher, später mit Verweis auf 7 beschrieben;
in diesem Schritt werden sämtliche von der ersten Konstante 108a,
der zweiten Konstante 108b und der dritten Konstante 108c,
die in den Abbildspeicherbereich 108 des RAM-Speichers 112A in
den Schritten 605a, 605b bzw. 605c geschrieben
worden sind, an den ersten Konstantenbereich S10, den zweiten Konstantenbereich
S20 bzw. den dritten Konstantenbereich S300 des nicht-flüchtigen
Datenspeichers 113A transferiert und darin geschrieben;
dann folgt dem Schritt 700 der Schritt 600c.
-
In
dem Abbildspeicherbereich 108 des RAM-Speichers 112A ist
ein Anfangseinstellungswert geschrieben worden, der ein temporärer
Wert ist, in dem Schrittblock 603b, und dann wird ein Aktualisierungsschreiben
sequentiell in den Schritten 605a, 605b und 605c durchgeführt;
deshalb sind die Daten, die an den nicht-flüchtigen Datenspeicher 113A in
dem Schrittblock 711 transferiert werden, Daten, die in
einer Aktualisierungsweise geschrieben sind. In dem Fall, dass irgendeiner
der Schritte 605a, 605b und 605c nicht
implementiert bzw. verwirklicht worden ist, ist eine von der ersten
Konstante 108a, der zweiten Konstante 108b und
der dritten Konstante 108c der Anfangseinstellungswert,
der in dem Schritt 603b festgelegt worden ist.
-
In
dem Schritt 600c ist das Energieversorgungsrelais 102 entregt,
so dass die Energieversorgung für das Steuergerät 100A beendet
ist. In dem Schritt 609, der ein Operationsendeschritt
ist, werden andere Steuerprogramme implementiert bzw. verwirklicht;
dann wird innerhalb einer vorbestimmten Zeitperiode der Schritt 601 wieder
aufgenommen, und dann wird dieselbe Steuerung danach wiederholt.
-
Das
Flussdiagramm in 6 dient dazu, vielfältige
Arten von Verarbeitungen, die zu unterschiedlichen Zeitverhältnissen
bzw. Timings ausgeführt sind, zu kombinieren und zu verallgemeinern. Zuerst
werden als die erste Verarbeitung der Schritt 600a, der
Schrittblock 602, der Schritt 603b, der Schritt 605a,
der Schrittblock 700 und der Schrittblock 600c ausgeführt,
so dass der Transfer des Eingabe/Ausgabe-Steuerprogramms 107A,
der Transfer der ersten Konstante 108a an den nicht-flüchtigen Datenspeicher 113A,
und der Transfer von Anfangseinstellungswerten für die
zweite und dritte Konstante ausgeführt werden.
-
Als
die zweite Verarbeitung werden der Schritt 600a, der Schritt 605b,
der Schrittblock 700 und der Schritt 600c ausgeführt,
so dass die zweite Konstante 108b an den nicht- flüchtigen
Datenspeicher 113A transferiert wird. Ähnlich
werden als die dritte Verarbeitung der Schritt 600a, der
Schritt 605c, der Schrittblock 700 und der Schritt 600c ausgeführt, so
dass die dritte Konstante 108c an den nicht-flüchtigen
Datenspeicher 113A transferiert wird; hinsichtlich der
dritten Konstante 108c wird jedoch während des
Zirkulierens durch den Schritt 601, den Schritt 605c,
den Schritt 606, den Schritt 609 und den Schritt 601 eine
große Anzahl separater Datenstücke sequentiell
in einer zunehmenden Weise in dem RAM-Speicher 112A gespeichert,
und unmittelbar nachdem der Leistungsschalter ausgeschaltet wird, werden
die separaten Datenstücke kollektiv an den nicht-flüchtigen
Datenspeicher 113A in dem Schrittblock 700 transferiert.
-
7 ist
ein Gesamtflussdiagramm, das eine Datenschreibverarbeitung eines
Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt. In 7 ist
der Schritt 700 ein Schritt, bei dem ein Datenschreiben
in dem Datenspeicher startet. In dem Schritt 701 wird bestimmt,
ob oder nicht der nicht-flüchtige Datenspeicher 113A initialisiert
werden soll; in dem Fall, dass Daten in jeden der Aufteilungsblöcke
geschrieben worden sind und der Aufteilungsblock, in den Daten als
nächstes geschrieben werden sollen, nicht spezifiziert
werden kann, oder in dem Fall, dass keine Daten in irgendeinen der
Blöcke geschrieben worden sind, wird in dem Schritt 701 das
Ergebnis der Bestimmung ”Ja”; dann folgt dem Schritt 701 der
Schritt 800. In dem Fall, dass der letzte Block, der später
mit Verweis auf 14 beschrieben wird, gefunden
werden kann, wird das Ergebnis der Bestimmung ”Nein”;
dann folgt dem Schritt 700 der Schritt 900.
-
Der
Schrittblock 800 ist ein Initialisierungsverarbeitungsschritt
für den Datenspeicher, später mit Verweis auf 8 beschrieben.
In dem Schritt 702, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Initialisierungsverarbeitung in dem Schrittblock 800 normal
endet, das Ergebnis der Bestimmung ”Ja”; dann
folgt dem Schritt 702 der Schritt 900. In dem
Fall, dass die Initialisierungsverarbeitung abnormal endet, wird
das Ergebnis der Bestimmung ”Nein”; dann folgt
dem Schritt 702 der Schritt 707.
-
Der
Schrittblock 900 ist ein Datenschreibverarbeitungsschritt
für den Datenspeicher, später mit Verweis auf 9 beschrieben.
In dem Schritt 703, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Schreibverarbeitung in dem Schrittblock 900 normal
endet, das Ergebnis der Bestimmung ”Ja”; dann folgt
dem Schritt 703 der Schritt 704. In dem Fall, dass
die Schreibverarbeitung in dem Schrittblock 900 abnormal
endet (es existiert kein Leerabschnitt in dem Block), wird das Ergebnis
der Bestimmung ”Nein”; dann folgt dem Schritt 703 der
Schritt 1100.
-
In
dem Schritt 704 wird eine Leseabschnittsnummer in dem Statusspeicher 112a aktualisiert,
der in dem RAM-Speicher 112A bereitgestellt ist; dann folgt
dem Schritt 704 der Schritt 705. Der Schrittblock 1100 ist
ein Übergangsverarbeitungsschritt für den Aufteilungsblock,
später mit Verweis auf 11A und 11B beschrieben. In dem Schritt 706,
der ein Bestimmungsschritt ist, wird in dem Fall, dass die Übergangsverarbeitung
in dem Schrittblock 1100 normal endet, das Ergebnis der
Bestimmung ”Ja”, und dann folgt dem Schritt 706 der
Schritt 705; in dem Fall, dass die Übergangsverarbeitung
abnormal endet, wird das Ergebnis der Bestimmung ”Nein”, und
dann folgt dem Schritt 706 der Schritt 707. Der Schritt 705 ist
ein Schritt für den Fall, dass das Schreiben normal endet,
und der Schritt 707 ist ein Schritt für den Fall,
dass das Schreiben abnormal endet.
-
8 ist
ein Flussdiagramm, das eine Initialisierungsverarbeitung eines nicht-flüchtigen
Datenspeichers in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt. In 8 ist
der Schritt 801 ein Schritt, bei dem eine Initialisierungsverarbeitung
startet. Der Schrittblock 1000 ist ein Kollektivlöschungs-Verarbeitungsschritt
für sämtliche der Aufteilungsblöcke,
später mit Verweis auf 10 beschrieben.
In dem Schritt 802, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Löschungsverarbeitung in dem Schrittblock 1000 normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 802 der Schritt 803; in dem Fall,
dass die Löschungsverarbeitung abnormal endet, wird das
Ergebnis der Bestimmung ”Nein”, und dann folgt
dem Schritt 802 der Schritt 811.
-
In
dem Schritt 803 wird der Schreibabschnitt auf den ersten
Block 113a gesetzt, der ein Kopfabschnitt ist; dann folgt
dem Schritt 803 der Schrittblock 900. In dem Schrittblock,
der ein später mit Verweis auf 9 beschriebener
Schreibverarbeitungsschritt ist, werden Anfangseinstellungswerte
in den Kopfabschnitt S11 in dem ersten Konstantenbereich S10 des
ersten Blocks 113a, in den Kopfabschnitt S21 in dem zweiten
Konstantenbereich S20, und in den Kopfabschnitt S301 in dem dritten
Konstantenbereich S300 geschrieben.
-
In
dem Schritt 804, der ein Bestimmungsschritt ist, wird in
dem Fall, dass die Schreibverarbeitung in dem Schrittblock 900 normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 804 der Schritt 805; in dem
Fall, dass die Schreibverarbeitung abnormal endet, wird das Ergebnis
der Bestimmung ”Nein”, und dann folgt dem Schritt 804 der
Schritt 811.
-
In
dem Schritt 805, der ein Bestimmungsschritt ist, wird bestimmt,
ob oder nicht Daten in den Kopfabschnitt jedes Datenspeicherungsbereiches
in dem Schrittblock 900 geschrieben worden sind; in dem
Fall, dass keine Daten in den Kopfabschnitt jedes Datenspeicherungsbereichs
geschrieben worden sind, wird das Ergebnis der Bestimmung ”Nein”, und
dann wird der Schritt 803 wieder aufgenommen; in dem Fall,
dass Daten in den Kopfabschnitt jedes Datenspeicherungsbereiches
geschrieben worden sind, wird das Ergebnis der Bestimmung in ”Ja”,
und dann folgt dem Schritt 805 der Schritt 806.
In dem Schritt 806 werden ein vorbestimmter spezifizierter numerischer
Wert und die Häufigkeit bzw. Anzahl einer Kollektivlöschung ”1” in
den Abschnitt S1 geschrieben, der in dem Prüfbereich S0
des ersten Blocks 113a bereitgestellt ist.
-
In
dem Schritt 807, der ein Bestimmungsschritt ist, wird in
dem Fall, dass die Schreibverarbeitung in dem Schritt 806 normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 807 der Schritt 808; in dem
Fall, dass die Schreibverarbeitung abnormal endet, wird das Ergebnis
der Bestimmung ”Nein”, und dem Schritt 807 folgt
der Schritt 811. In dem Schritt 808 wird die Kopfblocknummer
auf die Blocknummer des letzten Blocks in dem Statusspeicher 112a gesetzt,
der in dem RAM-Speicher 112A bereitgestellt ist; dann folgt
dem Schritt 808 der Schritt 809.
-
In
dem Schritt 809 wird die Kopfnummer auf die Abschnittsnummer
in dem Statusspeicher 112a gesetzt, der in dem RAM-Speicher 112A bereitgestellt
ist; dann folgt dem Schritt 809 der Schritt 810. Der
Schritt 810 ist ein Schritt für den Fall, dass
die Initialisierungsverarbeitung normal endet; der Schritt 811 ist
ein Schritt für den Fall, dass die Initialisierungsverarbeitung
abnormal endet.
-
9 ist
ein Flussdiagramm, das eine Schreibverarbeitung eines nicht-flüchtigen
Datenspeichers in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt. In 9 ist
der Schritt 901 ein Schritt, bei dem eine Schreibverarbeitung
startet. In dem Schritt 902, der ein Bestimmungsschritt
ist, wird bestimmt, auf Grundlage der Inhalte des Statusspeichers 112a in
dem RAM-Speicher 112A, ob oder nicht irgendein Leerabschnitt
in dem aktuellen Schreibblock verblieben ist; in dem Fall, dass
irgendein Leerabschnitt übrig ist, wird das Ergebnis der
Bestimmung ”Ja”, und dann folgt dem Schritt 902 der
Schritt 903; in dem Fall, dass kein Leerabschnitt übrig
ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 902 der Schritt 911.
-
In
dem Schritt 903 wird eine Leerprüfung durchgeführt,
in der eine Vergewisserung erfolgt, ob oder nicht der Abschnitt,
in welchem ein Schreiben durchgeführt werden soll, ein
Leerabschnitt ist. In dem Schritt 904, der ein Bestimmungsschritt
ist, wird in dem Fall, dass die Leerprüfung in dem Schritt 903 angibt,
dass der Abschnitt, in dem ein Schreiben durchgeführt werden
soll, ein Leerabschnitt ist, das Ergebnis der Bestimmung ”Ja”,
und dann folgt dem Schritt 904 der Schritt 905;
in dem Fall, dass der Abschnitt, in dem ein Schreiben durchgeführt
werden soll, nicht ein Leerabschnitt ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 904 der Schritt 907.
-
In
dem Schritt 905 werden Daten in den Schreibabschnitt geschrieben;
dann folgt dem Schritt 905 der Schritt 906. In
dem Schritt 906, der ein Bestimmungsschritt ist, wird in
dem Fall, dass das Schreiben der Daten in dem Schritt 905 normal
ist, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 906 der Schritt 910; in dem
Fall, dass das Schreiben der Daten in dem Schritt 905 abnormal
ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 906 der Schritt 907.
-
In
dem Schritt 907 wird die Schreibabschnittsnummer erhöht
bzw. weitergeschaltet; dann wird der Schritt 902 wieder
aufgenommen. In dem Fall, dass das Schreiben abnormal ist, wird
der Schreibabschnitt erhöht; dann werden die Leerprüfung
und das Schreiben erneut implementiert bzw. verwirklicht, und wenn
kein Leerabschnitt in dem Block verblieben ist, endet das Schreiben,
das eine abnormale Verarbeitung ist, in dem Schritt 911.
In dem Fall, dass das Schreiben normal durchgeführt wird,
endet das Schreiben, das eine normale Verarbeitung ist, in dem Schritt 910.
-
10 ist ein Flussdiagramm, das die Gesamtblock-Löschverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt; 10 stellt
eine Löschverarbeitung für einen spezifizierten
Aufteilungsblock dar. In 10 ist
der Schritt 1001 ein Schritt, bei dem eine Löschverarbeitung
startet. In dem Schritt 1002 wird der aktuelle Wert des
Wiederhol(versuchs)zählers auf ”0” gesetzt,
und dann folgt dem Schritt 1002 der Schritt 1003.
-
In
dem Schritt 1003 werden die Aufteilungsblöcke
gelöscht; dann folgt dem Schritt 1003 der Schritt 1004.
In dem Schritt 1004, der ein Bestimmungsschritt ist, wird
mittels Durchführen einer Leerprüfung bestimmt,
ob oder nicht ein spezifizierter Aufteilungsblock gelöscht
worden ist; in dem Fall, dass der spezifizierte Aufteilungsblock
gelöscht worden ist, wird das Ergebnis der Bestimmung ”Ja”,
und dann folgt dem Schritt 1004 der Schritt 1010;
in dem Fall, dass der spezifizierte Aufteilungsblock nicht gelöscht worden
ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1004 der Schritt 1005.
-
In
dem Schritt 1005 wird ”1” zu dem aktuellen Wert
des Wiederholzählers hinzugefügt bzw. addiert, und
dann folgt dem Schritt 1005 der Schritt 1006.
In dem Schritt 1006, der ein Bestimmungsschritt ist, wird
in dem Fall, dass der aktuelle Wert des Wiederholzählers
kleiner als ”2” ist, das Ergebnis der Bestimmung ”Ja”,
was eine Erlaubnis für einen Wiederholversuch bedeutet,
und dann wird der Schritt 1003 wieder aufgenommen; in dem
Fall, dass der aktuelle Wert des Wiederholzählers derselbe
wie oder größer als ”2” ist,
wird das Ergebnis der Bestimmung ”Nein”, was keine
Erlaubnis für einen Wiederholversuch bedeutet, und dann
folgt dem Schritt 1006 der Schritt 1007.
-
In
dem Schritt 1007 wird eine Leerprüfung auf dem
Prüfbereich S0 durchgeführt. In dem Schritt 1008,
der ein Bestimmungsschritt ist, wird in dem Fall, dass die Leerprüfung
in dem Schritt 1007 angibt, dass der Prüfbereich
S0 leer ist, das Ergebnis der Bestimmung ”Ja”,
und dann folgt dem Schritt 1008 der Schritt 1010;
in dem Fall, dass die Leerprüfung in dem Schritt 1007 angibt,
dass der Prüfbereich S0 nicht leer ist, wird das Ergebnis
der Bestimmung ”Nein”, und dann folgt dem Schritt 1008 der
Abnormal-Enden-Schritt 1011.
-
In
dem Fall, dass der Prüfbereich leer ist, wird ein Suchen
des letzten Blocks normal durchgeführt, und bei der Schreibverarbeitung
existiert eine Verarbeitung, in der in dem Fall, dass ein Subjektabschnitt
bzw. Abschnitt unter Betrachtung nicht ein Leerabschnitt ist, ein
Schreiben in dem nächsten Abschnitt durchgeführt
wird; obwohl ein anderes Teilstück als der Prüfbereich
existiert, das nicht gelöscht worden ist, hat es deshalb
keinen funktionalen Effekt. In dem Fall, dass, wenn das Löschen
nach einem Wiederholversuch abnormal ist, der Prüfbereich
leer ist, endet die Löschverarbeitung, die eine normale Verarbeitung
ist.
-
11A und 11B sind
eine Menge von Flussdiagrammen, die eine Übergangsverarbeitung in
einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellen; 11A und 11B stellen eine Übergangsverarbeitung
eines Aufteilungsblocks dar. In 11A ist
der Schritt 1101 ein Schritt, bei dem eine Blockübergangsverarbeitung
startet. Der Schrittblock 1000a ist der Blocklöschverarbeitungsschritt
für einen Aufteilungsblock, später mit Verweis
auf 10 beschrieben; in diesem Schritt
wird ein Aufteilungsblock, der der zweite von dem aktuellen Aufteilungsblock
ist, kollektiv gelöscht.
-
In
dem Schritt 1102a, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Löschverarbeitung in dem Schrittblock 1000a normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1102a der Schrittblock 1000b;
in dem Fall, dass die Löschverarbeitung in dem Schrittblock 1000a abnormal
endet, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1102a der Abnormal-Enden-Schritt 1111.
Der Schrittblock 1000b ist der Blocklöschschritt
für den Datenspeicher, oben mit Verweis auf 10 beschrieben; in diesem Schritt wird ein Aufteilungsblock,
der der erste von dem aktuellen Aufteilungsblock ist, kollektiv gelöscht.
-
In
dem Schritt 1102b, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Löschverarbeitung in dem Schrittblock 1000b normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1102b der Schritt 1103a; in
dem Fall, dass die Löschverarbeitung in dem Schrittblock 1000b abnormal
endet, wird das Ergebnis der Bestimmung ”Nein”, und
dann folgt dem Schritt 1102b der Abnormal-Enden-Schritt 1111.
-
In
dem Schritt 1103a wird der Datenspeicherungsbereich, der
mit Daten aufgefüllt worden ist, und in dem ein Übergang
des Aufteilungsblocks durchgeführt worden ist, als ein
bezeichneter bzw. designierter Bereich eingesetzt, und die Schreibabschnittsnummer
des bezeichneten Bereichs wird mit der des Kopfabschnitts aktualisiert.
Der Schrittblock 900a ist der Datenschreibschritt, oben
mit Verweis auf 9 beschrieben; in diesem Schritt
werden neu erzeugte Daten in den Datenspeicherungsbereich geschrieben,
der mit Daten aufgefüllt worden ist, und in dem ein Übergang
des Aufteilungsblocks durchgeführt worden ist.
-
In
dem Schritt 1102c, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Schreibverarbeitung in dem Schrittblock 900a normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1102c der Schritt 1103b; in
dem Fall, dass die Schreibverarbeitung in dem Schrittblock 900a abnormal
endet, wird das Ergebnis der Bestimmung ”Nein”, und
dann folgt dem Schritt 1102c der Abnormal-Enden-Schritt 1111.
In dem Schritt 1103b wird hinsichtlich eines Datenspeicherungsbereiches,
aus den Datenspeicherungsbereichen, der anders als der Datenspeicherungsbereich
ist, der mit Daten aufgefüllt worden ist und in dem ein Übergang
des Aufteilungsblocks durchgeführt worden ist, die Schreibabschnittsnummer
aktualisiert, so dass die in dem Vor-Übergang-Aufteilungsblock
gespeicherten, letzten Daten an den Kopfabschnitt des Nach-Übergang-Aufteilungsblocks
transferiert werden.
-
Der
Schrittblock 1200 ist ein Datensuch/Leseverarbeitungsschritt,
später mit Verweis auf 12 beschrieben;
in diesem Schritt wird bezüglich des Vor-Übergang-Aufteilungsblocks
ein Suchen eines normalen Blocks und eines normalen Leseabschnitts
durchgeführt, um zu bestimmen, ob oder nicht irgendein
wirksamer Abschnitt bzw. effektiver Abschnitt existiert. In dem
Schritt 1104, der ein Bestimmungsschritt ist, wird in dem
Fall, dass irgendein wirksamer Abschnitt in dem Vor-Übergang-Aufteilungsblock
existiert, das Ergebnis der Bestimmung ”Ja”, und
dann folgt dem Schritt 1104 der Schrittblock 900b;
in dem Fall, dass kein wirksamer Abschnitt existiert, wird das Ergebnis
der Bestimmung ”Nein”, und dann folgt dem Schritt 1104 der
Schrittblock 900c.
-
In
dem Schrittblock 900b, der der Schreibverarbeitungsschritt
ist, der oben mit Verweis auf 9 beschrieben
ist, werden in diesem Schritt die letzten Daten in dem Vor-Übergang-Aufteilungsblock,
die in dem Schrittblock 1200 gelesen worden sind, an den
Kopfabschnitt des Nach-Übergang-Aufteilungsblocks transferiert
und darin gespeichert. Der Schrittblock 900c ist der Schreibverarbeitungsschritt, der
oben mit Verweis auf 9 beschrieben ist; in diesem
Schritt wird der Anfangseinstellungswert, der in den Abbildspeicher 108 des
RAM-Speichers 112A in dem Schritt 603b in 6 geschrieben
worden ist, an den Kopfabschnitt des Nach-Übergang-Aufteilungsblocks
transferiert und darin geschrieben.
-
In
dem Schritt 1102d, der dem Schrittblock 900b oder 900c folgt
und ein Bestimmungsschritt ist, wird in dem Fall, dass die Schreibverarbeitung
in dem Schrittblock 900b oder 900c normal endet,
das Ergebnis der Bestimmung ”Ja”, und dann folgt
dem Schritt 1102d der Schritt 1105; in dem Fall,
dass die Schreibverarbeitung in dem Schrittblock 900b oder 900c abnormal
endet, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1102d der Schritt 1111.
-
In
dem Schritt 1105, der ein Bestimmungsschritt ist, wird
bestimmt, ob oder nicht die letzten Daten oder die Anfangswertdaten
bzw. anfänglichen Wertdaten in sämtliche von dem
ersten Bereich S10, dem zweiten Bereich S20 und dem dritten Bereich S300
geschrieben worden sind; in dem Fall, dass die letzten Daten oder
die Anfangswertdaten in sämtliche von dem ersten Bereich
S10, dem zweiten Bereich S20 und dem dritten Bereich S300 geschrieben worden
sind, wird das Ergebnis der Bestimmung ”Nein”,
und dann wird der Schritt 1103b wieder aufgenommen; in
dem Fall, dass die letzten Daten oder die Anfangswertdaten nicht
in sämtliche von dem ersten Bereich S10, dem zweiten Bereich
S20 und dem dritten Bereich S300 geschrieben worden sind, wird das Ergebnis
der Bestimmung ”Ja”, und dann folgt dem Schritt 1105 der
Schritt 1106. Der Schritt 1106 ist ein Schritt,
bei dem ein vorbestimmter spezifizierter numerischer Wert und die
Häufigkeit bzw. Anzahl einer Kollektivlöschung
in den Abschnitt S1 geschrieben werden, der in dem Prüfbereich
S10 des Nach-Übergang-Aufteilungsblocks bereitgestellt
ist; die Häufigkeit einer Kollektivlöschung ist
ein Wert, der durch Addieren von ”1” zu der Häufigkeit
einer Kollektivlöschung erhalten ist, welche in den Abschnitt
S1 des Vor-Übergang-Aufteilungsblocks geschrieben worden
ist.
-
In
dem Schritt 1102e, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Schreibverarbeitung in dem Schritt 1106 normal
endet, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1102e der Schritt 1107; in dem
Fall, dass die Schreibverarbeitung in dem Schritt 1106 abnormal
endet, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1102e der Schritt 1111.
In dem Schritt 1107 wird die Blocknummer des letzten Blocks in
dem Statusspeicher 112a aktualisiert, der in dem RAM-Speicher 112A bereitgestellt
ist; dann folgt dem Schritt 1107 der Schritt 1108.
In dem Schritt 1108 wird die Leseabschnittsnummer in dem
Statusspeicher 112a aktualisiert, der in dem RAM-Speicher 112A bereitgestellt
ist; dann folgt dem Schritt 1108 der Schritt 1110.
-
12 ist ein Gesamtflussdiagramm, das die Datenleseverarbeitung
in einem Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt; 12 stellt
eine Verarbeitung zum Lesen von Daten in dem nicht-flüchtigen
Datenspeicher dar. In 12 ist der Schritt 1200 ein
Schritt, bei dem ein Datenlesen für den Datenspeicher startet.
Der Schrittblock 1300 ist ein Letzte-Daten-Suchverarbeitungsschritt,
der später mit Verweis auf 13 beschrieben
ist.
-
In
dem Schritt 1201, der ein Bestimmungsschritt ist, wird
als ein Ergebnis der in dem Schrittblock 1300 durchgeführten
Suche nach dem letzten Block in dem Fall, dass Daten in jeden der
Aufteilungsblöcke 113a bis 113c geschrieben
worden sind und somit der letzte Block nicht identifiziert werden kann,
oder in dem Fall, dass sämtliche der Aufteilungsblöcke 113a bis 113c leer
sind und somit keine wirksamen Daten gefunden werden können,
das Ergebnis der Bestimmung ”Ja”, und dann folgt
dem Schritt 1201 der Schritt 1211, bei dem das
Lesen abnormal endet; in dem Fall dass irgendein wirksamer Block
gefunden wird, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1201 der Schritt 1202.
-
In
dem Schritt 1202, der ein Bestimmungsschritt ist, wird
als ein Ergebnis einer in dem Schrittblock 1300 durchgeführten
Suche nach dem letzten Abschnitt in dem Fall, dass weder ein wirksamer
Leseblock noch ein wirksamer Leseabschnitt identifiziert werden
kann, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1202 der Schritt 1211, bei dem
das Lesen abnormal endet; in dem Fall, dass irgendein wirksamer
Block und ein Leseabschnitt gefunden werden, wird das Ergebnis der
Bestimmung ”Nein”, und dann folgt dem Schritt 1202 der Schritt 1203.
In dem Schritt 1203 werden Daten in dem Leseabschnitt des
gefundenen Leseblocks gelesen und in dem Speicherbereich 108 des RAM-Speichers 112A gespeichert;
dann folgt dem Schritt 1203 der Schritt 1210,
bei dem das Lesen normal endet.
-
13 ist ein Flussdiagramm, das die Letzte-Daten-Suchverarbeitung
eines Steuergerätes gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt; 13 stellt
ein Durchsuchen des nicht-flüchtigen Datenspeichers nach
den letzten Daten dar. In 13 ist
der Schritt 1301 ein Schritt, bei dem eine Letzte-Daten-Suche
startet. Der Schrittblock 1400 ist ein Letzter-Block-Suchschritt,
der später mit Verweis auf 14 beschrieben
ist.
-
In
dem Schritt 1302, der ein Bestimmungsschritt ist, wird
als ein Ergebnis einer in dem Schrittblock 1400 durchgeführten
Suche nach dem letzten Block in dem Fall, dass Daten in jeden der
Aufteilungsblöcke 113a bis 113c geschrieben
worden sind und somit der letzte Block nicht identifiziert werden kann,
oder in dem Fall, dass sämtliche der Aufteilungsblöcke 113a bis 113c leer
sind und somit keine wirksamen Daten gefunden werden können,
das Ergebnis der Bestimmung ”Ja”, und dann folgt
dem Schritt 1302 der Schritt 1311, bei dem das
Lesen abnormal endet; in dem Fall, dass irgendein wirksamer Block
gefunden wird, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1302 der Schritt 1303.
-
In
dem Schritt 1303 wird die gefundene Letzter-Block-Nummer
bzw. letzte Block Nummer in dem Statusspeicher 112a gespeichert,
der in dem RAM-Speicher 112A bereitgestellt ist; dann folgt
dem Schritt 1303 der Schritt 1500a. Der Schrittblock 1500a ist
ein Letzter-Abschnitt-Suchschritt, der später mit Verweis
auf 15 beschrieben ist; in diesem Schritt
wird ein Durchsuchen des in dem Schritt 1303 gespeicherten
letzten Blocks nach dem letzten Abschnitt durchgeführt.
In dem Schritt 1304, der ein Bestimmungsschritt ist, wird
als ein Ergebnis der in dem Schrittblock 1500a durchgeführten
Suche nach dem letzten Abschnitt in dem Fall, dass kein wirksamer Abschnitt
existiert, das Ergebnis der Bestimmung ”Ja”, und
dann folgt dem Schritt 1304 der Schrittblock 1305;
in dem Fall, dass irgendein wirksamer Block gefunden wird, wird
das Ergebnis der Bestimmung ”Nein”, und dann folgt
dem Schritt 1304 der Schritt 1306a.
-
In
dem Schritt 1306a wird die gefundene Nummerninformation
in dem Statusspeicher 112a gespeichert, der in dem RAM-Speicher 112A bereitgestellt
ist, und dann folgt dem Schritt 1306a der Schritt 1307.
Hinsichtlich der Suchnummerninformation wird als die Leseblocknummer
die aktuelle Nummer der Letzter-Block-Nummer genutzt, die in dem Schritt 1303 gespeichert
worden ist; als die Leseabschnittsnummer wird die aktuelle Nummer
der Letzter-Abschnitt-Nummer genutzt, die in dem Schritt 1500a gefunden
worden ist; als die Schreibabschnittsnummer wird die der Leseabschnittsnummer folgende
Abschnittsnummer genutzt.
-
In
dem Schritt 1305, der ein Bestimmungsschritt ist, wird
bestimmt, ob oder nicht der Aufteilungsblock unmittelbar vor dem
Aufteilungsblock mit der Letzter-Block-Nummer, die in dem Schritt 1303 gespeichert
worden ist, ein Leerblock ist; in dem Fall, dass der vorhergehende
Aufteilungsblock nicht ein Leerblock ist, wird das Ergebnis der
Bestimmung ”Ja”, dann folgt dem Schritt 1305 der
Schritt 1500b; in dem Fall, dass der vorhergehende Aufteilungsblock
ein Leerblock ist, wird das Ergebnis der Bestimmung ”Nein”;
dann folgt dem Schritt 1305 der Schritt 1306b.
-
In
dem Schritt 1306b wird die gefundene Nummerninformation
in dem Statusspeicher 112a gespeichert, der in dem RAM-Speicher 112A bereitgestellt
ist; dann folgt dem Schritt 1306a der Schritt 1307.
Hinsichtlich der Suchnummerninformation wird als die Leseblocknummer
eine abnormale Nummer genutzt, die angibt, dass eine Suche unmöglich
ist; als die Leseabschnittsnummer wird eine abnormale Nummer genutzt,
die angibt, dass eine Suche unmöglich ist; als die Schreibabschnittsnummer
wird die Kopfabschnittsnummer genutzt.
-
Der
Schrittblock 1500b ist ein Letzter-Abschnitt-Suchschritt,
der später mit Verweis auf 15 beschrieben
ist; in diesem Schritt wird eine Suche des letzten Abschnitts in
dem Aufteilungsblock unmittelbar vor dem letzten Block durchgeführt, der
in dem Schritt 1303 gespeichert ist. In dem Schritt 1306c wird
die gefundene Nummerninformation bzw. die Information über
die gefundene Nummer in dem Statusspeicher 112a gespeichert,
der in dem RAM-Speicher 112A bereitgestellt ist; dann folgt
dem Schritt 1306c der Schritt 1307. Bezüglich
der Suchnummerninformation wird als die Leseblocknummer die Nummer
unmittelbar vor dem Letzter-Block-Nummer genutzt, die in dem Schritt 1303 gespeichert
worden ist; als die Leseabschnittsnummer wird die aktuelle Nummer
der Letzter-Abschnitt-Nummer genutzt, die in dem Schritt 1500b gefunden
worden ist; als der Schreibabschnitt wird der Kopfabschnitt des
Aufteilungsblocks mit der Letzter-Block-Nummer genutzt, die in dem
Schritt 1303 gespeichert worden ist.
-
In
dem Schritt 1307, der ein Bestimmungsschritt ist, wird
bestimmt, ob oder nicht eine Suche in sämtlichen von dem
ersten Konstantenbereich S10, dem zweiten Konstantenbereich S20
und dem dritten Konstantenbereich S300 vollendet worden ist; in
dem Fall, dass die vorhergehende Suche nicht vollendet worden ist,
wird das Ergebnis der Bestimmung ”Nein”, und dann
wird der Schritt 1500a wieder aufgenommen; in dem Fall,
dass die vorhergehende Suche vollendet worden ist, wird das Ergebnis
der Bestimmung ”Ja”, und dann folgt dem Schritt 1307 der Schritt 1310.
-
14 ist ein Flussdiagramm, das die Letzter-Block-Suchverarbeitung
für einen nicht-flüchtigen Datenspeicher in einem
Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt. In 14 ist
der Schritt 1401 ein Schritt, bei dem die Letzter-Block-Suche
startet. In dem Schritt 1402 wird eine Leerprüfung
für den Prüfbereich S0 in jedem der Aufteilungsblöcke 113a bis 113d durchgeführt;
dann folgt dem Schritt 1402 der Schritt 1403a.
-
In
dem Schritt 1403a, der ein Bestimmungsschritt ist, wird
in dem Fall, dass die Leerprüfung in dem Schritt 1402 angibt,
dass sämtliche der Aufteilungsblöcke 113a bis 113d Leerblöcke
sind, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1403a der Schritt 1404; in dem
Fall, dass irgendeiner Aufteilungsblöcke nicht ein Leerblock
ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1403a der Schritt 1403b.
-
In
dem Schritt 1404 wird in dem Statusspeicher 112a gespeichert,
dass sämtliche der Aufteilungsblöcke Leerblöcke
sind. In dem Schritt 1403b, der ein Bestimmungsschritt
ist, wird in dem Fall, dass die Leerprüfung in dem Schritt 1402 angibt,
dass sämtliche der Aufteilungsblöcke 113a bis 113d Nicht-Leerblöcke
sind, das Ergebnis der Bestimmung ”Ja”, und dann
folgt dem Schritt 1403b der Schritt 1406; in dem
Fall, dass irgendeiner der Aufteilungsblöcke ein Leerblock
ist, wird das Ergebnis der Bestimmung ”Nein”,
und dann folgt dem Schritt 1403b der Schritt 1405.
-
In
dem Schritt 1405 wird die Nummer des Aufteilungsblocks,
der unmittelbar vor einem Leerblock ist und nicht leer ist, als
die Letzter-Block-Nummer in dem Statusspeicher 112a gespeichert.
In dem Schritt 1406, der ein Bestimmungsschritt ist, wird
bestimmt, ob oder nicht nur ein Aufteilungsblock unter den Aufteilungsblöcken
existiert, in dem der Prüfbereich S0 eine vorbestimmte
spezifizierte Konstante und eine maximale Häufigkeit bzw.
Anzahl einer Kollektivlöschung enthält; in dem
Fall, dass der nur eine Aufteilungsblock existiert, wird das Ergebnis
der Bestimmung ”Ja”, und dann folgt dem Schritt 1406 der Schritt 1407;
in dem Fall, dass der nur eine Aufteilungsblock nicht existiert,
wird das Ergebnis der Bestimmung ”Nein”, und dann
folgt dem Schritt 1406 der Schritt 1408.
-
In
dem Schritt 1407 wird die Nummer des Aufteilungsblocks,
in dem der Prüfbereich S0 eine vorbestimmte spezifizierte
Konstante und eine maximale Häufigkeit bzw. Anzahl einer
Kollektivlöschung enthält, als die Letzter-Block-Nummer
in dem Statusspeicher 112a gespeichert. In dem Schritt 1408 wird in
dem Statusspeicher 112a gespeichert, dass sämtliche
der Aufteilungsblöcke Daten enthalten und daher ein abnormaler
Zustand existiert, in dem die Letzter-Block-Nummer nicht identifiziert
werden kann. Den Schritten 1404, 1405, 1407 und 1408 folgt
der Normal-Beendigungsschritt 1410.
-
15 ist ein Flussdiagramm, das die Letzter-Abschnitt-Suchverarbeitung
für einen nicht-flüchtigen Datenspeicher in einem
Steuergerät gemäß Ausführungsform
1 der vorliegenden Erfindung darstellt. In 15 ist
der Schritt 1501 ein Schritt, bei dem eine Letzter-Abschnitt-Suche
startet. In dem Schritt 1502 werden die Nummern der Abschnitte N10,
N20 und N300, die jeweils einen Bezug zu einem der Abschnitte in
den jeweiligen Datenspeicherungsbereichen S10, S20 bzw. S300 haben,
als die Maximumabschnittsnummern bzw. maximalen Abschnittsnummern
in einem Arbeitsspeicher gespeichert; dann folgt dem Schritt 1502 der
Schritt 1503. In dem Schritt 1503 wird mittels
Durchführung einer Leerprüfung für den
Abschnitt mit der gespeicherten Maximumabschnittsnummer sichergestellt
bzw. vergewissert, ob oder nicht der Abschnitt ein wirksamer Abschnitt,
der nicht ein Leerabschnitt ist, oder ein unwirksamer Abschnitt
ist; dann folgt dem Schritt 1503 der Schritt 1504.
-
In
dem Schritt 1504, der ein Bestimmungsschritt ist, wird
bestimmt, ob oder nicht der in dem Schritt 1503 geprüfte
Abschnitt ein wirksamer Abschnitt ist; in dem Fall, dass der in
dem Schritt 1503 geprüfte Abschnitt ein wirksamer
Abschnitt ist, wird das Ergebnis der Bestimmung ”Ja”,
und dann folgt dem Schritt 1504 der Schritt 1505;
in dem Fall, dass der in dem Schritt 1503 geprüfte
Abschnitt nicht ein wirksamer Abschnitt ist, wird das Ergebnis der
Bestimmung ”Nein”, und dann folgt dem Schritt 1504 der Schritt 1506.
In dem Schritt 1505 wird die Abschnittsnummer, die in dem
Schritt 1503 gespeichert worden ist, als die Nummer des
wirksamen Abschnitts in dem Statusspeicher 112a gespeichert;
dann folgt dem Schritt 1505 der Schritt 1510.
-
In
dem Schritt 1506, der ein Bestimmungsschritt ist, wird
bestimmt, ob oder nicht die in dem Schritt 1503 gespeicherte
Abschnittsnummer größer als die Kopfabschnittsnummer
ist; in dem Fall, dass die in dem Schritt 1503 gespeicherte
Abschnittsnummer größer als die Kopfabschnittsnummer
ist, wird das Ergebnis der Bestimmung ”Ja”, und
dann folgt dem Schritt 1506 der Schritt 1507;
in dem Fall, dass die in dem Schritt 1503 gespeicherte
Abschnittsnummer mit der Kopfabschnittsnummer übereinstimmt, wird
das Ergebnis der Bestimmung ”Nein”, und dann folgt
dem Schritt 1506 der Schritt 1508. In dem Schritt 1507 wird
der Wert in dem Arbeitsspeicher durch einen Wert ersetzt, der durch
Subtrahieren von ”1” von der Abschnittsnummer
erhalten ist, die aktuell gespeichert wird; dann folgt dem Schritt 1507 der
Schritt 1503. In dem Schritt 1503 wird eine Leerprüfung
auf den Abschnitt mit der reduzierten Abschnittsnummer angewendet.
-
Während
die Schritte 1503, 1504, 1506 und 1507 in
einem Kreislauf ausgeführt werden, wird in dem Fall, dass
ein wirksamer Abschnitt in dem Schritt 1504 gefunden wird,
das Ergebnis der Bestimmung ”Ja”, und dann folgt
dem Schritt 1504 der Schritt 1505; in dem Fall,
dass, bevor das Ergebnis der Bestimmung in dem Schritt 1504 ”Ja” wird,
das Ergebnis der Bestimmung in dem Schritt 1506 ”Nein” wird,
wird der Schritt 1506 durch den Schritt 1508 gefolgt,
und dann endet die Umlaufoperation. In dem Schritt 1508 wird
in dem Statusspeicher 112a gespeichert, dass kein wirksamer
Abschnitt existiert; dann folgt dem Schritt 1508 der Schritt 1510.
-
Der
Operationsstart-Schritt in jedem der vorhergehenden Steuerflüsse
in 7 bis 15 ist
ein Subroutinenprogramm-Startschritt; in dem Fall, dass der Steuerfluss
normal endet, folgt dem ursprünglichen Schritt, bei dem
der Subroutinenaufruf implementiert bzw. verwirklicht ist, der nächste
Schritt. In dem Fall, dass der Steuerfluss abnormal endet, wird jedoch
eine Abnormalitätsverarbeitung in einem nicht-veranschaulichten
Steuerfluss durchgeführt, der in einer höheren
Hierarchie als der Steuerfluss angeordnet ist. Beispielsweise wird
in dem Fall, dass sämtliche der Aufteilungsblöcke 113a bis 113d nicht Leerblöcke
sind, eine Abnormalitätsverlaufsinformation (die Anzahl
bzw. Häufigkeit eines Abnormalitätsauftritts) über
eine vorbestimmte Abnormalitäts-Codenummer gespeichert,
als spezifizierte separate Daten in der dritten Konstante 108a;
dann wird eine Initialisierungsverarbeitung für den Aufteilungsblock durchgeführt.
-
Außerdem
wird unten der nicht-veranschaulichte Steuerfluss erläutert
werden, der in einer höheren Hierarchie als die vorhergehenden
Steuerflüsse angeordnet ist. Zuerst wird ein Datentransfer
von dem Abbildspeicherbereich 108 des RAM-Speichers 112a an
den nicht-flüchtigen Datenspeicher 113A wie unten
beschrieben gesteuert.
- (1) Wenn sämtliche
der Aufteilungsblöcke 113a bis 113d initialisiert
sind und ein Schreiben in dem ersten Block 113a durchgeführt
wird, können nicht nur die erste Konstante 108a von
dem ersten Hilfsmittel 105A sondern auch der Anfangswert der
zweiten Konstante 108b und der bzw. die dritte Konstante 108c,
in dem Abbildspeicherbereich 108 gespeichert, transferiert
werden; zu diesem Zeitpunkt ist das zweite Hilfsmittel 106A nicht
angeschlossen.
- (2) Wenn die zweite Konstante 108b von dem zweiten
Hilfsmittel 106A an den nicht-flüchtigen Datenspeicher 113A transferiert
wird, wird allein die zweite Konstante 108b transferiert;
die erste Konstante 108a und die dritte Konstante 108c in dem
Abbildspeicherbereich 108 werden nicht an den nicht-flüchtigen
Datenspeicher 113A transferiert.
- (3) Wenn weder das erste Hilfsmittel 105A noch das
zweite Hilfsmittel 106A angeschlossen sind, werden die
erste Konstante 108a und die zweite Konstante 108b in
dem Abbildspeicherbereich 108 nicht an den nicht-flüchtigen Datenspeicher 113A transferiert,
und nur die dritte Konstante 108c kann transferiert werden.
-
Der
Datentransfer von dem nicht-flüchtigen Datenspeicher 113A an
den Abbildspeicherbereich 108 der RAM-Speichers 112A wird
wie unten beschrieben gesteuert.
- (1) In dem
Fall, dass bei dem Timing, wenn der Energieversorgungsschalter angeschaltet
wird bzw. ist, eine abnormale Abnahme in der Spannung der externen
Energiequelle 101A oder eine Unterbrechung der Energieversorgungsleitung
erfasst wird, oder in dem Fall, dass die Steuerenergiequelle 109A nicht
irgendeine Ausgabe der Hilfsspannung Vup hat, zu dem Timing, wenn
das Energieversorgungsrelais 102 geschlossen ist bzw. wird
und der Mikroprozessor 1110A seinen Betrieb startet, werden
die Letzte-Daten-Stücke der ersten Konstante 108a,
der zweiten Konstante 108b und der dritten Konstante 103c von
dem ersten Konstantenbereich S10, dem zweiten Konstantenbereich
S20 und dem dritten Konstantenbereich S300 der nicht-flüchtigen
Datenspeichers 113A an den Abbildspeicherbereich 108 des RAM-Speichers 112A transferiert.
- (2) Selbst in dem Fall, dass keine abnormale Abnahme in der
Spannung der externen Energiequelle 101A verursacht wird,
keine Unterbrechung der Energieversorgungsleitung erfasst wird,
und die Steuerenergiequelle 109A die normale Hilfsspannung
Vup erzeugt, werden, wenn irgendein Codefehler in den Daten in dem
Abbildspeicherbereich 108 erfasst wird, die letzten Daten
in dem Subjekt-Datenspeicherungsbereich bzw. dem betrachteten Datenspeicherungsbereich
von dem nicht-flüchtigen Datenspeicher 113A an
den Abbildspeicherbereich 108 transferiert, unmittelbar
nachdem der Energieversorgungsschalter angeschaltet wird oder während des
Fahrens.
- (3) Unmittelbar nachdem der Energieversorgungsschalter angeschaltet
wird, wird eine Zustandsprüfung für den nicht-flüchtigen
Datenspeicher 113A durchgeführt, und bevor der Energieversorgungsschalter
abgeschaltet wird, wird bestimmt, ob oder nicht eine Statusinformation,
die in dem Statusspeicher 112a gespeichert worden ist,
und eine neu geprüfte Statusinformation miteinander übereinstimmen;
in dem Fall, dass die vorigen Statusinformationsstücke
bzw. Statusinformationselemente nicht miteinander übereinstimmen,
wird bestimmt, dass auch in den in dem Abbildspeicherbereich 108 gespeicherten
Daten ein Fehler verursacht wird, und dann werden, unmittelbar nachdem
der Energieversorgungsschalter angeschaltet wird, die letzten Daten
von dem nicht-flüchtigen Datenspeicher 113A an
den Abbildspeicherbereich 108 transferiert.
-
In
der obigen Erläuterung ist beschrieben worden, dass das
Steuergerät 100A ein Fahrzeugsteuergerät,
so wie ein Motorsteuergerät, ist; jedoch kann das Steuergerät 100A auch
auf ein dediziertes Steuergerät in einer kommerziell verfügbaren
Automatisierungsvorrichtung angewendet werden. In diesem Fall wird
es ermöglicht, dass die Inhalte der zweiten Konstante,
die durch den Hersteller der Automatisierungsvorrichtung zu schreiben
sind, an den Hersteller des Steuergerätes gemeldet werden,
und dass der Hersteller des Steuergerätes sowohl die erste
als auch die zweite Konstante dazu bringt, in dem ersten Konstantenbereich
S10 gespeichert zu sein, um den zweiten Konstantenbereich S20 wegzulassen.
-
Es
wird außerdem ermöglicht, dass als die externe
Energiequelle 101A nicht eine Batterie sondern eine gewöhnliche
kommerzielle Wechselspannungsenergiequelle genutzt wird, dass der
Energieversorgungsschaltkreis 109A die Steuerspannung Vcc
aus einer gelieferten Wechselspannung erzeugt, und dass die Haltespannung
Vup aus einer integrierten Batterie erhalten wird. Alternativ wird
es außerdem ermöglicht, dass keine externe Batterie
oder keine integrierte Batterie, so wie eine Hilfsenergiequelle, bereitgestellt
wird, dass Daten, die in dem Abbildspeicherbereich 108 des
RAM-Speichers 112A gespeichert worden sind, in einem Stromausfallmodus in
dem nicht- flüchtigen Datenspeicher 113A gespeichert
werden, und dass, jedes Mal wenn der Betrieb startet, die Daten
von dem nicht-flüchtigen Datenspeicher 113A an
den Abbildspeicherbereich 108 transferiert werden.
-
(3) Idee und Merkmale der Ausführungsform
1
-
[Gemäß Anspruch 1]
-
Wie
aus der vorhergehenden Erläuterung ersichtlich ist, ist
ein Steuergerät 100A gemäß Ausführungsform
1 der vorliegenden Erfindung versehen mit einem Mikroprozessor 110A,
mit dem ein Eingangssignal-Schaltkreis 103 und ein Ausgangssignal-Schaltkreis 104 verbunden
sind, einem nicht-flüchtigen Programmspeicher 111A,
der mit dem Mikroprozessor 110A zusammenarbeitet, einem flüchtigen
RAM-Speicher 112A und einem nicht-flüchtigen Datenspeicher 113A;
das Steuergerät 100A überträgt
ein Steuerausgangssignal an den Ausgangssignal-Schaltkreis 104,
in Ansprechen auf ein in den nicht-flüchtigen Programmspeicher 111A geschriebenes
Eingabe/Ausgabe-Steuerprogramm 107A, Werte von Steuerkonstanten,
die in dem nicht-flüchtigen Datenspeicher 113A gespeichert sind,
und den Signalzustand des Eingangssignal-Schaltkreises 103;
der nicht-flüchtige Datenspeicher 113A ist aus
einem nicht-flüchtigen Speicher mit einer Vielzahl von
Aufteilungsblöcken 113a bis 113d gebildet,
von denen jeder separat und kollektiv gelöscht werden kann.
-
Jeder
der Aufteilungsblöcke 113a bis 113d ist
ferner in eine Vielzahl von Datenspeicherungsbereichen S10, S20
und S300 aufgeteilt, deren Schreibfrequenzen und Schreib-Timings
bzw. Schreib-Zeitverhältnisse voneinander unterschiedlich
sind.
-
Die
Datenspeicherungsbereiche S10, S20 und S300 sind mit Abschnitten
S11 und S12, S21 bis S24 bzw. S301 bis S320 ausgestaltet, von denen
jeder eine Einheit zum Lesen und Schreiben ist; eine Vielzahl separater
Datenstücke bzw. Datenelemente ist in einer vorbestimmten
Reihenfolge in jeden der Abschnitte geschrieben; die jeweiligen
Datenkapazitäten C10, C20 und C300 der Abschnitte S11 und S12,
S21 bis S24, und S301 bis S320 sind die Anzahl von Bytes, die der
Anzahl separater Datenstücke entspricht, die in einen einzelnen
Abschnitt zu schreiben sind.
-
Nachdem
der Subjekt-Aufteilungsblock bzw. der betrachtete Aufteilungsblock
kollektiv gelöscht ist, werden neue Datenstücke
bzw. Datenelemente sequentiell in Schritten eines Abschnitts in
der Vielzahl von Abschnitten S11 und S12, S21 bis S24, und S301
bis S320 gespeichert; wenn irgendein Datenspeicherungsbereich des
Subjekt-Aufteilungsblocks mit Daten aufgefüllt ist und
kein Leerabschnitt bzw. leerer Abschnitt existiert, wo keine Daten
geschrieben sind, werden neue Daten in den Kopfabschnitt dieses
Datenspeicherungsbereiches des anderen Aufteilungsblocks geschrieben,
der vorbereitend kollektiv gelöscht worden ist; die letzten
Daten, die in den anderen Datenspeicherungsbereich des ursprünglichen
Aufteilungsblocks geschrieben worden sind, werden an den Kopfabschnitt
in dem Datenspeicherungsbereich des neuen Aufteilungsblocks übertragen
und darin gespeichert.
-
Wenigstens
nachdem die letzten Daten an den neuen Aufteilungsblock übertragen
und darin gespeichert worden sind, werden Daten in dem ursprünglichen
Aufteilungsblock kollektiv gelöscht; die Anzahl von Abschnitten
N10, N20 und N300, an die Datenspeicherungsbereiche S10, S20 und
S300 zugeteilt, sind in Proportion zu der Schreibfrequenz.
-
[Gemäß Anspruch 2]
-
In
jedem der Aufteilungsblöcke 113a bis 113c ist
das Verhältnis der Gesamtdatenkapazität B, die
die Summe der Multiplikationsprodukte der jeweiligen Anzahlen von
Abschnitten von Neben-Datenspeicherungsbereichen bzw. kleineren
Datenspeicherungsbereichen und den entsprechenden Datenkapazitäten
ist, zu der Summe der Gesamtdatenkapazität B und der Gesamtdatenkapazität
A des Haupt- Datenspeicherungsbereiches bzw. des größeren
Datenspeicherungsbereiches, in dem das Multiplikationsprodukt der
Anzahl von Abschnitten (N10, N20, N300) und der Datenkapazität
(C10, C20, C300) maximal wird, d. h. das Verhältnis [B/(A
+ B)], kleiner als der Kehrwert der Anzahl N der Aufteilungsblöcke.
-
Wie
oben beschrieben, ist gemäß Anspruch 2 der vorliegenden
Erfindung das Verhältnis der Gesamtdatenkapazität
der Haupt-Datenspeicherungsbereiche bzw. größeren
Datenspeicherungsbereiche zu der Gesamtdatenkapazität der
anderen Neben-Datenspeicherungsbereiche bzw. kleineren Datenspeicherungsbereiche
derart begrenzt, um einen Bezug zu dem Kehrwert der Anzahl der Aufteilungsblöcke
zu haben.
-
Wenn
der Haupt-Datenspeicherungsbereich aufgefüllt ist und ein Übergang
zu dem nächsten Aufteilungsblock durchgeführt
wird, kann Ausführungsform 1 demgemäß,
obwohl es erforderlich ist, die letzten Daten in einen anderen Datenspeicherungsbereich
zu bewegen, die Anzahl bzw. Häufigkeit einer Kollektivlöschung
in einem einzelnen Aufteilungsblock reduzieren, als Bereitstellung
eines dedizierten Aufteilungsblocks für einen anderen Datenspeicherungsbereich.
-
[Gemäß Anspruch 3]
-
Der
Datenspeicherungsbereich, der in jedem der Aufteilungsblöcke 113a bis 113d des
nicht-flüchtigen Datenspeichers 113A bereitgestellt
ist, ist in erste, zweite und dritte Konstantenbereiche S10, S20 und
S300 oder wenigstens den ersten und den zweiten Konstantenbereich
aufgeteilt.
-
Der
erste Konstantenbereich S10 ist ein Speicherungsbereich für
eine erste Konstante 108a, die dorthin von einem als Verladungsjustierungsausrüstung
(shipping adjustment equipment) vorbereiteten ersten Hilfsmittel 105A transferiert
und darin geschrieben wird, wenn der Hersteller des Steuergerätes 100A eine
Verladungsjustierung des Steuergerätes ausführt.
-
Die
erste Konstante 108a enthält wenigstens ein Element
aus der Gruppe von einer Steuerkonstante, die der Modellklassifizierung
des Steuergerätes 100A selbst entspricht, einer
Auswahlnummerninformation, die Teil des Eingabe/Ausgabe-Steuerprogramms 107A ist,
einer Korrekturkonstante zum Korrigieren von Variationen in Eigenschaften
einer Komponente in dem Steuergerät 100A, und
der Produktionsnummer des Steuergerätes.
-
Der
zweite Konstantenbereich S20 ist ein Speicherungsbereich für
eine zweite Konstante 108b, die dorthin von einem als eine
Inspektions-/Justierungsausrüstung vorbereiteten zweiten Hilfsmittel
bzw. Tool 106A transferiert und darin geschrieben wird,
wenn der Hersteller der Ausrüstungsverwaltungsabteilung
(equipment management department) eines integrierten Produktes oder
einer integrierten Ausrüstung, worin das Steuergerät 100A integriert
ist, eine Testbetriebsjustierung des integrierten Produktes oder
der integrierten Ausrüstung ausführt.
-
Die
zweite Konstante 108b enthält wenigstens ein Element
aus der Gruppe von einer Steuerkonstante, die dem Modellnamen/Modell
eines integrierten Produktes/Ausrüstung entspricht, worin
das Steuergerät 100A integriert ist, einer Auswahlnummerninformation,
die Teil des Eingabe/Ausgabe-Steuerprogramms 107A ist,
und einer Korrekturkonstante zum Korrigieren von Variationen in
Eigenschaften einer Eingabe/Ausgabe-Komponente, die mit dem Steuergerät 100A verbunden
ist.
-
Der
dritte Konstantenbereich S300 ist ein Speicherungsbereich für
eine dritte Konstante 108c, die in dem RAM-Speicher 112A während
des tatsächlichen Betriebs des Steuergerätes 100A gespeichert
worden ist und dorthin transferiert und darin gespeichert wird,
wenigstens unmittelbar nachdem das Steuergerät 100A gestoppt
wird oder zu einem passenden Zeitpunkt während des Betriebs
des Steuergerätes 100A.
-
Die
dritte Konstante 108c enthält wenigstens ein Element
aus einer Gruppe von einer Eigenschaftsänderungsinformation über
eine eingebaute Komponente oder eine Externe-Verbindung-Komponente
bzw. Komponente einer externen Verbindung des Steuergerätes 100A,
einer Lerninformation zum Erhalten verbesserter Fahreigenschaften,
und einer Abnormalitätsauftritts-Verlaufsinformation.
-
Wie
oben beschrieben, ist gemäß Anspruch 3 der vorliegenden
Erfindung der in jedem der Aufteilungsblöcke des nicht-flüchtigen
Datenspeichers bereitgestellte Datenspeicherungsbereich in erste, zweite
und dritte Konstantenbereiche oder wenigstens den ersten und den
zweiten Konstantenbereich aufgeteilt, und die Anzahl von Abschnitten
in jedem Konstantenbereich und die Anzahl von Bytes, d. h. die Datenkapazität
des Abschnitts, sind bzw. werden vorbereitend bestimmt.
-
Demgemäß können
nicht nur Daten leicht in jeweilige Leerabschnitte der Konstantenbereiche
zu unterschiedlichen Zeiten und Orten geschrieben werden, sondern
es können auch die Schreibfrequenzen in den Konstantenbereichen
leicht geschätzt werden, so dass die Anzahl von Abschnitten
in jedem Konstantenbereich und die Anzahl von Bytes leicht bestimmt
werden können.
-
[Gemäß Anspruch 4]
-
Der
in jedem der Aufteilungsblöcke des nicht-flüchtigen
Datenspeichers 113A bereitgestellte Datenspeicherungsbereich
hat einen Abschnitt S1, der als ein Prüfbereich S0 dient,
zusätzlich zu den ersten, zweiten und dritten Konstantenbereichen S10,
S20 und S300, oder dem ersten und dem zweiten Konstantenbereich.
-
Wenn
wirksame Daten bzw. Effektivdaten in wenigstens einen Abschnitt
in sämtlichen der Datenspeicherungsbereiche S10, S20 und
S300 geschrieben werden, nachdem die Aufteilungsblöcke 113a bis 113d kollektiv
gelöscht sind, wird eine vorbestimmte spezifizierte Konstante
in den ersten Halbbereich des Abschnitts S1 geschrieben, der einer
der Abschnitte in dem Prüfbereich S0 ist; in dem Fall,
dass wirksame Daten nicht in irgendeinen Abschnitt in den vorhergehenden
Datenspeicherungsbereichen geschrieben sind, wird jeder Datenspeicherungsbereich
ein Leerblock, wo die spezifizierte Konstante nicht geschrieben
wird.
-
Wie
oben beschrieben, wird gemäß Anspruch 4 der vorliegenden
Erfindung ein Prüfbereich in jedem der Aufteilungsblöcke
in dem nicht-flüchtigen Datenspeicher bereitgestellt, und
in dem Prüfbereich wird eine Bestimmungsinformation darüber
gespeichert, ob oder nicht wenigstens ein geschriebener Abschnitt
in jedem Datenspeicherungsbereich des Aufteilungsblocks existiert.
-
Demgemäß wird
in dem Prozess eines Aufteilungsblocksübergangs, nachdem
die letzten Daten in jeden Datenspeicherungsbereichs des nächsten Blocks
geschrieben sind, ein Schreiben in dem Prüfbereich des
nächsten Blocks durchgeführt; in dem Fall, dass
der Prüfbereich nicht leer ist, erfolgt deshalb eine Vergewisserung,
dass letzte Daten in jedem Datenspeicherungsbereich geschrieben
worden sind, und in dem Fall, dass der Prüfbereich eine
große Anzahl von Aufteilungsblöcken hat, kann
durch eine Überwachung der Inhalte des Prüfbereichs
der letzte Block leicht gefunden werden.
-
[Gemäß Anspruch 5]
-
In
dem zweiten Halbbereich des Abschnitts S1, der einer der Abschnitte
in dem Prüfbereich S0 ist, werden Daten über die
Häufigkeit bzw. Anzahl einer Kollektivlöschung
für die Aufteilungsblöcke geschrieben, wenn die
spezifizierte Konstante geschrieben wird; in dem Fall, dass ein Übergang
des Aufteilungsblocks durchgeführt wird, wird die Häufigkeit
einer Kollektivlöschung des Nach-Übergang-Aufteilungsblocks
ein Wert, der erhalten wird durch Addieren von ”1” zu
der Häufigkeit einer Kollektivlöschung, die in
den Prüfbereich des aktuellen Aufteilungsblocks unmittelbar
vor dem Übergang geschrieben worden ist.
-
Wie
oben beschrieben, wird gemäß Anspruch 5 der vorliegenden
Erfindung in dem Prüfbereich in dem Aufteilungsblock des
nicht-flüchtigen Datenspeichers die Anzahl bzw. Häufigkeit
einer Kollektivlöschung geschrieben.
-
Demgemäß kann
die Lebensdauerverwaltung des nicht-flüchtigen Datenspeichers
leicht durchgeführt werden, und es kann bestimmt werden, dass – unter
einer Vielzahl von Aufteilungsblöcken – der Aufteilungsblock
mit einer größten Häufigkeit einer Kollektivlöschung
der letzte Aufteilungsblock ist.
-
[Gemäß Anspruch 6]
-
In
dem Prüfbereich S0 ist wenigstens ein Reserveabschnitt
S2 zu einem Abschnitt S1 hinzugefügt, in dem die spezifizierte
Konstante und Daten über die Häufigkeit einer
Kollektivlöschung geschrieben sind; in dem Fall, dass,
wenn eine Kollektivlöschung in dem Aufteilungsblock durchgeführt
wird, der Abschnitt S1, der einer der Abschnitte in dem Prüfbereich
S0 ist, nicht gelöscht werden kann, wird die Kollektivlöschung
erneut durchgeführt, und in dem Fall, dass der Abschnitt
S1 immer noch nicht gelöscht werden kann, wird der Reserveabschnitt
S2 anstelle des Abschnitts S1 genutzt.
-
Wie
oben beschrieben wird gemäß Anspruch 6 der vorliegenden
Erfindung in dem Prüfbereich in dem Aufteilungsblock des
nicht-flüchtigen Datenspeichers ein Reserveabschnitt bei
der Annahme bereitgestellt, dass ein Abschnitt nicht perfekt gelöscht wird.
-
Selbst
wenn ein Abschnitt nicht perfekt gelöscht wird, kann demgemäß verhindert
werden, dass alle von einem Aufteilungsblock nutzlos werden.
-
[Gemäß Anspruch 7]
-
Der
nicht-flüchtige Datenspeicher 113A ist mit wenigstens
drei Aufteilungsblöcken 113a bis 113d versehen;
in dem Fall, dass kein Leerabschnitt in irgendeinem der Datenspeicherungsbereiche
S10, S20 und S300 (z. B. der dritte Konstantenbereich S300) des
Aufteilungsblocks 113a existiert, wo ein Schreiben aktuell
durchgeführt wird, wird zuerst der dritte Aufteilungsblock 113c kollektiv
gelöscht; dann wird als eine Vergewisserungsverarbeitung
der zweite Aufteilungsblock 113b kollektiv gelöscht,
und neue Daten werden in den Kopfabschnitt in dem Datenspeicherungsbereich
(der dritte Konstantenbereich S300) des zweiten Aufteilungsblocks 113b geschrieben;
die letzten Daten, die in andere Datenspeicherungsbereiche (die
ersten und zweiten Konstantenbereiche S10 und S20) des ursprünglichen
Aufteilungsblocks 113a geschrieben worden sind, werden an
den Kopfabschnitt in dem Datenspeicherungsbereich (die ersten und
zweiten Konstantenbereiche S10 und S20) des zweiten Aufteilungsblocks 113b übertragen
und darin gespeichert; bezüglich des Übergangs
der Aufteilungsblöcke 113a bis 113d bewegen
sich die letzten Daten zu dem Aufteilungsblock, der ein Leerblock
und vor dem Leerblock ist, der kollektiv gelöscht worden
ist.
-
Wie
oben beschrieben, ist gemäß Anspruch 7 der vorliegenden
Erfindung der nicht-flüchtige Datenspeicher mit drei oder
mehr Aufteilungsblöcken versehen, und wenn ein Übergang
zwischen den Aufteilungsblöcken durchgeführt wird,
wird der dritte Aufteilungsblock im Voraus kollektiv gelöscht.
-
In
dem Fall, dass eine Stromunterbrechung auftritt, während
Daten in dem zweiten Aufteilungsblock geschrieben werden, und dann
der Energieversorgungsschalter erneut angeschaltet wird, wird demgemäß nach
dem dritten Aufteilungsblock gesucht, der im Voraus gelöscht
worden ist und ein Leerblock ist, und Daten können in dem
Aufteilungsblock unmittelbar vor dem dritten Aufteilungsblock geschrieben
werden; indem immer ein Leerblock sichergestellt bzw. gewährleistet
wird, kann deshalb der Aufteilungsblock, in dem ein Schreiben durchgeführt
werden soll, leicht gefunden werden.
-
In
dem Fall, dass der Aufteilungsblock, in dem eine Kollektivlöschung
nicht vollendet worden ist, der nächste Aufteilungsblock
wird, wird außerdem eine Kollektivlöschung als
Vergewisserungsverarbeitung durchgeführt, und dann wird
ein Datenschreiben gestartet; deshalb kann ein Eingriff eines unwirksamen
Abschnitts bzw. Ineffektivabschnitts verhindert werden.
-
In
dem Fall, dass der Aufteilungsblock, der einmal kollektiv gelöscht
worden ist, erneut kollektiv gelöscht wird, beeinträchtigt
nichts die Lebensdauer; deshalb werden die Daten über die
Häufigkeit einer Kollektivlöschung, die in einen
Prüfbereich geschrieben sind, als eine Einzel-Kollektivlöschungsinstanz zu
dem Zeitpunkt gezählt, wenn Daten in den Aufteilungsblock
geschrieben werden, und dann wird eine spezifizierte Konstante in
den Prüfbereich geschrieben.
-
[Gemäß Anspruch 8]
-
Der
nicht-flüchtige Programmspeicher 111A enthält
das Eingabe/Ausgabe-Steuerprogramm 107A, konstante und
unveränderliche feste Konstanten für das Eingabe/Ausgabe-Steuerprogramm 107A,
und eine Referenzkonstante 107a mit Bezug zu der ersten
Konstante 108a, der zweiten Konstante 108b oder
der dritten Konstante 108c.
-
Die
Referenzkonstanten 107a sind Oberer/Unterer-Grenzwert-Daten,
die eine zulässige Variationsspanne mit Bezug zu einem
Teil variabler Informationselemente in der ersten Konstante 108a, der
zweiten Konstante 108b und der dritten Konstante 108c oder
einem Teil von Fahrcharakteristika- Lerninformationselementen darstellen,
und Anfangswert-Einstellungsdaten, die auf unspezifizierte Konstanten
in der ersten Konstante 108a, der zweiten Konstante 108b und
der dritten Konstante 108c angewendet sind; die Anfangswert-Einstellungsdaten
werden an die Kopfabschnitte der ersten, zweiten, dritten Konstantenbereich
S10, S20 und S300 eines der Aufteilungsblöcke 113a bis 113d übertragen und
darin gespeichert, wenigstens bevor das Steuergerät anfangs
betrieben wird.
-
Wie
oben beschrieben, sind gemäß Anspruch 8 der vorliegenden
Erfindung feste Konstanten und Referenzkonstanten in dem nicht-flüchtigen Programmspeicher 111A gespeichert.
-
Weil
konstante und unveränderliche feste Konstanten in dem nicht-flüchtigen
Datenspeicher gespeichert sind, kann demgemäß die
Kapazität des nicht-flüchtigen Datenspeichers
reduziert werden; hinsichtlich einer Eigenschaftsänderungsinformation und
einer Lerninformation, deren Konstanten sequentiell während
des Betriebs des Steuergerätes bestimmt werden, kann durch
vorbereitendes Speichern von Anfangseinstellungswerten in dem nicht-flüchtigen
Datenspeicher der Betrieb des Steuergerätes mit nächstbesten
bzw. zweitbesten Konstanten gestartet werden.
-
Hinsichtlich
der Eigenschaftsänderungsinformation und der Lerninformation,
deren Konstanten sequentiell während des Betriebs des Steuergerätes bestimmt
werden, kann außerdem bestimmt werden, ob oder nicht bestimmte
Konstanten innerhalb einer vorbestimmten Spanne sind, oder es kann
bestimmt werden, ob oder nicht ein Fehler in den Konstanten aufgetreten
ist, die in dem RAM-Speicher gespeichert sind.
-
Darüber
hinaus können in dem Fall, dass ein Teil der ersten und
zweiten Konstanten nicht spezifiziert worden ist, als temporäre
Konstanten Anfangswertdaten in den Referenzkonstanten benutzt werden.
-
[Gemäß Anspruch 9]
-
Der
Mikroprozessor 110A erzeugt ein Kollektivlöschungsbefehl-Signal
für den nicht-flüchtigen Datenspeicher 113A und
ein Leerprüfbefehl-Signal; der nicht-flüchtige
Datenspeicher 113A empfängt den Leerprüfbefehl
und überträgt dann wenigstens eine Bestimmungsinformation
darüber, ob oder nicht jeder Abschnitt gelöscht
worden ist.
-
Der
Mikroprozessor 110A bestimmt einen Abschnitt, der durch
eine Kollektivlöschung gelöscht worden ist, als
einen Leerabschnitt bzw. leeren Abschnitt.
-
In
dem Fall, dass ein Abschnitt existiert, der nicht durch die Kollektivlöschung
gelöscht werden kann, oder in dem Fall, dass aufgrund einer
Stromunterbrechung während einer Schreiboperation für
den nicht-flüchtigen Datenspeicher 113A die Tatsache
erfasst wird, dass ein Daten-beschriebenes Teilstück und
ein Daten-unbeschriebenes Teilstück gleichzeitig in einem
Abschnitt enthalten sind, bestimmt der Mikroprozessor 110A den
vorhergehenden Abschnitt als einen unwirksamen Abschnitt, und bestimmt
den Abschnitt, der Daten enthält und nicht ein unwirksamer
Abschnitt ist, als einen wirksamen Abschnitt.
-
Beim
Durchführen des Lesens in dem nicht-flüchtigen
Datenspeicher 113A durchsucht der Mikroprozessor 110A den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereiches
nach einem wirksamen Abschnitt und liest Daten, die in einem wirksamen
Abschnitt gespeichert sind, der zuerst erfasst wird.
-
Beim
Durchführen des Schreibens in dem nicht-flüchtigen
Datenspeicher 113A durchsucht der Mikroprozessor 110A den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereiches
(in einer Anfangsrichtung) nach einem wirksamen Abschnitt, führt
eine Suche in der entgegengesetzten Richtung von einem wirksamen
Abschnitt durch, der zuerst erfasst wird, und schreibt dann Daten
in einen Leerabschnitt, der zuerst erfasst wird.
-
Wie
oben beschrieben, durchsucht gemäß Anspruch 9
der vorliegenden Erfindung der Mikroprozessor, durch Bestimmen von
Abschnitten als Leerabschnitte, unwirksame Abschnitte oder wirksame Abschnitte,
sequentiell jeden Datenspeicherungsbereich von dem letzten Abschnitt,
um einen Leseabschnitt und einen Schreibabschnitt zu bestimmen.
-
Selbst
wenn ein unwirksamer Abschnitt existiert, wird demgemäß der
Aufteilungsblock nicht unmittelbar aktualisiert oder kollektiv gelöscht,
und Daten werden derart in den nächsten Abschnitt geschrieben,
dass kein Leerabschnitt übrig bleibt; deshalb kann die
Anzahl bzw. Häufigkeit einer Kollektivlöschung
in dem nicht-flüchtigen Datenspeicher verringert werden.
-
Hinsichtlich
des Lesens des nicht-flüchtigen Datenspeichers kann ein
Lesen in einem wirksamen Abschnitt durchgeführt werden,
wobei ein unwirksamer Abschnitt vernachlässigt wird.
-
[Gemäß Anspruch 10]
-
Beim
Durchführen eines Schreibens in dem nicht-flüchtigen
Datenspeicher 113A durchsucht der Mikroprozessor 110A den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereiches
(in einer Anfangsrichtung) nach einem wirksamen Abschnitt, führt
eine Suche in der entgegengesetzten Richtung von einem wirksamen
Abschnitt durch, der zuerst erfasst wird, und schreibt dann Daten
in einen Leerabschnitt, der zuerst erfasst wird; in dem Fall, dass
Daten nicht korrekt in dem Leerabschnitt geschrieben werden können,
führt der Mikroprozessor 110A eine Suche in der
Anfangsrichtung durch und schreibt Daten in einen neu erfassten
Leerabschnitt.
-
Wie
oben beschrieben, wird gemäß Anspruch 10 der vorliegenden
Erfindung ein Schreiben in dem nächsten Abschnitt durchgeführt,
wenn ein Schreiben in dem Abschnitt des nicht-flüchtigen
Datenspeichers fehlschlägt.
-
Selbst
in dem Fall, dass eine abnormale Zelle in einem Teil des Schreibabschnitts
existiert, können demgemäß richtige Daten
in den nächsten Abschnitt geschrieben werden.
-
[Gemäß Anspruch 11]
-
Der
RAM-Speicher 112A enthält einen Statusspeicher 112a,
in den Daten entsprechend dem Löschzustand/Schreibzustand
des nicht-flüchtigen Datenspeichers 113A geschrieben
sind.
-
In
dem Statusspeicher 112a sind wenigstens eine Identifizierungsnummerninformation
für den letzten Aufteilungsblock, unter den Aufteilungsblöcken 113a bis 113d,
in dem ein Schreiben aktuell durchgeführt wird, und eine
Abschnittsnummerninformation für den Abschnitt, unter den
Abschnitten in jedem der Datenspeicherungsbereiche S10, S20 und S300
in dem letzten Aufteilungsblock, gespeichert, in dem letzte Daten
geschrieben sind.
-
Wie
oben beschrieben, enthält gemäß Anspruch
11 der vorliegenden Erfindung der RAM-Speicher 112A einen
Statusspeicher 112a, in den/dem Daten entsprechend dem
Löschzustand/Schreibzustand des nicht-flüchtigen
Datenspeichers 113A geschrieben sind.
-
Demgemäß ist
es erforderlich, eine Suche nach der Nummer eines Leseabschnitts,
in dem letzte Daten gespeichert sind, oder eine Suche nach der Nummer
eines Schreibabschnitts, in dem letzte Daten geschrieben sind, nur
einmal durchzuführen, nachdem der Energieversorgungsschalter
angeschaltet ist; deshalb wird die Verarbeitungsgeschwindigkeit
hoch.
-
[Gemäß Anspruch 12]
-
Der
Mikroprozessor 110A, der RAM-Speicher 112A, der
nicht-flüchtige Programmspeicher 111A und der
nicht-flüchtige Datenspeicher 113A werden mit
elektrischer Energie von der externen Energiequelle 101A über
den Ausgangskontakt des Energieversorgungsrelais 102, das
vorgespannt ist, wenn der Ansteuerleistungsschalter geschlossen wird,
und einen Ansteuerleistungsanschluss 102a versorgt.
-
Das
Energieversorgungsrelais 102 wird in einer vorbestimmten
Zeit entregt, nachdem der Energieversorgungsschalter geöffnet
wird; der RAM-Speicher 112A wird mit elektrischer Energie
von einer Hilfsenergiequelle versorgt, selbst während der
Ansteuerleistungsanschluss 102a nicht mit elektrischer Energie
versorgt wird, oder der RAM-Speicher 112A wird mit elektrischer
Energie versorgt, während der Ansteuerleistungsanschluss 102a nicht
mit elektrischer Energie versorgt wird.
-
Die
Hilfsenergiequelle ist eine externe Batterie 101A, die
direkt mit dem Hilfsenergiequellenanschluss 101a oder einer
eingebauten Batterie verbunden ist.
-
In
dem Fall, dass, während das Energieversorgungsrelais 102 nicht
vorgespannt ist, die Versorgung mit elektrischer Energie für
den RAM-Speicher 112A gestoppt wird, in dem Fall, dass,
selbst wenn die Energieversorgung aufrecht erhalten wird, die Spannung
der Hilfsenergiequelle abnormal abnimmt, oder der Hilfsenergiequellenschaltkreis
abgetrennt wird und die Speicherungsinhalte des RAM-Speichers 112A verloren
sind, in dem Fall, dass, während die Inhalte der Statusspeichers 112a abnormal
sind, das Energieversorgungsrelais 102 vorgespannt ist und
der Mikroprozessor 110A ”seinen Betrieb startet”,
oder in dem Fall, dass der Mikroprozessor 110A ”tatsächlich
arbeitet”, werden die Inhalte des letzten Abschnitts, die
wenigstens in dem dritten Datenspeicherungsbereich S300 des nicht-flüchtigen
Datenspeichers 113A geschrieben sind, an den Abbildspeicherbereich 108 des
RAM-Speichers 112A übertragen, und der Mikroprozessor 110a steuert
Eingaben und Ausgaben auf Grundlage der dritten Konstante 103c,
die in dem Abbildspeicherbereich 108 geschrieben ist.
-
Wie
oben beschrieben, kann gemäß Anspruch 12 der vorliegenden
Erfindung, ungeachtet davon, ob oder nicht eine Hilfsenergiequelle
zum Aufrechterhalten des Speicherungszustands des RAM-Speichers
existiert, wenn eine Abnormalität in den Inhalten des RAM-Speichers
existiert, oder wenn die Inhalte des RAM-Speichers nicht verlässlich
sind, die in dem nicht-flüchtigen Datenspeicher gespeicherte
dritte Konstante gelesen und genutzt werden.
-
Darüber
hinaus können Lerndaten und eine Abnormalitätsauftritts-Verlaufsinformation,
die in einer Aktualisierungsweise in dem RAM-Speicher während
des Betriebs geschrieben sind, an den nicht-flüchtigen
Datenspeicher transferiert und darin behalten werden während
der verzögerten Energieversorgungsperiode des Energieversorgungsrelais.
-
Ausführungsform 2
-
(1) Detaillierte Beschreibung der Ausgestaltung
-
Nun
wird die Ausgestaltung eines Steuergerätes gemäß Ausführungsform
2 der vorliegenden Erfindung auf Grundlage von 16, die ein Blockdiagramm ist, das die Gesamtausgestaltung
des Steuergerätes veranschaulicht, und 17 beschrieben werden, die ein Abschnittsausgestaltungsdiagramm eines
nicht-flüchtigen Datenspeichers ist. Dieselben Bezugszeichen
in den jeweiligen Figuren geben dieselben oder äquivalente
Bausteine an.
-
In 16 ist ein Steuergerät 100B hauptsächlich
mit einem Mikroprozessor 110B, einem nicht-flüchtigen
Programmspeicher 111B, einem flüchtigen RAM-Speicher 112B und
einem nicht-flüchtigen Datenspeicher 113B ausgestaltet, der
ein Flash-Speicher ist; in der Praxis bildet das Steuergerät 100B beispielsweise
eine spezielle programmierbare Steuereinheit, die in Fabrikanlagen genutzt
wird und mit elektrischer Energie von einer externen Energiequelle 101B,
die eine gewöhnliche kommerzielle Wechselspannungsquelle
ist, über ein Energieversorgungsrelais 102 versorgt
wird. Wenn ein nicht-veranschaulichter Leistungsschalter bzw. Netzschalter
angeschaltet wird, schließt das Energieversorgungsrelais 102 unmittelbar,
und wenn der Leistungsschalter abgeschaltet wird, öffnet
das Energieversorgungsrelais 102 nach einer vorbestimmten verzögerten
Energieversorgungsperiode.
-
Ein
Eingangssignal-Schaltkreis 103 ist ein Offen/Geschlossen-Sensor
oder ein Analogsensor, der mit dem Steuergerät 100A über
einen nicht-veranschaulichten Verbinder verbunden ist; der Eingangssignal-Schaltkreis 103 ist
mit dem Mikroprozessor 110B über einen nicht-veranschaulichten
Eingangsschnittstellen-Schaltkreis und einen Eingangssignalbus 130 verbunden.
Ein Ausgangssignal-Schaltkreis 104 ist eine elektrische
Last, so wie eine Antriebsgerät bzw. Ansteuervorrichtung
oder eine Anzeigevorrichtung, die mit dem Steuergerät 100A über
einen nicht-veranschaulichten Verbinder verbunden ist; der Ausgangssignal-Schaltkreis 104 ist
mit dem Mikroprozessor 110B über einen nicht-veranschaulichten
Ausgangsschnittstellen-Schaltkreis und einen Ausgangssignalbus 140 verbunden.
-
Ein
erstes Hilfsmittel bzw. Tool 105B ist mit dem Mikroprozessor 110B über
einen seriellen Signalbus 150 verbunden, wenn eine Verladungseinstellung/Inspektion
oder eine Wartung/Inspektion auf das Steuergerät 100B angewendet
wird; das erste Hilfsmittel 105B ist aus einer mobilen
Vorrichtung mit einer nicht-veranschaulichten Tastatur und einer nicht-veranschaulichten
Anzeigevorrichtung gebildet. Ein zweites Hilfsmittel 106B ist
in Reihe mit dem Steuergerät 100B derart geschaltet,
um das erste Hilfsmittel 105B zu ersetzen; das zweite Hilfsmittel 106B ist
als ein Verladungseinstellungshilfsmittel hergerichtet, wenn der
Hersteller eines integrierten Produktes, so wie einer Ausrüstung,
in dem das Steuergerät 100B integriert ist, eine
Verladungsjustierung auf das integrierte Produkt anwendet, oder das
zweite Hilfsmittel 106B wird genutzt, wenn die Ausrüstungsverwaltungsabteilung
eines Benutzers, der das Steuergerät 100B nutzt,
eine Installationsjustierung auf die Ausrüstung anwendet;
das zweite Hilfsmittel 106b ist aus einer mobilen Vorrichtung
mit einer nicht-veranschaulichten Tastatur und einer nicht-veranschaulichten
Anzeigevorrichtung gebildet. Außerdem sind die Ausrüstungsverwaltungsabteilung
(equipment management department) und der Hersteller eines integrierten
Produktes in derselben Kategorie; deshalb wird in den nachfolgenden Erläuterungen
hier auf die Ausrüstungsverwaltungsabteilung und den Hersteller
als einen ”Hersteller eines integrierten Produktes” verwiesen
werden.
-
Ein
Eingabe/Ausgabe-Steuerprogramm 107B, das in dem Steuergerät 100B genutzt
wird, ist in dem zweiten Hilfsmittel 106B gespeichert;
eine zur Sequenzsteuerung bzw. Ablaufsteuerung geeignete Benutzersprache
wird für das Eingabe/Ausgabe-Steuerprogramm 107B genutzt.
Durch ein Systemprogramm in einem Masken-ROM-Speicher 111b ersetzt
der Mikroprozessor 110B das in der Benutzersprache programmierte
Eingabe/Ausgabe-Steuerprogramm 107B durch eine für
den Mikroprozessor 110B geeignete Maschinensprache, um
eine Eingabe/Ausgabe-Steuerung durchzuführen.
-
Das
Systemprogramm enthält ferner ein Kommunikationssteuerprogramm
zum Steuern einer Kommunikation mit dem ersten Hilfsmittel 105B und dem
zweiten Hilfsmittel 106B; durch das Systemprogramm transferiert
der Mikroprozessor 110B eine in dem ersten Hilfsmittel 105B gespeicherte
erste Konstante 108a an einen ersten Konstantenbereich
S10 in dem nicht-flüchtigen Datenspeicher 113B.
Durch das Systemprogramm in dem Masken-ROM-Speicher 111b transferiert
der Mikroprozessor 110B ein in dem zweiten Hilfsmittel 106B gespeichertes
Eingabe/Ausgabe-Steuerprogramm 107B an den nicht-flüchtigen
Programmspeicher 111B und transferiert eine in dem zweiten
Hilfsmittel 106B gespeicherte zweite Konstante 108b an
einen zweiten Konstantenbereich S20 in dem nicht-flüchtigen
Datenspeicher 113B.
-
Das
Eingabe/Ausgabe-Steuerprogramm 107B enthält konstante
und unveränderliche feste Konstanten für das Eingabe/Ausgabe-Steuerprogramm 107B und
eine Referenzkonstante 107b mit Bezug zu der ersten Konstante 108a,
der zweiten Konstante 108b oder der dritten Konstante 108c.
Die Referenzkonstanten 107b sind Oberer/Unterer-Grenzwert-Daten,
die eine zulässige Variationsspanne mit Bezug zu einem
Teil variabler Informationselemente in der ersten Konstante 108a,
der zweiten Konstante 108b und der dritten Konstante 108c oder
einem Teil von Fahrcharakteristika-Lerninformationselementen darstellen,
und Anfangswert-Einstellungsdaten, die auf unspezifizierte Konstanten
in der ersten Konstante 108a, der zweiten Konstante 108b und
der dritten Konstante 108c angewendet sind; die Anfangswert-Einstellungsdaten
werden an die Kopfabschnitte der ersten, zweiten, dritten Konstantenbereiche
S10, S20 und S300 eines der Aufteilungsblöcke 113a bis 113d,
später beschrieben, übertragen und darin gespeichert,
wenigstens bevor das Steuergerät anfangs betrieben wird.
-
Das
erste Hilfsmittel 105B enthält ferner die erste
Konstante 108a, die an den nicht-flüchtigen Datenspeicher 113B übertragen
wird; die erste Konstante 108a enthält eine Steuerkonstante,
die der Modellklassifizierung des Steuergerätes 100B selbst entspricht,
eine Auswahlnummerninformation, die Teil des Eingabe/Ausgabe-Steuerprogramms 107B ist,
eine Korrekturkonstante zum Korrigieren von Variationen in Eigenschaften
einer Komponente in dem Steuergerät 100B, und
eine Steuergerät-eigene bzw. Steuergerät-inhärente
Information, so wie die Produktnummer des Steuergerätes.
-
Die
erste Konstante 108a wird von dem ersten Hilfsmittel 105B an
den nicht-flüchtigen Datenspeicher 113B oder an
den flüchtigen RAM-Speicher 112B transferiert,
wenn eine bereitgestellte Übertragungsoperationstaste gedrückt
wird; die erste Konstante 108a wird von dem RAM-Speicher 112B an den
nicht-flüchtigen Datenspeicher 113B zu dem Timing
transferiert, wenn der Leistungsschalter für das Steuergerät 100B geöffnet
wird und eine verzögerte Energieversorgung durch das Energieversorgungsrelais 102 durchgeführt
wird.
-
Das
zweite Hilfsmittel 106B enthält ferner die zweite
Konstante 108b, die an den nicht-flüchtigen Datenspeicher 113B übertragen
wird; die zweiten Konstante 108b bilden Steuerkonstanten
entsprechend dem Modellnamen/Modell eines integrierten Produktes/Ausrüstung,
worin das Steuergerät 100B integriert ist, oder
einer dem integrierten Produkt eigenen Information, so wie eine
Korrekturkonstante zum Korrigieren von Variationen in Eigenschaften
einer mit dem Steuergerät 100B verbundenen Eingabe/Ausgabe-Komponente.
Die zweite Konstante 108b wird zu dem Timing bzw. Zeitverhältnis
transferiert, wenn die Übertragungsoperationstaste gedrückt
wird, oder wenn der Energieversorgungsschalter für das
Steuergerät 100B abgeschaltet wird.
-
Der
Mikroprozessor 110B, der eine Ansteueroperation durch das
in dem nicht-flüchtigen Programmspeicher 111B gespeicherte
Eingabe/Ausgabe-Steuerprogramm 107B durchführt,
erschafft die dritte Konstante 108c, so wie eine Eigenschaftsänderungsinformation über
in dem Steuergerät 100B aufgenommene Komponenten
oder Komponenten einer externen Verbindung, Lerninformation zum
Erhalten verbesserter Fahrcharakteristika oder Abnormalitätsauftritts-Verlaufsinformation,
und speichert sie in dem RAM-Speicher 112A. Der nicht-flüchtige
Datenspeicher 113B ist ein Flash-Speicher, in dem eine
Kollektivlöschung in Schritten eines Blocks durchgeführt wird,
und enthält den ersten Aufteilungsblock 113e und
den zweiten Aufteilungsblock 113f.
-
Als
Nächstes ist in 17 die
Ausgestaltung jedes Aufteilungsblocks dargestellt. In 17 hat jeder der Aufteilungsblöcke 113e und 113f einen
ersten Konstantenbereich S10, einen zweiten Konstantenbereich S20
und einen dritten Konstantenbereich S300, die als Datenspeicherungsbereiche
dienen, und einen Prüfbereich S0. Der Prüfbereich
S0 ist mit einem Abschnitt S1 mit einer Datenkapazität
C0 von beispielsweise 16 Bytes und einem Reserveabschnitt S2 ausgestaltet,
der anstelle des Abschnitts S1 in dem Fall genutzt wird, dass der
Abschnitt S1 abnormal ist.
-
Der
erste Konstantenbereich S10 ist mit vier Abschnitten S11 bis S14
(die Anzahl von Abschnitten N10 ist 4) ausgestaltet, die jeweils
eine Datenkapazität C10 von beispielsweise 32 Bytes haben;
somit ist die Gesamtdatenkapazität 128 Bytes (C10 × N10
= 32 × 4 = 128). Der zweite Konstantenbereich S20 ist mit
acht Abschnitten S21 bis S28 (die Anzahl der Abschnitte N20 ist
8) ausgestaltet, die jeweils eine Datenkapazität C20 von
beispielsweise 96 Bytes haben; somit ist die Gesamtdatenkapazität
768 Bytes (C20 × N20 = 96 × 8 = 768).
-
Der
dritte Konstantenbereich S300 ist mit vierzig Abschnitten S301 bis
S340 (die Anzahl von Abschnitten N300 ist 40) ausgestaltet, die
jeweils eine Datenkapazität C300 von beispielsweise 384 Bytes
haben; somit ist die Gesamtdatenkapazität 15360 Bytes (C300 × N300
= 384 × 40 = 15360).
-
Jeder
der Abschnitte ist eine Minimumeinheit bzw. minimale Einheit zum
Schreiben/Lesen; eine Vielzahl separater Datenstücke bzw.
Datenelemente ist in einer vorbestimmten Reihenfolge in jeden der Abschnitte
geschrieben; die jeweiligen Wert der Datenkapazitäten C10,
C20 und C300 sind die Anzahl von Bytes, die der Anzahl separater
Datenstücke bzw. Datenelemente entspricht, die in einem
einzelnen Abschnitt geschrieben sind. Außerdem sind in
jedem der Abschnitte Summendaten zum Erfassen eines Codefehlers
oder Fehlerkorrekturdaten zusätzlich zu einer Vielzahl
separater Datenstücke geschrieben.
-
In
Ausführungsform 2 ist in jedem der Aufteilungsblöcke 113e und 113f das
Verhältnis der Gesamtdatenkapazität B (= N0 × C0
+ N10 × C10 + N20 × C20 = 16 × 2 + 32 × 4
+ 96 × 8 = 928), die das Multiplikationsprodukt der jeweiligen
Anzahlen von Abschnitten von kleineren Datenspeicherungsbereichen
bzw. Neben-Datenspeicherungsbereichen S0, S10 und S20 und den entsprechenden
Datenkapazitäten ist, zu der Summe der Gesamtdatenkapazität
B und der Gesamtdatenkapazität (A = N300 × C300
= 40 × 384 = 15360) des größeren Datenspeicherungsbereichs
bzw. Haupt-Datenspeicherungsbereichs S300, in dem das Multiplikationsprodukt
der Anzahl von Abschnitten (N10, N20, N300) und der Datenkapazität
(C10, C20, C300) maximal wird, d. h. das Verhältnis [B/(A
+ B)] (= 928/(15360 + 928) = 0,057), kleiner als der Kehrwert der
Anzahl N (= 2) der Aufteilungsblöcke.
-
In 16 empfängt wiederum ein Lösch/Schreib-Steuerschaltkreis 114 vielfältige
Arten von Befehlssignalen COMn von dem Mikroprozessor 110B,
steuert den nicht-flüchtigen Datenspeicher 113B,
und sendet von dem nicht-flüchtigen Datenspeicher 113B erhaltene
Antwortsignale ANSn an den Mikroprozessor 110B. Die Inhalte
der Befehlssignale COM1 bis COM4 und die Inhalte der Antwortsignale
ANSI bis ANS4 sind denen in dem Fall von 1 ähnlich.
-
Der
RAM-Speicher 112B ist mit einem Abbildspeicherbereich 108 versehen;
der Abbildspeicher 108 wird als ein Weitergabespeicher
genutzt, wenn die erste Konstante 108a von dem ersten Hilfsmittel 105B an
den nicht-flüchtigen Datenspeicher 113B übertragen
wird, oder als ein Weitergabespeicher, wenn die zweite Konstante 108b von
dem zweiten Hilfsmittel 106b an den nicht-flüchtigen
Datenspeicher 113B übertragen wird; die dritte
Konstante 108c, die während des Betriebs des Mikroprozessors 110B erzeugt
wird, wird in dem Abbildspeicher 108 gespeichert.
-
Der
RAM-Speicher 112B enthält einen Statusspeicher 112a,
in dem Daten entsprechend dem Löschzustand/Schreibzustand
des nicht-flüchtigen Datenspeichers 113B geschrieben
sind; in dem Statusspeicher 112b wird eine Identifizierungsnummerninformation
für wenigstens den letzten Aufteilungsblock, unter den
Aufteilungsblöcken 113e und 113f, in dem
ein Schreiben aktuell durchgeführt wird, und eine Abschnittsnummerinformation
für den Abschnitt, unter den Datenspeicherungsbereichen
S10, S20 und S300 in dem letzten Aufteilungsblock gespeichert, in
dem letzte Daten geschrieben sind.
-
Ein
Energieversorgungsschaltkreis 109B wird mit elektrischer
Energie von der externen Energiequelle 101B versorgt, die
beispielsweise eine kommerzielle Wechselspannungsquelle ist, über
den Ausgangskontakt des Energieversorgungsrelais 102, das
vorgespannt ist, wenn der Energieversorgungsschalter geschlossen
wird, und einen Ansteuerleistungsanschluss 102a; die eingebaute
Batterie 109b liefert elektrische Energie an den RAM-Speicher 112B.
Wenn das Energieversorgungsrelais 102 vorgespannt ist,
erzeugt der Energieversorgungsschaltkreis 109B eine stabilisierte
Steuerspannung Vcc von beispielsweise 5 V Gleichspannung und liefert die
Steuerspannung Vcc an den Mikroprozessor 110B, den nicht-flüchtigen
Programmspeicher 111B, den RAM-Speicher 112B und
den nicht-flüchtigen Datenspeicher 113B. Wenn
das Energieversorgungsrelais 102 nicht vorgespannt ist,
liefert die eingebaute Batterie 109b, die als eine Backup-Energiequelle
dient, elektrische Energie an den RAM-Speicher 112B.
-
In
dem Fall, dass, während das Energieversorgungsrelais 102 nicht
vorgespannt ist, die Spannung der eingebauten Batterie 109b,
die als eine Hilfsenergiequelle diente, abnormal abnimmt, oder der
Hilfsenergiequellenschaltkreis abgetrennt und die Speicherinhalte
des RAM-Speichers 112B verloren sind, in dem Fall, dass,
während die Inhalte des Statusspeichers 112b abnormal
sind, das Energieversorgungsrelais 102 vorgespannt ist
und der Mikroprozessor 110B seinen Betrieb startet, oder
in dem Fall, dass der Mikroprozessor 110B arbeitet, werden die
Inhalte des letzten Abschnitts, die wenigstens in dem dritten Datenspeicherungsbereich
S300 des nicht-flüchtigen Datenspeichers 113B geschrieben sind,
an den Abbildspeicherbereich 108 des RAM-Speichers 112B übertragen,
und der Mikroprozessor 110B steuert Eingaben und Ausgaben
auf Grundlage der in dem Abbildspeicherbereich 108 geschriebenen
dritten Konstante 108c.
-
Wenn
der Mikroprozessor 110B seinen Betrieb startet, werden
in der Praxis nicht nur die dritte Konstante 108c sondern
auch die erste und die zweite Konstante 108a und 108b von
dem nicht-flüchtigen Datenspeicher 113B an den
RAM-Speicher 112B übertragen und gelesen, so dass
der Mikroprozessor 110B eine Steuerung mit Referenz auf
den Abbildspeicherbereich 108 des RAM-Speichers 112B durchführt.
-
Eine
Abnormalität des Statusspeichers 112b enthält
den Fall, dass es keine gespeicherte Identifizierungsnummerninformation
für den letzten Aufteilungsblock 113e oder 113f gibt,
in dem ein Schreiben aktuell durchgeführt wird, den Fall,
dass es keine gespeicherte Abschnittsnummerinformation gibt, worin letzte
Daten geschrieben sind, in den Datenspeicherungsbereichen S10, S20
und S300 der letzten Aufteilungsblöcke, und den Fall, dass
aufgrund eines Codefehlers in dem RAM-Speicher 112B als
ein Ganzes ein Eindringen oder ein Verlust einer Bitinformation
existiert.
-
(2) Detaillierte Beschreibung der Operation
-
Als
Nächstes wird die Operation eines Steuergerätes
gemäß Ausführungsform 2 der vorliegenden
Erfindung hauptsächlich in der Form des Unterschieds zwischen
Ausführungsform 1 und Ausführungsform 2 erläutert
werden.
-
Hinsichtlich
der Lösch/Schreibverarbeitung, die in 3A, 3B und 3C dargestellt
ist, existieren in der in 16 und 17 dargestellten Ausführungsform
2 zwei Aufteilungsblöcke; wenn irgendeiner von den ersten,
zweiten und dritten Konstantenbereichen S10, S20 und S300 des einen
Aufteilungsblocks aufgefüllt ist (dort existiert kein Leerabschnitt),
wird ein Übergang zu dem anderen Aufteilungsblock gemacht,
und unmittelbar vor dem Übergang wird der Aufteilungsblock
kollektiv gelöscht, zu dem der Übergang gemacht
wird.
-
Selbst
wenn eine Stromunterbrechung während einer kollektiven
Löschung des einen Aufteilungsblocks auftritt, gehen demgemäß keine
wertvollen Daten verloren, weil letzte Daten in dem anderen Aufteilungsblock
gespeichert worden sind. Der Prüfbereich S0 wird auf dieselbe
Weise wie in der in 1 und 2 dargestellten
Ausführungsform 1 behandelt; nachdem Daten in jedem der
Datenspeicherungsbereiche S10, S20 und S300 geschrieben sind, werden
somit eine spezifizierte Konstante und die Häufigkeit einer
Kollektivlöschung geschrieben.
-
Hinsichtlich
der in 4A und 4B dargestellten
Such/Leseverarbeitung kann bestimmt werden, dass unter einer Vielzahl
von Aufteilungsblöcken der Aufteilungsblock mit einer größten
Häufigkeit einer Kollektivlöschung der letzte
Aufteilungsblock ist; der letzte Abschnitt in dem letzten Block wird
bestimmt durch Durchführen einer Abschnittssuche, die von
dem letzten Abschnitt gestartet wird, wie es der Fall für 4A und 4B ist.
Die in 5A und 5B dargestellte
Abnormalitätsverarbeitung ist dieselbe wie die in 16 und 17 dargestellte in
Ausführungsform 2.
-
Im
Gegensatz dazu wird das Steuerprogramm in Ausführungsform
2, das dem Steuerfluss, in 6 bis 15 dargestellt,
in Ausführungsform 1 entspricht, in dem Masken-ROM-Speicher 111b gespeichert;
wegen einer Abnahme in der Anzahl von Aufteilungsblöcken
wird das Verfahren zum Suchen des letzten Blocks auf solch eine
Weise wie oben beschrieben geändert. Im Besonderen ist
hinsichtlich des in 6 dargestellten Gesamtflusses
die Reihenfolge einer Implementierung in Ausführungsform 1
unterschiedlich von der in Ausführungsform 2.
-
Das
Flussdiagramm in 6 soll vielfältige Arten
von Verarbeitungen, die zu unterschiedlichen Timings ausgeführt
sind, kombinieren und verallgemeinern. Zuerst werden als die erste
Verarbeitung der Schritt 600a bis zum Schritt 605a,
der Schrittblock 700 und der Schritt 600c ausgeführt,
so dass die erste Konstante 108a an den nicht-flüchtigen
Datenspeicher 113B transferiert wird; zu dieser Zeit werden
hinsichtlich jeder von der zweiten und dritten Konstante Daten ”0”,
ein imaginärer Anfangseinstellungswert, transferiert.
-
Als
die zweite Verarbeitung werden der Schritt 600a, der Schrittblock 602,
der Schrittblock 603b, der Schritt 605b, der Schrittblock 700 und
der Schritt 600c ausgeführt, so dass der Transfer
des Eingabe/Ausgabe-Steuerprogramms 107B, der Transfer
der zweiten Konstante 108b an den nicht-flüchtigen
Datenspeicher 113B, und der Transfer von Anfangseinstellungswerten
für die zweiten und dritten Konstanten ausgeführt
werden.
-
Als
die dritte Verarbeitung werden der Schritt 600a, der Schritt 605c,
der Schrittblock 700 und der Schritt 600c ausgeführt,
so dass die dritte Konstante 108c an den nicht-flüchtigen
Datenspeicher 113B transferiert wird; hinsichtlich der
dritten Konstante 108c wird jedoch während des
Umlaufs durch den Schritt 601, den Schritt 605c,
den Schritt 606, den Schritt 609 und den Schritt 601,
eine große Anzahl separater Datenstücke sequentiell
in einer ansteigenden Weise in dem RAM-Speicher 112B gespeichert,
und unmittelbar nachdem der Leistungsschalter abgeschaltet wird,
werden die separaten Datenstücke kollektiv an den nicht-flüchtigen
Datenspeicher 113B in dem Schrittblock 700 transferiert.
-
In
der vorhergehenden Erläuterung ist es beschrieben worden,
dass der RAM-Speicher 112B als Backup von der eingebauten
Batterie 109b unterstützt wird; jedoch wird es
auch ermöglicht, dass keine externe Batterie oder keine
eingebaute Batterie, so wie eine Hilfsenergiequelle, bereitgestellt
wird, dass Daten, die in dem Abbildspeicherbereich 108 des
RAM-Speichers 112B gespeichert worden sind, in einem Stromausfallmodus
in dem nicht-flüchtigen Datenspeicher 113B gespeichert
werden, und dass jedes Mal, wenn der Betrieb startet, die Daten
von dem nicht-flüchtigen Datenspeicher 113B an
den Abbildspeicherbereich 108 transferiert werden.
-
Außerdem
ist es möglich, immer die ersten und zweiten Konstanten 108a und 108b direkt
von den nicht-flüchtigen Datenspeichern 113A bzw. 113B zu
lesen, so dass Nicht-Daten in dem Abbildspeicher 108 nicht
genutzt werden.
-
In
der vorhergehenden Erläuterung ist es beschrieben worden,
dass, unmittelbar nachdem der Energieversorgungsschalter ausgeschaltet
wird, wenigstens die dritte Konstante 108c in dem Abbildspeicherbereich 108 an
den nicht-flüchtigen Datenspeicher 113A oder 113B transferiert
wird; jedoch ist es auch möglich, dass, wenn während
des tatsächlichen Betriebs des Steuergerätes 100A oder 100B eine
Abnormalität auftritt, die dritte Konstante 108c transferiert
und behalten wird.
-
Das
Steuergerät 100A oder 100B ist versehen
mit einer eingebauten Batterie oder einer externen Batterie, die
als eine Hilfsenergiequelle dient, und einem Zeitzähler
mit niedrigem Leistungsverbrauch; das Steuergerät 100A, 100B ist
außerdem fähig zum Messen einer verstrichenen
Zeit einschließlich einer Zeit, in der die Energiequelle
ausgeschaltet gewesen ist, und zum Transferieren, jede vorbestimmte
Zeitperiode, der dritten Konstante 108c an den nicht-flüchtigen
Datenspeicher 113A, 113B und zum Bewahren davon
darin. In diesem Fall wird das Transferieren und Bewahren in einer
verzögerten Energieversorgungsperiode durchgeführt, nachdem
der Energieversorgungsschalter ausgeschaltet wird; in dem Fall,
dass die Zeit zwischen dem Zeitpunkt, wenn der Energieversorgungsschalter
das letzte Mal ausgeschaltet worden ist, und dem Zeitpunkt, wenn
der Energieversorgungsschalter dieses Mal ausgeschaltet wird, kurz
ist, kann der Transfer der dritten Konstante 108c an den
nicht-flüchtigen Datenspeicher 113A, 113B und
das Bewahren davon darin entfallen.
-
(3) Idee und Merkmale der Ausführungsform
2
-
[Gemäß Anspruch 1]
-
Wie
aus der vorhergehenden Erläuterung klar ist, ist ein Steuergerät
gemäß Ausführungsform 2 der vorliegenden
Erfindung versehen mit einem Mikroprozessor 110B, mit dem
ein Eingangssignal-Schaltkreis 103 und ein Ausgangssignal-Schaltkreis 104 verbunden
sind, einem nicht-flüchtigen Programmspeicher 111B,
der mit dem Mikroprozessor 110B zusammenarbeitet, einem
flüchtigen RAM-Speicher 112B und einem nicht-flüchtigen
Datenspeicher 113B; das Steuergerät 100B überträgt ein
Steuerausgangssignal an den Ausgangssignal-Schaltkreis 104,
in Ansprechen auf ein in dem nicht-flüchtigen Programmspeicher 111B geschriebenes
Eingabe/Ausgabe-Steuerprogramm 107B, die Werte von Steuerkonstanten,
die in dem nicht-flüchtigen Datenspeicher 113B gespeichert
sind, und den Signalzustand des Eingangssignal-Schaltkreises 103;
der nicht-flüchtige Datenspeicher 113B ist aus einem
nicht-flüchtigen Speicher mit einer Vielzahl von Aufteilungsblöcken 113e und 113f gebildet,
von denen jeder separat und kollektiv gelöscht werden kann.
-
Jeder
der Aufteilungsblöcke 113e und 113f ist
ferner in eine Vielzahl von Datenspeicherungsbereichen S10, S20
und S300 mit unterschiedlichen Schreibfrequenzen oder unterschiedlichen Schreib-Timings
aufgeteilt.
-
Die
Datenspeicherungsbereiche S10, S20 und S300 sind mit Abschnitten
S11 bis S14, S21 bis S28 bzw. S301 bis S340 ausgestaltet, von den
jeder eine Einheit zum Lesen und Schreiben ist; eine Vielzahl separater
Datenstücke bzw. Datenelemente ist in einer vorbestimmten
Reihenfolge in jeden der Abschnitte geschrieben; die jeweiligen
Werte von Datenkapazitäten C10, C20 und C300 sind die Anzahl von
Bytes, die der Anzahl separater Datenstücke entspricht,
die in einem einzelnen Abschnitt geschrieben sind.
-
Nachdem
der Subjekt-Aufteilungsblock bzw. der betrachtete Aufteilungsblock
kollektiv gelöscht ist, werden neue Datenstücke
sequentiell in Schritten eines Abschnitts in der Vielzahl von Abschnitten
S11 bis S14, S21 bis S28, und S301 bis S340 gespeichert; wenn irgendein
Datenspeicherungsbereich des Subjekt-Aufteilungsblocks mit Daten
aufgefüllt ist und dort kein Leerabschnitt existiert, wo
keine Daten geschrieben sind, werden neue Daten in dem Kopfabschnitt
von diesem Datenspeicherungsbereich des anderen Aufteilungsblocks
geschrieben, der vorbereitend kollektiv gelöscht worden
ist; die letzten Daten, die in den anderen Datenspeicherungsbereich des
ursprünglichen Aufteilungsblocks geschrieben worden sind,
werden an den Kopfabschnitt in dem Datenspeicherungsbereich des
neuen Aufteilungsblocks übertragen und darin gespeichert.
-
Wenigstens
nachdem die letzten Daten an den neuen Aufteilungsblock übertragen
und darin geschrieben sind, werden Daten in dem ursprünglichen Aufteilungsblock
kollektiv gelöscht; die Anzahl der Abschnitte N10, N20
und N300, zugeteilt an die Datenspeicherungsbereiche S10, S20 und
S300, sind in Proportion zu der Schreibfrequenz.
-
[Gemäß Anspruch 2]
-
In
jedem der Aufteilungsblöcke 113e und 113f ist
das Verhältnis der Gesamtdatenkapazität B, die
die Summe der Multiplikationsprodukte der jeweiligen Anzahlen von
Abschnitten von Neben-Datenspeicherungsbereichen bzw. kleineren
Datenspeicherungsbereichen und den entsprechenden Datenkapazitäten
ist, zu der Summe der Gesamtdatenkapazität B und der Gesamtdatenkapazität
A des Haupt-Datenspeicherungsbereichs bzw. größeren Datenspeicherungsbereichs,
in dem das Multiplikationsprodukt der Anzahl von Abschnitten (N10,
N20, N300) und der Datenkapazität (C10, C20, C300) maximal
wird, d. h. das Verhältnis [B/(A + B)], kleiner als der
Kehrwert der Anzahl N der Aufteilungsblöcke.
-
Wie
oben beschrieben, ist gemäß Anspruch 2 der vorliegenden
Erfindung das Verhältnis der Gesamtdatenkapazität
der Haupt-Datenspeicherungsbereiche zu der Gesamtdatenkapazität
der anderen Neben-Datenspeicherungsbereiche derart beschränkt,
um einen Bezug zu dem Kehrwert der Anzahl der Aufteilungsblöcke
zu haben.
-
Obwohl
es erforderlich ist, wenn der Haupt-Datenspeicherungsbereich aufgefüllt
ist und ein Übergang zu dem nächsten Aufteilungsblock durchgeführt
wird, die letzten Daten in einen anderen Datenspeicherungsbereich
zu bewegen, kann Ausführungsform 2 demgemäß die
Häufigkeit einer Kollektivlöschung in einem einzelnen
Aufteilungsblock reduzieren, als Bereitstellung eines dedizierten
Aufteilungsblocks für einen anderen Datenspeicherungsbereich.
-
[Gemäß Anspruch 3]
-
Der
Datenspeicherungsbereich, der in jedem der Aufteilungsblöcke 113e und 113f des
nicht-flüchtigen Datenspeichers 113B bereitgestellt
ist, ist in erste, zweite und dritte Konstantenbereiche S10, S20 und
S300 oder wenigstens den ersten und den zweiten Konstantenbereich
aufgeteilt.
-
Der
erste Konstantenbereich S10 ist ein Speicherungsbereich für
eine erste Konstante 108a, die dorthin von einem als Verladungsjustierungsausrüstung
vorbereiteten ersten Hilfsmittel bzw. Tool 105B transferiert
und darin geschrieben ist, wenn der Hersteller des Steuergerätes 100B eine
Verladungsjustierung des Steuergerätes ausführt.
-
Die
erste Konstante 108a enthält wenigstens ein Element
aus der Gruppe von einer Steuerkonstante, die der Modellklassifizierung
des Steuergerätes 100B selbst entspricht, einer
Korrekturkonstante zum Korrigieren von Variationen in Eigenschaften
einer Komponente in dem Steuergerät 100B, und
der Produktionsnummer des Steuergerätes.
-
Der
zweite Konstantenbereich S20 ist ein Speicherungsbereich für
eine zweite Konstante 108b, die dorthin von einem als Inspektions-/Justierungsausrüstung
vorbereiteten zweiten Hilfsmittel bzw. Tool 106B transferiert
und darin geschrieben wird, wenn der Hersteller oder die Ausrüstungsverwaltungsabteilung
eines integrierten Produktes oder einer integrierten Ausrüstung,
worin das Steuergerät 100B integriert ist, eine
Testbetriebsjustierung des integrierten Produktes oder der integrierten
Ausrüstung ausführt.
-
Die
zweite Konstante 108b enthält wenigstens ein Element
aus der Gruppe von einer Steuerkonstante, die dem Modellnamen/Modell
eines integrierten Produktes/Ausrüstung entspricht, worin
das Steuergerät 100B integriert ist, einer Auswahlnummerninformation,
die Teil des Eingabe/Ausgabe-Steuerprogramms 107B ist,
und einer Korrekturkonstante zum Korrigieren von Variationen in
Eigenschaften einer mit dem Steuergerät 100B verbundenen
Eingabe/Ausgabe-Komponente.
-
Der
dritte Konstantenbereich S300 ist ein Speicherungsbereich für
eine dritte Konstante 108c, die in dem RAM-Speicher 112A während
des tatsächlichen Betriebs des Steuergerätes 100B gespeichert
worden ist und dorthin transferiert und darin gespeichert wird,
wenigstens unmittelbar nachdem das Steuergerät 100B gestoppt
wird oder zu einem passenden Zeitpunkt während des Betriebs
des Steuergerätes 100B.
-
Die
dritte Konstante 108c enthält wenigstens ein Element
aus der Gruppe von einer Eigenschaftsänderungsinformation über
eine eingebaute Komponente oder eine Komponente einer externen Verbindung
des Steuergerätes 100B, einer Lerninformation zum
Erhalten verbesserter Fahrcharakteristika, und einer Abnormalitätsauftritts-Verlaufsinformation.
-
Wie
oben beschrieben, ist gemäß Anspruch 3 der vorliegenden
Erfindung der in jedem der Aufteilungsblöcke des nicht-flüchtigen
Datenspeichers bereitgestellte Datenspeicherungsbereich in erste, zweite
und dritte Konstantenbereiche oder wenigstens den ersten und den
zweiten Konstantenbereich aufgeteilt, und die Anzahl von Abschnitten
in jedem Konstantenbereich und die Anzahl von Bytes, d. h. die Datenkapazität
des Abschnitts, werden vorbereitend bestimmt.
-
Demgemäß können
nicht nur Daten leicht in jeweilige Leerabschnitte der Konstantenbereiche
zu unterschiedlichen Zeiten und Orten geschrieben werden, sondern
es können auch Schreibfrequenzen in den Konstantenbereichen
leicht geschätzt werden, so dass die Anzahl von Abschnitten
in jedem Konstantenbereich und die Anzahl von Bytes leicht bestimmt
werden können.
-
[Gemäß Anspruch 9]
-
Der
Mikroprozessor 110B erzeugt ein Kollektivlöschungsbefehl-Signal
für den nicht-flüchtigen Datenspeicher 113B und
ein Leerprüfbefehl-Signal; der nicht-flüchtige
Datenspeicher 113B empfängt den Leerprüfbefehl
und überträgt dann wenigstens eine Bestimmungsinformation
darüber, ob oder nicht jeder Abschnitt gelöscht
worden ist.
-
Der
Mikroprozessor 110B bestimmt einen Abschnitt, der durch
eine Kollektivlöschung gelöscht worden ist, als
einen Leerabschnitt.
-
In
dem Fall, dass ein Abschnitt existiert, der nicht durch die Kollektivlöschung
gelöscht werden kann, oder in dem Fall, dass aufgrund einer
Stromunterbrechung während einer Schreiboperation für
den nicht-flüchtigen Datenspeicher 113B die Tatsache
erfasst wird, dass ein Daten-beschriebenes Teilstück und
ein Daten-unbeschriebenes Teilstück gleichzeitig in einem
Abschnitt enthalten sind, bestimmt der Mikroprozessor 110B den
vorigen Abschnitt als einen unwirksamen Abschnitt und bestimmt den
Abschnitt, der Daten enthält und nicht ein unwirksamer
Abschnitt ist, als einen wirksamen Abschnitt.
-
Beim
Durchführen des Lesens in dem nicht-flüchtigen
Datenspeicher 113B durchsucht der Mikroprozessor 110B den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereiches
nach einem wirksamen Abschnitt und liest Daten, die in einem wirksamen
Abschnitt gespeichert sind, der zuerst erfasst wird.
-
Beim
Durchführen eines Schreibens in dem nicht-flüchtigen
Datenspeicher 113B durchsucht der Mikroprozessor 110B den
letzten Abschnitt durch den Kopfabschnitt jedes Datenspeicherungsbereichs (in
einer Anfangsrichtung) nach einem wirksamen Abschnitt, führt
eine Suche in der entgegengesetzten Richtung von einem wirksamen
Abschnitt durch, der zuerst erfasst wird, und schreibt dann Daten
in einen Leerabschnitt, der zuerst erfasst wird.
-
Wie
oben beschrieben, durchsucht gemäß Anspruch 9
der vorliegenden Erfindung der Mikroprozessor, durch Bestimmen von
Abschnitten als Leerabschnitte, unwirksame Abschnitte oder wirksame Abschnitte,
sequentiell jeden Datenspeicherungsbereich von dem letzten Abschnitt,
um einen Leseabschnitt und einen Schreibabschnitt zu bestimmen.
-
Selbst
wenn ein unwirksamer Abschnitt existiert, wird Demgemäß der
Aufteilungsblock nicht unmittelbar aktualisiert oder kollektiv gelöscht,
und Daten werden in dem nächsten Abschnitt derart geschrieben,
so dass kein Leerabschnitt übrig bleibt; deshalb kann die
Häufigkeit einer Kollektivlöschung in dem nicht-flüchtigen
Datenspeicher verringert werden.
-
Bezüglich
des Lesens des nicht-flüchtigen Datenspeichers kann ein
Lesen in einem wirksamen Abschnitt durchgeführt werden,
wobei ein unwirksamer Abschnitt vernachlässigt wird.
-
Vielfältige
Modifizierungen und Abänderungen dieser Erfindung werden
dem Fachmann ersichtlich sein, ohne von dem Schutzbereich dieser
Erfindung abzuweichen, und es sollte verstanden werden, dass diese
nicht auf die hierin bekannt gemachten veranschaulichenden Ausführungsformen
beschränkt ist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - JP 2006-072461 [0004, 0010, 0015]
- - JP 2002-007221 [0011, 0012, 0014, 0016]