PatentDe  


Dokumentenidentifikation DE69525858T2 19.09.2002
EP-Veröffentlichungsnummer 0803096
Titel SYNCHRONISATIONSERZEUGUNG ZWISCHEN EINEM MIKROPROZESSOR UND DESSEN PERIPHERIEGERÄT
Anmelder Nokia Corp., Espoo, FI
Erfinder SADEMAA, Juhani, FIN-01800 Klaukkala, FI
Vertreter Tiedtke, Bühling, Kinne & Partner GbR, 80336 München
DE-Aktenzeichen 69525858
Vertragsstaaten BE, CH, DE, DK, FR, GB, IT, LI, NL, PT, SE
Sprache des Dokument EN
EP-Anmeldetag 14.09.1995
EP-Aktenzeichen 959305467
WO-Anmeldetag 14.09.1995
PCT-Aktenzeichen PCT/FI95/00501
WO-Veröffentlichungsnummer 0009608771
WO-Veröffentlichungsdatum 21.03.1996
EP-Offenlegungsdatum 29.10.1997
EP date of grant 13.03.2002
Veröffentlichungstag im Patentblatt 19.09.2002
IPC-Hauptklasse G06F 13/00
IPC-Nebenklasse G06F 13/42   

Beschreibung[de]

Die Erfindung betrifft eine Mikroprozessorumgebung, bei der eine Vielzahl von Peripherievorrichtungen mit einem Mikroprozessor (CPU) verbunden sind, wobei der Mikroprozessor Daten in die Peripherievorrichtungen schreibt und aus den Peripherievorrichtungen liest. Genauer betrifft die Erfindung ein Verfahren gemäß dem Oberbegriff des beigefügten Patentanspruchs 1 und der Schaltungsanordnung gemäß dem Oberbegriff des beigefügten Patentanspruchs 5 zur Implementierung eines Zeitverlaufs zwischen einem Mikroprozessor und deren Peripherievorrichtungen.

Fig. 1 zeigt eine Hardware-Umgebung wie vorstehend beschrieben, wobei vier verschiedene Peripherievorrichtungen A ... D (mit unterschiedlichen Geschwindigkeiten) mit einem Mikroprozessor 10 über dessen Datenbus 11 und Adressenbus 12 in einer an sich bekannten Weise verbunden sind. (Es sei bemerkt, dass in den nachstehend beschriebenen Figuren die Signalleitungen miteinander lediglich an den Punkten verbunden sind, die durch kleine Kreise gekennzeichnet sind.) In diesem Beispielfall ist die Peripherievorrichtung A ein EPROM mit mittlerer Geschwindigkeit (ein Wartezustand (wait state)), ist die Peripherievorrichtung B ein SRAM (statischer Speicher mit wahlfreiem Zugriff, Static Random Access Memory) mit hoher Geschwindigkeit (keine Wartezustände), ist die Peripherievorrichtung C eine Peripherievorrichtung mit niedriger Geschwindigkeit (zwei Wartezustände), und ist die Peripherievorrichtung D eine Peripherievorrichtung mit sehr langsamer Geschwindigkeit (drei Wartezustände). Es sei ebenfalls angenommen, dass die Adresshaltezeit der Peripherievorrichtung C zwei Taktzyklen beträgt, und dass die Adresshaltezeit der Peripherievorrichtung D drei Taktzyklen beträgt. (Die Adresshaltezeit ist im weiteren Verlauf der Beschreibung definiert.) Die Peripherievorrichtungen C und D können beispielsweise serielle Eingangs-Ausgangs- Steuerungseinrichtungen oder A/D-Wandler sein.

Der vorstehend erwähnte Wartezustand (wait state), der die Geschwindigkeit einer Peripherievorrichtung wiedergibt, bedeutet, dass ein Mikroprozessor die Gültigkeitsperiode von Signalen entsprechend der Gültigkeit eines entsprechenden Steuerungssignals ausdehnt (falls das Steuerungssignal nicht gültig gemacht ist, arbeitet der Mikroprozessor so schnell wie er kann). Das Steuerungssignal wird überlicherweise als WAIT-Signal (Warte- Signal) bezeichnet, und in diesem Beispielfall wird dieses Signal in einem Dekoder 13 erzeugt, aus dem es an den Mikroprozessor angelegt wird. (In einigen Prozessoren, beispielsweise in von Motorola hergestellten Prozessoren, wird eine entsprechende Funktion mit einem Signal implementiert, das als ACKNOWLEDGE (Bestätigen) bezeichnet wird). In der vorstehend beschriebenen Weise ist es somit möglich, einen Mikroprozessor zum Warten auf langsamere Peripherievorrichtungen einzustellen.

Die in Fig. 1 verwendeten Signale haben die in der nachstehenden Tabelle dargestellten Bedeutungen. Das Bezugszeichen eines Signals ist aus dessen allgemein verwendeten englischen Bezeichnung gebildet, die als Referenz in Klammern dargestellt ist.

Signal/Definition

OE (Ausgabefreigabe, Output Enable) Öffnet den Datenbuspuffer einer Peripherievorrichtung, damit die Peripherievorrichtung in der Lage ist, Daten dem Datenbus zuzuführen

WE (Schreibfreigabe, Write Enable) Ein Signal, dass das Schreiben von Daten in eine Peripherievorrichtung freigibt

