DE60200564T2 - Datenkommunikationssystem mit Selbsttestfähigkeit - Google Patents

Datenkommunikationssystem mit Selbsttestfähigkeit Download PDF

Info

Publication number
DE60200564T2
DE60200564T2 DE60200564T DE60200564T DE60200564T2 DE 60200564 T2 DE60200564 T2 DE 60200564T2 DE 60200564 T DE60200564 T DE 60200564T DE 60200564 T DE60200564 T DE 60200564T DE 60200564 T2 DE60200564 T2 DE 60200564T2
Authority
DE
Germany
Prior art keywords
presettable
test sequence
fields
scrambler
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60200564T
Other languages
English (en)
Other versions
DE60200564D1 (de
Inventor
Richard C. Walker
Patricia A. Thaler
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE60200564D1 publication Critical patent/DE60200564D1/de
Application granted granted Critical
Publication of DE60200564T2 publication Critical patent/DE60200564T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica
    • H04L1/244Testing correct operation by comparing a transmitted test signal with a locally generated replica test sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/241Testing correct operation using pseudo-errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica

Description

  • Hintergrund der Erfindung
  • Seit einigen Jahrzehnten hat sich die Leistungsfähigkeit von IC- und Lasertechniken ungefähr jede 18 Monate verdoppelt. Diese Techniken wurden verwendet, um einer schnell wachsenden Nachfrage an globaler Kommunikationskapazität nachzukommen. Diese Nachfrage wächst momentan wesentlich schneller, als die zugrundeliegende Verbesserungsgeschwindigkeit der unterstützenden Techniken. Als Beispiel hat sich der Datenkommunikationsverkehr über das Internet in letzter Zeit jede neun Monate verdoppelt. Die Nachfrage an zusätzlicher Kommunikationsbandbreite beansprucht die Leistungsfähigkeit der aktuellen elektronischen und optischen Techniken stark.
  • Insbesondere hat sich der Ethernet-LAN-Standard in zunehmendem Maße hinsichtlich der Geschwindigkeit um Zehnerfaktoren weiterentwickelt, beginnend mit 10 Megabit pro Sekunde (Mb/s) im Jahr 1982. Im Jahr 1999 wurden Vorschläge hinsichtlich eines Ethernetstandards mit 10 Gigabit pro Sekunde (Gb/s) vorgelegt. Der neueste übernommene Ethernetstandard sieht vor, serielle Daten mit 1 Gb/s zu übertragen und verwendet eine 8B/10B-Leitungscodierung, die in der Veröffentlichung „A DC-Balanced, Partitioned-Block 8b/10b Transmission Code" von A. X. Widmer und P. A. Franaszek im IBM-Journal for Research and Development im September 1983 beschrieben ist. Bei der 8b/10b-Leitungscodierung wird jedes Acht-Bit-Eingangswort durch einen Zehn-Bit-Code dargestellt, der von dem Ethernet-Medium übertragen wird. Im Gegenzug zu diesem Overhead von 25% bietet die 8b/10b-Codierung Gleichanteilsfreiheit und eine garantierte Übergangsdichte. Mit dem 10-Bit-Code kann zudem eine Auswahl an Steuerworten dargestellt werden, welche zum Signalisieren und zur Rahmenbildung verwendet werden.
  • Der große Overhead bei der 8b/10b-Codierung führt beim Betrieb zu Nachteilen, wenn diese bei 10 Gb/s-Übertragungen verwendet wird. Die Patentanmeldung US 09/522,782, auf die hier bezuggenommen ist, offenbaren die Erfinder (unter anderem Walker) ein 64b/66b-Kodierschema, das die meisten Vorteile des 8b/10b-Codierens bietet, jedoch einen wesentlich kleineren Overhead aufweist.
  • Die 1 ist ein Blockdiagramm, das ein Beispiel 10 des 10 Gb/s-Ethernet-Datenkommunikationssystems zeigt, das in der oben genannten Patentanmeldung offenbart ist. Das Datenkommunikationssystem empfängt über den XAUI-Bus 18 mit vier Bahnen einen seriellen Bitstrom, der 4 × 8b/10b codiert ist, und gibt über den XAUI-Bus 19 mit vier Bahnen einen seriellen Bitstrom aus, der 4 × 8b/10b codiert ist.
  • Das Datenkommunikationssystem 10 umfaßt den Sender (transmitter) 20 und den Empfänger (receiver) 22. Der Sender 20 setzt sich aus einer seriellen Anordnung von 4 × 10b/8b-Codierern 32, dem 64b/66b-Codierer 50, dem Scrambler 33, dem Rahmenzusammensetzer (frame assembler) 34 und dem Multiplexer 35 zusammen. Der Eingang des 4 × 10b/8b-Codierers ist mit dem XAUI-Bus 18 verbunden. Der Ausgang des 4 × 10b/8b-Codierers ist mit dem Eingang des 64b/66b-Codierers über den Pseudo-XGMII-Bus 42, der 37 Leiter aufweist, verbunden.
  • Der Nutzdatenfeld-Ausgang des 64b/66b-Codierers 50 ist über den Nutzdatenfeld-Bus 43 mit dem Eingang des Scramblers 33 verbunden. Der Haupt-Übergangsausgang (master transition output) des 64b/66b-Codierers ist über den Haupt-Übergangsbus (master transition bus) MT mit dem Haupt-Übergangseingang des Rahmenzusammensetzers 34 verbunden.
  • Der Ausgang des Scramblers 33 ist über den Bus 44 mit dem Nutzfeldeingang des Rahmenzusammensetzers 34 verbunden. Der Ausgang des Rahmenzusammensetzers ist über den Bus 45 mit dem Eingang des Multiplexers 35 verbunden. Der Multiplexer erzeugt einen seriellen Bitstrom mit 10 Gb/s, der an das Ethernetmedium 40 ausgegeben wird.
  • Der Empfänger 22 setzt sich aus einer seriellen Anordnung des Demultiplexers 36, des Rahmenzerlegers (frame disassembler) 37, des Descramblers 38, des 66b/64b-Decodierers 52 und des 4 × 8b/10b-Codierers 39 zusammen.
  • Der Demultiplexer 36 empfängt von dem Ethernetmedium 40 einen seriellen Bitstrom mit 10 Gb/s. Der Ausgang des Demultiplexers ist über den Bus 46 mit dem Eingang des Rahmenzerlegers 37 verbunden.
  • Der Nutzfeldausgang des Rahmenzerlegers 37 ist über den Bus 47 mit dem Eingang des Descramblers 38 verbunden. Der Haupt-Übergangsausgang des Rahmenzerlegers ist über den Bus MT mit dem Haupt-Übergangseingang des 66b/64b-Codierers 52 verbunden.
  • Der Ausgang des Descramblers 38 ist über den Bus 48 mit dem Nutzfeldeingang des 66b/64b-Codierers 52 verbunden.
  • Der Ausgang des 66b/64b-Decodierers 52 ist über den Pseudo-XGMII-Bus 49, der 37 Leiter aufweist, mit dem Eingang des 4 × 8b/10b-Codierers 39 verbunden. Der Ausgang des 4 × 8b/10b-Codierers ist mit dem XAUI-Bus 19 verbunden.
  • Die in 1 dargestellte Breite der Busse 4348 sind maximale parallele Breiten; es können Seriell/Parallel-Techniken verwendet werden, um die parallele Breite dieser Busse wesentlich zu reduzieren.
  • In dem Sender 20 des Datenkommunikationssystems 10 ist der 4 × 10b/8b-Decodierer 32 mit dem XAUI-Bus 18 verbunden, um serielle leitungskodierte 10-Bit-Worte bei einer Bitrate von 4 × 3,125 Gb/s zu empfangen. Der 4 × 10b/8b-Codierer decodiert die 8b/10b-Codierung der leitungskodierten 10-Bit-Worte, um die entsprechenden 8-Bit-Worte wiederherzustellen, und erzeugt für jedes Wort ein Steuerwort-Flag, das angibt, daß das Wort ein Steuerwort ist, wenn es gesetzt ist. Der 4 × 10b/8b-Decodierer überträgt die Vierergruppe der 8-Bit-Worte und deren entsprechenden Steuerwort-Flags über den Pseudo-XGMII-Bus 42 an den 64b/66b-Codierer 50. In dieser Beschreibung wird der Begriff „quad" verwendet, um eine Vierergruppe von 8-Bit-Worten zu bezeichnen. Der Pseudo-XGMII-Bus setzt sich aus 37 Leitern zusammen, von denen 32 den Quads zugeordnet sind, vier den Steuerwort-Flags der Quads zugeordnet sind, und ein Leiter einem Taktsignal zugeordnet ist.
  • Der 64b/66b-Codierer 50 ermittelt, ob eines der acht Steuerwort-Flags, die zu den zwei Quads gehören, gesetzt ist. Wenn kein Steuerwort-Flag gesetzt ist, sind die Quads ausschließlich aus Informationsworten zusammengesetzt, und der 64b/66b-Codierer erzeugt ein Nutzfeld, das sich aus den beiden Quads zusammensetzt. Der 64b/66b-Codierer erzeugt zudem in einem ersten Zustand einen 2-Bit-Hauptübergang mit den Bits 0 und 1. Wenn mindestens eines der Steuerwort-Flags gesetzt ist, umfassen die Quads zumindest ein Steuerwort und der 64b/66b-Codierer erzeugt ein Nutzfeld, das sich aus einem TYPE-Wort und sieben weiteren Worten zusammensetzt. Die sieben weiteren Worte können Informationsworte, komprimierte Steuerworte oder sowohl Informationsworte als auch komprimierte Steuerworte sein. Der 64b/66b-Codierer erzeugt in einen zweiten Zustand, der dem ersten Zustand entgegengesetzt ist, zudem den 2-Bit-Hauptübergang mit den Bits 0 und 1. Die Nutzfelderstrukturen sind im weiteren mit bezug auf die 2A2C beschrieben.
  • Unabhängig von den Inhalten der Nutzfelder und der Richtung des Hauptübergangs führt der 64b/66b-Codierer 50 das Nutzfeld über seinen Nutzfeldausgang und den Bus 43 an den Scrambler 33, und führt den Hauptübergang geeignet in einer Pipeline angeordnet an den Haupt-Übergangseingang des Rahmenzusammenstellers 34.
  • Der Scrambler 33 verscrambelt die Nutzfelder der Rahmen, so daß der sich ergebende Bitstrom statistisch gleichanteilsfrei ist und zudem zufällig erscheint, wenn die Rahmen übertragen werden. Das Scrambeln der Nutzfelder ermöglicht es dem Empfänger, leicht mit den Hauptübergängen zu synchronisieren, die nicht verscrambelt sind. In einer weiteren Ausführung des Datenkommunikationssystems 10 verscrambelt der Scrambler die Nutzfelder mit dem Polynom x58 + x39 + x0. Es können alternative Polynome verwendet werden und umfassen x65 + x47 + x0, x58 + x19 + x0 und x65 + x 18 + x0.
  • Der Rahmenzusammensetzer 34 empfängt das verscrambelte Nutzfeld von dem Scrambler 33 sowie den Hauptübergang von dem 64b/66b-Codierer 50 und bildet aus dem verscrambelten Nutzfeld und dem Hauptübergang einen 66-Bit-Rahmen.
  • Die 2A zeigt die Grundstruktur des Rahmens 70, der aus zwei Quads erzeugt wurde. Jedes Quad setzt sich aus vier Worten mit 8 Bits zusammen. Der Rahmen setzt sich aus dem 2-Bit-Hauptübergangsfeld 71 zusammen, auf welches das 64-Bit-Nutzfeld 72 folgt. Das Hauptübergangsfeld 71 (main transition field) nimmt den 2-Bit-Hauptübergang auf. Wie oben bemerkt, wird das Nutzfeld von dem Scrambler 33 verscrambelt und der Rahmen 70 wird gebildet.
  • Es werden zwei verschiedene Rahmenarten erzeugt, welche die in 2 dargestellte Grundstruktur haben, die jedoch hinsichtlich der Struktur ihrer Nutzfelder jedoch unterschiedlich sind. Die Struktur der Nutzfelder hängt davon ab, ob zwei Quads ausschließlich aus Informationsworten zusammensetzt sind, oder nicht. Die Struktur des Nutzfeldes wird durch den Hauptübergang angeben, der in dem Hauptübergangsfeld gespeichert ist.
  • Die 2B zeigt die Struktur des Rahmens 73, der erzeugt wird, wenn sich zwei Quads ausschließlich aus Informationsworten zusammensetzen. In diesem Fall ist der Hauptübergang in dem Hauptübergangsfeld 71 01 und das Nutzfeld 72 ist aus acht Informationsworten zusammengesetzt, welche die Quads bilden, d. h. 64 Bits.
  • Die 2C zeigt die Struktur des Rahmens 76, der erzeugt wird, wenn die Quads zumindest ein Steuerwort umfassen. In diesem Fall ist der Hauptübergang in dem Haupt-Übergangsfeld 71 10 und das Nutzfeld 72 setzt sich aus dem 8-Bit-Unterfeld 77 und dem 56-Bit-Unterfeld 78 zusammen. Das 8-Bit-Unterfeld mit acht Bits ist von einem TYPE-Wort belegt und das 56-Bit-Unterfeld ist durch eine komprimierte Version der Quads belegt. Insbesondere liegen alle Informationsworte, die in den Quads vorliegen, unverändert in dem 56-Bit-Unterfeld vor. Das 56-Bit-Unterfeld kann bis zu sieben Informationsworte aufnehmen, d. h. die maximale Anzahl von Informationsworten in zwei Quads, die mindestens ein Steuerwort umfassen. Ferner werden das Paketbeginn-Steuerwort S und das Paketende-Steuerwort T verworfen, wenn diese in den Quads erscheinen, und werden nicht an das 56-Bit-Unterfeld übertragen. Statt dessen gibt der Wert des TYPE-Worts die Anwesenheit und Position des Steuerworts S oder des Steuerworts T an. Schließlich werden alle in den Quads verbleibenden Steuerworte komprimiert, indem diese neu kodiert werden, wobei weniger als acht Bits verwendet werden, und die neu kodierten Steuerworte werden in das 56-Bit-Unterfeld eingefügt. In einer Ausführung werden die verbleibenden Steuerworte durch Codes mit sieben Bit neu codiert, die so gewählt werden, daß sie eine gegenseitige Hamming-Distanz von vier Bits aufweisen.
  • Bezugnehmend auf 1 empfängt der Multiplexer 35 die 66-Bit-Rahmen von dem Rahmenzusammensteller und bringt diese zur Übertragung über das Ethernetmedium 40 bei einer Bitrate von 10 Gb/s in serielle Form.
  • In dem Empfänger 22 des Datenkommunikationssystems 10 empfängt der Demultiplexer 36 von dem Ethernetmedium 40 den seriellen Datenstrom mit einer Bitrate von 10 Gb/s. Der Demultiplexer unterteilt den Bitstrom in 66-Bit-Rahmen und führt die Rahmen dem Rahmenzerleger 37 zu.
  • Der Rahmenzerleger 37 verarbeitet jeden einzelnen Rahmen, um den Hauptübergang von dem verscrambelten Nutzfeld zu trennen, und leitet den Hauptübergang, geeignet in Pipeline-Form angeordnet, an den Hauptübergangs-Eingang des 66b/64b-Decodierers 52. Der Rahmenzerleger führt dem Descrambler 38 das verscrambelte Nutzfeld zu.
  • Der Descrambler 38 entscrambelt das verscrambelte Nutzfeld mittels selbstsynchronisierendem Entscrambeln, welches komplementär zu dem Verscrambelvorgang ist, der von dem Scrambler 33 durchgeführt wird. Der Descrambler führt das sich ergebende wiederhergestellte Nutzfeld dem Nutzfeldeingang des 66b/64b-Decodierers 52 zu.
  • Der 66b/64b-Decodierer 52 decodiert das wiederhergestellte Nutzfeld abhängig von dem entsprechenden Hauptübergang, welcher von dem Rahmenzerleger 37 empfangen wurde. Wenn sich der Hauptübergang in seinem ersten Zustand befindet, gibt der 66b/64b-Decodierer lediglich die acht Worte des Nutzfeldes als zwei aufeinanderfolgende Quads aus. Der 66b/64b-Decodierer gibt zudem ein Steuerwort-Flag für jedes Wort in den Quads aus. Wenn sich der Hauptübergang in seinem zweiten Zustand befindet, stellt der 66b/64b-Decodierer zwei Quads wieder her, aus denen der ursprüngliche Rahmen erzeugt wurde, bevor diese zusammen mit einem Steuerwort-Flag für jedes Wort innerhalb der Quads ausgegeben werden. Der 66b/64b-Decodierer stellt zwei Quads wieder her, indem das TYPE-Wort gelesen wird und indem jedes komprimierte Steuerwort in dem Feld dekomprimiert wird. Ferner fügt der 66b/64b-Decodierer zudem ein Paketstart-Steuerwort (start-of-packet control word) oder ein Paketende-Steuerwort (end-of-packet control word) an die von dem TYPE-Wort angegebene Stelle in dem Quad ein, wenn das TYPE-Wort angibt, daß von dem 64b/66b-Codierer 50 entweder ein Paketstart-Steuerwort S oder ein Paketende-Steuerwort T verworfen wurde.
  • Der 66b/64b-Decodierer 52 überträgt die Quads und deren entsprechenden Steuerworte parallel über dem Pseudo-XGMII-Bus 49 an den 4 × 8b/10b-Codierer 39.
  • Der 4 × 8b/10b-Codierer 39 wendet die 8b/10b-Codierung auf die Quads an, welche über den Pseudo-XGMII-Bus 43 empfangen wurden, wobei der Codierer abhängig von den Steuerwort-Flags für jedes Wort arbeitet, welche die Quads bilden. Der 4 × 8b/10b-Codierer gibt über den XAUI-Bus 19 die sich ergebenden 10-Bit-Leitungscodierungsworte aus.
  • Es ist üblich, Datenkommunikationssysteme mit einer Selbsttesteinrichtung auszustatten, um zu ermöglichen, daß der korrekte Betrieb des Datenkommunikationssystems bestätigt werden kann. Üblicherweise wird das Datenkommunikationssystem getestet, indem eine Testsequenz, die aus einer bekannten Sequenz von Zufallszahl-Mustern gebildet ist, über das Datenkommunikationssystem übertragen wird, und indem am Empfänger Fehler ermittelt werden. Der Empfänger kann am Sender oder entfernt angeordnet sein.
  • Die 3 ist ein Blockdiagramm, die ein Beispiel 60 eines Datenkommunikationssystems darstellt, welches eine übliche Selbsttest-Einrichtung umfaßt. Das Datenkommunikationssystem 60 basiert auf dem in 1 dargestellten Kommunikationssystem 10, wobei Elemente des Datenkommunikationssystems 60, welche Elementen des Datenkommunikationssystems 10 entsprechen, mit den gleichen Bezugszahlen gekennzeichnet sind und hier nicht weiter beschrieben werden.
  • Das Datenkommunikationssystem 60 umfaßt ferner einen Bitfehlerraten-Tester 61, sowie den Auswähler (selector) 62 und den Auswähler (selector) 63. Aus dem Stand der Technik sind Bitfehlerraten-Tester bekannt. Das dargestellte Beispiel des Bitfehlerraten-Testers 61 umfaßt den Testsequenzgenerator 64 und den Fehlerdetektor 65.
  • Der Auswähler 62 hat zwei Dateneingänge, einen Steuereingang und einen Datenausgang. Ein Dateneingang ist mit dem Ausgang des Rahmenzusammenstellers 34 verbunden. Der andere Dateneingang ist mit dem Ausgang des Testsequenzgenerators 64 verbunden. Der Steuereingang ist mit der Steuerleitung 66 verbunden. Der Datenausgang ist mit dem Eingang des Multiplexers 35 verbunden.
  • Der Auswähler 63 hat einen Dateneingang, einen Steuereingang und zwei Datenausgänge. Der Dateneingang ist mit dem Ausgang des Demultiplexers 36 verbunden. Der Steuereingang ist mit der Steuerleitung 66 verbunden. Ein Datenausgang ist mit dem Eingang des Rahmenzerlegers 37 verbunden. Der andere Datenausgang ist mit dem Eingang des Fehlerdetektors 65 verbunden.
  • Wenn das Selbsttestaktivierung-Steuersignal STE der Steuerleitung 66 nicht aktiviert (not asserted) ist, verbindet der Auswähler 62 den Ausgang des Rahmenzusammensetzers 34 mit dem Eingang des Multiplexers 35, und der Auswähler 63 verbindet den Ausgang des Multiplexers 36 mit dem Eingang des Rahmenzerlegers 37. In diesem Zustand arbeitet das Datenkommunikationssystem 60 wie oben beschrieben. Wenn das STE-Steuersignal aktiviert (asserted) ist, verbindet der Auswähler 62 den Ausgang des Testsequenzgenerators 64 mit dem Eingang des Multiplexers 35, und der Auswähler 63 verbindet den Ausgang des Demultiplexers 36 mit dem Eingang des Fehlerdetektors 65. Der Fehlerdetektor synchronisiert automatisch mit der von dem Demultiplexer empfangenen Testsequenzausgabe und erzeugt jedesmal ein Fehlersignal, wenn die empfangene Testsequenz einen Fehler beinhaltet. Der Fehlerdetektor kann die Anzahl der Fehler zählen, welche in einer vorbestimmten Zeit auftreten, oder die während des Empfangs einer vorbestimmten Anzahl an Bits auftreten, um eine Bitfehlerrate zu erzeugen.
  • Es kann ein üblicher erhältlicher Testsequenzgenerator verwendet werden, da der Testsequenzgenerator 64 eine Testsequenz erzeugt, die aus 231 – 1 Bit (ungefähr 2,14 Milliarden) zusammengesetzt ist. Mit einer Taktrate von 10 GHz hat die Testsequenz eine Zykluszeit von ungefähr 0,2 Sekunden, welches eine zweckmäßige Zykluszeit für die meisten Testarten von Datenkommunikationssystemen darstellt. Der Testsequenzgene rator gibt die Testsequenz in Rahmen von 66 Bits aus, die mit dem Eingang des Multiplexers 35 kompatibel sind.
  • Jedoch hat eine Testsequenz mit 231-Bit eine maximale Lauflänge (maximum run length) von 31 Bit. Eine Lauflänge von 31 Bit tritt bei normalen 64b/66b-kodierten Bitströmen häufiger als einmal pro 1010 Bits auf. Als Ergebnis testet eine Testsequenz mit 31 Bit den Grundfehler (error floor) nicht ausreichend. Es könnte ein Testsequenzgenerator verwendet werden, der eine längere Testsequenz erzeugt, der jedoch den Nachteil einer wesentlich längeren Zyklusdauer mit sich bringt. Die Zyklusdauer eines Tests mit 258 Bit ist ungefähr 333 Tage. Dies würde es erschweren, einen Teil der Testsequenz zu wiederholen, welcher einen Fehler im Datenkommunikationssystem hervorgerufen hat.
  • Ein weiterer Nachteil eines üblichen Testsequenzgenerators ist, daß die Testsequenz in jedem Empfänger in dem Datenkommunikationssystem, der sich nicht im Selbsttestmodus befindet, wie ein Fehler erscheint. Es ist möglich, daß einige Empfänger zur Erholung von einem solchen Fehlerzustand erheblich Zeit benötigen.
  • Ein weiterer Nachteil ist, daß die Testsequenz in dem Sender 20 nach dem Rahmenzusammensetzer 34 eingefügt ist, so daß die Testsequenz den Demultiplexers 36 nicht hinsichtlich der Fähigkeit zur Synchronisationserlangung testet.
  • Schließlich fügen der Bitfehlerratentester 61 und die Auswähler 52 und 63 dem Datenkommunikationssystem 10 einen wesentlichen Schaltungsaufwand hinzu.
  • Die Druckschrift US 6,148,194 offenbart ein Funkplanungswerkzeug (radio deployment tool, RDT), um die Grenzen einer Zelle zu ermitteln, wobei das Funkplanungswerkzeug einen digitalen Signalprozessor für adaptive Pulscodierungsmodulation umfaßt, der mit einem Scramblerschaltkreis verbunden ist. Um ein Testsignal zu erzeugen, wird die Stummtaste eines drahtlosen Handapparats gedrückt. Ein digitalisierter codierter 0-Bit-Strom wird erzeugt, der mit dem Scrambler kombiniert wird, welcher bekannte pseudozufällige Sequenzen aufweist. Der Verscrambler setzt dann die verscrambelte Kombination in das Nutzfeld eines Testpakets, welches in das Testsignal eingebracht wird. Die Verwendung der Stummtaste zum Erzeugen von Testpaketen erlaubt, daß das gesamte Nutzfeld der Testpakete mit pseudo-zufälligen Sequenzen besetzt werden kann. Das Testsignal wird über Funk auf ein RDT-Mobilteil übermittelt. Die Daten in dem Nutzfeld des empfangenen Pakets, welches in dem empfangenen Signal enthalten ist, wird entpackt und durch einen Descrambler entscrambelt, der die von dem Verscrambler verwendete Scramble-Sequenz kennt.
  • Die Druckschrift US 5,228,042 offenbart ein Verfahren und einen Schaltkreis zum Testen eines Schaltkreises mit einer Vielzahl von Übertragungspfaden einschließlich eines ersten linearen Rückkopplungs-Schieberegisters, das geeignet ist, eine periodische Sequenz von Pseudo-Zufallstestdaten auf den Übertragungspfaden zu erzeugen und ein zweites lineares Rückkopplungs-Schieberegister, das beim Einschalten des Testschaltkreises mit den übertragenen Testdaten synchronisiert. Der Steuerschaltkreis initialisiert den binären 15-Bit-Wert, welcher in dem Schieberegister gespeichert ist, mit einem Wert ungleich Null, um zu vermeiden, daß das Schieberegister Bitmuster nur mit Nullen erzeugt.
  • Es ist ein Ziel der vorliegenden Erfindung, eine Selbsttesteinrichtung vorzusehen, die eine Testsequenz verwendet, welche eine Lauflänge (run length) aufweist, die lang genug ist, um den Grundfehler (error floor) eines hochqualitativen Datenkommunikationssystems zu testen, das eine Testsequenz mit einer kurzen Periodendauer erzeugt, die an Empfängern, welche nicht in einem Selbsttestmodus sind, nicht als Fehler erscheint, und die Fähigkeit des Demultiplexers zur Neusynchronisierung testet.
  • Dieses Ziel wird jeweils durch ein Verfahren zum Erzeugen einer Testsequenz in einem Datensender nach Anspruch 1, durch ein Verfahren zum Durchführen eines Selbsttests eines Datenempfängers nach Anspruch 8 sowie durch ein Datenübertragungssystem nach Anspruch 12 und durch ein Datenempfangssystem nach Anspruch 8 erreicht.
  • Vorteilhafte Ausführungen der Erfindung sind in den abhängigen Ansprüchen definiert.
  • Gemäß einem Aspekt umfaßt das Verfahren zum Selbsttesten eines Datenkommunikationssystems einen voreinstellbaren Scrambler und einen komplementären voreinstellbaren Descrambler. In dem Verfahren wird der voreinstellbare Scrambler auf einen Voreinstellungs-Zustand voreingestellt. Ein Initialwert-Nutzfeld (seed payload field) wird durch den voreinstellbaren Scrambler verscrambelt, um Felder einer Testsequenz zu erzeugen. Die Felder der Testsequenz werden übertragen und entsprechende empfangene Testsequenzfelder werden empfangen. Die empfangenen Testsequenzfelder werden mit dem voreinstellbaren Descrambler entscrambelt bzw. descrambelt, um entsprechende wiederhergestellte Testsequenzfelder zu erzeugen. Unterschiede zwischen den wiederhergestellten Testsequenzfeldern und dem Initialwert-Nutzfeld werden dann als Fehler detektiert.
  • Die Kombination das voreingestellten Zustands und des Initial-Nutzfeldes veranlaßt den voreinstellbaren Scrambler, die Testsequenz inklusive einer gewünschten Bitsequenz zu erzeugen. Das Initialwert-Nutzfeld kann eines von einer Sequenz verschiedener Initialwert-Nutzfelder sein, die, wenn sie verscrambelt werden, die Testsequenz so erzeugen, daß diese entsprechende verschiedene gewünschte Bitmuster umfaßt.
  • Der voreinstellbare Scrambler kann auf den Voreinstellungszustand voreingestellt werden, indem in der Testsequenz eine Endbit-Sequenz detektiert wird und der voreinstellbare Scrambler auf den Voreinstellungs-Zustand voreingestellt wird, wenn die Endbit-Sequenz detektiert wird.
  • Das Verfahren kann ferner das Detektieren der Endbit-Sequenz in den wiederhergestellten Testsequenzfeldern und das Voreinstellen des einstellbaren Descramblers auf den Voreinstellungszustand umfassen, wenn die Endbit-Sequenz detektiert ist.
  • Ferner umfaßt das Verfahren ein Verfahren zum Erzeugen einer Testsequenz in einem Datensender, der einen Scrambler umfaßt, wobei in einem normalen Betriebsmodus Nutzfelder durch einen Scrambler verscrambelt werden, um entsprechende verscrambelte Nutzfelder zu erzeugen, und die verscrambelten Nutzfelder werden gesendet. Dann wird in einem Selbsttest-Betriebsmodus durch den Scrambler ein Initialwert-Nutzfeld verscrambelt, um Felder der Testsequenz zu erzeugen, und die Felder der Testsequenz werden gesendet.
  • Der Scrambler kann ein voreinstellbarer Scrambler sein. In diesem Fall wird der voreinstellbare Scrambler auf einen Voreinstellungszustand voreingestellt und die Kombination des Voreinstellungs-Zustands und das Initialwert-Nutzfeld veranlaßt den voreinstell baren Scrambler, eine Testsequenz zu erzeugen, welche ein gewünschtes Bitmuster umfaßt.
  • Gemäß einem weiteren Aspekt wird ein Verfahren zum Selbsttesten eines Datenempfängers vorgesehen, das einen Descrambler umfaßt. In dem Verfahren werden in einem normalen Betriebsmodus verscrambelte Nutzfelder als empfangene Nutzfelder empfangen und die empfangenen Nutzfelder werden mit dem Descrambler entscrambelt bzw. descrambelt. Dann werden in einem Selbsttest-Betriebsmodus empfangene Testsequenzfelder empfangen, die durch Verscramblen eines Initialwert-Nutzfelds erzeugt wurden, die empfangenen Testsequenzfelder werden mit dem Descrambler entscrambelt, um entsprechende wiederhergestellte Testsequenzfelder zu erzeugen, und Unterschiede zwischen den wiederhergestellten Testsequenzfeldern und dem Initialwert-Nutzfeld werden als Fehler detektiert.
  • Gemäß einem weiteren Aspekt wird ein Datenkommunikationssystem vorgesehen, das eine eingebaute Selbsttesteinrichtung aufweist. Das Datenkommunikationssystem umfaßt eine Initialwert-Nutzfeld-Quelle, einen voreinstellbaren Scrambler, einen voreinstellbaren Descrambler und einen Fehlerdetektor. Der voreinstellbare Scrambler umfaßt einen Eingang, der mit der Initialwert-Nutzfeld-Quelle verbunden ist, und einen Ausgang, der mit einem Datenübertragungsmedium gekoppelt ist. Der voreinstellbare Scrambler wird auf einen Voreinstellungszustand voreingestellt. Der voreinstellbare Descrambler umfaßt einen Eingang, der mit dem Übertragungsmedium gekoppelt ist, sowie einen Ausgang. Der Fehlerdetektor umfaßt einen Eingang, der mit dem Ausgang des voreinstellbaren Descramblers verbunden ist, und wird betrieben, um eine Fehlerangabe zu erzeugen, wenn sich eine von dem voreinstellbaren Descrambler wiederhergestellte Testsequenzfeld-Ausgabe von dem Initialwert-Nutzfeld unterscheidet.
  • Das Datenkommunikationssystem kann ferner einen Detektor und eine Steuerung umfassen. Der Detektor ermittelt eine Endbit-Sequenz, die von dem voreinstellbaren Scrambler erzeugt wurde. Die Steuerung arbeitet abhängig von dem Detektor, um den voreinstellbaren Scrambler auf den Voreinstellungs-Zustand voreinzustellen. Das Datenkommunikationssystem kann ferner einen zusätzlichen Detektor und eine zusätzliche Steuerung umfassen. Der zusätzliche Detektor detektiert die Endbit-Sequenz an dem Eingang des voreinstellbaren Descramblers. Die zusätzliche Steuerung arbeitet abhän gig von dem Detektor, um den voreinstellbaren Descrambler auf den Voreinstellungszustand voreinzustellen.
  • Die Erfindung umfaßt ferner einen Datensender mit einer Selbsttesteinrichtung. Der Datensender umfaßt eine Nutzfeldquelle, eine Initialwert-Nutzfeldquelle und einen Scrambler. Der Scrambler arbeitet in einem normalen Betriebsmodus, um von der Nutzfeldquelle Nutzfelder zu empfangen, und um die Nutzfelder zu verscrambeln, um entsprechende verscrambelte Nutzfelder zu erzeugen, und arbeitet alternativ in einem Selbsttestmodus, um ein Initialwert-Nutzfeld von der Initialwert-Nutzfeldquelle zu empfangen, und um das Initialwert-Nutzfeld zu verscrambeln, um Felder einer Testsequenz zu erzeugen, die zum Senden vorgesehen sind.
  • Der Scrambler kann ein voreinstellbarer Scrambler sein, der auf einen Voreinstellungszustand voreingestellt werden kann, wobei in diesem Fall eine Kombination des Voreinstellungszustands und des Initialwert-Nutzfelds den voreinstellbaren Scrambler dazu veranlaßt, die Testsequenz zu erzeugen, welche ein gewünschtes Bitmusters umfaßt.
  • Schließlich ist ein Datenempfänger mit einer Selbsttesteinrichtung vorgesehen. Der Datenempfänger umfaßt einen Descrambler und einen Fehlerdetektor. Der Descrambler umfaßt einen Ausgang und wird in einem normalen Betriebsmodus betrieben, um empfangene Nutzfelder zu descrambeln, um entsprechende wiederhergestellte Nutzfelder zu erzeugen, und wird alternativ in einem Selbsttest-Betriebsmodus betrieben, um empfangene Testsequenzfelder zu entscrambeln, die durch Verscrambeln eines Initialwert-Nutzfeldes erzeugt wurden, um entsprechende wiederhergestellte Testsequenzfelder zu erzeugen. Der Fehlerdetektor umfaßt einen Eingang, der mit dem Ausgang des Descramblers verbunden ist. Der Fehlerdetektor wird betrieben, um Fehlerangaben zu erzeugen, wenn sich die wiederhergestellten Testsequenzfelder von dem Initialwert-Nutzfeld unterscheiden.
  • Der Descrambler kann ein voreinstellbarer Descrambler sein, wobei in diesem Fall der Datenempfänger ferner eine Steuerung umfaßt, die bei Bedarf betrieben wird, um den voreinstellbaren Descrambler auf den Voreinstellungszustand voreinzustellen.
  • Kurzbeschreibung der Zeichnungen
  • Die 1 ist eine Blockdiagramm, die ein Beispiel eines 10 Gb/s-Ethernet-Datenkommunikationssystems darstellt, das in der oben genannten Patentanmeldung offenbart ist.
  • Die 2A zeigt die Grundstruktur des Rahmens, der von dem in 1 dargestellten Datenkommunikationssystem aus zwei Quads erzeugt wird.
  • Die 2B zeigt die Struktur des Rahmens, die erzeugt wird, wenn zwei Quads ausschließlich aus zwei Informationsworten bestehen.
  • Die 2C zeigt die Struktur des Rahmens, die erzeugt wird, wenn die Quads zumindest ein Steuerwort umfassen.
  • Die 3 ist ein Blockdiagramm, die ein Beispiel eines in der 1 dargestellten Datenkommunikationssystems darstellt, das eine übliche Selbsttesteinrichtung enthält.
  • Die 4 ist ein Blockdiagramm das ein Beispiel eines erfindungsgemäßen 10 Gb/s-Ethernet-Datenkommunikationssystems zeigt. Das Datenkommunikationssystem umfaßt eine Selbsttesteinrichtung.
  • Die 5A ist ein Blockdiagramm, das ein Beispiel einer seriellen Version eines voreinstellbaren Scramblers des in 4 dargestellten Kommunikationssystems zeigt.
  • Die 5B ist ein Blockdiagramm, das ein Beispiel einer seriellen Version eines voreinstellbaren Descramblers des in 4 dargestellten Datenkommunikationssystems zeigt.
  • Die 6 ist ein Blockdiagramm, das ein Beispiel von drei aufeinanderfolgenden Stufen des Schieberegisters darstellt, welches einen Teil des voreinstellbaren Scramblers und des voreinstellbaren Descramblers bildet, die in den jeweiligen 5A und 5B dargestellt sind.
  • Die 7 ist ein Blockdiagramm eines Beispiels einer parallelen Version des voreinstellbaren Scramblers des in 4 dargestellten Datenkommunikationssystems.
  • Detaillierte Beschreibung der Erfindung
  • Die Erfindung basiert auf der Betrachtung, daß der Testsequenzgenerator 64 des in 3 dargestellten üblichen Bitfehlerratentesters 61 wesentliche Gemeinsamkeiten hinsichtlich des Schaltkreises mit dem Scrambler 33 aufweist, welcher verwendet wird, um die Nutzfelder in dem Datenkommunikationssystem 60 zu verscrambeln. Die Erfindung basiert auf der Erkenntnis, daß eine Selbsttesteinrichtung einfacher und kostengünstiger vorgesehen werden könnte, als es der in 3 dargestellte übliche Ansatz vorsieht, wenn der bestehende Scrambler dazu verwendet werden könnte, eine Testsequenz zu erzeugen.
  • In einem ersten Aspekt der Erfindung wird in dem Selbsttest-Betriebsmodus des Datenkommunikationssystems dem bestehenden Scrambler, beispielsweise der in 1 dargestellte Scrambler 33, ein Initialwert-Nutzfeld (seed payload field) oder ein entsprechendes Voreinstellungs-Nutzfeld (preset payload field) zugeführt. Der bestehende Scrambler wird im normalen Betriebsmodus zum Verscrambeln der Nutzfelder verwendet. Der Scrambler 33 verscrambelt das Initialwert-Nutzfeld, um die Felder einer Testsequenz zu erzeugen. Jedes Feld wird mit pseudo-zufälligen Bits gefüllt. Jedem Feld der Testsequenz wird ein Hauptübergang hinzugefügt und die sich ergebenden 66-Bit-Rahmen werden gesendet.
  • In dem Empfänger werden die Testsequenzfelder von den empfangenen Rahmen als empfangene Testsequenzfelder getrennt und die empfangenen Testsequenzfelder werden mit dem bereits bestehenden Descrambler, beispielsweise der in 1 dargestellte Descrambler 38, entscrambelt bzw. descrambelt. Der bestehende Scrambler wird im normalen Betriebsmodus verwendet, um die verscrambelten Nutzfelder zu entscrambeln. Das Entscrambeln der empfangenen Testsequenzfelder führt zu wiederhergestellten Testsequenzfelder, die mit den Initialwert-Nutzfeldern identisch sind, wenn keine Übertragungsfehler vorliegen. Die Unterschiede zwischen den wiederhergestellten Testsequenzfeldern und dem Initialwert-Nutzfeld werden als Übertragungsfehler detektiert.
  • Daher bietet die Erfindung eine Selbsttesteinrichtung, ohne einen separaten Testsequenzgenerator vorsehen zu müssen.
  • In einer Ausführung wird als Scrambler 33 ein 58-Bit-Scrambler verwendet, um Störungen durch Fremdeinwirkung (malicious jamming) zu verhindern. Wie oben bemerkt, hat die von einem 58-Bit-Scrambler erzeugte Testsequenz eine zu lange Periodendauer, um für das Testen der meisten Datenkommunikationssysteme zweckmäßig zu sein. Ein zweiter Aspekt der Erfindung überwindet diesen Nachteil, indem zum Erzeugen der Testsequenz ein voreinstellbarer 58-Bit-Scrambler statt des üblichen 58-Bit-Scramblers 33 verwendet wird. Der voreinstellbare Scrambler wird zu Beginn des Erzeugens der Testsequenz auf einen Voreinstellungszustand voreingestellt und wird wieder auf den Voreinstellungszustand voreingestellt, nachdem dieser eine Testsequenz mit einer vorbestimmten Anzahl an Bits erzeugt hat. Beispielsweise kann ein voreinstellbarer Scrambler auf seinen Voreinstellungszustand voreingestellt werden, nachdem eine Testsequenz von 231-Bits erzeugt wurde. Eine solche Testsequenz hat eine Periodendauer von ungefähr 0,21 Sekunden, welches eine akzeptable Periodendauer für das Testen der meisten Datenkommunikationssysteme darstellt.
  • Der voreinstellbare Scrambler kann konfiguriert werden, zu detektieren, wenn dieser die letzten Bits erzeugt, welche das Ende einer Testsequenz bilden, die aus einer vorbestimmten Anzahl an Bits zusammengesetzt ist. Diese Bits werden Endbit-Sequenz der Testsequenz genannt. Der voreinstellbare Scrambler kann zudem konfiguriert werden, um sich selbst voreinzustellen, wenn dieser die Endbit-Sequenz detektiert.
  • Durch das Verwenden eines voreinstellbaren Scramblers als 58-Bit-Scrambler und durch wiederholtes Voreinstellen des voreinstellbaren Scramblers auf den Voreinstellungszustand gemäß der Erfindung werden die weiteren Nachteile von üblichen Testsequenzgeneratoren überwunden. Die Erfindung ermöglicht es, daß die Testsequenz mit einem gewünschten Bitmuster erzeugt werden kann, das dort an einer vorbestimmten Stelle erscheint. Das gewünschte Bitmuster kann verwendet werden, um spezielle Leistungsfähigkeitsmerkmale des Datenkommunikationssystems zu testen. Beispielsweise kann das gewünschte Bitmuster eines sein, welches das Grundrauschen (noise floor) eines hochqualitativen Datenkommunikationssystems genau testet. Ein solches ge wünschtes Bitmuster wäre eines, das eine Lauflänge (run length) von wesentlich mehr als 31 Bit aufweist.
  • Beispielsweise kann die Testsequenz so konfiguriert werden, daß sie mit einem gewünschten Bitmuster mit einer Lauflänge von 46 Nullen beginnt, indem der Inhalt des von dem voreinstellbaren 58-Bit-Scramblers empfangenen Initialwert-Nutzfeldes geeignet gewählt wird, und indem ferner der Voreinstellungszustand gewählt wird, auf den der voreinstellbare Scrambler voreingestellt wird. Ein anderer Voreinstellungszustand kann hervorrufen, daß die 46-Bit-Lauflängensequenz später in der Testsequenz erscheint. Es kann ein anderes Initialwert-Nutzfeld verwendet werden, um eine Lauflänge von Einsen oder Nullen vorzusehen, bis zu einer maximalen Lauflänge, die der Länge des Scramblers entspricht. Dem voreinstellbaren Scrambler kann während jeder Testsequenz eine Sequenz von zwei oder mehr verschiedenen Initialwert-Nutzfeldern zugeführt werden, um den voreinstellbaren Scrambler zu veranlassen, eine Testsequenz mit entsprechenden verschiedenen gewünschten Bitmustern zu erzeugen.
  • Ein weiterer Vorteil bei der Verwendung eines voreinstellbaren Scramblers als 58-Bit-Scramblers und bei der Verwendung eines voreinstellbaren Scramblers, um die Testsequenz zu erzeugen, liegt darin, daß die von dem voreinstellbaren Scrambler ausgegebenen Testsequenzfelder dem Rahmenzusammensetzer 34 zugeführt werden, der aus den Testsequenzfeldern und deren jeweiligen Hauptübergängen 66-Bit-Rahmen ausbildet. Als Ergebnis erscheint jedem Empfänger der von dem Transmitter in dessen Selbsttestmodus erzeugten Bitstrom als normaler Bitstrom, unabhängig davon, ob sich der Empfänger in seinem Selbsttestmodus befindet, oder nicht. Darüber hinaus testet die Testsequenz die Synchronisierungsfähigkeiten des Demultiplexers in dem Empfänger.
  • Als 58-Bit-Descrambler in dem Empfänger wird ein voreinstellbarer Descrambler verwendet. Der voreinstellbare Descrambler rastet (locks) mit der empfangenen Testsequenz ein, nachdem 58 Bit empfangen wurden. Sobald dieser eingerastet ist, entscrambelt bzw. descrambelt der voreinstellbare Descrambler die empfangenen Testsequenzfelder, indem ein Descrambelvorgang verwendet wird, der komplementär zu dem Verscrambeln ist, welches von dem voreinstellbaren Scrambler 133 ausgeführt wurde. Als Ergebnis ist die Ausgabe des voreinstellbaren Descramblers eine Sequenz von wiederhergestellten Testsequenzfeldern, welche identisch mit den Initialwert-Nutzfeldern sind, die dem voreinstellbaren Scrambler zugeführt wurden, wenn keine Übertragungsfehler auftreten. Ein Übertragungsfehler wird identifiziert, indem ermittelt wird, ob eines der von dem voreinstellbaren Descrambler ausgegebenen wiederhergestellten Testsequenzfelder sich von dem Initialwert-Nutzfeld unterscheidet.
  • Die 4 ist ein Blockdiagramm, das ein Beispiel 100 eines erfindungsgemäßen 10 Gb/s Ethernet-Datenkommunikationssystems darstellt. Das Datenkommunikationssystem umfaßt eine Selbsttesteinrichtung. Diejenigen Elemente des in 4 dargestellten Datenkommunikationssystems, welche dem in 1 dargestellten Datenkommunikationssystem entsprechen, werden durch die gleichen Bezugszeichen bezeichnet und nicht nochmals beschrieben.
  • Das digitale Sendesystem 100 umfaßt den erfindungsgemäßen Sender 120 und den erfindungsgemäßen Empfänger 122. Der Sender umfaßt einen voreinstellbaren Scrambler 133 und der Empfänger umfaßt einen voreinstellbaren Descrambler 138 und einen Fehlerdetektor 165.
  • Der Eingang des zurücksetzbaren Scramblers 133 ist über den Bus 43 mit dem Nutzdatenausgang des 64b/66b-Codierers 50 verbunden. Der Ausgang des zurücksetzbaren Scramblers ist über den Bus 44 mit dem Nutzfeld-Eingang des Rahmenzusammensetzers 34 verbunden. Der Eingang des voreinstellbaren Descramblers 138 ist über den Bus 47 mit dem Nutzfeld-Ausgang des Rahmenzerlegers 37 verbunden. Der Ausgang des voreinstellbaren Descramblers ist über den Bus 48 mit dem Nutzfeld-Eingang des 66b/64b-Decodierers 52 verbunden. Der Ausgang des voreinstellbaren Descramblers ist zudem mit dem Eingang des Fehlerdetektors 165 verbunden.
  • Die Steuerleitung 66 ist mit den Steuereingängen des voreinstellbaren Scramblers 133, des voreinstellbaren Descramblers 138, des 64b/66b-Codierers 50, des 66b/64b-Decodierers 52 und des Fehlerdetektors 165 verbunden.
  • Das Datenkommunikationssystem 100 hat einen normalen Betriebsmodus und einen Selbsttest-Betriebsmodus. Während des normalen Betriebsmodus ist das STE-Steuersignal der Steuerleitung 66 nicht aktiviert (not asserted) ist. Dadurch arbeitet der 64b/66b-Codierer 50 wie oben beschrieben und setzt den voreinstellbaren Scrambler 133 zudem auf seinen üblichen Betriebsmodus, indem die oben beschriebene Endbit-Sequenz den voreinstellbaren Scrambler nicht voreinstellt. Mit dem 64b/66b-Codierer und dem voreinstellbaren Scrambler, die gerade beschrieben wurden, codiert der 64b/66b-Codierer Blocks, die über den XAUI-Bus 18 empfangen werden, um Nutzfelder zu erzeugen, und der voreinstellbare Scrambler verscrambelt die Nutzfelder, um entsprechende verscrambelte Nutzfelder zu erzeugen. Die verscrambelten Nutzfelder werden in Rahmen ausgebildet, die in serielle Form gebracht werden und über das Ethernet-Medium 40 gesendet werden.
  • Ferner verursacht die Nichtaktivierung des STE-Steuersignals, daß der 66b/64b-Decodierer 52 wie oben beschrieben arbeitet und versetzt den voreinstellbaren Descrambler 168 in seinen üblichen Betriebsmodus, in der die oben beschriebene Endbit-Sequenz den voreinstellbaren Scrambler nicht voreinstellt. Mit dem 66b/64b-Decodierer und dem voreinstellbaren Descrambler, die wie beschrieben arbeiten, wird ein von dem Ethernet-Medium 40 empfangener serieller Bitstrom in Rahmen unterteilt. Aus den Rahmen werden verscrambelte Nutzfelder und Hauptübergänge extrahiert und die Nutzfelder werden mit dem voreinstellbaren Descrambler entscrambelt, um entsprechende wiederhergestellte Nutzfelder zu erzeugen. Der 66b/64b-Codierer dekodiert die wiederhergestellten Nutzfelder abhängig von den entsprechenden Hauptübergänge, um Datenblocks zu erzeugen, um diese über den XAUI-Bus 19 auszugeben. Schließlich deaktiviert das Steuersignal den Fehlerdetektor 165.
  • Im Selbsttest-Betriebsmodus ist das STE-Steuersignal der Steuerleitung 66 aktiviert (asserted). Das STE-Steuersignal veranlaßt den 64b/66b-Codierer 50, als Quelle eines Initialwert-Nutzfeldes (seed payload field) zu arbeiten, indem alle Worte auf einen vorbestimmten Wert gesetzt werden. In einer Ausführung ist das Initialwert-Nutzfeld aus den Worten 55h 00h 00h 01h 00h 00h 00h 01h gebildet, die zusammen einen lokalen Fehler (Local Fault) anzeigen. Dieses Initial-Nutzfeld wird Nutzfeld für lokale Fehler genannt. Einige Ausführungen des 64b/66b-Codierers werden konfiguriert, um abhängig von einem Steuersignal zu arbeiten, um selbständig ein Nutzfeld für lokale Fehler zu erzeugen. In diesem Fall kann das STE-Steuersignal verwendet werden, um diese Funktion zu aktivieren, oder ein Befehl kann über den XAUI-Bus gesendet werden, um den 64b/66b-Codierer zu veranlassen, das Nutzfeld für lokale Fehler zu erzeugen. Das Verwenden des Nutzfeldes für lokale Fehler als Initialwert-Nutzfeld hat den Vorteil, daß die Empfänger, welche sich nicht in ihrem Selbsttest-Betriebsmodus finden, dadurch die Testsequenz ignorieren. Eine Alternative zu dem Initialwert-Nutzfeld ist ein Leerlauf-Nutzfeld (Idle Payload field), das sich aus den Steuerworten zusammensetzt, welche einen Leerlaufzustand (Idle Condition) angeben.
  • Der 64b/66b-Codierer 50 erzeugt ferner für jedes Initialwert-Nutzfeld einen Hauptübergang und führt den Hauptübergang über den Bus MT dem Hauptübergangs-Eingang des Rahmenzusammensetzers 34 zu.
  • Während der Zeit, in der das STE-Steuersignal der Steuerleitung 66 aktiviert ist, gibt der 64b/66b-Codierer wiederholt das Initialwert-Nutzfeld sowie dessen Hauptübergang an den jeweiligen voreinstellbaren Scrambler 33 und den Rahmenzusammensetzer 34 aus. Die Rate, mit der das Initialwert-Nutzfeld und dessen Hauptübergang ausgegeben werden, ist die gleiche, mit der die Nutzfelder und deren Hauptübergänge während des normalen Betriebsmodus ausgegeben werden.
  • Das Aktivieren des STE-Steuersignals schaltet zudem den voreinstellbaren Scrambler 133 auf seinen voreingestellten Betriebsmodus. Die Zustandsänderung des STE-Steuersignals setzt den voreinstellbaren Scrambler auf seinen Voreinstellungszustand. Der voreinstellbare Scrambler überwacht in seinem voreingestellten Betriebsmodus die Testsequenz, um die Endbit-Sequenz zu detektieren, welche das Ende der Testsequenz angibt, und stellt sich selbst jedesmal, wenn es die Endbit-Sequenz detektiert, auf seinen Voreinstellungszustand.
  • In einer Ausführung wird der voreinstellbare Scrambler voreingestellt, indem die folgende 58-Bit-Zahl als Voreinstellungszustand in den Voreinstellungsscrambler 133 eingesetzt wird: 10101111 11111111 11100000 10111111 11111100 00000111 11111111 10, indem das Bit, welches sich am weitesten links befindet, das älteste Zustandsbit ist und das Bit, das sich am weitesten rechts befindet, das neueste Zustandsbit ist.
  • In dieser Ausführung verursacht die Kombination des Voreinstellungszustands und des oben beschriebenen Initialwert-Nutzfeldes, daß der voreinstellbare Scrambler 133 eine Testsequenz erzeugt, welche mit einem gewünschten Bitmuster beginnt, das aus einem Bitlauf von 46 Nullen (46-bit run length of zeros) gebildet ist. Es kann ein anderer Voreinstellungszustand verwendet werden, um den voreinstellbaren Scrambler dazu zu veranlassen, die Testsequenz mit einem anderen gewünschten Bitmuster zu erzeugen. Andere gewünschte Bitmuster können verwendet werden, um verschiedene Aspekte der Leistungsfähigkeit des Datenkommunikationssystems zu testen. Beispielsweise kann das gewünschte Bitmuster, welches sich aus einem Bitlauf von 46 Nullen zusammensetzt, später in der Testsequenz angeordnet sein. Andere Werte des Voreinstellungszustands und des Initialwert-Nutzfeldes können verwendet werden, um ein gewünschtes Bitmuster zu erzeugen, welches jede gewünschte Lauflänge von Einsen oder Nullen aufweist, bis zu der Anzahl der Stufen in dem voreinstellbaren Scrambler. Als weiteres Beispiel kann die Testsequenz so erzeugt werden, daß sie ein gewünschtes Bitmuster umfaßt, welches einen spezifischen Zustand des Grundlinien-Abgleitens (baseline wander condition) hervorruft, beispielsweise ein maximales Abgleiten von der Grundlinie oder ein minimales Abgleiten von der Grundlinie. Schließlich kann dem voreinstellbaren Scrambler während der Erzeugung der Testsequenz eine Sequenz von zwei oder mehr verschiedenen Initialwert-Nutzfeldern zugeführt werden, so daß die Testsequenz mit entsprechenden verschiedenen gewünschten Bitmustern erzeugt wird. In dieser Offenbarung soll der Begriff „ein Initialwert-Nutzfeld" so verstanden werden, daß dieser ein Initialwert-Nutzfeld umfaßt, welches ein Teil einer Sequenz von zwei oder mehr Initialwert-Nutzfeldern ist.
  • Das dem voreinstellbaren Scrambler zugeführte Initialwert-Nutzfeld kann in ein anderes Initialwert-Nutzfeld geändert werden, wenn der voreinstellbare Scrambler in Reaktion auf das Detektieren der Endbit-Sequenz zurückgesetzt wird. Das veränderte Initialwert-Nutzfeld ändert die Endbit-Sequenz, welche in der Testsequenz auftritt, nachdem die vorbestimmte Anzahl an Bits detektiert wurde.
  • Der voreinstellbare Scrambler 133 führt dem Nutzfeldeingang des Rahmenzusammensetzers 34 64-Bit-Testsequenzfelder zu. Der Rahmenzusammensetzer bildet aus den von dem voreinstellbaren Scrambler 133 empfangenen Testsequenzfeldern und deren entsprechenden, von dem 64b/66b-Codierer 50 empfangenen Hauptübergängen 66-Bit-Rahmen und führt diese 66-Bit-Rahmen dem Multiplexer 35 zu. Beispielsweise kann der Rahmenzusammensteller seinem Hauptübergang jedem Testsequenzfeld anhängen, wie es in 2A dargestellt ist.
  • Jedoch kann der Hauptübergang in einer beliebigen Weise in das Testsequenz-Feld eingebracht werden, solange diese beliebige Weise dem Empfänger bekannt ist. Ferner kann in ein Datenkommunikationssystem, das keine Hauptübergänge verwendet, ein beliebiges Synchronisierungsmuster in das Testsequenz-Feld in einer beliebigen Weise eingebracht werden oder an dieses angehängt werden, solange der Empfänger das Synchronisierungsmuster und diese beliebige Weise kennt, um Informationen bezüglich des Nutzfeldes vorzusehen. Das Synchronisierungsmuster kann jedes stabile, mittels Computer überprüfbares Muster sein. Beispielsweise kann ein Paritätsbit des Nutzfeldes als Synchronisierungsmuster verwendet werden. In diesem Fall würde der Empfänger die Phase des Demultiplexers 36 verschieben, bis ein stabiles Bit gefunden wird, welches in Übereinstimmung mit der Parität des Nutzfeldes ist.
  • Der Multiplexer 35 erzeugt aus dem 66-Bit-Rahmen einen seriellen Bitstrom und führt diesen Bitstrom dem Ethernetmedium 40 zu.
  • In dem Empfänger 122 unterteilt der Demultiplexer 36 den von dem Ethernetmedium 40 empfangenen seriellen Bitstrom in 66-Bit-Rahmen und führt diese Rahmen dem Rahmenzerleger 37 (frame disassembler) zu. Der Rahmenzerleger 37 verarbeitet jeden Rahmen, um den Hauptübergang von dem empfangenen Testsequenz-Feld zu trennen und führt den Hauptübergang dem Hauptübergangseingang des 66b/64b-Decodierers 52 zu. Der Rahmenzerleger führt ferner dem voreinstellbaren Descrambler 138 das empfangene Testsequenz-Feld zu.
  • Das STE-Steuersignal schaltet den voreinstellbaren Descrambler 138 in seinen voreingestellten Betriebsmodus. In dem voreingestellten Betriebsmodus entscrambelt der voreinstellbare Descrambler die von dem Rahmenzerleger 37 empfangenen Testsequenzfelder, um entsprechende wiederhergestellte Testsequenzfelder zu erzeugen. Zudem überwacht der voreinstellbare Descrambler jedesmal, wenn dieser die Endbit-Sequenz detektiert, die empfangenen Testsequenzfelder, um die Endbit-Sequenz zu detektieren, und nimmt an sich selbst eine Voreinstellung auf den gleichen Voreinstellungszustand wie der voreinstellbare Scrambler 133 vor. Der voreinstellbare Descrambler führt dem 66b/64b-Decodierer 52 und dem Fehlerdetektor 165 die wiederhergestellten Testsequenzfelder zu.
  • Das STE-Steuersignal setzt den 66b/64b-Decodierer, so daß dieser die wiederhergestellten Testsequenzfelder ignoriert, welche von dem voreinstellbaren Descrambler 138 ausgegeben werden. Zudem aktiviert das STE-Steuersignal den Fehlerdetektor 165. Der Fehlerdetektor untersucht die von dem voreinstellbaren Descrambler empfangenen Testsequenzfelder. Wenn das Datenkommunikationssystem fehlerfrei ist, dann ist jedes wiederhergestellte Testsequenzfeld mit dem oben beschriebenen Initialwert-Nutzfeld identisch. Der Fehlerdetektor detektiert, ob sich jedes wiederhergestellte Testsequenzfeld von dem Initialwert-Nutzfeld unterscheidet und zählt die Anzahl der Testsequenzfelder mit Fehler als fehlerhafte Testsequenzfelder, um eine Schätzung der Bitfehlerrate vorzusehen. Alternativ kann der Fehlerdetektor jeden Unterschied zwischen den wiederhergestellten Testsequenzfeldern und dem Initialwert-Nutzfeld detektieren und zählen. Wenn dies durchgeführt ist, teilt der Fehlerdetektor die Fehleranzahl durch Drei, um die Bitfehlerrate zu schätzen, da der voreinstellbare Descrambler den Effekt jedes Bitfehlers mit Drei multipliziert.
  • Die 5A ist ein Blockdiagramm, das ein Beispiel einer seriellen Version des voreinstellbaren Scramblers 133 zeigt, welcher mittels des Polynoms x58 + x39 + x0 verscrambelt. Einem Fachmann liegen Modifikationen des Beispiels nahe, um das Scrambling mit anderen Polynomen zu implementieren. Der voreinstellbare Scrambler setzt sich aus dem Schieberegister 201, den XOR-Gattern 202 und 203, dem Voreinstellungszustand-Generator 204, dem AND-Gatter mit N Eingängen 205 und der Steuerung 206 zusammen. N ist die Anzahl an Stufen in dem Schieberegister.
  • Ein Multiplexer (nicht dargestellt) bildet aus dem Initialwert-Nutzfeld, welches von dem 64b/66b-Codierer 50 (4) empfangen wurde, einen seriellen Bitstrom. Der serielle Bitstrom wird an dem Eingang 210 empfangen, der mit einem Eingang des XOR-Gatters 202 verbunden ist. Der andere Gattereingang des XOR-Gatters 202 ist mit dem Ausgang des XOR-Gatters 203 verbunden. Der Ausgang des XOR-Gatters 202 ist mit dem Ausgang 212 und ferner mit dem Dateneingang D des Schieberegisters 201 verbunden. Die verscrambelte serielle Bitstromausgabe an dem Ausgang 212 wird über einen Demultiplexer (nicht dargestellt) an den Rahmenzusammensetzer 34 (4) weitergeleitet.
  • Der Voreinstellungszustand-Generator 204 setzt sich aus 58 Zustandsgeneratoren zusammen, die jeweils gemäß der entsprechenden Stelle des 58-Bit-Voreinstellungszustands auf 0 oder 1 gesetzt sind. In dem oben betrachteten Beispiel des Voreinstellungszustands setzt der Voreinstellungszustand-Generator die Eingänge P der jeweiligen Stufen 1 bis 58 auf 01 11111111 11100000 00111111 11111101 00000111 11111111 11110101. Schaltkreisblöcke zum Erzeugen eines vorbestimmten Zustandsatzes sind im Stand der Technik bekannt und werden hier nicht weiter beschrieben.
  • Die 5A zeigt vier beispielhafte Stufen 1, 2, 39 und 58 als Beispiel des Schieberegisters 201, welches 58 Stufen aufweist. Jede Stufe ist auf den Zustand voreinstellbar, auf den ihr Voreinstellungseingang P gesetzt ist. Jede Stufe hat einen Datenausgang Q. Der Voreinstellungseingang P jeder Stufe des Schieberegisters 201 ist mit verschiedenen Eingängen des Voreinstellungszustand-Generators 204 verbunden.
  • Der Dateneingang Q jeder Stufe des Schieberegisters 201 ist mit verschiedenen Eingängen des AND-Gatters mit N-Eingängen 205 verbunden. Das AND-Gatter mit N-Eingängen ist konfiguriert, zu detektieren, wenn die Endbit-Sequenz an den Ausgängen des Schieberegisters erscheint. Jeder Eingang des AND-Gatters 205 ist invertierend oder nicht-invertierend (durch x-Symbole angegeben), abhängig von den Einsen und Nullen der Endbit-Sequenz. Wenn das Schieberegister 58 Stufen hat, ist das AND-Gatter mit N-Eingängen 205 ein Gatter mit 58 Eingängen und die Endbit-Sequenz entspricht den letzten 58 Bits der Testsequenz. Wenn die Endbit-Sequenz in den Ausgängen des Schieberegisters erscheint, ist der Eingang des Gatters, das mit einem Ausgang im Zustand 0 verbunden ist, und ein Eingang, der mit einem Ausgang im 1-Zustand verbunden ist, ist nicht-invertierend. Wenn beispielsweise die Bits 1, 2 und 58 invertierend, der Endbit-Sequenz 010 sind, dann sind die Gattereingänge 1 und 58 invertierend und der Eingang 2 ist nicht-invertierend.
  • Der Ausgang des AND-Gatters mit N-Eingängen 205 ist mit einem Eingang der Steuerung 206 verbunden. Der andere Eingang der Steuerung empfängt über die Steuerlei tung 66 ein Selbsttest-Aktivierungs-Steuersignal STE. Der Ausgang der Steuerung ist mit dem voreingestellten Eingang PS des Schieberegisters 201 verbunden.
  • Die Datenausgänge Q der Stufen 39 und 58 des Schieberegisters 201 sind zudem mit den Eingängen des XOR-Gatters 203 verbunden.
  • Im normalen Betriebsmodus des Datenkommunikationssystems 100 hält der niedrige Zustand des Steuersignals STE den Ausgang der Steuerung 205 auf niedrigem Pegel, wodurch die Voreinstellungseingänge PS des Schieberegisters 201 auf niedrigem Pegel gehalten werden. Dadurch werden jegliche Voreinstellungen der Inhalte des Schieberegisters 201 vermieden, und der voreinstellbare Scrambler 133 verscrambelt die von dem 64b/66b-Codierer 50 empfangenen Nutzfelder mit dem Polynom x58 + x39 + x0.
  • Im Selbsttest-Betriebsmodus liegt das Initialwert-Nutzfeld an dem Eingang des voreinstellbaren Scramblers 133 an. Das Steuersignal STE weist seinen hohen Pegel auf. Die Zustandsänderung des Steuersignals STE veranlaßt den Ausgang der Steuerung 206, den Zustand für einen Taktzyklus zu ändern. Durch den hohen Pegel des Voreinstellungseingangs PS des Schieberegisters 201 wird der Pegel des Voreinstellungseingang jeder Stufe in die Stufe geladen und der Pegel wird an den Datenausgang Q der Stufe übertragen. Wenn der Voreinstellungseingang auf seinen niedrigen Pegel zurückgeht, verscrambelt der voreinstellbare Scrambler das Nutzfeld für lokale Fehler, das mit dem Schieberegister 201 beginnt, welches auf den voreingestellten Zustand voreingestellt ist. In dem oben beschriebenen Beispiel sind die ersten 46 Stellen des Ausgangs alle Nullen.
  • Der voreinstellbare Scrambler 133 fährt mit dem Verscrambeln des lokalen Fehler-Nutzfeldes fort, bis die letzten 58 ausgegebenen Bits der oben beschriebenen Endbit-Sequenz entsprechen. Beispielsweise sind die letzten 64 Bits, welche von dem voreinstellbaren Scrambler am Ende der Testsequenz von 231-Bits ausgegeben werden (40 2B BA 29 1E 44 6E DD)hex.
  • Wenn die letzten von dem voreinstellbaren Scrambler 133 ausgegebenen 58 Bits die Endbit-Sequenz sind, erscheint die Endbit-Sequenz zusätzlich an den Datenausgängen Q des Schieberegisters 201. Dadurch wird der Eingang des AND-Gatters mit N-Eingängen 205, der Ausgang der Steuerung 206 und der Voreinstellungseingang PS des Schieberegisters 201 alle auf einen hohen Pegel gesetzt. Der hohe Pegel des Voreinstellungseingangs PS lädt ein weiteres Mal den Pegel des Voreinstellungseingangs P jeder Stufe in die Stufe und setzt jeden Datenausgang Q jeder Stufe auf den Pegel des Voreinstellungseingangs. Die Pegeländerungen der Datenausgänge Q des Schieberegisters verursachen, daß der Ausgang des AND-Gatters mit N-Eingängen auf einen niedrigen Pegel geht. Der niedrige Pegel des Ausgangs des AND-Gatters mit N-Eingängen kehrt zu dem Ausgang der Steuerung zurück und der Voreinstellungseingang PS des Schieberegisters geht auf seinen niedrigen Pegel zurück, und der Zyklus wiederholt sich.
  • Der Ausgang der Steuerung 206 kann verwendet werden, um das Initialwert-Nutzfeld zu verändern, das dem voreinstellbaren Scrambler 133 zugeführt wird, wenn der voreinstellbare Scrambler voreingestellt wird. Dadurch kann die Testsequenz nach der Voreinstellung so erzeugt werden, daß sie verschiedene gewünschte Bitmuster der Testsequenz umfaßt, die vor der Voreinstellung erzeugt wurde. Zwei unterschiedliche Initialwert-Nutzfelder können sich abwechseln. Alternativ kann eine Schleife verwendet werden, die aus einer Sequenz von mehr als zwei Initialwert-Nutzfeldern besteht, von denen zumindest zwei verschieden sind.
  • Wenn das Initialwert-Nutzfeld verändert wird, wird auch die Endbit-Sequenz der Testsequenz verändert. In diesem Fall kann der voreinstellbare Scrambler 133 mehr als ein Gatter mit N-Eingängen umfassen. Jedes Gatter mit N-Eingängen detektiert eine andere Endbit-Sequenz. Die Ausgänge der Gatter mit N-Eingängen werden über einen Auswähler an die Steuerung 206 geführt, wobei der Auswähler den Ausgang des Gatters mit N-Eingängen wählt, welches die Endbit-Sequenz der aktuell erzeugten Testsequenz detektiert. Der voreinstellbare Descrambler 138 kann eine entsprechende Anordnung umfassen.
  • Die 5B ist ein Blockdiagramm, das ein Beispiel einer seriellen Version eines voreinstellbaren Descramblers 138 zeigt. Die Elemente des voreinstellbaren Descramblers 138, welche Elementen des voreinstellbaren Scramblers 133 entsprechen, der in 5A gezeigt ist, werden mit den gleichen Bezugszeichen bezeichnet und werden nicht nochmals beschrieben. In dem voreinstellbaren Descrambler werden die Bits des Test sequenzfeldes, die über den Eingang 214 von dem Rahmenzerleger 37 empfangen werden, dem Eingang D des Schieberegisters 201 zugeführt. Dies entspricht dem Testsequenzfeld, das von dem in 5A dargestellten voreinstellbaren Scrambler erzeugt wurde, und dem Eingang D des Schieberegisters zugeführt wird. Der Ausgang des XOR-Gatters 202 führt das wiederhergestellte Testsequenzfeld an den Ausgang 216.
  • Der Ausgang des AND-Gatters mit N-Eingängen 205 ist mit einem Eingang des AND-Gatters mit zwei Eingängen 209 verbunden. Der andere Eingang des AND-Gatters 209 empfängt das Selbsttest-Aktivierungssteuersignal STE über die Steuerleitung 66. Der Ausgang des AND-Gatters 209 ist mit dem Voreinstellungseingang PS des Schieberegisters 201 verbunden.
  • Während des normalen Betriebsmodus hält der niedrige Pegel des Steuersignals STE den Ausgang des AND-Gatters 209 auf niedrigen Pegel, wodurch der Voreinstellungseingang PS des Schieberegisters 201 auf niedrigem Pegel gehalten wird. Dadurch wird jegliche Voreinstellung der Inhalte des Schieberegisters 201 unterbunden und der voreinstellbare Descrambler 138 entscrambelt die verscrambelten Nutzfelder mit dem Polynom x58 + x39 + x0, um entsprechende wiederhergestellte Nutzfelder zu erzeugen, welche an den 66b/64b-Decodierer 52 ausgegeben werden.
  • Während des Selbsttestmodus wechselt das Steuersignal STE auf einen hohen Pegel, wodurch der Ausgang des AND-Gatters mit N-Eingängen 209 den Voreinstellungseingang PS des Schieberegisters 201 steuern kann. Der Ausgang des AND-Gatters 209 ist anfänglich auf niedrigem Pegel, so daß der voreinstellbare Descrambler die empfangenen resultierenden Testsequenzfelder entscrambelt, bis die letzten von dem voreinstellbaren Descrambler 138 empfangenen 58 Bit die Endbit-Sequenz darstellen.
  • Wenn die letzten empfangenen 58 Bits die Endbit-Sequenz sind, erscheint die Endbit-Sequenz zudem an den Datenausgängen Q des Schieberegisters 201. Dadurch gehen der Eingang des AND-Gatters mit N-Eingängen 205, der Ausgang des AND-Gatters 209 und der Voreinstellungseingang PS des Schieberegisters 201 alle auf hohen Pegel. Durch den hohen Pegel des Voreinstellungseingangs wird der Pegel des Voreinstellungseingangs P jeder Stufe in die Stufe geladen, wodurch die Pegel der Datenausgänge Q des Schieberegisters verändert werden. Dadurch geht der Ausgang des AND-Gatters mit N-Eingängen 205 auf niedrigen Pegel. Die niedrigen Pegel der Ausgänge der AND-Gatter 205 und 209 gehen auf den Voreinstellungseingang PS des Schieberegisters und damit auf seinen niedrigen Pegel zurück. Dadurch kann der voreinstellbare Descrambler die empfangenen Testsequenzfelder entscrambeln, beginnend mit dem Schieberegister 201, das auf den Voreinstellungszustand voreingestellt wird. Diese Voreinstellungssequenz wiederholt sich jedesmal, wenn die Endbit-Sequenz empfangen wird.
  • Es sollte bemerkt werden, daß der Voreinstellungsübergang, der in dem voreinstellbaren Descrambler 138 stattfindet, wenn die Endbit-Sequenz empfangen wird, nahtlos und störungsfrei stattfindet.
  • Die 6 ist ein Blockdiagramm, das ein Beispiel von drei aufeinanderfolgenden Stufen darstellt, die einen Teil des in 5A und 5B gezeigten Schieberegisters 201 bilden. In einer Ausführung besteht das Schieberegister aus 58 gleichen Stufen. Im folgenden wird die Stufe 220 beschrieben. Die Stufe 220 setzt sich aus dem Verzögerungselement 222 und dem Auswähler mit zwei Eingängen 224 zusammen. Der Ausgang des Auswählers ist mit dem Dateneingang D des Verzögerungselements verbunden. Ein Eingang des Auswählers ist mit dem Ausgang der vorhergehenden Stufe 226 verbunden. Der andere Eingang ist mit dem Ausgang des Voreinstellungszustand-Generators 204 verbunden, der der Stufe 220 entspricht. Der Steuereingang des Auswählers ist über die Voreinstellungsleitung mit dem Voreinstellungseingang PS des Schieberegisters verbunden.
  • Der Datenausgang Q des Verzögerungselements 222 ist mit der nächsten Stufe 228 und zudem mit dem Eingang des AND-Gatters mit N-Eingängen 205 verbunden, das in den 5A und 5B dargestellt ist. Der Takteingang des Verzögerungselements ist über die Taktleitung mit dem Takteingang C des Schieberegisters 201 verbunden.
  • Wenn sich der Voreinstellungseingang PS auf niedrigem Pegel befindet, verbindet der Auswähler 224 den Ausgang Q der vorhergehenden Stufe 226 mit dem Dateneingang D des Verzögerungselements 222. Mit dem nächsten Taktzyklus wird der Pegel des Dateneingangs D mit dem Ausgang des Verzögerungselements 222 und somit mit der nächsten Stufe 228 getaktet. Wenn der Voreinstellungseingang PS auf hohem Pegel ist, verbindet der Auswähler 224 den Ausgang des Voreinstellungszustand-Generators 204, der der Stufe 220 entspricht, mit dem Dateneingang D des Verzögerungselements. Mit dem nächsten Taktzyklus wird der nächste Pegel, der der Stufe 220 entspricht, mit dem Ausgang Q des Verzögerungselements und mit dem Eingang der nächsten Stufe 228 getaktet. Somit wird der Ausgang der Stufe 220 auf den Voreinstellungszustand eingestellt.
  • Die 7 ist ein Blockdiagramm eines Beispiels einer parallelen Version des in 5A dargestellten voreinstellbaren Scramblers 133. Die Elemente des in 7 dargestellten voreinstellbaren Scramblers, welche den Elementen des in 5A dargestellten voreinstellbaren Scramblers entsprechen, werden mit den gleichen Bezugszeichen gekennzeichnet und werden hier nicht nochmals beschrieben.
  • Im weiteren wird ein Beispiel 250 eines parallelen voreinstellbaren 58-Bit-Scramblers beschrieben, der ein 64-Bit-Nutzfeld mittels des Polynoms x58 + x39 + x0 verscrambelt, um ein verscrambeltes 64-Bit-Nutzfeld zu erzeugen. Für den Fachmann sind Modifikationen des dargestellten Beispiels ersichtlich, beispielsweise die Verwendung eines anderen Polynoms und/oder das Verscrambeln von Nutzfeldern mit einer anderen Größe.
  • Der voreinstellbare Scrambler 250 setzt sich aus dem Auswähler 252, dem Scrambleregister 254 und dem XOR-Gatterfeld 256 zusammen. Der voreinstellbare Scrambler umfaßt ferner einen Voreinstellungsgenerator 204, das AND-Gatter mit N-Eingängen 205 und die oben beschriebene Steuerung 206.
  • Der Voreinstellungszustand-Generator setzt sich aus den 58 Zustandsgeneratoren zusammen, die mit 158 durchnumeriert sind. Ein beispielhafter Zustandsgenerator ist mit dem Bezugszeichen 258 dargestellt. Der Zustandsgenerator hat einen Ausgang P, der gemäß der entsprechenden Stelle des 58-Bit-Voreinstellungszustands auf 0 oder 1 gesetzt ist. Die restlichen 57 Zustandsgeneratoren haben die gleiche Struktur und Funktion.
  • Der Auswähler 252 setzt sich aus 58 Umschalter mit zwei Eingängen (two-input change-over switches) zusammen, die mit 158 durchnumeriert sind. Ein beispielhafter Schalter ist mit dem Bezugszeichen 260 dargestellt. Der Schalter 260 hat zwei Eingänge A und B, einen Ausgang M und einen Steuereingang. Der Schalter verbindet Eingang A mit dem Ausgang M, wenn die Voreinstellungsleitung PS nicht aktiviert ist, und verbindet den Eingang B mit dem Ausgang M, wenn die Voreinstellungsleitung PS aktiviert ist. Die verbleibenden 57 Schalter haben die gleiche Struktur und Funktion.
  • Das Scrambleregister 254 setzt sich aus 58 Latches zusammen, die mit 158 durchnumeriert sind. Ein beispielhafter Latch ist mit dem Bezugszeichen 262 dargestellt. Der Latch 262 hat einen Eingang E, einen Ausgang S und einen Steuereingang. Der Latch überträgt den Pegel an seinem Eingang E an seinen Ausgang S, wenn das Ladesignal der Ladeleitung L bei der Ankunft eines neuen Nutzfeldes am Eingang des voreinstellbaren Scramblers 250 aktiviert ist. Die verbleibenden 57 Latches haben die gleiche Struktur und Funktion.
  • Das XOR-Gatterfeld 256 setzt sich aus 64 Exklusiv-ODER(XOR)-Gatter mit drei Eingängen zusammen, die mit 164 durchnumeriert sind. Ein beispielhaftes XOR-Gatter ist mit dem Bezugszeichen 265 dargestellt. Das XOR-Gatter 265 hat einen Eingang X, einen Eingang Y, einen Eingang Z und einen Ausgang T. Die verbleibenden XOR-Gatter haben die gleiche Struktur und Funktion.
  • Die Eingänge A der Schalter 158 des Auswählers 252, die mit A(1–58) gekennzeichnet sind, sind gemäß den Ausgängen T der XOR-Gatter 158 des XOR-Gatterfeldes 256 verbunden, die mit T(1–58) gekennzeichnet sind. Die Ausgänge B der Schalter 158 des Auswählers, die mit B(1–58) gekennzeichnet sind, sind gemäß den Eingängen P der Zustandsgeneratoren 158 des Voreinstellungszustandgenerators 204 verbunden, die mit P(1–58) gekennzeichnet sind. Alle Steuereingänge der Schalter 158 des Auswählers sind mit der Voreinstellungsleitung PS verbunden. Die Voreinstellungsleitung ist mit dem Ausgang der Steuerung 206 verbunden. Die Ausgänge M der Umschalter 158 des Auswählers, die mit M(1–58) gekennzeichnet sind, sind gemäß der Eingänge E der Latches 158 des Scrambelregisters 254 verbunden, die mit E(1–58) gekennzeichnet sind.
  • Alle Steuereingänge der Latches 158 des Scrambelregisters 254 sind mit der Ladeleitung L verbunden. Die Ladeleitung wird jedesmal aktiviert, wenn der voreinstellbare Scrambler 250 ein neues Nutzfeld von dem 64b/66b-Codierer 50 empfängt.
  • Die Ausgänge S der Latches 158 des Scrambelregisters 254, die mit S(1–58) gekennzeichnet sind, sind gemäß den Eingängen X der XOR-Gatter 754 des XOR-Gatterfeldes 256 verbunden, die mit X(7–64) gekennzeichnet sind. Zudem sind die Ausgänge S der Latches 139 des Scrambleregisters, die mit S(1–39) gekennzeichnet sind, gemäß den Eingängen Y der XOR-Gatter 2664 des XOR-Gatterfeldes 256 verbunden, die mit Y(26–64) gekennzeichnet sind.
  • Der Eingang, der durch I(1–64) gekennzeichnet ist, stammt von dem Nutzfeldausgang des 64b/66b-Codierers 50 und ist mit den Eingängen Z der XOR-Gatter 164 des XOR-Gatterfelds 256 verbunden, die mit Z(1–64) gekennzeichnet sind.
  • Die Ausgänge T des XOR-Gatters 164 des XOR-Gatterfelds 256, die durch T(1–64) gekennzeichnet sind, sind mit dem Ausgang des mit O(1–64) gekennzeichneten, voreinstellbaren Scramblers 250 verbunden. Ferner sind die Ausgänge T der XOR-Gatter 4064 des XOR-Gatterfelds, welche durch T(40–64) gekennzeichnet sind, mit den Eingängen Y der XOR-Gatter 125 des XOR-Gatterfelds verbunden, die mit Y(1–25) gekennzeichnet sind. Schließlich sind die Ausgänge T der XOR-Gatter 5964 des XOR-Gatterfelds, die mit T(59–64) gekennzeichnet sind, mit den Eingängen X der XOR-Gatter 16 des XOR-Gatterfelds verbunden, die mit X(1–6) gekennzeichnet sind.
  • Während des normalen Betriebsmodus des Datenkommunikationssystems 100 hält der niedrige Pegel des Steuersignals STE den Ausgang der Steuerung 206 auf niedrigem Pegel, wodurch die Voreinstellungsleitung PS des Auswählers 252 auf niedrigem Pegel gehalten wird. Dadurch werden die Ausgänge T der XOR-Gatter 158 des Gatterfelds 256 mit den jeweiligen Ausgängen M der Schalter 158 des Auswählers verbunden, und somit mit den Eingängen E der Latches 158 des Scrambleregisters 254. Der voreinstellbare Scrambler 250 wird nicht zurückgesetzt und der voreinstellbare Scrambler verscrambelt die Nutzfelder mit dem Polynom x58 + x39 + x0.
  • Während des Selbsttest-Betriebsmodus empfängt der voreinstellbare Scrambler 250 das Initialwert-Nutzfeld an seinem Eingang I. Das Steuersignal STE befindet sich auf seinem hohen Pegel. Die Zustandsänderung des Steuersignals STE hat zur Folge, daß der Ausgang der Steuerung 206 für einen Taktzyklus auf seinen hohen Pegel ändert. Der hohe Pegel der Voreinstellungsleitung PS veranlaßt den Auswähler 252, die Ausgänge P der Elemente 158 des Voreinstellungs-Generators 252 mit den jeweiligen Ausgängen M der Schalter 158 des Auswählers zu verbinden, und somit mit den Eingängen E der Latches 158 des Scrambleregisters 254. Das Ladesignal lädt daraufhin die Ausgänge des Voreinstellzustand-Generators in die Latches 158 des Scrambleregisters. Dadurch werden die Pegel der Ausgänge T der XOR-Gatter gesetzt, welche die Ausgabe des voreinstellbaren Scramblers 250 vorsehen. In dem oben beschriebenen Beispiel werden die Ausgänge auf (00 00 00 00 00 28 FF 03)hex gesetzt.
  • Wenn die Voreinstellungsleitung PS auf ihren niedrigen Pegel zurückkehrt, werden die Ausgänge der XOR-Gatter 158 des XOR-Gatterfelds 256 ein weiteres Mal den jeweiligen Ausgängen M der Schalter 158 des Auswählers 252 zugeführt, und somit den Eingängen E der Latches 158 des Scrambleregisters 254. Jedoch unterscheiden sich die Ausgaben der XOR-Gatter wegen der Voreinstellungsoperation von deren vorherigem Zustand vor dem Voreinstellen. Der voreinstellbare Scrambler 250 verscrambelt das Nutzfeld für lokale Fehler beginnend mit Scrambleregister 254, das auf den Voreinstellungszustand voreingestellt wurde.
  • Der voreinstellbare Scrambler 250 fährt damit fort, das lokale Fehler-Nutzfeld zu verscrambeln, um aufeinanderfolgende Felder der Testsequenz zu erzeugen, bis die Zustände der Ausgänge S des Scrambleregisters 254 der oben beschriebenen Endbit-Sequenz entsprechen.
  • Wenn die Zustände des Ausgangs S des Scrambelregisters 254 der Endbit-Sequenz entsprechen, ändert der Ausgang des AND-Gatters mit N-Eingängen 205 seinen Zustand. Dadurch gehen sowohl der Ausgang der Steuerung 206 als auch die Voreinstellungsleitung PS des Scrambleregisters auf einen hohen Pegel. Der hohe Pegel der Voreinstellungsleitung lädt ein weiteres Mal den Voreinstellungszustand-Ausgang des Voreinstellungszustand-Generators 204 in das Scrambleregister. Der Voreinstellungszustand ändert den Zustand der Ausgänge des Scrambelregisters, wodurch der Ausgang des AND-Gatters mit N-Eingängen auf einen niedrigen Pegel geht. Der niedrige Pegel des Ausgangs des AND-Gatters 205 bringt den Ausgang der Steuerung und den Voreinstel lungseingang PS des Scrambelregisters zurück auf ihre niedrigen Pegel, und der Zyklus wiederholt sich.
  • Dem Fachmann liegt es nahe, daß ein parallel-voreinstellbarer Descrambler vorgesehen werden kann, indem der parallele voreinstellbare Scrambler 250 in einer Weise neu angeordnet wird, die zu der Weise analog ist, in welcher der serielle voreinstellbare Scrambler von 5A neu angeordnet wird, um den seriellen voreinstellbaren Descrambler von 5B vorzusehen.
  • Die Ausführungen des Datenkommunikationssystems 100, des Senders 120 und des Empfängers 122, die in dieser Offenbarung beschrieben sind, können durch integrierte Schaltkreise mit geringem oder hohem Integrationsgrad, mit entsprechend konfigurierten ASICs, mit Gate-Arrays, oder mit anderer geeigneter Hardware ausgeführt werden.
  • Die Erfindung wurde bezüglich eines Beispiels beschrieben, in dem ein 64b/66b-Codierer 50 als Quelle des Initialwert-Nutzfeldes dient. Jedoch ist dies nicht grundlegend für die Erfindung. Der Sender 120 kann eine Quelle für Initialwert-Nutzfelder umfassen, die unabhängig von dem 64b/66b-Codierer ist. Beispielsweise kann ein Auswähler mit zwei Eingängen und 64 Kanälen (nicht dargestellt) zwischen dem Nutzfeldausgang des 64b/66b-Codierers und dem Eingang des voreinstellbaren Scramblers 133 angeordnet werden. Eine Eingangsgruppe des Auswählers ist mit dem Ausgang des 64b/66b-Codierers verbunden, wobei die andere Eingangsgruppe verbunden ist, um das Initialwert-Nutzfeld zu empfangen, beispielsweise das Nutzfeld für lokale Fehler. Beispielsweise kann ein Generator als Quelle für das Initialwert-Nutzfeld verwendet werden, der dem Voreinstellungszustand-Generator 204 von 7 gleicht. Die Ausgänge des Auswählers sind mit dem Eingang des voreinstellbaren Scramblers verbunden. Der Auswähler wird von dem Steuersignal STE gesteuert, um dem voreinstellbaren Scrambler das Initialwert-Nutzfeld zuzuführen, wenn das Steuersignal STE aktiviert ist.
  • Die Erfindung wurde mit Bezug auf Beispiele beschrieben, die bestimmte logische Zustände verwenden. Jedoch ist es dem Fachmann naheliegend, daß die in dieser Offenbarung beschriebenen Funktionen und Strukturen mit anderen logischen Zuständen ausgeführt werden können.
  • Obwohl diese Offenbarung Ausführungen der Erfindung im Detail zeigt, die der Darstellung dienen, soll die Erfindung nicht auf die beschriebenen exakten Ausführungen begrenzt sein, wobei zahlreiche Modifikationen innerhalb des Gegenstands der Erfindung ausgeführt werden können, der durch die angefügten Ansprüche definiert ist.

Claims (20)

  1. Verfahren zum Erzeugen einer Testsequenz in einem Datensender mit einem voreinstellbaren Scrambler, wobei das Verfahren umfaßt: in einem normalen Betriebsmodus: Verscrambeln von Nutzfeldern mittels des Scramblers, um entsprechende verscrambelte Nutzfelder zu erzeugen, und Übertragen der verscrambelden Nutzfelder; und in einem Selbsttest-Betriebsmodus: Voreinstellen des voreinstellbaren Scramblers auf einen Voreinstellungs-Zustand; Verscrambeln eines Voreinstellungs-Nutzfeldes mittels des Scramblers, um Testsequenzfelder zu erzeugen, wobei die Testsequenz Teil einer längeren Testsequenz ist, die eine Periodenlänge aufweist, welche wesentlich größer als eine erwünschte Periodenlänge ist, wobei die längere Testsequenz ein Ende aufweist; Übertragen der Testsequenzfelder; und Voreinstellen des voreinstellbaren Scramblers vor dem Ende der längeren Testsequenz auf den Voreinstellungs-Zustand, um die Testsequenz mit der erwünschten Periodenlänge vorzusehen.
  2. Verfahren nach Anspruch 1, wobei beim Voreinstellen des voreinstellbaren Scramblers und beim Verscrambeln des Voreinstellungs-Nutzfeldes eine Kombination des Voreinstellungs-Zustands und des Voreinstellungs-Nutzfeldes den voreinstellbaren Scrambler dazu veranlaßt, die Testsequenz zu erzeugen, welche ein gewünschtes Bitmuster umfaßt.
  3. Verfahren nach Anspruch 1 oder 2, wobei beim Verscrambeln des Voreinstellung-Nutzfeldes eine Sequenz verschiedener Voreinstellungs-Nutzfelder verscrambelt wird, um die Testsequenz zu erzeugen, welche entsprechende verschiedene gewünschte Bitmuster umfaßt.
  4. Verfahren nach einem der vorangegangenen Ansprüche, wobei: beim Verscrambeln eines Voreinstellungs-Nutzfeldes ein erstes der Voreinstellungs-Nutzfelder verscrambelt wird, um eine erste Testsequenz mit einer ersten End-Bitsequenz zu erzeugen; und das Voreinstellen des voreinstellbaren Scramblers auf einen Voreinstellungs-Zustand umfaßt: Erfassen der ersten End-Bitsequenz und, wenn die erste End-Bitsequenz erfaßt wurde: Voreinstellen des voreinstellbaren Scramblers auf den Voreinstellungs-Zustand; beim Verscrambeln des Voreinstellungs-Nutzfeldes, Verändern des einen Voreinstellungs-Nutzfeldes, welches ausgehend von dem ersten der Voreinstellungs-Nutzfelder in ein zweites der Voreinstellungs-Nutzfelder verscrambelt ist, um eine zweite Testsequenz mit einer zweiten End-Bitsequenz zu erzeugen, und Verändern der erfaßten End-Bitsequenz ausgehend von der ersten End-Bitsequenz zu der zweiten End-Bitsequenz beim Erfassen der ersten End-Bitsequenz.
  5. Verfahren nach einem der vorangegangenen Ansprüche, wobei beim Verscrambeln eines Voreinstellungs-Nutzfeldes das Voreinstellungs-Nutzfeld ein Leerlauf-Nutzfeld oder ein Nutzfeld für lokale Fehler ist.
  6. Verfahren nach einem der vorangegangenen Ansprüche, wobei das Voreinstellen des voreinstellbaren Scramblers auf einen Voreinstellungs-Zustand umfaßt: Erfassen einer End-Bitsequenz in der Testsequenz; und Voreinstellen des voreinstellbaren Scramblers auf den Voreinstellungs-Zustand, wenn die End-Bitsequenz erfaßt ist.
  7. Verfahren nach Anspruch 6, das ferner umfaßt: Erfassen der End-Bitsequenz in den wiederhergestellten Testsequenzfeldern; und Voreinstellen des voreinstellbaren Descramblers auf den Voreinstellungs-Zustand, wenn die End-Bitsequenz erfaßt ist.
  8. Verfahren zum Durchführen eines Selbsttests eines Datenempfängers mit einem voreinstellbaren Descrambler, wobei das Verfahren umfaßt: in einem Normalbetriebsmodus: Empfangen verscrambelter Nutzfelder als empfangene Nutzfelder und Descrambeln der empfangenden Nutzfelder mittels des Descramblers; und in einem Selbsttest-Betriebsmodus: Voreinstellen des voreinstellbaren Descramblers auf einen Voreinstellungs-Zustand; Empfangen von Testsequenzfeldern, die durch Verscrambeln eines Voreinstellungs-Nutzfeldes erzeugt sind, wobei die Testsequenz Teil einer längeren Testsequenz ist, die eine Periodenlänge aufweist, welche wesentlich größer als eine erwünschte Periodenlänge ist, wobei die größere Testsequenz ein Ende aufweist; Descrambeln der empfangenen Testsequenzfelder mittels des Descramblers, um entsprechende wiederhergestellte Testsequenzfelder zu erzeugen; Erfassen von Unterschieden zwischen den wiederhergestellten Testsequenzfeldern und den Voreinstellungs-Nutzfeldern als Fehler; und Voreinstellen des voreinstellbaren Descramblers vor dem Ende der längeren Testsequenz auf einen Voreinstellungs-Zustand, um die Testsequenz mit der erwünschten Periodenlänge vorzusehen.
  9. Verfahren nach Anspruch 8, wobei das Voreinstellen des voreinstellbaren Descramblers auf einen Voreinstellungs-Zustand umfaßt: Erfassen einer End-Bitsequenz in den empfangenen Testsequenzfeldern; und Voreinstellen des voreinstellbaren Descramblers auf den Voreinstellungs-Zustand, wenn die End-Bitsequenz erfaßt ist.
  10. Verfahren zum Durchführen eines Selbsttests eines Datenkommunikationssystems, welches einen voreinstellbaren Scrambler und einen komplementären voreinstellbaren Descrambler umfaßt, wobei das Verfahren das Erzeugen einer Testsequenz in einem Datensender gemäß Anspruch 1 und das Verfahren zum Durchführen eines Selbsttests eines Datenempfängers nach Anspruch 8 umfaßt.
  11. Verfahren nach Anspruch 10, wobei: das Übertragen der Testsequenz-Felder ein Ausbilden von Rahmen umfaßt, wobei jeder Rahmen Synchronisationsbits sowie eines der Testsequenzfelder umfaßt; und das Empfangen der entsprechenden empfangenen Testsequenzfelder das Synchronisieren mit den Synchronisationsbits umfaßt.
  12. Ein Datenübertragungssystem mit einer eingebauten Selbsttesteinrichtung, wobei der Datenübertrager umfaßt: eine Nutzfeldquelle (50); eine Voreinstellungs-Nutzfeldquelle (50); und einen voreinstellbaren Scrambler (133), der in einem normalen Betriebsmodus arbeitet, um Nutzfelder von der Nutzfeldquelle zu empfangen und um die Nutzfelder zum Erzeugen entsprechender verscrambelter, zur Übertragung vorgesehener Nutzfelder zu verscrambeln; und der alternativ in einem Selbsttest-Betriebsmodus arbeitet und auf einen Voreinstellungs-Zustand voreingestellt ist, um von der Voreinstellungs-Nutzfeldquelle ein Voreinstellungs-Nutzfeld zu empfangen und um das Voreinstellungs-Nutzfeld zu verscrambeln, um Testsequenzfelder zur Übertragung zu erzeugen, dadurch gekennzeichnet, daß die Testsequenz Teil einer längeren Testsequenz ist, die eine Periodenlänge aufweist, welche wesentlich größer als eine erwünschte Periodenlänge ist; die längere Testsequenz ein Ende aufweist und der voreinstellbare Scrambler vor dem Ende der längeren Testsequenz auf einen Voreinstellungs-Zustand voreinstellbar ist, um die Testsequenz mit der erwünschten Periodenlänge auszustatten.
  13. System nach Anspruch 12, wobei eine Kombination des Voreinstellungs-Nutzfeldes und des Voreinstellungs-Zustands des voreinstellbaren Scramblers gewählt ist, um den voreinstellbaren Scrambler zu veranlassen, zumindest ein gewünschtes Bitmuster auszugeben.
  14. System nach Anspruch 12 oder 13, wobei die Voreinstellungs-Nutzfeldquelle dazu vorgesehen ist, eine Sequenz unterschiedlicher Voreinstellungs-Nutzfelder zu erzeugen, um den voreinstellbaren Scrambler zu veranlassen, entsprechende unterschiedliche gewünschte Bitmuster auszugeben.
  15. System nach einem der Ansprüche 12 bis 14, wobei das Voreinstellungs-Nutzfeld ein Leerlauf-Nutzfeld oder ein Nutzfeld für lokale Fehler ist.
  16. System nach einem der Ansprüche 12 bis 15, das ferner umfaßt: einen Detektor, der eine von dem voreinstellbaren Scrambler stammende End-Bitsequenz erfaßt; und eine Steuereinheit, die abhängig von dem Detektor arbeitet, um den voreinstellbaren Scrambler auf den Voreinstellungs-Zustand voreinzustellen.
  17. System nach einem der Ansprüche 12 bis 16, wobei: der voreinstellbare Scrambler Testsequenzfelder durch Verscrambeln des Voreinstellungs-Nutzfeldes erzeugt; und das Datenkommunikationssystem ferner einen Rahmenzusammensteller (34) umfaßt, der zwischen dem Ausgang des voreinstellbaren Scramblers und dem Übertragungsmedium vorgesehen ist, wobei der Rahmenzusammensteller Rahmen bildet und jeder Rahmen Synchronisationsbits und eines der Testsequenzfelder umfaßt.
  18. Ein Datenempfangssystem mit einer eingebauten Selbsttesteinrichtung, wobei der Datenempfänger umfaßt: einen voreinstellbaren Descrambler (138) mit einem Ausgang, wobei der Descrambler in einem normalen Betriebsmodus arbeitet, um empfangene Nutzfelder zum Erzeugen entsprechender wiederhergestellter Nutzfelder zu descrambeln, und der alternativ in einem Selbsttest-Betriebsmodus arbeitet, um empfangene Testsequenzfelder zu descrambeln, welche durch Verscrambeln eines Voreinstellungs-Nutzfelderzeugers erzeugt wurden, um entsprechende wiederhergestellte Testsequenzfelder zu erzeugen; eine Steuereinheit, die in dem Selbsttest-Betriebsmodus den voreinstellbaren Descrambler auf einen Voreinstellungs-Zustand voreinstellt; und einen Fehlerdetektor (165), der einen Eingang umfaßt, welcher mit dem Ausgang des Descramblers verbunden ist, wobei der Fehlerdetektor Fehleranzeigen erzeugt, wenn sich die empfangenen Testsequenzfelder von dem Voreinstellungs-Nutzfeld unterscheiden, dadurch gekennzeichnet, daß die Testsequenz Teil einer längeren Testsequenz ist, welche eine Periodenlänge aufweist, die wesentlich größer als eine gewünschte Periodenlänge ist, wobei die längere Testsequenz ein Ende aufweist und der voreinstellbare Descrambler vor dem Ende der längeren Testsequenz auf den Voreinstellungs-Zustand voreinstellbar ist, um die Testsequenz mit der gewünschten Periodenlänge vorzusehen.
  19. System nach Anspruch 12 oder 18, das ferner umfaßt: einen Detektor, der die End-Bitsequenz am Eingang des voreinstellbaren Descramblers erfaßt; und eine Steuereinheit, die abhängig von dem Detektor arbeitet, um den voreinstellbaren Descrambler auf den Voreinstellungs-Zustand voreinzustellen.
  20. Ein Datenkommunikationssystem mit einer eingebauten Selbsttesteinrichtung, wobei das Datenkommunikationssystem ein Datenübertragungssystem nach Anspruch 12 und ein Datenempfängersystem nach Anspruch 18 umfaßt.
DE60200564T 2001-03-06 2002-03-06 Datenkommunikationssystem mit Selbsttestfähigkeit Expired - Fee Related DE60200564T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US801031 2001-03-06
US09/801,031 US6862701B2 (en) 2001-03-06 2001-03-06 Data communication system with self-test facility

Publications (2)

Publication Number Publication Date
DE60200564D1 DE60200564D1 (de) 2004-07-08
DE60200564T2 true DE60200564T2 (de) 2005-06-30

Family

ID=25180009

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60200564T Expired - Fee Related DE60200564T2 (de) 2001-03-06 2002-03-06 Datenkommunikationssystem mit Selbsttestfähigkeit

Country Status (4)

Country Link
US (1) US6862701B2 (de)
EP (1) EP1241823B1 (de)
JP (1) JP2002354069A (de)
DE (1) DE60200564T2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7034719B2 (en) * 2002-09-27 2006-04-25 Samsung Electronics Co., Ltd. Data modulating method and apparatus, data demodulating method and apparatus, and code arranging method
US20030044005A1 (en) * 2001-08-15 2003-03-06 Lee Eugene W. Data scrambler
US7010595B2 (en) * 2001-12-14 2006-03-07 D-Link Corp. Apparatus for multi-level loopback test in a community network system and method therefor
US7032139B1 (en) * 2002-03-18 2006-04-18 Finisar Corporation Bit error rate tester
US7231558B2 (en) 2002-03-18 2007-06-12 Finisar Corporation System and method for network error rate testing
US7502326B2 (en) * 2002-04-12 2009-03-10 Broadcom Corporation Methods used to simultaneously perform automated at-speed testing of multiple gigabit per second high serial pin count devices
US7174490B2 (en) * 2002-04-12 2007-02-06 Broadcom Corporation Test system rider utilized for automated at-speed testing of high serial pin count multiple gigabit per second devices
DE60306008T2 (de) * 2002-04-12 2007-01-11 Broadcom Corp., Irvine Einrichtungen und Verfahren für die Hochgeschwindigkeitsprüfung von Schaltungen mit hoher Pinzahl und mehreren Gigabit
US7363557B2 (en) * 2002-04-12 2008-04-22 Broadcom Corporation System for at-speed automated testing of high serial pin count multiple gigabit per second devices
US7278079B2 (en) * 2002-04-12 2007-10-02 Broadcom Corporation Test head utilized in a test system to perform automated at-speed testing of multiple gigabit per second high serial pin count devices
US7020729B2 (en) * 2002-05-16 2006-03-28 Intel Corporation Protocol independent data transmission interface
US7809021B2 (en) * 2002-07-10 2010-10-05 Solarflare Communications, Inc. Communication system and encoding method having low overhead
US7330320B1 (en) * 2003-06-16 2008-02-12 Marvell International Ltd. Method and apparatus to limit DC-level in coded data
US20050047433A1 (en) * 2003-06-17 2005-03-03 Dmitri Rizer Physical coding sublayer transcoding
US20050031026A1 (en) * 2003-08-07 2005-02-10 Huaiyu Zeng Hybrid computer modem
US8213611B2 (en) * 2004-11-03 2012-07-03 Broadcom Corporation Two-stage block synchronization and scrambling
US7274315B2 (en) * 2005-11-07 2007-09-25 Broadcom Corporation Scrambled block encoder
US8552891B2 (en) 2006-05-27 2013-10-08 Samsung Electronics Co., Ltd. Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
KR100782327B1 (ko) * 2006-05-27 2007-12-06 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US7477169B2 (en) * 2007-02-26 2009-01-13 Ati Technologies Ulc Robust control/delineation in serial streams
US8589770B2 (en) * 2007-02-26 2013-11-19 Ati Technologies Ulc Robust control/delineation in serial streams
JP4988544B2 (ja) * 2007-12-28 2012-08-01 ルネサスエレクトロニクス株式会社 データ処理装置およびデータ処理方法並びにプログラム
US8619762B2 (en) * 2008-06-26 2013-12-31 Qualcomm Incorporated Low power deserializer and demultiplexing method
US8270389B2 (en) 2008-08-11 2012-09-18 Marvell International Ltd. Method of synchronization for low power idle
US8461848B2 (en) * 2008-12-10 2013-06-11 Marvell International Ltd. Cable diagnostics for Base-T systems
US8374338B2 (en) * 2009-02-20 2013-02-12 General Instrument Corporation Transport packet decryption testing in a client device
JP5256076B2 (ja) * 2009-02-27 2013-08-07 アンリツ株式会社 64b/66b符号化試験装置
US20110299442A1 (en) * 2010-06-04 2011-12-08 Sairamesh Nammi Methods and apparatus for controlling location for starting decoding of sub-packets of a communication packet
US8627156B1 (en) * 2010-10-26 2014-01-07 Agilent Technologies, Inc. Method and system of testing bit error rate using signal with mixture of scrambled and unscrambled bits
TWI449347B (zh) * 2010-12-28 2014-08-11 Realtek Semiconductor Corp 支援省電模式的通訊裝置與相關的通訊方法
WO2012166100A1 (en) * 2011-05-27 2012-12-06 Halliburton Energy Services, Inc. Downhole communication applications
US9778389B2 (en) 2011-05-27 2017-10-03 Halliburton Energy Services, Inc. Communication applications
CN102291203B (zh) * 2011-09-13 2014-04-16 林子怀 去除短周期循环的分布式网络通道编码方法
US9692715B2 (en) * 2014-02-21 2017-06-27 Cavium, Inc. Multiple ethernet ports and port types using a shared data path
US11611408B2 (en) * 2021-06-01 2023-03-21 Keysight Technologies, Inc. Methods, systems and computer readable media for reconstructing uncorrectable forward error correction (FEC) data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5022051A (en) 1988-11-02 1991-06-04 Hewlett-Packard Company DC-free line code for arbitrary data transmission
US5438621A (en) 1988-11-02 1995-08-01 Hewlett-Packard Company DC-free line code and bit and frame synchronization for arbitrary data transmission
US5228042A (en) 1991-02-07 1993-07-13 Northern Telecom Limited Method and circuit for testing transmission paths
DE4121478A1 (de) 1991-06-26 1993-01-14 Siemens Ag Verfahren zum bestimmen des ursprungsortes von bitfehlern
JP2002504271A (ja) 1991-09-10 2002-02-05 ハイブリッド・ネットワークス・インコーポレイテッド Tv放送データ伝送システム用遠隔リンクアダプタ
DE4411398C2 (de) * 1993-03-31 1997-03-06 Mitsubishi Electric Corp Kommunikationssystem sowie Verfahren zum Erfassen dort auftretender Übertragungsfehler
US5530959A (en) * 1994-05-18 1996-06-25 At&T Corp. Self-synchronizing scrambler/descrambler without error multiplication
US6148194A (en) 1997-12-10 2000-11-14 Nortel Networks Corporation Method for determining cell boundary during base station deployment
US6618395B1 (en) * 1999-05-27 2003-09-09 3Com Corporation Physical coding sub-layer for transmission of data over multi-channel media
US6742182B1 (en) * 2000-01-24 2004-05-25 Webtv Networks, Inc. Descrambling a scrambled television signal using a cable box for authentication
US6662332B1 (en) * 2000-07-05 2003-12-09 3Com Corporation Interleaver for burst error correction

Also Published As

Publication number Publication date
DE60200564D1 (de) 2004-07-08
EP1241823B1 (de) 2004-06-02
JP2002354069A (ja) 2002-12-06
US6862701B2 (en) 2005-03-01
EP1241823A1 (de) 2002-09-18
US20020129307A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
DE60200564T2 (de) Datenkommunikationssystem mit Selbsttestfähigkeit
DE69922972T2 (de) System und verfahren zum senden und empfängen von datensignalen über eine taktsignalleitung
DE60215573T2 (de) Programmierbare Logikschaltung mit einer seriellen Hochgeschwindigkeitsschnittstelle
DE10301130B4 (de) Taktwiederherstellungsschaltungsanordnung
DE60124164T2 (de) Kodierung für in Paketen geordnete, serielle Daten
DE60124443T2 (de) 64b/66b-Dekodierung, für in Paketen geordnete, serielle Daten
DE102006023878A1 (de) Codieren und Decodieren von paketierten Daten
DE112011100251B4 (de) Takt- und Datenwiedergewinnung für serielle Burst-Modus-Signale
DE69733864T2 (de) Vorrichtung und verfahren zur datenübertragung von datenwortblöcken zusammen mit kontrollwörtern
DE1487785A1 (de) Selbstsynchrone Signalverzerrvorrichtung
DE69633970T2 (de) Verfahren und Vorrichtung zur Synchronisationsrückgewinnung in einem Datenübertragungssystem
DE2510278A1 (de) Pseudozufalls-wortgenerator
DE102010003172B4 (de) Drahtlose Vorrichtung
DE3215783A1 (de) Steuerung fuer leitungsschutzschaltung
DE2840552C2 (de) Digitales Übertragungssystem
DE69937201T2 (de) Kommunikationssystem und zugehörige ausrichtungsverfahren
DE69914202T2 (de) Verfahren und gerät zum senden und empfangen von hochgeschwindigkeitsdaten unter verwendung von kodeverteilvielfachzugriffskanälen
DE2437390A1 (de) Digitalkode-ueberwachungssystem
EP0101636B1 (de) Verfahren zum Synchronisieren der Verschlüsselung und Entschlüsselung beim Übertragen digitaler, verschlüsselter Daten und Vorrichtung zum Ausführen dieses Verfahrens
EP1302014B1 (de) Verfahren und einrichtung zur diversitätsübertragung codierter information
DE10033143B4 (de) Verbessertes CIMT-Codiersystem mit einer automatischen Wortausrichtung für eine Simplexoperation
DE2753999C3 (de) Digitales Zeitmultiplex-Übertragungssystem
DE3420801A1 (de) Selbstsynchronisierender verwuerfler
EP0173842A2 (de) Selbstsynchronisierender Entwürfler
DE3312400A1 (de) Verfahren zur uebertragung von binaersignalen mindestens zweier kanaele

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8339 Ceased/non-payment of the annual fee