DE69031639T2 - Synchronisiereinrichtung, welche Taktphasenextrapolation verwendet - Google Patents
Synchronisiereinrichtung, welche Taktphasenextrapolation verwendetInfo
- Publication number
- DE69031639T2 DE69031639T2 DE69031639T DE69031639T DE69031639T2 DE 69031639 T2 DE69031639 T2 DE 69031639T2 DE 69031639 T DE69031639 T DE 69031639T DE 69031639 T DE69031639 T DE 69031639T DE 69031639 T2 DE69031639 T2 DE 69031639T2
- Authority
- DE
- Germany
- Prior art keywords
- circuit
- signal
- clock
- clock signal
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Logic Circuits (AREA)
Description
- Diese Erfindung bezieht sich auf elektrische Schaltungen und vor allem auf digitale Logik-schaltungen. Insbesondere bezieht sich die Erfindung auf eine Schaltung zum Synchronisieren einer Datenübertragung zwischen zwei Datenbussen, die asynchron getaktet sind.
- Bei digitalen elektronischen Systemen werden Daten häufig über einen Datenbus übertragen, wobei die Daten in parallelen Signalen gesendet werden und die Übertragung mit einem Taktsignal synchronisiert wird. Diese systeme können mehr als einen Datenbus aufweisen, wobei die Busse gewöhnlicherweise nicht miteinander synchronisiert sind. Daraus ergibt sich, daß dieselben mit unterschiedlichen Taktsignalen laufen, was bewirkt, daß dieselben bezüglich jedes anderen asynchron sind. Ebenso wie dieselben asynchron sind, laufen dieselben ferner typischerweise mit unterschiedlichen Geschwindigkeiten. Wenn Daten von einem Bus zu einem anderen übertragen werden müssen, müssen die Bustaktsignale auf irgendeine Art und Weise synchronisiert werden. Dies ist herkömmlicherweise dadurch erreicht worden, indem eine ansteigende Flanke eines Taktsignals auf dem Sendebus erfaßt und daraufhin die nächste ansteigende Flanke auf dem Empfangsbus freigegeben wird, um die Daten auf dem Empfangsbus zu speichern.
- Um Daten auf einem Bus erfolgreich zu übertragen, müssen die Daten auf dem Bus plaziert sein, und es muß möglich sein, dieselben zu stabilisieren, bevor die ansteigende Flanke des Taktsignals dieselben zu ihrem Bestimmungsort überträgt. Diese Stabilisierungszeit wird Vorbereitungszeit genannt. Bei bekannten Schaltungen ist das Verhalten der Übertragungen zwischen zwei Bussen langsam, da die Daten solange nicht auf den Empfangsbus freigegeben werden, bis die ansteigende Flanke des Taktsignals von dem Sendebus aufgetreten ist. Folglich ist eine zweite Vorbereitungszeit auf dem Empfangsbus erforderlich, wobei diese Vorbereitungszeit immer nach der Sendebusvorbereitung und der ansteigenden Flanke des Sendetaktsignals auftritt.
- Falls die minimale Pulsbreite des Sendebustaktsignals kleiner als die Periode des Empfangstaktsignals ist, kann ferner bei bekannten Synchronisationsschaltungen eine ansteigende Flanke des Sendetaktsignals verfehlt werden, wobei die Übertragung erst mit einem nachfolgenden Zyklus auftreten wird, wodurch die Übertragung weiter verzögert wird oder ein Systemversagen auftreten kann.
- Bekannte Schaltungen verwenden ungeachtet der Geschwindigkeiten der zwei Busse denselben Entwurf, wodurch die Verzögerung beim Übertragen von Daten abhängig von der relativen Geschwindigkeit variiert. Daraus ergibt sich, daß diesen Schaltungen die Fähigkeit fehlt, sich auf die zwei Frequenzen einzustellen, um die Datenübertragung zu optimieren. Manchmal führt dies bei bekannten Schaltungen zu einem Versagen.
- Es ist folglich offensichtlich, daß in der Technik ein Bedarf nach einem verbesserten Verfahren oder einer verbesserten Vorrichtung besteht, welche das Verhalten von Datenübertragungen zwischen zwei Datenbussen verbessern, indem es ermöglicht wird, daß die Datenübertragung während der Vorbereitungszeit des Sendebusses auftritt. Es besteht in der Technik ein weiterer Bedarf nach einer derartigen Synchronisationsschaltung, die Sendebustaktpulse erfassen wird, die zwischen den Flanken des Sendetaktsignals auftreten, wobei in der Technik noch ein weiterer Bedarf nach einer Synchronisierschaltung besteht, die eingestellt werden kann, um basierend auf den Geschwindigkeiten der zwei Busse die Datenübertragung zu optimieren.
- Die EP-A-0,217,486 offenbart ein Synchronisierungssystem zum zuverlässigen Durchlassen von Daten über eine Grenze zwischen zwei unabhängigen, nicht korrelierten Taktsignalen, die als die Empfangs- und Sendetaktsignale bezeichnet werden. Das System verringert das Auftreten von Fehlern aufgrund von asynchronen Abtastungen an einem beliebigen niedrigen Pegel, der auf einem metastabilen Betrieb basiert. Das System ist als Zweitorspeicher mit einem zyklischen Code, der die Speicherzellen adressiert, organisiert. Dasselbe führt ein Ineinandergreifen zwischen den zwei nicht korrelierten Taktsystemen durch, um ein beliebiges Verhältnis zwischen den zwei Taktsignalen zu ermöglichen.
- Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung zu schaffen, um Datenübertragungen zwischen Datenbussen zu synchronisieren.
- Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung zu schaffen, um Datenübertragungen zwischen Datenbussen unterschiedlicher Geschwindigkeit zu synchronisieren.
- Eine weitere Aufgabe der Erfindung besteht darin, frühere Taktabtastwerte zu verwenden, um zu bestimmen, wann diese Datenübertragung auftreten soll.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht ferner darin, eine derartige Vorrichtung zu schaffen, die es ermöglicht, daß eine Übertragung während der Vorbereitungszeit des Sendebusses beginnt.
- Eine weitere Aufgabe besteht darin, es sicherzustellen, daß eine Taktsignalflanke auf dem Sendebus nicht verfehlt wird, falls die minimale Pulsbreite oder die minimale Zeitdauer eines niedrigen Pegels des Sendetaktsignals kürzer ist als die Periode des Empfangsbustaktsignals.
- Noch eine weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung zu schaffen, die programmiert werden kann, um über einem Bereich von Sende- und Empfangsbustaktfrequenzen zu arbeiten.
- Die obigen und weitere Aufgaben werden durch eine Synchronisierschaltung gelöst, die auf dem Prinzip basiert, daß, falls die Phasenbeziehung der zwei Taktsignale zu einem ersten Zeitpunkt bekannt ist und die Frequenzen der zwei Taktsignale fest sind, dann die Phasenbeziehung zu einem beliebigen Zeitpunkt in der Zukunft mittels einer Extrapolation bestimmt werden kann. Die Schaltung weist eine "Pipe"-Anordnung zum Entfernen einer Metastabilität auf, wobei die Anordnung eine Mehrzahl von seriell verbundenen Flip-Flop- Schaltungen aufweist, denen ein Seriell-zu-Parallel-Umwandler folgt. Zwei benachbarte Abgriffe der parallelen Ausgangssignale von dem Umwandler werden ausgewählt und zusammen einer UND-Operation unterzogen, um ein Freigabesignal zu erzeugen, das verwendet wird, um die Übertragung von Daten von dem Sendebus zu dem Empfangsbus freizugeben.
- Das Taktsignal des Sendebusses ist ein Eingangssignal zu dem ersten Flip-Flop der Metastabilisierungs-Pipeanordnung, wobei die Flip-Flop-Schaltungen der Pipeanordnung mit dem Taktsignal des Sendebusses getaktet sind, um die Metastabilität von dem Sendetaktsignal zu entfernen. Aufgrund des Extrapolationsprinzips kann die Metastabilisierungs-Pipeanordnung beliebig lang sein. Ein Ausgangssignal dieser Pipeanordnung wird in den Eingang einer Seriell-zu-Parallel-Umwandlungsschaltung, die eine zweite Gruppe von seriell verbundenen Flip-Flop-Schaltungen aufweist, eingespeist und mittels des Empfangsbustaktsignals getaktet. Die parallelen Ausgangssignale des Umwandlers werden zu Auswählschaltungen zugeführt, wobei die gewünschten benachbarten parallelen Ausgänge durch Programmierbits ausgewählt werden, die mit den Auswählschaltungen verbunden sind, welche es ermöglichen, daß die Schaltung an sich verändernde Verhältnisse der Sende- und Empfangstaktgeschwindigkeiten angepaßt ist. Die Ausgangssignale der Auswählschaltungen werden in ein UND- Gatter eingespeist, das das Freigabesignal erzeugt, das verwendet wird, um die Übertragung freizugeben.
- Ein drittes paralleles Ausgangssignal kann ausgewählt und mit den ersten zwei ausgewählten Ausgangssignalen kombiniert werden, um die Auflösung zu verbessern und eine Erfassung einer ansteigenden Flanke eines Sendetaktsignals zu ermöglichen, sogar wenn die Pulsbreite des Sendetaktsignals kleiner als die Periode des Empfangstaktsignals ist.
- Die obigen und weitere Aufgaben, Merkmale und Vorteile der Erfindung werden durch Lesen der folgenden ausführlichen Beschreibung der Erfindung besser verständlich, die in Verbindung mit den folgenden Zeichnungen dargestellt ist. Es zeigen:
- Fig. 1 ein Blockdiagramm eines digitalen Elektroniksystems, das die Umgebung der vorliegenden Erfindung zeigt;
- Fig. 2 ein Zeitablaufdiagramm, das den Datenübertragungszyklus zwischen zwei Datenbussen zeigt;
- Fig. 3 ein Logikdiagramm der Schaltung der vorliegenden Erfindung;
- Fig. 4 ein Zeitablaufdiagramm der Taktsignale bei einem Datenübertragungsbeispiel;
- Fig. 5 ein Zeitablaufdiagramm von zwei Taktsignalen, wobei die Pulsbreite des Sendebustaktsignals kürzer ist als die Periode des Empfangsbustaktsignals; und
- Fig. 6 eine Schaltung, die alle Flanken der Taktsignale erfassen wird, die die in Fig. 5 gezeigte Beziehung aufweisen.
- Die folgende Beschreibung stellt die momentan am besten erachtete Art und Weise zum Ausführen der vorliegenden Erfindung dar. Diese Beschreibung soll nicht in einem begrenzenden Sinne aufgefaßt werden, sondern ist lediglich zum Zwecke der Beschreibung der allgemeinen Prinzipien der Erfindung dargestellt. Der Bereich der Erfindung sollte durch Bezugnahme auf die beigefügten Ansprüche bestimmt sein.
- Die vorliegende Erfindung ist eine Synchronisiereinrichtung, die verwendet wird, um zu ermöglichen, daß Daten zwischen zwei Datenbussen, die asynchrone Taktsignale aufweisen, übertragen werden. Typischerweise ist ein Bus schneller als der andere, wobei Vorkehrungen zum Auswählen des Empfangsbustaktzyklusses, der bei der Datenübertragung verwendet werden soll, getroffen werden müssen, wenn Daten von einem Bus zu einem anderen übertragen werden. Der ideale Empfangstaktzyklus ist derjenige, der als erstes auftritt, nachdem die Daten auf dem Sendebus verfügbar sind. Bei bekannten Geräten beginnt jedoch die Suche nach dem Empfangtaktzyklus nicht, bis ein Sendetaktzyklus begonnen hat, selbst wenn die Daten früher verfügbar sind, werden dieselben solange nicht übertragen, bis der Sendetaktzyklus begonnen hat. Die vorliegende Erfindung basiert auf dem Prinzip, daß, falls sowohl die Phasenbeziehung des Sende- und Empfangstaktsignals zu einem ersten Zeitpunkt als auch die Frequenzen der zwei Taktsignale bekannt sind, dann die Phasenbeziehung zu einem beliebigen Zeitpunkt in der Zukunft durch eine Extrapolation bestimmt werden kann. Die Erfindung verwendet eine Extrapolation, um vorherzusagen, wann das Sendetaktsignal auftreten wird, wobei dieselbe folglich von dem tatsächlichen Auftreten unabhängig ist. Aufgrund dieser Unabhängigkeit kann eine Datenübertragung die Vorbereitungszeit des Sendebusses aus nutzen und, falls ein Empfangstaktsignal während dieser Vorbereitungszeit verfügbar ist, die Datenübertragung starten, bevor der Sendetaktzyklus beginnt.
- Die Umgebung der vorliegenden Erfindung ist in Fig. 1 dargestellt. Bezugnehmend auf Fig. 1 ist ein Gerät 10 gezeigt, das einen ersten Mikroprozessor 12 aufweist, der mit einem ersten Datenbus 14 verbunden ist, der zum Übertragen von Daten zu und von dem Mikroprozessor 12 verwendet wird. Ein zweiter Mikroprozessor 16 ist mit einem zweiten Datenbus 18 verbunden, welcher zum Übertragen von Daten zu und von dem zweiten Mikroprozessor 16 verwendet wird. Damit diese zwei Mikroprozessoren effizient kommunizieren, müssen Daten zwischen dem Datenbus 14 und dem Datenbus 18 übertragen werden. Falls die Taktsignale der zwei Mikroprozessoren asynchron laufen, was häufig der Fall ist, müssen der Datenbus 14 und der Datenbus 18 durch eine Bussynchronisationsschaltung 20 synchronisiert werden, bevor die Daten zwischen den zwei Datenbussen übertragen werden können. Die Synchronisiereinrichtung 20 der vorliegenden Erfindung empfängt ein Takt1- Signal 22 von dem ersten Datenbus 14 und ferner ein Takt2- Signal 24 von dem zweiten Datenbus 18. Wie es im folgenden beschrieben wird, bestimmt die Synchronisiereinrichtung 20, wann die Daten, die von einem der Busse übertragen werden, auf den anderen der Busse freigegeben werden soll, wobei dieselbe ein Freigabesignal 26 zu dem Empfangsbustreiber sendet, welcher die Zulässigkeit der übertragenen Daten anzeigt. Bei der im folgenden vorgelegten Beschreibung wird eine Datenübertragung von dem ersten Datenbus 14 zu dem zweiten Datenbus 18 dargestellt, wobei Fachleute jedoch erkennen werden, daß Daten ohne weiteres sowohl durch Verwenden einer zweiten Synchronisiereinrichtung als auch eines zweiten Satzes von Treibern übertragen werden können. Ferner werden Fachleute erkennen, daß die Datenbusse von Schaltungen betrieben werden können, die sich von Mikroprozessoren unterscheiden.
- Fig. 2 zeigt ein Zeitablaufdiagramm einer Datenübertragung von dem ersten Datenbus 14 (Fig. 1) zu dem zweiten Datenbus 18 (Fig. 1), wobei angenommen wird, daß der Datenbus 14 mit einer niedrigeren Rate als der zweite Datenbus 18 getaktet ist. Nun wird auf Fig. 2 Bezug genommen. Daten 40 werden auf dem Datenbus 14 (Fig. 1) vor einer ansteigenden Flanke 42 des Takt1 22 plaziert. Die Zeitdifferenz zwischen dem Eintreffen der Daten 40 und der ansteigenden Flanke 42 des Takt1 22 wird als die Datenvorbereitungszeit bezeichnet. Diese Zeit ist erforderlich, um eine Ausbreitungsverzögerung (Laufzeit) entlang des Datenbusses 14 zu kompensieren und um eine Vorbereitungszeit für die Empfangsschaltungen vorzusehen, die die Daten von dem Datenbus 14 empfangen werden. Da die Daten 40 lediglich bis zu der ansteigenden Flanke 42 des Taktsignals 22 aktiv sein müssen und nach der Flanke 42 abfallen können, sind die Daten in der Bustreiberschaltung 28 (Fig. 1) gespeichert. Diese gespeicherten Daten sind als Signal 44 gezeigt. Um die Daten von dem ersten Datenbus zu übertragen, muß eine der ansteigenden Flanken des Takt2 24 ausgewählt werden, um die Daten auf den zweiten Datenbus 18 (Fig. 1) zu übertragen. Zwei Flanken 46 und 48 können für diese Übertragung verwendet werden, da die gespeicherten Daten während des Ansteigens der beiden Flanken 46 und 48 verfügbar sind. Eine Synchronisierschaltung ist erforderlich, um auszuwählen, welche dieser zwei Flanken verwendet werden kann, wobei die Flanke 46 vorzuziehen ist, da dieselbe die Daten früher übertragen und das Verhalten verbessern würde. Die Flanke 46 tritt jedoch tatsächlich vor der ansteigenden Flanke 42 des Takt1 22 auf, wobei bei bekannten Schaltungen diese Flanke niemals ausgewählt werden würde.
- Es bestehen viele Zeitablaufbeschränkungen für die Position der Empfangstaktflanke hinsichtlich der Sendetaktflanke. Dieselbe muß offensichtlicherweise nicht dem Eintreffen der Daten auf dem ersten Datenbus 14 vorhergehen, obwohl dieselbe mit dem Eintreffen der Daten startet, wobei dieselbe auftreten muß, bevor die Inhalte 44 des Latch verlorengehen. Wenn diese Beschränkungen berücksichtigt werden, gibt es hinsichtlich der Takt1-Flanke ein Zeitfenster, wann die Emp fangstaktflanke auftreten kann. Dieses Fenster muß zumindest eine Takt2-Periode lang sein, um zu garantieren, daß zumindest ein Takt2-Zyklus vorhanden ist, der eine Flanke aufweist, die verwendet werden kann. Es ist im allgemeinen für die Takt2-Flanke wünschenswert, daß dieselbe so früh wie moglich innerhalb des Fensters auftritt, um die Latenzzeit für die Datenübertragung zu minimieren.
- Fig. 3 zeigt die Synchronisierschaltung der vorliegenden Erfindung. Bezugnehmend auf Fig. 3 treten Abtastwerte des Takt1 22 in das erste Flip-Flop 52 der Metastabilisierungs- Pipeanordnung 50 ein, welches mit dem Takt2 24 getaktet ist. Die Funktion der Metastabilisierungs-Pipeanordnung 50 besteht darin, eine Metastabilität von dem Takt1 22 zu entfernen, wobei die Pipeanordnung 50 aufgrund des im vorhergehenden beschriebenen Extrapolationsprinzips eine beliebige Länge aufweisen kann. Die Abtastwerte, die in die Pipeanordnung 50 eintreten, richten die Phasenbeziehung zwischen dem Takt1 22 und dem Takt2 24 ein. Wenn die Abtastwerte die Pipeanordnung 50 verlassen, bestimmen dieselben noch die Phasenbeziehung zu dem Zeitpunkt, zu dem die Abtastwerte genommen wurden. Da jedoch die Frequenzen der Taktsignale bekannt und fest sind, bestimmen dieselben ferner die Phasenbeziehung zum gegenwärtigen Zeitpunkt. Folglich kann die Verzögerung durch die Metastabilisierungs-Pipeanordnung 50 beliebig lang sein.
- Die Synchronisiereinrichtung erfordert, daß die Frequenzen bekannt und fest sind, wobei jedoch in der Realität immer ein gewisser Frequenzfehler bei den Taktsignalen vorhanden sein wird. Dieser Fehler bringt eine Ungenauigkeit in die Extrapolation ein und beschränkt folglich die Länge der Metastabilisierungs-Pipeanordnung 50. In der Praxis ist der Fehler nicht groß genug, um berücksichtigt werden zu müssen, vor allem wenn die Taktsignale mit Quarzoszillatoren erzeugt werden, was normalerweise der Fall ist.
- Nach dem Verlassen der Pipeanordnung 50 tritt das Signal in eine Verzögerungs-Pipeanordnung 54 ein, welche eine Seriellzu-Parallel-Umwandlung ausführt. Die Länge der Verzögerungs Pipeanordnung 54 ist aufgrund der Extrapolation ferner beliebig und wird gewöhnlicherweise ausgewählt, um eine angemessene Wahl der Zeitfenster zu liefern. Der parallele Ausgang der Verzögerungs-Pipeanordnung 54 ist mit den Eingängen zweier Multiplexer 56 und 58 verbunden. Der Q-Ausgang des ersten Flip-Flops 53 der Verzögerungs-Pipeanordnung 54 (der in Fig. 3 mit 0 beschriftet ist) ist mit dem ersten Eingang des Multiplexers 58 verbunden, wobei der Q-Ausgang des zweiten Flip-Flops 55 mit dem zweiten Eingang des Multiplexers 58 und ferner mit dem ersten Eingang des Multiplexers 56 verbunden ist, usw. Der Ausgang des zweitletzten Flip-Flop 57 ist mit dem letzten Eingang des Multiplexers 58 und mit dem zweitletzten Eingang des Multiplexers 56 verbunden. Die Multiplexer werden verwendet, um zwei Abtastwerte von den Verzögerungs-Pipeanordnungen auszuwählen, wobei die Verbindungen derart hergestellt sind, wie es im vorhergehenden dargestellt wurde, daß die zwei ausgewählten Abtastwerte von benachbarten Abgriffen der Verzögerungs-Pipeanordnung 54 kommen, was bedeutet, daß die zwei Abtastwerte von zwei aufeinanderfolgenden Takt2-Abtastwerten des Takt1 22 genommen werden. Die ausgewählten Abtastwerte werden durch Programmierbits 60 bestimmt, welche mit den Auswähleingängen der Multiplexer 56 und 58 verbunden sind. Durch Einstellen von Kombinationen der Programmiereingänge 60 können beliebige der Abtastwerte von der Verzögerungs-Pipeanordnung 54 ausgewählt werden. Die ausgewählten Abtastwerte sind mit einem UND-Gatter 62 verbunden, um das Freigabesignal 26 (das auch in Fig. 1 gezeigt ist) zu erzeugen. Das Freigabesignal wird erzeugt, wenn ein Abtastwert, der einen niedrigen Pegel des Takt1 zeigt, von einem Abtastwert, der einen hohen Pegel des Takt1 zeigt, gefolgt wird, was bedeutet, daß eine ansteigende Flanke zwischen den zwei Abtastwerten aufgetreten ist. Wie es im folgenden gezeigt wird, werden die Abtastwerte mittels der Programmierbits für ein bestimmtes Zeitfenster ausgewählt. Die Programmierbits ändern sich während des Betriebs nicht, wobei die Multiplexer lediglich die Abgriffpositionen einfach wechselbar machen sollen, derart, daß die Synchronisiereinrichtung konf iguriert werden kann, um bei unterschiedlichen Takt1- und Takt2-Frequenzen zu arbeiten. Falls diese Schaltung in einer integrierten Schaltung enthalten ist, könnten insbesondere die Programmierstifte als externe Stifte verfügbar gemacht werden, wodurch es ermöglicht wird, daß die Synchronisiereinrichtung in vielen Situationen verwendet wird. Obwohl Fig. 3 eine Verzögerungs Pipeanordnung 54 mit 16 Stufen und 16-Bit-zu-1-Bit-Multiplexer 56 und 58 zeigt, die durch vier Programmiereingänge 60 gesteuert werden, können abhängig von dem Bereich der Taktfrequenzen für den Takt1 und Takt2 und von der Genauigkeit, mit welcher die Freigabe bezüglich des Takt1 positioniert werden kann, weitere Kombinationen verwendet werden.
- Das Auswählen der besten Abgriffe der Verzögerungs-Pipeanordnung 54 wird durch das folgende Beispiel dargestellt. Es sei angenommen, daß die Frequenz des Takt1 22 8 MHz mit einer Periodendauer von 125 ns und die Frequenz des Takt2 24 33,3 MHz mit einer Periodendauer von 30 ns beträgt. Ferner sei angenommen, daß die Datenvorbereitungszeit 5 ns beträgt und die Pulsbreite des Takt1 einen derartigen Wert aufweist, daß die Daten lediglich 40 ns lang nach der ansteigenden Flanke 42 des Takt1 verfügbar sind (da die Daten über die Zeitdauer, bei der das Takt1-Signal eine hohen Pegel aufweist, gespeichert gehalten werden). Dieses Beispiel ist in Fig. 4 dargestellt, welches zeigt, daß die Flanke 70 des Takt2 24 verwendet werden kann, falls eine Takt1-Flanke zwischen den Zeitpunkten -40 ns und +5 ns auftritt. Daraus ergibt sich, daß eine beliebige Takt2-Flanke, die innerhalb 40 ns nach der Takt1-Flanke auftritt, verwendet werden kann, um Daten zu übertragen, da die gespeicherten Daten 40 ns lang nach einer Takt1-Flanke gehalten werden. Da die Vorbereitungszeit 5 ns beträgt, kann ferner eine Takt2-Flanke verwendet werden, falls dieselbe nicht mehr als 5 ns vor der Takt1-Flanke auftritt. Falls die Takt2-Flanke als der Zeitpunkt 0 betrachtet wird, kann die Takt2-Flanke dann verwendet werden, falls eine Takt1-Flanke zwischen dem Zeitpunkt -40 ns und dem Zeitpunkt +5 ns auftritt.
- Da die Metastabilisierungs-Pipeanordnung 50 beliebig lang sein kann, wird ein Verwenden einer Pipe-Anordnung mit 16 Stufen die in Tabelle 1 gezeigten Abtastzeitpunkte der Verzögerungs-Pipeanordnungsabgriffe ergeben. Ein Abgriff 1 ist ein Takt1-Abtastwert, der 18 Zyklen alt ist, d. h., daß das Takt1-Signal die 16 Flip-Flops der Pipeanordnung 50 plus die ersten zwei Flip-Flops der Verzögerungs-Pipeanordnung 54 durchlaufen hat, wodurch dasselbe um 18 Zyklen verzögert ist. 18 Zyklen des Takt2 betragen 540 ns (18 x 30), damit wird ein Freigabesignal 26 auftreten, falls eine Takt1-Flanke zwischen dem Zeitpunkt -540 ns und dem Zeitpunkt -510 ns vorhanden war. Die Periode des Takt1 beträgt 125 ns, somit ist dies dasselbe, als wenn man sagt, daß die Freigabe 26 auftreten wird, falls eine Takt1-Flanke zwischen einem Zeitpunkt -40 ns (-540 + 4 x 125) und einem Zeitpunkt +115 ns (-510 + 5 x 125) vorhanden war, welche ferner -10 ns (-510 + 4 x 125) ist. Diese würde sich in dem Fenster befinden, wodurch dieser Abgriff annehmbar ist, wobei jedoch ein anderer Abgriff geeigneter sein kann. Ein Abgriff 14 beispielsweise weist ein Fenster von -25 bis +5 auf, welcher bewirken würde, daß die Übertragung in dem Fenster früher auftritt, wobei dies somit eine bessere Wahl für den Abgriff sein würde.
- Wenn die minimale Pulsbreite des Takt1 kürzer als die Periode des Takt2 ist, können drei Abgriffe erforderlich sein, um sicherzustellen, daß eine ansteigende Flanke des Takt1 nicht verfehlt wird. Fig. 5 zeigt ein Zeitablaufdiagramm, das diesen Punkt darstellt. Bezugnehmend auf Fig. 5 ist die Zeitdauer, die der Takt1 einen hohen Pegel aufweist, d. h. die Zeitdauer von dessen ansteigender Flanke bis zu seiner abfallenden Flanke, kürzer als die Periode des Takt2. Falls Taktsignale, die diese Charakteristika aufweisen, mit der Synchronisiereinrichtung von Fig. 3 verwendet werden, würde die ansteigende Flanke des Takt1 jedesmal verloren gehen, wenn die in Fig. 5 dargestellte Situation auftritt. Die Synchronisiereinrichtung kann noch korrekt funktionieren, wobei sich dieselbe jedoch nicht optimal verhalten würde, da eine Übertragung nicht auftreten würde, bis eine Takt1-Flanke erfaßt wurde.
- Fig. 6 zeigt eine Schaltung, die das Verhalten unter den Umständen, bei denen die Takt1-Pulsbreite kurz ist, verbessern wird. Bezugnehmend auf Fig. 6 kann ein dritter Abgriff, der Abgriff 1, verwendet werden, um die Abtastzeit der Schaltung zu reduzieren. Der Abgriff 1 liefert einen Abtastwert, der den Zustand des Takt1 zum Zeitpunkt -10 ns gibt. Folglich wird die Freigabe auftreten, falls der Takt1 zum Zeitpunkt -25 ns einen niedrigen Pegel und zum Zeitpunkt -10 ns einen hohen Pegel aufweist oder der Takt1 zum Zeitpunkt -10 ns einen niedrigen Pegel und zum Zeitpunkt +5 ns einen hohen Pegel aufweist. Die Abtastwerte sind nun effektiv 15 ns anstatt 30 ns voneinander getrennt, wodurch sich die Betriebsbedingungen der Synchronisiereinrichtung für eine niedrige Takt2-Frequenz oder kürzere Takt1-Pulsbreiten erweitern.
- Nachdem somit ein momentan bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung beschrieben worden ist, wird es nun offensichtlich sein, daß die Aufgaben der Erfindung vollständig gelöst wurden, wobei es Fachleuten offensichtlich sein wird, daß sich viele Änderungen bzgl. des Aufbaus und der Schaltungsanordnung und sich stark unterscheidenden Ausführungsbeispiele und Anwendungsmöglichkeiten der Erfindung aufdrängen, ohne von dem Bereich der vorliegenden Erfindung abzuweichen. Die Offenbarungen und die Beschreibung hierin sollen darstellend sein und die Erfindung auf keine Weise begrenzen, wobei die Erfindung lediglich durch den Bereich der folgenden Ansprüche begrenzt ist. Tabelle 1
Claims (20)
1. Eine elektrische Schaltung zum Synchronisieren von
Datenübertragungen zwischen einem ersten Datenbus (14)
mit einem ersten Taktsignal (22) und einem zweiten
Datenbus (18) mit einem zweiten Taktsignal (24), mit
folgenden Merkmalen:
einer Einrichtung (50, 54) zum Speichern einer Mehrzahl
von ersten Taktzyklen;
einer Einrichtung (56, 58) zum Auswählen einer Mehrzahl
der gespeicherten Zyklen; und
einer Einrichtung zum Kombinieren (62) der ausgewählten
Zyklen, um ein Freigabesignal zum Freigeben der
Datenübertragungen zu erzeugen;
wodurch frühere erste Taktsignale verwendet werden, um
einen momentanen ersten Taktzyklus vorherzusagen.
2. Die Schaltung gemäß Anspruch 1, bei der die
Speichereinrichtung eine
Seriell-zu-Parallel-Umwandlungseinrichtung (54) aufweist.
3. Die Schaltung gemäß Anspruch 2, bei der die
Seriellzu-Parallel-Umwandlungseinrichtung eine Mehrzahl von
seriell verbundenen Flip-Flop-Schaltungen (53, 55, 57)
aufweist, die das Ausgangssignal der
Metastabilisierungs-Einrichtung als Eingangssignal aufweisen und
durch das zweite Taktsignal (24) getaktet sind.
4. Die Schaltung gemäß Anspruch 1, bei der die Einrichtung
zum Auswählen ferner eine Einrichtung zum Programmieren
der Auswahl (60) aufweist, wodurch die Auswahl für
unterschiedliche relative Geschwindigkeiten des ersten
Taktsignals (22) und des zweiten Taktsignals (24)
geändert werden kann.
5. Die Schaltung gemäß Anspruch 4, bei der die Einrichtung
zum Programmieren eine Mehrzahl von
Signalauswahlschaltungen (56, 58) aufweist, die jeweils alle der
parallelen Signale als ein erstes Eingangssignal und jeweils
eine Anzahl von Programmierbits (60) als ein zweites
Eingangssignal aufweisen, wodurch die Programmierbits
die parallelen Signale auswählen.
6. Die Schaltung gemäß Anspruch 5, bei der die parallelen
Signale immer in benachbarten Paaren ausgewählt werden.
7. Die Schaltung gemäß Anspruch 4, bei der die parallelen
Signale immer in benachbarten Paaren ausgewählt werden.
8. Die Schaltung gemäß Anspruch 1, bei der die Einrichtung
zum Kombinieren eine logische UND-Einrichtung (62)
aufweist.
9. Die Schaltung gemäß Anspruch 1, bei der die Einrichtung
zum Kombinieren eine Einrichtung zum Kombinieren von
zwei der ausgewählten Signale aufweist.
10. Eine elektrische Logikschaltung zum Übertragen von
Daten von einem ersten Datenbus (14) mit einem ersten
Taktsignal (22) zu einem zweiten Datenbus (18) mit
einem zweiten Taktsignal (24), mit folgenden Merkmalen:
einer Abtasteinrichtung (50) zum Abtasten des ersten
Takts (22) in Intervallen, die durch den zweiten Takt
(24) definiert sind, und zum Bereitstellen eines
seriellen Abtastausgangssignals;
einer Einrichtung zum Umwandeln (54) des seriellen
Abtastausgangssignals der Abtasteinrichtung in eine
Mehrzahl
von parallelen Signalen;
einer Einrichtung zum Auswählen (56, 58) von zumindest
zwei der parallelen Signale;
einer Einrichtung zum Kombinieren (62) der ausgewählten
Signale, um ein Freigabesignal (26) zu erzeugen; und
einer Bustreibereinrichtung (28), die den ersten
Datenbus (14) mit dem zweiten Datenbus (18) verbindet, wobei
die Bustreibereinrichtung durch das Freigabesignal (26)
freigegeben wird.
11. Die Schaltung gemäß Anspruch 10, bei der die
Abtasteinrichtung (50) eine Mehrzahl von seriell verbundenen
Flip-Flop-Schaltungen (52) aufweist, die das erste
Taktsignal (22) als ein Eingangssignal aufweisen und
durch das zweite Taktsignal (24) getaktet sind, wodurch
das erste Taktsignal 22 in Intervallen abgetastet wird,
die durch den zweiten Takt (24) definiert sind.
12. Die Schaltung gemäß Anspruch 10, bei der die
Umwandlungseinrichtung (54) eine Mehrzahl von seriell
verbundenen Flip-Flop-Schaltungen (53, 55, 57) aufweist, die
das serielle Abtastausgangssignal als ein
Eingangssignal aufweisen und durch das zweite Taktsignal (24)
getaktet sind.
13. Die Schaltung gemäß Anspruch 10, bei der die
Einrichtung zum Auswählen (56, 58) ferner eine Einrichtung zum
Programmieren der Auswahl (60) aufweist, wodurch die
Auswahl für unterschiedliche relative Geschwindigkeiten
des ersten Taktsignals (22) und des zweiten Taktsignals
(24) geändert werden kann.
14. Die Schaltung gemäß Anspruch 13, bei der die
Einrichtung zum Programmieren eine Mehrzahl von
Signalauswahlschaltungen (56, 58) aufweist, die jeweils alle der
parallelen Signale als ein erstes Eingangssignal und
jeweils eine Anzahl von Programmierbits (60) als ein
zweites Eingangssignal aufweisen, wodurch die
Programmierbits die parallelen Signale auswählen.
15. Die Schaltung gemäß Anspruch 14, bei der die parallelen
Signale immer in benachbarten Paaren ausgewählt werden.
16. Die Schaltung gemäß Anspruch 13, bei der die parallelen
Signale immer in benachbarten Paaren ausgewählt werden.
17. Die Schaltung gemäß Anspruch 10, bei der die
Einrichtung zum Kombinieren eine logische UND-Einrichtung (62)
aufweist.
18. Die Schaltung gemäß Anspruch 10, bei der die
Einrichtung zum Kombinieren eine Einrichtung zum Kombinieren
von drei der parallelen Signale aufweist.
19. Ein Verfahren zum Synchronisieren von
Datenübertragungen zwischen einem ersten Datenbus (14) mit einem
ersten Taktsignal (22) und einem zweiten Datenbus (18)
mit einem zweiten Taktsignal (24), mit folgenden
Schritten:
Abtasten des ersten Taktsignals (22) mit dem zweiten
Taktsignal (24) und Bereitstellen eines seriellen
abgetasteten Ausgangssignals;
Umwandeln des seriellen abgetasteten Ausgangssignals in
parallele Signale (54);
Auswählen von zumindest zwei benachbarten parallelen
Signalen (56, 58);
Verknüpfen der ausgewählten Signale (62) mittels einer
UND-Operation, um ein Freigabesignal (26) zu erzeugen;
und
Freigeben einer Bustreiberschaltung (28), die den
ersten Datenbus (14) mit dem zweiten Datenbus (18) mit
dem Freigabesignal (26) verbindet.
20. Das Verfahren gemäß Anspruch 19, bei dem der
Auswählschritt ferner den Schritt eines Vordefinierens der
ausgewählten Signale aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/384,588 US5008904A (en) | 1989-07-24 | 1989-07-24 | Synchronizer using clock phase extrapolation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69031639D1 DE69031639D1 (de) | 1997-12-04 |
DE69031639T2 true DE69031639T2 (de) | 1998-02-19 |
Family
ID=23517919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69031639T Expired - Fee Related DE69031639T2 (de) | 1989-07-24 | 1990-06-22 | Synchronisiereinrichtung, welche Taktphasenextrapolation verwendet |
Country Status (4)
Country | Link |
---|---|
US (1) | US5008904A (de) |
EP (1) | EP0411759B1 (de) |
JP (1) | JP3194473B2 (de) |
DE (1) | DE69031639T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005056709A1 (de) * | 2005-11-28 | 2007-06-06 | Siemens Ag | Verfahren und Vorrichtung zur Kopplung mindestens zweier unabhängiger Bussysteme |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI85318C (fi) * | 1990-08-14 | 1992-03-25 | Tecnomen Oy | Kompensering av felet i en klockas gaong. |
US5440557A (en) * | 1993-12-21 | 1995-08-08 | National Semiconductor Corporation | Apparatus and methods for providing an interface between FDDI-II rings |
US5548620A (en) * | 1994-04-20 | 1996-08-20 | Sun Microsystems, Inc. | Zero latency synchronized method and apparatus for system having at least two clock domains |
US5798667A (en) * | 1994-05-16 | 1998-08-25 | At&T Global Information Solutions Company | Method and apparatus for regulation of power dissipation |
WO1997006491A1 (en) * | 1995-08-10 | 1997-02-20 | International Business Machines Corporation | Synchronizing logic avoiding metastability |
US7363401B1 (en) * | 1997-12-15 | 2008-04-22 | Intel Corporation | Method and apparatus for controlling bus transactions depending on bus clock frequency |
JP3592547B2 (ja) | 1998-09-04 | 2004-11-24 | 株式会社ルネサステクノロジ | 情報処理装置および信号転送方法 |
US7996701B2 (en) * | 2008-02-13 | 2011-08-09 | Integrated Device Technologies, Inc. | Automated clock relationship detection |
JP5483172B2 (ja) * | 2009-10-19 | 2014-05-07 | 横河電機株式会社 | データ転送装置およびデータ転送方法 |
US8582706B2 (en) * | 2009-10-29 | 2013-11-12 | National Instruments Corporation | Training a data path for parallel data transfer |
KR101774870B1 (ko) * | 2016-09-30 | 2017-09-05 | (주)자이디 | 폼 패드 절단장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2075310A (en) * | 1980-04-30 | 1981-11-11 | Hewlett Packard Ltd | Bus extender circuitry for data transmission |
CA1266720A (en) * | 1985-09-27 | 1990-03-13 | Rasmus Nordby | Synchronizing system |
SE452937B (sv) * | 1986-04-18 | 1987-12-21 | Ericsson Telefon Ab L M | Sett och anordning for att overfora data mellan tva datautrustningar som drivs av var sin oberoende klocka |
NZ220548A (en) * | 1986-06-18 | 1990-05-28 | Fujitsu Ltd | Tdm frame synchronising circuit |
US4815109A (en) * | 1987-06-25 | 1989-03-21 | Racal Data Communications Inc. | Sampling clock synchronization |
-
1989
- 1989-07-24 US US07/384,588 patent/US5008904A/en not_active Expired - Lifetime
-
1990
- 1990-06-22 EP EP90306875A patent/EP0411759B1/de not_active Expired - Lifetime
- 1990-06-22 DE DE69031639T patent/DE69031639T2/de not_active Expired - Fee Related
- 1990-07-24 JP JP19605690A patent/JP3194473B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005056709A1 (de) * | 2005-11-28 | 2007-06-06 | Siemens Ag | Verfahren und Vorrichtung zur Kopplung mindestens zweier unabhängiger Bussysteme |
US7788440B2 (en) | 2005-11-28 | 2010-08-31 | Siemens Aktiengesellschaft | Method and device for coupling at least two independent bus systems |
Also Published As
Publication number | Publication date |
---|---|
JPH0358263A (ja) | 1991-03-13 |
JP3194473B2 (ja) | 2001-07-30 |
DE69031639D1 (de) | 1997-12-04 |
EP0411759B1 (de) | 1997-10-29 |
EP0411759A2 (de) | 1991-02-06 |
US5008904A (en) | 1991-04-16 |
EP0411759A3 (en) | 1992-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69428687T2 (de) | Ausrichtungsgeraet fuer einen seriellen datenbus | |
DE3687956T2 (de) | Datensynchronisator zwischen einer sende- und einer empfangsanlage. | |
DE68923207T2 (de) | Schaltung zur Verhinderung eines metastabilen Zustandes. | |
DE69509932T2 (de) | Vorrichtung und Verfahren um Chips mit grösserer Geschwindigkeit als die des Buses synchron zu betreiben | |
DE69120586T2 (de) | Rechnersystem mit synchronem Bus | |
DE69634824T2 (de) | Integrierte schaltungstestanordnung mit paralleler ansteuerung | |
DE19941196B4 (de) | Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern | |
DE10255685B3 (de) | Taktsynchronisationsschaltung | |
DE69031639T2 (de) | Synchronisiereinrichtung, welche Taktphasenextrapolation verwendet | |
DE3850162T2 (de) | Rahmensynchronisierungsapparat. | |
DE2719531C3 (de) | Digitale Logikschaltung zur Synchronisierung der Datenübertragung zwischen asynchrongesteuerten Datensystemen | |
DE19882870C2 (de) | Verfahren und Einrichtung zum Weiterleiten eines Signals zwischen synchronen Taktdomänen, die bei einem nicht-ganzzahligen Frequenzverhältnis arbeiten | |
DE60202856T2 (de) | Methode und system zur automatischen verzögerungserkennung und empfängeranpassung für eine synchrone busschnittstelle | |
DE69028498T2 (de) | Datenübertragungssystem und -verfahren | |
EP1315337B1 (de) | Bus-Interface | |
DE3887249T2 (de) | Digitaler Multiplexer. | |
DE69216338T2 (de) | Schnittstellenschaltung zur Datenübertragung | |
DE19957613B4 (de) | Synchronisierungsschaltung zum Konvertieren eines asynchronen Impulssignals in ein synchrones Impulssignal | |
DE3801993C2 (de) | Zeitgebersystem | |
DE69936716T2 (de) | Verfahren und gerät zum datenaustausch | |
DE10122702C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines zweiten Signals mit einem auf einem zweiten Takt basierenden Takt aus einem ersten Signal mit einem ersten Takt | |
DE68923271T2 (de) | Verfahren und anordnung zur wahrnehmung bevorstehender überläufe und/oder unterschreitungen eines elastischen puffers. | |
DE19948598B4 (de) | Mikrocomputer mit Abtastfunktion eines Wiederholungs-Anforderungssignals in Synchronisation mit einem Abtastsignal | |
DE4037062C2 (de) | Schaltungsanordnung zur Synchronisierung eines asynchronen Datensignals | |
EP0273234A2 (de) | Datenbussystem für einen seriellen Datenbus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8339 | Ceased/non-payment of the annual fee |