CE (Chipfreigabe, Chip Enable) Ein Peripherievorrichtungsauswahlsignal, durch das eine Peripherievorrichtung zu einem Zeitpunkt als aktiv ausgewählt wird

Zusätzlich zeigt Fig. 1 ein Taktsignal CLK und ein WAIT- Signal sowie ein Steuerungssignal STB, dessen Bedeutung nachstehend beschrieben ist.

Signale OE werden gelegentlich ebenfalls durch die alternative Abkürzung RD (d. h. Read (Lesen), der Mikroprozessor liest aus einer Peripherievorrichtung) bezeichnet, und Signale WE sind dementsprechend durch eine. Abkürzung WR abgekürzt (d. h. Write (Schreiben), wobei der Mikroprozessor in eine Peripherievorrichtung schreibt). Wenn ein Signal WE gültig ist, müssen gewünschte Daten in den Eingängen eines Eingangsregisters der Peripherievorrichtung auftreten, und wenn das Signal WE negiert ist, verbleiben die gewünschten Daten in der Peripherievorrichtung (d. h. die in den Eingängen sichtbaren neuen Daten können nicht länger in die Peripherievorrichtung geschrieben werden).

Auswahlsignale CE werden typischerweise durch eine Kombinationslogik in dem Dekoder 13 anhand der über den Adressbus 11 erscheinenden Adresse erzeugt, das heißt, dass die Signale CE entsprechend der über den Adressbus erscheinenden Adresse aktiviert werden. Ein gewisser Adressenbereich entspricht somit jeder Peripherievorrichtung in derartiger Weise, dass, wenn die Adresse in diesem Bereich angeordnet ist, ein entsprechendes Auswahlsignal CEn (n = 1, 2, 3 oder 4, in Abhängigkeit davon, welche Peripherievorrichtung betroffen ist) aktiv ist.

Ob es notwendig ist, Auswahlsignale CE überhaupt zu erzeugen, hängt von der Bauart der Peripherievorrichtung ab. Beispielsweise sind in Peripherievorrichtungen, bei denen lediglich ein Register vorgesehen ist, bei dem es sich beispielsweise um ein LED-Steuerungsregister handelt, lediglich OE- und WE-Signale erforderlich.

Wenn Auswahlsignale CEn verwendet werden, (wie es in dem Beispielfall gemäß Fig. 1 der Fall ist), werden die durch den Mikroprozessor 10 erzeugten OE- und WE-Signale direkt an Eingangsstifte der Peripherievorrichtungen A bis D dementsprechend angelegt.

In der vorstehend beschriebenen bekannten Lösung kann der Zeitverlauf der Lese- und Schreib-Signale (der Zeitverlauf betrifft die Zeitpunkte des Auftretens von ansteigenden und/abfallenden Flanken der Signale, d. h. der Dauer der Impulse) lediglich mittels der vorstehend beschriebenen Warteprozedur geändert werden, das heißt, durch Ausdehnung der Dauer der Impulse um eine gewisse Anzahl von Taktzyklen mittels der durch ein WAIT-Signal ausgeführten Steuerung.

In der vorstehend beschriebenen Umgebung ist es gelegentlich problematisch, wie die Zeitverlaufserfordernisse einer Peripherievorrichtung an denjenigen des Mikroprozessors angepasst werden. Dies gilt insbesondere für das durchgeführte Schreiben in die Peripherievorrichtung, da das Schreiben in Hinblick auf die Peripherievorrichtung stattfindet. Für das Lesen ist es üblicherweise nicht problematisch, da dieses in Hinblick auf den Mikroprozessor stattfindet. Eine Peripherievorrichtung kann beispielsweise eine sehr lange Adresshaltezeit erfordern. Eine Adresshaltezeit ist in Fig. 2 dargestellt, wobei ein über den Bus 12 auftretendes Adressensignal ADDR sowie ein das Schreiben steuernde Signal WE gezeigt ist. Eine Adressenhaltezeit ist die Zeit T, für die die Adresse ADDR aktiv sein muss, selbst nachdem das Signal WE negiert worden ist (ein Signal ist gültig (validiert), wenn es sich in einem logischen Null-Zustand befindet). In Fig. 2 bezeichnet das Bezugszeichen t1 den Zeitpunkt, zu dem das Signal WE negiert wird, und das Bezugszeichen t2 bezeichnet den Zeitpunkt, zu dem die Adresse deaktiviert wird. Eine Adressenhaltezeit ist gelegentlich ebenfalls in Bezug auf ein Auswahlsignal CE in den Datenbüchern von Schaltungsherstellern definiert. Falls Haltezeiterfordernisse in Bezug auf beide Signale (WE und CE) definiert sind, müssen selbstverständlich beide Erfordernisse erfüllt werden.

Unterschiedliche Peripherievorrichtungen weisen unterschiedliche Erfordernisse in Bezug darauf auf, wie lang die Adressenhaltezeit zumindest sein sollte. Diese unterschiedlichen Erfordernisse sind in strukturellen Unterschieden zwischen Peripherievorrichtungen begründet (beispielsweise Signalsendezeitunterschiede innerhalb einer Peripherievorrichtung). Eine lange Adressenhaltezeit kann jedoch nicht mit der vorstehend beschriebenen Wartezustandlösung implementiert werden, da die Differenz zwischen den Zeitpunkten t1 und t2, die durch die Mikroprozessor erzeugt werden, in jeden Fall fest eingestellt (konstant) sein wird.

