[go: up one dir, main page]

DE60224666T2 - Parallele datenübertragung mit mehreren synchronisierungskodes - Google Patents

Parallele datenübertragung mit mehreren synchronisierungskodes Download PDF

Info

Publication number
DE60224666T2
DE60224666T2 DE60224666T DE60224666T DE60224666T2 DE 60224666 T2 DE60224666 T2 DE 60224666T2 DE 60224666 T DE60224666 T DE 60224666T DE 60224666 T DE60224666 T DE 60224666T DE 60224666 T2 DE60224666 T2 DE 60224666T2
Authority
DE
Germany
Prior art keywords
data
synchronization codes
clock signal
parallel
module
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
DE60224666T
Other languages
English (en)
Other versions
DE60224666D1 (de
Inventor
Gregory E. Ehmann
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.)
NXP BV
Original Assignee
NXP BV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25356767&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60224666(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by NXP BV filed Critical NXP BV
Publication of DE60224666D1 publication Critical patent/DE60224666D1/de
Application granted granted Critical
Publication of DE60224666T2 publication Critical patent/DE60224666T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf die Datenkommunikation. Genauer bezieht sich die vorliegende Erfindung auf Verfahren und Anordnungen zum Synchronisieren von Daten, die auf einem parallelen Datenbus weitergeleitet werden, der anfällig für durch Versatz verursachte Fehler ist.
  • Die Elektronikindustrie strebt fortlaufend Schaltungen mit hoher Leistungsfähigkeit und hoher Funktionalität an. Signifikante Erfolge wurden diesbezüglich durch die Entwicklung sehr hoch integrierter Schaltungen erzielt. Diese komplexen Schaltungen sind häufig als funktionsdefinierte Module gestaltet, die einen Datensatz bearbeiten und anschließend diese Daten für die weitere Verarbeitung weiterleiten. Diese Kommunikation von solchen funktionsdefinierten Modulen kann in kleinen oder großen Datenmengen zwischen individuellen diskreten Schaltungen, zwischen integrierten Schaltungen innerhalb desselben Chips, und zwischen entfernt angeordneten Schaltungen, die mit oder innerhalb verschiedener Teile eines Systems oder eines Untersystems verbunden sind, stattfinden. Ungeachtet der Konfiguration erfordert die Kommunikation typischerweise eng kontrollierte Schnittstellen, die dafür ausgelegt sind, sicherzustellen, dass die Datenintegrität aufrechterhalten bleibt, während Schaltungsentwürfe verwendet werden, die in Bezug auf realisierbare Einschränkungen hinsichtlich des Implementierungsraumes und der verfügbaren Betriebsleistung empfindlich sind.
  • Der erhöhte Bedarf an Halbleitervorrichtungen mit hoher Leistungsfähigkeit und hoher Funktionalität hat zu einem ständig steigenden Bedarf an einer Erhöhung der Geschwindigkeit geführt, mit der Daten zwischen den Schaltungsblöcken weitergeleitet werden. Viele dieser Hochgeschwindigkeits-Kommunikationsanwendungen können unter Verwendung einer parallelen Datenübermittlung implementiert werden, bei der mehrere Datenbits gleichzeitig über parallele Kommunikationswege gesendet werden. Ein solcher "Parallelbusbetrieb" ist ein gut angenommener Lösungsansatz zum Erreichen von Datenübertragungen mit hohen Datenraten. Für eine gegebene Datenübermittlungsrate (manchmal mittels eines zusammen mit den Daten weitergeleiteten Takts bewerkstelligt) ist die Bandbrei te, gemessen in Bits pro Sekunde, äquivalent zur Datenübertragungsrate mal der Anzahl der Datensignale, die die parallele Datenverbindung umfasst.
  • Ein typisches System kann eine Anzahl von Modulen enthalten, die über eine parallele Datenkommunikationsleitung (manchmal auch als Datenkanal bezeichnet) verbunden sind und kommunizieren, z. B. in Form eines Kabels, einer Rückwandplatinenschaltung, einer Busstruktur innerhalb eines Chips, einer anderen Verbindung oder irgendeiner Kommunikation solcher Kommunikationsmedien. Ein sendendes Modul übermittelt Daten über den Bus synchron mit einem Takt auf dem sendenden Modul. Auf diese Weise verlassen die Übergänge auf den parallelen Signalleitungen das sendende Modul in einer synchronen Beziehung zueinander und/oder zu einem Takt auf dem sendenden Modul. Am anderen Ende der parallelen Datenverbindung empfängt das empfangende Modul die Daten auf dem parallelen Datenbus, wobei die Kommunikationsanordnung ein Taktsignal weiterleitet und der Empfangstakt typischerweise aus dem Takt auf dem sendenden Modul hergeleitet oder synchron mit diesem ist. Die Rate, mit der die Daten über die parallelen Signalleitungen weitergeleitet werden, wird manchmal als (parallele) "Busrate" bezeichnet.
  • In solchen Systemen ist es vorteilhaft, sicherzustellen, dass die empfangenen Signale (und wo anwendbar der Empfangstakt) eine spezifische Phasenbeziehung zum Sendetakt aufweisen, um eine einwandfreie Datenrückgewinnung zu bewerkstelligen. Es ist häufig ein erwartetes Maß an Zeit-"Versatz" zwischen den gesendeten Datensignalen selbst und zwischen den Datensignalen und dem Empfangstakt am Ziel vorhanden. Es gibt viele Quellen eines Versatzes, einschließlich z. B. Übertragungsverzögerungen, die durch die kapazitive und induktive Belastung der Signalleitungen der parallelen Verbindung hervorgerufen werden, Variationen der E/A-(Eingang/Ausgang)-Treiberquelle, Zwischensymbolinterferenz und Variationen der Impedanz und Länge der Übertragungsleitungen. Ungeachtet dessen, welches Phänomen den Versatz hervorruft, sollte dies zum Erzielen einer Kommunikation mit einwandfreier Datenrückgewinnung für viele Anwendungen berücksichtigt werden.
  • Das US-Patent US 3.457.511 offenbart ein Mehrkanal-Paralleldatenübertragungssystem, bei dem eine konstante Verzögerung in der Signalfortpflanzung zwischen den Kanälen automatisch kompensiert werden kann. Das empfangende Ende des Systems umfasst in jedem Kanal ein konfigurierbares Verzögerungselement, das auf einen Integrator anspricht, wobei dessen Ausgang direkt mit diesem Integrator gekoppelt ist. Jedes Verzögerungselement ist ferner mit seinem jeweiligen Integrator über einen monostabilen Schalter und einen Differenzierer gekoppelt. Die Ausgänge dieser Differenzierer sind ferner mit einem ODER-Gatter gekoppelt, dessen Ausgang über einen weiteren Differenzierer mit einem UND-Gatter gekoppelt ist. Die Ausgänge der Verzögerungsschaltungen sind ferner mit einem ODER-Gatter gekoppelt, dessen Ausgang mit einem weiteren Eingang des UND-Gatters gekoppelt ist. Der Ausgang des UND-Gatters ist mit den jeweiligen Integratoren in den Kanälen gekoppelt. Jeder Kanalintegrator transformiert die Zeitdifferenz zwischen dem direkt vom Verzögerungselement empfangenen Signal, dem vom Kanaldifferenzierer erzeugten Signal und dem Signal vom UND-Gatter zu einer verzögerungsspezifischen Spannung, die verwendet wird, um die Verzögerungselemente im Kanal zu rekonfigurieren. Ein alternierendes Bitmuster wird über jeden Kanal gesendet, um die Verzögerungselemente zu kalibrieren und eine geeignete Verzögerungskompensation für die anschließend empfangenen Signale sicherzustellen, die die gleiche Verzögerungsbeziehung aufweisen wie die empfangenen alternierenden Bitmuster.
  • Für parallele Verbindungen, die Anwendungen höherer Geschwindigkeit dienen, wurde in Verbindung hiermit entdeckt, dass der Versatz "musterabhängig" ist, und dass der Schweregrad dieses Problems gelindert werden kann und in vielen Fällen größtenteils überwunden werden kann. Wie im Europäischen Patent EP 1400081 , veröffentlicht am 5.12.2002 mit dem Titel "Parallel Communication Based On Balanced Data-Bit Encoding", beschrieben ist, resultiert diese Musterabhängigkeit aus den unvollkommenen Stromquellen, die zwischen den Datenbits im parallelen Bus gemeinsam genutzt werden. Die gemeinsam genutzten Stromquellen bewirken einen Versatz beim Treiber, der direkt den Spielraum beim Empfänger reduziert, was wiederum Datenübertragungsfehler hervorrufen kann.
  • Viele dieser Hochgeschwindigkeits-Parallelkommunikationsanwendungen erfordern die Parallelübertragung vieler Datenbits, und erfordern daher die Verwendung einer entsprechenden Anzahl paralleler Busdatenleitungen. Typischerweise nimmt mit größerer Anzahl von Datenbits (oder parallelen Busdatenleitungen) die Schwierigkeit zu, unannehmbare Versatzniveaus über alle Bits zu verhindern. Mit zunehmenden Übertragungsraten ist diese Schwierigkeit ein Engpass für die Anzahl brauchbarer paralleler Busdatenleitungen.
  • Herkömmlicherweise wird diesem Versatzproblem begegnet, indem Verzögerungen auf jeder Leitung manuell eingestellt werden. Die Verzögerungen werden so eingestellt, dass die Daten so erscheinen, als ob sie am empfangenden Ende des Busses gleichzeitig angekommen wären. Für viele Anwendungen ist die Kontrolle des Versatzproblems auf diese Weise unangemessen mühsam und/oder aufwendig. Die mit diesem Lösungsansatz einhergehenden Belastungen nehmen deutlich zu, wenn die Anwendung vervielfacht wird.
  • Verschiedene Aspekte der vorliegenden Erfindung zielen darauf, Daten über parallele Kommunikationsleitungsschaltungen in einer Weise zu übertragen, die auf die obenerwähnten Probleme eingeht und diese überwindet, und können in Verbindung mit den Ausführungsformen verwendet werden, die in den obenerwähnten Patentdokumenten offenbart sind. Ein Aspekt der Erfindung zielt auf einen Hochgeschwindigkeits-Paralleldatenkommunikationsansatz, der Versatzprobleme überwindet, indem digitale Daten mit automatischer Neuausrichtung übertragen werden. Parallele Busleitungen übertragen digitale Daten zusammen mit einem Synchronisierungstaktsignal von einem ersten Modul zu einem zweiten Modul. Um die Synchronisation zu kalibrieren, überträgt das erste Modul Bus-Kipp-Synchronisationscodes, die entsprechend einer Flanke des Taktsignals vom zweiten Modul abgetastet und validiert werden, und anschließend verwendet werden, um die Flanke des Taktsignals relativ zu den abgetasteten Synchronisationscodes zeitlich einzustellen.
  • Übereinstimmend mit einer weiteren besonders beispielhaften Ausführungsform zielt die vorliegende Erfindung auf eine parallele Datenkommunikationsanordnung, in der parallele Busleitungen in mehreren Gruppen angeordnet sind, wobei jede Gruppe mehrere Datenträgerleitungen und einen Taktpfad enthält, der dafür ausgelegt ist, ein Taktsignal zum Synchronisieren der über die mehreren Datenträgerleitungen der Gruppe transportierten digitalen Daten zu transportieren. Am sendenden Ende trennt ein erstes Modul Abschnitte der Daten von der Datenda tei in separate Datensätze und überträgt die Datensätze gleichzeitig auf den mehreren Gruppen von Busleitungen zusammen mit den Taktsignalen für die jeweiligen Gruppen. Die Datensätze enthalten Synchronisierungscodes für das empfangende Ende. Am empfangenden Ende sammelt ein zweites Modul für jede Gruppe die Datensätze entsprechend dem Zeitablauf, der als Funktion des für die Gruppe empfangenen Taktsignals definiert ist, und sucht nach den Synchronisierungscodes. In Reaktion auf diese Synchronisierungscodes wird der Zeitablauf angepasst und die für jede Gruppe gesammelten Daten werden auf das für die Gruppe empfangene Taktsignal ausgerichtet.
  • In einer weiteren spezifischeren Ausführungsform ist das Taktsignal für jede Gruppe differentiell und wird verwendet, um den Empfang von zwei Sätzen von codierten Multibitdatenwerten an der Empfängerschaltung zu synchronisieren. Außerdem bewirken das zweite Modul und die Zeitanpassungsschaltung das Zentrieren der Taktflanke relativ zu den abgetasteten digitalen Daten.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf einen Lösungsansatz zum inkrementellen Einstellen der Flanke des Taktsignals relativ zu den Synchronisierungscodes. Die Anpassungsschaltung bewirkt, dass die Synchronisierungscodes relativ zum Takt bewegt werden, bis sie fehlabgetastet werden, wobei die Flanke des Taktsignals relativ zu den Synchronisierungscodes eingestellt wird, bevor und nachdem die Synchronisierungscodes mittels des zweiten Moduls fehlabgetastet worden sind. Optional wird die Anpassung fortgesetzt, bis die Flanke des Taktsignals relativ zu den Synchronisierungscodes zentriert ist.
  • Andere Beispielausführungsformen der vorliegenden Erfindung zielen jeweils auf entsprechende Struktur-, Verfahrens- und Systemverarbeitungsaspekte solcher Kommunikationsumgebungen.
  • Der vorangehende Überblick über die vorliegende Erfindung soll nicht jede dargestellte Ausführungsform oder jede Implementierung der vorliegenden Erfindung beschreiben. Die Figuren und die genaue Beschreibung, die folgen, erläutern diese Ausführungsformen beispielhaft genauer.
  • Die Erfindung kann bei Betrachtung der folgenden genauen Beschreibung verschiedene Ausführungsformen der Erfindung in Verbindung mit den beigefügten Zeichnungen vollständiger verstanden werden, in welchen:
  • 1 ein Diagramm einer beispielhaften parallelen Datenkommunikationsanordnung ist, in der digitale Daten parallel von einem ersten Modul zu einem zweiten Modul über einen Kommunikationskanal übertragen werden, der mehrere parallele Datenträgerleitungen enthält, entsprechend der vorliegenden Erfindung; und
  • 2 ein Diagramm eines weiteren Beispiels einer parallelen Datenkommunikationsleitungsanordnung ist, ebenfalls entsprechend der vorliegenden Erfindung.
  • Obwohl die vorliegende Erfindung offen für verschiedene Modifikationen und alternative Formen ist, sind Einzelheiten derselben beispielhaft in den Zeichnungen gezeigt und werden genauer beschrieben. Es ist jedoch klar, dass nicht beabsichtigt ist, die Erfindung auf die beschriebenen bestimmten Ausführungsformen zu beschränken. Im Gegenteil ist beabsichtigt, alle Modifikationen, Äquivalente und Alternativen, die in den Umfang der Erfindung fallen, wie durch die beigefügten Ansprüche definiert ist, abzudecken.
  • Es wird angenommen, dass die vorliegende Erfindung allgemein auf Verfahren und Anordnungen zum Übertragen von Daten zwischen zwei Modulen (Funktionsblöcken), die mittels eines parallelen Datenkommunikationspfades gekoppelt sind, anwendbar ist. Die Erfindung hat sich als besonders vorteilhaft für Hochgeschwindigkeits-Datenübertragungsanwendungen erwiesen, die anfällig für Datenversatzfehler sind. Beispiele solcher Anwendungen umfassen unter anderem SSTL (stub series transceiver/terminated logic), RSL-(Rambus-Signalisierungslogik)-Schnittstellen, eng verbundene Anwendungen, wie z. B. dort, wo der parallele Datenkommunikationspfad zwei Module auf einem einzelnen Chip kommunikativ koppelt, eine bordfremde Hochgeschwindigkeitskommunikation zwischen Chips, die typischerweise unmittelbar nebeneinander auf der gleichen gedruckten Leiterplatte angeordnet sind, wie z. B. auf einer Referenzchip-Entwicklungsplattform des Typs, der in der US-Patentanmeldung mit der laufenden Nr. 09/215.942 eingereicht am 18. Dezember 1988, nun US-Patent Nr. 6.347.395 , offenbart ist. Obwohl die vorliegende Erfindung nicht unbedingt auf solche Anwendungen beschränkt ist, wird eine Wertschätzung der verschiedenen Aspekte der Erfindung am besten durch eine Diskussion von Beispielen in einer solchen Umgebung gewonnen.
  • Eine beispielhafte Anwendung der vorliegenden Erfindung verwendet eine parallele Datenkommunikationsanordnung, die digitale Daten auf einem parallelen quellensynchronen Datenbus zwischen einem Paar Schaltungsmodulen weiterleitet, die als ein sendendes (oder erstes) Modul und ein empfangendes (oder zweites) Modul bezeichnet werden. Der Takt wird zusammen mit den Daten zum empfangenen Modul für eine Datensynchronisation übertragen, wobei eine Flanke (steigend oder fallend) des Takts verwendet wird, um die Daten in einer Signalspeicherschaltung (z. B. Signalspeicher, Puffer oder kleiner FIFO) am empfangenden Modul zu speichern. Da jedoch die über den Bus gesendeten Daten anfällig für einen Datenversatz sind (wie vorher beschrieben worden ist), wird angenommen, dass die (steigende oder fallende) Flanke des Takts exakt mit den zwischengespeicherten Daten zusammenfällt oder 90° außer Phase ist. Da der Empfänger annimmt, dass die Beziehung zwischen dem Takt und den Daten gut definiert ist, ist es wichtig, dass diese Beziehung zwischen der Taktflanke und den empfangenen Daten gültig ist.
  • Die parallelen Daten enthalten Synchronisierungscodes, die speziell ausgewählt sind, um die Busleitungen zu veranlassen, zwischen digitalen Zuständen zu kippen, wenn sie unmittelbar nacheinander gesendet werden. Dieser Kippvorgang wird verwendet, um einen Übergangspunkt für jede Datenleitung relativ zu einer Flanke des Taktsignals bereitzustellen. Dieser Lösungsansatz stellt sicher, dass irgendwelche durch Versatz hervorgerufenen Fehlausrichtungen innerhalb einer halben Taktperiode angepasst werden können. Für weitere Informationen bezüglich der Anwendung solcher Synchronisierungscodes kann auf das obenerwähnte Patentdokument mit dem Titel "Parallel Communication Based On Balanced Data-Bit Encoding" Bezug genommen werden, das ein Beispiel eines 6b8b-Codierungsansatzes liefert, in welchem nur 64 der verfügbaren 256 8b-Codes für die Übertragung über acht Bits paralleler Daten verwendet werden, und in welchem ausgewählte ausgeglichene Codes, z. B. 0x33 & 0xCC oder 0xC3 & 0x3C (Hexadezimal), als Synchronisierungscodes zugewiesen sind und selektiv verwendet werden, so dass zwei der Synchronisierungscodes wiederholt und zu sammenhängend während des Kalibrierungsprozesses der vorliegenden Erfindung gesendet werden. Die Verwendung dieses Codierungsansatzes erlaubt vorteilhaft eine Datenwertvalidierung sowohl für Synchronisierungscodes als auch nichtspezifische Datenwerte durch einfaches Programmieren der CPU am empfangenden Ende, so dass sie die abgetasteten Daten mit den Codes vergleicht, die im 6b8b-Ansatz verwendet werden (gegenüber den unbenutzten Codes). Für weitere Informationen bezüglich eines kompatiblen Codierungs/Decodierungs-Kommunikationsansatzes kann im Allgemeinen auf jedes der obenerwähnten Patentdokumente Bezug genommen werden.
  • In einer besonderen beispielhaften Implementierung der Erfindung, die dem obenerwähnten 6b8b-Ansatz entspricht, jedoch nicht hierauf beschränkt ist, weist der quellensynchrone Datenbus die Busleitungen in mehreren Gruppen angeordnet auf, wobei jede Gruppe Datenträgerleitungen und einen Taktpfad enthält, der dafür ausgelegt ist, das Taktsignal für diese bestimmte Gruppe zu transportieren. Am sendenden Ende trennt das erste Modul Abschnitte der Daten aus der Datendatei in separate Datensätze und überträgt wiederholt die Datensätze gleichzeitig auf den mehreren Gruppen von Busleitungen zusammen mit den Taktsignalen für die jeweiligen Gruppen. Die Synchronisierungscodes werden für jede getaktete Gruppe gesendet; somit würde für eine acht Bit breite Busleitungsgruppe ein Synchronisierungscode acht Bits breit sein. Bei Verwendung des obigen Beispiels ist ein Synchronisierungscode gleich 33 (Hexadezimal), während ein weiterer CC (Hexadezimal) ist.
  • Am empfangenden Ende sammelt ein zweites Modul für jede Gruppe die Datensätze entsprechend dem Zeitablauf, der als Funktion des für die Gruppe empfangenen Taktsignals definiert ist, und versucht, die Synchronisierungscodes zu validieren. In Reaktion auf diese Synchronisierungscodes werden Verzögerungsschaltungen beim sendenden und/oder beim empfangenden Modul (die typischerweise mit jeder Datenleitung des parallelen Busses verbunden sind) aktiviert und deaktiviert, in Reaktion auf eine Rückkopplungsleitung, um den Zeitablauf der gesammelten Daten relativ zu der Taktflanke in jeder Gruppe anzupassen. Idealerweise wird der Zeitablauf so eingestellt, dass die Daten bei der Taktflanke zentriert sind. Die Verzögerungsschaltungen können unter Verwendung verschiedener herkömmlicher Ansätze implementiert sein, einschließlich z. B.
  • Logikschaltungen/Pfade, die so angeordnet sind, dass sie auswählbare Signalweiterleitungsverzögerungen zur Verfügung stellen, und MOS-Transistoren mit festen Stromweiterleitungs-Aktivierungszeiten.
  • Gemäß einer spezifischeren Implementierung der vorliegenden Erfindung wird diese ideale zeitlich zentrierte Beziehung erreicht, indem zuerst die Synchronisierungscodes gesendet, empfangen und validiert werden, und anschließend inkrementell der Zeitablauf eingestellt wird, bis die Daten am empfangenden Ende fehlabgetastet werden (d. h., bis die empfangenen Daten nicht validiert werden können). Sobald diese Fehlabtastung auftritt, wird der Zeitablauf inkrementell in entgegengesetzter Richtung eingestellt (Voreilen gegenüber Nacheilen), während jede inkrementelle Anpassung verfolgt wird, bis die Zeitablaufanpassung ein Fehlabtastung hervorruft, die in dieser entgegengesetzten Richtung auftritt. Die Verfolgung wird anschließend verwendet, um den Zeitablauf auf das Inkrement zurückzustellen, das dem Mittelpunkt im Spektrum von der ersten Fehlabtastung zur zweiten Fehlabtastung entspricht, und somit die Taktflanke mit den Daten auf jeder Leitung zu zentrieren. Mit der Rückkopplung vom zweiten Modul und der Kopplung dieser Informationen in die Datenleitungseinstellschaltung kann eine solche Datenverarbeitung selbstverständlich unter Verwendung eines programmierten Prozessors an einem oder an beiden Enden des parallelen Busses und/oder unter Verwendung einer Hardware-Zustandsmaschine implementiert werden.
  • Die vorliegende Erfindung betrachtet gewisse Anwendungen, die eine suboptimale Kalibrierung erlauben, wobei in solchen Implementierungen diese ideale zeitlich zentrierte Beziehung gegen einen gewissen Grad der Minimierung der Schritte (und der zugehörigen Unterbrechungen der Gesamtkommunikation), die erforderlich ist, um die ideale zeitlich zentrierte Beziehung zu erreichen, abgewogen wird. In solchen Anwendungen hängt das Ausmaß, bis zu dem die ideale zeitliche zentrierte Beziehung beeinträchtigt wird, von der bestimmten Anwendung und der Toleranz gegenüber Fehlern ab.
  • 1 zeigt eine parallele Datenkommunikationsleitungsanordnung 100 gemäß einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung. Die Anordnung 100 enthält einen Differenztakt, der verwendet wird, um die Rate zu definieren, mit der die Daten synchron von einer Verarbeitungsschaltung, wie z. B. der CPU 102 und den Registern 106, beim sendenden Modul 112 zu einem empfangenden Modul 114 weitergeleitet werden. Ein Fachmann wird erkennen, dass ein Differenztakt nicht für alle Anwendungen erforderlich ist, und dass, obwohl 1 die Daten in nur einer Richtung weitergeleitet zeigt, auch eine Umkehrkommunikation mit jedem der Module 112 und 114 bewerkstelligt werden kann, die Teil eines entsprechenden Kommunikationsknotens sind, der den umgekehrten Satz von Sende- und Empfangsschaltungen enthält.
  • Die Anordnung 100 verwendet einen Datenwert-Codierungs-Decodierungs-Ansatz, bei dem Datenwerte mittels der Schaltung 111 codiert werden und dann vom sendenden Modul 112 zum empfangenden Modul 114 unter Verwendung paralleler Datenleitungen 116 und 118 zusammen mit Taktleitungen 122 weitergeleitet werden. Die Taktleitungen 122 werden verwendet, um die Kommunikationsrate und die Synchronisierungszeitsteuerung zwischen sendenden und empfangenden Modulen 112 und 114 zur Verfügung zu stellen. Beim empfangenden Modul 114 verwendet ein Prozessor oder eine andere Decodierungsschaltung 130 einen Umkehrcodierungsalgorithmus, eine Nachschlagtabelle oder eine äquivalente Schaltung, um den Datenwert zurück in seinen Datenwert vor der Codierung zu decodieren.
  • Die Anordnung 112 zielt auf eine Beispielanwendung, die zwei Taktdomänen verwendet, wobei jede Domäne durch ein Taktsignal definiert ist, um die Kommunikation für eine 12-Bit-Datentakt-(12b-DC)-Gruppe zu synchronisieren, entsprechend einem Paar von 6-Bit-Code-("6b")-Gruppen, die als ein Paar von 8-Bit-Code-("8b")-Gruppen auf den Busleitungen 116 und 118 codiert sind, die in Verbindung mit dem obenerwähnten Patentdokument beschrieben worden ist. Die ersten und zweiten Taktdomänen sind jeweils unter Verwendung desselben Basisbezugszeichens gekennzeichnet, wobei bei der zweiten Taktdomänenschaltung ein Apostroph folgt; z. B. ist der Differenztakt der ersten Taktdomäne mit 122 bezeichnet, während der Differenztakt der zweiten Taktdomäne mit 122' bezeichnet ist. Die 12b-DC-Gruppen codieren effizient den Datenaustausch oder Befehle von 12 Signalen. In bestimmten Fällen kann es vorteilhaft sein, kleinere Gruppen zu verwenden. Wie gezeigt ist, enthält somit eine 12b-DC-Gruppe ein Differenztaktpaar und zwei 6b8b-Codierungen für insgesamt 18 Anschlüsse zwi schen dem sendenden Modul 112 und dem empfangenden Modul 114. Für jede Taktdomäne enthält eine Hälfte der 12b-DC-Gruppe einen 6b8b-Codierer und ein Differenztaktpaar für insgesamt zehn Anschlüsse. Uncodierte Differenzpaare können ebenfalls verwendet werden, um Signale zu transportieren. Diese Differenzpaare können das Taktsignal mitbenutzen, das mit einer Hälfte einer 12b-DC-Gruppe verwendet wird, oder die Differenzpaare können ihr eigenes Taktpaar aufweisen.
  • Die Daten in jeder der Codegruppen werden beim empfangenden Modul 114 synchron empfangen, wo eine Datenverarbeitungsschaltung, oder in diesem Fall eine 8b6b-Decodiererschaltung 130, die synchron empfangenen Sätze von acht Bit breiten Daten in entsprechende Sätze von sechs Bit breiten Datenwerten wandelt und anschließend die sechs Bit breiten Datenwerte in einem FIFO-Puffer 134 speichert, der der durch das Differenztaktsignal 122 definierten Taktdomäne zugeordnet ist. Somit gibt es für jede Taktdomäne einen FIFO-Puffer, der unmittelbar einem Paar 8b6b-Decodiererschaltungen folgt.
  • Beim Schaltungsanlauf, oder optional periodisch nach dem Anlauf, werden die Daten in jeder Codegruppe auf die Mitte der Taktflanke kalibriert, die verwendet wird, um die Daten vom Bus in das empfangende Modul (z. B. von 116 nach 114) abzutasten. Die Verwendung von Synchronisierungscodes, die bewirken, dass die Busleitungen zwischen digitalen Zuständen kippen, wenn sie unmittelbar nacheinander gesendet werden, kann diese Kalibrierung wie oben beschrieben für die zeitlich zentrierte Beziehung erreicht werden. Mit diesem Zentrierungsansatz, der verwendet wird, um irgendwelche durch Versatz hervorgerufenen Fehlausrichtungen zu minimieren, weisen die Daten im FIFO-Puffer der 1 für jede Taktdomäne keine durch Versatz hervorgerufenen Fehlausrichtungen auf.
  • Wenn FIFO 134 und FIFO 134' nicht leer sind, werden die Daten von beiden zu einem größeren FIFO 138 übertragen, der ausreichend breit ist, um die Daten von beiden Taktdomänen aufzunehmen. Ein Nachprozessor liest diese Daten und entfernt irgendwelche durch Versatz hervorgerufenen Fehlausrichtungen zwischen den verschiedenen Gruppen, wie in dem Patentdokument mit dem Titel "Parallel Data Communication Having Skew Intolerant Data Groups" ( US 2002/84552 , veröffentlicht am 5.12.2002) beschrieben ist.
  • Ferner verwendet gemäß der vorliegenden Erfindung eine weitere Ausführungsform eine Teilmenge der in 2 gezeigten Schaltung. Diese Ausführungsform erfordert nicht, dass die Busleitungen in mehreren Gruppen mit separat unter diesen Gruppen übertragenen Daten angeordnet sind. Stattdessen werden die Daten in ihrer Gesamtheit unter Verwendung nur eines Taktsignals gesendet. In dieser Anwendung der vorliegenden Erfindung arbeitet die CPU 102 effektiv mit den Daten für nur eine der Taktdomänen.
  • 2 zeigt eine weitere Implementierung der vorliegenden Erfindung, in der sechs Codierungs/Decodierungs-Taktdomänenschaltungen gleichen Typs der 1 in jedem der zwei Kommunikationspfade für die Kommunikation in jeder entsprechenden Richtung verwendet werden. Zum Weiterreichen eines Datenaustauschs, der an einem ersten Endgerät 210 zum Empfangen am zweiten Endgerät 212 eingeleitet wird, wird eine der sechs identischen Taktdomänenschaltungen durch verbundene Schaltungen 216a und 216b dargestellt. Für einen Datenaustausch, der am zweiten Endgerät 212 für den Empfang am ersten Endgerät 210 eingeleitet wird, werden sechs zusätzliche Codierungs/Decodierungs-Taktdomänenschaltungen dieses Typs verwendet; eine dieser Schaltungen ist durch verbundene Schaltungen 236a und 236b dargestellt. Der Kürze halber wird die folgende Erörterung auf den Kommunikationsfluss beschränkt, der am ersten Endgerät 210 zum Empfang am zweiten Endgerät 212 eingeleitet wird.
  • Datenaustausch, der am ersten Endgerät 210 eingeleitet wird, beginnt bei der CPU 240, oder einer weiteren Quelle, die Zieldaten zusammen mit irgendwelchen gewünschten Status- oder Steuerdaten zu einem Frontend-FIFO 242 zuführt. Aus dem FIFO 242 werden die Daten für die Kommunikation beim Flusskontrollpuffer 244 formatiert, um sie den sechs Sätzen der Codierungs/Decodierungs-Taktdomänenschaltungen (mit 245 bezeichnet) zu präsentieren; somit empfangen die Codierungs/Decodierungs-Taktdomänenschaltungen Daten, die 72 Bits breit sind (12 Bits für jede der sechs Domänenschaltungen). Nach der 6b8b-Codierung werden die Daten zum zweiten Endgerät 212 über eine Verzögerungszeitanpassungsschaltung, die in Bustreibern und/oder Busempfängern eingebaut ist, die ebenfalls als Schaltungen 216a und 216b darge stellt sind, übermittelt und dort decodiert. Die Verzögerungszeitanpassungsschaltung kann unter Verwendung von (nicht gezeigten) Signalen von der CPU 240 oder einer weiteren Schnittstelle in Reaktion auf die vom zweiten Endgerät 212 bereitgestellte Rückmeldung gesteuert werden; alternativ kann die Rückmeldung lokal kontrolliert werden, indem nur der Busempfänger verwendet wird, der als Schaltung 216b dargestellt ist. Sobald die Daten decodiert sind, werden sie dem breiten FIFO 246 präsentiert, wobei nach Korrektur von durch Versatz hervorgerufenen Fehlausrichtungen innerhalb jeder Taktdomäne, wie vorher beschrieben worden ist, die Daten anschließend für die Verarbeitung durch die CPU 260 des zweiten Endgerätes in einen FIFO 250 gepackt werden.
  • In 2 sind ferner Flusssteuerungs-Kommunikationspfade 270 und 272 gezeigt. Diese Pfade 270 und 272 werden verwendet, um Statusinformationen zu dem einleitenden Endgerät 210 oder 212 zurückzuführen, einschließlich Rückmeldeinformationen zum Steuern der Verzögerungszeitanpassungsschaltung der 2. Verschiedene andere Typen von Kommunikationsstatusinformationen können in Abhängigkeit von der Anwendung bereitgestellt werden; Beispiele umfassen die Information, ob der FIFO weniger als bis zu einem unteren Schwellenpegel gefüllt ist, ob der FIFO mehr als bis zu einem oberen Schwellenpegel gefüllt ist, ob der FIFO leer ist, ob der FIFO voll ist, ob ein Fehler z. B. aufgrund eines Überlaufs aufgetreten ist, oder ob ungültige Daten vom FIFO gezogen worden sind. Eine solche Flusssteuerung ist üblich und wird in vielen Kommunikationsmodellen verwendet.
  • Für weitere Informationen bezüglich Einzelheiten oder Variationen entweder der 1 oder der 2 kann auf das obenerwähnte Patentdokument mit dem Titel "Parallel Data Communication Having Skew Intolerant Data Groups" Bezug genommen werden.
  • Dementsprechend wurden verschiedene Ausführungsformen als beispielhafte Implementierungen der vorliegenden Erfindung beschrieben, die sich mit Versatzproblemen in Parallelbusanwendungen befassen. Die vorliegende Erfindung sollte jedoch nicht auf die obenbeschriebenen bestimmten Beispiele beschränkt betrachtet werden. Verschiedene Modifikationen, äquivalente Prozesse, sowie zahlreiche Strukturen, auf die die vorliegende Erfindung anwendbar sein kann, fallen in den Umfang der vorliegenden Erfindung. Zum Beispiel können Multi-Chip- oder Einzelchip-Anordnungen unter Verwendung einer ähnlich aufgebauten Einweg- oder Zweiwege-Schnittstelle für die Kommunikation zwischen den Chipsatzanordnungen implementiert werden. Ferner ist hervorzuheben, dass am empfangenden Modul die Daten unter Verwendung der steigenden Flanke, der fallenden Flanke oder beider Flanken des Takts während des Kalibrierungsprozesses und/oder während des normalen Datenaustauschs abgetastet werden können. Solche Variationen können als Teil der beanspruchten Erfindung betrachtet werden, wie in den beigefügten Ansprüchen ausgeführt ist.

Claims (18)

  1. Parallele Datenkommunikationsanordnung (100), die ausgebildet ist, den Versatz digitaler Daten zu kompensieren, umfassend: einen parallelen Bus mit parallelen Busleitungen (116, 118), die ausgebildet sind, digitale Daten zu übertragen; ein erstes Modul (112), das ausgebildet ist, die digitalen Daten gleichzeitig auf den Busleitungen zu übertragen; wobei jede der Busleitungen (116, 118) eine zugeordnete einstellbare Datenverzögerungsschaltung (216a, 216b) hat; und wobei die Anordnung (100) dadurch gekennzeichnet ist, dass: der parallele Bus einen Taktpfad (122) hat, der ausgebildet ist, ein Taktsignal zum Synchronisieren digitaler Daten zu transportieren, die über die Vielzahl von Daten transportierender Leitungen transportiert werden; das erste Modul (112) ausgebildet ist, die digitalen Daten gleichzeitig mit dem Taktsignal auf den Busleitungen (116, 118) zu übertragen, wobei von den Datensätzen ausgewählte Datensätze mindestens zwei Synchronisierungscodes enthalten, die zusammenhängend auf den Busleitungen (116, 118) übertragen werden, um mit jedem der übertragenen Synchronisationscodes zwischen den Busleitungen zu schalten; ein zweites Modul (114) vorgesehen ist, das ausgebildet ist, die Synchronisierungscodes in Reaktion auf eine Flanke des Taktsignals abzutasten, und die abgetasteten Synchronisierungscodes zu validieren; und dass die einstellbaren Datenverzögerungsschaltungen (216a, 216b) ausgebildet sind, auf die validierten Synchronisierungscodes zu reagieren und die Flanke des Taktsignals relativ zu den Synchronisierungscodes einzustellen.
  2. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) zusätzlich ausgebildet ist, die Flanke des Taktsignals relativ zu den Synchronisierungscodes dadurch einzustellen, dass sie eine Fehlabtastung der Synchronisationscodes durch das zweite Modul (114) verursacht.
  3. Parallele Datenkommunikationsanordnung (100) nach Anspruch 2, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) zusätzlich ausgebil det ist, die Flanke des Taktsignals relativ zu den Synchronisierungscodes wiederholt einzustellen.
  4. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) zusätzlich ausgebildet ist, die Flanke des Taktsignals relativ zu den Synchronisierungscodes dadurch einzustellen, dass sie eine Fehlabtastung der Synchronisierungscodes durch das zweite Modul (114) verursacht, und bei der die Flanke des Taktsignals relativ zu den Synchronisierungscodes angepasst wird, bevor und nachdem die Synchronisierungscodes durch das zweite Modul (114) fehlabgetastet werden.
  5. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) Teil des parallelen Busses ist.
  6. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) Teil des ersten Moduls (112) ist.
  7. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) Teil des zweiten Moduls (114) ist.
  8. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der die ersten und zweiten Module (112, 114) einstellbare Datenverzögerungsschaltungen (216a, 216b) umfassen.
  9. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der die Synchronisierungscodes nicht verwendet werden, um Datenwerte zu repräsentieren, die über den Bus gesendet werden.
  10. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der der Taktpfad unter Verwendung eines Paars der parallelen Busleitungen (116, 118) implementiert ist, welches ausgebildet ist, dass Taktsignal als differentielles Signal zu transportieren.
  11. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der das zweite Modul (114) zusätzlich ausgebildet ist, jegliche Versatz-bedingten Fehleinstellungen zu tolerieren, die eine halbe Periode des Taktsignals nicht überschreiten.
  12. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der die über den parallelen Bus übertragenen Daten von einem ersten Datenwert in einen zweiten Datenwert gewandelt werden, der aus einer größeren Anzahl Bits besteht.
  13. Parallele Datenkommunikationsanordnung (100) nach Anspruch 12, bei der das erste Modul (112) einen Kodierer (111) und das zweite Modul (114) einen Dekodierer (130) enthält.
  14. Parallele Datenkommunikationsanordnung (100) nach Anspruch 13, bei der der Kodierer (111) einen 6-Bit-Wert in einen 8-Bit-Wert wandelt und bei der der Dekodierer (130) einen 8-Bit-Wert in einen 6-Bit-Wert wandelt.
  15. Parallele Datenkommunikationsanordnung (100) nach Anspruch 1, bei der jede einstellbare Datenverzögerungsschaltung (216a, 216b) verwendet wird, um die Flanke des Taktsignals relativ zu den abgetasteten Synchronisierungscodes mittig auszurichten.
  16. Paralleles Datenkommunikationsverfahren, das ausgebildet ist, den Versatz digitaler Daten zu kompensieren, wobei das Verfahren umfasst: Übertragen digitaler Daten zusammen mit einem Taktsignal über einen parallelen Bus mit parallelen Busleitungen (116, 118) und einem Taktpfad (122), der ausgebildet ist, ein Taktsignal zum Synchronisieren digitaler Daten zu transportieren, die über die Vielzahl Daten transportierender Leitungen transportiert werden, wobei die digitalen Daten gleichzeitig mit dem Taktsignal übertragen werden, und wobei ausgewählte Datensätze mit mindestens zwei Synchronisierungscodes zusammenhängend übertragen werden, um zwischen mit jedem der übertragenen Synchronisierungscodes den Busleitungen (116, 118) zu schalten; Empfangen der übertragenen Daten, einschließlich Abtasten der Synchronisierungscodes in Reaktion auf eine Flanke des Taktsignals, und Validieren der abgetasteten Synchronisierungscodes; und in Reaktion auf die validierten Synchronisierungscodes, zeitliches Einstellen der Flanke des Taktsignals relativ zu den Synchronisierungscodes durch Steuern einer jeweiligen einstellbaren Datenverzögerungsschaltung (216a, 216b), die jeder Busleitung zugeordnet ist.
  17. Verfahren nach Anspruch 16, das zusätzlich ein Anpassen der Flanke des Taktsignals relativ zu den Synchronisierungscodes durch Verursachen einer Fehlabtastung der Synchronisierungscodes enthält.
  18. Verfahren nach Anspruch 17, bei dem die Flanke des Taktsignals relativ zu den Synchronisierungscodes eingestellt wird, bevor und nachdem die Synchronisierungscodes fehlabgetastet werden.
