DE202009019093U1 - Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger - Google Patents

Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger Download PDF

Info

Publication number
DE202009019093U1
DE202009019093U1 DE202009019093.5U DE202009019093U DE202009019093U1 DE 202009019093 U1 DE202009019093 U1 DE 202009019093U1 DE 202009019093 U DE202009019093 U DE 202009019093U DE 202009019093 U1 DE202009019093 U1 DE 202009019093U1
Authority
DE
Germany
Prior art keywords
data
port
aligner
ports
bit
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 - Lifetime
Application number
DE202009019093.5U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lattice Semiconductor Corp
Original Assignee
Lattice Semiconductor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lattice Semiconductor Corp filed Critical Lattice Semiconductor Corp
Publication of DE202009019093U1 publication Critical patent/DE202009019093U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Eine Vorrichtung, aufweisend:
einen Mechanismus zum Kompensieren eines Zeitversatzes zwischen an einer Mehrzahl von Ports (408–414) empfangener Daten, wobei der Mechanismus einen Portausrichter (406) und eine Mehrzahl von Ports aufweist, wobei jeder Port einen entsprechenden Datenausrichter (402) aufweist, wobei der Mechanismus ausgebildet ist:
zum Konvertieren von Einzelbit-Daten, die jeweils an jedem von der Mehrzahl von Ports empfangen wurden, in entsprechende Parallelbit-Daten durch den in jedem Port vorhandenen entsprechenden Datenausrichter; und
zum Binden der Mehrzahl von Ports, sodass die an der Mehrzahl von Ports empfangenen Daten als ein einzelner logischer Kanal behandelt werden, wobei das Binden der Mehrzahl von Ports aufweist, für jeden Datenausrichter (402), dass, wenn der Datenausrichter ein Kontrollsignal (524) von einem Portausrichter (406) empfängt, der Datenausrichter eine auf dem Kontrollsignal basierende Verzögerung in die an dem Port, der den Datenausrichter aufweist, empfangenen Daten einfügt, sodass eine Zeitversatz zwischen den an der Mehrzahl von Ports empfangenen Daten kompensiert wird.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen der Erfindung beziehen sich im Allgemein auf das Gebiet von Netzwerken und insbesondere auf automatische Datenausrichter für eine Mehrzahl von seriellen Empfängern in seriellen Verbindungstechnologien (serial link technologies).
  • HINTERGRUND
  • Serielle-Port-Speicher-Technologie (Serial Port Memory Technology, SPMT) verwendet sogar im Speicherbereich serielle Hochgeschwindigkeitsverbindungstechnologie. Diese serielle Verbindung bietet mehrere Vorteile, inklusive niedrigem Stromverbrauch und reduzierten Pin-Anzahlen und wird zwischen Host und Speicher angeschlossen. Obwohl eine serielle Verbindung mehrere Gbps an Bandbreite zur Verfügung stellen kann, müssen, wenn der Speicherbandbreitenbedarf größer wird als der durch eine einzelne serielle Leitung bereitgestellte, eine Mehrzahl von seriellen Verbindungen eingesetzt werden, um den zusätzlichen Bandbreitenbedarf bereitzustellen.
  • Beispielsweise ist, nun bezugnehmend auf die herkömmliche Rahmenausrichtung veranschaulichende 1A, ein Befehl 108 in mehreren Bits 110 codiert und wird bitweise über eine Hochgeschwindigkeitsverbindung 102 gesendet, wie es ein zweites Signal Serielle Daten 102 zeigt. Wenn diese seriellisierten Daten 102 an der Empfängerseite ankommen, werden diese Datenbits 110 wieder parallelisiert und in einem Bit-Paket, wie beispielsweise einem 20-Bit-Paket 112, gespeichert, wie es ein drittes Signal De-seriellisierte Daten zeigt. Jedoch können diese „de-seriellisierten“ 20-Bit-Daten 104 nicht zum Dekodieren verwendet werden, da der Befehl 108 in der Mitte dieser empfangenen Daten anfangen kann. Beispielsweise werden die de-seriellisierten Daten 104 an der Empfängerseite als „fghabcde“ 116 empfangen, obwohl der Host „abcdefgh“ 118 gesendet hat. Mit anderen Worten, muss die Startposition (oder der Header) des Befehls 108 identifiziert werden, während die Host-Daten 100 durch den Host in einem vordefinierten Muster gesendet werden. Zum Beispiel wird in diesem Fall das vordefinierte Muster auf „abcdefgh“ 118 festgelegt. Nachdem die Startposition bestimmt wurde, wird der korrekte Befehl 114 durch Verschieben von zwei benachbarten de-seriellisierten Daten 104 erhalten. Diese Technik wird als „Rahmenausrichtung (frame aligning)“ bezeichnet und das zum Ausrichten verwendete vordefinierte Muster 118 wird als „SYNC“-Zeichen bezeichnet.
  • Falls jedoch ein Host eine große Datenmenge zu senden hat, werden die Daten über mehrere serielle Verbindungen 152162 übertragen, wie es 1B referenziert, die herkömmliches Rahmen- und Portausrichten zeigt. Die Eigenschaften von mehreren Hochgeschwindigkeitsverbindungen unterscheiden sich voneinander. Normalerweise tastet ein Abtast-Front-End-Block (sampling front-end block), (beispielsweise eine Taktdatenrückgewinnung (clock data recovery, CDR)) eingehende serielle Daten 102 ab und übergibt sie in einem bestimmten Takt an einen De-seriellisierer-Block (deserializer block). Des Weiteren sind die Durchlaufzeiten (flight times) vom Host zum Empfänger für jeden Kanal nicht genau gleich. Beispielsweise sendet der Host zur gleichen Zeit einen Datensatz, während ein Empfänger Daten mit einem ersten Takt abtastet und der andere Empfänger sie mit einem zweiten Takt abtastet. Um diese Durchlaufdifferenz oder Pfaddifferenz zu kompensieren, ist es notwendig, einen Verzögerungszyklus (one cycle delay) 164 zu den Kanälen 158 hinzufügen, an denen die Daten früher ankommen als respektive an den Kanälen 162, wo sie später eintreffen. Dieser Vorgang wird als „virtuelle Pfad-Ausrichtung (virtual lane alignment)“ 164 für Computer-Erweiterungskarten bezeichnet. Ein anderer Ausrichtungsvorgang 166 zum Suchen und Ausrichten der Header von jedem Datensegment wird ebenfalls neben dem Vorgang der virtuellen Pfad-Ausrichtung durchgeführt.
  • Unter Bezugnahme auf 2, die herkömmliche Verfahren zum Messen und Kompensieren von Pfaddifferenzen veranschaulicht, werden zum Identifizieren von Pfaddifferenzen unterscheidbare vorbestimmte Mustern bestimmt und an verschiedene Kanäle kommuniziert. Zum Beispiel zeigt 2 ein Verfahren zum Messen von Pfaddifferenzen und zum Durchführen der erforderlichen Datenausrichtung mit Bezug auf verschiedene Kanäle von Computer-Erweiterungskarten. Zum Beispiel werden im Verarbeitungsblock 202 Daten innerhalb eines Datenstroms gesendet und im Verarbeitungsblock 204 fügt der Host zwei COMMA-Muster in den Datenstrom ein und sendet die Daten im Verarbeitungsblock 206. Wenn im Verarbeitungsblock 208 ein Empfänger dieses Muster untersucht, prüft er die Ankunftszeit des COMMA-Zeichens auf jedem Kanal oder Port im Verarbeitungsblock 210. Im Entscheidungsblock 212 bestimmt er weiter, ob das gleiche COMMA-Zeichen zuvor auf einen anderen Kanal erschienen ist. Falls ja und es einen Kanal gibt, der noch kein COMMA-Zeichen hat, fügt der Empfänger im Verarbeitungsblock 214 eine Ein-Zyklus-Verzögerung für die durch diesen Kanal fließenden Daten ein. Falls nicht, fährt das Verfahren mit der Verzögerung fort.
  • 3 zeigt eine herkömmliche Architektur 300 zum Bereitstellen von virtueller Pfad-Ausrichtung (z.B. Rahmenausrichtung und Portausrichtung). Wenn Daten über eine serielle Verbindung empfangen werden, werden sie von einem Taktrückgewinnungsblock (Clock Data Recovery block, CDR) abgetastet, der einen Takt (rck) aus den eingehenden Daten extrahiert, um den Abtastfehler zu minimieren. Danach leitet er seine Ergebnisse mit Zusammenfassen von 4 Bits an einen Ausrichterblock. Die erste Komponente des Ausrichterblocks ist ein De-seriellisierer 302, der fünf aufeinanderfolgende einkommende 4-Bit-Daten mit Hilfe einer Tiefe von fünf Schieberegistern 308 in 20-Bit-Daten zusammenfasst. Die zweite Komponente ist ein Rahmenausrichter 304, um die Ausgabe an einer korrekten Position starten zu lassen. Da der Deserialisierer 302 mit einem rückgewonnen Takt (rck) betrieben wird und der Rahmenausrichter 304 mit einem Systemtakt (clk) betrieben wird, sind zwei Register der fünf Register 308 zum Überwinden des Problems beim Überqueren der Taktdomäne (crossing the clock domain) angeordnet. Die Kombination kann ein Register und eine Schiebevorrichtung (shifter) aufweisen. Die dritte Komponente ist ein Portausrichter 306. Wenn eine Ein-Zyklus-Verzögerung erforderlich ist, wird die Ausgabe von einem im Rahmenausrichter 306 angeordneten Register anstelle der vom Rahmenausrichter 304 kommenden Daten ausgewählt.
  • Das Ausrichten von Daten (z.B. Rahmenausrichtung, Portausrichtung) oder die Zeitversatzkompensation zwischen mehreren Kanälen wird üblicherweise in verschiedenen seriellen Verbindungstechnologien, wie beispielsweise PCI-Express, eingesetzt. Die WO 01 078 337 offenbart eine derartige bekannte Technologie. Jedoch weist SPMT im Vergleich zu anderen seriellen Technologien eher kurze Zwischenverbindungen zwischen Host und Speicher auf, was bedeutet, dass der Datenversatz (data skew) von Kanälen auf einen relativ kurzen Betrag begrenzt sein kann. Der Unterschied tritt als 0 oder 1 im Host-Taktzyklus hervor. Sie verwendet eine Art von SYNC-Zeichen, um die ausgehenden und eingehenden Kanäle einrichten und sendet keine unterscheidbare Zeichen oder Sonderzeichen, um den Datenversatz zu messen. So kann beispielsweise die herkömmliche unhandliche (bulky) First-In-First-Out(FIFO)-basierte Technik nicht zum Kompensieren von Datenversatz angewendet werden, während sich ein Kanal in einer Einrichtungsperiode befindet.
  • ZUSAMMENFASSUNG
  • Ein Verfahren, eine Vorrichtung und ein System zum Verwenden eines automatischen Datenausrichters für mehrere serielle Empfänger in seriellen Verbindungstechnologien (z.B. Computer-Erweiterungskarten) werden bereitgestellt.
  • In einer Ausführungsform weist ein Verfahren auf das Umwandeln eines Übertragungsdatenpfads von einem Einzelbit über einen Datenausrichter in ein Parallelbit, wobei die Daten über einen oder mehrere Ports übertragen werden und das Binden von Datenübertragungskanälen, um die Latenz beim Übertragen der Daten zu reduzieren, wobei das Binden der Datenübertragungskanäle weiter das Einfügen von Verzögerung aufweist, um die Latenz über den einen oder die mehreren Ports anzugleichen.
  • In einer Ausführungsform weist eine Vorrichtung auf einen Mechanismus zur Datenausrichtung für mehrere serielle Empfänger, wobei der Mechanismus aufweist einen Datenausrichter zum Umwandeln eines Übertragungsdatenpfads aus einem Einzelbit in ein Parallelbit, wobei die Daten über einen oder mehrere Ports übertragen werden, und das Binden von Datenübertragungskanälen, um die Latenz beim Übertragen der Daten zu reduzieren, wobei das Binden der Datenübertragungskanäle weiter das Einfügen von Verzögerung aufweist, um die Latenz über den einen oder die mehreren Ports anzugleichen.
  • In einer Ausführungsform weist ein System auf ein Computersystem mit einem Prozessor und einen an den Prozessor gekoppelten Speicher, wobei das Computersystem einen Mechanismus zum Datenausrichten für mehrere serielle Empfänger aufweist, wobei der Mechanismus aufweist einen Datenausrichter zum Umwandeln eines Übertragungsdatenpfads eines Einzelbits über einen Datenausrichter in ein Parallelbit, wobei die Daten über einen oder mehrere Ports übertragen werden, und das Binden von Datenübertragungskanälen, um die Latenz beim Übertragen der Daten zu reduzieren, wobei das Binden der Datenübertragungskanäle weiter das Einfügen von Verzögerung aufweist, um die Latenz über den einen oder die mehreren Ports anzugleichen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der Erfindung werden in den Figuren der beigefügten Zeichnungen, in denen sich gleiche Bezugszeichen auf ähnliche Elemente beziehen, als Beispiele und nicht als Beschränkung gezeigt:
  • 1A zeigt herkömmliche Rahmenausrichtung;
  • 1B zeigt herkömmliche Rahmen- und Portausrichtung;
  • 2 zeigt ein herkömmliches Verfahren zur Messung und Kompensation von Pfaddifferenzen;
  • 3 zeigt eine herkömmliche Architektur 300 zum Bereitstellen von virtueller Pfadausrichtung;
  • 4 zeigt eine Ausführungsform einer Ausrichtarchitektur zum Bereitstellen eines Ausrichtsystems zur Reduzierung von Latenz;
  • 5 zeigt eine Ausführungsform eines 4-zu-20-Ausrichters;
  • 6 zeigt eine Ausführungsform eines Verfahrens zum Ausrichten unter Verwendung eines 4-zu-20-Bit-Ausrichters;
  • 7 zeigt eine Ausführungsform eines Komparatorfeldes;
  • 8 zeigt eine Ausführungsform eines Datenpfads;
  • 9 zeigt eine Ausführungsform zum Erhalten eines rahmenausgerichteten 20-Bit-Datenstroms;
  • 10 zeigt eine Ausführungsform eines Steuergenerators mit einem internen Taktsignal zum Vermeiden der Taktdomäneüberquerungsproblematik;
  • 11 zeigt eine Ausführungsform einer Beziehung zwischen Latenz und Zeiger in einem 4-zu-20-Portausrichter;
  • 12 zeigt eine Ausführungsform von Portausrichtung auf Basis von Zeigerwerten über mehrere Ports;
  • 13 zeigt ein Ausführungsbeispiel eines Verfahrens, das einem jmp-Signal zugeordnet ist;
  • 14 zeigt eine Ausführungsform eines Verfahrens zum Durchführen von automatischer Datenausrichtung für mehrere Datenübertragungskanäle; und
  • 15 zeigt ein Computersystem, mit dem eine Ausführungsform der vorliegenden Erfindung implementiert werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsbeispiele der Erfindung sind im Allgemeinen auf Portmultipliziererverbesserung (port multiplier enhancement) gerichtet.
  • SPMT wird als eine neue Speicherschnittstellenarchitektur betrachtet, die ursprünglich auf dynamische Direktzugriffsspeicher(Dynamic Random Access Memory, DRAM)-Chips gerichtet war, die im Gegensatz zu einer parallelen Schnittstellenarchitektur, die üblicherweise in aktuellen Speichertechnologien vorhanden ist, eine serielle Schnittstellenarchitektur einsetzt. SPMT verwendet typischerweise und sogar im Speicherbereich eine serielle Hochgeschwindigkeitsverbindungstechnologie und bietet die Vorteile von niedrigem Stromverbrauch und reduzierter Pin-Anzahl wenn sie zwischen einem Host und einem Speicher verbindet. Allerdings müssen, wenn der Speicherbandbreitenbedarf größer wird als der von einer Hochgeschwindigkeitsverbindung unterstützten (z.B. mehrere Gbps), mehrere serielle Verbindungen eingesetzt werden. Deshalb soll, wenn ein Host eine große Menge von Daten (z.B. Lesedaten, Schreibdaten) auf einmal senden soll, dem Speicher eine ausreichende Bandbreite zur Verfügung gestellt werden, um die große Menge von Daten durch die mehreren seriellen Verbindungen oder seriellen Kanälen durchzureichen. Obwohl physikalisch mehrere Verbindungen oder Kanäle verwendet werden, werden die durchgereichten Daten als ein einzelner großer logischer Kanal behandelt und werden mit „Portbindung (port binding)“ bezeichnet, da serielle Ports des Hosts oder Speichers gebunden werden, um größere Bandbreite bereitzustellen.
  • Die Ausführungsformen der vorliegenden Erfindung verbessern SPMT und stellen mehr Bandbreitenflexibilität, eine deutlich reduzierte Pin-Anzahl, einen niedrigeren Leistungsbedarf und Einsparungen der Systemgesamtkosten bereit. Diese Technik ist besonders für mobile Geräte äußerst wichtig, um zur Erhöhung der Funktionalität beizutragen während die Systemgesamtkosten beibehalten oder reduziert werden, da beim Entwickeln eines mobilen Geräts die Art des Speichersystems oft einen wesentlichen Aspekt bildet.
  • Im Falle eines Einzelkanals sind jegliche seriellisierten Daten an der Empfängerseite an einer „Rahmengrenze (frame-boundary)“ oder „Header“ auszurichten. Auch im Falle von Mehrfachkanälen wird, um die gleiche Latenz bereitzustellen, jede der rahmenausgerichteten Daten ausgerichtet, was als „Interkanalausrichtung (inter-channel alignment)“ bezeichnet wird. Typischerweise werden die Rahmengrenze und der Header von einem Empfänger unter Verwendung eines SYNC-Musters (z.B. K28.5 in 8B10B-Codierung) geprüft. Allerdings wird die Interkanalausrichtung außerhalb der PHY-Schicht durchgeführt, die zur Handhabung von langen Verzögerungen mittels FIFO implementiert ist. Die Technik der Portbindung bezieht sich auf die Ausrichtung der Daten von mehreren Kanälen an der Empfängerseite mit der gleichen Latenz (Interkanalausrichtung), so dass die empfangenen Daten die gleichen Daten von einem Host haben sollen. Wenn ein Kanal (oder eine serielle Verbindung) eine Latenz hat, die sich von den anderen unterscheidet, werden die empfangenen Daten nicht als ausgerichtet betrachtet.
  • Die Technik des Ausrichtens von Daten oder des Kompensierens von Zeitversatz zwischen mehreren Kanälen wird häufig in anderen seriellen Verbindungstechnologien wie z.B. High-Definition Multimedia Interface (HDMI) und PCI-Express eingesetzt. Zum Beispiel richtet die Transition Minimized Differential Signal(TMDS)-Technologie, die in HDMI verwendet wird, die Daten auf drei rot-grün-blau-(RGB)Kanälen durch Detektieren von SYNC-Mustern 702 aus, welche innerhalb eines Pixeldatenstrom erscheinen. Ein FIFO ist dem PHY nachgeordnet und die Daten eines jeden Kanals werden durch Messen einer Position des SYNC-Zeichens ausgerichtet. Die Daten werden, auch wenn es eine große Pfaddifferenz zwischen den Kanälen gibt, auf Mehrfachkanälen ausgerichtet. Im Falle von PCI-Express wird die Technik des Verteilens von Daten auf mehrere Kanäle als „Data Striping“ bezeichnet und die zwei SYNC-Zeichen erscheinen periodisch, um den Datenversatz zwischen den Kanälen zu messen.
  • SPMT weist im Vergleich zu anderen seriellen Technologien jedoch ziemlich kurze Verbindungen zwischen Host und Speicher auf, was bedeutet, dass der Datenversatz auf den Kanälen auf einen relativ kurzen Betrag zu begrenzen ist. Die resultierende Differenz ist typischerweise 0 oder 1 in einem Host-Taktzyklus. Eine Art von SYNC-Zeichen wird für das Einrichten von ausgehenden und eingehenden Kanälen verwendet und es werden keine unterscheidbaren Zeichen oder Sonderzeichen gesendet, um den Datenversatz zu messen. Das bedeutet, dass die herkömmliche unhandliche (bulky) FIFO-basierte Technik nicht zum Kompensieren von Datenversatz angewendet werden soll, während sich der Kanal in der Einrichtungsperiode (setup period) befindet.
  • 4 zeigt eine Ausführungsform der Ausrichtarchitektur 400 zum Bereitstellen eines Ausrichtsystems zum Reduzieren von Latenz. Die Ausrichtarchitektur 400 weist einen Ausrichter 402, CDR 404, einen Portausrichter 406 und De-seriellisierer 408414 auf. Gemäß einer Ausführungsform werden unter Verwendung der Ausrichtarchitektur 400 verschiedene Techniken eingesetzt, um die Latenz zu verringern. Beispielsweise dauert es herkömmlicherweise mindestens drei Zyklen um einen 4-Bit-CDR Ausgang als Eingabe an die Schiebevorrichtung in einem Rahmenausrichter vorzubereiten. Unter Verwendung der Architektur 400 wird diese Latenz minimiert, indem diese drei Zyklen auf einen Zyklus reduziert werden. In einer Ausführungsform wird eine 4-Bit-CDR-Ausgabe unter Verwendung eines Einzelregisters (siehe 6) anstelle der Verwendung des in 3 dargestellten Schieberegisters an eine richtige Position gesetzt, wodurch eine große 40-Bit-Schiebevorrichtung mit einer vergleichsweisen kleinen 8-Bit-Schiebevorrichtung ersetzt wird. In einer anderen Ausführungsform wird ein neuer Arbeitstakt (z.B. rck20, sck 416, usw.) erzeugt und ersetzt die beiden Takte rck und clk (z.B. 314, 312 in 3), um sämtliche Taktdomäneüberquerungsprobleme zu beseitigen, die verursacht werden, wenn die beiden Takte rck und clk eingesetzt werden. Unter Verwendung von geeigneten Steuersignalen werden in diesen beiden Ausführungsformen die Taktzyklen zur Rahmenausrichtung von 4 Zyklen auf 2 Zyklen gekürzt.
  • In noch einer anderen Ausführungsform wird anstelle einer Einzeltaktverzögerung in einem Portausrichterblock eine kleine Verzögerung in einem Eingangsdatenstrom eingefügt. Zum Beispiel ist das Zielsystem der Unterstreichungsspeicher (underline memory) und eine Pfaddifferenz wird als eine geringe Menge beibehalten, da der Host und der Empfänger auf einer Platine angeordnet sind. Weiter wird in diesem Fall bestimmt, ob es möglich ist, dass eine Taktfehlanpassung auf der Empfängerseite während dem Überprüfen des zum Rahmenausrichten eingesetzten Zeigerwerts auftreten kann, was zum Reduzieren eines zusätzlichen Zyklus beitragen kann. Mit Hilfe dieser Techniken wird ein Portausrichten ohne Sonderzeichen (z.B. COMMA in PCI-Express) durchgeführt.
  • In einer Ausführungsform führt das Entfernen eines Sonderzeichens (z.B. SYNC, COMMA) zu (1) einer Vereinfachung der Unterstreichungshardware (underline hardware) während das entsprechende Protokoll einfach gehalten wird und (2) einer Verringerung der für das Einrichten (set up) eines Kanals erforderlichen Zeit (z.B. Trainingszeit, training time). Zum Beispiel wird in der „Kanaleinrichtungsperiode (channel-setup-period)“ eine Startposition eines Datenpakets detektiert und aufgefunden. Ferner dient die Kanaleinrichtungsperiode zum Auffinden der Rahmengrenze oder Headers, sowie auch zum Ausrichten von Interkanaldaten.
  • In einer Ausführungsform werden Daten auf mehreren Kanälen innerhalb der Kanaleinrichtungsperiode ohne Verwendung eines Sonderzeichens synchronisiert, wobei der Datenversatz zwischen Mehrfachkanälen kürzer als die Hälfte der typischen Hosttaktperiode gehalten wird. Zum Beispiel kann eine durch Verwendung der herkömmlichen Architektur hervorgerufene Latenzzeit von 6 Taktzyklen bei Verwendung einer neuen Technik gemäß einer Ausführungsform auf lediglich 3 Zyklen reduziert werden.
  • Die Architektur 400 hat einen SPMT-Empfänger PHY bestehend aus vier Ports von De-seriellisierern 408414, die je einem Kanal zugeordnet sind und einem Steuerblock, der die Verzögerung der Kanäle steuert. Jeder Port 408414 ist mit einer CDR 404 verbunden, um Einzelbit-serielle-Daten an einem Differentialpaar (z.B. RX0 416) mit einem gegebenen Taktsignal pck 424 zu detektieren, um die Daten in 4-Bit-Daten zusammenzufassen und sie an den 4-zu-20-Ausrichter 402 unter Verwendung eines rückgewonnenen Taktsignals (rck) weiterzuleiten. Danach erzeugt der 4-bis-20-Ausrichter 402 aus dem ankommenden 4-Bit-Datenstrom 20-Bit-Daten und detektiert die Start-Bit-Position während sich der Kanal in der Kanaleinrichtungsperiode oder Trainingszeit befindet und richtet danach die Daten an beibehaltener Position aus. Der Portausrichter 406 dient zum Erzeugen eines Signals, das dem 4-zu-20-Ausrichter zum Erfüllen seiner Aufgaben zuführt wird.
  • 5 zeigt eine Ausführungsform eines 4-zu-20-Ausrichters 402. Die dargestellte Ausführungsform des 4-zu-20-Ausrichters 402 stellt verschiedene Komponenten und Elemente des Ausrichters 402, wie zum Beispiel einen Datenpfad 508 und einen Steuerpfad 510, bereit. Der Datenpfad 508 enthält verschiedene Register und Multiplexer, während der Steuerpfad einen Steuergenerator 502, ein Komparatorfeld (comparator array) 504 und eine endliche Zustandsmaschine (finite state machine, FSM) 506 aufweist. Im Ausführungsbeispiel sollen der Steuerpfad 510 und seine Komponenten die Funktion des Datenpfads 508 durch Erzeugen der richtigen Steuersignale für den Datenpfad 508 und der Interaktion mit externen Komponenten und Maschinen über die FSM 506 steuern. Die FSM 506 stellt Schnittstellen für externe Komponenten und Maschinen bereit.
  • Der ankommende 4-Bit-Datenstrom (d[3:0]) 512 wird zu einem 20-Bit-Strom 514 zusammengesetzt und wird mit externen Steuersignalen rahmen- und portausgerichtet. Steuergenerator 502 übergibt Steuersignale 516 zusammen mit rck20 518 an den Datenpfad 508 und kommuniziert einen Zwischentakt (z.B. rck20), der die gleiche Frequenz wie der Systemtakt (sck) 520 hat, der mit dem rückgewonnen Takt (rck) 522 synchronisiert ist. Diese Signale 516 werden benutzt, um die Daten an einer Rahmengrenze auszurichten. Ferner wird ein Steuersignal jmp 524 von einem externen Portausrichter empfangen, um jeden Port gänzlich auszurichten. Dies wird mit Bezug auf 10 diskutiert.
  • 6 zeigt eine Ausführungsform eines Verfahrens zum Ausrichten unter Verwendung eines 4-zu-20-Bit-Ausrichters. In einer Ausführungsform wird ein 20-Bit-Datenstrom mit Hilfe eines 4-zu-20-Ausrichter ausgerichtet, indem zum Beispiel ein SearchFrame(Such-Rahmen)-Signal zum Betreiben dieses Ausrichters ausgegeben wird. Weiterhin soll die FSM den Ausrichter global verwalten und mit externer Hardware kommunizieren.
  • Wenn ein Signal an einem 4-zu-20-Bit-Ausrichter empfangen wird, wird am Entscheidungsblock 602 eine Entscheidung getroffen, ob ein Rahmen auszurichten ist. Falls nicht, wird das Verfahren mit Rückkehr zu Entscheidungsblock 602 weitergeführt. Falls ja, löscht der 4-bis-20-Bit-Ausrichter als erstes den Zeiger und füllt den Datenpfad mit einem neuen Zeigerwert (z.B. durch Setzen des Zeigers auf 0) bei Verarbeitungsblock 604 und wartet bei Verarbeitungsblock 606 3 Zyklen, um die ausgerichteten 20-Bit-Daten zu erhalten. Die neuen ausgerichteten Daten mit Zeiger „0“ werden durch ein Komparatorfeld überprüft, um festzustellen, ob die ersten 4 Bit des SYNC-Musters in den nicht-ausgerichteten 20-Bit-Daten vorhanden sind und Zeigerwerte (z.B. ptr[4:0] / wptr[2:0]) mit der aufgefundenen Position eines 4-Bit-Musters zu berechnen. Dies stellt die erste Halbphase der Kanaleinrichtungsperiode dar.
  • Im Entscheidungsblock 608 wird bestimmt, ob ein Header innerhalb der ausgerichteten Daten aufgefunden wurde. Falls kein Header aufgefunden wurde, kehrt das Verfahren zu Verarbeitungsblock 604 zurück. Falls ein Header aufgefunden wurde, fährt das Verfahren mit Verarbeitungsblock 610 fort. Beispielsweise werden wptr-Werte von jedem Port an einen Portausrichter geleitet, der an den 4-zu-20-Ausrichterblock gekoppelt ist. Am Verarbeitungsblock 610 bestimmt der Portausrichter durch Überprüfen dieser Werte, ob eine 8-Benutzeroberfläche(user interface, UI)-Verzögerung an jedem Port eingefügt werden soll. Der Portausrichterblock sendet diese Anweisung als ein jmp-Signal an alle an den 4-zu-20-Ausrichter angeschlossenen Komponenten. Mit diesem jmp-Signal und der bereits aufgefunden Header-Position berechnet das Komparatorfeld bei Verarbeitungsblock 612 einen Zeigerwert in Abhängigkeit von der Header-Position. Der Zeigerwert wird dann in einem Register gespeichert. Sobald der Zeiger bestimmt wurde, wartet es bei Verarbeitungsblock 614 3 Zyklen, um den Datenpfad mit dem neuen Zeigerwert zu füllen. Dies wird als die zweite Halbphase der Kanaleinrichtungsperiode angesehen.
  • Im Entscheidungsblock 616 wird bestimmt, ob die ausgerichteten 20-Bit-Daten SYNC sind. Falls nicht, fährt das Verfahren mit Verarbeitungsblock 604 fort. Falls ja, wird bei Verarbeitungsblock 618 ein Rahmen-Ausgerichtet-Flag (frame aligned flag) gesetzt. Beispielsweise werden die ausgerichteten 20-Bit-Daten nach der zweiten Halbphase als eine Ausgabe des Datenpfads (z.B. rxdata[19:0]) plaziert. Der 4-zu-20-Ausrichter setzt ein Signal (z.B. FrameLocked (Rahmen-Gesperrt)-Signal), um anzuzeigen, dass eine Rahmengrenze aufgefunden wurde, falls die ausgerichteten 20-Bit-Daten SYNC sind. Falls nicht, wiederholt er den gesamten Prozess erneut bis festgestellt wird, dass SYNC den ausgerichteten 20-Bit-Daten zugeordnet ist.
  • 7 zeigt eine Ausführungsform des Komparatorfelds 504. In einer Ausführungsform weist das Komparatorfeld 504 eine beliebige Anzahl von Komparatoren auf, wie z.B. die gezeigten zwanzig 4-Bit-Komparatoren 702 (z.B. 4b cmp[0]–[19]). Ein 4-Bit-Extraktor 704 extrahiert zwanzig 4-Bit sequentielle Datenströme aus einem ankommenden 20-Bit-Datenstrom über einen 4-Bit-Extraktor 704 und diese zwanzig 4-Bit extrahierten Datenströme werden an entsprechende Komparatoren 702 geleitet. Jeder Komparator vergleicht jeden der zwanzig ankommenden 4-Bit-Datenströme mit einer 4-Bit-Konstante 706 (z.B. 0010), was den Start eines 4-Bit-SYNC-Zeichens auslöst. Einer dieser Komparatoren kann während einer Kanaleinrichtungsperiode ein „Übereinstimmen (matching)“ melden. Diese Vergleichsergebnisse werden dann mit einem 20-zu-5-Bit-Kodierer 708 in eine 5-Bit-Zahl kodiert und in einem Ausgaberegister 710 zwischengespeichert (latched), falls set eins ist (z.B. setptr) 712. Unterdessen werden die oberen 3 Bits eines nicht-zwischengespeicherten (unlatched) Signals als Ausgangssignal (z.B. wptr) 714 übergeben und werden von einem externen Portausrichter verwendet.
  • 8 zeigt eine Ausführungsform des Datenpfads 508. Wie gezeigt, besteht der Datenpfad 508 aus fünf Stufen 810818. Die erste Stufe 810 weist das Einfügen einer Zwei-Zyklen-Verzögerung auf, die von einem jmp-Signalwert 802 abhängt, der von einem mit dem Datenpfad 508 gekoppelten externen Portausrichter empfangen wird und fügt zwei rck-Zyklen (oder 8 UI) 820 ein, falls dieser aktiv ist. Die Funktionen dieser Stufe werden anderswo in diesem Dokument erläutert. Die zweite Stufe 812 enthält eine Schiebevorrichtung, die einen 4-Bit-Datenstrom von einem 8-Bit-Eingangsdatenstrom auswählt, welcher mit zwei sequentiellen 4-Bit-Datenströmen kombiniert wird. Die Schiebevorrichtung weist eine 8-zu-4-Schiebevorrichtung auf, um eine große herkömmliche 40-zu-20-Schiebevorrichtung zu ersetzen. Die Funktionen dieser 8-zu-4-Schiebevorrichtung können von einem 2-Bit-msel Signalwert 804 abhängen. Die dritte Stufe 814 des Datenpfads 508 weist das Anordnen oder Ausrichten von fein verschobenen Daten in der richtigen Reihenfolge auf. Das zugehörige Steuersignal 806 (z.B. Iden) wird zum Platzieren des Headers eines empfangenen Pakets geeignet erzeugt, um im ersten Register zwischengespeichert zu werden. Mit anderen Worten, werden die Daten in zwei Stufen ausgerichtet: einmal auf feinem Niveau und dann noch einmal auf grobem Niveau.
  • Obwohl ein Datenbitstrom durch die zweite und der dritte Stufe 812, 814 korrekt verschoben wurde, können bestimmte Teile der ausgerichteten Daten von einem vorherigen Paket empfangen worden sein. Um diese Ein-Zyklus-Verzögerung zu kompensieren, werden 4-Bit-ausgerichtete Daten ausgewählt und eine Ein-Zyklus-Verzögerung wird vor ihnen durch Verwendung einer Reihe von Multiplexern 808 (z.B. die vier dargestellten Multiplexer) in der vierten Stufe 816 zwischengespeichert. Die fünfte und letzte Stufe 818 enthält lediglich zwei Register, die zum Speichern der ausgerichteten 20-Bit-Daten eingesetzt werden.
  • Des Weiteren wird die Latenz jedesmal geändert, wenn ein jmp-Signal 802 ausgelöst wird. Falls der Rahmenausrichter keine Rahmenausrichtung durchführen muss, führt stattdessen der Portausrichter eine Portausrichtung durch. In einer solchen Situation, wie sie vom Portausrichter detektiert wird, wird das jmp-Signal 802 erzeugt und eine Zwei-Zyklus-Verzögerung wird in der zweiten Stufe 812 in den Eingangsdatenstrom eingefügt. Da diese Verzögerung in der rck-Domäne 820 durchgeführt wird, ist in einer Ausführungsform die Einbuße im Vergleich zu der in einem herkömmlichen System erzwungenen relativ klein. Ferner muss diese, wenn nur ein Einzelkanal verwendet wird, nicht erforderlich sein. Wenn jedoch Daten auf mehreren Kanälen ankommen, können die Daten durch Auswahl eines geeigneten jmp-Wertes 802 ausgerichtet werden. Dies wird mit Bezug auf 12 weiter beschrieben.
  • 9 zeigt eine Ausführungsform zum Erhalten eines rahmensausgerichteten 20-Bit-Datenstroms. Im Verarbeitungsblock 902 wird ein unausgerichteter 4-Bit-Datenstrom empfangen. Im Verarbeitungsblock 904 wird ein ausgerichteter Untere-4-Bit-Strom aus einem aktuellen 8-Bit-Datenstrom extrahiert. Im Verarbeitungsblock 906 werden die unausgerichteten 4-Bit-Daten abgespeichert. Im Entscheidungsblock 908 wird bestimmt, ob eine Schleife fünfmal durchgelaufen wird. Falls ja, wird im Verarbeitungsblock 914 ein ausgerichteter 20-Bit-Datenstrom erzeugt. Im Verarbeitungsblock 916 werden die Oberen-16-Bit-Daten bei rck20 gespeichert und im Verarbeitungsblock 918 wird der ausgerichtete 20-Bit-Datenstrom bereitgestellt.
  • 10 zeigt eine Ausführungsform des Steuergenerators 502 mit einem internen Taktsignal (z.B. rck20 1006) zum Vermeiden von Taktdomäneüberquerungsproblemen. In einer Ausführungsform werden zwei Takte sck 1002 und rck 1004 im Steuergenerator 502 verwendet. Takt sck 1002 stellt einen Systemtakt dar und die FSM wird mit diesem Takt betrieben. Takt sck 1002 weist einen Zeitraum von 20 Zeichensymbolen (z.B. 20 UIs) auf, während Takt rck 1004 einen rückgewonnenen Takt des CDRs darstellt und einen Zeitraum von 5 UI aufweist. Ferner kommt ein eingehender Datenstrom in Takt rck 1004 an. Damit ein Datenpfad 508 (wie in 5 gezeigt) 20-Bit-Daten aus einem Datenstrom extrahieren kann, wird ein Zwischentakt mit 20 UI Taktperioden benutzt und anhand von Takt rck 1004 erzeugt. Dieses Taktsignal wird als rck20 1006 bezeichnet und wird im Steuergenerator 502 erzeugt. Auch hat beispielsweise das Taktsignal rck20 1006 die Eigenschaft, eine Phasendifferenz von etwa 180 Grad zum Takt sck 1002 aufzuweisen. Eine weitere Rolle des Steuergenerators 502 ist die Erzeugung von Steuersignalen für den Datenpfad 508 mit einem vom Komparatorfeld 504 kommenden gegebenen Zeigerwert (ptr) (in 5 dargestellt).
  • Ferner wird ein Hinweis verwendet, um den Stromverbrauch zu reduzieren. Zum Beispiel ist, nachdem ein Kanal eingerichtet wurde, das Komparatorfeld nicht erforderlich, weshalb der ausgerichtete 20-Bit-Datenstrom maskiert und zum Komparatorfeld geleitet wird, um den Stromverbrauch zu reduzieren, wenn ein Signal (z.B. framelocked(Rahmen-gesperrt)-Signal) aktiv wird.
  • 11 zeigt eine Ausführungsform einer Beziehung zwischen Latenz 1102 und Zeiger 1104 in einem 4-zu-20-Portausrichter 402. In einer Ausführungsform erzeugt der 4-zu-20-Portausrichter 402 parallele Daten vom Hochgeschwindigkeitssignal und leitet das Ergebnis zur Systemtaktdomäne. Mit anderen Worten, nimmt die Latenz 1102 in der Systemtaktdomäne an bestimmten Positionen, beispielsweise Positionen 1106, 1108 zu, was eine zunehmende Kommunikationsverzögerung des Hochgeschwindigkeitskanals widerspiegelt. Unterdessen beeinflusst die Verzögerung im Hochgeschwindigkeitskanal die Position einer Rahmengrenze und diese Informationen können als Zeigerwerte des Zeigers 1104 erhalten werden. Unter Verwendung der dargestellten graphischen Beziehung zwischen Latenz 1102 und Zeiger 1104 können einige wesentliche Punkte erkannt werden, wie z.B. jede Latenzerhöhung 1106, 1108, die eine Unstetigkeitsstelle widerspiegelt. In diesem Fall erhöht sich die Latenz 1102 an den Positionen 1106, 1108 (bei ptr 8, wptr 2).
  • 12 zeigt eine Ausführungsform von Portausrichtung auf Basis von Zeigerwerten über mehrere Ports. Die gezeigte Ausführungsform stellt eine Beziehung zwischen Latenz 1202 und Zeiger 1204 (und wptr 1206) dar, mit verschiedenen Balken 12081220, die verschiedene von jedem Port empfangene ptr-Werte 1204 und wptr-Werte 1206 wiedergeben. Zum Beispiel mit Bezug auf Fall 1 1208, 1218, hat der erste Port 1222 von Balken 1208 einen wptr-Wert von 0, während der zweite Port 1224 von Balken 1218 einen wptr-Wert von 2 aufweist, was anzeigt, dass die Latenzen für diese beiden Ports unterschiedlich voneinander sind. Wenn jedoch diese beiden Balken 1208, 1218 nach rechts in die sichere Zone verschoben werden, wird der erste Wert von wptr 0 wptr 2, während der zweite Wert von wptr 2 wptr 4 wird und beide zeigen die gleiche Latenz. Die zum Verschieben der beiden Balken 1208, 1218 auf die beiden neuen wptr-Werte erforderliche Menge bedarf zwei Takte von rck oder 8 UI 1226, was ein Absicht des Anordnens von zwei Registern in der ersten Stufe des Datenpfades 508 darstellt.
  • In ähnlicher Weise ist im Fall 2 1210, 1220 der erste Port 1228 von Balken 1210 bei wptr 1, während der zweite Port 1230 von Balken 1220 bei wptr 3 ist. Die notwendige Anzahl, um die beiden Balken 1210, 1220 auf die beiden neuen wptr Werte in einer sicheren Zone zu verschieben, kann zwei Takte von rck oder 8 UI 1232 benötigen. Allerdings sind die übrigen Illustrationen von Fall 3 1212, Fall 4, 1214 und Fall 5 1216 bereits in einer sicheren Zone platziert und es gibt keine Notwendigkeit, sie zu verschieben. Beim Vergleich von Fall 1 1208, 1218 und Fall 4 1214 kann die Zeigerverschiebung abhängig von den wptr Werten von anderen Ports festgelegt werden, selbst wenn ein wptr einen Wert von 0 aufweist.
  • 13 zeigt eine Ausführungsform eines Verfahrens, das mit einem Signal (z.B. jmp-Signal) verbunden ist. Die veranschaulichte Verfahrensausführungsform wird benutzt, um einen jmp-Signalwert zu bestimmen. Wenn wptr von Ports bei Block 1302 gültig sind und wenn beispielsweise ein wptr in einem Port bereit wird, wird es auch ein stable (stablies)-Signal setzen, wie in 5 gezeigt ist. Wenn im Entscheidungsblock 1310 alle stable-Signale von Ports 1 sind, wird ein jmp-Wert bestimmt. Es gibt zwei Pfade in dem gezeigten Entscheidungsdiagramm: Zum Beispiel, wenn bei Entscheidungsblock 1304 einer der wptr 0 ist und wenn bei Entscheidungsblock 1306 der andere wptr-Wert gleich 1 oder 2 ist, ist bei Block 1308 der jmp-Wert gleich 1. Falls nicht, ist bei Block 1314 der jmp-Wert gleich 0. Auf der anderen Seite, wenn bei Entscheidungsblock 1310 der Wert für einen der wptr 1 ist und wenn im Entscheidungsblock 1312 die anderen wptr auf 2 oder 3 gesetzt werden, wird bei Block 1308 der jmp-Wert auf 1 gesetzt. Falls nicht, wird bei Block 1314 der jmp-Wert auf 0 gesetzt. Diese Entscheidung kann in einem Einzelzyklus parallel berechnet werden. Sie setzt auch ein allstable (alle-stabil)-Signal, wie es in 5 gezeigt ist, um anzuzeigen, dass jmp bestimmt wurde und der angeschlossene 4-zu-20-Ausrichter wird darauf aufmerksam gemacht.
  • 14 zeigt eine Ausführungsform eines Verfahrens zur Durchführung von automatischer Datenausrichtung für mehrere Datenübertragungskanäle. Beim Verarbeitungsblock 1402 wird ein Deseriellisierer eingeschaltet und konfiguriert, um eine Rahmengrenze zu detektieren und für den normalen Betrieb bereit zu sein, nachdem er eingeschaltet wurde. Beim Verarbeitungsblock 1404 wird ein Gerät eingeschaltet und sendet ein SYNC2-Muster zu einem Host im Ausgangszustand (initial state). Beim Verarbeitungsblock 1406 sendet ein mit dem Gerät gekoppelter Host ein SYNC-Muster. Das Gerät macht Ausrichter (im Inneren des Geräts) geltend, um mit der Suche nach Rahmengrenzen (beispielsweise SearchFrame) fortzufahren und beim Verarbeitungsblock 1408 versuchen daher die Ausrichter eine vordefinierte Sequenz von SYNC-Muster innerhalb eines eingehenden Datenstroms aufzufinden. Beim Verarbeitungsblock 1410 interagieren die Ausrichter mit Portausrichtern, um die Rahmengrenze zu finden und Synchronisation zwischen den Ports zu erreichen.
  • Im Entscheidungsblock 1412 wird bestimmt, ob ein SYNC-Muster in der Ausgabe von jedem der Ausrichter aufgefunden wurde. Falls nicht, fährt das Verfahren mit Verarbeitungsblock 1410 fort. Falls ja, wird das Verfahren bei Verarbeitungsblock 1414 fortgesetzt, wo die Ausrichter das FrameLocked-Signal setzen, um das Gerät zu informieren. Um den Host zu signalisieren, beginnt das Gerät dann bei Verarbeitungsblock 1416 SYNC-Muster an den Host zu senden. Beim Verarbeitungsblock 1418 sendet der Host nach der Kanaleinrichtung einen Starte-Normalbetrieb.
  • 15 zeigt ein Computersystem 1500, mit dem eine Ausführungsform der vorliegenden Erfindung implementiert werden kann. Das Computersystem 1500 weist einen Systembus 1520 zum Kommunizieren von Informationen und einen an den Bus 1520 gekoppelten Prozessor 1510 zum Verarbeiten von Informationen auf. Gemäß einer Ausführungsform ist der Prozessor 1510 mit einem aus der Vielzahl von Mikroprozessoren implementiert. Ein Fachmann würde jedoch erkennen, dass auch andere Prozessoren benutzt werden können.
  • Das Computersystem 1500 weist ferner zum Speichern von Informationen und vom Prozessor 1510 auszuführenden Anweisungen einen Direktzugriffsspeicher (random access memory, RAM) oder eine andere dynamische Speichervorrichtung 1525 auf (hier als Hauptspeicher bezeichnet), die mit dem Bus 1520 gekoppelt ist. Der Hauptspeicher 1525 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 1510 verwendet werden. Das Computersystem 1500 kann auch einen Nur-Lese-Speicher (ROM) und/oder eine andere statische Speichervorrichtung 1526 aufweisen, die mit dem Bus 1520 zum Speichern von statischen Informationen und vom Prozessor 1510 verwendete Anweisungen gekoppelt ist.
  • Eine Datenspeichervorrichtung 1525, wie z.B. eine Magnetplatte oder eine optische Platte und ihr entsprechendes Laufwerk kann ebenfalls mit dem Computersystem 1500 zum Speichen von Informationen und Befehlen gekoppelt sein. Das Computersystem 1500 kann auch mit einem zweiten Eingang/Ausgang(E/A)-Bus 1550 über eine E/A-Schnittstelle 1530 gekoppelt sein. Eine Vielzahl von E/A-Geräten können mit dem E/A-Bus 1550 gekoppelt sein, einschließlich einer Anzeigevorrichtung 1524, einer Eingabevorrichtung (z.B. eine alphanumerische Eingabevorrichtung 1523 oder eine Zeigerssteuervorrichtung 1522). Die Kommunikationsvorrichtung 1521 dient dem Zugreifen auf andere Rechner (Server oder Clients) über externe Datennetze. Die Kommunikationsvorrichtung 1521 kann ein Modem, eine Netzwerkschnittstellenkarte oder andere wohlbekannte Schnittstellengeräte, wie sie z.B. zur Kopplung mit Ethernet, Token Ring oder anderen Arten von Netzwerken verwendet werden, aufweisen. Das Computersystem 1500 kann ein Netzwerk-Computer-Gerät, ein Mobiltelefon, ein persönlicher Datenassistent (PDA), usw., aufweisen, ist aber nicht darauf beschränkt.
  • Das Computersystem 1500 kann in einem Client/Server-Netzwerksystem verbunden sein. Ein Netzwerk kann ein Local Area Network (LAN), Wide Area Network (WAN), Metropolitan Area Network (MAN), Intranet, das Internet, etc., aufweisen. Wie an anderer Stelle in diesem Dokument erwähnt, kann eine beliebige Anzahl von Netzwerkgeräten kaskadiert werden, um mit einem Port-Multiplizierer verbunden zu sein, wodurch ein Netzwerkmechanismus innerhalb eines Netzwerks gebildet wird. Es wird erwogen, dass es eine beliebige Anzahl von Geräten über das Netzwerk verbunden sein können. Ein Gerät kann Datenströme, wie z.B. Streaming-Media-Daten, über eine Vielfalt von Standard- und Nicht-Standard-Protokollen, einschließlich der in diesem Dokument beschriebenen Protokolle, an andere Geräte im Netzwerksystem übertragen.
  • In der obigen Beschreibung werden zum Zweck der Erläuterung zahlreiche spezifische Details dargelegt, die dem gründlichen Verständnis der vorliegenden Erfindung dienen. Es wird jedoch für einen Fachmann offensichtlich sein, dass die vorliegende Erfindung ohne einige dieser spezifischen Details ausgeführt werden kann. In anderen Fällen werden wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt. Zwischen den dargestellten Komponenten können sich Zwischenstrukturen befinden. Die hierin beschriebenen oder dargestellten Komponenten können zusätzliche Eingänge oder Ausgänge haben, die nicht dargestellt oder beschrieben worden sind.
  • Verschiedene Ausführungsformen der vorliegenden Erfindung können verschiedene Verfahren umfassen. Diese Verfahren können durch Hardwarekomponenten ausgeführt werden oder können in Computerprogrammen oder maschinenausführbaren Befehlen eingebettet sein, die einen Universal- oder Spezialprozessor oder mit den Befehlen programmierte Logikschaltungen veranlassen können, die Verfahren auszuführen. Alternativ können die Verfahren durch eine Kombination von Hardware und Software ausgeführt werden.
  • Ein oder mehrere in diesem Dokument beschriebe Module, Komponenten oder Elemente, wie z.B. die in einem oder mit einem Ausführungsbeispiel eines Portvervielfacherverbesserungsmechanismus (port multiplier enhancement mechanism) assoziierten gezeigten, können Hardware, Software, und/oder deren Kombination aufweisen. Im Fall, dass ein Modul Software aufweist, können die Software-Daten, Befehle und/oder Konfiguration über einen Herstellungsartikel (article of manufacture) von einer Maschine/einem elektronischen Gerät/einer Hardware bereitgestellt werden. Ein Herstellungsartikel kann ein maschinenzugängliches/lesbares Medium mit Inhalt zum Bereitstellen von Befehlen, Daten, usw., aufweisen. Der Inhalt kann darin resultieren, dass eine elektronische Vorrichtung, zum Beispiel ein Dateiserver, eine Platte oder eine Festplattensteuerung, wie sie hier beschrieben wurden, verschiedene beschriebe Operationen oder Ausführungen, durchführt.
  • Teile der verschiedenen Ausführungsbeispiele der vorliegenden Erfindung können als ein Computerprogrammprodukt zur Verfügung gestellt werden, das ein computerlesbares Medium aufweisen kann, auf dem Computerprogrammbefehle gespeichert sind, die verwendet werden können, um einen Computer (oder andere elektronische Geräte) zu programmieren, um ein Verfahren gemäß den Ausführungsformen der vorliegenden Erfindung auszuführen. Das maschinenlesbare Medium kann Disketten, optische Platten, Compact Disc Read-Only Memory (CD-ROM) und magnetooptische Platten, Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), löschbare programmierbare Nur-Lese-Speicher (EPROM), elektrische EPROM (EEPROM), magnetische oder optische Karten, Flash-Speicher oder andere Arten von Medien/maschinenlesbaren Medium, die zum Speichern von elektronischen Befehle geeignet sind, umfassen, ist aber nicht darauf beschränkt. Darüber hinaus kann die vorliegende Erfindung auch als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer zu einem anfordernden Computer übertragen werden kann.
  • Viele der Verfahren sind in ihrer grundlegendsten Form beschrieben, aber Prozesse können aus irgendeinem der Verfahren hinzugefügt oder entfernt werden und Information kann von irgendwelchen der beschriebenen Meldungen hinzugefügt oder entfernt werden ohne vom grundlegenden Umfang der vorliegenden Erfindung abzuweichen. Es ergibt sich für den Fachmann, dass viele weitere Modifikationen und Anpassungen vorgenommen werden können. Die besonderen Ausführungsformen sind nicht bereitgestellt worden, um die Erfindung zu beschränken, sondern um sie zu veranschaulichen. Der Umfang der Ausführungsformen der vorliegenden Erfindung soll nicht anhand den spezifischen oben bereitgestellten Beispielen bestimmt werden, sondern nur durch die nachfolgenden Ansprüche.
  • Wenn gesagt wird, dass ein Element „A“ an oder mit Element „B“ gekoppelt ist, kann Element A direkt mit Element B gekoppelt sein oder indirekt, beispielsweise durch Element C, gekoppelt sein. Wenn die Beschreibung oder die Ansprüche angeben, dass eine Komponente, Merkmal, Struktur, Prozess oder Eigenschaft A eine Komponente, Merkmal, Struktur, Prozess oder Eigenschaft B „bewirkt“, bedeutet dies, dass „A“ zumindest Teilursache von „B“ ist, dass aber auch zumindest eine andere Komponente, Merkmal, Struktur, Prozess oder Eigenschaft die Bewirkung von „B“ unterstützen kann. Wenn die Beschreibung angibt, dass eine Komponente, Merkmal, Struktur, Prozess oder Eigenschaft enthalten sein „kann“ oder „könnte“, ist es nicht erforderlich, dass diese Komponente, Merkmal, Struktur, Prozess oder Eigenschaft aufgewiesen wird. Wenn die Beschreibung oder die Ansprüche sich auf „ein“ Element beziehen, bedeutet dies nicht, dass es nur eines der beschriebenen Elemente gibt.
  • Eine Ausführungsform ist eine Implementierung oder ein Beispiel der vorliegenden Erfindung. Die Bezugnahme in der Beschreibung auf „eine Ausführungsform“, „einige Ausführungsformen“ oder „andere Ausführungsformen“ bedeutet, dass ein bestimmtes Merkmal, Struktur oder Eigenschaft, die in Verbindung mit den Ausführungsformen beschrieben ist, in wenigstens einigen Ausführungsformen enthalten ist, aber nicht notwendigerweise in allen Ausführungsformen. Die verschiedenen Erwähnungen von „einer Ausführungsform“ oder „einigen Ausführungsformen“ beziehen sich nicht notwendigerweise auf dieselben Ausführungsformen. Es versteht sich, dass in der vorstehenden Beschreibung der Ausführungsbeispiele der vorliegenden Erfindung manchmal verschiedene Merkmale in einer einzigen Ausführungsform, Figur oder deren Beschreibung gruppiert werden, mit dem Ziel, die Offenbarung zu straffen und das Verständnis von einem oder mehreren der verschiedenen erfinderischen Aspekte zu verbessern. Dieses Verfahren der Offenbarung soll jedoch nicht als eine Absicht wiedergebend ausgelegt werden, dass die beanspruchte Erfindung mehr Merkmale erfordert, als ausdrücklich in jedem Anspruch genannt werden. Stattdessen liegen, wie es die folgenden Ansprüche wiedergeben, erfinderische Aspekte in weniger als allen Merkmalen einer einzelnen vorstehend offenbarten Ausführungsform. Somit werden die Ansprüche hiermit ausdrücklich in diese Beschreibung aufgenommen, wobei jeder Anspruch für sich alleine eine separate Ausführungsform dieser Erfindung ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 01078337 [0007]

