-
Die vorliegende Erfindung bezieht sich auf Unterbrechungssignale, auf die eine Mikrosteuerung reagiert. Besonders bezieht sich diese Erfindung auf ein System für das Anlegen von Unterbrechungssignalen an die Mikrosteuerung, die sich auf einem Integrierten Schaltkreis befindet, und der Entwurf eines solchen Systems ist besonders flexibel dadurch, daß die Unterbrechungssignale sowohl von Chip-externen als auch von Chip-internen Komponenten angelegt werden können.
-
Es ist wohlbekannt, daß Mikrosteuerungen das Anliegen einer Unterbrechungsanforderung am Ende der jeweils ausgeführten Instruktion abprüfen. Die Mikrosteuerung rettet des unterbrochenen Programms nächste Instruktionsadresse, die sich momentan in seinem Programmzähler (pc, programm counter) befindet, und lädt dann die Startadresse der Unterbrechungsbehandlungsroutine. Der neue Wert wird dann auf den Adressenbus gelegt, so daß die erste Instruktion der Unterbrechungsbehandlungsroutine zur Ausführung geholt werden kann.
-
Die Adresse des unterbrochenen Programms wird generell durch Ablegen auf einem Speicherhaufen (stack) gerettet, der ein Speicherblock ist, welcher als ein Zuerst-hinein-zuletzt-heraus-Puffer genutzt wird, oder sie wird durch Speichern der Adresse in einem temporären Register gerettet.
-
Es ist wohlbekannt, daß eine auf dem Chip befindliche Mikrosteuerung Unterbrechungen sowohl von Komponenten auf dem Chip als auch von Komponenten außerhalb des Chip behandeln kann. In Systemen, in denen solche vielfachen Unterbrechungsanforderungsquellen vorliegen, muß die Auflösung der Prioritäten zwischen den Unterbrechungsanforderungen klar eingerichtet sein, so daß die Mikrosteuerung bestimmen kann, welche Unterbrechungsanforderung zu behandeln ist. Abhängig von der Systemarchitektur kann diese Prioritätenauflösung zur Unterbrechungsverzögerung beitragen oder auch nicht. Am Schluß einer Unterbrechungsbehandlungsroutine wird die gerettete Programmadresse in die Mikrosteuerung wieder geladen, so daß das unterbrochene Programm in der Ausführung fortgesetzt werden kann. Während des Systemtests und der Fehlerbeseitigung ist es besonders hilfreich, auf die Unterbrechungsanforderungen zuzugreifen, so daß irgendwelche Probleme diagnostiziert und korrigiert werden können.
-
Keines der Unterbrechungssysteme nach dem Stand der Technik für eine in einem Integrierten Schaltkreis eingebettete Mikrosteuerung ist gänzlich befriedigend. Es ist daher wünschenswert, ein verbessertes System für die Behandlung von Unterbrechungsanforderungssignalen auf einem Integrierten Schaltkreis vorzusehen, das flexibler in der Reaktion sowohl auf Komponenten innerhalb als auch außerhalb des Chip ist und trotzdem leicht getestet und einer Fehlerbeseitigung unterzogen werden kann.
-
Die
DE 35 23 621 C2 offenbart einen halb-kundenspezifizierten integrierten Schaltkreis (LSIC) mit einem Substrat, einer Vielzahl von in dem Substrat ausgeführten Makrozellen (
42), einer peripheren Schaltung (
46) und einer ersten sowie einer zweiten Verdrahtungsschicht. Jede in dem Substrat ausgeführte Makrozelle (
42) hat Verbindungsflächen (
43) und weist jeweils eine Vielzahl einzelner kundenspezifizierter Halbleiterbauelemente auf, wobei die Halbleiterbauelemente in herkömmlichen unabhängigen großintegrierten Maskenmustern angeordnet und durch die erste Verdrahtungsschicht mit den Verbindungsflächen (
43) verbunden sind. Die Makrozellen weisen jeweils verschiedene Funktionen auf, wobei die periphere Schaltung (
46) einen interaktiven Betrieb der Makrozellen erlaubt und eine Vielzahl von integrierten Schaltungen aufweist, welche in einem Feld in dem Substrat angeordnet sind. Die zweite Verdrahtungsschicht verbindet die Makrozellen und die periphere Schaltung, um den Betrieb des großintegrierten Schaltungskreises zu erlauben. Ferner werden ein Taktbus (
51), ein Lokalbus (
52), ein Steuerbus (
54), ein Adressbus (
5) und ein Datenbus (
6) vorgesehen, die jeweils mit den Makrozellen (
42) und der peripheren Schaltung (
46) verbunden sind.
-
Die
DE 14 62 952 A bezieht sich auf eine Schaltungsanordnung zur Realisierung logischer Funktionen, die mit aktiven Halbleiterbauelementen bestückt sind. Es werden aktive Halbleitereinrichtungen verwendet, die zwei im Abstand voneinander angeordneter, in einem Stromweg begrenzende Elektroden und eine die Leitfähigkeit dieses Stromweges steuernde Steuerelektrode enthalten. Vorzugsweise werden Unipolar- oder Feldeffekttransistoren mit isolierter Steuerelektrode verwendet. In diesem Fall sind dann die den stromwegbegrenzenden Elektroden die Quellen- und die Abflusselektrode. Die angegebene Technik eignet sich vor allem für synchron arbeitende, durch Uhrimpulse gesteuerte logische Systeme, insbesondere für einen Dekoder eines aktiven Speichers, bei dem die Wörter mit einer bestimmten Frequenz adressiert werden. Die logischen Schaltungen benötigen nur einen Transistor pro logischem Eingang und zwei Transistoren für einen Uhrsignaleingang, ohne dass ein Vorteil geringer Verlustleistung verloren geht. Einer der beiden Uhrsignaltransistoren kann mehrere Gruppen von Transistoren für logische Eingangssignale gemeinsam sein. Die Schaltungen haben außerdem den Vorteil, dass die Anzahl der direkt an die Ausgangsklemme angeschlossenen Transistoren erheblich reduziert ist.
-
Der Erfindung liegt die Aufgabe zugrunde, einen flexiblen Entwurf für eine auf einem integrierten Schaltkreis eingebettete Mikrosteuerung vorzusehen, so dass ein einzelner Unterbrechungseingang benutzt werden kann, um eine Anzahl von Komponenten innerhalb als auch außerhalb des Chips abzuhandeln.
-
Diese Aufgabe ist durch den Gegenstand des unabhängigen Patentanspruchs 1 gelöst.
-
Bevorzugte Ausführungsformen sind in den abhängigen Patentansprüchen definiert.
-
Es ist ein Aspekt der vorliegenden Erfindung, eine einfache und trotzdem flexible Unterbrechung für die Benutzung in einer Mikrosteuerung vorzusehen, die in einen integrierten Schaltkreis eingebettet ist, so dass jeder der Unterbrechungseingänge dazu genutzt werden kann, Komponenten sowohl innerhalb als auch außerhalb des Chips zu bedienen.
-
Ein weiterer Aspekt der vorliegenden Erfindung ist es, einen flexiblen Unterbrechungsentwurf für eine in einem integrierten Schaltkreis eingebettete Mikrosteuerung vorzusehen, der in der Systementwicklung und Fehlerbeseitigung gut geeignet ist.
-
Die obigen und zusätzliche Ziele der vorliegenden Erfindung werden erreicht durch Vorsehen eines Integrierten Schaltkreises, der einen Unterbrechungskontaktflächenschaltkreis enthält, der mit jeder Kontaktfläche verbunden ist. Ein Steuerungsschaltkreis ist mit jedem Unterbrechungsschaltkreis verbunden und bestimmt die Prioritäten der Unterbrechungssignale von der Vielzahl der Komponenten, die auf dem Integrierten Schaltkreis liegen. Die Unterbrechungssignale sowohl von Quellen außerhalb als auch von innerhalb des Chip wandern durch einen gemeinsamen Knoten, der einen Heraufzieh- und einen Herunterziehtransistor enthält. Die Mikrosteuerung erkennt entweder eine steigende Flanke oder eine fallende Flanke des Unterbrechungsanforderungssignals sowohl von Komponenten innerhalb als auch außerhalb des Chip durch den gemeinsamen Knoten.
-
1 ist ein schematisches Diagramm, das die Mikrosteuerung, die Unterbrechungssteuerungslogik, die Unterbrechungskontaktflächenschaltkreise und die Unterbrechungskontaktflächen zeigt;
-
2 ist ein schematisches Diagramm eines Unterbrechungskontaktflächenschaltkreises;
-
3 ist ein Zeitablaufdiagramm für einen funktionalen Block innerhalb des Chip bei dem Aufruf einer Unterbrechungsanforderung mit einer steigenden Flanke;
-
4 ist ein Zeitablaufdiagramm für einen funktionalen Blocks innerhalb des Chip bei dem Aufruf einer Unterbrechungsanforderung mit einer fallenden Flanke;
-
5 ist ein Zeitablaufdiagramm für eine Komponente außerhalb des Chip bei dem Aufruf einer Unterbrechungsanforderung mit einer steigenden Flanke;
-
6 ist ein Zeitablaufdiagramm für eine Komponente außerhalb des Chip bei dem Aufruf einer Unterbrechungsanforderung mit einer fallenden Flanke; und
-
7 ist ein Zeitablaufdiagramm für Komponenten innerhalb und außerhalb des Chip bei dem Aufruf einer Unterbrechungsanforderung an derselben Unterbrechungskontaktfläche.
-
Genaue Beschreibung der bevorzugten Ausführungsform
-
Eine Ausführungsform des flexiblen Unterbrechungssystems für eine in einem Integrierten Schaltkreis eingebettete Mikrosteuerung nach der vorliegenden Erfindung wird in 1 gezeigt. Eine Mikrosteuerung 10 ist geschaltet, um Unterbrechungssignale von den Unterbrechungskontaktflächenschaltkreisen 20, 22 und 24 aufzunehmen. Die Kontaktflächen 30, 32 und 34 sind jeweils mit den Unterbrechungskontaktflächenschaltkreisen verbunden und bilden die Ein-/Ausgabestellen, durch die digitale Signale zu Komponenten innerhalb und außerhalb des Chip gelangen können.
-
Jeder Unterbrechungskontaktflächenschaltkreis 20, 22 bzw. 24 ist über einen Bus mit einer Unterbrechungslogikeinrichtung 40, im Folgenden als Unterbrechungssteuerungslogik 40 bezeichnet, verbunden. Eine Anzahl von Vorrichtungen 42, 44 und 46 liegen auf dem Chip und erzeugen Unterbrechungssignale ireq 1, ireq 2, ..., ireq m, die der Unterbrechungslogik zugeleitet werden.
-
2 zeigt eine Ausführungsform der Unterbrechungskontaktflächenschaltkreise 20, 22 und 24. Ein Eingabetreiber ist mit dem Gate-Anschluß eines p-Kanal-Transistors 50 verbunden. Der Source-Anschluß und der Drain-Anschluß des Transistors 50 sind zwischen die Versorgungsspannung 52 bei VDD und den Knoten 54 geschaltet. Ein p-Kanal-Transistor 56, der eine Vorrichtung hoher Impedanz darstellt, ist mit seinem Source-Anschluß und seinem Drain-Anschluß zwischen die Versorgungsspannung 52 und den Knoten 54 geschaltet, um das Eingabesignal pu_b von der Unterbrechungssteuerungslogik 40 an seinem Gate-Anschluß aufzunehmen. Ein n-Kanal-Transistor 58 ist mit seinem Source-Anschluß und seinem Drain-Anschluß zwischen Masse und den Knoten 54 geschaltet. Ein Puffer 60 hat seinen Eingang mit dem Knoten 54 verbunden und sieht ein Signal intreq an die Mikrosteuerung 10 vor. Es ist zu bemerken wichtig, daß der Knoten 54 direkt mit der Kontaktfläche verbunden ist, so daß die Signalwellenformen während der Systementwicklung und der Fehlerbeseitigung überwacht werden können.
-
Unter Bezug zunächst auf 3–6 wird der Betrieb des flexiblen Unterbrechungssystems für eine auf einem Integrierten Schaltkreis eingebettete Mikrosteuerung nach der vorliegenden Erfindung beschrieben. Die Unterbrechungssteuerungslogik 40 tastet die Unterbrechungssignale von den Vorrichtungen 42, 44 und 46 ab. Z. B. wird das Signal ireq 1 von der Vorrichtung 42 an die Unterbrechungssteuerungslogik 40 geschickt, so daß die Prioritäten der jeweiligen Signale bestimmt werden können. Das Signal pdrive gibt den Transistor 50 frei, so daß die steigende Flanke des Unterbrechungssignals an der Kontaktfläche und auch durch die Mikrosteuerung 10 erkannt werden kann. Der Logikpegel des Signals pu_b bleibt unverändert in einem hohen Zustand. Zusätzlich kann das System auch auf Unterbrechungsanforderungen mit fallender Auslöseflanke von einer der Vorrichtungen innerhalb des Chip reagieren. Das Signal ndrive gibt den Transistor 58 frei und gleichzeitig sperrt das Signal pdrive den Transistor 50. Der Logikpegel des Signals pu_b bleibt unverändert in einem hohen Zustand, so daß der p-Kanal-Transistor 56 mit hoher Impedanz in dem ausgeschalteten Zustand ist. Die fallende Flanke der Unterbrechungsanforderung kann an der Kontaktfläche etwa zur selben Zeit erkannt werden wie die Mikrosteuerung 10 die fallende Flanke des Unterbrechungssignals erkennt.
-
Ein besonderes Merkmal der vorliegenden Erfindung ist, daß die Mikrosteuerung 10 auf Unterbrechungssignale von einer Anzahl von Komponenten reagieren kann, von denen einige innerhalb des Chip und andere außerhalb des Chip sein mögen. Der Grund dafür ist, daß alle Unterbrechungssignale über den Knoten 54 laufen, gleichgültig ob solch ein Signal über die Kontaktfläche von der externen Komponente oder über die Unterbrechungssteuerungslogik von der internen Komponente kommt. Falls z. B. eine externe Komponente ein Unterbrechungsanforderungssignal INT mit steigender Flanke übergibt (5), so bleibt das Signal pdrive, das den Transistor 50 treibt, auf hohem Pegel, genauso wie das Signal pu_b für den Transistor 56, während das Signal ndrive auf niedrigem Pegel bleibt. Diese Bedingung gibt den Antrieb für den Unterbrechungskontaktflächenschaltkreis frei, so daß die Mikrosteuerung 10 die steigende Flanke des Unterbrechungsanforderungssignals von einer externen Komponente erkennt. Falls eine externe Komponente ein Unterbrechungsanforderungssignal INT mit fallender Flanke übergibt (6), so bleibt in ähnlicher Weise das Signal pdrive, das den Transistor 50 treibt, auf hohem Pegel, wie auch das Signal pu_b für den Transistor 56, während das Signal ndrive auf niedrigem Pegel bleibt. Diese Bedingung gibt den Antrieb für den Unterbrechungskontaktflächenschaltkreis frei, so daß die Mikrosteuerung 10 die fallende Flanke des Unterbrechungsanforderungssignals von einer externen Komponente erkennt.
-
Unter nächstem Bezug auf 7 wird nun der Betrieb des flexiblen Unterbrechungssystems für eine eingebettete Mikrosteuerung nach der vorliegenden Erfindung beschrieben, in dem ein Unterbrechungssignal entweder von einer internen oder von einer externen Komponente kommt. Zur Zeit t0 gibt es weder von einer internen noch von einer externen Komponente ein Unterbrechungsanforderungssignal. Das Signal pdrive ist unverändert auf hohem Pegel und gibt kontinuierlich den Transistor 50 frei. Zur selben Zeit bleibt das Signal ndrive auf niedrigem Pegel, so daß der Transistor 58 gesperrt bleibt, und der Knoten 54 liegt in dem hohen Zustand wegen des freigegebenen Zustands des p-Kanal-Transistors mit hoher Impedanz.
-
Als nächstes wird der Betrieb des flexiblen Unterbrechungssystems für eine eingebettete Mikrosteuerung nach der vorliegenden Erfindung als Reaktion auf eine Unterbrechungsanforderung von einer internen Komponente beschrieben. Zur Zeit t1 erzeugt die Komponente 42 auf dem Chip ein Unterbrechungssignal ireq 1, das der Unterbrechungssteuerungslogik 40 übergeben wird. Die Unterbrechungssteuerungslogik 40 übergibt das Signal ndrive, das den Transistor 58 freigibt, der den Knoten 54 auf niedrigen Pegel treibt. Dementsprechend erkennt die Mikrosteuerung die fallende Flanke des Unterbrechungsanforderungssignals.
-
Schließlich wird der Betrieb des flexiblen Unterbrechungssystems für eine eingebettete Mikrosteuerung nach der vorliegenden Erfindung als Reaktion auf eine Unterbrechungsanforderung von einer externen Komponente beschrieben. Zur Zeit t2 übergibt die externe Komponente ein Unterbrechungsanforderungssignal über die Kontaktfläche 30 an den Unterbrechungskontaktflächenschaltkreis 20. Das Signal pdrive an den Gate-Anschluß des Transistors 50, das Signal ndrive an den Gate-Anschluß des Transistors 58 und das Signal pu_b bleiben dazu unverändert, so daß die Mikrosteuerung 10 die fallende Flanke der Unterbrechungsanforderung erkennt. Folglich kann die Mikrosteuerung die Anforderung bedienen.