DE60224666T 2001-05-31 2002-05-28 Parallele datenübertragung mit mehreren synchronisierungskodes Expired - Lifetime DE60224666T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/871,117 US6920576B2 (en) 2001-05-31 2001-05-31 Parallel data communication having multiple sync codes
US871117 2001-05-31
PCT/IB2002/001893 WO2002098091A2 (en) 2001-05-31 2002-05-28 Parallel data communication with multiple synchronisation codes

Publications (2)

Publication Number Publication Date
DE60224666D1 DE60224666D1 (de) 2008-03-06
DE60224666T2 true DE60224666T2 (de) 2008-12-24

Family

ID=25356767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60224666T Expired - Lifetime DE60224666T2 (de) 2001-05-31 2002-05-28 Parallele datenübertragung mit mehreren synchronisierungskodes

Country Status (7)

Country Link
US (1) US6920576B2 (de)
EP (1) EP1397895B1 (de)
JP (1) JP4228051B2 (de)
KR (1) KR100873569B1 (de)
AT (1) ATE384385T1 (de)
DE (1) DE60224666T2 (de)
WO (1) WO2002098091A2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907552B2 (en) * 2001-08-29 2005-06-14 Tricn Inc. Relative dynamic skew compensation of parallel data lines
DE10156111A1 (de) * 2001-11-16 2003-06-05 Philips Intellectual Property Empfangsschaltung zum Empfang von Nachrichtensignalen
US7720107B2 (en) * 2003-06-16 2010-05-18 Cisco Technology, Inc. Aligning data in a wide, high-speed, source synchronous parallel link
US7216247B2 (en) * 2004-08-05 2007-05-08 Texas Instruments Incorporated Methods and systems to reduce data skew in FIFOs
US7526704B2 (en) * 2005-08-23 2009-04-28 Micron Technology, Inc. Testing system and method allowing adjustment of signal transmit timing
EP1972058B1 (de) * 2006-01-03 2011-03-16 Nxp B.V. System und verfahren zur seriellen datenkommunikation
US7752475B2 (en) * 2006-06-27 2010-07-06 International Business Machines Corporation Late data launch for a double data rate elastic interface
US7783911B2 (en) * 2006-06-27 2010-08-24 International Business Machines Corporation Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements
US7739538B2 (en) * 2006-06-27 2010-06-15 International Business Machines Corporation Double data rate chaining for synchronous DDR interfaces
US7734944B2 (en) * 2006-06-27 2010-06-08 International Business Machines Corporation Mechanism for windaging of a double rate driver
US7882322B2 (en) * 2006-06-27 2011-02-01 International Business Machines Corporation Early directory access of a double data rate elastic interface
US20080046772A1 (en) * 2006-07-17 2008-02-21 International Business Machines Corporation Shifting inactive clock edge for noise reduction
US7536579B2 (en) * 2006-08-03 2009-05-19 Avalon Microelectronics, Inc. Skew-correcting apparatus using iterative approach
US7546494B2 (en) * 2006-08-03 2009-06-09 Avalon Microelectronics Inc. Skew-correcting apparatus using dual loopback
US7760836B2 (en) * 2006-08-03 2010-07-20 Avalon Microelectronics, Inc. Skew-correcting apparatus using external communications element
US20090055694A1 (en) * 2007-08-22 2009-02-26 Tektronix, Inc. Apparatus and method for measuring skew in serial data communication
US20090102529A1 (en) * 2007-10-23 2009-04-23 International Business Machines Corporation Shifting inactive clock edge for noise reduction
EP2278714B1 (de) * 2009-07-02 2015-09-16 Nxp B.V. Leistungsstufe
CN102299787B (zh) * 2011-08-25 2014-03-05 北京昆腾微电子有限公司 在高速系统级芯片电路中实现数据同步的方法和装置
US9331866B2 (en) 2012-04-20 2016-05-03 Nxp B.V. Network communications apparatus, system, and method
US8818265B2 (en) 2012-04-24 2014-08-26 Nxp B.V. Interface for communication between voltage domains
US8571093B1 (en) 2012-04-24 2013-10-29 Nxp B.V. Communication interface for galvanic isolation
US8787502B2 (en) 2012-04-24 2014-07-22 Nxp B.V. Capacitive isolated voltage domains
US8867592B2 (en) 2012-05-09 2014-10-21 Nxp B.V. Capacitive isolated voltage domains
US9007141B2 (en) 2012-05-23 2015-04-14 Nxp B.V. Interface for communication between voltage domains
US8693528B1 (en) 2012-11-30 2014-04-08 Nxp B.V. Common mode suppression circuit
US8680690B1 (en) 2012-12-07 2014-03-25 Nxp B.V. Bond wire arrangement for efficient signal transmission
US9467060B2 (en) 2013-04-03 2016-10-11 Nxp B.V. Capacitive level shifter devices, methods and systems
US8896377B1 (en) 2013-05-29 2014-11-25 Nxp B.V. Apparatus for common mode suppression
US10448215B2 (en) 2016-06-24 2019-10-15 JIO, Inc. Communicating location change information
US10791429B2 (en) 2016-06-24 2020-09-29 JIO, Inc. Communicating location change information in accordance with a reporting approach
US10686583B2 (en) * 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
AU2017445026B2 (en) 2017-12-29 2024-09-05 Kraft Foods Group Brands Llc Improved oxidative stability of oil-in-water emulsions using natural stabilizers
JP2020198577A (ja) * 2019-06-04 2020-12-10 キオクシア株式会社 メモリシステム
CN114826503B (zh) * 2022-06-27 2022-09-27 杭州加速科技有限公司 Fpga内并行总线数据采样窗口的校准方法、装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE307970B (de) * 1965-08-30 1969-01-27 Ericsson Telefon Ab L M
US5734685A (en) * 1996-01-03 1998-03-31 Credence Systems Corporation Clock signal deskewing system
US6215798B1 (en) * 1996-11-01 2001-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Multi-frame synchronization for parallel channel transmissions
US5978419A (en) * 1997-06-24 1999-11-02 Sun Microsystems, Inc. Transmitter and receiver circuits for high-speed parallel digital data transmission link
JP3387379B2 (ja) * 1997-09-01 2003-03-17 富士通株式会社 パラレルデータスキュー検出回路
US6725388B1 (en) * 2000-06-13 2004-04-20 Intel Corporation Method and system for performing link synchronization between two clock domains by inserting command signals into a data stream transmitted between the two clock domains