Claims (8)

  1. Eine Vorrichtung, aufweisend: einen Mechanismus zum Kompensieren eines Zeitversatzes zwischen an einer Mehrzahl von Ports (408414) empfangener Daten, wobei der Mechanismus einen Portausrichter (406) und eine Mehrzahl von Ports aufweist, wobei jeder Port einen entsprechenden Datenausrichter (402) aufweist, wobei der Mechanismus ausgebildet ist: zum Konvertieren von Einzelbit-Daten, die jeweils an jedem von der Mehrzahl von Ports empfangen wurden, in entsprechende Parallelbit-Daten durch den in jedem Port vorhandenen entsprechenden Datenausrichter; und zum Binden der Mehrzahl von Ports, sodass die an der Mehrzahl von Ports empfangenen Daten als ein einzelner logischer Kanal behandelt werden, wobei das Binden der Mehrzahl von Ports aufweist, für jeden Datenausrichter (402), dass, wenn der Datenausrichter ein Kontrollsignal (524) von einem Portausrichter (406) empfängt, der Datenausrichter eine auf dem Kontrollsignal basierende Verzögerung in die an dem Port, der den Datenausrichter aufweist, empfangenen Daten einfügt, sodass eine Zeitversatz zwischen den an der Mehrzahl von Ports empfangenen Daten kompensiert wird.
  2. Die Vorrichtung gemäß Anspruch 1, wobei der Mechanismus ferner ausgebildet ist, um eine Rahmengrenzen-Information (ptr, wptr) der an jedem Port empfangenen Daten zu detektieren und die an jedem Port empfangenen Daten rahmenauszurichten, unter Verwendung der detektierten Rahmengrenzen-Information während einer Kanaleinrichtungsperiode.
  3. Die Vorrichtung gemäß Anspruch 2, wobei der Portausrichter ausgebildet ist, um das auf der Rahmengrenzen-Information (wptr) basierende Kontrollsignal zu erzeugen.
  4. Die Vorrichtung gemäß Anspruch 2, wobei die Rahmengrenzen-Information eine Startposition der an jedem Port empfangenen Daten aufweist.
  5. Ein System aufweisend: ein Computersystem (1500) mit einem Prozessor (1510) und einem Speicher (152, 1526), welcher mit dem Prozessor verbunden ist, wobei das Computersystem eine Vorrichtung gemäß Anspruch 1 aufweist.
  6. System gemäß Anspruch 5, wobei der Mechanismus ferner ausgebildet ist, um eine Rahmengrenzen-Information (ptr, wptr) der an jedem Port empfangenen Daten zu detektieren und die an jedem Port empfangenen Daten rahmenauszurichten, unter Verwendung der detektierten Rahmengrenzen-Information während einer Kanaleinrichtungsperiode.
  7. System gemäß Anspruch 6, wobei der Portausrichter ausgebildet ist, um das auf der Rahmengrenzen-Information (wptr) basierende Kontrollsignal zu erzeugen.
  8. System gemäß Anspruch 6, wobei die Rahmengrenzen-Information eine Startposition der an jedem Port empfangenen Daten aufweist.