Das vorstehend beschriebene Problem wird in den bekannten Lösungen (es wird sich weiterhin auf die Fig. 1 bezogen) durch Anordnen einer Zwischenspeicherschaltung (Latch- Schaltung) 14 zwischen dem Mikroprozessor und einer Peripherieschaltung (Peripherievorrichtung) und durch Anlegen des Adresssignals ADDR an die Zwischenspeicherschaltung gelöst. In der Praxis ist die Zwischenspeicherschaltung ein Register, in dem die Adresse gespeichert wird, bis ein neuer Adresswert an das Register mittels eines separaten Steuerungssignals STB angelegt wird. Das Steuerungssignal wird aus den Auswahlsignalen CE3 und CE4 der betroffenen Peripherievorrichtungen gebildet (in diesem Beispiel n = 3 und n = 4, entsprechend den langsamen Peripherievorrichtungen C und D), wobei die Auswahlsignale an die Eingänge eines UND-Gatters 15 angelegt werden. Das Steuerungssignal STB wird aus dem Ausgang des UND-Gatters 15 erhalten, wobei das Steuerungssignal sich in einem logischen Null-Zustand befindet, wenn zumindest eines der Auswahlsignale sich in einem logischen Null-Zustand befindet (d. h. gültig ist). Das Signal STB bestimmt auf diese Weise den Zeitpunkt, zu dem der neue Adresswert in die Schaltung 14 gespeichert wird, wodurch das Signal zur Verlängerung der Periode verwendet werden kann, für die die Adresse in Bezug auf die Peripherievorrichtung gültig ist. Anders ausgedrückt, ist dies ein Weg zur Verlängerung der Adresshaltezeit.

Jedoch wird durch Einbringen einer Zwischenspeicherschaltung und der dafür erforderlichen Steuerung in eine Schaltplatine die praktische Lösung komplizierter und somit kostenintensiver. Die Lösung erhöht insbesondere die Anzahl der auf der Schaltungsplatine erforderlichen Signalleitungen, wodurch die Schaltungsplatinenauslegung komplizierter wird.

Der Erfindung liegt die Aufgabe zugrunde, die vorstehend beschriebenen Nachteile zu beseitigen und eine Lösung zu präsentieren, durch die die Zeitverlaufserfordernisse der Peripherievorrichtungen durch eine einfache Schaltungslösung erfüllt werden können. Diese Aufgabe wird durch das Verfahren gemäß der Erfindung wie in dem kennzeichnenden Teil des beigefügten Patentanspruchs 1 offenbart gelöst. Die Schaltungsanordnung gemäß der Erfindung ist in dem beigefügten Patentanspruch 5 offenbart.

Die Idee der Erfindung besteht darin, ein Signal in dem Adressdekoder, wobei das Signal zumindest das Schreiben steuert, in derartiger Weise zu erzeugen, dass der Zeitverlauf des Signals (d. h. die Anstiegs- und Abfallzeitpunkte der Impulse) von der auf dem Datenbus sich befindlichen Adresse abhängt, und gleichzeitig innerhalb des Adresszyklus in Bezug auf die Peripherievorrichtung unabhängig von dem durch den Mikroprozessor bestimmten Zeitverlauf ist. Ein Signal, das das Lesen steuert, kann ebenfalls in entsprechender Weise erzeugt werde, obwohl dies nicht so sinnvoll ist, da das Schreiben überlicherweise ein problematischeres Ereignis in Bezug auf die Zeitverlaufserfordernisse ist.

Aufgrund der Lösung gemäß der Erfindung können die Zeitverlaufserfordernisse der Peripherievorrichtungen ohne die vorstehend beschriebene Zwischenspeicherschaltung implementiert werden, wodurch dafür erforderliche Steuerungsschaltungen und beispielsweise Verdrahtungen von der Zwischenspeicherschaltung zu den Peripherievorrichtungen nicht erforderlich sind. Diese Vereinfachung kann somit ebenfalls in der Vereinfachung der Schaltungsplatinenauslegung gesehen werden.

Nachstehend ist die Erfindung und deren bevorzugte Ausführungsbeispiele ausführlicher unter Bezugnahme auf Fig. 3 bis 7d in den Beispielen entsprechend den beigefügten Ansprüchen beschrieben. Es zeigen:

Fig. 1 eine bekannte Lösung zur Implementierung von Zeitverlaufserfordernisse zwischen einem Mikroprozessor und dessen Peripherievorrichtungen,

Fig. 2 eine von einer Peripherievorrichtung benötigten Adresshaltezeit,

Fig. 3 eine Lösung gemäß der Erfindung zur Implementierung von Zeitverlaufserfordernissen zwischen einem Mikroprozessor und dessen Peripherievorrichtungen,

Fig. 4a ein Zeitverlaufsdiagramm, das Signale in der Hardware-Umgebung gemäß Fig. 3 in Bezug auf eine schnelle Peripherievorrichtung A veranschaulicht,

Fig. 4b ein Zeitverlaufsdiagramm, das in der Hardware- Umgebung gemäß Fig. 3 auftretende Signale in Bezug auf eine langsame Peripherievorrichtung D veranschaulicht,

