-
Die Erfindung betrifft eine Vorrichtung zur Inbetriebnahme
einer integrierten Schaltung, besonders eine integrierte
Schaltung, die einen logischen Prozessor und einen
Coprozessor mit unscharfer Logik aufweist. Die Erfindung zielt
darauf ab, die Realisierung eines solchen integrierten
Schaltkreises zu ermöglichen, der auf einer einzigen
Schaltung, auf einem einzigen Chip gleichzeitig den Prozessor
und den Coprozessor mit unscharfer Logik aufweist.
-
Integrierte Schaltkreise, die mit einem Prozessor
ausgestattet sind, sind bekannt. Diese Schaltkreise weisen
normalerweise Eingangs/Ausgangs-Vorrichtungen zum integrierten
Schaltkreis auf, den Prozessor selbst (beispielsweise
bestehend aus einem Aufbau von logischen Gattern), einen
Programmspeicher, Arbeitsregister und eventuell angeschlossene
nichtflüchtige Speicher (EPROM oder EEPROM oder EPROM
FLASH). Für einen Prozessor mit unscharfer Logik gilt eine
Definition vom gleichen Typ und er weist die gleichen
Elemente auf.
-
Das Interesse an Prozessoren mit ungenauer Logik liegt in
den Eigenheiten dieser Technik. Normalerweise müssen für
die Steuerung eines Vorgangs in einem Programm, das die
hauptsächliche Entwicklung und weitere Unterprogramme
aufweist, alle Handlungen vorgesehen und organisiert werden,
die unter der Berücksichtigung der vorliegenden Menge an
Informationen über den Zustand des Systems unternommen
werden sollen. Ein solches Programm benötigt allgemein viel
Speicherplatz, der im Programmspeicher der integrierten
Schaltung vorzusehen ist. Beispielsweise werden zur
Steuerung
eines Saugabzugssystems mit drei Eingängen und einem
Ausgang bei einem klassischen logischen Prozessor zwölf
Kilobyte im Programmspeicher benötigt, um das entsprechende
Programm zu speichern. Es kann gezeigt werden, daß diese
Steuerung mit unscharfer Logik mit einer genügenden
Genauigkeit nur das Speichern von zweiunddreißig Regeln
benötigt, die im Programmspeicher des unscharfen Prozessors
weniger als 500 Byte besetzen. Deshalb ist die Verbindung
eines logischen Prozessors mit einem Prozessor mit unscharfer
Logik auf dem gleichen integrierten Schaltkreis besonders
von Bedeutung, da sie es ohne großen zusätzlichen Speicher
ermöglicht, eine besonders wirksame Funktion (die der
unscharfen Logik) zu integrieren.
-
Diese Verbindung zeigt sich in Wirklichkeit jedoch als
nicht praktizierbar. Es ergibt sich ein Problem in der
Zusammenarbeit zwischen dem Programmspeicher des logischen
Prozessors und dem Programmspeicher des Prozessors mit
unscharfer Logik. Auf einem handelsüblichen Schaltkreis ist
man gezwungen, einen Programmspeicher des Prozessors mit
unscharfer Logik vorzusehen, der eine große Anzahl von
Regeln aufweisen müßte, um komplexe Vorgänge zu steuern, da
man vorher nicht weiß, was der Anwender damit machen wird.
Folglich ist man in diesem Fall dazu gezwungen, für den
Prozessor mit unscharfer Logik viel Speicherplatz
vorzusehen. Die gleiche Situation gilt für den Speicher des
normalen Prozessors: Auch er muß groß sein.
-
Man ist also gezwungen, einen integrierten Schaltkreis mit
zwei großen Speicheranordnungen zu bilden. Dies ist zu
geringen Kosten unmöglich. Die Lösung, die darin bestehen
würde, einen gemeinsamen Speicher zu bilden und diesen
Speicher auf die Bedürfnisse des logischen Prozessors und
die Bedürfnisse des Prozessors mit unscharfer Logik
abzustimmen,
ist nicht wirklich anwendbar, da die
Adressenbusse, die Datenbusse und die Befehlsbusse der zwei
Prozessoren nicht gleich aufgebaut sind. Ein integrierter
Schaltkreis, der einen Prozessor aufweist, wird für seine
Herstellung durch Pläne und Masken dargestellt, deren
Definition mit dem Ablaufprotokoll des logischen Prozessors
verbunden ist. Das gleiche gilt für einen Prozessor mit
unscharfer Logik. Ausgehend von unterschiedlichen
Konzeptionen sind diese Pläne und Masken nicht wirklich vereinbar.
Dennoch will man dies erreichen, wenn man es vermeiden
will, einen Prozessor mit einem Coprozessor mit unscharfer
Logik vollständig neu zu entwickeln. In der Druckschrift
EP-A-0 455 345 ist vorgesehen, die Daten eines Speichers
auf einen anderen zu übertragen.
-
Erfindungsgemäß wird diese Schwierigkeit umgangen, indem
die Programme des logischen Prozessors und des Prozessors
mit unscharfer Logik in einem einzigen Programmspeicher
gespeichert sind und dadurch, daß das Aufladen eines
flüchtigen Direktzugriffsspeichers des Prozessors mit unscharfer
Logik (RAM) durch das Programm des logischen Prozessors im
Augenblick des Einschaltens des integrierten Schaltkreises
induziert wird. Anders ausgedrückt, man löst
erfindungsgemäß ein Platzproblem auf dem integrierten Speicher, indem
eine Inbetriebnahme der Komponenten des integrierten
Speichers zeitlich versetzt wird.
-
Unter der Berücksichtigung, daß das Einschalten nicht oft
auftritt, einmal am Tag für die Inbetriebnahme der Heizung,
jede Stunde für einen Saugabzug und unter der
Berücksichtigung der Geschwindigkeit, mit der die Initialisierung
abläuft (mit einer Zeit unterhalb oder gleich einer Sekunde),
wird leicht die gesuchte Aufgabe gelöst, die darin liegt,
auf einem einzigen integrierten in sich geschlossenen
Schaltkreis zwei unterschiedliche Arten von Schaltkreisen
zu vereinen.
-
Es ist also Aufgabe der Erfindung, eine Vorrichtung zur
Inbetriebnahme eines integrierten Schaltkreises zu bilden,
die einen Programmspeicher, einen ersten logischen
Prozessor und einen Coprozessor, besonders einen Coprozessor mit
unscharfer Logik, aufweist, dadurch gekennzeichnet, daß sie
einen flüchtigen Direktzugriffsspeicher in Verbindung mit
dem Coprozessor aufweist, um Befehle des Coprozessors zu
speichern, einen Aufladeschaltkreis des
Direktzugriffsspeichers, wobei der Aufladeschaltkreis Vorrichtungen aufweist,
die das Aufladen bei jedem Einschalten des integrierten
Schaltkreises einleiten.
-
Im folgenden werden Ausführungsformen der Erfindung unter
Bezugnahme auf die beiliegenden Zeichnungen näher
erläutert, es zeigen:
-
- Figur 1: eine schematische Darstellung eines Systems nach
dem Stand der Technik, in dem der logische Prozessor und
der Prozessor mit unscharfer Logik auf zwei
unterschiedlichen Schaltkreisen ausgebildet sind;
-
- Figur 2: die gleichen wie in Figur 1 gezeigten Elemente,
aber erfindungsgemäß abgeändert, um die Verwirklichung
eines einzigen integrierten Schaltkreises zu ermöglichen;
-
- Figur 3: ein Ausführungsbeispiel eines Details der
Vorrichtung für die erfindungsgemäße Inbetriebnahme.
-
Figur 1 zeigt nach dem Stand der Technik einen ersten
integrierten Schaltkreis 100 mit einem logischen
Standardprozessor 1, der über einen Analog-Digital-Konverter 2 und
einen
Multiplexer 3 mit mehreren Sensoren 4 bis 6 verbunden
ist, die beispielsweise die Temperatur Tº oder den Druck P
messen. Der Prozessor 1 weist einen Adressenbus 7 und einen
Datenbus 8 auf, durch den er Zugang zu einem Speicher 9
hat, der insbesondere über einen Dekoder 10 das Programm
des logischen Prozessors aufweist. Er kann ebenso Zugang zu
einem Eingangs/Ausgangs-Schaltkreis 11 haben, der mit der
Außenwelt, insbesondere mit einer Verbindung vom Typ RS232
ein Signal austauscht. Der gleiche integrierte Schaltkreis
weist noch einen Dekoder 12 auf, der Steuerungssignale C
erzeugt. Die Steuerungssignale werden an verschiedene
Einrichtungen des integrierten Schaltkreises ebenso wie
gegebenenfalls an Sensoren 4 bis 6 oder andere Schaltkreise
angelegt.
-
Der beschriebene integrierte Schaltkreis 100 steht mit der
Umgebung, besonders mit einer äußeren Anzeige 13 und einem
äußeren Schaltungsschaltkreis 14 in Verbindung. Der
Prozessor 1 hat die Aufgabe das System laufend zu steuern.
Beispielsweise löst er die regelmäßige Speicherabfrage der
Sensoren aus und schickt regelmäßig Informationen an die
Anzeige oder den Schalter.
-
Die durch die Sensoren gelieferten Informationen müssen
schnell weiterverarbeitet werden. In der aktuellen Technik
geht man dazu über, Prozessoren mit unscharfer Logik zu
verwenden, wie auf einem zweiten integrierten Schaltkreis
15 in Verbindung mit dem ersten angedeutet ist. Der zweite
integrierte Schaltkreis 15 ist in diesem Fall ein
Coprozessor mit unscharfer Logik, der den Prozessor 16 selbst
ebenso wie eine logische Arithmetikeinheit und einen
Programmspeicher 17 aufweist. Er könnte ebenso ein Coprozessor
anderer Art sein. Der Schaltkreis 15 weist insbesondere eine
Verbindung auf, die als Datenbus 18 zwischen seinem
Speicher
17 und seinem Verarbeitungsschaltkreis 16 dient. Die
Verbindung 18 ist natürlich mit dem Datenbus 8 verbunden.
-
Die Wirkungsweise eines solchen Systems nach dem Stand der
Technik weist aufgrund der Initiative des Prozessors 1, die
Speicherabfrage der Sensoren 4 und 5, den Transport der von
den Sensoren abgelesenen Meßdaten über den Bus 8 in
Richtung des Coprozessors 16, die Weiterverarbeitung dieser
Informationen im Schaltkreis 16 und ihre Wiederherstellung
auf dem Bus 18 in der Form von an die Anzeige 13 oder den
Schalter 14 übertragenen Daten auf. Der Prozessor 16 weist
ebenso einen Befehlseingang auf, um über Befehle, die vom
Dekoder 12 kommen, durch die Initiative des Prozessors 1 in
Betrieb genommen werden zu können.
-
Das erfindungsgemäß gelöste Problem ist das Zusammenwirken
der Speicher 9 und 17 auf dem gleichen integrierten
Schaltkreis, deren Steuerung unterschiedlich ist. Wenn beide
Speicher in Wirklichkeit leistungsfähig sein sollen, erhält
man einen zu großen integrierten Schaltkreis. Wenn man
ihren Inhalt in einen einzigen physikalischen Speicher setzen
will, muß man dem Verfasser die Pflicht überlassen, den
Speicherplatz zu steuern. Dies ist für ihn zu schwierig.
Wenn im gemeinsamen Speicherplatz eine Begrenzung
festgesetzt wird, erhält man ein zu sehr eingeschränktes System,
das nicht für alle möglichen Anwendungen geeignet ist.
-
Die Figur 2 übernimmt die gleichen Teile von Figur 1, aber
beinhaltet darüber hinaus die Besonderheiten der Erfindung.
Der integrierte Speicher 200 weist einen logischen
Prozessor 1 und einen Coprozessor mit unscharfer Logik 16 auf. Er
weist ebenso einen Programmspeicher 9 auf. Es ist
charakteristisch für die Erfindung, daß der Coprozessor, hier mit
unscharfer Logik, nun einen flüchtigen
Direktzugriffsspeicher
19 anstatt des unscharfen Speichers 17 aufweist, der
normalerweise ein nichtflüchtiger Speicher war, um die
auszuführenden Befehle zu beinhalten. Der Speicher 19 ist mit
dem Coprozessor 16 über mehrere Verbindungen 50 verbunden.
Er weist die Regeln, die Befehle des Coprozessors auf. Die
Erfindung ist ebenso dadurch gekennzeichnet, daß sie einen
Aufladeschaltkreis 20 enthält, der das Aufladen des
Speichers 19 im Moment des Einschaltens des Schaltkreises 200
ermöglicht. In einer nachfolgend beschriebenen bevorzugten
Ausführungsform, wird im Moment des Einschaltens das
Aufladen des Speichers 9 aufgrund des Inhalts ausgeführt. Man
könnte sich jedoch ebenso das Aufladen des Speichers 19 mit
dem Eingangs/Ausgangs-Schaltkreis 11 mit Informationen von
außerhalb vorstellen, womit der Schaltkreis von Figur 2
über seinen Schaltkreis 11 angeschlossen sein würde,
insbesondere mit einem Protokoll des Typs RS232. Dies ist
übrigens Aufgabe einer anderen Patentanmeldung, die am gleichen
Tat durch die gleiche Anmelderin hinterlegt wurde.
-
Das Prinzip ist folgendes. Im Augenblick des Einschaltens
geht der Prozessor 1, der normalerweise einen
Grundstellungs-Netzschaltkreis (POR: power on reset im
Englischsprachigen) aufweist, nur in Betrieb, wenn alle seine Elemente
elektrisch richtig konf iguriert sind. Es ist
erfindungsgemäß vorgesehen, daß während des Initialisierungsschrittes
des integrierten Schaltkreises der Aufladungsschaltkreis 20
das Laden der Befehle des Coprozessors 16 in den Speicher
19 einleitet.
-
Figur 3 zeigt eine Ausführungsform wie dies vor sich gehen
könnte. Der Schaltkreis 20 weist einen Zähler 21 auf, der
ein Taktsignal eines Taktgebers 22 empfängt, der im übrigen
der Taktgeber des Prozessors 1 sein kann oder auch ein
externer Taktgeber. Der Zähler 21 wird im Augenblick des
Einschaltens
in einen gegebenen Zustand gesetzt. An seinen
Ausgängen, beispielsweise 23 bis 26, liefert er also einen
elektrischen Zustand, der seinen Anfangszählzustand
darstellt. Dieser Zählzustand wird als Adresse verwendet. Die
Ausgänge 23 bis 26 sind aus diesem Grund mit dem Dekoder 10
des Speichers 9 verbunden und ermöglichen es Speicherworte
dieses Speichers 9 anzusprechen. Zu jedem Zeitpunkt des
Taktgebers 22 erhält der Speicher 9 darüber hinaus vom
Dekoder 12 einen Lesebefehl C für seinen Inhalt, der bei der
Adresse liegt, die durch die auf den Verbindungen 23 bis 26
abgreifbaren Signalen dargestellt wird. Der so gelesene
Inhalt des Speichers wird auf die Verbindungen des
Datenbusses 8 übertragen. Nachfolgend wird zu erkennen sein, wie
die so ausgewählten Daten des Speichers 9 im Speicher 19
gespeichert werden.
-
Im folgenden Taktzeitpunkt ändert der Zähler, der das
Taktsignal an seinem Zähleingang empfängt, seinen Zählzustand:
Er zeigt eine andere Adresse an. Nachfolgend wird so jedes
Wort des angesprochenen Speichers 9 auf den Bus 8
geschickt. Auf einfachste Weise betrachte man, daß der Zähler
21 ein zwischenzählender Zähler ist.
-
Die Verbindungen 23 bis 26 des Zählers sind ebenso an die
Eingänge eines logischen ODER-Gatters 27 angeschlossen. Das
ODER-Gatter 27 liefert ein Ausgabesignal 1, sobald
wenigstens auf einer der Verbindungen 23 bis 26 der Zustand 1
ist. Wenn der Zähler beim Zustand 000...00 ankommt, liefert
das Gatter 27 den Zustand 0.
-
Man verwendet also den Zustand 0 für mehrere Anwendungen.
Einerseits verwendet man ihn, um das Zählen im Zähler 21
anzuhalten. Für diese Aufgabe ist der Ausgang des Gatters
27 an einen Eingang eines UND-Gatters 28 angeschlossen, das
das Signal des Taktgebers 22 empfängt. Auf diese Weise
ermöglicht es das UND-Gatter 28, dessen Ausgang mit dem
Zähleingang des Zählers 21 verbunden ist, dem Zähler 21, die
Taktimpulse des Taktgebers 22 nur zu zählen, wenn der
Ausgang des Gatters 27 nicht auf 0 steht. Sobald er auf
steht, hört der Zwischenzähler auf. Der Ausgang des Gatters
27 ist ebenso mit einem Steuerungseingang eines
Multiplexers 29 verbunden, der am Eingang des Dekoders 10 das
Multiplexen der Verbindungen 23 bis 26 mit den Adressenkabeln
des Busses 7 vom Prozessor 1 organisiert. Zu Beginn werden
die elektrischen Zustände, die für die Ausgänge 23 bis 26
erreichbar sind, an den Dekoder 10 angelegt, während der
Ausgang des Gatters auf 1 steht. Die Zustände des
Adressenbusses 7 werden nicht berücksichtigt. Wenn das erste Lesen
des Speichers 9 beendet ist, wird der Zähler 21 angehalten
und der Multiplexer 29 schlägt durch den Ausgang des
Gatters 27 um und ermöglicht normalerweise durch den
Adressenbus 7 das Adressieren des Speichers 9.
-
Für das Laden des RAM-Speichers 19 liefert der Prozessor 1
eine Anzahl von Adressen, die normalerweise durch den Bus 7
an die Adressenausgänge des Speichers 19 angelegt werden.
Diese Adressenanzahl wird beispielsweise durch einen
weiteren Zähler vom gleichen Typ wie der Zähler 21 erzeugt, der
im Prozessor 1 enthalten ist und der am Ausgang mit den
Verbindungen des Busses 7 verbunden ist. Währenddessen sind
die Daten selbst auf dem Bus 8 erhältlich wie es vorher
vorgesehen war. Der Prozessor 1 liefert ebenso während
dieser Initialisierungsperiode mit dem Dekoder 12 einen
Befehl, die auf dem Bus erhältlichen Daten in den Speicher 19
in die durch den Bus 7 zugewiesenen Adressen zu schreiben.
-
Am Ende der Initialisierungsperiode ist der Speicher 19 mit
den Befehlen, den Regeln ausgestattet, die für den
unscharfen Prozessor 16 verwendbar sind. Genau dies war gewollt.
-
Figur 3 zeigt ebenso einen Inbetriebnahmeschaltkreis der
Art POR nach dem Stand der Technik. Der Ausgang des
Schaltkreises POR wird erfindungsgemäß ebenso an einen
zusätzlichen Eingang des UND-Gatters 28 eingeführt, um das
Einschalten des Aufladeschaltkreises des Speichers 19 nur zu
ermöglichen, wenn der integrierte Schaltkreis in Betrieb
sein wird. Figur 3 zeigt ebenso einen Kippschalter RS 31,
der das Signal empfängt, das durch das ODER-Gatter 27
eingeführt wurde und das an seinem Ausgang /Q ein Signal
liefert, das als endgültiges Initialisierungsende des
integrierten Schaltkreises von Figur 2 dienen könnte.
-
Der Zähler 21 weist in einem bevorzugten
Ausführungsbeispiel Formsenkeneingänge 32 bis 33 auf, auf denen der
Prozessor 1 gerade elektrische Zustände abgelegt hat, die es
ermöglichen, den Zähler 21 in einen gewählten
zwischenzählenden Zustand zu setzen, bevor das durch den Schaltkreis
30 gelieferte Signal aktiv wird. Man kann auf klassische
Weise gewissen Zählern den Zustand so zuweisen, daß sie
sich in einem gewählten Zustand befinden. Diese bevorzugte
Lösung weist den Vorteil auf, daß sie es dem Verfasser
ermöglicht, im Speicher 9 die Begrenzung 34 selbst zu wählen,
die die Zonen 35 und 36 des Speichers trennt, wo man
jeweils die Befehle des unscharfen Prozessors (der nach dem
Einnschalten zu laden ist) und die Befehle des Prozessors 1
speichert. Für diese Aufgabe ist der Speicher 9
vorzugsweise ein Speicher vom Typ EEPROM: programmierbar und
löschbar. Der Teil 35 kann als ein Teil verstanden werden, der
aneinandergrenzende Speicherzonen aufweist,
aneinandergrenzend im Sinn der nachfolgenden Adressierung durch die an
den Ausgängen 23 bis 26 des Zählers 21 erhältlichen
Signale.
-
Um nicht mehr auf den Direktzugriffsspeicher 19 nach der
Initialisierungsperiode zugreifen zu können, kann man
vorsehen, daß der Bus 7 den Zugang zu dem Speicher 19 nur über
einen Multiplexer vom gleichen Typ wie der Multiplexer 29
ermöglicht, der durch das Signal gesteuert wird, das vom
Gatter 27 herrührt. Nach dem Einschalten wäre der Bus 7
beispielsweise nicht mehr mit dem Speicher 19 in
Verbindung. Dieser wäre nur mit dem Prozessor 16 über den Bus 50
in Verbindung.
-
Man kann ebenso einen anderen Aufbau des Speichers 9
vorsehen. Dieser weist in einem Beispiel einen einzigen Dekoder
(der normalerweise viel Platz einnimmt) und zwei
Speicherhälften auf. Eine erste Speicherhälfte des Speichers 9 wird
in Betrieb genommen, sobald sie das Signal empfängt, das
durch das Gatter 27 in aktivem Zustand ausgesendet wird.
Die andere Speicherseite wird in Betrieb genommen, während
sie das gleiche Signal bei inaktivem Zustand empfängt. Dies
ist schematisch in Figur 3 dargestellt, wo der Ausgang des
Gatters 27 es im Dekoder 10 als ein Eingang 36 von
zusätzlicher Dekodierung gerade ermöglicht hat, einen Speicher
vom anderen zu unterscheiden. Bei dieser Lösung gewinnt man
im Gegensatz zur Lösung, die in Figur 1 dargestellt ist,
darin, daß nur noch ein einziger Dekoder 10 für zwei
Speicherhälften vorhanden ist. Der zweite Speicherteil ist
hinter dem Speicherteil 9 gestrichelt dargestellt.