DE202009019093.5U 2008-10-29 2009-09-30 Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger Expired - Lifetime DE202009019093U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/260,970 2008-10-29
US12/260,970 US8036248B2 (en) 2008-10-29 2008-10-29 Method, apparatus, and system for automatic data aligner for multiple serial receivers

Publications (1)

Publication Number Publication Date
DE202009019093U1 true DE202009019093U1 (de) 2016-05-23

Family

ID=42117442

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202009019093.5U Expired - Lifetime DE202009019093U1 (de) 2008-10-29 2009-09-30 Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger

Country Status (8)

Country Link
US (1) US8036248B2 (de)
EP (1) EP2351303B8 (de)
JP (1) JP5568089B2 (de)
KR (1) KR101470989B1 (de)
CN (1) CN102204198B (de)
DE (1) DE202009019093U1 (de)
TW (1) TWI502358B (de)
WO (1) WO2010053637A2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412900A (zh) * 2011-11-30 2012-04-11 中国航空工业集团公司第六三一研究所 一种用于实现光纤通道数据位重对齐功能的方法
CN102970109B (zh) * 2012-11-16 2016-06-22 中兴通讯股份有限公司 一种高速多通道的数据传输方法、相关装置和系统
CN103744827A (zh) * 2014-01-10 2014-04-23 浪潮电子信息产业股份有限公司 一种提高芯片逻辑时序的串行数据帧匹配方法
US9888077B2 (en) 2014-04-22 2018-02-06 Western Digital Technologies, Inc. Metadata based data alignment in data storage systems
KR102225619B1 (ko) * 2015-02-10 2021-03-12 한화테크윈 주식회사 고속직렬데이터수신장치
US10313102B2 (en) * 2016-12-22 2019-06-04 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by selectively deactivating frame alignment process
US10455501B2 (en) * 2016-12-22 2019-10-22 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by serializing frame alignment processes for multiple lanes
US10594892B2 (en) 2017-05-18 2020-03-17 Analog Devices Global High speed serial link for video interfaces
TWI678902B (zh) * 2018-11-28 2019-12-01 中華電信股份有限公司 針對應用進行封包處理/交換的網路系統與方法
BR112022010854A2 (pt) * 2019-12-02 2022-08-23 Zixi Llc Comunicação de dados em pacotes através de múltiplos canais não confiáveis.
CN111431533B (zh) * 2020-04-26 2023-06-16 杭州电子科技大学富阳电子信息研究院有限公司 一种高速lvds接口adc数据与时钟同步的方法
US11899609B2 (en) 2021-12-20 2024-02-13 Nvidia Corporation Frame alignment recovery for a high-speed signaling interconnect

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001078337A1 (en) 2000-04-11 2001-10-18 Parthus Technologies Plc Method and apparatus for multi-lane communication channel with deskewing capability

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827448A (ja) * 1981-08-10 1983-02-18 Nippon Telegr & Teleph Corp <Ntt> 広帯域通信方式
GB8407223D0 (en) * 1984-03-20 1984-04-26 British Telecomm Broadband digital transmission systems
JPS6386630A (ja) * 1986-09-29 1988-04-18 Nec Corp 並列伝送路におけるフレ−ム同期方式
JPH0514335A (ja) * 1991-07-04 1993-01-22 Mitsubishi Electric Corp 並列伝送路のフレーム同期装置
US5408473A (en) * 1992-03-03 1995-04-18 Digital Equipment Corporation Method and apparatus for transmission of communication signals over two parallel channels
JP3224310B2 (ja) * 1993-08-12 2001-10-29 富士通株式会社 並列伝送路復号化処理装置
JP2878193B2 (ja) * 1996-07-22 1999-04-05 日本電気株式会社 変復調装置
US6215798B1 (en) * 1996-11-01 2001-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Multi-frame synchronization for parallel channel transmissions
US6970435B1 (en) * 1998-06-15 2005-11-29 International Business Machines Corporation Data alignment compensator
WO2000011791A1 (en) * 1998-08-20 2000-03-02 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder
US6775302B1 (en) * 1998-12-14 2004-08-10 Agere Systems Inc. Communications system with symmetrical interfaces and associated methods
US6690757B1 (en) * 2000-06-20 2004-02-10 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated lane de-skew
US7054331B1 (en) * 2000-09-13 2006-05-30 Intel Corporation Multi-lane receiver de-skewing
US20020184412A1 (en) * 2001-06-02 2002-12-05 Stevens James Ray System and method for locating and aligning to framing bits
US7170891B2 (en) * 2001-08-30 2007-01-30 Messenger Terabit Networks, Inc. High speed data classification system
KR100408416B1 (ko) * 2001-09-06 2003-12-06 삼성전자주식회사 디지털 비디오 신호 전송 시스템 및 전송방법
US20040117499A1 (en) * 2002-12-13 2004-06-17 Bo Liu System and method for detection of delineation of data units for a communication element
US7543193B2 (en) * 2003-06-02 2009-06-02 Pmc-Sierra, Inc. Serial data validity monitor
TWI249681B (en) * 2003-07-02 2006-02-21 Via Tech Inc Circuit and method for aligning data transmitting timing of a plurality of lanes
US7546401B2 (en) * 2004-09-23 2009-06-09 International Business Machines Corporation Byte to byte alignment of multi-path data
KR20060081522A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기
US7549074B2 (en) * 2005-06-02 2009-06-16 Agere Systems Inc. Content deskewing for multichannel synchronization
US8234424B2 (en) * 2006-06-08 2012-07-31 Integrated Device Technology, Inc. Efficient strip-down and re-alignment of ingressing physical layer/data layer packets in an aggregated PCI-express port having eight lanes
TW200834329A (en) * 2006-08-10 2008-08-16 Avocent Huntsville Corp USB based virtual media system
EP2060044A2 (de) * 2006-08-29 2009-05-20 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung für hochgeschwindigkeits-lvds-kommunikation
KR100894811B1 (ko) * 2007-01-11 2009-04-24 삼성전자주식회사 서데스의 역직렬화기 및 그것의 데이터 역직렬화 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001078337A1 (en) 2000-04-11 2001-10-18 Parthus Technologies Plc Method and apparatus for multi-lane communication channel with deskewing capability