Fig. 5 einen herkömmlichen Dekoderaufbau,

Fig. 6 einen Dekoderaufbau gemäß der Erfindung, und

Fig. 7a bis 7d Schreib- und Lesezyklen entsprechend durch den Dekoder gemäß Fig. 6 erzeugten Auswahlsignalen.

Fig. 3 zeigt die Lösung gemäß der Erfindung zum Lösen der vorstehend beschriebenen Zeitverlaufsprobleme in einer einfacheren Weise. Dieselben Komponenten sind durch dieselben Bezugszeichen wie in Fig. 1 bezeichnet.

In der Schaltung gemäß Fig. 3, werden die globalen Signale, die das Schreiben und Lesen steuern, GWE und GOE, in dem Adressdekoder 13 erzeugt (global bezieht sich auf die Tatsache, dass die Signale an alle Peripherievorrichtungen oder zumindest an deren Mehrheit angelegt werden), und der Zeitverlauf dieser Signale (d. h. die Zeitpunkte, zu denen die Signale gültig gemacht werden, und die Zeitpunkte, zu denen die Signale negiert werden) wird entsprechend dem Adressenbereich bestimmt, in dem die auf die Adressbus vorhandene Adresse sich gegenwärtig befindet. Somit folgt, wenn die Adresse in einem gewissen vorbestimmten Bereich sich befindet, der Zeitverlauf der GEW- und GOE-Signale einen gewissen vorbestimmten Zeitverlauf nach (der auf diesen Bereich beschränkt ist). (Es sei bemerkt, dass lediglich die Peripherievorrichtung, deren entsprechendes Auswahlsignal CEn gültig ist, aktiv ist und diese Signale verwendet). Durch Binden des Zeitverlaufs der Signale, die das Schreiben und Lesen steuern, an eine gültige Adresse (d. h. an eine Peripherievorrichtung), ist es möglich, die spezifischen Zeitverlaufsbedürfnisse zu lösen, sowie die vorstehend beschriebene Adresshaltezeiterfordernis, die durch jede Peripherievorrichtung benötigt wird.

Fig. 4a und 4b veranschaulichen jeweils den Zeitverlauf in Bezug auf eine schnelle Peripherievorrichtung A (SRAM) bzw. eine langsame Peripherievorrichtung D. Bei der Adressierung der Peripherievorrichtung A (Fig. 4a) arbeitet der Mikroprozessor mit der höchst möglichen Geschwindigkeit, wobei die Adresshaltezeitcharakteristik des Mikroprozessors durch das Bezugszeichen T1 angegeben ist. Der Mikroprozessor würde eine Adresshaltezeit dieser Länge ungeachtet davon, wie lang das WAIT-Signal (Wartesignal) aktiv ist, erzeugen, falls die Lösung gemäß dem Stand der Technik verwendet werden würde (vgl. Fig. 1). Falls der Stand der Technik bei der Adressierung der Peripherievorrichtung D verwendet werden würde, würde das Signal, das das Schreiben steuert, somit für eine deutlich längere Zeit gültig sein. Der Zeitpunkt, zu dem das Signal negiert würde, ist durch das Bezugszeichen t13 in Fig. 4b angegeben. Da das Signal, das das Schreiben steuert, (GWE) in Abhängigkeit von der Adresse in dem Dekoder 13 gemäß der Erfindung erzeugt wird, kann jedoch die Adresshaltezeit T2 deutlich verlängert werden. Die nachzufolgende Prozedur ist somit wie nachstehend beschrieben.

Wenn zu einem Zeitpunkt t10 die Adresse gültig wird, erfasst der Dekoder dieses zu der nächsten Vorderflanke des Taktsignals CLK, wodurch der Zustandszähler des Dekoders gestartet wird, und das Signal GWE ändert zu dem Zeitpunkt t11 seinen Zustand (wird gültig gemacht). Danach zählt der Zustandszähler eine Anzahl von Taktzyklen (in diesem Beispiel fünf Taktzyklen), wobei die Anzahl von der Adresse abhängt (d. h. ebenfalls von der Peripherievorrichtung), und negiert dann das Signal GWE (Zeitpunkt t12). Falls die Adresse eine andere Adresse wäre, könnte der Zustandszähler beispielsweise vier oder sechs Taktzyklen anstelle von Fünfen zählen, bevor das Signal GWE negiert wird.

Fig. 4a und 4b veranschaulichen die Idee der Erfindung lediglich mittels eines Signals GWE, das das Schreiben steuert, da die Idee der Erfindung hauptsächlich auf dieses Signal angewendet wird.

Nachstehend ist ein Weg zur Implementierung des Dekoders ausführlich beschrieben, indem zunächst eine bekannte Dekoderimplementierung beschrieben wird, so dass die Unterschiede der Erfindung in Bezug auf den Stand der Technik besser offenbart werden.

