-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Überprüfungsverfahren für einen
Zwischenspeicher-Schaltkreis in einer elektronischen Steuereinheit
nach Anspruch 1.
-
STAND DER TECHNIK
-
Aus
DE 44 40 127 A1 ist
ein Überprüfungsverfahren
für einen
Zwischenspeicher-Schaltkreis
in einer elektronischen Steuereinheit bekannt, mit dem eine Funktions-
bzw. Operationsüberprüfung einer Zwischenspeicherschaltung
durchgeführt
wird, bevor die Steuerverarbeitung in der elektronischen Steuereinheit
durchgeführt
wird, wobei eine zentrale Steuereinheit einmal verschiedene Daten
speichert und wobei ein Software-Programm
in der Zwischenspeicherschaltung eine vorgegebene Steuerverarbeitung durchführt. Die
bekannte elektronische Steuereinheit weist einen Mikrorechner und
einen elektronisch löschbaren
und programmierbaren Speicher, der ein Steuerprogramm enthält, einen
ROM und eine serielle Schnittstelle auf. Der ROM enthält ein Programm zur
Umprogrammierung des elektronisch löschbaren und programmierbaren
Speichers. Zur Ausführung der
Umprogrammierungsoperation des elektronisch löschbaren und programmierbaren
Speichers empfängt
die elektronische Steuereinheit die Daten, die einprogrammiert werden
sollen, über
die serielle Schnittstelle von einer externen Kommunikationsanlage.
Außerdem
weist diese bekannte elektronische Steuereinheit auch Mittel für die Ausführung des
Programms zur Umprogrammierung des elektronisch löschbaren
und programmierbaren Speichers ohne Starten des Steuerprogramms
auf.
-
5 ist
ein Blockschema, das einen Überblick über den
inneren Aufbau eines üblichen
Mikrorechners zeigt. In einem Mikrorechner MC, der mit einer elektronischen
Steuereinheit für
ein Kraftfahrzeug verwendet wird, wie in 5 dargestellt,
liest eine CPU (eine zentrale Steuereinheit) 3 Software-Programme
und verschiedene Daten, die zuvor im ROM (im Festwertspeicher) 1 durch
ein Register 2 gespeichert wurden, und führt verschiedene
logische Operationen auf der Basis der Software-Programme und Daten
aus. Dabei werden die Information im ROM 1, verschiedene
Informationen, die von außen erhalten
werden, oder das Operationsverarbeitungsergebnis usw. der CPU 3 einmal
in einer Zwischenspeicherschaltung (einem RAM (Speicher mit wahlfreiem
Zugriff)) 4 gespeichert, und die CPU 3 verwendet
die Informationen im RAM 4, um eine Operationsverarbeitung
durchzuführen,
wodurch die Verarbeitungsgeschwindigkeit insgesamt erhöht wird.
Daher ist der RAM 3 für
die CPU 3 unverzichtbar, damit diese eine Operationsverarbeitungseinheit
durchführen kann,
und es ist äußerst wichtig,
dass der RAM 4 normal funktioniert.
-
Nun
wird der RAM 4 im Allgemeinen während der Produktauslieferung
häufig
auf Fehler überprüft. Nach
der Produktauslieferung kann ein Teil des RAM 4 aus irgendeinem
Grund wegen Rauschens usw. nicht mehr in der Lage sein, ordnungsgemäß zu arbeiten,
in welchem Fall Grund zur Sorge besteht, dass eine Unregelmäßigkeit
in der Programmverarbeitung auftreten kann. Besonders in elektronischen Vorrichtungen
für ein
Kraftfahrzeug muss eine Fehlfunktion, die von einer Unregelmäßigkeit
im RAM 4 verursacht wird, unbedingt vermieden werden, somit ist
es von größter Wichtigkeit,
dass überprüft wird,
ob der RAM 4 in Ordnung ist.
-
Somit
ist es unabdingbar, beim Starten des Mikrorechners MC zu überprüfen, ob
der RAM 4 normal arbeitet oder nicht, und gleichzeitig
eine Funktions- bzw. Operationsüberprüfung des
Registers 2 durchzuführen.
-
Um
den RAM 4 zu überprüfen, wird
in einer verwandten Technik eine vorgegebene Dateneinheit einmal
in alle Adressen im RAM 4 geschrieben, dann wird die Dateneinheit
an der ersten Adresse ausgelesen und es wird überprüft, ob die Daten einheit den ursprünglichen
Dateneinheit gleich ist oder nicht. Anschließend wird die Adresse in der
Reihenfolge inkrementiert, und eine ähnliche Überprüfung wird in allen Bereichen
des RAM 4 durchgeführt,
wodurch eine Überprüfung durchgeführt werden
kann, um sicherzustellen, dass der gesamte RAM 4 normal
arbeitet.
-
Genauer
wird bei der Überprüfung des
RAM 4, wie in 6 dargestellt, in Schritt So1
zuerst die oberste Adresse des RAM 4 in einen vorgegebenen 16-Bit-Registerteil
im Register 2 eingesetzt, der nachstehend als HL-Register
bezeichnet wird. In Schritt So2 wird ein numerischer Wert „00000000" (der numerische
8-Bit-Wert „00000000" wird im Folgenden
mit „00H
(hexa) abgekürzt)
in einem vorgegebenen 8-Bit (Ein-Byte)-Registerteil, der nachstehend als A-Register
bezeichnet wird und sich vom HL-Register unterscheidet, gespeichert,
um das A-Register zurückzusetzen.
Anschließend
wird in Schritt So3 eine vorgegebene spezifische Dateneinheit (eine
Dateneinheit) im A-Register gespeichert. In Schritt So4 wird die
Dateneinheit im A-Register in die „HL"-Adresse
des HL-Registers geschrieben, und in Schritt So5 wird der numerische
Wert „00H" im A-Register gespeichert,
um dieses zurückzusetzen,
dann wird in Schritt SO6 die D Dateneinheit aten, die an der „HL"-Adresse des HL-Registers
gespeichert wurde, in das A-Register eingelesen.
-
In
Schritt So7 wird bestimmt, ob der aktuelle Wert des A-Registers
der Gleiche ist wie der Wert der ersten „Dateneinheit" oder nicht. Wenn
der aktuelle Wert des A-Registers
der Gleiche ist wie der Wert der ersten „Dateneinheit", geht die Steuerung
zu Schritt Soß weiter,
und es wird bestimmt, ob die Adresse „HL" die Endadresse des RAM 4 ist
oder nicht. Wenn die Adresse „HL" nicht die Endadresse
ist, geht die Steuerung zu Schritt So9 weiter, und die „HL"-Adresse des HL-Registers
wird inkrementiert, und die Steuerung kehrt zu Schritt So2 zurück und die
Verarbeitung wird wiederholt.
-
Wenn
der Wert des A-Registers dem Wert der ersten „Dateneinheit" in Schritt So7 nicht
gleich ist, wird angenommen, dass ein Fehler im RAM 4 vorliegt,
und die Steuerung geht zu Schritt So10 weiter, und eine vorgegebene
Fehlerhandhabung wird durchgeführt.
-
Somit
wird die Verarbeitung bei Schritt So2 und den späteren Schritten wiederholt,
bis die Adresse „HL" die Endadresse des
RAM 4 erreicht, und wenn die Adresse „HL" die Endadresse erreicht, wird zur nächsten Verarbeitung
als Mikrorechner MC übergegangen
(Schritt So11).
-
In 5 bezeichnet
die Bezugszahl 5 einen Eingabe-IF-Schaltkreis (Eingabeschnittstellen-Schaltkreis)
für die
Eingabe eines externen Signals in die CPU 3, und die Bezugszahl 6 bezeichnet einen
Ausgabe-I/F-Schaltkreis (Ausgabeschnittstellen-Schaltkreis) für die Versendung
des Operationsverarbeitungsergebnisses der CPU 3 nach außen. Das
oben beschriebene „HL" bedeutet, dass zwei Acht-Bit-Einheitenregister
mit acht Bits hoher Ordnung (H) und die acht Bits niederer Ordnung
(L) verwendet werden, um eine 16-Bit(Zwei-Byte)-Datenfolge abzuarbeiten.
-
In
den letzten Jahren sind die Programmdaten jedoch riesig angewachsen,
und somit wurde auch der Bereich des RAM 4 im Mikrorechner
MC riesig und die Überprüfung des
RAM 4 braucht häufig eine
lange Verarbeitungszeit. Insbesondere wenn für jede Adresse „HL" des HL-Registers
in Schritt So7 in 6 bestimmt wird, ob der Wert
des A-Registers der Gleiche ist wie der Wert der ersten „Dateneinheit", ist es unausweichlich,
dass die Verarbeitungszeit enorm lang wird. Somit ist die Initialisierungszeit verlängert und
der Übergang
zum Hauptprogramm ist verzögert.
Infolgedessen kommt es zu einer Verzögerung im Steuersystem und
es besteht die Gefahr, dass eine Maschine nicht richtig arbeiten
kann.
-
Beispielsweise
ist es ein Nachteil bei der elektronischen Steuereinheit für die Durchführung einer
Scheinwerferlampen-Antriebsverarbeitung, dass, falls während des
Betriebs eine momentane Stromunterbrechung oder eine Rücksetzung
vorkommt, während
die Scheinwerferlampen angeschaltet sind, das erneute Einschalten
der Scheinwerferlampen oder dergleichen länger dauert, wenn die Anfangsverarbeitung
lang dauert.
-
Die
Erfindung betrifft ein Überprüfungsverfahren
für eine
Speicherschaltung in einer elektronischen Steuereinheit für ein Kraftfahrzeug
unter Verwendung eines Mikrorechners zur Überprüfung der Lesefunktion und der
Schreibfunktion der Speicherschaltung in der elektronischen Steuereinheit
für ein Kraftfahrzeug.
-
11 ist
ein Blockschema, das einen Überblick über den
inneren Aufbau eines üblichen
Mikrorechners zeigt. In einem Mikrorechner MC, der mit einer elektronischen
Steuereinheit für
ein Kraftfahrzeug verwendet wird, wie in 11 dargestellt,
liest eine CPU (eine zentrale Steuereinheit) 203 Software-Programme
und verschiedene Daten, die zuvor in einem Speicherschaltkreis (einem
ROM (Festwertspeicher)) 201 durch ein Register 202 gespeichert wurden,
und führt
verschiedene logische Operationen auf der Basis der Software-Programme
und Daten aus. Dabei werden z.B. die Information im ROM 201 oder
das Operationsverarbeitungsergebnis der CPU 203 einmal
im RAM (Speicher mit wahlfreiem Zugriff) 204 gespeichert,
und die CPU 203 verwendet die Informationen im RAM 204,
um eine Operationsverarbeitung durchzuführen.
-
In 11 bezeichnet
die Bezugszahl 205 einen Eingabe-IF-Schaltkreis (Eingabeschnittstellen-Schaltkreis)
für die
Eingabe eines externen Signals in die CPU 203, und eine
Bezugszahl 206 bezeichnet einen Ausgabe-IF-Schaltkreis
(Ausgabeschnittstellen-Schaltkreis)
für die
Versendung des Operationsverarbeitungsergebnisses der CPU 303 nach
außen.
-
Bei
der elektronischen Steuereinheit für ein Kraftfahrzeug übernimmt
die CPU 203 die Kontrolle der Antriebssteuerung verschiedener
Antriebssysteme und arbeitet somit unter der Hauptvoraussetzung, dass
die CPU 203 keine Fehlfunktion aufweist, um eine ausreichende
Sicherheit beim Fahren des Fahrzeugs zu gewährleisten. Daher ist es unbedingt
notwendig, dass die Software-Programme usw., die zuvor im ROM 201 gespeichert
wurden, fehlerlos in die CPU 203 eingelesen werden. Wenn
der Mikro rechner MC gestartet wird, ist es daher wichtig, zu überprüfen, ob
die Software-Programme,
die Daten usw. fehlerlos aus dem ROM 201 ausgelesen werden,
sowie zu überprüfen, ob
das Register 202 und der RAM 204 richtig arbeiten.
-
Um
den ROM 201 zu überprüfen, wird
eine Additionsoperation mit den Programmdaten, die den einzelnen
Adressen in Reihenfolge entsprechen, durchgeführt, und wird bis zum Ende
des Programms wiederholt, dann wird die letzte 16-Bit(Zwei-Byte)-Dateneinheit niederer
Ordnung mit einer Bezugsdateneinheit verglichen, die zuvor in einem
vorgegebenen Bereich des ROM 201 gespeichert wurde, wodurch
der ROM 201 leicht überprüft werden
kann.
-
12 ist
ein Ablaufschema, das die Operation nach dem Start des Mikrorechners
MC zeigt. Zuerst wird, nachdem der Strom des Mikrorechners MC angeschaltet
oder eine Rücksetzung
freigegeben wurde, eine Initialisierung in Schritt Sp201 durchgeführt. Genauer
werden in Schritt Sp201 die Operationsfrequenzvergrößerung der
CPU 203 (11) auf einen Operationstakt,
der von einem vorgegebenen Oszillator geliefert wird, Ports in der
Eingabe-IF 205 und der Ausgabeschnittstelle 206,
die Zulassung oder Nichtzulassung eines Interrupt-Service usw. eingestellt.
-
Dann
wird in Schritt Sp202 der RAM 204 im Mikrorechner MC überprüft, und
ferner wird in Schritt Sp203 der ROM 201 im Mikrorechner
MC überprüft. Dann
werden in den Schritten Sp204 bis Sp207 Verarbeitungen, die verschiedene
Antriebssysteme betreffen, einschließlich einer Kabinenlampenverarbeitung,
einer Türschlossverarbeitung,
einer Scheinwerferlampenverarbeitung und einer Hupenverarbeitung,
zu vorgegebenen Zeiten wiederholt. Die Verarbeitung bei den Schritten
Sp201 bis Sp203 wird allgemein als Anfangsverarbeitung In bezeichnet,
und die Verarbeitung bei den Schritten Sp204 bis Sp207 wird allgemein
als Hauptverarbeitung Mn bezeichnet.
-
Die Überprüfung des
ROM 201 in Schritt Sp203 in 12 wird
ausführlich
mit Bezug auf ein Ablaufschema von 13 erörtert. Wenn
der ROM 201 überprüft wird,
wird zuerst das Register 202 in Schritt So201 in 13 überprüft, dann
wird in Schritt So202 einem 16-Bit-Registerteil, der im Folgenden
als BC-Register bezeichnet wird und in dem ein vorgegebener Acht-Bit-Registerteil
(B-Register) und ein vorgegebener Acht-Bit-Registerteil (C-Register),
der dem B-Register folgt, kombiniert wurden, für die Initialisierung ein numerischer
Wert null zugeordnet. In Schritt So203 wird die oberste Adresse
des ROM 201 in einen vorgegebenen 16-Bit-Registerteil, der
nachstehend als HL-Register bezeichnet wird, als Wert (Adresse) „HL" eingesetzt.
-
Anschließend wird
in Schritt So204 die Dateneinheit an der Adresse „HL" des ROM 201 ausgelesen
und in einen vorgegebenen Acht-Bit-Registerteil (ein A-Register)
geschrieben. In Schritt So205 wird der Wert im A-Register zum Wert
im BC-Register addiert, und das Ergebnis ist eine neue Dateneinheit
im BC-Register.
-
Dann
wird in Schritt So206 der Wert für
die Adresse „HL" inkrementiert, und
in Schritt So207 wird die inkrementierte Adresse „HL" mit dem Wert einer Subtraktion
eines numerischen Werts „zwei
Bytes" von der Endadresse
des ROM 201 verglichen. Wenn die inkrementierte Adresse „HL" bei oder unter dem Wert
der Subtraktion des numerischen Werts „zwei Bytes" von der Endadresse
des ROM 201 liegt, werden die Schritte So204 bis So207
wiederholt. Wenn andererseits die inkrementierte Adresse „HL" größer ist
als der Wert der Subtraktion des numerischen Werts „zwei Bytes" von der Endadresse
des ROM 201, geht die Steuerung zu Schritt So208 weiter.
-
In
Schritt So208 wird der Wert der Subtraktion des numerischen Werts „ein Byte" von der Endadresse
des ROM 201 in einem vorgegebenen 16-Bit-Registerteil gespeichert,
der nachstehend als DE-Register bezeichnet wird. Ein vorgegebener Acht-Bit-Registerteil (D-Register)
und ein vorgegebener Acht-Bit-Registerteil (E-Register), der dem
D-Register folgt, werden in Kombination als das DE-Register verwendet.
Die Adresse der Subtraktion des numerischen Werts „ein Byte" von der Endadresse
des ROM 201 bedeutet die Kopfposition der letzten Acht-Bit
(Ein-Byte)-Dateneinheit im ROM 201, und hier wurde die
oben genannte Bezugsdateneinheit zuvor gespeichert.
-
Der
numerische Wert „DE" im DE-Register wird
als Adresse gelesen, und Schritt So209 wird die Dateneinheit, die
an der Adresse „DE" im ROM 201 gespeichert
wurde (Bezugsdaten), gelesen und im HL-Register gespeichert.
-
In
Schritt So210 wird der Wert im HL-Register (die Bezugsdateneinheit)
mit dem Wert im BC-Register (16-Bit-Dateneinheit niederer Ordnung,
die durch Addieren der Programmdaten an den Adressen bereitgestellt
wird) verglichen, und wenn sie sich unterscheiden, geht die Steuerung
zu Schritt So211 weiter und es wird eine vorgegebene Fehlerhandhabung
durchgeführt.
Wenn dagegen der Wert im HL-Register und der Wert im BC-Register übereinstimmen,
kann bestimmt werden, dass alle Werte im ROM 201, die in
Schritt So205 wiederholt addiert wurden, ordnungsgemäß gelesen
wurden. In diesem Fall geht die Steuerung zu Schritt So212 weiter,
und die Hauptverarbeitung Mn wird durchgeführt.
-
Seit
einigen Jahren sind die Programmdaten jedoch sehr umfangreich geworden,
und somit ist auch der Speicherbereich im ROM 201 gewachsen. Bei
Anwendung des Verfahrens des Addieren von Daten in der Adressreihenfolge
des ROM 201, wie vorstehend mit Bezug auf 11 beschrieben,
wird daher die Häufigkeit,
mit der Operationsverarbeitung durchgeführt werden, enorm. Somit ist
die Initialisierungszeit verlängert,
und der Übergang
zur Hauptverarbeitung Mn in Schritt So212 ist verzögert. Infolgedessen
kommt es zu einer Verzögerung
im Steuersystem, und es besteht die Gefahr, dass eine Maschine in
ihrer Arbeit behindert wird.
-
Beispielsweise
ist es ein Nachteil bei der elektronischen Steuereinheit für die Durchführung einer
Scheinwerferlampen-Ansteuerungsverarbeitung, dass, wenn beispielsweise
während
des Betriebs eine momentane Stromunterbrechung oder eine Rücksetzung
vorkommt, während
die Scheinwerferlampen eingeschaltet sind, die Zeit, um die Scheinwerferlampen
wieder einzuschalten oder dergleichen, verlängert ist, wenn die Anfangsverarbeitung
lange dauert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Daher
ist es die Aufgabe der vorliegenden Erfindung, ein Verfahren zur Überprüfung eines
Zwischenspeicher-Schaltkreises in einer elektronischen Speichereinheit
zu schaffen, das in der Lage ist, eine Verzögerung in einem Steuersystem
durch Verkürzen
der Zeit für
die Überprüfungsverarbeitung
des gesamten ROM und durch Verkürzen
der Zeit, die für die
Initialisierungsverarbeitung erforderlich ist, zu verringern.
-
Gemäß der vorliegenden
Erfindung wird die genannte Aufgabe durch die Merkmale von Anspruch 1
gelöst.
-
Verbesserte
Ausführungsformen
des erfindungsgemäßen Verfahrens
ergeben sich aus Anspruch 2.
-
Gemäß der vorliegenden
Erfindung wird in einer elektronischen Steuereinheit, in der eine
zentrale Steuereinheit einmal verschiedene Daten und ein Software-Programm
in einem Zwischenspeicher-Schaltkreis speichert und eine vorgegebene Steuerverarbeitung
ausführt,
ein Überprüfungsverfahren
für den
Zwischenspeicher-Schaltkreis in der elektronischen Steuereinheit
bereitgestellt, wobei die elektronische Steuereinheit vor der Steuerverarbeitung
eine Operationsüberprüfung des
Zwischenspeicher-Schaltkreises durchführt, wobei das Überprüfungsverfahren
als ersten Schritt eine vorgegebene Dateneinheit in die oberste
Adresse des Zwischenspeicher-Schaltkreises, als zweiten Schritt
das Lesen der Dateneinheit an der obersten Adresse und das Schreiben
der Dateneinheit in die nächste
Adresse und der Reihe nach in die folgenden Adressen, und als dritten
Schritt den Vergleich der Dateneinheit an der Endadresse mit der
Dateneinheit der obersten Adresse nur einmal, nachdem die Dateneinheit
im zweiten Schritt in die Endadresse geschrieben wurden, beinhaltet,
und wenn die Dateneinheit an der Endadresse und die Dateneinheit
an der obersten Adresse gleich sind, bestimmt, dass die Leseoperation
und die Schreiboperation der Daten an allen Adressen des Zwischenspeicher-Schaltkreises
ordnungsgemäß sind,
und andererseits, wenn die Dateneinheit an der Endadresse und die
Dateneinheit an der obersten Adresse nicht gleich sind, be stimmt, dass
die Leseoperation und die Schreiboperation des Zwischenspeicher-Schaltkreises
nicht ordnungsgemäß sind.
-
In
der vorliegenden Erfindung ist die elektronische Steuereinheit eine
elektronische Steuereinheit für
ein Kraftfahrzeug, die in einem Automobil eingebaut ist, und die
Steuerverarbeitung, die von der zentralen Steuereinheit durchgeführt wird,
ist eine Ansteuerung verschiedner Systeme des Kraftfahrzeugs.
-
KURZE BESCHREIBUNG DER ZEICHNUNG
-
In
der begleitenden Zeichnung sind:
-
1 ein
Blockschema, das eine elektronische Steuereinheit für ein Kraftfahrzeug
zeigt;
-
2 ein
Ablaufschema, das einen allgemeinen Operationsablauf der elektronischen
Steuereinheit für
ein Kraftfahrzeug zeigt;
-
3 ein
Ablaufschema, das eine Überprüfungsroutine
eines RAM in der elektronischen Steuereinheit für ein Kraftfahrzeug nach einer
Ausführungsform
der Erfindung und dessen periphere Einrichtungen zeigt;
-
4 ein
Ablaufschema, das eine Überprüfungsroutine
eines ROM in der elektronischen Steuereinheit für ein Kraftfahrzeug zeigt;
-
5 ein
Blockschema, das den inneren Aufbau einer üblichen elektronischen Steuereinheit für ein Kraftfahrzeug
zeigt;
-
6 ein
Ablaufschema, das eine Überprüfungsroutine
eines RAM in einer elektronischen Steuereinheit für ein Kraftfahrzeug
im Stand der Technik zeigt;
-
7 ein
Blockschema, das eine elektronische Steuereinheit für ein Kraftfahrzeug
zeigt;
-
8 ein
Ablaufschema, das einen allgemeinen Operationsablauf für die elektronische
Steuereinheit für
ein Kraftfahrzeug zeigt;
-
9 ein
Ablaufschema, das eine Überprüfungsroutine
für einen
RAM in der elektronischen Steuereinheit für ein Kraftfahrzeug zeigt;
-
10 ein
Ablaufschema, das eine Überprüfungsroutine
für einen
ROM in der elektronischen Steuereinheit für ein Kraftfahrzeug gemäß einer
Ausführungsform
der Erfindung und dessen periphere Einrichtungen zeigt;
-
11 ein
Blockschema, das den inneren Aufbau einer allgemeinen elektronischen
Steuereinheit für
ein Kraftfahrzeug zeigt;
-
12 ein
Ablaufschema, das einen allgemeinen Operationsablauf einer elektronischen
Steuereinheit für
ein Kraftfahrzeug im Stand der Technik zeigt; und
-
13 ein
Ablaufschema, das eine Überprüfungsroutine
für einen
RAM in der elektronischen Steuereinheit für ein Kraftfahrzeug im Stand
der Technik zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
<Aufbau>
-
In
einer elektronischen Steuereinheit für ein Kraftfahrzeug gemäß einer
Ausführungsform
der Erfindung wird die RAM-Dateneinheit, die von der obersten Adresse
angezeigt wird, gelesen, der gelesene Inhalt wird in die nächste Adresse
geschrieben, und die Operation wird bis zur Endadresse wiederholt,
dann wird der RAM-Wert an der Endadresse mit dem RAM-Wert an der
obersten Adresse nur einmal verglichen, und wenn die RAM-Werte gleich
sind, wird bestimmt, dass der ganze RAM in Ordnung ist, wodurch
die RAM-Überprüfungsroutine
vereinfacht und damit die Überprüfungsverarbeitungszeit
verkürzt
ist.
-
1 ist
ein Blockschema, das eine elektronische Steuereinheit für ein Kraftfahrzeug 10 gemäß einer
Ausführungsform
der Erfindung und dessen periphere Einrichtungen zeigt. Wie in 1 werden
in der elektronischen Steuereinheit für ein Kraftfahrzeug 10 Eingangssignale
von verschiedenen Eingabesystemen 11 bis 15 von
einem Zündschlüssel 11, einem
Schlüsselanwesenheits-/-abwesenheitsschalter 12,
einem Türöffnungs-/-schließungsschalter 13, einem
Türverriegelungs-/-entriegelungsschalter 14 und
einem Scheinwerferlampenschalter 15 eingegeben, und verschiedene
Antriebssysteme 16 bis 19 von einer Kabinenlampe 16,
Türverriegelungsmotoren 17a bis 17d,
einer Hupe BZ und einem Scheinwerferlampen-Relais 19 für die Schaltungsansteuerung
von Scheinwerferlampen 18a und 18b werden auf
der Basis der eingegebenen Signale gesteuert. Verschiedene Arten
von Operationssteuerungen werden durchgeführt, beispielsweise auf solche
Weise, dass die Hupe BZ zum Tönen
gebracht wird, wenn der Türöffnungs-/-schließungsschalter 13 einen
geöffneten
Zustand einer Tür
erfasst, obwohl vom Schlüsselanwesenheits-/-abwesenheitsschalter 12 das
Einstecken eines Schlüssels
erfasst wird, dass die Türverriegelungsmotoren 17a bis 17d angesteuert
werden, um eine Tür
zu verriegeln oder zu entriegeln, wenn der Türverriegelungs-/-entriegelungsschalter 14 ein-
oder ausgeschaltet wird, und dass das Scheinwerferlampen-Relais 19 für eine Schaltungsansteuerung
der Scheinwerferlampen 18a und 18b betätigt wird,
wenn der Scheinwerferlampen-Schalter 15 ein- oder ausgeschaltet
wird.
-
Die
Eingangssignale von den verschiedenen Eingabesystemen 11 bis 15 werden
durch einen Eingabeschaltkreis 21 in der elektronischen
Steuerschaltung für
ein Kraftfahrzeug 10 in einen Mikrorechner 22 eingegeben,
der dann verschiedene Arten von Zweigbestimmungsverarbeitungen und
Operationsverarbeitungen mit den Eingangssignalen durchführt und
Ansteuerungssignale durch einen Ausgabeschaltkreis 23 an
die verschiedenen Antriebssysteme 16 bis 19 ausgibt.
Ein Spannungsüberwachungs-Schaltkreis
(Wächterschaltkreis) 24 überwacht
ständig,
ob der Mikrorechner 22 im ordnungsgemäßen Zustand ist oder nicht.
In 1 bezeichnet die Bezugszahl 25 einen
Oszillator für
die Bestimmung eines Operationstakts des Mikrorechners 22.
-
Der
innere Aufbau des Mikrorechners 22 (MC) ist der Gleiche
wie der des üblichen
Mikrorechners, der in 5 dargestellt ist, und wird
daher nicht erneut erörtert.
-
<Operation>
-
2 ist
ein Operationsablaufschema der elektronischen Steuereinheit für ein Kraftfahrzeug 10.
Nachdem der Strom der elektronischen Steuereinheit für ein Kraftfahrzeug 10 eingeschaltet
wurde oder eine Zurücksetzung
freigegeben wurde, wird in Schritt S1 eine Initialisierung durchgeführt. Genauer werden
in Schritt die Operationsfrequenzvergrößerung der CPU 3 (5)
auf den Operationstakt, der vom Oszillator 25 bereitgestellt
wird, Ports im Eingabeschaltkreis 21 und im Ausgabeschaltkreis 23,
Zulassung oder Nichtzulassung eines Interrupt-Service und dergleichen
eingestellt. Die Überprüfung eines Registers 2 wird
ebenfalls bei der Initialisierung durchgeführt.
-
Dann
wird in Schritt S2 der RAM 4 im Mikrorechner 22 überprüft, und
in Schritt S3 wird ferner der ROM 1 im Mikrorechner 22 überprüft. Dann
wird in den Schritten S4 bis S7 eine Verarbeitung, die die verschiedenen
Ansteuerungssysteme 16 bis 19 betrifft, einschließlich einer
Kabinenlampenverarbeitung, einer Türverriegelungsverarbeitung,
einer Scheinwerferlampenverarbeitung und einer Hupenverarbeitung,
wiederholt zu vorgegebenen Zeiten durchgeführt. Die Verarbeitung in den
Schritten S1 bis S3 wird allgemein als Anfangsverarbeitung In bezeichnet.
-
Schritt
S2 in 2 wird ausführlich
mit Bezug auf ein Ablaufschema von 3 erörtert.
-
Genauer
wird, wenn der RAM 4 überprüft wird
wie in 3, in Schritt Sm1 zuerst die oberste Adresse des
RAM 4 in ein vorgegebenes 16-Bit-HL-Register im Register 2 eingesetzt.
In Schritt Sm2 wird für
eine Zurücksetzung
ein numerischer Wert „00H" in einem Acht-Bit-Register
(als A-Register bezeichnet) gespeichert, das sich vom HL-Register
unterscheidet. Anschließend
werden in Schritt Sm3 eine vorgegebene spezifische Dateneinheit
(eine Dateneinheit) im A-Register gespeichert. In Schritt Sm4 wird
die Dateneinheit im A-Register in die „HL"-Adresse des HL-Registers geschrieben,
und in Schritt Sm5 wird ein numerischer Wert „00H" für
eine Zurücksetzung
im A-Register gespeichert, dann wird in Schritt Sm6 die Dateneinheit,
die an der „HL"-Adresse des HL-Registers gespeichert
ist, in das A-Register eingelesen. In Schritt Sm7 wird die „HL"-Adresse des HL-Registers
inkrementiert, dann wird in Schritt Sm8 die Dateneinheit im A-Register
in die nachträglich
inkrementierte „HL"-Adresse geschrieben.
-
Die
Operation in den Schritten Sm5 bis Sm8 wird wiederholt, bis die
Adresse „HL" die Endadresse des
RAM 4 erreicht (Schritt Sm9). In Schritt Sm10 wird der
Wert, der an der Adresse gespeichert ist, die der Endadresse des
RAM 4 unmittelbar vorangeht (die Dateneinheit, die in Schritt
Sm6 im A-Register gespeichert wurde), mit dem Wert der ersten „Dateneinheit" verglichen, um zu
bestimmen, ob sie übereinstimmen
oder nicht. Wenn sie übereinstimmen, wird
ferner die Endadresse überprüft, d.h.
ob der Wert, der an der Endadresse des RAM 4 gespeichert ist
(die Dateneinheit, die in Schritt Sm6 im A-Register gespeichert
wurde) mit dem Wert der ersten „Dateneinheit" übereinstimmen oder nicht (in 3 nicht dargestellt),
dann geht die Steuerung zum nächsten Schritt über (Schritt
Sm11). Wenn der Wert, der an der Endadresse des RAM 4 gespeichert
ist (die Dateneinheit, die in Schritt Sm6 im A-Register gespeichert
wurde), nicht mit dem Wert der ersten „Dateneinheit" übereinstimmt, geht in diesem
Fall, obwohl in 3 nicht dargestellt, die Steuerung
zu Schritt Sm12 weiter, und es wird eine Fehlerhandhabung durchgeführt.
-
Wenn
in Schritt Sm10 dagegen bestimmt wird, dass der Wert, der an der
Adresse gespeichert ist, die der Endadresse des RAM 4 unmittelbar
vorangeht (die Dateneinheit, die in Schritt Sm6 im A-Register gespeichert
wurde), sich von dem Wert der ersten „Dateneinheit" unterscheidet, wird
in Schritt Sm12 eine Fehlerhandhabung durchgeführt.
-
Somit
wird in der elektronischen Steuereinheit für ein Kraftfahrzeug 10 die
Dateneinheit im RAM 4, die von der obersten Adresse angezeigt
wird, gelesen, die gelesenen Inhalte werden in die nächste Adresse
geschrieben, und die Operation wird wiederholt bis zur Endadresse,
dann wird der RAM-Wert an der Endadresse mit dem RAM-Wert an der
obersten Adresse nur einmal verglichen, und wenn die Werte gleich
sind, wird bestimmt, dass der ganze RAM in Ordnung ist. Somit muss
die Datenvergleichsverarbeitung aus nur einem Vergleich mit den
Endadressdaten bestehen, im Gegensatz zu dem Beispiel im zuvor mit
Bezug auf 6 beschriebenen Stand der Technik;
die Überprüfungsroutine
für den
RAM 4 kann vereinfacht werden, und es wird möglich, die Überprüfungsverarbeitungszeit
drastisch zu verkürzen.
Daher kann die Zeit, die für
die Anfangsverarbeitung In verbraucht wird (Schritte S1 bis S3 in 2) verkürzt werden,
und die Dauer einer momentanen Unterbrechung usw. der verschiedenen
Ansteuerungssysteme 16 bis 19 der Schweinwerferlampen 18a und 18b usw.,
beispielsweise nachdem eine momentane Stromunterbrechung oder eine
Zurücksetzung
stattgefunden hat, kann verkürzt
werden.
-
Dann
muss die Überprüfung des
ROM 1 in Schritt S3 in 2 nicht
unbedingt in der Anfangsverarbeitung In durchgeführt werden und kann beispielsweise
auch auf verteilte Weise in der Hauptroutine in Schritt S4 und den
späteren
Schritten durchgeführt werden. 4 ist
ein Ablaufschema, das einen Überprüfungsoperationsablauf
für den
Rom 1, der in diesem Fall angewendet wird, zeigt. Angenommen,
es wurden 16-Bit(Zwei-Typ)-Bezugsdaten
zum Bestimmen, ob Prüfsummendaten
gültig
sind oder nicht, zuvor in der Endadresse des ROM 1 gespeichert.
-
Wie
oben beschrieben, wird die Überprüfung des
ROM 1 nicht in der Anfangsverarbeitung In durchgeführt, sondern
wird auf verteilte Weise durchgeführt, während die Hauptverarbeitung
Mn in den Schritten S11 und S14 wegen einer Aussetzung der Zählung (Count
Wait) nach Beginn der Hauptverarbeitung Mn angehalten wird.
-
Das
heißt,
wie in 4 wird das erste Register 2 in Schritt
Sn1 überprüft (Teilverarbeitung
von Schritt S1 in 2), dann wird die in 3 dargestellte Überprüfung des
RAM 4 in Schritt Sn2 (S2 in 2) durchgeführt.
-
In
Schritt Sn3 wird die oberste Adresse des ROM 1 in einen
ersten vorgegebenen Bereich des RAM 4 (einen Adressbereich
MEM1" eingesetzt). Dann
wird in Schritt Sn4 die Dateneinheit an der Adresse „MEM1" (im ersten Bereich)
auch in einem zweiten vorgegebenen Bereich des RAM 4 (einem Adressbereich „MEM2") gespeichert. Somit
wird die oberste Adresse des ROM 1 sowohl im ersten Bereich
des RAM 4 (dem Adressbereich „MEM1") als auch im zweiten Bereich (dem Adressbereich „MEM2") gespeichert.
-
Die
restliche Verarbeitung für
die Initialisierung in Schritt S1 (Zulassung oder Nichtzulassung
eines Interrupt-Service usw.) wird in Schritt Sn5 durchgeführt. Dann
geht die Steuerung zu Schritt Sn6 weiter, und die Durchführung der
Hauptverarbeitung Mn für
die verschiedenen Ansteuerungssysteme 16 bis 19 wird
gestartet.
-
In
Schritt Sn7 wird erfasst, ob der Zeitnehmer im Mikrorechner 22 mit
der Zählung
aussetzt und ob die Operation der CPU 3 angehalten ist.
Wenn die Operation der CPU 3 nicht angehalten ist, wird
die Hauptverarbeitung Mn (Schritt Sn8) durchgeführt, dann kehrt die Steuerung
wieder zu Schritt Sn7 zurück,
und die Operation in Schritt Sn7 und Sn8 wird wiederholt, bis ein
Hauptzeitnehmer mit der Zählung aussetzt.
-
Wenn
die Operation der CPU 3 dagegen angehalten ist und ein
Zeitnehmer mit der Zählung
aussetzt, geht die Steuerung zu Schritt Sn9 weiter, und es wird überprüft, ob die Überprüfung des
ROM 1 unvollständig
ist oder nicht. Wenn die Überprüfung des ROM 1 bereits
abgeschlossen wurde, kehrt die Steuerung wieder zu Schritt Sn7 zurück und die
Verarbeitung ab Schritt Sn7 wird wiederholt. Wenn die Überprüfung des
ROM 1 dagegen nicht abgeschlossen wurde, wird die Dateneinheit,
die in „MEM1" des RAM 4 (im
ersten Bereich) gespeichert ist (zu diesem Zeitpunkt an der obersten
Adresse des ROM 1), gelesen und im HL-Register als numerischer
Wert „HL" gespeichert (Schritt Sn10),
und die Dateneinheit, die in „MEM2" des ROM (im zweiten
Bereich) gespeichert ist (zu diesem Zeitpunkt ist die oberste Adresse
des ROM 1 gespeichert wie beim „MEM1"), wird gelesen und in einem Registerteil
(BC-Register), das sich von den HL- und A-Registern des Registers 2 unterscheidet,
als numerischer Wert „BC" gespeichert (Schritt Sn11).
Zu diesem Zeitpunkt ist die Dateneinheit, die in „MEM1" gespeichert ist
und die Dateneinheit, die in MEM2" gespeichert ist (die oberste Adresse
des ROM 1) gleich (siehe Schritt Sn4), somit sind die gleichen
Daten (die oberste Adresse des ROM 1) im HL-Register und
im BC-Register gespeichert.
-
Der
numerische Wert „BC" im BC-Register wird
als Prüfsummen-Dateneinheit
im später
beschriebenen Schritt Sn19 verwendet, und der numerische Wert „HL" des HL-Registers
wird verwendet, um die Adresse des ROM 1 anzuzeigen, um
die Prüfsummen-Dateneinheit „BC" zu bestimmen.
-
Dann
wird in Schritt Sn12 der numerische Wert „HL" des HL-Registers inkrementiert, danach wird
in Schritt Sn13 der Inhalt des ROM 1 an der neuen Adresse
nach der Inkrementierung in das A-Register geschrieben.
-
In
Schritt Sn14 wird die Summe des BC-Registerwerts und des A-Registerwerts
als neuer numerischer Wert „BC" ins BC-Register
geschrieben.
-
Dann
wird der Wert der Adresse „HL" zu diesem Zeitpunkt
in „MEM1" gespeichert, und
die Prüfsummendaten „BC" werden in „MEM2" gespeichert. Das
heißt,
in Schritt Sn15 wird der numerische Wert „HL", der im HL-Register gespeichert ist
(zu diesem Zeitpunkt der Adressenwert, der unmittelbar auf den Anfang
des ROM 1 folgt), in die „MEM1"-Adresse des RAM 4 geschrieben.
In Schritt Sn16 wird der Inhalt des BC-Registers (zu diesem Zeitpunkt
die Summe des obersten Adressenwerts des ROM 1 und des
numerischen Werts „HL") gelesen und in
die „MEM2"-Adresse des RAM 4 geschrieben.
Somit können
die Prüfsummendaten „BC" in das „MEM2" des Speichers geschrieben
werden, und der Adressenwert „HL" des ROM 1 kann,
um schließlich
die Prüfsummen-Dateneinheit „BC" zu bestimmen, im „MEM1" des RAM 4 gespeichert werden,
bis ein Zeitnehmer erneut aussetzt, nachdem die Zeitnehmeraussetzung
in Schritt Sn7 geendet hat und die Hauptroutinenverarbeitung (Schritt
Sn8) einmal ausgeführt
wurde.
-
Die
Steuerung geht zu Schritt Sn17 weiter. In Schritt Sn17 wird bestimmt,
ob die Prüfsummendaten „BC" bis zur letzten
Stufe vollständig
sind. Genauer wird eine Subtraktion von drei von der Endadresse des
ROM 1 durchgeführt,
und der Wert des Subtraktionsergebnisses wird mit dem numerischen
Wert „HL" verglichen. Der
Grund, dass eine Subtraktion von drei von der Endadresse des ROM 1 durchgeführt wird,
ist der Folgende: Wie später
beschrieben, wird eine 16-Bit-Bezugs-Dateneinheit aus zwei Bereichen
des Acht-Bit-Bereichs an der Endadresse des ROM 1 und des
Acht-Bit-Bereichs
an der Adresse, die der Endadresse unmittelbar vorangeht, gebildet,
und die Prüfsummen-Dateneinheit „BC" wird ausschließlich der
Bezugs-Dateneinheit erzeugt. Wenn in Schritt Sn17 der Wert der Subtraktion
von drei von der Endadresse des ROM 1 größer ist
als die Adresse „HL", wird angenommen,
dass die Additionsverarbeitung nicht die letzte Stufe erreicht hat, und
die Steuerung kehrt wieder zu Schritt Sn7 zurück, und die Verarbeitung ab
Schritt Sn7 wird wiederholt. Wenn die Verarbeitung wiederholt wird,
werden die Daten im ROM 1 an der um eins inkrementierten „HL"-Adresse hintereinander
als Summe zur Prüfsummen-Dateneinheit „BC" addiert. Wenn das Additionsergebnis
der numerischen Werte mehr als 16 Bits überschreitet, wenn die Akkumulierung
wiederholt wird, werden die Bits hoher Ordnung, die den 16-Bit-Teil überschreiten,
ignoriert.
-
Wenn
dagegen in Schritt Sn17 der Wert der Subtraktion von drei von der
Endadresse des ROM bei oder über
dem numerischen Wert „HL" liegt, wird angenommen,
dass das Akkumulierungsverfahren die letzte Stufe erreicht hat,
und die Steuerung geht zu Schritt Sn18 weiter. In Schritt Sn18 wird
der Wert der Akkumulierung des numerischen Werts „zwei" zum numerischen
Wert „HL" in einem vorgegebenen Acht-Bit(Ein-Byte)-Register
(D-Register) gespeichert, und der Wert der Addierung eines numerischen
Werts „eins" zum numerischen
Wert „HL" wird in einem anderen
vorgegebenen Acht-Bit(Ein-Byte)-Register (B-Register gespeichert). Der
Wert der Addierung des numerischen Werts „zwei" zum numerischen Wert „HL" bedeutet die oberste
Adresse der letzten Acht-Bit-Dateneinheit im ROM 1, und
der Wert der Addierung des numerischen Werts „eins" zum numerischen Wert 2HL" bedeutet die oberste
Adresse der Acht-Bit-Dateneinheit, die der letzten Dateneinheit
im ROM 1 vorausgeht. Das D-Register und das B-Register
bilden ein 16-Bit-Register (DE-Register),
welches das D-Register als acht Bits hoher Ordnung und das B-Register als
acht Bits niederer Ordnung umfasst. Der Wert des DE-Registers liefert
die Bezugsdateneinheit, die mit den Prüfsummendaten „BC" abgeglichen wird.
-
Dann
wird in Schritt Sn19 bestimmt, ob der Wert des BC-Registers mit
dem Wert des DE-Registers übereinstimmt
oder nicht. Das heißt,
wenn der ROM in Ordnung ist, sollte die Bezugsdateneinheit, die
in den ROM 1 geschrieben ist (der Wert „DE" des DE-Registers) und die Prüfsummen-Dateneinheit (der
Wert „BC" des BC-Registers)
gleich sein. Wenn die Werte übereinstimmen,
wird daher die Überprüfung des
ROM 1 beendet (Schritt Sn20), und die Steuerung kehrt zu
Schritt Sn7 zurück,
und die Verarbeitung ab Schritt Sn7 wird wiederholt. In diesem Fall wird,
wenn der Haupt-Zeitnehmer nicht mit der Zählung aussetzt, die Hauptüberprüfung Mn
in Schritt Sn8 wiederholt. Wenn der Haupt-Zeitnehmer jedoch mit
der Zählung
aussetzt, ist die Überprüfung des ROM 1 bereits
abgeschlossen, und somit wird bei der Bestimmung in Schritt Sn9
immer „Nein" eingegeben, und
die Verarbeitung ab Schritt Sn10 wird nicht durchgeführt, bis
der Strom wieder angestellt wird oder eine Zurücksetzung freigegeben wird.
-
Wenn
dagegen der Wert des DE-Registers und der Wert des BC-Registers
in Schritt Sn19 nicht übereinstimmen,
wird bestimmt, dass die ROM-Dateneinheit aus irgendeinem Grund verändert wurde, und
die Steuerung geht zu Schritt Sn21 weiter, um eine Fehlerhandhabung
durchzuführen.
-
Somit
wird die ROM-Überprüfungsverarbeitung
auf verteilte Weise während
einer Aussetzung der Hauptverarbeitung Mn durchgeführt und
nicht in der Anfangsverarbeitung In, so dass die Zeit, die für die Anfangsverarbeitung
In erforderlich ist, drastisch verkürzt werden kann und die Dauer
einer momentanen Unterbrechung usw. der Scheinwerferlampen 18a und 18b,
nachdem eine momentane Stromunterbrechung oder eine Rücksetzung
stattgefunden hat, verkürzt
werden kann.
-
Wie
oben beschrieben, wird die Überprüfungsoperationszeit
für den
RAM 4 verkürzt,
wie im Ablaufschema von 3, und der ROM 1 wird
während
einer Aussetzung der Hauptverarbeitung überprüft, wodurch die Zeit, die für die Anfangsverarbeitung
In nötig
ist, weiter verkürzt
werden kann und die Zeit für
eine momentane Unterbrechung usw. der Scheinwerferlampen nach dem
Auftreten einer momentanen Stromunterbrechung oder einer Zurücksetzung
verkürzt
werden kann.
-
Gemäß der Erfindung
nach Anspruch 1 wird die Dateneinheit im Zwischenspeicher-Schaltkreis
an oder obersten Adresse ausgelesen, der ausgelesene Inhalt wird
in die nächste
Adresse geschrieben, und die Operation wird bis zur Endadresse wiederholt, dann
wird die Dateneinheit an der Endadresse mit der Dateneinheit an
der obersten Adresse nur einmal verglichen, und wenn sie übereinstimmen,
wird bestimmt, dass der ganze RAM in Ordnung ist, und wenn sie dagegen
nicht übereinstimmen,
wird bestimmt, dass der ganze RAM nicht in Ordnung ist. Somit muss
die Datenvergleichsverarbeitung nur ein Vergleich mit den Endadressdaten
sein, und die Anfangsverarbeitungszeit, die der Steuerverarbeitung vorangeht,
kann verkürzt
werden.
-
Gemäß der Erfindung
nach Anspruch 2 wird die Erfindung auf eine elektronische Steuereinheit
für ein
Kraftfahrzeug angewendet, wo leicht eine momentane Stromunterbrechung
oder eine Zurücksetzung
auftreten können,
wodurch die Zeit, die benötigt wird,
um die Operation verschiedener Ansteuerungssysteme neu zu starten,
wie eine momentane Unterbrechung einer Schweinwerferlampe usw.,
verkürzt werden
kann und die Fahrsicherheit erhöht
werden kann.
-
<Aufbau>
-
In
einer elektronischen Steuereinheit für ein Kraftfahrzeug gemäß einer
Ausführungsform
der Erfindung wird die Überprüfungsverarbeitung
für einen ROM
(einen Speicherschaltkreises) in der Hauptverarbeitung verteilt,
wodurch die Zeit, die für
die Anfangsverarbeitung nötig
ist, verkürzt
wird.
-
7 ist
ein Blockschema, das eine elektronische Steuereinheit für ein Kraftfahrzeug 210 gemäß einer
Ausführungsform
der Erfindung und dessen periphere Einrichtungen zeigt. Wie in 7 werden
in der elektronischen Steuereinheit für ein Kraftfahrzeug 210 Eingangssignale
von verschiedenen Eingabesystemen 211 bis 215 von
einem Zündschlüssel 211,
einem Schlüsselanwesenheits-/-abwesenheitsschalter 212,
einem Türöffnungs-/-schließungsschalter 213,
einem Türverriegelungs-/-entriegelungsschalter 214 und
einem Scheinwerferlampenschalter 215 eingegeben, und verschiedene
Antriebssysteme 216 bis 219 von einer Kabinenlampe 216,
Türverriegelungsmotoren 217a bis 217d,
einer Hupe BZ und einem Scheinwerferlampen-Relais 219 für die Schaltungsansteuerung
von Scheinwerferlampen 218a und 218b werden auf
der Basis der eingegebenen Signale gesteuert. Verschiedene Arten
von Operationssteuerungen werden durchgeführt, beispielsweise auf solche
Weise, dass die Hupe BZ zum Tönen
gebracht wird, wenn der Türöffnungs-/-schließungsschalter 13 einen
geöffneten
Zustand einer Tür erfasst,
obwohl vom Schlüsselanwesenheits-/-abwesenheitsschalter 212 das
Einstecken eines Schlüssels
erfasst wird, dass die Türverriegelungsmotoren 217a bis 217d angesteuert
werden, um eine Tür
zu verriegeln oder zu entriegeln, wenn der Türverriegelungs-/-entriegelungsschalter 214 ein-
oder ausgeschaltet wird, und dass das Scheinwerferlampen-Relais 219 für eine Schaltungsansteuerung
der Scheinwerferlampen 218a und 218b betätigt wird,
wenn der Scheinwerferlampen-Schalter 215 ein- oder ausgeschaltet
wird.
-
Die
Eingangssignale von den verschiedenen Eingabesystemen 211 bis 215 werden
durch einen Eingabeschaltkreis 221 in der elektronischen
Steuerschaltung für
ein Kraftfahrzeug 210 in einen Mikrorechner 222 eingegeben,
der dann verschiedene Arten von Zweigbestimmungsverarbeitungen und
Operationsverarbeitungen mit den Eingangssignalen durchführt und
Ansteuerungssignale durch einen Ausgabeschaltkreis 223 an
die verschiedenen Antriebssysteme 216 bis 219 ausgibt.
Ein Spannungsüberwachungs-Schaltkreis
(Wächterschaltkreis) 224 überwacht
ständig,
ob der Mikrorechner 222 im ordnungsgemäßen Zustand ist oder nicht.
In 1 bezeichnet die Bezugszahl 225 einen
Oszillator für
die Bestimmung eines Operationstakts des Mikrorechners 222.
-
Der
innere Aufbau des Mikrorechners 222 (MC) ist der gleiche
wie der des üblichen
Mikrorechners, der in 11 dargestellt ist, und wird
daher nicht erneut erörtert.
Ein Haupt-Zeitnehmer ist im Mikrorechner 222 eingebaut,
um die Zeit zu nehmen, während
der die CPU 203 nicht arbeitet, wodurch die An- oder Abwesenheit
einer Leerlaufzeit der CPU 203 erfasst werden kann.
-
<Operation>
-
8 ist
ein allgemeines Operationsablaufschema der elektronischen Steuereinheit
für ein Kraftfahrzeug 210.
Nachdem der Strom der elektronischen Steuereinheit für ein Kraftfahrzeug 210 eingeschaltet
wurde oder eine Zurücksetzung
freigegeben wurde, wird in Schritt S201 eine Initialisierung durchgeführt. Genauer
werden in Schritt S1 die Operationsfrequenzvergrößerung der CPU 203 (11)
auf den Operationstakt, der vom Oszillator 225 bereitgestellt
wird, Ports im Eingabeschaltkreis 221 und im Ausgabeschaltkreis 223,
Zulassung oder Nichtzulassung eines Interrupt-Service und dergleichen
eingestellt. Die Überprüfung eines
Registers 202 wird ebenfalls bei der Initialisierung durchgeführt.
-
Dann
wird in Schritt S202 der RAM 204 im Mikrorechner 222 überprüft.
-
Dann
wird in Schritt S203 überprüft, ob der Haupt-Zeitnehmer
des Mikrorechners mit der Zählung
aussetzt (die CPU 203 leer läuft) oder nicht. Wenn bestimmt
wird, dass die CPU 203 leer läuft, während die Adresse des ROM (der
Speicherschaltkreis) 201 inkrementiert wird (Schritt S204),
werden Daten im ROM 201 hintereinander akkumuliert, um eine
Prüfsummen-Dateneinheit
zu liefern (Schritt S205). Wenn die Akkumulierungsverarbeitung nicht die
letzte Stufe erreicht hat, kehrt die Steuerung für jede Akkumulierung zu Schritt
S203 zurück,
und die Verarbeitung wird wiederholt (Schritt S206). Wenn die Akkumulierungsverarbeitung
die letzte Stufe erreicht hat, wird die Prüfsummen-Dateneinheit an der letzten
Stufe in Schritt S207 überprüft. Wenn
ein Fehler auftritt (Schritt S208) wird eine vorgegebene Fehlerhandhabung
durchgeführt.
Wenn dagegen kein Fehler auftritt, wird die Überprüfung des ROM 201 beendet,
und die Steuerung kehrt zu Schritt S203 zurück.
-
Wenn
jedoch in Schritt S203 der Haupt-Zeitgebers nicht mit der Zählung aussetzt
(die CPU 203 nicht leer läuft), wird die Hauptverarbeitung
Mn, welche die verschiedenen Ansteuerungssysteme 216 bis 219 betrifft,
einschließlich
einer Kabinenlampenverarbeitung, einer Türverriegelungsverarbeitung,
einer Scheinwerferlampenverarbeitung und einer Hupenverarbeitung,
in den Schritten S211 bis S214 zu vorgegebenen Zeiten wiederholt
durchgeführt.
Dadurch muss die Anfangsverarbeitung In nur zwei Schritte S201 und
S202 umfassen, und die Zeit für die
Anfangsverarbeitung kann verkürzt
werden.
-
Schritt
S202 in 8 wird ausführlich mit Bezug auf ein Ablaufschema
von 9 erörtert.
-
Wenn
der RAM 204 überprüft wird
wie in 6, wird in Schritt Sm201 zuerst die oberste Adresse
des RAM 204 in ein vorgegebenes 16-Bit-HL-Register im Register 202 eingesetzt.
In Schritt Sm202 wird für
eine Zurücksetzung
ein numerischer Wert „00H" in einem Acht-Bit-Register
(als A-Register bezeichnet) gespeichert, das sich vom HL-Register unterscheidet.
Anschließend
wird in Schritt Sm203 eine vorgegebene spezifische Dateneinheit
(eine Daten) im A-Register gespeichert. In Schritt Sm204 wird die
Dateneinheit im A-Register in die „HL"-Adresse des HL-Registers geschrieben,
und in Schritt Sm205 wird ein numerischer Wert „00H" für eine
Zurücksetzung
im A-Register gespeichert, dann wird in Schritt Sm206 die Dateneinheit,
die an der „HL"-Adresse des HL-Registers
gespeichert ist, in das A-Register eingelesen. In Schritt Sm7 wird
die „HL"-Adresse des HL-Registers
inkrementiert, dann wird in Schritt Sm208 die Dateneinheit im A-Register in
die nachträglich
inkrementierte „HL"-Adresse geschrieben.
-
Die
Operation in den Schritten Sm205 bis Sm208 wird wiederholt, bis
die Adresse „HL” die Endadresse
des RAM 204 erreicht (Schritt Sm209). In Schritt Sm210
wird der Wert, der an der Adresse gespeichert ist, die der Endadresse
des RAM 204 unmittelbar vorangeht (die Dateneinheit, die
in Schritt Sm206 im A-Register gespeichert ist) mit dem Wert der
ersten „Dateneinheit" verglichen, um zu
bestimmen, ob sie übereinstimmen
oder nicht. Wenn sie übereinstimmen,
wird ferner die Endadresse überprüft, d.h.
ob der Wert, der an der Endadresse des RAM 204 gespeichert
ist (die Dateneinheit, die in Schritt Sm206 im A-Register gespeichert
ist) mit dem Wert der ersten „Dateneinheit" übereinstimmt oder nicht (in 9 nicht
dargestellt), dann geht die Steuerung zum nächsten Schritt über (Schritt
Sm211). Wenn der Wert, der an der Endadresse des RAM 204 gespeichert
ist (die Dateneinheit, die in Schritt Sm206 im A-Register gespeichert
wurde), nicht mit dem Wert der ersten „Dateneinheit" übereinstimmt, geht in diesem
Fall, obwohl in 3 nicht dargestellt, die Steuerung
zu Schritt Sm212 weiter, und es wird eine Fehlerhandhabung durchgeführt.
-
Wenn
in Schritt Sm210 dagegen bestimmt wird, dass der Wert, der an der
Adresse gespeichert wurde, die der Endadresse des RAM 204 unmittelbar vorangeht
(die Dateneinheit, die in Schritt Sm206 im A-Register gespeichert
wurde), sich von dem Wert der ersten „Dateneinheit" unterscheidet, wird
in Schritt Sm212 eine Fehlerhandhabung durchgeführt.
-
Somit
wird in der elektronischen Steuereinheit für ein Kraftfahrzeug 210 die
Dateneinheit im RAM 204, die von der obersten Adresse angezeigt wird,
ausgelesen, die ausgelesenen Inhalte werden in die nächste Adresse
geschrieben, und die Operation wird wiederholt bis zur Endadresse,
dann wird der RAM-Wert an der Endadresse mit dem RAM-Wert an der
obersten Adresse nur einmal verglichen, und wenn die Werte gleich
sind, wird bestimmt, dass der ganze RAM in Ordnung ist. Somit muss
der Datenvergleich aus nur einem Vergleich mit den Endadressdaten
bestehen, im Gege nsatz zu dem Beispiel im zuvor mit Bezug auf 13 beschriebenen
Stand der Technik; die Überprüfungsroutine
für den
RAM 204 kann vereinfacht werden, und es ist möglich, die Überprüfungsverarbeitungszeit
drastisch zu verkürzen.
Daher kann die Zeit, die für
die Anfangsverarbeitung In gebraucht wird (Schritte S201 bis S203
in 8) verkürzt
werden, und die Dauer einer momentanen Unterbrechung usw. der verschiedenen
Ansteuerungssysteme 216 bis 219 der Schweinwerferlampen 218a und 218b usw.,
beispielsweise nachdem eine momentane Stromunterbrechung oder eine
Zurücksetzung
stattgefunden hat, kann verkürzt
werden.
-
Nun
wird die Überprüfung des
ROM 201 im Anschluss an Schritt S203 in 8 ausführlich mit Bezug
auf ein Ablaufschema von 10 erörtert. Es wird
angenommen, dass eine 16-Bit(Zwei-Typ)-Bezugsdateneinheit für die Bestimmung,
ob die Prüfsummen-Dateneinheit
gültig
ist, zuvor im letzten 16-Bit-Bereich des ROM 201 gespeichert
wurde.
-
Wie
oben beschrieben, wird die Überprüfung des
ROM 201 nicht in der Anfangsverarbeitung In durchgeführt, sondern
wird auf verteilte Weise durchgeführt, während die Hauptroutine Mn in
den Schritten S211 bis S214 wegen einer Zählungsaussetzung nach Beginn
der Hauptverarbeitung Mn angehalten ist.
-
Das
heißt,
wie in 10 wird das erste Register 202 in
Schritt Sn201 überprüft (Teilverarbeitung
von Schritt S201 in 8), dann wird die in 9 dargestellte Überprüfung des
RAM 204 in Schritt Sn202 (S202 in 8) durchgeführt.
-
In
Schritt Sn203 wird die oberste Adresse des ROM 201 in einen
ersten vorgegebenen Bereich des RAM 204 als numerischer
Wert „MEM1" eingesetzt. Dann
wird in Schritt Sn204 die Dateneinheit an der Adresse „MEM1" im ROM 201 (d.h.
die oberste Acht-Bit-Dateneinheit im ROM 201) gelesen und
in einem zweiten vorgegebenen Bereich des RAM 204 als numerischer
Wert „MEM2" gespeichert. Somit wird
die Acht-Bit-Dateneinheit, die an der obersten Adresse des ROM 201 anfängt, im
zweiten Bereich des RAM 204 gespeichert (numerischer Wert „MEM2").
-
Die
restliche Verarbeitung der Initialisierung in Schritt S201 (Zulassung
oder Nichtzulassung eines Interrupt-Service usw.) wird in Schritt
Sn205 durchgeführt.
Dann geht die Steuerung zu Schritt Sn206 weiter, und die Durchführung der
Hauptverarbeitung Mn für
die verschiedenen Ansteuerungssysteme 216 bis 219 wird
gestartet.
-
In
Schritt Sn207 wird erfasst, ob der Zeitnehmer im Mikrorechner 222 die
Zählung
aussetzt und die Operation der CPU 20203 angehalten ist oder nicht.
Wenn die Operation der CPU 3 nicht angehalten ist, wird
die Hauptverarbeitung Mn (Schritt Sn208) durchgeführt, dann
kehrt die Steuerung wieder zu Schritt Sn207 zurück, und die Operation in Schritt
Sn207 und Sn208 wird wiederholt, bis der Haupt-Zeitnehmer mit der
Zählung
aussetzt.
-
Wenn
die Operation der CPU 203 dagegen angehalten ist und der
Zeitnehmer mit der Zählung aussetzt,
geht die Steuerung zu Schritt Sn209 weiter, und es wird überprüft, ob die Überprüfung des
ROM 201 unvollständig
ist oder nicht. Wenn die Überprüfung des
ROM 201 bereits abgeschlossen wurde, kehrt die Steuerung
wieder zu Schritt Sn207 zurück und
die Verarbeitung ab Schritt Sn207 wird wiederholt. Wenn die Überprüfung des
ROM 201 dagegen nicht abgeschlossen wurde, wird der numerische Wert „MEM1" aus dem RAM 204 gelesen,
und der Wert für „MEM1" wird im HL-Register
als numerischer Wert „HL" gespeichert (Schritt
Sn210). Außerdem
wird die Dateneinheit, die bereits im RAM 204 als „MEM2" gespeichert wurde
(zu diesem Zeitpunkt wird eine Acht-Bit-Dateneinheit vom obersten
Register des ROM 201 gespeichert) gelesen und in einem Registerteil
(BC-Register), das sich von den HL- und A-Registern des Registers 202 unterscheidet,
als numerischer Wert „BC" gespeichert (Schritt
Sn211).
-
Der
Inhalt des BC-Registers wird als Prüfsummen-Dateneinheit im später beschriebenen Schritt
Sn219 verwendet, und der numerische Wert „HL" im HL-Register bedeutet die Adresse
des ROM 201 für
die Zählung,
um zu bestimmen, ob die Akkumulierung der Prüfsummendaten „BC" die letzte Stufe
erreicht oder nicht. Der numerische Wert „BC" im BC-Register wird auf eine 16-Bit-Länge gesetzt,
in der ein Acht- Bit-B-Register
und ein Acht-Bit-C-Register kombiniert werden. Wenn eine Acht-Bit-Dateneinheit im ROM 201 in
den acht Bits niederer Ordnung von „BC" gespeichert ist, werden die acht Bits
hoher Ordnung von „BC" auf einen numerischen
Wert „00000000" gesetzt. Jedoch
wird zwar die Akkumulierung mit dem numerischen Wert „BC" des BC-Registers
hintereinander durchgeführt,
aber, wie später beschrieben,
nimmt auch der Wert der acht Bits hoher Ordnung allmählich zu.
-
Dann
wird in Schritt Sn212 der numerische Wert „HL" des HL-Registers, der die Adresse des ROM 201 bedeutet,
um 1 Byte (acht Bits) inkrementiert, dann wird in Schritt Sn213
die Acht-Bit-Dateneinheit an der neuen „HL"-Adresse im ROM 201 nach der
Inkrementierung in das A-Register geschrieben.
-
In
Schritt Sn214 wird die Summe des numerischen 16-Bit-Werts des BC-Registers
und des numerischen 16-Bit-Wrts des A-Registers als neuer numerischer
16-Bit-Wert „BC" ins BC-Register
geschrieben.
-
Dann
wird in den Schritten Sn215 und Sn216 der Wert der Adresse „HL" zu diesem Zeitpunkt
in „MEM1" gespeichert, und
die Prüfsummen-Dateneinheit „BC" wird in „MEM2" gespeichert. Somit
kann, um später
zu Schritt Sn207 zurückzukehren
und die Hauptverarbeitung Nm durchzuführen (Sn208), der Adressenwert „HL" des ROM 201,
der noch in Bearbeitung ist, im „MEM1" des RAM 204 gespeichert werden,
und die Prüfsummen-Dateneinheit „BC", die noch in Bearbeitung
ist, kann im „MEM2" des Speichers gespeichert
werden, bis die Zeit, zu der die CPU 203 aussetzt, erneut
kommt.
-
Die
Steuerung geht zu Schritt Sn217 weiter. In Schritt Sn217 wird bestimmt,
ob die Prüfsummen-Dateneinheit „BC" noch in Bearbeitung
oder bis zur letzten Stufe vollständig ist. Genauer werden drei Bytes
von der Endadresse des ROM 201 subtrahiert, und der Adressenwert
des Subtraktionsergebnisses wird mit dem numerischen Wert „HL" verglichen. Der Grund,
dass drei Bytes von der Endadresse des ROM 201 subtrahiert
werden, ist der Folgende: Wie später
beschrieben, werden 16-Bit- Bezugsdaten
aus zwei Bereichen des Acht-Bit-Bereichs an der Endadresse des ROM 201 und
des Acht-Bit-Bereichs an der Adresse, die der Endadresse unmittelbar
vorangeht, gebildet (d.h. dem Bereich von der Adresse der Subtraktion
von zwei Bytes von der Endadresse bis zur Adresse der Subtraktion
von einem Byte von der Endadresse), und wenn der letzte Acht-Bit-Bereich ausschließlich der
Bezugsdaten (d.h. der Bereich von der Adresse der Subtraktion von
drei Bytes von der Endadresse bis zur Adresse der Subtraktion von zwei
Bytes von der Endadresse) zu den Prüfsummendaten „BC" addiert wird, wird
die Akkumulierungsverarbeitung beendet.
-
Genauer
wird in Schritt Sn217, wenn die Adresse „HL" kleiner ist als der Wert der Subtraktion von
drei Bytes von der Endadresse des ROM 201, angenommen,
dass die Akkumulierungsverarbeitung nicht die letzte Stufe erreicht
hat, und die Steuerung kehrt wieder zu Schritt Sn207 zurück, und
die Verarbeitung ab Schritt Sn207 wird wiederholt. Wenn die Verarbeitung
wiederholt wird, werden die Daten im ROM 201 an der um
eins inkrementierten „HL"-Adresse hintereinander
als Akkumulierung zu den Prüfsummendaten „BC" addiert. Wenn das
Additionsergebnis der numerischen Werte mehr als 16 Bits überschreitet,
wenn die Akkumulierung wiederholt wird, werden die Bits hoher Ordnung,
die den 16-Bit-Teil überschreiten,
ignoriert.
-
Wenn
dagegen in Schritt Sn217 der numerische Wert „HL" bei oder über dem Wert für die Subtraktion
von drei Bytes von der Endadresse des ROM 201 liegt, wird
die Tatsache erfasst, dass die kumulierten Daten die letzte Acht-Bit-Dateneinheit
(d.h. den Bereich von der Adresse für die Subtraktion von drei
Bytes von der Endadresse bis zur Adresse für die Subtraktion von zwei
Bytes von der Endadresse) ausschließlich der letzten 16-Bit-Bezugsdateneinheit (d.h.
den Bereich von der Adresse der Subtraktion von zwei Bytes von der
Endadresse bis zur Endadresse) erreicht hat, und somit wird angenommen, dass
das Akkumulierungsverfahren die letzte Stufe erreicht hat, und die
Steuerung geht zu Schritt Sn218 weiter.
-
In
Schritt Sn18 wird die Acht-Bit (Ein-Byte)-Dateneinheit, mit der
die Adresse der Addierung von zwei Bytes zur Adresse „HL" beginnt, im ROM 201 gelesen
und wird in einem vorgegebenen Acht-Bit(Ein-Byte)-Register (D-Register)
gespeichert. Außerdem
wird die Acht-Bit (Ein-Byte)-Dateneinheit, mit der die Adresse der
Addierung eines Byte zur Adresse „HL" beginnt, gelesen und in einem vorgegebenen
Acht-Bit(Ein Byte)-Register (E-Register) gespeichert. Die Adresse
der Addierung von zwei Bytes zur Adresse „HL" bedeutet die oberste Adresse der letzten
Acht-Bit-Dateneinheit im ROM 201, und der Wert der Addierung
von einem Byte zur Adresse „HL" bedeutet die oberste
Adresse der Acht-Bit-Dateneinheit, die der letzten Dateneinheit
im ROM 201 unmittelbar vorangeht. Das D-Register und das E-Register
bilden ein 16-Bit-Register (DE-Register), das das D-Register als
16-Bit-Register hoher Ordnung und das E-Register als das Acht-Bit-Register niederer
Ordnung umfasst, und der Wert des DE-Registers liefert die Bezugsdateneinheit,
die mit den Prüfsummen-Dateneinheit „BC" abgeglichen wird.
-
Dann
wird in Schritt Sn219 bestimmt, ob der Wert des BC-Registers mit
dem Wert des DE-Registers übereinstimmt
oder nicht. Das heißt,
wenn der ROM 201 in Ordnung ist, sollte die Bezugsdateneinheit,
die in den ROM 201 geschrieben ist (der Wert „DE" des DE-Registers)
und die Prüfsummen-Dateneinheit
(der Wert „BC" des BC-Registers)
gleich sein. Wenn die Werte übereinstimmen,
wird daher die Überprüfung des
ROM 201 beendet (Schritt Sn220), und die Steuerung kehrt
zu Schritt Sn207 zurück,
und die Verarbeitung ab Schritt Sn207 wird wiederholt. In diesem
Fall wird, wenn der Haupt-Zeitnehmer die Zählung nicht aussetzt, die Hauptüberprüfung Mn
in Schritt Sn208 wiederholt. Wenn dagegen der Haupt-Zeitnehmer die
Zählung
aussetzt, ist die Überprüfung des
ROM 201 bereits abgeschlossen, und somit wird bei der Bestimmung
in Schritt Sn209 immer „Nein" eingegeben, und
die Verarbeitung ab Schritt Sn210 wird nicht durchgeführt, bis
der Strom wieder angestellt wird oder eine Zurücksetzung freigegeben wird.
-
Wenn
dagegen der Wert des DE-Registers und der Wert des BC-Registers
in Schritt Sn219 nicht übereinstimmen,
wird bestimmt, dass die ROM-Daten aus irgendeinem Grund verändert wurden,
und die Steuerung geht zu Schritt Sn221 weiter, um eine Fehlerhandhabung
durchzuführen.
-
Somit
wird die ROM-Überprüfungsverarbeitung
auf verteilte Weise während
einer Aussetzung der Hauptverarbeitung Mn durchgeführt und
nicht in der Anfangsverarbeitung In, so dass die Zeit, die für die Anfangsverarbeitung
In erforderlich ist, drastisch verkürzt werden kann und die Zeit
einer momentanen Unterbrechung usw. der Scheinwerferlampen 18a und 18b,
nachdem eine momentane Stromunterbrechung oder eine Zurücksetzung
stattgefunden hat, verkürzt
werden kann.