Also Published As

Publication number Publication date
KR20030029120A (ko) 2003-04-11
EP1397895A2 (de) 2004-03-17
KR100873569B1 (ko) 2008-12-12
WO2002098091A2 (en) 2002-12-05
WO2002098091A3 (en) 2003-04-24
JP4228051B2 (ja) 2009-02-25
DE60224666D1 (de) 2008-03-06
US6920576B2 (en) 2005-07-19
JP2004527988A (ja) 2004-09-09
EP1397895B1 (de) 2008-01-16
ATE384385T1 (de) 2008-02-15
US20020184549A1 (en) 2002-12-05

Similar Documents

Publication Publication Date Title
DE60224666T2 (de) Parallele datenübertragung mit mehreren synchronisierungskodes
DE69428687T2 (de) Ausrichtungsgeraet fuer einen seriellen datenbus
DE69531567T2 (de) Serielle Hochgeschwindigkeitsverbindung zur Vollduplex-Datenkommunikation
DE60215573T2 (de) Programmierbare Logikschaltung mit einer seriellen Hochgeschwindigkeitsschnittstelle
DE69432587T2 (de) Verzögerungsleitungsseparator für datenbus
DE69734182T2 (de) Datenübertragungsverfahren, elektronisches Gerät und integrierte Bitübertragungsschichtsteuerschaltung
DE69922972T2 (de) System und verfahren zum senden und empfängen von datensignalen über eine taktsignalleitung
DE69231871T2 (de) Verfahren zur parallelen Übertragung
DE69133444T2 (de) Kommunikationsschnittstelle
DE112007000574B4 (de) System und Verfahren zur asymmetrischen Steuerung einer bidirektionalen Hochgeschwindigkeitssignalführung
DE4307449C2 (de) Verfahren und Schaltung zur Resynchronisation einer synchronen seriellen Schnittstelle
DE10257867A1 (de) Schnelle Schnittstelle für eine programmierbare Verbindungsschaltung
DE102006062385A1 (de) Hochgeschwindigkeitsschnittstellenhalbleiterelement, -system und -verfahren
DE69027578T2 (de) Bytebreite elastische Puffereinrichtung
DE3122076A1 (de) Mehrrechnersystem
DE60304857T2 (de) Ausrichtungs- und versetzungsentfernungseinrichtung, -system und verfahren
DE69934663T2 (de) Serielles hochgeschwindigkeitsübertragungssystem
EP0383986A1 (de) Verfahren und Anordnung zur Übertragung von Daten zwischen einer zentralen Datenstation und mehreren Datenendeinrichtungen im lokalen Bereich
DE102007038725B3 (de) Integrierte Schnittstellenvorrichtung und Verfahren zum Betreiben einer integrierten Schnittstellenvorrichtung
DE10146585A1 (de) Verfahren und Schaltungsanordnung zur Anpassung des Spannungspegels für die Übertragung von Daten
DE60107899T2 (de) Parallele Datenschnittstelle
WO2020035392A1 (de) Rahmenabschirmeinheit, teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
DE2707820B2 (de) Datenverarbeitungsanlage
DE102006039797B4 (de) Verfahren zum Trainieren von Verbindungen in einer Speicheranordnung und entsprechend ausgestaltete Speicheranordnungen
DE69531810T2 (de) Verfahren zum Abtasten eines seriellen digitalen Signals

Legal Events

Date Code Title Description
8364 No opposition during term of opposition