Fig. 5 zeigt einen bekannten Dekoderaufbau, bei dem zwei Auswahlsignale CE0 und CE1, ein WAIT-Signal (Wartesignal) und ebenfalls ein Schreibsignal WriteStrobe (Schreib- Strobe) und ein Lesesignal OutputEnable (Ausgabefreigabe) erzeugt werden. Das Schreibsignal WriteStrobe (Schreib- Strobe) ist ein derartiges Signal, das das Schreiben steuert, das lediglich in einem gewissen Adressbereich aktiv ist. Das Lesesignal OutputEnable (Ausgabefreigabe) ist ein derartiges Signal, das das Lesen steuert, das lediglich in einen gewissen Adressbereich aktiv ist. Das Signal WriteStrobe (Schreib-Strobe) wird durch Anlegen eines Ausgangssignals einer Dekoderschaltung 51 und eines durch einen Mikroprozessor erzeugten WE-Signals an die (invertierenden) Eingänge eines ersten UND-Gatters 52 erzeugt. Das Signal OutputEnable (Ausgabefreigabe) wird durch Anlegen eines zweiten Ausgangssignals der Dekoderschaltung 51 und eines von dem Mikroprozessor -erzeugten OE-Signals an die (invertierenden) Eingänge eines zweiten UND-Gatters 53 erzeugt. In dem in Fig. 1 gezeigten Dekoder 13 ist der Teil, in dem die Signale WriteStrobe (Schreib-Strobe) und OutputEnable (Ausgabefreigabe) erzeugt werden, nicht erforderlich, wobei der Teil durch das Bezugszeichen A angegeben ist, jedoch ist der diese Signale erzeugende Dekoder nichtsdestotrotz dargestellt, um den Unterschied der Erfindung zu dem Stand der Technik besser zu veranschaulichen. Gemäß dem Stand der Technik ist es somit möglich, Schreib- und Lese-Signale WriteStrobe (Schreib-Strobe) und OutputEnable (Ausgabefreigabe) zu erzeugen, die lediglich in einem gewissen Adressbereich aktiv sind. Der Zeitverlauf dieser Signale ist jedoch nicht von der gültigen Adresse abhängig, und diese Signale werden nicht global verwendet, sondern sie sind spezifisch für die Peripherievorrichtung (speicherbereichsspezifisch).

Die Dekoderschaltung 51 ist eine Kombinationslogikschaltung, bei der jeder Ausgang aus Eingängen mittels Kombinationslogik gebildet wird. Die Schaltung kann beispielsweise die Bauart 74138 sein, obwohl alle Komponenten gemäß Fig. 5 in eine einzelne programmierbare Logikvorrichtung (PLD, programmable logic device) integriert werden können.

In der Schaltung gemäß Fig. 5 wird das WAIT-Signal in dem durch das Bezugszeichen B bezeichnete Teil erzeugt, wobei durch dieses Signal die Länge eines Speicherzyklus in Bezug auf ein Auswahlsignal CEn eingestellt wird (in einer an sich bekannten Weise). Das Auswahlsignal (CE1 in diesem Fall) wird an den (invertierenden) Zählerfreigabeeingang (Count Enable input) CEn und an den Rücksetzeingang CLR (Clear, Löschen) eines Drei-Bit-Binärzählers 54 angelegt. Die Ausgänge des Zählers werden den Eingängen eines UND-Gatters 55 zugeführt (wobei der mittlere Eingang invertierend ist), und der Ausgang des UND-Gatters wird dem R-Eingang eines SR-Flip-Flops 56 zugeführt. Das Auswahlsignal CE1 wird dem S-Eingang des Flip-Flops zugeführt. Das WAIT-Signal wird aus dem (invertierenden) Ausgang des Flip-Flops erhalten. Das Taktsignal CLK wird den Takteingängen CLK des Zählers 54 und des SR-Flip-Flops zugeführt.

Der vorstehend beschriebene bekannte grundsätzliche Aufbau wird in dem Dekoder gemäß der Erfindung gemäß Fig. 6 angewendet. Die entsprechenden Komponenten sind daher durch dieselben Bezugszeichen wie in Fig. 5 bezeichnet. In diesem Fall werden beide Auswahlsignale an die (invertierenden) Eingänge eines ODER-Gatters 61 angelegt, und ein Eingangssignal für einen binären Drei-Zustandszähler wird aus dem (invertierenden) Ausgang des ODER-Gatters in der in Fig. 5 gezeigten Weise erhalten. Die Auswahlsignale (CE0 und CE1) und die Steuerungssignale (WE und OE), die durch den Mikroprozessor erzeugt werden, werden ebenfalls an einen Kombinationslogikteil in einem Block 60 angelegt, der zwei einander entsprechende Logikteile C und D sowie ein ODER-Gatter 64 aufweist. Es sei bemerkt, dass in diesem Fall die durch die Mikroprozessor erzeugten Steuerungssignale WE und OE nicht für den Zeitverlauf in irgendeiner Weise verwendet werden, sondern sie werden lediglich zur Erfassung verwendet, ob ein Schreib- oder Leseereignis betroffen ist (d. h., ob es notwendig ist, ein das Schreiben oder das Lesen steuerndes Signal zu erzeugen). Eine Unabhängigkeit von dem durch einen Mikroprozessor bestimmten Zeitverlauf wird somit durch die Tatsache erzielt, dass derartige Signale, deren Zeitverlauf innerhalb des Adresszyklus in Bezug auf eine Peripherievorrichtung abhängig von dem durch den Mikroprozessor bestimmten Zeitverlauf ist, nicht bei der Erzeugung der signifikanten Zeitpunkte der GWE- oder GOE-Signale verwendet werden.

