-
Bei vielen elektronischen Geräten wird die Kommunikation zwischen verschiedenen Schaltungselementen des elektronischen Geräts über einen Bus vorgenommen, mit welchem die Schaltungselemente verbunden sind. In einem derartigen Fall kann grundsätzlich jedes Schaltungselement sowohl als Empfänger zum Empfangen von Daten über den Bus oder als Sender, welcher Daten über den Bus zu einem anderen Schaltungselement sendet, dienen. Selbstverständlich können auch Schaltungselemente vorgesehen sein, welche Daten nur senden oder nur empfangen.
-
Jedes mit dem Bus verbundene Schaltungselement (auch als Busteilnehmer bezeichnet) kann den Bus für eine definierte Zeitspanne übernehmen und Daten während dieser definierten Zeitspanne senden. Die Zeitplanung, welche bestimmt, welches Schaltungselement den Bus während welcher Zeitspanne benutzen kann, wird allgemein mittels eines Verwaltungsprotokolls verwaltet und kann beispielsweise durch eine speziell ausgestaltete Busverwaltungseinheit oder auch durch eine herkömmliche Prozessoreinheit verwaltet werden. Das Verwaltungsprotokoll kann auch durch ein oder mehrere der mit dem Bus verbundenen Schaltungselemente verwaltet werden.
-
Wenn während einer derartigen Zeitspanne ein Schaltungselement Daten sendet, welche von einem anderen Schaltungselement empfangen werden sollen, muss dieses andere Schaltungselement während einer entsprechenden Zeitspanne zum Empfangen von Daten bereit oder „geöffnet” sein, um die Daten empfangen zu können. Die Zeitspanne zum Empfangen der Daten wird als Empfangsfenster bezeichnet. Eine Möglichkeit, das korrekte Schaltungselement zum Empfangen der Daten zu aktivieren, ist es, ein entsprechendes Empfangsaktivierungssignal (Receive Enable) zu senden, welches eine Kennung umfasst, welche das empfangene Schaltungselement identifiziert. Das Empfangsaktivierungssignal kann beispielsweise während der Zeitspanne, in welcher das Schaltungselement zum Empfangen von Daten geöffnet oder aktiviert sein soll, auf logisch Eins und sonst auf logisch Null gesetzt werden.
-
Von dem sendenden Schaltungselement während der Zeitspanne gesendete Daten werden auch als Datenburst bezeichnet. In quellsynchronisierten Kommunikationssystemen („source synchronized system”) wie beispielsweise bei Bussystemen von DDR2-DRAMs (Double Data Rate 2 – Dynamic Random Access Memory) wird ein Abtastsignal (Strobe) oder Taktsignal mit dem Datenburst übertragen und von dem empfangenden Schaltungselement benutzt, die Daten abzutasten, beispielsweise indem das Abtastsignal einem Takteingang eines Registers zugeführt wird und der Datenburst einem Dateneingang des Registers zugeführt wird. Der Datenburst und das Abtastsignal werden im Folgenden zusammengefasst allgemein als Burst bezeichnet.
-
Die ungefähre Ankunftszeit des Datenbursts und des Abtastsignals an dem empfangenden Schaltungselement ist mit einer gewissen Genauigkeit aus dem Verwaltungsprotokoll oder Buszuordnungsprotokoll (Bus Allocation Protocol), welches benutzt wird, bekannt, d. h. von einem Taktzyklus bestimmt, mit welchem der Bus getaktet wird. Auf der anderen Seite hängt die exakte Zeitposition des Datenbursts und des Abtastsignals an dem Empfänger von vielerlei Faktoren wie Längen von Leitungen, welche die Schaltungselemente mit dem Bus verbinden, oder Sendeverzögerungen ab. Diese Verzögerungen verschieben die exakte Position des Datenbursts und des Abtastsignals um Bruchteile von Taktzyklen auf dem Bus und können zudem während des Betriebs des Systems beispielsweise aufgrund von Temperaturschwankungen und Änderungen der Versorgungsspannung variieren. Daher können der Datenburst und das Abtastsignal zumindest teilweise außerhalb des Empfangsfensters des empfangenden Schaltungselements sein, was zu Datenverlusten oder fehlerhaftem Empfang der Daten führen kann.
-
Eine herkömmliche Technik, um dieses Problem zu lösen, ist es, einen Schutzabstand („Guardband”) zu jedem Datenburst und Abtastsignal hinzuzufügen. Bevor der Burst beginnt, sendet der Sender bereits ein Präambel genanntes vorgegebenes Signal, und nach dem Burst bleibt der Sender für eine „Postambel” aktiv. Dementsprechend wird der Empfänger für einen längeren Zeitraum aktiviert (d. h. einen Zeitraum entsprechend dem gesamten von dem sendenden Schaltungselement gesendeten Signal, d. h. Präambel, Burst und Postambel), was Verschiebungen der Bursts aufgrund von Verzögerungen erlaubt, ohne den Burst aus dem Empfangsfenster herauszubewegen.
-
Diese Technik verringert jedoch die verfügbare Bandbreite des Busses, da in den Schutzabständen keine Übertragung von Nutzdaten stattfindet. Daher ist es allgemein wünschenswert, diese Schutzabstände so klein wie möglich zu halten. Demnach gibt es eine Austauschbeziehung zwischen der Genauigkeit der Positionierung des Empfangsfensters und der Schutzabstandgröße und verfugbaren Bandbreite. Längere Schutzabstände ermöglichen eine größere Verschiebung des Bursts, ohne das Empfangsfenster zu verlassen, aber verringern auf der anderen Seite die verfügbare Bandbreite.
-
Um die Größe der Schutzabstände zu begrenzen, werden typischerweise Offlinekalibrierungsalgorithmen während Phasen benutzt, in denen keine Nutzdaten übertragen werden, beispielsweise während eines Systemstarts. Für diese Offlinekalibrierungen wird eine bekannte Abfolge von Bursts über den Bus übertragen, und ihre Position wird gemessen. Basierend auf diesen Messungen werden Korrekturwerte erhalten, welche benutzt werden, die von dem Buszuordnungsprotokoll bestimmten Empfangsfenster zu korrigieren.
-
Ein derartiger Offlinekalibrierungsalgorithmus kann nicht zu oft durchgeführt werden, da während des Ablaufs dieses Algorithmus keine Nutzdatenübertragung stattfinden kann. In vielen Fällen wird ein derartiger Offlinekalibrierungsalgorithmus nur beim Systemstart durchgeführt. Dementsprechend wird die erhaltene Korrektur nur statische Effekte wie Verbindungsverzögerungen abdecken, welche nur von der Geometrie abhängen, aber wird keine Veränderungen der Schaltungsverzögerungen abdecken, welche beispielsweise durch Versorgungsspannungssschwankungen oder Temperaturschwankungen oder auch durch Rauschen verursacht werden, da sich diese Werte während des Betriebs des Systems ändern. Wenn die Zeitkonstante für diese Änderungen klein gegenüber den Zeitabständen ist, in denen Offlinekalibrierungsalgorithmen durchgeführt werden, können diese Änderungen zudem nicht durch die Kalibrierung detektiert werden.
-
Dementsprechend werden die oben erläuterten Schutzabstände typischerweise groß genug gehalten, derartige Schwankungen abzudecken.
-
Aus der
EP 1 089 485 A2 ist ein satellitenbasiertes Kommunikationssystem bekannt, bei welchem ein Synchronisationsburst in einem zugeordneten Zeitschlitz empfangen wird. Der Synchronisationsburst ist dabei kürzer als der zugeordnete Zeitschlitz.
-
-
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung bereitzustellen, womit eine Position eines Empfangsfensters auch während des laufenden Betriebs eines Kommunikationssystems auf einfache Weise überprüft werden kann, so dass gegebenenfalls während des laufenden Betriebs Korrekturen durchgeführt werden können.
-
Diese Aufgabe wird gelöst durch ein Verfahren nach Anspruch 1 und eine Vorrichtung nach Anspruch 15. Die abhängigen Ansprüche definieren weitere Ausführungsbeispiele.
-
Ein Ausführungsbeispiel eines Verfahrens zum Überprüfen einer Position eines Empfangsfensters umfasst Überprüfen, ob ein in dem gesamten Empfangsfenster korrekt zu empfangendes Signal innerhalb eines reduzierten Fenster ist, welches innerhalb des Empfangsfensters liegt und kürzer ist als das Empfangsfenster.
-
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die beigefügte Zeichnung näher erläutert. Es zeigen:
-
1 ein Blockdiagramm eines Ausführungsbeispiels eines erfindungsgemäßen Bussystems,
-
2 beispielhafte Signale in dem Bussystem von 1,
-
3a ein Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung zum Überprüfen der Position eines Empfangsfensters,
-
3b ein weiteres Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung zum Überprüfen der Position eines Empfangsfensters,
-
4 beispielhafte Signale in den Ausführungsbeispielen von 3a und 3b, und
-
5 ein Flussdiagramm eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zum Überprüfen der Position eines Empfangsfensters.
-
Im Folgenden werden Ausfuhrungsbeispiele der Erfindung unter Bezugnahme auf die Zeichnung beschrieben. In 1 ist als Beispiel einer Umgebung, in welcher Ausführungsbeispiele der Erfindung implementiert werden können, ein Ausführungsbeispiel eines Bussystems 5 gezeigt. Das in 1 dargestellte Bussystem umfasst einen Bus 1 und mit dem Bus 1 wie durch Pfeile 4 gekennzeichnet verbundene Schaltungselemente 2, 3. Jedes der Schaltungselemente 2, 3 kann ausgestaltet sein, Daten über den Bus 1 zu senden, Daten über den Bus 1 zu empfangen oder beides. Bei dem dargestellten Ausführungsbeispiel arbeitet Schaltungselement 3 als Busmanager, d. h. es ordnet den Schaltungselementen 2, 3 Zeitschlitze, d. h. Zeitspannen, zum Ubertragen von Daten uber den Bus unter Benutzung eines geeigneten Buszuordnungsprotokolls oder Verwaltungsprotokolls zu. Ein Schaltungselement, welches in einem bestimmten Zeitschlitz Daten sendet, wird in der folgenden Erläuterung als sendendes Schaltungselement bezeichnet. Jedes der in 1 dargestellten Schaltungselemente 2, 3 kann in einem jeweiligen Zeitschlitz als ein derartiges sendendes Element arbeiten.
-
Derartig gesendete Daten sind für ein anderes Schaltungselement 2, 3, welches mit dem Bus 1 verbunden ist, bestimmt. Wie in der Einleitung beschrieben, wird über das Buszuordnungsprotokoll und den Busmanager 3 ein Empfangsfenster in dem beabsichtigten Empfänger der Daten aktiviert, welcher im Folgenden empfangendes Schaltungselement genannt wird. Wiederum kann jedes der Schaltungselemente 2, 3 als empfangendes Schaltungselement arbeiten.
-
Das in 1 dargestellte Bussystem kann ein Bussystem sein, welches quellsynchronisierte Signalisierung (Source Synchronized Signalling) verwendet, was bedeutet, dass zusammen mit einem Datenburst Abtastpulse als ein Taktsignal gesendet werden, wobei der Datenburst und das Abtastsignal gemeinsam als Burst bezeichnet werden. Eine derartige Signalisierung wird beispielsweise verbreitet in Speicheranordnungen wie DDR2 DRAMs verwendet.
-
Diese quellsynchronisierte Kommunikation in dem Bussystem 5 der 1 wird nun unter Bezugnahme auf 2 erläutert.
-
In 2 sind ein mit „Data” bezeichneter Datenburst und ein mit „Strobe” bezeichnetes Abtastsignal als Beispiel für Signale dargestellt, welche von einem sendenden Schaltungselement in 1 gesendet werden konnen. Der Datenburst und das Abtastsignal werden von dem empfangenden Schaltungselement empfangen, welches durch ein Empfangsaktivierungssignal rcv_en aktiviert wird, welches ebenso in 2 dargestellt ist und wobei das empfangende Schaltungselement aktiviert wird, wenn das Empfangsaktivierungssignal einen Wert entsprechend einer logischen Eins annimmt, und deaktiviert wird, wenn das Empfangsaktivierungssignal einen Wert entsprechend einer logischen Null annimmt. Das Empfangsaktivierungssignal wird entsprechend dem Buszuordnungsprotokoll beispielsweise von Busmanager 3 erzeugt und kann eine Kennung umfassen, um das Schaltungselement zu identifizieren, für das es bestimmt ist. Die Zeitspanne, während der das Empfangsaktivierungssignal rcv_en den Wert logisch Eins annimmt, entspricht dem bereits erwähnten Empfangsfenster.
-
Das empfangende Schaltungselement tastet den Datenburst gesteuert von dem Abtastsignal ab, beispielsweise, indem das Abtastsignal einem Takteingang eines Registers und der Datenburst einem Dateneingang des Register zugeführt wird. Zum Abtasten des Datenbursts können die ansteigenden Flanken des Abtastsignals (durch Pfeile 6 bezeichnet), die fallenden Flanken des Abtastsignals (durch Pfeile 7 bezeichnet) oder beide Flanken benutzt werden. Beispielsweise werden in DDR-RAMs allgemein sowohl die ansteigende als auch die fallenden Flanken benutzt, was in dem in 2 dargestellten Beispiel zu einer abgetasteten „110110” fuhren würde, während beispielsweise in SDR-RAMs (Single Data Rate) nur die ansteigenden Flanken benutzt werden, was in dem in 2 dargestellten Beispiel dazu führen wurde, dass eine „1010” abgetastet würde.
-
Wie in der Einleitung erläutert kann die Position des Empfangsfensters und somit die Position des Empfangsaktivierungssignals rcv_en beim Starten oder Hochfahren des Bussystems durch Benutzung geeigneter Testsequenzen von Daten und Abtastpulsen eingestellt werden.
-
Gemäß den als nächstes diskutierten Ausführungsbeispielen ist es möglich, geringfugige Änderungen der Position des Datenbursts und des Abtastsignals relativ zu dem Empfangsfenster zu uberwachen und damit entsprechende Abweichungen während des normalen Betriebs des Bussystems 5 zu korrigieren, ohne die Datenubertragung unterbrechen zu müssen.
-
Ausführungsbeispiele der Erfindung überprüfen, ob das Abtastsignal innerhalb eines reduzierten Fensters liegt, welches in 2 zuunterst dargestellt ist und dessen Grenzen einen zeitlichen Abstand zu den Grenzen des Empfangsfensters gemäß einer Zeitmarge tm aufweisen. In Ausführungsbeispielen der Erfindung wird tm derart gewählt, dass es größer ist als die maximale Drift des Abtastsignals und des Datenbursts (welche von demselben sendenden Schaltungselement gesendet werden und daher zur selben Zeit von dem empfangenen Schaltungselement empfangen werden) bezüglich des Empfangsfensters während einer vorgegebenen Anzahl von Taktzyklen des Busses (z. B. ein oder zwei Taktzyklen). Diesbezüglich ist zu bemerken, dass eine derartige Drift sowohl durch eine Drift des Empfangsfensters, d. h. des Empfangsaktivierungssignals, als auch durch eine Drift des Datenbursts und des Abtastsignals verursacht werden kann.
-
Wenn das Abtastsignal und somit der Datenburst das reduzierte Fenster verlassen, bedeutet dies, dass das Abtastsignal nahe an die Grenzen des tatsächlichen Empfangsfensters kommt und daher das Empfangsfenster entsprechend angepasst werden sollten. In anderen Worten können Ausführungsbeispiele der Erfindung eine Drift des Abtastsignals innerhalb des Empfangsfensters detektieren, bevor das Abtastsignal (und dementsprechend auch der Datenburst) das Empfangsfenster tatsächlich verlässt, und daher entsprechend reagieren.
-
Ausführungsbeispiele entsprechender Vorrichtungen werden als nächstes unter Bezugnahme auf 3A, 3B und 4 erläutert, wobei 3A und 3B Schaltdiagramme darstellen und 4 entsprechende beispielhafte Signale zeigt. Diese Ausführungsbeispiele können beispielsweise in dem Busmanager 3 von 1 oder in einem anderen der Schaltungselemente 2 implementiert werden.
-
Diesbezüglich ist bei den Ausführungsbeispielen der 3A und 3B die Funktion zum Überprüfen, ob das Abtastsignal die untere Grenze (in 2 links dargestellt) des reduzierten Fensters verlässt, in der Schaltung von 3A implementiert, während die Funktion zum Überprüfen, ob das Abtastsignal die obere Grenze (in 2 rechts dargestellt) des reduzierten Fensters verlässt, in der Schaltung von 3B implementiert ist. Daher kann ein Ausführungsbeispiel zum Durchführen einer vollständigen Überprüfung die Schaltung von 3A und die Schaltung von 3B umfassen. Wenn jedoch in einem gegebenen Kommunikationssystem nur eine Drift in eine Richtung erwartet wird, kann es ausreichend sein, nur eine der Schaltungen von 3A und 3B zu benutzen.
-
Zunächst wird das in 3A dargestellte Ausführungsbeispiel beschrieben. Das Empfangsaktivierungssignal rcv_en wird hier einem Inverter 8 und einem Verzögerungselement 11 zugeführt, welches das Signal um die Zeitmarge tm verzögert, um ein verzögertes Signal rcv_d zu erzeugen. Die Signale rcv_en und rcv_d sind beispielhaft in 4 dargestellt.
-
Wie in 3A gezeigt wird das Signal rcv_d einem Dateneingang eines Registers 13 zugeführt. Das Abtastsignal strobe wird einem Takteingang des Registers 13 zugeführt, so dass rcv_d gesteuert von dem Abtastsignal strobe abgetastet wird. Das Ergebnis dieser Abtastung wird an einem Ausgang q des Registers 13 ausgegeben und einem Setzeingang eines Setz/Rucksetzflipflops 14 zugeführt. Das Setz/Rücksetzflipflop 14 gibt ein Verspätungssignal rcv_en_late aus und kann zurückgesetzt werden, indem ein Resetsignal einem Rücksetzeingang R zugeführt wird.
-
Die Funktionsweise der Schaltung von 3A wird nun unter Bezugnahme auf 4 und insbesondere deren oberen Teil erklärt.
-
Wie oben bereits erläutert wird in dem Register 13 das verzögerte und invertierte Empfangsaktivierungssignal rcv_d mit dem Abtastsignal strobe abgetastet. Wie aus 4 ersichtlich, wird solange das Abtastsignal erst nach der Zeitmarge tm gerechnet von dem Beginn des Empfangsaktivierungssignals beginnt, eine Null abgetastet, weil das invertierte und verzögerte Empfangsaktivierungssignal rcv_d Null ist. Wenn das Abtastsignal jedoch bezüglich des Empfangsaktivierungssignals driftet, so dass es näher als die Zeitmarge tm an den Beginn des Empfangsaktivierungssignals rcv_en kommt, wird eine Eins abgetastet, da dann das Signal rcv_d Eins ist. Wenn eine Eins abgetastet wird, wird eine Eins aus dem Register 13 ausgegeben und dem Setzeingang des Setz/Rücksetzflipflops 14 zugeführt. Dementsprechend nimmt in diesem Fall auch das Verspatungssignal rcv_en_late den Wert Eins an, während rcv_en_late Null ist, wenn das Abtastsignal erst beginnt, nachdem die Zeitmarge tm vergangen ist. Dementsprechend zeigt ein Wert Eins das Verspätungssignal an, dass das Empfangsfenster verspätet ist (d. h. es zu einem früheren Zeitpunkt hin verschoben werden sollte), während ein Wert Null anzeigt, dass das Empfangsfenster nicht zu einem früheren Zeitpunkt hin verschoben zu werden braucht.
-
Bei dem dargestellten Ausführungsbeispiel ändern aufgrund des als Speicher arbeitenden Setz/Rücksetzflipflops 14 spätere Abtastungen durch spätere Pulse des Abtastsignals innerhalb desselben Bursts den Zustand des Verspätungssignals nicht. Das Setz/Rucksetzflipflop 14 wird beispielsweise vom Busmanager 3 der 1 nach jedem Burst zurückgesetzt, so dass die Bewertung bei jedem Burst durchgeführt wird.
-
Als nächstes wird die Schaltung von 3B beschrieben, wobei die in dieser Figur dargestellte Latch-Schaltung Ähnlichkeiten zu der Latch-Schaltung der 3A aufweist. Insbesondere entspricht ein Inverter 9 der 3B dem Inverter 8 der 3A, ein Register 15 der 3B entspricht im Wesentlichen dem Register 13 der 3A und ein Setz/Rücksetzflipflop 10 der 3B entspricht dem Setz/Rücksetzflipflop 14 der 3A. Statt des Verzögerungselements 11 der 3A wird in der Schaltung der 3B jedoch ein Verzögerungselement 12 benutzt, um das Abtastsignal strobe bezüglich des Empfangsaktivierungssignals rcv_en zu verzögern, was gleichsam einer negativen Verzogerung des Empfangsaktivierungssignals rcv_en entspricht.
-
Dementsprechend tastet die in 3B dargestellte Schaltung das invertierte Empfangsaktivierungssignal mit einem verzögerten Abtastsignal im Register 15 ab und gibt ein Frühsignal rcv_en_early im Gegensatz zu dem Verspätungssignal von 3A aus.
-
Die Funktionsweise der Schaltung der 3B ist ähnlich derjenigen von 3A und wird unter Bezugnahme auf den unteren Teil von 4 erläutert. Das invertierte Empfangsaktivierungssignal ist in 4 mit rcv_en-inv bezeichnet, und das dem Register 15 zugeführte verzögerte Abtastsignal ist mir strobe_d bezeichnet.
-
Wie in 4 dargestellt werden, solange der letzte Puls des Abtastsignals mehr als die Zeitmarge tm von dem Ende des Empfangsaktivierungssignals rcv_en liegt, nur Nullen im Register 15 abgetastet, und daher ist in diesem Fall das Frühsignal rcv_en_early Null. Wenn jedoch der letzte Puls des Abtastsignals innerhalb der Zeitmarge tm vor dem Ende des Empfangsaktivierungssignals rcv_en liegt, wird mit diesem letzten Puls eine Eins abgetastet, und daher wird das Frühsignal rcv_en_early auf einen Wert von Eins gesetzt.
-
Ein Wert Eins des Fruhsignals zeigt an, dass das Empfangsfenster zu früh liegt und dementsprechend zu einer späteren Position hin verschoben werden sollte, und ein Wert Null zeigt an, dass das Empfangsfenster nicht zu einer späteren Position hin verschoben werden braucht.
-
Wenn sowohl die Schaltung von 3A als auch die Schaltung von 3B in dem Busmanager 3 der 1 oder anderswo in dem Bussystem von 1 realisiert sind, bedeutet ein Verspätungssignal mit Wert Eins, dass das Empfangsfenster und dementsprechend das Empfangsaktivierungssignal zu einem früheren Zeitpunkt hin verschoben werden sollte, ein Frühsignal von Eins bedeutet, dass das Empfangsfenster zu früh liegt und zu einem späteren Zeitpunkt hin verschoben werden sollte, und wenn sowohl das Frühsignal als auch das Verspätungssignal einen Wert Null haben, bedeutet dies, dass das Empfangsfenster nicht verschoben werden muss und in der korrekten Position ist. Diese Verschiebung kann durch den Busmanager 3 in 1 einfach durchgeführt werden, indem die Zeiten, zu denen das Empfangsaktivierungssignal gemäß dem Buszuordnungsprotokoll gesendet wird, entsprechend angepasst werden. Beispielsweise kann abhängig von dem Verspätungs- und Frühsignal das Empfangsaktivierungssignal um die halbe Zeitmarge tm oder die volle Zeitmarge tm verschoben werden.
-
Um dieses Verfahren zusammenzufassen, ist ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens in 5 dargestellt. In Schritt 16 wird eine Voreinstellung oder Offlinekalibrierung ähnlich wie in der Einleitung dargestellt durchgeführt, d. h. durch Benutzung von geeigneten Testbursts mit geeigneten Testdatensequenzen, um das Empfangsfenster anfänglich korrekt zu positionieren. Danach konnen Abweichungen von dieser korrekten Position aufgrund von Spannungsfluktuationen, Temperaturfluktuationen oder anderer Ursachen detektiert werden, und die Position kann entsprechen korrigiert werden. Insbesondere wird bei dem in 5 dargestellten Ausführungsbeispiel in Schritt 17 überprüft, ob das Empfangsfenster zu früh ist, und in Schritt 18 wird ein entsprechendes Frühsignal z. B. entsprechend dem Ausführungsbeispiel von 3B erzeugt. In Schritt 19 wird überprüft, ob das Empfangsfenster zu spat ist, und in Schritt 20 wird ein entsprechendes Verspätungssignal erzeugt, beispielsweise entsprechend dem Ausführungsbeispiel von 3. In Schritt 21 wird das Empfangsfenster schließlich basierend auf dem Frühsignal und dem Verspatungssignal wie bereits beschrieben angepasst.
-
Es ist zu bemerken, dass Schritte 17 und 18 auf der einen Seite und Schritte 19 und 20 auf der anderen Seite nicht in der dargestellten Reihenfolge durchgeführt werden müssen, sondern die Reihenfolge umgekehrt werden kann oder die Schritte 17 und 18 parallel zu den Schritten 19 und 20 durchgefuhrt werden können, was z. B. der Fall ist, wenn das Verfahren durch die in 3A und 3B dargestellten Schaltungen implementiert wird.
-
Da mit dem oben beschriebenen Ausführungsbeispiel eine kontinuierliche Überprüfung der Position des Empfangsfensters und eine entsprechende Anpassung des Empfangsfensters möglich ist, werden keine oder verringerte Schutzabstände benötigt, was die Bandbreite des Kommunikationskanals vergrößert.
-
Bei den Ausfuhrungsbeispielen der 3A und 3B konnen Register 13 und 15 Register sein, welche auf ansteigende Flanken des Abtastsignals, fallende Flanken des Abtastsignals oder beides reagieren. Im Fall von Kommunikationssystemen, welche allgemein nur die ansteigenden Flanken zum Abtasten benutzen (wie unter Bezugnahme auf 2 detailliert erlautert wurde), können beispielsweise sowohl Register 13 als auch Register 15 ausgestaltet sein, nur bei ansteigenden Flanken abzutasten, da in diesem Fall nur die ansteigenden Flanken innerhalb des Empfangsfensters bleiben müssen. Auf der anderen Seite kann, wenn allgemein sowohl die ansteigenden Flanken als auch die fallenden Flanken zum Abtasten benutzt werden, wie beispielsweise in DDR-RAMs, Register 13 ausgestaltet sein, nur bei ansteigenden Flanken des Abtastsignals abzutasten, während Register 15 ausgestaltet sein kann, nur bei fallenden Flanken abzutasten, was sicherstellt, dass die ansteigende Flanke des ersten Pulses des Abtastsignals und die fallende Flanke des letzten Pulses des Abtastsignals innerhalb des Empfangsfensters bleibt. Bei einem anderen Ausführungsbeispiel können Register 13 und 15 auch beide ausgestaltet sein, sowohl bei ansteigenden Flanken als auch bei fallenden Flanken abzutasten.
-
Bei den Schaltungen der 3A und 3B ist es auch möglich, die Schaltung ohne Inverter zu realisieren, wobei in diesem Fall die Bedeutung von Null und Eins beim Verzögerungssignal und Frühsignal umgekehrt ist.
-
Weiterhin ist es möglich, nur eine Schaltung anstelle der zwei Schaltungen von 3A und 3B zu verwenden, und ein variables Verzogerungselement sowohl fur das Empfangsaktivierungssignal und den Abtastpuls zu verwenden, so dass beispielsweise während einem Burst das Verspätungssignal erzeugt wird, während bei dem nächsten Burst das Frühsignal erzeugt wird.
-
Auch andere Arten von Schaltungen konnen genutzt werden, um das Verspätungssignal und das Fruhsignal zu erzeugen, beispielsweise unter Benutzung von D-Flipflops oder anderer Arten von Registern oder Latchen.
-
Auch wenn allgemein in einem System sowohl die ansteigenden Flanken als auch die fallenden Flanken zum Abtasten benutzt werden, konnen Register 13 und 15 ausgestaltet sein, nur die ansteigenden Flanken des Abtastsignals zum Abtasten zu verwenden. In diesem Fall kann, um sicher zu stellen, dass die fallende Flanke des Abtastsignals innerhalb des Empfangsfensters bleibt, die Verzögerung des Verzögerungselements 12 vergrößert werden, oder eine Torfunktion kann in dem Empfänger implementiert werden, welche das Schließen des Empfangsfensters verhindert, wenn eine ansteigende Flanke oder ein Wert logisch Eins des Abtastsignals empfangen wird, so dass auch die fallende Flanke des Abtastsignals empfangen wird, bevor das Empfangsfenster endet oder geschlossen wird. Diesbezüglich ist zu bemerken, dass, obwohl dieselbe Zeit tm in 3A und 3B benutzt wurde, auch verschiedene Zeiten benutzt werden können, so dass das reduzierte Fenster nicht symmetrisch innerhalb des Empfangsfensters angeordnet ist. Weiterhin ist zu bemerken, dass die Benutzung der Erfindung nicht auf Bussysteme wie das in 1 dargestellte beschränkt ist, sondern bei allen Anwendungen benutzt werden kann, bei welchen ein Empfänger nur während einer bestimmten Zeit aktiv ist (d. h. ein Empfangsfenster aufweist), welches auf korrekte Positionierung überprüft werden muss und möglicherweise angepasst werden muss.
-
Weiterhin wird, wenn keine quellsynchrone Signalisierung wie unter Bezugnahme auf 2 erläutert benutzt wird, ein Taktsignal zum Abtasten der Daten üblicherweise auf irgendeine Weise erzeugt, beispielsweise aus dem Datenburst selbst unter Benutzung eines Taktwiedergewinnungsmechanismus.
-
In derartigen Fällen kann das wiedergewonnene Taktsignal zur Ausführung eines Ausfuhrungsbeispiels benutzt werden.