-
Die
Erfindung betrifft eine Programmausführungsvorrichtung, die zur
Sensoreinstellung in vielen verschiedenen Sensoren, die eine physikalische Größe in Form
eines elektrischen Signals erzeugen, enthalten ist und das Sensorausgangssignal
verarbeitet.
-
In
einem Sensor wie etwa einem kapazitiven Beschleunigungssensor zur
Erfassung einer physikalischen Größe als ein elektrisches Signal
muß der Sensorausgang
in der Weise eingestellt werden, daß die Skala der zu erfassenden
physikalischen Größe und die
Skala des Ausgangssignals in einer gewünschten gegenseitigen Beziehung
stehen.
-
Ein
Prozeß,
der für
die Erfüllung
der gewünschten
Beziehung erforderlich ist, wird Skaleneinstellung (Kalibrierung)
genannt, während
eine Schaltung, die in einem Sensor für die Ausführung dieses Prozesses vorgesehen
ist, Sensoreinstellschaltung genannt wird. Die Sen soreinstellschaltung ist
nichts anderes als eine Umsetzungsschaltung, die eine vorgegebene
Eingangs/Ausgangs-Charakteristik
ergibt.
-
Der
von der Sensoreinstellschaltung ausgeführte Prozeß umfaßt im allgemeinen die Bereichseinstellung
und die Versatzeinstellung. Hierbei entspricht die Bereichseinstellung
der Empfindlichkeitseinstellung, während die Versatzeinstellung
der Nullpunkteinstellung entspricht.
-
Eine
Sensoreinstellschaltung, die einen Speicher verwendet, in dem die
auszugebenden Daten an einer vorgegebenen Adresse gespeichert sind,
und die zwischen der Adresse des Speichers und dem Pegel eines Eingangssignals
eine Entsprechung herstellt, um als Ausgangssignal auszulesende
Daten auszugeben, ist bereits bekannt.
-
Beispielsweise
sind aus der JP 3-51714-A ein programmierbarer Festwertspeicher
(PROM) eines Zener-Zapping-Systems und ein Verfahren zum Wählen eines
führenden
Abschnitts einer Widerstandsanordnung in Übereinstimmung mit den Inhalten
von Daten des PROM zum Einstellen eines Sensorausgangssignals bekannt.
Es wird ein weiteres Verfahren zum Einstellen eines Sensorausgangssignals
durch Ändern
einer Schaltungskonstanten einer Schaltung aus geschalteten Kondensatoren
anhand der in den PROM geschriebenen Informationen offenbart.
-
Andererseits
ist aus der JP 8-62010-A ein Verfahren zum Einstellen eines Sensorausgangssignals
unter Verwendung eines Analog/Digital-Umsetzers (A/D-Umsetzer) und
einer Zentraleinheit (CPU) bekannt.
-
Wie
im folgenden beschrieben wird, berücksichtigen die erstgenannten
Techniken nicht die Begrenzung der Ausdehnung des Einstellungsbereichs und
die Verbesserung der Genauigkeit. Die andere Technik berücksichtigt
nicht, daß die
Unterdrückung einer
Zunahme der Schaltungsgröße begrenzt
ist, ferner besteht bei ihr ein Problem hinsichtlich der Verbesserung
des Kosten/Nutzen-Verhältnisses.
-
Was
das obenerwähnte
Verfahren zum Wählen
des führenden
Abschnitts der Widerstandsanordnung und das Verfahren zum Ändern der
Schaltungskonstante der Schaltung aus geschalteten Kondensatoren
betrifft, ist der Schaltungsaufbau einfach auf einem Chip gebildet.
Wenn jedoch versucht wird, den Einstellungsbereich zu erweitern
und die Genauigkeit zu erhöhen,
wird dies von einer exponentiellen Zunahme der Schaltungsgröße begleitet,
so daß die Ausdehnung
des Einstellungsbereichs und die Zunahme der Genauigkeit begrenzt
sind.
-
Was
das Verfahren betrifft, das den A/D-Umsetzer und die CPU verwendet,
können
die Erweiterung des Einstellungsbereichs und die Zunahme der Genauigkeit
verhältnismäßig einfach
verwirklicht werden. Wenn jedoch ein allgemeiner A/D-Umsetzer und
eine allgemeine CPU verwendet werden, besitzen diese teilweise überlappende
Funktionen. Folglich ist der ungenutzte Teil in der Schaltung groß, wobei
die Schaltungsgröße wegen
des ungenutzten Teils größer als
notwendig ist und eine Verhinderung der Zunahme der Schaltungsgröße dadurch
begrenzt ist.
-
Aus
der
US 4 896 280 ist
ein elektronisches Maßband
bekannt. In der Elektronik weist der Mikroprozessor Anschlüsse auf,
die über
einen Bus mit einer ALU, einem Akkumulator, einem Anzeigespeicher
und einem allgemeinen Speicher unter Steuerung von Firmware in einem
ROM kommuniziert.
-
Der
Erfindung liegt die Aufgabe zugrunde, eine Programmausführungsvorrichtung
zur Sensoreinstellung zu schaffen, mit der ein weiterer Einstellungsbereich
und eine hohe Genauigkeit bei geringer Schaltungsgröße einfach
erhalten werden können.
-
Diese
Aufgabe wird mit den Merkmalen des unabhängigen Anspruchs gelöst. Weiterbildungen der
Erfindung sind in den abhängigen
Patentansprüchen
angegeben.
-
Eine
Logikschaltung zur Ausführung
eines Programms hat mehrere Programmzähler (154–157),
von denen jeder jeweils die Ausführung einer
Aufgabe steuert, wobei einer der Programmzähler (154–157)
immer aufwärts
gezählt
wird und auf den Minimalwert zurückgesetzt
wird, wenn er den Maximalwert erreicht hat, eine Steuerungseinheit (153),
um mittels einer Logik (153, 33–36)
Signale zur Steuerung des Anhaltens und Ausführens eines Zählvorgangs
der Programmzähler
(154–157)
zu erzeugen, und um Aufgabenausführungssignale
zur Steuerung der Ausführung
jeweils einer der Aufgaben zu erzeugen, einen Adressengenerator
(158), um ausgehend von einem Zählwert eines durch die Aufgabenausführungssignale
bestimmten Programmzählers
(154–157)
ein Adressensignal für
einen Programmspeicher (159) zu bilden, in dem die Programme
der Aufgaben gespeichert sind, und eine Operationseinheit (161)
für arithmetische
und logische Operationen und einen Akkumulator (160), um für alle Aufgaben
die Programmanweisungen aus dem Programmspeicher auszuführen.
-
Merkmale
und Ausführungsformen
der Erfindung werden deutlich beim Lesen der folgenden Beschreibung
zweckmäßiger Ausführungen,
die auf die beigefügte
Zeichnung Bezug nimmt; es zeigen:
-
1 einen Blockschaltplan
einer Ausführung
der Sensoreinstellschaltung, bei der ein digitaler Integrator und
eine Operationseinheit durch eine Mikroprozessoreinheit gebildet
sind;
-
2 einen Blockschaltplan
einer Ausführung
eines programmierbaren Festwertspeichers;
-
3 einen Blockschaltplan
einer weiteren Ausführung
der Sensoreinstellschaltung;
-
4 einen Blockschaltplan
einer Operationseinheit der Sensoreinstellschaltung;
-
5A–D Diagramme zur Erläuterung
von Zählbedingungen
in der Operationseinheit nach 4;
-
6A–D Diagramme zur Erläuterung
von Schaltsteuerbedingungen für
die Ausführung
von Aufgaben in der Operationseinheit nach 4;
-
7 einen Zeitablaufplan zur
Erläuterung der
Zustände
eines internen Signals in der Operationseinheit nach 4;
-
8 eine erläuternde
Darstellung einer Adressenabbildung eines ein Programm speichernden
ROM;
-
9 eine erläuternde
Darstellung der Inhalte der Bits in dem ein Programm speichernden
ROM; und
-
10 ein Diagramm zur Erläuterung
der Konstruktion der Operationseinheit.
-
Mit
Bezug auf 1 wird nun
eine Ausführungsform
beschrieben, in der ein digitaler Integrator und eine Operationseinheit
durch eine Mikroprozessoreinheit (MPU) gebildet sind. Die in 1 gezeigte MPU enthält einen
RAM 26 zum vorübergehenden Speichern
von Daten, einen PROM 27 (der dem PROM 8 entspricht)
zum Speichern von Einstelldaten, einen Akkumulator 28,
eine Operationseinheit 29 zum Ausführen von Arithmetikoperationen,
eine Steuereinrichtung 30, einen Programmzähler 31 und einen
ROM 32 zum Speichern von Programmen. Die Operationseinheit 29,
der Programmzähler 31 und ein
Datenbus werden durch die Steuereinrichtung 30 in Übereinstimmung
mit einem in den ROM 32 geschriebenen Programm gesteuert,
ferner werden die für
die Operationen des digitalen Integrators 3 und der Operationseinheit 4 notwendigen
Prozesse ausgeführt.
-
In
dieser Ausführung
wird auf den ROM 32 zum Speichern von Programmen direkt
durch einen Ausgang des Programmzählers 31 zugegriffen,
wobei die Ausgangsdaten des ROM 32 direkt zur Steuereinrichtung 30 ausgegeben
werden.
-
Das
Befehlssystem ist in diesem Fall ein Wort pro Befehl. Ein Rückwärtsverzweigungsbefehl kann
nicht akzeptiert werden, ferner sind der maximale Zählwert des
Programmzählers 31 und
die Anzahl der Wörter
des ROM 32 zum Speichern von Programmen gleich. Folglich
arbeitet in dieser Ausführung
das Programm ohne Ausführung
einer Rücksetzung
korrekt, so daß ein
Rücksetzen
beim Einschalten der Stromquelle, d. h. ein Einschaltrücksetzprozeß, unnötig ist.
-
Wenn
beim Einschalten der Stromquelle kein Rücksetzen ausgeführt wird,
wird der Zählwert
des Programmzählers 31 instabil,
wobei das Programm nicht weiß,
bei welcher Adresse es beginnen soll. Da das Programm in dieser
Ausführung
keinen Rückwärtsverzweigungsbefehl
enthält,
wird beim Start des Programms der Zählwert des Programmzählers 31 stets
erhöht.
Wenn der Zählwert
den Maximalwert erreicht, kehrt er auf null zurück.
-
Im
Ergebnis ist sichergestellt, daß das
Programm stets mit Durchgang durch die erste Adresse (Adresse 0)
arbeitet, weshalb ein Rücksetzprozeß nicht
notwendig ist.
-
In
dieser Ausführung
ist das Programm selbstverständlich
auf ein sogenanntes zyklisches Programm eingeschränkt, in
dem die Adresse zyklisch von 0 zum maximalen Zählwert des Programmzählers 31 läuft.
-
Da
das Programm nur zur Ausführung
der Operationen des digitalen Integrators 3 und der Operationseinheit 4 verwendet
wird, stellt die Tatsache, daß nur
ein zyklisches Programm verwendet werden kann, keine Beschränkung dar.
Vielmehr weist diese Tatsache darauf hin, daß das Programm durch ein Durchgehen
der MPU nicht stark beeinflußt
wird. Selbst wenn die MPU durchgeht, ist die Zieladresse stets eine
Adresse des Programms, so daß,
da das Programm ein zyklisches Programm ist, die Operation stets
zum normalen Prozeß zurückkehrt.
-
Wie
bekannt ist, ist eine allgemeine MPU typischerweise mit einer Überwachungseinrichtung
wie etwa einem Beobachtungszeitgeber versehen, um sicherzustellen,
daß die
Rücksetzoperation
ausgeführt wird,
und um ein Durchgehen der MPU beherrschen zu können. In dieser Ausführung ist
jedoch der Rücksetzprozeß unnötig, so
daß bei
einem Durchgehen der MPU kein Problem entsteht. Folglich ist die Überwachungseinrichtung
nicht notwendig. Dadurch kann die Schaltungsgröße reduziert werden, ferner
kann die Zuverlässigkeit
der MPU weiter verbessert werden.
-
Nun
wird mit Bezug auf 2 eine
Ausführung
des PROM 8 beschrieben. 2 zeigt
die Konstruktion einer Speicherzelle, die eine Einheit des PROM 8 bildet.
In dieser Ausführung
ist die Einheitsspeicherzelle durch drei PROM-Speicherzellen 33, 34 und 35 gebildet,
wobei die Daten aus ihnen über eine
Mehrheitslogikschaltung 36 ausgelesen werden.
-
Im
Allgemeinen wird der PROM durch die Temperatur leicht beeinflußt, wobei
sich die Zuverlässigkeit
bei hoher Temperatur verschlechtert. Insbesondere bei einem Sensor,
der im Motorraum eines Fahrzeugs, im Weltraum oder dergleichen verwendet wird,
wird er bei hoher Temperatur eingesetzt, so daß sich die Zuverlässigkeit
leicht verschlechtert.
-
In
der Ausführung
nach 2 werden daher die
Daten aus mehreren Speicherzellen verwendet, wobei eine Mehrheitslogik
ausgeführt
wird, wodurch eine Fehlerkorrekturlogik und eine Fehlererfassungslogik
verwirklicht werden. Somit werden die fehlerhaften Daten beseitigt
und wird eine hohe Zuverlässigkeit
erhalten.
-
3 zeigt eine Ausführung einer
Sensoreinstellschaltung der Erfindung. Diese Sensoreinstellschaltung
ist hauptsächlich
aus Abschnitten konstruiert, die die folgenden drei Arten von Funktionen erfüllen.
-
Der
erste Abschnitt ist ein Abschnitt, der sowohl die Funktion eines
Verstärkers
erster Stufe als auch die Funktion eines A/D-Umsetzers hat und einen
Subtrahierer 1',
den analogen Integrierer 1, den Komparator 2 und
den 1-Bit-D/A-Umsetzer 7 enthält.
-
Der
Subtrahierer 1' hat
die Funktion, ein Ausgangssignal des 1-Bit-D/A-Umsetzers 7 von
einem Erfassungssignal eines Sensors (Vorrichtung zur Erfassung
einer physikalischen Größe) S zu
subtrahieren.
-
Der
analoge Integrator 1 hat die Funktion des Empfangens und
Integrierens der Differenz zwischen einem Ausgangssignal des Sensors
S und dem Ausgang des 1-Bit-D/A-Umsetzers 7 vom Subtrahierer 1'.
-
Der
Komparator 2 hat die Funktion des Vergleichens einer Ausgangsspannung
des analogen Integrators 1 mit einer vorgegebenen Referenzspannung
und des Umsetzens in ein 1-Bit-Signal
mit Pegel 1 oder 0.
-
Der
1-Bit-D/A-Umsetzer 7 hat die Funktion des Umsetzens des
Ausgangssignals des Komparators 2 in eine analoge Spannung
und des Lieferns der analogen Spannung an einen negativen Eingangsanschluß des Subtrahierers 1'.
-
Im
Ergebnis wird vom Komparator 2 ein Ausgangssignal (A) erhalten,
dessen Impulsdichte sich entsprechend dem vom Sensor S erfaßten Signal ändert.
-
Eine
Schaltung zum Erzeugen eines Ausgangssignals, dessen Impulsdichte
sich entsprechend einem Eingangssignal ändert, wird ΔΣ-Modulator
genannt. Dabei wird das vom Sensor S gelieferte Signal unter Verwendung
des ΔΣ-Modulators ΔΣ-moduliert,
wodurch die Anzahl von Bits des Ausgangssignals des Sensors reduziert
werden kann.
-
Der
zweite Abschnitt ist ein Abschnitt mit der Funktion des Einstellens
des Bereichs und des Nullpunkts und enthält die Operationseinheit 4,
die durch ein internes Programm betrieben wird, sowie den PROM 8,
in den im voraus vorgegebene Daten geschrieben worden sind.
-
Die
Operationseinheit 4 berechnet den Durchschnittswert der
impulsdichtemodulierten Ausgangssignale (A), die durch den ersten
funktionalen Abschnitt erhalten werden, und führt eine Arithmetikoperation
an dem Durchschnittswert der Ausgangssignale und an den im PROM 8 gespeicherten
Daten aus, wodurch der Bereich und der Nullpunkt des Ausgangssignals
des Sensors S eingestellt werden.
-
Da
wie oben erwähnt
das Ausgangssignal des Sensors S durch die digitale Arithmetikoperation verarbeitet
wird, wird im Gegensatz zu einer Einstellung durch eine analoge
Vorrichtung der Einfluß durch
Schwankungen der Vorrichtung und durch eine Temperaturänderung
nicht ausgeübt.
Daher kann eine Einstellung mit äußerst hoher
Genauigkeit verwirklicht werden.
-
Da
das vom Sensor S gelieferte Signal moduliert wird und die Anzahl
von Bits reduziert ist, kann die Schaltungsgröße dieses Abschnitts reduziert werden.
-
Die
Operation zur Erlangung des Durchschnittswerts des modulierten Signals
(Dezimierungsoperation) wird ebenfalls durch ein internes Programm
in der MPU 4 ausgeführt,
so daß die Schaltungsgröße weiter
reduziert werden kann.
-
Der
dritte Abschnitt ist ein Abschnitt mit einer D/A-Umsetzungsfunktion, der durch einen
Impulsbreitenmodulator (PWM) 5' und durch das LPF 6 gebildet
ist.
-
Der
PWM 5' gibt
ein Signal aus, dessen Impulsbreite entsprechend dem von der Operationseinheit 4 ausgegebenen
digitalen Signal moduliert wird, d. h. er gibt ein Impulsbreitenmodulationssignal
aus. Das LPF 6 mittelt die vom PWM 5' ausgegebenen
Impulsbreitenmodulationssignale und erzeugt analoge Signale.
-
Daher
wird die D/A-Umsetzungsfunktion durch den PWM 5' und durch das
LPF 6 erreicht, wobei das Ausgangssignal mit hoher Genauigkeit
abgeleitet wird, indem die Bereichs- und Nullpunkt-Einstellung für das Ausgangssignal
vom Sensor S ausgeführt
wird.
-
Nun
wird unter erneuter Bezugnahme auf 3 der
zweite Abschnitt beschrieben. Die Operationseinheit 4 im
zweiten Abschnitt besitzt den in 4 gezeigten
Aufbau und führt
vier Arten von Aufgaben im Zeitvielfach wie im folgenden beschrieben aus.
-
Die
erste Aufgabe ist die Dezimierung und die Interpolation. Die Dezimierung
ist ein Prozeß zum Berechnen
des Durchschnittswerts der Ausgangssignale des Komparators 2.
Die Interpolation ist ein Prozeß zum ΔΣ-Modulieren
eines von einem Sensor wie etwa dem Drucksensor SP oder dem Luftmassensensor
SF ausgegebenen Signals, um die Anzahl von Bits zu reduzieren. Die
erste Aufgabe wird mit höchster
Priorität
ausgeführt.
-
Die
zweite Aufgabe umfaßt
das Lesen der in den PROM 8 geschriebenen Inhalte, das
Ausführen einer
Arithmetikoperation an den Informationen und am Durchschnittswert
der durch die erste Aufgabe erhaltenen Ausgangssignale des Komparators 2 sowie das
Einstellen des Bereichs und des Nullpunkts der vom Sensor ausgegebenen
Signale.
-
Die
dritte Aufgabe ist ein Unterroutinenprozeß der zweiten Aufgabe und umfaßt die Ausführung einer
Multiplikation.
-
Die
vierte Aufgabe ist eine Aufgabe zum Ausführen eines Prozesses, der aktiviert
wird, wenn ein externes Signal PROM_WRITE niedrigen Pegel annimmt,
der Informationen von einer seriellen Kommunikationsschnittstelle
(SCI) empfängt
und der Informationen in den PROM 8 schreibt.
-
Die
Ausführung
der Aufgaben wird durch einen Tastschalter 151, ein Programmzähler-Steuerregister
(PCCR) 152, Programmzähler
(PC) 154, 155, 156 und 157,
eine Steuereinheit 153 und einen Adressengenerator 158 für einen
Programm-ROM 159 gesteuert.
-
Ein
Steuersignal des internen Busses und ein Signal eines Adressenbusses
werden durch den Programm-ROM 159 erzeugt. Gemäß den Inhalten des
Steuersignals und des Adressenbussignals werden Daten zwischen einem
Akkumulator 160, einer Operationseinheit 161,
einem Zähler 162,
einem Steuerabschnitt 163 für serielle Kommunikation, einem
RAM 164, einem ROM 165, einem Ausgangsanschluß 166,
einer Umschaltschaltung 167 und dem PCCR 152,
die mit den internen Bussen (dem Steuersignalbus, dem Adressenbus
und dem Datenbus) verbunden sind, übertragen. Die Umschaltschaltung 167 schaltet
zwischen dem RAM 168 und dem PROM 8 (8) um, die mit der Schaltung 167 und mit
einem Puffer verbunden sind.
-
Nun
wird die Funktionsweise der Operationseinheit 4 beschrieben.
Zunächst
wird die Operation der Steuereinheit 153 erläutert. Als
erste Operation steuert die Steuereinheit 153 die PCs 154, 155, 156 und 157.
Als zweite Operation erzeugt die Steuereinheit 153 Aufgabenausführungssignale,
um die Ausführung
der vier Arten von Aufgaben zu steuern.
-
Die
erste Operation der Steuereinheit 153, d. h. die Steuerung
der PCs 154, 155, 156 und 157 wird nun
be schrieben. Die Steuereinheit 153 erzeugt Signale zum
Steuern des Anhaltens und des Ausführens einer Zähloperation
für die
PCs 154, 155, 156 und 157 durch
die in 2 gezeigte Logikschaltung.
Für den
PC 154 wird, wie in 5A gezeigt
ist, ein Signal zum Hochzählen
des Zählers 154 erzeugt,
wenn ein externes Signal PROM_WRITE hohen Pegel besitzt. Wie in 5B gezeigt ist, wird der
PC 155 hochgezählt,
wenn das externe Signal PROM_WRITE hohen Pegel besitzt, der Zählwert des
PC 154 größer als
ein im voraus gesetzter Wert des Tastschalters 151 ist,
der Zählwert
des PC 156 der Maximalwert ist und das Bit 0 des PCCR 152 den
Wert "1" hat oder der Zählwert des
PC 155 nicht der Maximalwert ist. Wie in 5C gezeigt ist, wird der PC 156 hochgezählt, wenn
das externe Signal PROM_WRITE hohen Pegel besitzt, der Zählwert des
PC 154 größer als
der im voraus gesetzte Wert des Tastschalters 151 ist und
das Bit 1 des PCCR 152 den Wert "1" hat oder
der Zählwert
des PC 156 nicht der Maximalwert ist. Wie in 5D gezeigt ist, wird der
PC 157 hochgezählt,
wenn das externe Signal PROM_WRITE niedrigen Pegel hat.
-
Nun
wird die zweite Operation der Steuereinheit 153, d. h.
die Erzeugung der Aufgabenausführungssignale,
beschrieben. Die Steuereinheit 153 erzeugt durch die in 6 gezeigte Logikschaltung Ausführungssignale
für vier
Aufgaben. Wie in 6A gezeigt
ist, wird das Ausführungssignal
für die
erste Aufgabe erzeugt, wenn das externe Signal PROM WRITE hohen
Pegel besitzt und der Zählwert
des PC 154 gleich oder kleiner als der gesetzte Wert des Tastschalters 151 ist.
Wie in 6B gezeigt ist,
wird das Ausführungssignal
für die
zweite Aufgabe erzeugt, wenn das externe Signal PROM WRITE hohen
Pegel besitzt, der Zählwert
des PC 154 größer als
der im voraus gesetzte Wert des Tastschalters 151 ist und
der Zählwert
des PC 156 der Maximalwert ist. Wie in 6C gezeigt ist, wird das Ausführungssignal
für die
dritte Aufgabe erzeugt, wenn das externe Signal PROM_WRITE hohen
Pegel besitzt, der Zählwert
des PC 154 größer als
der gesetzte Wert des Tastschalters 151 ist und der Zählwert des
PC 156 nicht der Maximalwert ist. Wie in 6D gezeigt ist, wird das Ausführungssignal
für die
vierte Aufgabe erzeugt, wenn das externe Signal PROM_WRITE niedrigen
Pegel besitzt.
-
Nun
wird mit Bezug auf den Zeitablaufplan von 7 beschrieben, wie die vier Arten von
Aufgaben durch die obige Operation der Steuereinheit 153 ausgeführt werden.
-
Im
Zeitintervall 1 ist das externe Signal PROM_WRITE auf hohem
Pegel und ist der Zählwert des
PC 154 gleich oder kleiner als der im Voraus gesetzte Wert
des Tastschalters 151, so daß nur der PC 154 hochgezählt wird
und die erste Aufgabe ausgeführt
wird. Da der im Voraus gesetzte Wert des Tastschalters 151 auf
die Endadresse des Programms der ersten Aufgabe gesetzt ist, startet
das Programm der ersten Aufgabe im Zeitintervall 1 und
wird bis zum Ende ausgeführt.
-
Im
Zeitintervall 2 ist das externe Signal PROM_WRITE auf hohem
Pegel und der Zählwert des
PC 154 wird größer als
der im Voraus gesetzte Wert des Tastschalters 151, so daß das Ausführungssignal
für die
zweite Aufgabe wahr wird. In diesem Zeitintervall ist jedoch das
Bit 0 des PCCR 152 "0", so daß das Zählen des
PC 155 angehalten wird. Daher ist die zweite Aufgabe noch
nicht ausgeführt.
-
Im
Zeitintervall 3 ist das externe Signal PROM_WRITE auf hohem
Pegel und läuft
der PC 154 über,
so daß sein
Zählwert
auf 0 zurückgesetzt wird
und kleiner als der im Voraus gesetzte Wert des Tastschalters 151 ist.
Daher wird nur der PC 154 hochgezählt und die erste Aufgabe wird
ausgeführt.
-
Im
Zeitintervall 4 wird ähnlich
wie im Zeitintervall 2 das Ausführungssignal für die zweite
Aufgabe wahr. Da in das Bit 0 des PCCR 152 durch das erste
Programm im Zeitintervall 3 der Wert "1" geschrieben
wird, beginnt der PC 155 mit dem Hochzählen, wobei die zweite Aufgabe
ausgeführt
wird.
-
Im
Zeitintervall 5 wird die erste Aufgabe ausgeführt und
wird die zweite Aufgabe während
ihrer Ausführung
angehalten. Die zweite Aufgabe wird im Zeitintervall 6 erneut
ausgeführt.
-
Im
Zeitintervall 6 wird die zweite Aufgabe am Beginn ausgeführt, wie
in dem Zeitablaufplan gezeigt ist. Da von der zweiten Aufgabe in
das Bit 1 des PCCR 152 der Wert "1" geschrieben
wird, wird mit der Ausführung
der dritten Aufgabe begonnen und während des Zeitintervalls 6 bis
zum Startpunkt des Zeitintervalls 7 ausgeführt. Die
dritte Aufgabe wird am Startpunkt des Zeitintervalls 7 angehalten.
-
Im
Zeitintervall 7 wird ähnlich
wie im Zeitintervall 1 die erste Aufgabe ausgeführt. Im
Zeitintervall 8 wird die dritte Aufgabe erneut ausgeführt und
am Ende des Zeitintervalls 8 während ihres Verlaufs angehalten.
Im Zeitintervall 9 wird die erste Aufgabe erneut ausgeführt. Im
Zeitintervall 10 wird die dritte Aufgabe erneut ausgeführt. Bei
Beendigung der dritten Aufgabe wird die Ausführung der zweiten Aufgabe fortgesetzt.
Im Zeitintervall 11 nimmt das externe Signal PROM_WRITE
niedrigen Pegel an, so daß die vierte
Aufgabe ausgeführt
wird.
-
Wie
in dem Zeitablaufplan gezeigt ist, wird daher die erste Aufgabe
in einem konstanten Zyklus entsprechend der Zählung des PC 154 ausgeführt, wenn
das externe Signal PROM_WRITE hohen Pegel besitzt.
-
Die
zweite und die dritte Aufgabe werden während der Leerlaufzeit der
ersten Aufgabe ausgeführt.
Der Beginn der zweiten Aufgabe wird durch die erste Aufgabe gesteuert,
während
der Beginn der dritten Aufgabe durch die zweite Aufgabe gesteuert wird.
Die vierte Aufgabe wird durch das externe Signal PROM_WRITE gesteuert.
-
Nun
wird die Operation des Adressengenerators 158 für den Programm-ROM 159 beschrieben. Der
Adressengenerator 158 für
den Programm-ROM 159 hat die Funktion der Erzeugung eines
Adressensignals für
den Programm-ROM.
-
8 ist eine Adressenabbildung
des Programm-ROM 159. Wie gezeigt, ist das Programm der ersten
Aufgabe an den Adressen 000 bis 0FF gespeichert. Ebenso ist das
Programm der zweiten Aufgabe an den Adressen von 100 bis 1FF gespeichert,
ist das Programm der dritten Aufgabe an den Adressen von 200 bis
3FF gespeichert und ist das Programm der vierten Aufgabe an den
Adressen von 400 bis 0ff gespeichert.
-
Der
Adressengenerator 158 für
den Programm-ROM 159 erzeugt Adressensignale für den ROM 159 anhand
der Ausführungssignale
für die Aufgaben,
die von der Steuereinheit 153 erzeugt werden, und anhand
der Zählwerte
für die
PCs 154 bis 157, wie später beschrieben wird.
-
Wenn
das Ausführungssignal
für die
erste Aufgabe wahr ist, werden die oberen drei Bits des Adressensignals
des ROM 159 auf "000" gesetzt. Was die
unteren acht Bits des Adressensignals des ROM 159 betrifft,
so wird der Zählwert
des PC 154 als Adressensignal verwendet.
-
Wenn
das Ausführungssignal
für die
zweite Aufgabe wahr ist, werden die oberen drei Bits des Adressensignals
des ROM 159 auf "001" gesetzt, wobei der
Zählwert
des PC 155 für
die unteren acht Bits des Adressensignals des ROM 159 verwendet werden.
-
Wenn
das Ausführungssignal
der dritten Aufgabe wahr ist, werden die oberen zwei Bits des Adressensignals
des ROM 159 auf "01" gesetzt und der
Zählwert
des PC 156 wird für
die unteren neun Bits des Adressensignals des ROM 159 verwendet.
-
Wenn
das Ausführungssignal
für die
vierte Aufgabe wahr ist, werden die oberen drei Bits des Adressensignals
des ROM 159 auf "101" gesetzt, während der
Zählwert
des PC 157 für
die unteren acht Bits des Adressensignals des ROM 159 verwendet
wird. Wie oben erwähnt
worden ist, wird das Adressensignal des ROM 159 aus jedem
der Zählwerte
der PCs 154 bis 157 und aus dem Ausführungssignal
für die
jeweilige Aufgabe erzeugt.
-
Nun
wird die Operation des Programm-ROM 159 erläutert. In
der Bitstruktur des ROM 159 ist, wie in 9 gezeigt ist, das 7. Bit ein Befehlscode,
während
die 6. bis 0. Bits eine die Ausführungsadresse angebende
Bitstruktur haben. Für
einen Befehl wird ein Wort verwendet.
-
Wenn
der Befehlscode "1" ist, wird eine Operation
zum Übertragen
von Daten von einer durch die Ausführungsadresse bezeichneten
Vorrichtung an einen Akkumulator 160 ausgeführt. Wenn
der Befehlscode "0" ist, wird eine Operation
zum Übertragen
von Daten vom Akkumulator 160 an eine durch die Ausführungsadresse
bezeichnete Vorrichtung ausgeführt.
-
Folglich
können
das Steuersignal des internen Busses und das Signal des Adressenbusses
folgendermaßen
erzeugt werden. Als Signal des Adressenbusses werden die Daten vom
Bit 6 bis zum Bit 0 im ROM 159 unverändert ausgegeben. Als Steuersignal
(Lese- und Schreibsignale) werden die Daten des Bits 7 im ROM 159 unverändert ausgegeben.
In dieser Ausführung
können
daher das Steuersignal des internen Busses und das Signal des Adressenbusses
nur durch die obige Operation erzeugt werden.
-
Nun
wird die Operationseinheit 161 beschrieben. Die Operationseinheit 161 besitzt
die in 10 gezeigte logische
Struktur und unterstützt
die Prozesse der Addition, der UND-Operation, der Inversion, des
arithmetischen Rechtsschiebens und des arithmetischen Linksschiebens.
-
Die
Additionsoperation wird wie in 10 gezeigt
in der Weise ausgeführt,
daß die
Inhalte eines Registers 169, das an den internen Bus angeschlossen
ist und eine vorgegebene Adresse besitzt und in das/aus dem Daten
eingegeben bzw. ausgelesen werden können, zu den Inhalten des Akkumulators 160 durch
einen Addierer 170 addiert werden und das Additionsergebnis
an einen Ausgangsanschluß 175 geliefert
wird, der an den internen Bus angeschlossen ist und eine vorgegebene
Adresse besitzt.
-
Für die Additionsoperation
ist es somit schwierig, Additionsdaten an das Register 169 zu übertragen,
zu addierende Daten an den Akkumulator 160 zu übertragen
und den Ausgangsanschluß 175 zu
lesen. Das Additionsergebnis kann nur durch diese Operation erhalten
werden.
-
Der
Addierer 170 handhabt die Daten anhand ihres Zweierkomplements.
Wenn ein Überlauf oder
ein Unterlauf auftritt, wird entweder die maximale positive Zahl
oder die maximale negative Zahl gesetzt. Daher sind Überlauf-
und Unterlaufprozesse im Programm unnötig.
-
Gemäß dieser
Ausführung
kann daher, obwohl die Vielseitigkeit der Datenlänge reduziert ist, die Anzahl
der Programmschritte reduziert werden, ferner kann die Ausführungszeit
für eine
Anwendung, in der die Datenlänge
fest ist, verkürzt
werden. Nun wird die UND-Operation beschrieben. Bei einer UND-Operation
werden ähnlich
wie bei der Additionsoperation die Inhalte des Akkumulators 160 und die
Inhalte des Registers 169 an eine UND-Operationseinheit 171 geliefert,
wobei das Ergebnis der UND-Operation
an einem Ausgangsanschluß 176 ausgegeben
wird.
-
Für die UND-Operation
ist es ausreichend, die UND-Daten an das Register 169 zu übertragen, die
der UND-Operation zu unterwerfenden Daten an den Akkumulator 160 zu übertragen
und den Ausgangsanschluß 176 zu
lesen. Das UND-Ergebnis kann
durch diese Operation erhalten werden.
-
Bei
der Inversionsoperation werden die Inhalte des Akkumulators 160 an
eine Inversionsoperationseinheit 172 geliefert und das
Ergebnis der Inversionsoperation wird an einen Ausgangsanschluß 177 ausgegeben.
Für die
Inversionsoperation ist es daher ausreichend, zu invertierende Daten
an den Akkumulator 160 zu übertragen und den Ausgangsanschluß 177 zu
lesen. Das Ergebnis der Inversionsoperation kann einfach erhalten
werden.
-
In
der arithmetischen Rechtsschiebeoperation werden die Inhalte des
Akkumulators 160 in eine arithmetische Rechtsschiebe-Operationseinheit 173 eingegeben,
wobei die Ergebnisse der arithmetischen Rechtsschiebeoperation am
Ausgangsanschluß 178 ausgegeben
werden. Für
die arithmetische Rechtsschiebeoperation ist es daher ausreichend,
der arithmetischen Rechtsschiebeoperation zu unterwer fende Daten
an den Akkumulator 160 zu übertragen und den Ausgangsanschluß 178 zu
lesen. Das Ergebnis der arithmetischen Rechtsschiebeoperation kann
nur durch diese Operation erhalten werden.
-
In
der arithmetischen Linksschiebeoperation werden die Inhalte des
Akkumulators 160 in eine arithmetische Linksschiebe-Operationseinheit 174 eingegeben,
wobei das Ergebnis der arithmetischen Linksschiebeoperation am Ausgangsanschluß 179 ausgegeben
wird. Für
die arithmetische Linksschiebeoperation ist es daher ausreichend,
der arithmetischen Linksschiebeoperation zu unterwerfende Daten
an den Akkumulator 160 zu übertragen und den Ausgangsanschluß 179 zu
lesen. Das Ergebnis der arithmetischen Linksschiebeoperation kann
durch diese Operation einfach erhalten werden.
-
Nun
wird die Operation eines Registers 169 beschrieben. Wenn
die Inhalte des Registers 169 sich in einem vorgegebenen
Zustand befinden oder wenn der Zustand des Aufgabenausführungssignals ein
vorgegebener Zustand ist, wird das Register 169 anhand
des Vorhandenseins oder Fehlens eines Übertrags in der Operationseinheit 161 so
gesteuert, daß das
Schreiben gesperrt wird. Bei dieser Struktur kann ein für die Arithmetikoperation
erforderlicher Verzweigungsprozeß falsch ausgeführt werden.
-
Der
Zustand der Schreibsperre ist nicht auf das Vorhandensein oder Fehlen
des Übertrags
eingeschränkt.
Das Schreiben kann auch durch das Auftreten eines Überlaufs,
durch das Schreiben vorgegebener Daten in ein vorgegebenes Register
und dergleichen gesperrt werden. Daher wird die die Verzweigungsoperation
begleitende Operation des Programmzählers unnötig, wobei die Größe der Logikanordnung
des Programmzählers
reduziert werden kann.
-
Nun
werden die Eigenschaften der Operationseinheit 4 dieser
Ausführung
beschrieben. Die erste Eigenschaft ist, daß eine Rücksetzoperation unnötig ist.
Bei einer herkömmlichen
Technik, die eine normale MPU verwendet, ist eine Rücksetzoperation aus
den folgenden Gründen
stets erforderlich. In der herkömmlichen
Technik ist der Programm-ROM an den gleichen Bus angeschlossen,
an den auch ein Daten-ROM, ein RAM und eine Eingabe/Ausgabe-Schnittstelle
(E/A) angeschlossen sind. Falls daher die Rücksetzoperation nicht ausgeführt wird,
wird der Anfangswert des Programmzählers instabil. Es besteht
die Möglichkeit,
daß der
Anfangswert des Programmzählers
den Daten-ROM, den RAM oder die E/A angibt.
-
Was
die Befehlswortlängen
betrifft, so gibt es Befehle aus einem, aus zwei und aus drei Wörtern. Die
Länge ist
je nach Befehlscode und Adressierungsmodus unterschiedlich. Selbst
wenn daher der Anfangswert des Programmzählers zufällig den Programm-ROM angibt,
gibt er nicht immer die den Befehlscode enthaltende Adresse an.
Da der Rückwärtsverzweigungsbefehl
im allgemeinen unterstützt wird,
besteht selbst dann, wenn der Anfangswert des Programmzählers zufällig den
Befehlscode des Programm-ROM angibt, die Möglichkeit des Eintritts in eine
Endlosschleife.
-
Ferner
ist in der herkömmlichen
MPU die Anzahl der Befehlscodes groß, ebenso ist die Anzahl der
Adressierungsmodi groß.
Daher benötigt
ein Befehlsdecodierer, der einen Befehl analysiert, eine Rücksetzoperation.
-
Ein
Anwendungsprogramm wird im allgemeinen unter der Voraussetzung des
Anfangsprozesses ausgeführt,
so daß der
Anfangswert des Programmzählers
auf einen vorgegebenen Wert gesetzt werden muß. Daher ist das Rücksetzen
unabdingbar.
-
Aufgrund
der Rücksetzfunktion
besteht jedoch bei einer allgemeinen MPU stets die Gefahr eines
Durchgehens. Für
eine Anwendung, die eine strikte Zuverlässigkeit erfordert, ist daher
ein Beobachtungszeitgeber oder dergleichen als Gegenmaßnahme gegen
ein Durchgehen vorgesehen. Die Kosten der Gegenmaßnahme sind
nicht vernachlässigbar
und erhöhen
unvermeidlich die Gesamtkosten.
-
Die
Erfindung verwirklicht eine Operationseinheit, die eine Rücksetzoperation
nicht benötigt.
Da die Rücksetzoperation
unnötig
ist, ist die Gefahr eines Durchgehens beseitigt. Daher ist auch
eine Gegenmaßnahme
wie etwa ein Beobachtungszeitgeber unnötig, so daß die Operationseinheit billiger
hergestellt werden kann.
-
Der
Grund, weshalb die Rücksetzoperation in
der Operationseinheit 4 gemäß dieser Ausführung unnötig ist,
wird nun beschrieben. Der Programm-ROM ist mit einem Datenbus verbunden,
der von dem Bus verschieden ist, an den der Daten-ROM, der RAM,
die E/A und dergleichen angeschlossen sind. Im Ergebnis kann die
Möglichkeit, daß der Anfangswert
des Programmzählers
den Daten-ROM, den RAM oder die E/A angibt, beseitigt werden.
-
Die
Länge eines
Befehlsworts ist auf ein Wort fixiert, so daß der Anfangswert des Programmzählers stets
die den Befehlscode enthaltende Adresse angibt. Außerdem kann
der Rückwärtsverzweigungsbefehl
beseitigt werden. Da im allgemeinen die Bildung einer Schleife in
einem Anwendungsprogramm notwendig ist, ist die Rückwärtsverzweigung
stets erforderlich. Da in dieser Ausführung der Erfindung in der
Operationseinheit 4 eine Wiederholungssteuerung ausgeführt wird,
ist eine Schleife notwendig. Unter Ausnutzung der Tatsache, daß der Zählwert des
Zählers
auf "0" zurückgesetzt
wird, wenn die einzelnen Programmzähler 154 bis 157 überlaufen,
wird eine Schleife zur Wiederholungssteuerung erhalten.
-
In
der Operationseinheit 4 werden zwei Arten von Befehlscodes
zum Laden (Datenübertragung
an den Akkumulator) bzw. zum Speichern (Datenübertragung vom Akkumulator)
verwendet, wobei als Adressierungsmodus nur eine direkte Adressierung verwendet
wird und nur ein einziger Akkumulator verwendet wird.
-
Bei
diesem Aufbau ist der Befehlsdecodierer selbst unnötig und
die Logik kann vereinfacht werden, wodurch eine Logikstruktur verwirklicht
wird, die die Rücksetzoperation
nicht erfordert.
-
Bei
dieser Ausführung
ist das Anwendungsprogramm auf die Einstellung des Nullpunkts und
des Bereichs des Sensors, auf die Berechnung des Filterungsprozesses
und dergleichen eingeschränkt
und erfordert keine Initialisierung.
-
Es
entsteht kein Problem, falls das Anwendungsprogramm beginnend bei
irgendeinem Abschnitt bezüglich
der Einstellung des Nullpunkts und des Bereichs des Sensors ausgeführt werden
kann.
-
Die
zweite Eigenschaft besteht darin, daß zwei Arten von Befehlscodes
zum Laden (Datenübertragung
an den Akkumulator) bzw. zum Speichern (Datenübertragung vom Akkumulator)
verwendet werden und der Befehlsdecodierer nicht verwendet wird.
Daher kann eine Reduzierung der Größe der Logikanordnung verwirklicht
werden, außerdem
wird die obenerwähnte
Rücksetzoperation
unnötig.
Genauer wird die obige Eigenschaft durch Verwenden der Operationseinheit 161 wie
in 4 gezeigt erzielt.
-
Selbst
wenn bei Verwendung der Operationseinheit 161 die beiden
Arten von Befehlscodes, nämlich
das Laden und das Speichern, verwendet werden, können die Arithmetikoperationen
wie etwa die Addition, die UND-Operation, die Inversion, das arithmetische
Rechtsschieben und das arithmetische Linksschieben verwirklicht
werden.
-
Genauer
wird der Verzweigungsprozeß bei Verwenden
des in 10 gezeigten
Registers 169 fälschlich
ausgeführt,
so daß der
inhärente
Verzweigungsprozeß unnötig ist.
Daher sind lediglich zwei Arten von Befehlscodes zum Laden und zum
Speichern in der Operationseinheit 4 ausreichend.
-
Die
dritte Eigenschaft besteht darin, daß vier Arten von Aufgaben im
Zeitvielfach mit einer einfachen Schaltungskonstruktion in der Operationseinheit 4 gemäß dieser
Ausführung
ausgeführt
werden. Die vier Programmzähler
(PC) 154 bis 157 sind vorgesehen und die vier
Arten von Aufgaben werden durch die vier PCs ausgeführt, so
daß komplizierte Prozesse
mit einer einfachen Schaltungskonstruktion ausgeführt werden
können.