Also Published As

Publication number Publication date
WO2010053637A3 (en) 2011-02-24
CN102204198B (zh) 2015-01-07
EP2351303B1 (de) 2015-11-11
KR20110080175A (ko) 2011-07-12
JP5568089B2 (ja) 2014-08-06
TW201017422A (en) 2010-05-01
EP2351303B8 (de) 2015-12-23
EP2351303A2 (de) 2011-08-03
JP2012507934A (ja) 2012-03-29
WO2010053637A2 (en) 2010-05-14
KR101470989B1 (ko) 2014-12-09
CN102204198A (zh) 2011-09-28
TWI502358B (zh) 2015-10-01
US8036248B2 (en) 2011-10-11
US20100103929A1 (en) 2010-04-29

Similar Documents

Publication Publication Date Title
DE202009019093U1 (de) Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger
DE4307449C2 (de) Verfahren und Schaltung zur Resynchronisation einer synchronen seriellen Schnittstelle
EP0574598A1 (de) Datenpufferspeicher
DE2717311C2 (de) Datenprozessor
DE10108379A1 (de) Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen
DE10346559A1 (de) Dateninvertierungsschaltung und Halbleitervorrichtung
DE10128770B4 (de) Verfahren zum Übertragen von Daten in ein Speicherzellenfeld und Schaltungsanordnung
DE602004011828T2 (de) Empfänger-corporation
DE102008051657A1 (de) Speicherbaustein und Speichersystem mit einem Speicherbaustein und einem Speicherkontrollbaustein
DE60214411T2 (de) Parallel/Seriell-Wandler
DE602004006236T2 (de) Testen von elektronischen schaltungen
DE2752062A1 (de) Programmierbarer binaerkorrelator
DE102019111881A1 (de) Verfahren und vorrichtung zum senden von daten gemäss einem signalzeitablauf
DE102008004857B4 (de) Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
DE19581595C2 (de) Signalübertragungsvorrichtung mit mehreren LSIs
EP1721407A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
DE102004011673B3 (de) Vorrichtung zur Datensynchronisation
DE60202697T2 (de) Asynchrone datenübertragungsanordnung mit steuerungsmittel für taktabweichungen
DE102005013480B3 (de) Verfahren zur Übertragung eines seriellen Bitstroms und elektronischer Sender zur Übertragung eines seriellen Bitstroms
DE3422287A1 (de) Pruefanordnung fuer digitalschaltungen
DE4123007C2 (de) Verfahren und Anordnung zur Anpassung von Datenraten
EP3721590B1 (de) Verfahren zum betreiben eines netzwerkteilnehmers und netzwerkteilnehmer
DE60202698T2 (de) Asynchroner empfänger des uart-typs mit zwei betriebsarten
DE60213079T2 (de) Hochgeschwingkeitsdatenerfassungsschaltung für ein digitales gerät
DE10110576A1 (de) Einbetten dynamischer Schaltkreise in eine statische Umgebung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R207 Utility model specification
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years
R071 Expiry of right