-
TECHNISCHES GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft einen Mikrocontroller mit einer Anzahl
von Zentraleinheiten (CPUs) und insbesondere eine Verbesserung der Verarbeitungsleistung
davon und bei der Erfassung von Fehlern darin.
-
HINTERGRUND DER ERFINDUNG
-
Mikrocontroller
sind integrierte Halbleiterschaltungen in Einrichtungen wie elektrischen
Heimgeräten, Audiovideogeräten, Mobiltelefonen,
Automobilen und industriellen Maschinen, die entsprechend den in
Speichern gespeicherten Programmen Prozesse zur Steuerung der jeweiligen
Einrichtung ausführen.
-
Da
ein Ausfall einer Steuereinheit in einem Auto zu einem Unfall führen
kann, müssen die Komponenten, die den Mikrocontroller bilden,
eine hohe Zuverlässigkeit aufweisen. Sie sind deshalb so
konstruiert, daß sie beim Auftreten eines Fehlers eine
Sicherheitsfunktion ausführen, um zu verhindern, daß beim
Erfassen des Fehlers das Auto in eine gefährliche Situation
gerät.
-
Der
Mikrocontroller muß dabei nicht nur Sensoren und Aktuatoren überprüfen,
um einen Fehler darin feststellen zu können, sondern er
muß auch in der Lage sein, einen Fehler im Mikrocontroller
selbst erfassen zu können.
-
Es
gibt verschiedene Methoden zum Erfassen eines Fehlers im Mikrocontroller.
Oft wird eine CPU doppelt vorgesehen, wobei beide CPUs die gleichen
Prozesse ausführen und die Werte auf deren Busausgängen
verglichen werden. Bei diesem Verfah ren führen eine Master-CPU
und eine Vergleichs-CPU gleichzeitig die gleichen Prozesse aus, und
die Ergebnisse der Prozesse werden in einer Vergleichsschaltung
verglichen.
-
Die
Offenlegungsschrift der
japanischen
Patentanmeldung Nr. 10-261762 (Patentdokument 1) beschreibt
ein Verfahren, bei dem zwei Speicher und zwei CPUs vorgesehen sind
und die Eingangs/Ausgangssignale der CPUs miteinander verglichen
werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Bei
der herkömmlichen Technik führen die beiden CPUs
die gleichen Prozesse zur exakt gleichen Zeit aus, und die Verarbeitungsleistung
ist die gleiche wie bei einer CPU. Bei der Steuerung des Antriebsstranges
eines Automobils wie einer Motorsteuerung oder einer Getriebesteuerung
ist jedoch eine hohe Verarbeitungsleistung erforderlich, da mit
den Ausgangssignalen einer großen Anzahl von Sensoren Berechnungen
auszuführen sind und viele Aktuatoren zu betätigen
sind, um die Ausnutzung des Kraftstoffs und die Abgasemission zu
verbessern.
-
Es
besteht daher eine zunehmende Nachfrage nach Dual-Core-Mikrocontrollern
mit zwei CPUs und Multi-Core-Mikrocontrollern mit drei und mehr CPUs.
-
Ziel
der vorliegenden Erfindung ist es, einen Mikrocontroller zu schaffen,
in dem die einzelnen CPUs verschiedene Aufgaben ausführen,
um dadurch die Verarbeitungsleistung zu erhöhen, wobei die
von den einzelnen CPUs ausgeführten Aufgaben eine hohe
Sicherheit erfordern, und wobei die Ergebnisse miteinander verglichen
werden, um die Zuverlässigkeit von Schreibdaten zu erhöhen.
-
Dieses
Ziel und weitere Ziele und die neuen Eigenschaften der vorliegenden
Erfindung gehen aus der folgenden Beschreibung und den beiliegenden Zeichnungen
hervor.
-
Die
typischen Eigenschaften der hier beschriebenen Erfindung lassen
sich kurz wie folgt zusammenfassen.
-
Gemäß einem
typischen Aspekt der vorliegenden Erfindung enthält ein
Speicherabbildungsregister ein Register zum Speichern von Informationen über
die Anzahl von Schreibvorgängen für einzuschreibende
Daten, wobei Anweisungen über bestimmte Prozesse, die vorab
in den Anweisungen für die CPU festgelegt werden, für
das Speicherabbildungsregister zweimal ausgeführt werden,
und wobei eine Schreibdaten-Vergleichsschaltung die zweimal in das
Speicherabbildungsregister eingeschriebenen Schreibdaten miteinander
vergleicht.
-
Die
mit den typischen Ausführungsformen der hier beschriebenen
Erfindung erhaltenen Auswirkungen lassen sich kurz wie folgt darstellen.
-
Durch
die Verwendung eines Mikrocontrollers mit einer Anzahl von CPUs,
die jeweils verschieden Aufgaben ausführen, wird bei den
typischen Ausführungsformen eine sehr schnelle Verarbeitung
erreicht. Gleichzeitig wird die Zuverlässigkeit von Schreibdaten
dadurch erhöht, daß die jeweiligen CPUs veranlaßt
werden, bei Aufgaben, die eine hohe Sicherheit erfordern, die Ergebnisse
miteinander zu vergleichen. Die Sicherheit wird auch dadurch erhöht,
daß Fehler erfaßt werden können.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Darstellung des Aufbaus eines Mikrocontrollers gemäß einer
ersten Ausführungsform der vorliegenden Erfindung;
-
2 ist
eine Darstellung des Aufbaus einer Brücke D des Mikrocontrollers
der ersten Ausführungsform der vorliegenden Erfindung;
-
3 ist
eine Darstellung des Aufbaus einer peripheren Schreibdaten-Vergleichsschaltung
des Mikrocontrollers der ersten Ausführungsform der vorliegenden
Erfindung;
-
4 zeigt
ein Zeitdiagramm für einen Lesezugriff auf ein peripheres
Modul bei dem Mikrocontroller der ersten Ausführungsform
der vorliegenden Erfindung;
-
5 zeigt
ein Zeitdiagramm für einen Schreibzugriff, ohne einen Vergleich,
auf das periphere Modul bei dem Mikrocontroller der ersten Ausführungsform
der vorliegenden Erfindung;
-
6 zeigt
ein Zeitdiagramm für einen ersten Schreibzugriff, mit einem
Vergleich, auf das periphere Modul bei dem Mikrocontroller der ersten
Ausführungsform der vorliegenden Erfindung;
-
7 zeigt
ein Zeitdiagramm für den Fall, daß bei einem zweiten
Schreibzugriff, mit einem Vergleich, auf das periphere Modul bei
dem Mikrocontroller der ersten Ausführungsform der vorliegenden Erfindung
das Vergleichsergebnis eine Übereinstimmung ergibt;
-
8 zeigt
ein Zeitdiagramm für den Fall, daß bei dem zweiten
Schreibzugriff, mit einem Vergleich, auf das periphere Modul bei
dem Mikrocontroller der ersten Ausführungsform der vorliegenden Erfindung
das Vergleichsergebnis eine Nichtübereinstimmung ergibt;
-
9 ist
eine Darstellung des Aufbaus von Registern bei dem Mikrocontroller
der ersten Ausführungsform der vorliegenden Erfindung;
-
10 ist
eine Darstellung des Aufbaus von Registern bei dem Mikrocontroller
der ersten Ausführungsform der vorliegenden Erfindung;
-
11 ist
eine Darstellung des Aufbaus von Registern bei dem Mikrocontroller
der ersten Ausführungsform der vorliegenden Erfindung;
-
12 ist
eine Darstellung des Aufbaus eines peripheren Moduls bei einem Mikrocontroller
gemäß einer zweiten Ausführungsform der
vorliegenden Erfindung;
-
13 ist
eine Darstellung des Aufbaus eines peripheren Moduls bei einem Mikrocontroller
gemäß einer dritten Ausführungsform der
vorliegenden Erfindung; und
-
14 eine
Darstellung zur Erläuterung einer elektronischen Steuereinheit
für ein Automobil mit einem Mikrocon troller gemäß einer
der Ausführungsformen der vorliegenden Erfindung.
-
BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Im
folgenden werden Ausführungsformen der vorliegenden Erfindung
anhand der beiliegenden Zeichnungen näher erläutert.
Komponenten mit der gleichen Funktion werden in den einzelnen Zeichnungen
zur Erläuterung der Ausführungsformen mit den
gleichen Bezugszeichen bezeichnet, und die Beschreibung davon wird
nicht wiederholt.
-
(Erste Ausführungsform)
-
Anhand
der 1 bis 3 wird der Aufbau eines Mikrocontrollers
gemäß einer ersten Ausführungsform der
vorliegenden Erfindung beschrieben. Die 1 ist eine
Darstellung des Aufbaus eines Mikrocontrollers gemäß der
ersten Ausführungsform der vorliegenden Einrichtung, wobei
der Mikrocontroller ein Dual-Core-Mikrocontroller mit zwei CPUs ist.
Die 2 ist eine Darstellung des Aufbaus einer Brücke
D des Mikrocontrollers der ersten Ausführungsform der vorliegenden
Erfindung und die 3 eine Darstellung des Aufbaus
einer peripheren Schreibdaten-Vergleichsschaltung des Mikrocontrollers
der ersten Ausführungsform der vorliegenden Erfindung.
-
In
der 1 besteht der Mikrocontroller (MCU) 20 aus
einer CPU A 1, einem Speicher A 2, einem CPU-A-Bus 3,
einer Brücke A 4, einer CPU B 5, einem
Speicher B 6, einem CPU-B-Bus 7, einer Brücke
B 8, einem Systembus 9, einer Brücke
C 10, einem externen Bus 11, einer Brücke
D 12, einem peripheren Bus 13, einem peripheren
Modul A 14, einem peripheren Modul B 15, ...,
einem peripheren Modul Z 16, einer Interruptsteuerung 17 und
einer peripheren Schreibdaten-Vergleichsschaltung 19.
-
Die
CPU A 1 ist ein Prozessor, der Anweisungen ausführt
und der dabei Prozesse wie Berechnungen und Datenübertragungen
ausführt. Im Speicher A 2 sind die auszuführenden
Anweisungen und die von der CPU A 1 zu verarbeitenden Daten
ge speichert. Der CPU-A-Bus 3 ist ein Bus, über
den die CPU A 1 auf Module wie den Speicher A 2 zugreift.
-
Die
Brücke A 4 ist eine Steuerung, die die Verbindung
zwischen dem CPU-A-Bus 3 und dem Systembus 9 in
dem Fall steuert, daß die CPU A 1 auf ein Modul
zugreift, das sich auf der Außenseite des Systembusses 9 befindet.
-
Die
CPU B 5 ist ein Prozessor, der Anweisungen ausführt
und der dabei Prozesse wie Berechnungen und Datenübertragungen
ausführt. Im Speicher B 6 sind die auszuführenden
Anweisungen und die von der CPU B 5 zu verarbeitenden Daten
gespeichert. Der CPU-B-Bus 7 ist ein Bus, über
den die CPU B 5 auf Module wie den Speicher B 6 zugreift.
-
Die
Brücke B 8 ist eine Steuerung, die die Verbindung
zwischen dem CPU-B-Bus 7 und dem Systembus 9 in
dem Fall steuert, daß die CPU B 5 auf ein Modul
zugreift, das sich auf der Außenseite des Systembusses 9 befindet.
-
Die
Brücke C 10 ist eine Steuerung, die die Verbindung
zwischen dem Systembus 9 und dem externen Bus 11 in
dem Fall steuert, daß die CPU A 1 oder die CPU
B 5 auf den externen Bus 11 zugreift.
-
Die
Brücke D 12 ist eine Steuerung, die die Verbindung
zwischen dem Systembus 9 und dem peripheren Bus 13 in
dem Fall steuert, daß die CPU A 1 oder die CPU
B 5 auf ein mit dem peripheren Bus 13 verbundenes
peripheres Modul wie das periphere Modul A 14, das periphere
Modul B 15, ..., das periphere Modul Z 16 oder
die Interruptsteuerung 17 zugreift.
-
Der
periphere Bus 13 ist ein Bus, mit dem das periphere Modul
A 14, das periphere Modul B 15, ..., das periphere
Modul Z 16 und die Interruptsteuerung 17 verbunden
sind.
-
Das
periphere Modul A 14, das periphere Modul B 15,
... und das periphere Modul Z 16 sind mit einer Verbindungsleitung
oder dergleichen zur Außenseite des Mikrocontrollers 20 verbunden
und führen Datenübertragungen zu und von der Außenseite des
Mikrocontrollers 20 sowie eine Steuerung von Steuerungsschaltungen
und dergleichen außerhalb des Mikrocontrol lers gemäß den
in ein Speicherabbildungsregister eingeschriebenen Schreibdaten
aus.
-
Die
Interruptsteuerung 17 gibt gemäß den Daten
vom peripheren Modul A 14, vom peripheren Modul B 15,
... und vom peripheren Modul Z 16 sowie einer externen
Interruptanforderung 18 Interruptsignale an die CPU A 1 und
die CPU B 5 aus.
-
Die
periphere Schreibdaten-Vergleichsschaltung 19 vergleicht
die in das Speicherabbildungsregister der peripheren Module der
CPU A 1 und der CPU B 5 eingeschriebenen Schreibdaten.
-
In
der 2 besteht die Brücke D 12 aus
einem Systembusinterface 1211, einem Befehls/Adressenpuffer 1212,
einem Lesedatenpuffer 1213, einem Schreibdatenpuffer 1214,
einem Interface 1215 für den peripheren Bus 13 und
einer peripheren Schreibdaten-Vergleichsanforderungsschaltung 1216.
-
Das
Systembusinterface 1211 ist mit dem Systembus 9 verbunden
und führt wechselseitige Datenübertragungen aus.
-
Der
Befehls/Adressenpuffer 1212 dient zur Zwischenspeicherung
der Befehle und Adressen vom Systembus 9.
-
Der
Lesedatenpuffer 1213 dient zur Zwischenspeicherung der
Lesedaten vom peripheren Bus 13 und der Schreibdatenpuffer 1214 zur
Zwischenspeicherung der Schreibdaten für den peripheren
Bus 13.
-
Das
Interface 1215 für den peripheren Bus ist mit
dem peripheren Bus 13 verbunden und führt wechselseitige
Datenübertragungen aus.
-
Über
den Systembus 9 werden Befehle 901, Adressen 902,
Lesedaten 903, Schreibdaten 904 und Wartesignale 905 übertragen.
Das Systembusinterface 1211 sorgt für die Eingabe
und Ausgabe der verschiedenen Signale des Systembusses 9.
Die Signale 1251, 1252, 1253 und 1254 sind
die Befehle, Adressen, Lesedaten und Schreibdaten auf dem Systembus 9 in
der Brücke D 12.
-
Der
Befehls/Adressenpuffer 1212 speichert die Systembusbefehle 1251 und
die Systembusadressen 1252. Das Ausgangssi gnal 1261 des
Befehlspuffers und das Ausgangssignal 1262 des Adressenpuffers
werden in die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 eingegeben.
-
Bei
einem Lesezugriff gibt die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 kein
Anforderungssignal 1201 aus, und mit der Ausgabe des peripheren
Busbefehls 1301 und der peripheren Busadresse 1302 durch
das Interface 1215 für den peripheren Bus 13 wird
mit dem Lesezugriff begonnen.
-
Wenn
die Lesedaten 1303 aus dem peripheren Bus 13 ausgelesen
werden, werden die Daten im Lesedatenpuffer 1213 gespeichert.
Das Ausgangssignal 1253 des Puffers wird als Systembus-Lesedaten 903 ausgegeben,
womit der Lesezugriff abgeschlossen ist.
-
Bei
einem Schreibzugriff gibt die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 das
Anforderungssignal 1201 und eine Adresse 1202 aus.
-
Wenn
die Adresse 1202 kein Vergleichsobjekt ist, zeigt ein Antwortsignal 1901 an,
daß das Einschreiben ein einfacher Schreibvorgang ist,
und an die periphere Bussteuerung 1265 wird ein Schreib-Ausführungssignal
abgegeben, damit das Interface 1215 für den peripheren
Bus 13 den Schreibzugriff ausführt.
-
Wenn
die Adresse 1202 ein Vergleichsobjekt und der Zugriff ein
erster Zugriff ist, zeigt das Antwortsignal 1901 an, daß der
Schreibvorgang der erste von zwei Schreibvorgängen ist,
und es wird an die periphere Bussteuerung 1265 ein Annullierungssignal
ausgegeben, um den Prozeß abzuschließen, ohne
daß das Interface 1215 für den peripheren
Bus den Schreibzugriff ausführt.
-
Wenn
die Adresse 1202 ein Vergleichsobjekt und der Zugriff ein
zweiter Zugriff ist, zeigt das Antwortsignal 1901 an, daß der
Schreibvorgang der zweite von zwei Schreibvorgängen ist,
woraufhin festgestellt wird, ob das Ergebnis eine Übereinstimmung
oder eine Nichtübereinstimmung ist. Wenn das Ergebnis eine Übereinstimmung
ist, wird an die periphere Bus steuerung 1265 ein Schreib-Ausführungssignal
abgegeben, damit das Interface 1215 für den peripheren
Bus 13 den Schreibzugriff ausführt. Wenn das Ergebnis
eine Nichtübereinstimmung ist, wird an die periphere Bussteuerung 1265 ein
Annullierungssignal ausgegeben, um den Prozeß abzuschließen, ohne
daß das Interface 1215 für den peripheren
Bus den Schreibzugriff ausführt.
-
In
der 3 wird die periphere Schreibdaten-Vergleichsschaltung 19 von
einem Interface 1911 für den peripheren Bus 13,
einem Adressenregister 1912, einem Steuerregister 1913,
einer Adressenvergleichsschaltung 1914, einer Antwortausgabeschaltung 1915,
einem Datenregister 1916 und einer Datenvergleichsschaltung 1917 gebildet.
-
Das
Interface 1911 für den peripheren Bus ist mit
dem peripheren Bus 13 verbunden und führt wechselseitige
Datenübertragungen aus.
-
Das
Adressenregister 1912, das Steuerregister 1913 und
das Datenregister 1916 speichern jeweils entsprechende
Daten.
-
Die
Datenvergleichsschaltung 1917 und die Adressenvergleichsschaltung 1914 vergleichen
Daten und Adressen, und die Antwortausgabeschaltung 1915 gibt
auf der Basis der Vergleichsergebnisse von der Datenvergleichsschaltung 1917 und
der Adressenvergleichsschaltung 1914 die entsprechenden Antworten
aus.
-
Wenn
der Zugriff des Systembusses 9 ein Schreibvorgang am peripheren
Modul ist, gibt die Brücke D 12 an die periphere
Schreibdaten-Vergleichsschaltung 19 das Anforderungssignal 1201 für eine
Vergleichsanforderung und die Adresse 1202 aus. Die periphere
Schreibdaten-Vergleichsschaltung 19 stellt fest, ob die
Adresse 1202 ein Vergleichsobjekt ist, und gibt das Antwortsignal 1901 zurück.
Wenn die Adresse 1202 kein Vergleichsobjekt ist, stellt
die Brücke D 12 die Verbindung zwischen dem Systembus 9 und
dem peripheren Bus 13 her, und der Schreibzugriff wird
ausgeführt.
-
Wenn
die Adresse 1202 ein Vergleichsobjekt ist, zeigt das Antwortsignal 1901 an,
ob es ein erster Zugriff oder ein zweiter Zugriff ist. Bei einem
ersten Zugriff werden die von der Brücke D 12 ausgegebenen
Schreibdaten 1203 in der peripheren Schreibdaten-Vergleichsschaltung 19 gespeichert,
und die Brücke D 12 führt keinen Schreibzugriff
auf das periphere Modul aus.
-
Bei
einem zweiten Zugriff werden die von der Brücke D 12 ausgegebenen
Schreibdaten 1203 mit den in der peripheren Schreibdaten-Vergleichsschaltung 19 gespeicherten
Daten des ersten Zugriffs verglichen, und das Ergebnis, eine Übereinstimmung oder
Nichtübereinstimmung, wird mit dem Antwortsignal 1901 zurückgegeben.
-
Wenn
das Antwortsignal 1901 eine Übereinstimmung anzeigt,
führt die Brücke D 12 den Schreibzugriff
auf das periphere Modul aus. Bei einer Nichtübereinstimmung
führt die Brücke D 12 den Schreibzugriff
nicht aus, und die periphere Schreibdaten-Vergleichsschaltung 19 gibt
an die Interruptsteuerung 17 eine Interruptanforderung 1902 aus.
-
Auf
dem peripheren Bus 13 befinden sich die Daten der Befehle 1301 und
der Adressen 1302 sowie die Lesedaten 1303 und
Schreibdaten 1304. Das Interface 1911 für
den peripheren Bus 13 sorgt für das Schreiben
und Lesen der Daten vom peripheren Bus 13 zum Adressenregister 1912.
-
Im
Adressenregister 1912 sind die Registeradressen der peripheren
Module gespeichert, die Objekte von Schreibzugriffen sind, die einen
Vergleich erfordern. Das Steuerregister 1913 enthält
die Anzahl der Schreibvorgänge für die Adressen,
die im Adressenregister 1912 gespeichert sind.
-
Die
Adressenvergleichsschaltung 1914 dekodiert das Anforderungssignal 1201 einer
peripheren Schreibdaten-Vergleichsanforderung, die von der Brücke
D ausgegeben wird, und im Falle einer angeforderten Adressenprüfung
prüft sie, ob die eingegebene Adresse 1202 im
Adressenregister 1912 gespeichert ist. Wenn die Adresse
dort nicht gespeichert ist, wird festgestellt, daß der
Schreibvorgang ein einfacher Schreibvorgang ist, der keinen Vergleich
umfaßt, und die Antwortausgabeschaltung 1915 gibt
mit der Antwort 1901 das Signal SW aus.
-
Wenn
die eingegebene Adresse 1202 im Adressenregister 1912 gespeichert
ist, wird aus der Steuerregister 1913 die Anzahl der Schreibvorgänge ausgelesen.
Bei einem ersten Schreibvorgang gibt die Antwortausgabeschaltung 1915 als
Antwort 1901 das Signal DW1 aus (erster von zwei Schreibvorgängen),
und die eingegebenen Schreibdaten 1203 werden im nächsten
Zyklus in das Datenregister 1916 eingeschrieben.
-
Bei
einem zweiten Schreibvorgang gibt die Antwortausgabeschaltung 1915 als
Antwort 1901 das Signal DW2 aus (zweiter von zwei Schreibvorgängen),
und die eingegebenen Schreibdaten 1203 werden im nächsten
Zyklus von der Datenvergleichsschaltung 1917 mit den ersten
Schreibdaten verglichen, die vom Datenregister 1916 ausgelesen
werden. Ein Signal 1991 zeigt an, ob das Vergleichsergebnis
eine Übereinstimmung oder eine Nichtübereinstimmung
ist. Bei einer Nichtübereinstimmung wird an die Interruptsteuerung
eine Interruptanforderung 1902 ausgegeben.
-
Anhand
der 4 bis 11 wird nun die Arbeitsweise
des Mikrocontrollers der ersten Ausführungsform der vorliegenden
Erfindung beschrieben. Die 4 bis 8 sind
Zeitdiagramme für den Zugriff auf das periphere Modul des
Mikrocontrollers bei der ersten Ausführungsform der vorliegenden
Erfindung. Die 4 ist ein Zeitdiagramm für
einen Lesezugriff auf das periphere Modul, die 5 ein
Zeitdiagramm für einen Schreibzugriff auf das periphere Modul,
der keinen Vergleich beinhaltet, die 6 ein Zeitdiagramm
für einen ersten Schreibzugriff auf das periphere Modul
mit einem Vergleich, die 7 ein Zeitdiagramm für
den Fall, daß bei einem zweiten Schreibzugriff auf das
periphere Modul mit einem Vergleich das Vergleichsergebnis eine Übereinstimmung
ist, und die 8 ein Zeitdiagramm für
den Fall, daß bei dem zweiten Schreibzugriff auf das periphere
Modul mit einem Vergleich das Vergleichsergebnis eine Nichtübereinstimmung
ist.
-
Die 9 bis 11 sind
Darstellungen des Aufbaus der Register, die bei dem Mikrocontroller
der ersten Ausführungsform der vorliegenden Erfindung die
Speicherabbildungsregister sind, wobei die Darstellungen verschiedene
Ausgestaltungen zeigen.
-
Zuerst
werden, wie in dem Zeitdiagramm der 4 für
den Lesezugriff auf das periphere Modul gezeigt, im Zyklus des Taktes
T1 als Befehl 901 auf dem Systembus 9 ein R (Read
für Lesen) und als Adresse 902 der Wert A1 ausgegeben.
-
Da
im nächsten Zyklus T2 für die Lesedaten 903 der
Lesevorgang noch nicht ausgeführt werden kann, wird das
Wartesignal 905 auf den hohen Pegel gesetzt, damit der
Lesezugriff in den Wartezustand versetzt wird. Im Zyklus T2 setzt
die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 das
Anforderungssignal 1201 auf NRQ (No Request für
keine Anforderung) und gibt den peripheren Busbefehl 1301 und
die Adresse 1302 aus. Der Wert RD1 der Lesedaten 1303,
der im Zyklus T3 ausgelesen wird, wird im nächsten Zyklus
T4 als Systembus-Lesedaten 903 ausgegeben, wodurch der
Lesezugriff abgeschlossen ist.
-
Wie
in dem Zeitdiagramm der 5 für einen Schreibzugriff
ohne einen Vergleich auf das periphere Modul gezeigt, werden im
Zyklus des Taktes T1 als Befehl 901 auf dem Systembus 9 ein
W (Write für Schreiben) und als Adresse 902 der
Wert A2 ausgegeben.
-
Im
nächsten Zyklus T2 wird für die Schreibdaten 904 der
Wert WD2 ausgegeben. Da damit das Einschreiben am peripheren Modul
noch nicht beendet ist, wird das Wartesignal 905 auf den
hohen Pegel gesetzt und so der Schreibzugriff in den Wartezustand
versetzt. Im Zyklus T2 setzt die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 das
Anforderungssignal 1201 auf ACHK (Address Check für
Adressenprüfung) und gibt für die Adresse 1202 den
Wert A2 aus.
-
Auch
wird die periphere Bussteuerung 1265 hinsichtlich des Interfaces 1215 für
den peripheren Bus auf WAIT (Warten) gesetzt, damit der Zugriff
auf den peripheren Bus in den Wartezustand versetzt wird. Wenn im
nächsten Zyklus T3 das Antwortsignal 1901 von
der peripheren Schreibdaten-Vergleichsschaltung 19 mit
dem Signal SW (Single Write) anzeigt, daß es einfacher
Schreibvorgang ist, gibt die periphere Bussteuerung 1265 als
peripheren Busbefehl 1301 das Signal W (Write) und die
Adresse 1302 aus. Im Zyklus T4 werden die Schreibdaten 1304 ausgegeben,
womit der Schreibzugriff abgeschlossen ist.
-
Wie
in dem Zeitdiagramm der 6 für den ersten Schreibzugriff
auf das periphere Modul mit einem Vergleich gezeigt, werden im Zyklus
des Taktes T1 als Befehl 901 auf dem Systembus 9 das
Signal W und als Adresse 902 der Wert A3 ausgegeben.
-
Im
nächsten Zyklus T2 wird für die Schreibdaten 904 der
Wert WD3 ausgegeben. Da damit das Einschreiben am peripheren Modul
noch nicht beendet ist, wird das Wartesignal 905 auf den
hohen Pegel gesetzt und so der Schreibzugriff in den Wartezustand
versetzt.
-
Die
periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 setzt
im Zyklus T2 das Anforderungssignal 1201 auf ACHK und gibt
für die Adresse 1202 den Wert A3 aus.
-
Auch
wird die periphere Bussteuerung 1265 hinsichtlich des Interfaces 1215 für
den peripheren Bus auf WAIT gesetzt und damit der Zugriff auf den peripheren
Bus in den Wartezustand versetzt.
-
Wenn
das Antwortsignal 1901 von der peripheren Schreibdaten-Vergleichsschaltung 19 ein DW1
(erster von zwei Schreibvorgängen) anzeigt, wird im nächsten
Zyklus T3 das Anforderungssignal 1201 auf DWR (Data Write
für Daten-Schreibvorgang) gesetzt, und für die
Schreibdaten 1203 wird WD3 ausgegeben.
-
Auch
wird die periphere Bussteuerung 1265 auf NUL (Nullify für
Annullieren) gesetzt, der periphere Busbefehl 1301 wird
auf NOP (No Operation für kein Vorgang) gehalten, und es
erfolgt kein Zugriff.
-
Dann
wird auf dem Systembus 9 das Wartesignal 905 auf
den niedrigen Pegel gesetzt, um den Wartezustand für den
Schreibzugriff aufzuheben, womit der Schreibzugriff abgeschlossen
ist.
-
Wie
in dem Zeitdiagramm der 7 für den zweiten Schreibzugriff
auf das periphere Modul mit einem Vergleich für den Fall
gezeigt, daß das Vergleichsergebnis eine Übereinstimmung
ergibt, wird im Zyklus des Taktes T1 als Befehl 901 auf
dem Systembus 9 das Signal W ausgegeben und als Adresse 902 der
Wert A4.
-
Im
nächsten Zyklus T2 wird für die Schreibdaten 904 der
Wert WD4 ausgegeben. Da damit das Einschreiben am peripheren Modul
noch nicht beendet ist, wird das Wartesignal 905 auf den
hohen Pegel gesetzt und so der Schreibzugriff in den Wartezustand
versetzt.
-
Im
Zyklus T2 setzt die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 das
Anforderungssignal 1201 auf ACHK und gibt für
die Adresse 1202 den Wert A4 aus.
-
Auch
wird die periphere Bussteuerung 1265 hinsichtlich des Interfaces 1215 für
den peripheren Bus auf WAIT gesetzt und damit der Zugriff auf den peripheren
Bus in den Wartezustand versetzt. Wenn das Antwortsignal 1901 von
der peripheren Schreibdaten-Vergleichsschaltung 19 ein
DW2 (zweiter von zwei Schreibvorgängen) anzeigt, wird im
nächsten Zyklus T3 das Anforderungssignal 1201 auf
DCHK (Data Check für Datenprüfung) gesetzt und
für die Schreibdaten 1203 der Wert WD4 ausgegeben.
-
Auch
wird die periphere Bussteuerung 1265 auf WAIT gehalten
und damit der Zugriff auf den peripheren Bus im Wartezustand gehalten.
Wenn das Antwortsignal 1901 ein MAT (Match für Übereinstimmung)
anzeigt, werden im nächsten Zyklus T4 die periphere Bussteuerung 1265 auf
W gesetzt und der periphere Busbefehl 1301 sowie die Adresse 1302 ausgegeben. Im
Zyklus T5 werden dann die Schreibdaten 1304 ausgegeben
und damit der Schreibzugriff abgeschlossen.
-
Wie
in dem Zeitdiagramm der 8 für den zweiten Schreibzugriff
auf das periphere Modul mit einem Vergleich für den Fall
gezeigt, daß das Vergleichsergebnis eine Nichtübereinstimmung
ergibt, werden im Zyklus des Taktes T1 als Befehl 901 auf dem
Systembus 9 das Signal W und als Adresse 902 der
Wert A5 ausgegeben.
-
Im
nächsten Zyklus T2 wird für die Schreibdaten 904 der
Wert WD5 ausgegeben. Da damit das Einschreiben am peripheren Modul
noch nicht beendet ist, wird das Wartesignal 905 auf den
hohen Pegel gesetzt und so der Schreibzugriff in den Wartezustand
versetzt.
-
Im
Zyklus T2 setzt die periphere Schreibdaten-Vergleichsanforderungsschaltung 1216 das
Anforderungssignal 1201 auf ACHK und gibt für
die Adresse 1202 den Wert A5 aus.
-
Auch
wird die periphere Bussteuerung 1265 hinsichtlich des Interfaces 1215 für
den peripheren Bus auf WAIT gesetzt und damit der Zugriff auf den peripheren
Bus in den Wartezustand versetzt. Wenn das Antwortsignal 1901 von
der peripheren Schreibdaten-Vergleichsschaltung 19 ein
DW2 (zweiter von zwei Schreibvorgängen) anzeigt, wird im
nächsten Zyklus T3 das Anforderungssignal 1201 auf
DCHK gesetzt, und für die Schreibdaten 1203 wird
der Wert WD5 ausgegeben.
-
Auch
wird die periphere Bussteuerung 1265 auf WAIT und damit
der Zugriff auf den peripheren Bus im Wartezustand gehalten. Wenn
das Antwortsignal 1901 ein MIS (Mismatch für Nichtübereinstimmung)
angibt, werden im nächsten Zyklus T4 die periphere Bussteuerung 1265 auf
NUL gesetzt und die periphere Bussteuerung 1301 auf NOP
gehalten. Ein Zugriff wird nicht ausgeführt.
-
Der
Systembus 9 setzt dann das Wartesignal 905 auf
den niedrigen Pegel, um den Wartezustand für den Schreibzugriff
aufzuheben, womit der Schreibzugriff abgeschlossen ist.
-
Durch
die obigen Prozesse werden bei einem Schreibzugriff auf das periphere
Modul die ersten und zweiten Daten, wenn sie ein Vergleichsobjekt betreffen,
miteinander verglichen, so daß die Zuverlässigkeit
der Schreibdaten erhöht wird.
-
Wenn
das Vergleichsergebnis für die ersten und zweiten Schreibdaten
eine Nichtübereinstimmung ergibt, kann angenommen werden,
daß in der CPU A 1, der CPU B 5 oder
in anderen Schaltungen ein Fehler aufgetreten ist. Der Fehler kann
durch die Ausgabe von Daten erfaßt werden, die den jeweiligen Fehlerzustand
anzeigen.
-
Die 9 zeigt
ein Konfigurationsbeispiel für das Adressenregister 1912,
das Steuerregister 1913 und das Datenregister 1916 der 3,
wobei acht Registrationsnummern 0 bis 7 als Registeradressen für
das periphere Modul als Objekte für einen Schreibzugriff
mit einem Vergleich gespeichert werden können.
-
In
der 9 enthalten die Adressenregister AR0 bis AR7 die
Adressen mit einem Byte als Einheit. Zur Vereinfachung entspricht
die Größe 8 Bit. Die Steuerregister CR0 bis CR7
entsprechen jeweils den Adressenregistern AR0 bis AR7, sie enthalten die
Anzahl der Schreibvorgänge. 0 steht für kein Schreibvorgang
und 1 für einen Schreibvorgang. Das Datenregister enthält
die Schreibdaten für das erste Mal.
-
Für
die Ausgestaltung des Adressenregisters 1912, des Steuerregisters 1913 und
des Datenregisters 1916 kann auch die Konfiguration der 10 verwendet
werden.
-
In
der 10 umfaßt das Adressenregister die beiden
Adressenregister AR0 und AR1, wobei jedes Register in einen wortlangen
Adressenteil mit 4 Bit und einen Daten-Bestätigungsteil
mit 4 Bit aufgeteilt ist.
-
Die
ein Objekt für einen Schreibzugriff mit einem Vergleich
darstellende Registeradresse für das periphere Modul umfaßt
von der Adresse, die durch ein langes Wort begrenzt wird, vier fortlaufende
Byte. Im Daten-Bestätigungsteil des Adressenregisters wird
für jedes Byte festgelegt, ob ein Vergleich erforderlich
ist.
-
Im
Vergleich mit der Konfiguration der 9 ist zwar
die Angabe von Adressen begrenzt, die Größe des
Adressenregisters ist dafür geringer.
-
Für
die Ausgestaltung des Adressenregisters 1912, des Steuerregisters 1913 und
des Datenregisters 1916 kann darüberhinaus auch
die Konfiguration der 11 verwendet werden.
-
Im
Vergleich mit der Konfiguration der 9 umfaßt
bei der 11 jedes der Attributregister
CR0 bis CR7 statt einem zwei Bit, um die Anzahl der Schreibvorgänge
und die Nummer der CPU festzuhalten.
-
Da
die CPU-Nummer gespeichert wird, kann überprüft
werden, ob die CPU-Nummern beim ersten Mal und beim zweiten Mal
unterschiedlich sind.
-
(Zweite Ausführungsform)
-
In
einer zweiten Ausführungsform umfaßt das periphere
Modul A 14, das periphere Modul B 15, ... und
das periphere Modul Z 16 der ersten Ausführungsform
jeweils eine Funktion zum Ausführen eines Vergleichs von
Schreibdaten.
-
Anhand
der 12 wird der Aufbau eines peripheren Moduls für
den Mikrocontroller bei der zweiten Ausführungsform der
vorliegenden Erfindung beschrieben. Die 12 zeigt
den Aufbau eines peripheren Moduls des Mikrocontrollers bei der zweiten
Ausführungsform der vorliegenden Erfindung.
-
In
der 12 besteht das periphere Modul aus einem Interface 1410 für
den peripheren Bus, einem Puffer 1411, peripheren Registern
PR0 bis PR3 (1412 bis 1415), Attributregistern
WCR0 bis WCR3 (1416 bis 1419), einer Schreibsteuerschaltung 1420, einer
Lesesteuerschaltung 1421, einem Puffer 1422 und
einem Komparator 1423.
-
In
die bzw. aus den peripheren Registern PR0 bis PR3 (1412 bis 1415)
werden Daten mit Bezug zu einem Zugriff vom peripheren Bus 13 eingeschrieben
bzw. ausgelesen.
-
Die
Attributregister WCR0 bis WCR3 (1416 bis 1419)
enthalten für die peripheren Register PR0 bis PR3 (1412 bis 1415)
jeweils ein Vergleich-Bestätigungsbit und ein Bit für
die Anzahl der Schreibvorgänge.
-
Wenn
zum Beispiel ein Vergleich erforderlich ist und im peripheren Register
PR0 (1412) der erste Schreibvorgang noch nicht erfolgt
ist, ist das Vergleich-Bestätigungsbit des Attributregisters
WCR0 (1416) gleich 1 (gültig), und die Anzahl
der Schreibvorgänge ist 0. Wenn der Schreibvorgang in das
periphere Register PR0 (1412) erfolgt ist, liest die Schreibsteuerschaltung 1420 die
Daten 1471 aus dem Attributregister WCR0 (1416)
aus, ändert die Anzahl der Schreibvorgänge auf
1 und schreibt die Daten in das Attributregister WCR0 (1416)
zurück.
-
Wenn
der zweite Schreibvorgang am peripheren Register PR0 (1412)
erfolgt, liest die Schreibsteuerschaltung 1420 die Daten 1471 aus
dem Attributregister WCR0 (1416) aus, ändert die
Anzahl der Schreibvorgänge auf 0 und schreibt die Daten
in das Attributregister WCR0 (1416) zurück.
-
In
der Zwischenzeit liest die Lesesteuerschaltung 1421 die
beim ersten Mal eingeschriebenen Daten aus dem peripheren Register
PR0 (1412) aus.
-
Der
Komparator 1423 vergleicht die von der Lesesteuerschaltung 1421 ausgelesenen
ersten Schreibdaten 1485 mit den zweiten Schreibdaten 1454.
-
Das
periphere Register PR0 (1412) ist ein Statusregister und
enthält ein Flag für das Vergleichsergebnis. Das
Ausgangssignals 1491 des Komparators 1423 wird
in ein Vergleichsergebnisregister des peripheren Registers PR0 (1412)
eingeschrieben. Die Steuerung des peripheren Moduls selbst und die Steuerung
von anderen Schaltungen und anderem erfolgt auf der Basis des in
das Vergleichsergebnisregister des peripheren Registers PR0 (1412)
eingeschriebenen Vergleichsergebnisses.
-
Entsprechende
Prozesse werden auch für die anderen peripheren Register
PR1 bis PR3 (1413 bis 1415) und die Attributregister
WCR1 bis WCR3 (1417 bis 1419) ausgeführt.
-
Bei
der vorliegenden Ausführungsform kann der Vergleich der
Schreibdaten in den peripheren Modulen erfolgen.
-
(Dritte Ausführungsform)
-
In
einer dritten Ausführungsform umfaßt das periphere
Modul A 14, das periphere Modul B 15, ... und
das periphere Modul Z 16 der zweiten Ausführungsform
jeweils bei einem anderen Aufbau eine Funktion zum Ausführen
eines Vergleichs von Schreibdaten.
-
Anhand
der 13 wird der Aufbau eines peripheren Moduls für
den Mikrocontroller bei der dritten Ausführungsform der
vorliegenden Erfindung beschrieben. Die 13 zeigt
den Aufbau eines peripheren Moduls des Mikrocontrollers bei der
dritten Ausführungsform der vorliegenden Erfindung.
-
In
der 13 gibt es vier periphere Register (PR0, PR1,
PR0B und PR1B) (1412 bis 1415), was bei einem
Vergleich mit der zweiten Ausführungsform der 12 die
gleiche Anzahl ist, wobei die Anzahl der Register jedoch im wesentlichen
gleich zwei ist, da das periphere Register PR0B 1414 ein
Sicherungsregister für das periphere Register PR0 (1412) ist
und das periphere Register PR1B 1415 ein Sicherungsregister
für das periphere Register PR1 (1413) ist.
-
Das
periphere Register PR0B 1414 und das periphere Register
PR1B 1415 speichern jeweils die ersten Schreibdaten.
-
Beim
zweiten Schreibvorgang werden die ersten Schreibdaten 1486 vom
Komparator 1423 mit den zweiten Schreibdaten 1454 verglichen,
und das Ergebnis 1491 des Vergleichs wird durch das Vergleichsergebnis-Flag
des peripheren Registers PR0 (1412) ausgedrückt.
Das Vergleichsergebnis 1491 wird auch in die Schreibsteuerschaltung 1420 eingegeben,
und bei einer Nichtübereinstimmung wird das Einschreiben
in das periphere Register PR0 (1412) und das periphere
Register PR1 (1413), die die wichtigen Register sind, verhindert.
-
Auch
bei der vorliegenden Ausführungsform erfolgt der Vergleich
der Schreibdaten in den peripheren Modulen. Da dabei der Vergleich
der Schreibdaten unter Verwendung der Sicherungsregister für
die peripheren Register erfolgt, kann der Vergleich der Schreibdaten
erfolgen, ohne daß davon das periphere Register PR0 (1412)
und das periphere Register PR1 (1413), die die wichtigen
Register sind, beeinflußt werden.
-
(Vierte Ausführungsform)
-
Eine
vierte Ausführungsform umfaßt eine elektronische
Steuereinheit für ein Automobil mit dem Mikrocontroller
mit einer Funktion zum Vergleichen der Schreibdaten für
periphere Module nach einer der ersten bis dritten Ausführungsformen.
-
Anhand
der 14 wird die elektronische Steuereinheit für
ein Automobil mit dem Mikrocontroller nach einer der Ausführungsformen
der vorliegenden Erfindung beschrieben. Die 14 ist
eine Darstellung zur Erläuterung der elektronischen Steuereinheit
für ein Automobil mit dem Mikrocontroller nach einer der
Ausführungsformen der vorliegenden Erfindung.
-
In
der 14 ist die elektronische Steuereinheit 21 für
ein Automobil eine Vorrichtung, die den Motor 22 des Automobils 23 steuert.
Der Mikrocontroller mit der Funktion zum Vergleichen der Schreibdaten
für periphere Module gemäß einer der
ersten bis dritten Ausführungsformen befindet sich in der elektronischen
Steuereinheit 21 für ein Automobil und führt
die Gesamtkontrolle über die elektronische Steuereinheit 21 für
ein Automobil aus.
-
Wenn
bei der elektronischen Steuereinheit 21 für ein
Automobil, die wie in der 14 gezeigt den
Motor 22 des Automobils 23 elektronisch steuert, der
Mikrocontroller mit der Funktion des Vergleichs der Schreibdaten
für die peripheren Module verwendet wird, kann die elektronische
Steuerung des Motors 22 des Automobils 23 mit
hoher Geschwindigkeit erfolgen, und auch die Sicherheit ist erhöht.
-
Vorstehend
wurde die von den Erfindern der vorliegenden Erfindung gemachte
Erfindung auf der Basis von Ausführungs formen konkret beschrieben. Es
erübrigt sich zu bemerken, daß die vorliegende Erfindung
nicht auf die vorstehenden Ausführungsformen beschränkt
ist und innerhalb des Umfangs der vorliegenden Erfindung verschiedene
Modifikationen und Abänderungen möglich sind.
-
Zum
Beispiel wurde die erste Ausführungsform auf der Basis
eines Beispiels mit zwei CPUs beschrieben. Die vorliegende Erfindung
kann jedoch auf den Fall einer CPU angewendet werden. Bei einer
CPU erfolgt das Einschreiben von Daten normalerweise in einem Schreibvorgang,
und nur bei speziellen Prozessen erfolgt das Einschreiben der Daten in
zwei Schreibvorgängen. Dadurch wird die Arbeitsbelastung
der CPU verringert, und für die Daten, für die
zwei Schreibvorgänge ausgeführt werden, ist die Zuverlässigkeit
erhöht.
-
Bei
der ersten Ausführungsform erfolgt der Vergleich der Schreibdaten
durch die periphere Schreibdaten-Vergleichsschaltung 19.
Der Vergleich der einzuschreibenden Daten kann jedoch auch in der
Brücke D 12 erfolgen, wozu diese Funktion von der
peripheren Schreibdaten-Vergleichsschaltung 19 auf die
Brücke D 12 übertragen wird.
-
Bei
der ersten Ausführungsform sind die Register, die als Speicherabbildungsregister
dienen, im peripheren Modul A 14, im peripheren Modul B 15,
... und im peripheren Modul Z 16 angeordnet. Diese Register
können jedoch auch anderswo angeordnet sein, solange sie
sich nur im Mikrocontroller 20 befinden und die Steuerung
auf der Basis der Schreibdaten für das Speicherabbildungsregister
erfolgt.
-
Die
vorliegende Erfindung umfaßt einen Mikrocontroller mit
einer Anzahl von CPUs, und sie kann allgemein bei Mikrocontrollern
angewendet werden, die in einer Vorrichtung verwendet werden, bei
der eine hohe Verarbeitungsgeschwindigkeit und eine hohe Sicherheit
erforderlich 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
-