In dem Teil C wird gemäß der Erfindung das das Schreiben steuernde globale Signal erzeugt, wobei das Signal durch das Bezugszeichen GWE in diesem Fall bezeichnet ist (um es von dem durch den Mikroprozessor erzeugten Signal WE zu unterscheiden), und in dem Teil D wird dementsprechend das das Lesen steuernde globale Signal GOE gemäß der Erfindung erzeugt. Der Logikteil C weist (a) ein erstes UND-Gatter, an dessen Eingängen die Ausgangssignale des Zählers 54 (die ersten zwei Eingänge sind invertierend), das Auswahlsignal CE1 (ein invertierender Eingang) und das durch den Mikroprozessor erzeugte Signal WE (ein invertierender Eingang) angelegt werden; (b) ein zweites UND-Gatter, an dessen Eingänge die Ausgangssignale des Zählers 54 (wobei der mittlere Eingang invertierend ist), das Auswahlsignal CE0 (ein invertierender Eingang) und das durch den Mikroprozessor erzeugte Signal WE (ein invertierender Eingang) angelegt werden; (c) ein erstes ODER-Gatter, an dessen (invertierenden) Eingängen die Auswahlsignale angelegt werden; (d) ein zweites ODER- Gatter, an dessen Eingängen die Ausgänge des ersten und des zweiten UND-Gatters angelegt werden; (e) ein drittes UND-Gatter, an dessen Eingänge der Ausgang des ersten ODER-Gatter und das Steuerungssignal WE (ein invertierender Eingang) angelegt werden; und (f) ein Flip-Flop SR auf, dessen S-Eingang dem Ausgang des zweiten ODER- Gatters zugeführt wird und an dessen R-Eingang der Ausgang des dritten UND-Gatters zugeführt wird. Der Teil D weist einen entsprechenden Aufbau auf, jedoch ist das Signal WE durch ein Signal OE ersetzt. (Zusätzlich ist der Eingang des ersten UND-Gatters, der dem mittleren Bit des Zählers entspricht, im Fall des Blocks D nicht invertierend, und ist der Eingang des zweiten UND-Gatters, an den das erste Bit des Zählers angelegt wird, invertierend, und der Eingang, an den das zweite Bit des Zählers angelegt wird, ist nicht invertierend).

Die Auswahlsignale werden an die (invertierenden) Eingänge des ODER-Gatters 64 angelegt, und der Ausgang des ODER-Gatters ist mit dem S-Eingang des SR-Flip-Flops 56 verbunden. Der Ausgang des UND-Gatters 55 ist mit dem R- Eingang des SR-Flip-Flops 56 in derselben Weise wie in der bekannten Lösung (Fig. 5) zur Erzeugung eines WAIT- Signals für den (invertierenden) Ausgang des SR-Flip- Flops verbunden.

Die Auswahlsignale CE0 und CE1 werden somit zunächst anhand der sich auf dem Bus befindlichen Adresse erzeugt, woraufhin S- und R-Signale aus den Auswahlsignalen und dem Ausgangssignal des Zählers 54 durch die Kombinationslogik gemäß der Figur erzeugt werden, wobei die ansteigenden und abfallenden Flanken der Signale GWE und GOE durch die S- und R-Signale in den SR-Flip-Flops erzeugt werden.

Fig. 7a bis 7d veranschaulichen Schreib- und Lese-Zyklen entsprechend der Auswahlsignale des Dekoders gemäß Fig. 6. Die in den Figuren dargestellten Ereignisse sind alternativ, da die Schreib- und Leseereignisse nicht gleichzeitig stattfinden können. Fig. 7a und 7b zeigen die Lese- und Schreibereignisse in Bezug auf das Auswahlsignal CE0, und die Fig. 7c und 7d zeigen dementsprechend die Lese- und Schreibereignisse in Bezug auf das Auswahlsignal CE1. Der Impuls des durch den Mikroprozessor 10 erzeugten Signals OE (Fig. 7a) weist eine fest eingestellte Dauer auf, und zusätzlich dazu wurde ein anwendungsspezifisches Signal GOE, das das Schreiben steuert, gemäß der Erfindung erzeugt, wobei der Zeitverlauf dieses Signals in Bezug auf das Signal OE einstellbar ist, das heißt, dass die Gültigkeitsperiode des Signals GOE auf den Beginn und das Ende mit der Genauigkeit von einem Taktzyklus an einer beliebigen Stelle eingestellt werden kann. In diesem Beispiel beginnt die Periode nach dem zweiten Taktimpuls und endet nach dem siebten Taktimpuls. Fig. 7b zeigt dementsprechend ein anwendungsspezifisches Signal GWE, das das Schreiben steuert, dessen Gültigkeitsperiode nach dem zweiten Taktimpuls beginnt und nach dem fünften Taktimpuls endet. Da die Adresse ADDR gleichzeitig mit dem Auswahlsignal gültig ist, kann die Zeitperiode T3 (d. h. die Adresshaltezeit) beispielsweise in einigen Fällen in Bezug auf die Peripherievorrichtung zu kurz sein. Die Haltezeit kann nun durch Erzeugung eines globalen Signals GWE, das das Schreiben steuert, verlängert werden, dessen Gültigkeitsperiode in Abhängigkeit von der Adresse derart eingestellt werden kann, dass sie an einer beliebigen Stelle mit einer Genauigkeit von einem Taktzyklus beginnen und enden kann. Durch ein WAIT-Signal werden die Ereignisse derart verlängert, dass das Signal WE für eine ausreichend lange Zeit gültig ist, und dass eine ausreichend lange Haltezeit danach sein wird. Die ansteigenden Flanken, die durch die eingekreisten Ziffern 1 bis 3 angegeben sind, sind in dem Zeitbereich miteinander verbunden, das Wartesignal WAIT wird an den Mikroprozessor angelegt, woraufhin als Ergebnis der Mikroprozessor das Signal WE (zu dem Zeitpunkt entsprechend der eingekreisten Ziffer 2) nach einer gewissen konstanten Zeit (in diesem Beispiel 1,5- Taktzyklen) negiert, und danach negiert er ebenfalls das Auswahlsignal nach einer gewissen zweiten konstanten Zeit (dem Zeitpunkt entsprechend der eingekreisten Ziffer 3). Falls der Übergangszeitpunkt des Schreibsignals verzögert wird, werden die Flanken der anderen erwähnten Signale dementsprechend verzögert.

Fig. 7c und 7d zeigen entsprechende Ereignisse in Bezug auf das Auswahlsignal CE1. Der wesentliche Punkt ist somit, dass die Übergangszeitpunkte der Signale GOE und GWE von der Adresse abhängen. Diese Übergangszeitpunkte sind ebenfalls, innerhalb des Adressierungszyklus in Bezug auf eine Peripherievorrichtung, unabhängig von dem durch den Mikroprozessor bestimmten Zeitverlauf (wobei der Zeitverlauf auf den Steuerungssignalen beruht, deren Stelle auf der Zeitachse fest eingestellt ist, vgl. die Zeitpunkte, die durch die eingekreisten Ziffern 1 bis 3 in Fig. 7b angegeben sind). Ein Adresszyklus bezieht sich auf den Zyklus, für den eine gewisse Adresse (die eine Peripherievorrichtung adressiert) gültig ist. Der Adressierungszyklus in Bezug auf eine gewisse Peripherievorrichtung endet somit, wenn die Adresse negiert wird, ebenfalls, falls die nächste gültig gemachte Adresse auf dieselbe Peripherievorrichtung gerichtet ist.

Als eine Zusammenfassung der Fig. 6 und 7a bis 7d kann das Folgende gesagt werden. Das Signal GWE wird gültig gemacht, nachdem eines der Auswahlsignale gültig gemacht wird, und nachdem das Signal WE gültig gemacht wird. Das Signal GWE wird negiert, wenn das Auswahlsignal aktiv ist und wenn der Zähler 54 seinen vorbestimmten Wert (in diesem Beispiel 4 oder 5) erreicht. Das Signal GOE wird gültig gemacht, nachdem eines der Auswahlsignale gültig gemacht wird und wenn das Signal OE gültig gemacht wird. Das Signal GOE wird negiert, wenn das Auswahlsignal aktiv ist und wenn der Zähler 54 seinen vorbestimmten Wert (6) erreicht. Das WAIT-Signal wird gültig gemacht, nachdem eines der Auswahlsignale gültig gemacht wird, und wird negiert, wenn der Zähler einen vorbestimmten Wert (4) erreicht hat. Der Zähler 54 verbleibt auf Null (der Ausgangswert ist Null), wenn keines der Auswahlsignale sich einem logischen Null-Zustand befindet, und das Zählen wird erlaubt, wenn eines der Auswahlsignale gültig gemacht wird (sich in einem logischen Null-Zustand befindet).

Obwohl die Erfindung unter Bezugnahme auf die Beispiele entsprechend den beigefügten Zeichnungen beschrieben worden ist, ist es deutlich, dass die Erfindung nicht derart beschränkt ist, sondern dass sie innerhalb des Umfangs des vorstehend beschriebenen erfinderischen Konzepts und der beigefügten Ansprüche modifiziert werden kann. Somit ist, selbst obwohl das in dem Gebiet der Erfindung existierende Problem vorstehend unter Verwendung der Adresshaltezeit, die durch eine Peripherievorrichtung benötigt wird, als ein Beispiel veranschaulicht worden ist, es deutlich, dass die Erfindung in einer entsprechenden Weise zur Anpassung des Zeitverlaufs angewandt werden kann, um den Erfordernissen in Bezug auf andere Parameter der Peripherievorrichtungen zu entsprechen. Die ausführliche Schaltung, durch die der Zeitverlauf der Signale von der Adresse abhängig gemacht wird, kann ebenfalls in verschiedenen Arten variieren. Es ist ebenfalls möglich, die Signale mit ihrem eigenen Dekoder aus der Adresse zu erzeugen, jedoch ist es aus Vereinfachungsgründen vorzuziehen, dieselbe Schaltung zur Erzeugung zu verwenden, durch die die Auswahlsignale erzeugt werden.


Anspruch[de]

1. Verfahren zur Erzeugung einer Synchronisation zwischen einem Mikroprozessor (10) und zugehöriger Peripherievorrichtungen (A .. D), wobei ein Adressbus und ein Datenbus (11, 12) dem Mikroprozessor zugewiesen sind, über die er mit den Peripherievorrichtungen verbunden ist, um Daten aus dem Mikroprozessor zu einer ausgewählten Peripherievorrichtung entsprechend Schreiben in die Peripherievorrichtung zu übertragen sowie aus einer ausgewählten Peripherievorrichtung zu dem Mikroprozessor entsprechend einem Lesen aus der Peripherievorrichtung zu übertragen, wobei das Verfahren die Schritte aufweist: Erzeugen einer Adresse für den Adressbus (12) in jedem besonderen Fall, wobei die Adresse eine gewünschte Peripherievorrichtung adressiert, und Erzeugen für die Peripherievorrichtungen

- eines Lesen steuernden Signals (OE), das einer Peripherievorrichtung ermöglicht, Daten an den Datenbus (11) anzulegen,

- eines Schreiben steuernden Signals (WE), das ermöglicht, dass Daten aus dem Datenbus in eine Peripherievorrichtung geschrieben werden,

dadurch gekennzeichnet, dass zumindest das Schreiben steuernde Signal (GWE) mittels einer Adressdekodiereinrichtung aus der gegenwärtig auf dem Adressbus (12) gültigen Adresse derart erzeugt wird, dass die Zeitpunkte der ansteigenden und/oder abfallenden Flanken das Signals von dem Wert der Adresse abhängig sind und gleichzeitig innerhalb des Adresszyklus in bezug auf die Peripherievorrichtung unabhängig von dem durch den Mikroprozessor bestimmten Zeitverlauf sind, wodurch die Einschaltperiode des Signals mittels des Werts der Adresse eingestellt werden kann.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Schreiben steuernde Signal (GOE) ebenfalls derart erzeugt wird, dass die Zeitpunkte seiner ansteigenden und abfallenden Flanken abhängig von der gegenwärtig auf dem Adressbus (12) gültigen Adresse sind, wodurch sie ebenfalls innerhalb des Adresszyklus in bezug auf die Peripherievorrichtung unabhängig von dem durch den Mikroprozessor bestimmten Zeitverlauf sind.

3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Erzeugung des Schreiben steuernden Signals mittels derselben Adressdekodiereinrichtung (13) durchgeführt wird, durch die ebenfalls Peripherievorrichtungs-Auswahlsignale (CEn, n = 1, 2, ...) erzeugt werden, durch die zu einem Zeitpunkt eine Peripherievorrichtung zur Aktivierung ausgewählt wird.

4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Erzeugung des Lesen steuernden Signals mittels derselben Adressdekodiereinrichtung (13) durchgeführt wird, durch die ebenfalls Peripherievorrichtungs- Auswahlsignale (CEn, n = 1, 2, ...) erzeugt werden, durch die zu einem Zeitpunkt eine Peripherievorrichtung zur Aktivierung ausgewählt wird.

5. Schaltungsanordnung zur Erzeugung einer Synchronisation zwischen einem Mikroprozessor (10) und zugehöriger Peripherievorrichtungen (A .. D), wobei ein Adressbus und ein Datenbus (11, 12) dem Mikroprozessor zugewiesen sind, über die er mit den Peripherievorrichtungen verbunden ist, um Daten aus dem Mikroprozessor zu einer ausgewählten Peripherievorrichtung entsprechend einem Schreiben in die Peripherievorrichtung zu übertragen sowie Daten aus einer ausgewählten Peripherievorrichtung zu dem Mikroprozessor entsprechend einem Lesen aus der Peripherievorrichtung zu übertragen, wobei die gegenwärtig sich auf dem Adressbus befindliche Adresse eine gewünschte Peripherievorrichtung adressiert, wobei die Schaltungsanordnung Einrichtungen (13) (a) zur Erzeugung eines Lesen steuernden Signals (OE), das einer Peripherievorrichtung ermöglicht, Daten an den Datenbus (11) anzulegen, und (b) zur Erzeugung eines Schreiben steuernden Signals (WE) aufweist, das ermöglicht, dass Daten aus dem Datenbus in eine Peripherievorrichtung geschrieben werden,

dadurch gekennzeichnet, dass die Signalerzeugungseinrichtungen (13) auf die gegenwärtig auf dem Adressbus (12) gültige Adresse derart ansprechen, dass die Zeitpunkte des ansteigenden und/oder abfallenden Flanken zumindest des Schreiben steuernden Signals (GWE) von dem Wert der Adresse abhängig sind und gleichzeitig innerhalb des Adresszyklus in bezug auf die Peripherievorrichtung unabhängig von dem durch den Mikroprozessor bestimmten Zeitverlauf sind, wodurch die Einschaltperiode des Signals mittels des Werts der Adresse eingestellt werden kann.

6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, dass die Einrichtungen (13) auf die gegenwärtig auf dem Adressbus (12) gültige Adresse derart ansprechen, dass der Zeitverlauf des Lesen steuernden Signals (GOE) ebenfalls von der Adresse abhängig ist.

7. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, dass die Einrichtungen (13) in derselben Dekodiereinrichtung vorgesehen sind, in der Einrichtungen zur Erzeugung der Peripherievorrichtungs-Auswahlsignale (CEn, n = 1, 2, ...) vorgesehen sind, durch die zu einem Zeitpunkt eine Peripherievorrichtung zur Aktivierung ausgewählt wird.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com