DE68925547T2 - Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom - Google Patents

Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom

Info

Publication number
DE68925547T2
DE68925547T2 DE68925547T DE68925547T DE68925547T2 DE 68925547 T2 DE68925547 T2 DE 68925547T2 DE 68925547 T DE68925547 T DE 68925547T DE 68925547 T DE68925547 T DE 68925547T DE 68925547 T2 DE68925547 T2 DE 68925547T2
Authority
DE
Germany
Prior art keywords
character
group
bit
bits
code
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
DE68925547T
Other languages
English (en)
Other versions
DE68925547D1 (de
Inventor
Gerald Holt Miracle
Richard Andrew Neuner
Lee Hardy Wilson
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE68925547D1 publication Critical patent/DE68925547D1/de
Publication of DE68925547T2 publication Critical patent/DE68925547T2/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
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes

Landscapes

  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

  • Diese Erfindung bezieht sich auf die Zeichensynchronisation eines nach einem seriellen Code codierten Datenstroms und im einzelnen auf die Bestimmung der Zeichengrenzen in dem Datenstrom.
  • Der Hauptzweck von Übertragungscodes ist das Umformen des Frequenzspektrums eines seriellen Datenstroms, so daß die Gleichlaufsteuerung leicht wiederhergestellt werden kann und eine wechselstromkopplung möglich ist. Der Code muß außerdem spezielle Zeichen außerhalb des Datenalphabets für Funktionen wie Zeichensynchronisation, Rahmenbegrenzer und vielleicht Abbruch, Reset, Leerlauf, Diagnose etc. vorsehen. Codes werden auch, oft in Kombination mit einer Formung der Signalwellenform, zur besseren Anpassung des Signalspektrums an die spezifischen Kanalanforderungen eingesetzt. In den meisten Fällen ist eine Reduzierung der Bandbreite durch Beschränkungen sowohl der Hoch- als auch der Niederfrequenzkomponenten wünschenswert, um eine Verzerrung in dem Übertragungsmedium, insbesondere bei elektromagnetischen Kabeln, oder in dem bandbegrenzten Empfänger zu reduzieren und die Auswirkungen auf das Eigenrauschen zu mindern.
  • Für faseroptische Verbindungen und Drahtverbindungen gilt der Familie der zweistufigen Codes aus vielerlei Gründen das Hauptinteresse. Für Drahtverbindungen zieht man den Code ohne Gleichstrom und mit einem geringen Niederfrequenzgehalt vor, um die Übertragungsleitung für die Treiber- und Empfängerschaltung gegenüber Gleichstrom zu isolieren, normalerweise durch einen Transformator, und die Signalverzerrung auf der Leitung zu reduzieren. Obwohl diese Faktoren nicht für faseroptische Verbindungen gelten, sind gute Niederfrequenzeigenschaften des Codes aus mehreren Gründen hilfreich.
  • Die hochverstärkenden faseroptischen Empfänger benötigen eine Wechselstromkopplungsstufe nahe dem Eingang. Die Steuerung des Antriebspegels, der Empfängerverstärkung und des Abgleichs wird vereinfacht und die Steuerungsgenauigkeit wird verbessert, wenn sie auf der durchschnittlichen Signalleistung basieren kann, insbesondere bei sehr hohen Übertragungsgeschwindigkeiten. Gleichstromwiederherstellungs-Schaltkreise neigen dazu, mit zunehmenden Datenübertragungsraten an Präzision zu verlieren, und arbeiten unterhalb der maximalen Übertragungsgeschwindigkeiten für andere in einem Sender/Empfänger benötigte Schaltkreise nicht mehr einwandfrei. Wenn schließlich die Zeitkonstanten, die den parasitären Kapazitäten am Eingang eines Empfängers zugeordnet sind, mit einem Baud-Intervall vergleichbar oder länger als dieses sind, wird ein Signal mit einem reduzierten Niederfrequenzgehalt weniger stark verzerrt und es können dadurch viele Verbindungen ohne einen Abgleichsschaltkreis arbeiten.
  • Der Manchester-Code und damit verwandte Codes sind einfache zweistufige Codes und lösen ebenfalls die Gleichlaufsteuerungs- und Niederfrequenzprobleme. Sie übersetzen jedes Bit zur Übertragung in zwei Bits und sind eine gute Lösung, wenn durch hohe Taktraten keine Schwierigkeiten in den logischen oder analogen Schaltkreisen, den Wandlern oder auf der Übertragungsleitung entstehen. Außerdem reduzieren sie die Datenübertragungsrate um einen Faktor von zwei, da sie für jedes Datenbit 2 Bits kodieren.
  • Einfache 5-Bit/6-Bit-Codes übersetzen 5 binäre Bits in 6 binäre Bits und erhöhen die Anzahl von pro Baud-Intervall übertragenen Informationsbits auf 0,833. Leider kommt es bei der Implementierung eines 5-Bit/6-Bit-Codes in einem Byteorientierten (8 Bit) System zu Belastungen hinsichtlich der Komplexität. Aus diesem Grund ist ein partitionierter 8-Bit/10-Bit (8/10) Blockübertragungscode, wie er von Franaczek et al. erfunden und in US-A-4,486,739 beschrieben wurde, bei einem 8-Bit-Bytesystem ausgesprochen wünschenswert. In diesem Patent wird eine Codierer-Schaltung mit einem binären Gleichstromausgleichscode beschrieben, die die 8-Bit- Informationsbytes abhängig von Zeitablaufs- und Niederfrequenzbeschränkungen in 10 binäre Bits zur Übertragung über elektromagnetische oder optische Übertragungsleitungen übersetzt. Die Bedeutung dieses Codes liegt darin, daß in ihm die geringe Anzahl von zur Implementierung erforderlichen Schaltungen mit einer exzellenten Leistung nahe der Grenzwerte und gemessen im Hinblick auf die Kriterien gepaart sind. Der 8-Bit/10-Bit-Code ist in einen 5-Bit/6-Bit-Block plus einen 3-Bit/4-Bit-Blockcode unterteilt, mit denen, wenn sie zusammen eingesetzt werden, ein Datenbyte plus ein Steuerbit, genannt das "K"-Bit, in 10 Bits codiert werden können. In Anwendungen, bei denen die dabei entstehenden codierten Daten in einen seriellen Datenstrom eingegeben werden, liegt das niederwertigste Bit vorne. Der Empfänger dieser seriellen Daten muß herausfinden, wo sich jedes der 10 Bits des Codes in dem seriellen Datenstrom befindet. Es stellt sich heraus, daß es hierfür zehn mögliche Stellen gibt - die man als "Zeichengrenzen" bezeichnet -, an denen sich jedes Bit der 10-Bit-Gruppe befinden kann. Wenn diese Zeichengrenze falsch bestimmt wird, baut der Empfänger der seriellen Daten seine 10 Bits zum Decodieren aus den Bits zweier unterschiedlicher 8/10-Zeichen auf. Folglich werden falsche Daten empfangen und viele Fehler entstehen, da das falsch erfaßte 8/10-Zeichen den Regeln des 8/10-Codes nicht durchgängig folgt.
  • In Codes wie dem zweiphasigen Code, dem Manchester-Code oder den NRZI-Codes werden die Bits Bit für Bit und nicht in Gruppen codiert. Das Konzept der Zeichengrenze hat für den zweiphasigen Code, den Manchester-Code und andere bitorientierte Codes keine Bedeutung.
  • In dem 8/10-Code muß man eine Zeichengrenze einrichten, bevor man 8/10-Zeichen erfolgreich decodieren kann. Daher ist es besonders wichtig, wie die richtige Zeichengrenze zuverlässig gefunden werden kann.
  • Die in US-A-4,486,739 beschriebene Anordnung findet die 8/10-Codegrenze, indem sie fünf zusammenhängende Einsen in dem seriellen Datenstrom sucht. Es gibt zwei gültige 8/10-Zeichen, die fünf zusammenhängende Einsen aufweisen, genannt K28.5 und K28.7. Die zur Erzielung einer Zeichensynchronisation bei fünf zusammenhängen Einsen erforderliche Schaltung hat sich hinsichtlich des Zeitablaufs als schwierig erwiesen und es war eine beträchtliche Leistung und/oder ein beträchtlicher Schaltungsaufbau erforderlich, je nachdem, welche der einzelnen Implementierungen durchgeführt wurde.
  • Im IBM Technical Disclosure Bulletin, Band 27, Nr. 9, Februar 1985, wird auf den Seiten 5272 bis 5279 ein Code für eine Sequenz von Datenbits beschrieben, der zur Ermittlung von Fehlern in Worten der Sequenz eingesetzt werden kann, indem er die Parität von Bits in der Sequenz prüft.
  • Die Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines verbesserten Systems und eines Verfahrens zur Ermittlung von Zeichengrenzen in einem Datenstrom, der nach einem seriellen Code codiert wurde.
  • Die vorliegende Erfindung stellt ein System bereit zur Ermittlung einer Zeichengrenze in einem Datenstrom von sequentiellen Zeichenbits, die nach einem seriellen Code codiert wurden, umfassend ein Nutzungsmittel, mit dem Datenstrom eingespeiste Kopplungsmittel zum Koppeln einer Gruppe von sequentiellen Zeichenbits mit dem Nutzungsmittel, Ermittlungsmittel in dem Nutzungsmittel zum Ermitteln einer Zeichengrenze in der Gruppe von sequentiellen Zeichenbits, gekoppelt mit dem Nutzungsmittel, Erzeugungsmittel in dem Nutzungsmittel zum Erzeugen eines Steuersignals, wenn eine Zeichengrenze in der Gruppe von sequentiellen Datenbits, die mit dem Nutzungsmittel gekoppelt sind, nicht ermittelt werden kann, und Veränderungsmittel für die Zeichenbitgruppe in dem Nutzungsmittel, die auf das Steuersignal ansprechen, zum Verändern der Gruppe von sequentiellen Zeichenbits, bei dem
  • das Erfassungsmittel Mittel umfaßt, die mit dem Kopplungsmittel gekoppelt sind und auf die Gruppe von Zeichenbits reagieren, um festzustellen, ob eine Zeichendisparität von Null und ein Codefehler vorliegen, das Zeichenbitgruppe-Veränderungsmittel Mittel umfaßt, um das erste Zeichenbit in der Gruppe zu löschen und am Ende der Gruppe das nächste Zeichenbit in der Sequenz anzuhängen, das Erzeugungsmittel auf die Ermittlung eines Codefehlers reagiert, um das Steuersignal zu erzeugen, wenn ein Codefehler ermittelt wird, und das Erzeugungsmittel auf die Ermittlung einer Null-Disparität reagiert, um das Steuersignal zu sperren.
  • Die vorliegende Erfindung stellt außerdem ein Verfahren bereit zur Ermittlung einer Zeichengrenze in einem Datenstrom aus sequentiellen Zeichenbits, die nach einem seriellen Code codiert wurden, wobei das Verfahren folgende Schritte umfaßt: Koppeln einer Gruppe von sequentiellen Zeichenbits mit einem Nutzungsmittel, Ermitteln einer Zeichengrenze in der Gruppe der mit dem Nutzungsmittel gekoppelten sequentiellen Zeichenbits, Erzeugen eines Steuersignals, wenn in der Gruppe der mit dem Nutzungsmittel gekoppelten sequentiellen Zeichenbits eine Zeichengrenze nicht ermittelt werden kann, und, in Reaktion auf das Steuersignal, Verändern der Gruppe von sequentiellen Zeichenbits, bei dem
  • die Ermittlungsoperation beinhaltet, zu ermitteln, ob eine Zeichendisparität von Null und ein Codefehler vorliegen, wobei die Veränderungsoperation das Löschen des ersten Zeichenbits in der Gruppe und das Anhängen des nächsten Zeichenbits in der Sequenz am Ende der Gruppe umfaßt, in Reaktion auf die Ermittlung eines Codefehlers, der das Steuersignal erzeugt, wenn ein Codefehler ermittelt wird, und, in Antwort auf die Ermittlung einer Null-Disparität, das Sperren des Steuersignals.
  • Zum besseren Verständnis der Erfindung soll im folgenden ein Ausführungsbeispiel unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben werden; es zeigt:
  • Fig. 1 ein Diagramm mit den zehn möglichen Zeichengrenzen für einen nach dem 8/10-Code codierten Datenstrom,
  • Fig. 2 ein Blockdiagramm eines Zeichensynchronisationssystems,
  • Fig. 3 eine Springsteuerungsschaltung für das in Fig. 2 veranschaulichte System,
  • Fig. 4 ein logisches Blockdiagramm zur Ermittlung von 5/6 und 3/4-Bit-Blöcken, die eine Zeichendisparität von Null aufweisen,
  • Fig. 5 ein Flußdiagramm zur Beschreibung der Funktion des in Fig. 2 erläuterten Systems, und
  • die Figuren 6 und 7 ein logisches Diagramm beziehungsweise ein Flußdiagramm des Zeichensynchronisations-Entscheidungssystems der Fig. 2.
  • In einem nach dem 8/10-Code codierten seriellen Datenstrom gibt es zehn mögliche Zeichengrenzen. In Codes wie dem zweiphasigen Code, dem Manchester-Code oder dem NRZI-Code erfolgt die Bitcodierung nicht in Gruppen, sondern Bit für Bit. In einem 8/10-Code werden die Bits jeweils byteweise codiert. Ein Byte besteht in diesem Fall aus 8 Datenbits und einem Steuerbit, das im 8/10-Code als das "K"-Bit definiert ist. Beim 8/10-Code muß eine Zeichengrenze eingerichtet werden, bevor 8/10-Zeichen erfolgreich decodiert werden können. Da codierte 8/10-Zeichen zehn Bits lang sind, kann die jeweilige Zeichengrenze an jeder beliebigen der zehn Positionen in dem seriellen Datenstrom liegen.
  • Die zehn Bits eines 8/10-codierten Datenstroms werden folgendermaßen bezeichnet:
  • abcdeifghj
  • wobei a das niederwertigste Bit ist, das als erstes Bit am Entserialisierer eintrifft, und j das höchstwertigste Bit ist, das als letztes Bit am Entserialisierer ankommt. Fig. 1 zeigt die zehn möglichen Anordnungen dieser Bits in dem seriellen Datenstrom in einer beliebigen 20-Bit-Stichprobe des seriellen Datenstroms.
  • Um ein 8/10-Zeichen korrekt zu decodieren und durchgängig als gültiges Zeichen auszutesten, muß der 8/10-Decodierer die 10 Bits so empfangen, daß das "a"-Bit an der Position des niederwertigsten Bits steht und die anderen neun Bits daneben angeordnet sind und sich in bezug auf "a" in ihrer korrekten Position befinden.
  • In der beschriebenen Anordnung wird die Zeichensynchronisationsgrenze ermittelt, indem man alle zehn möglichen Zeichengrenzen jeweils nacheinander absucht, bis eine Grenze gefunden wird, an der fehlerfreie 8/10-Daten über einen längeren Zeitraum vorhanden sind. Bei der Implementierung dieser Technik wird jede neue Zeichengrenze dadurch erreicht, daß die 10 decodierten Bits in dem ankommenden Datenstrom jeweils um 1 Bit verschoben werden. Das neue Zeichen wird auf ein Zeichen mit einer Disparität von Null und auf Fehlercode-Verletzungen geprüft. Wie bereits erwähnt, werden diese 10 Bit-Zeichen in Blöcke von 6 Bits gefolgt von 4 Bits unterteilt. Die Disparität eines Zeichens wird anhand der Anzahl der logischen Einsen bestimmt, die mit der Anzahl der logischen Nullen in jedem Block verglichen wird. Ein Block mit einer gleichen Anzahl von logischen Einsen und logischen Nullen hat eine Disparität von Null, mit Ausnahme des D.7 6-Bit-Subblocks und des D/K.X.3 4-Bit-Subblocks. Ein Block mit einer größeren Anzahl von logischen Einsen als logischen Nullen hat eine positive Disparität und ein Block mit einer geringeren Anzahl von logischen Einsen als logischen Nullen hat eine negative Disparität. Die Zeichendisparität ist Null, wenn einzeln betrachtet sowohl die 6-Bit- als auch die 4-Bit-Blöcke eines Zeichens eine gleiche Anzahl von Einsen und Nullen aufweisen und der 6-Bit-Block nicht D.7 und der 4-Bit-Block nicht D/K.X.3 entspricht. Die Blockdisparität ist in der Tabelle 1 von US-A-4,486,739 durch D0 dargestellt. Die laufende Disparität ist die Disparität nach jedem Bit und kann im Bereich von -3 bis +3 schwanken, um einen Disparitätsfehler zu vermeiden. Die laufende Disparität sowohl nach dem 6-Bitals auch nach dem 4-Bit-Block muß +1 oder -1 entsprechen, um einen Disparitätsfehler zu vermeiden. Die laufende Disparität am Beginn jedes Blocks oder Zeichens ist in den Tabellen 1, 2 und 3 von US-A-4,486,739 durch D-1 dargestellt.
  • Bezugnehmend auf Fig. 2; der Entserialisierer 11 ist ein Entserialisierer mit einem Sprungfunktionseingang, der seine Zeichengrenze jeweils bitweise verändert, wenn ein Sprungimpuls, wie dargestellt, eingespeist wird. Nähere Einzelheiten eines solchen Entserialisierers sind der U.S. Patentanmeldung mit der Seriennummer 07/114,178, eingereicht am 29. Oktober '87 (Europäische Patentnummer EP-A-0313875) zu entnehmen. Der Ausgang des Entserialisierers ist mit zwei fünfstelligen Parallelregistern 13 gekoppelt, die ihrerseits mit einem Zehn-Bit-Parallelregister 15 gekoppelt sind. Der Ausgang vom Register 15 wird dann mit dem 8/10-Bit-Decodierer 17 gekoppelt, der 8-Bit- und K-Bit-Ausgänge erzeugt. Der Ausgang des Dekodierers wird zur Einheit 19 weitergegeben, die herkömmliche Bus- und Etikettensteuerbits erzeugt, die zum Beispiel mit einer Steuereinheit gekoppelt werden können.
  • In dem oben beschriebenen System können die an den Entserialisierer 11 gesendeten seriellen Signale zum Beispiel von einer seriellen Busleitung des elektromagnetischen oder optischen Typs kommen und der Eingang des Entserialsierers kann einen optischen oder elektromagnetischen Empfänger herkömmlichen Typs enthalten. Die Eingangssignale können zum Beispiel von einem Rechner gesendet werden, der selbst serielle Signale überträgt, oder sie können alternativ auf herkömmlichen parallelen Bus- und Etikettenbits übertragen werden, die von einem in der Technik bekannten Serialisierer serialisiert werden. Diese Serialisierer und Entserialisierer sind in der Technik gut bekannt. Ein Beispiel eines solchen Serialisierersystems, in dem Serialisierer und Entserialisierer eingesetzt werden, ist das Produkt 3044 Fiber-Optic Channel Extended Link, Modell C01 und D01, der IBM Corporation. Auch US-A-4,366,478 oder US-A-4,642,629 beschreiben Systeme, in denen Serialisierer und Entserialisierer eingesetzt werden. Der Ausgang des Registers 15 wird außerdem mit einem 8/10-Fehlerdetektor 21 gekoppelt. Der Ausgang des 8/10-Fehlerdetektors wird im Signalspeicher 22 vorgehalten. Der Ausgang vom Register 15 wird auch mit einer 8/10-Bit-Disparitäts-Berechnungseinheit 23 gekoppelt. Die laufende Disparität wird gekoppelt oder in einem Disparitätssignalspeicher 25 vorgehalten. Die Ausgänge von dem Fehlerdetektor und der Disparitätsberechnung werden mit dem Sprungsteuersignal- Generator 27 gekoppelt.
  • Der Ausgang vom Sprungsteuersignal-Generator wird als Sprungsteuersignal in den Sprungsteuereingang des Entseriahsierers 11 eingespeist. Die Schaltung des Sprungsteuergenerators ist in Fig. 3 dargestellt.
  • Bezugnehmend auf Fig. 3; die Schaltung des Sprungsteuergenerators, 27, umfaßt einen Zähler 30 und einen Komparator 31 zum Erzeugen eines Signals mit einem logischen 1-Pegel, wenn der Zähler 30 nach dem Reset, der auftritt, wenn ein neues Sprungsignal dem Entserialisierer zur Verfügung gestellt wird, eine vorbestimmte Anzahl von Maschinenzyklen (x Zyklen) ermittelt hat. Die Anzahl der Zyklen (x) entspricht der Anzahl von Systemtaktimpulsen, die benötigt werden, um die Bits aus der alten Zeichengrenze herauszulöschen, so daß die Schaltung stattdessen Bits aus der neuen Zeichengrenze verwendet. Dies kann zum Beispiel drei Systemtaktimpulse in Anspruch nehmen. Der logische "1"-Pegel vom Komparator 31 liefert einen Eingang für das UND-Gatter 33. Bezugnehmend auf Fig. 2 hat die Disparitätsberechnungsschaltung 23 zwei Ausgänge. Dieser erste Ausgang liefert dem Signalspeicher 25 eine laufende Disparität. Der zweite Ausgang präsentiert ein Signal (Sprung stoppen), wenn es ein Zeichen mit einer Disparität von Null gibt. Bezugnehmend auf Fig. 3, der Ausgang aus der Disparitätsberechnung wird am Inverter 32 invertiert und in das UND-Gatter 33 eingespeist, um das UND-Gatter 33 freizugeben, wenn kein Zeichen mit einer Disparität von Null vorhanden ist, mit anderen Worten, wenn die Zeichendisparität positiv oder negativ ist. Der freigegebene Ausgang vom UND- Gatter 33 setzt den Signalspeicher 35, so daß dieser ein Freigabesignal zu dem UND-Gatter 37 liefert. Bei Freigabe koppelt das UND-Gatter 37 jedes Fehlersignal vom 8/10-Fehlerdetektor, um den Sprungsignalspeicher 39 freizugeben und ein Sprungsignal an den Entserialisierer zu liefern, den Zähler 30 zurückzusetzen und über das ODER-Gatter 40 den Sprungfreigabe-Signalspeicher 35 zurückzusetzen.
  • Wie in Fig. 2 zu sehen ist, umfaßt das System eine Zeichensynchronisations-Entscheidungsschaltung 29, die, wenn von ihr entschieden wird, daß die Zeichengrenze verloren ist, an Fig. 3 ein Signal "hunt for sync" bereitstellt. Das Signal "hunt for sync" wird vom Inverter 41 invertiert, wodurch das ODER-Gatter 40 ausgeschaltet wird, welches den Signalspeicher 35 nicht mehr zurücksetzt, wodurch der Signalspeicher 35 gesetzt wird und die Sprungfunktion zuläßt. Diese Zeichensynchronisations-Schaltung 29 wird von Leon Skarshinski im IBM Technical Disclosure Bulletin, Band 28, Nr. 12, Mai 1986, unter dem Titel "Character Synchronisation Method" beschrieben. Das darin beschriebene Signal "allow character sync" ist das "hunt for sync"-Signal. Die Figuren 6 und 7 dieser Anmeldung stammen aus dem obengenannten Technical Disclosure Bulletin.
  • Ein Problem bei der Implementierung eines seriellen Protokolls mit lauflängenbegrenztem Code besteht darin, zuverlässig festzustellen, wann die Zeichensynchronisation verlorengegangen ist, und wann sie wieder erworben wurde. Der Grund hierfür ist, daß von der Hochgeschwindigkeitslogik, wenn dies zugelassen wird, der Zeichentakt jedesmal bei Antreffen eines vorbestimmten Zeichens zurückgesetzt wird, wodurch möglicherweise Zeichentakte aufgespalten und unerwartete Ergebnisse in der Niedergeschwindigkeitslogik erzeugt werden. Ein Verlust der Zeichensynchronisation stellt nur dann ein Problem dar, wenn ein Rahmen von einem Port empfangen und verarbeitet wird. Dieser Synchronisationsverlust am Beginn eines langen Rahmens wird erst bemerkt, wenn ein Rahmen-Trailer oder eine Leerlaufsequenz angetroffen wird.
  • Bei dem beschriebenen Verfahren wird eine Codeverletzungs- Statistik angewendet, die erkennt, wann der Zeichentakt mit den ankommenden Zeichen bündig ist.
  • Eine Unstimmigkeit zwischen dem Zeichentakt und den Daten führt zu Codeverletzungen mit einer Wahrscheinlichkeit p(cv). Eine Prüfung weniger Zeichen zeigt, daß diese Wahrscheinlichkeit bei einer Datenkette etwa 0,5 und bei einer Leerlaufkette etwa 1,0 beträgt. Das beschriebene Verfahren funktioniert bei einer langen Datenkette gut und daher auch bei jeder anderen Kette in einem ausgewählten Code.
  • Bei N- und M-Zählern zählt der N-Zähler bis zu N Zeichentaktzyklen, wenn er durch eine Codeverletzung gestartet wird. Wenn während dieser Zeit keine zusätzlichen Codeverletzungen ermittelt werden, würde der M-Zähler hochgezählt; wird eine Codeverletzung erkannt, wird der N-Zähler zurückgesetzt und der M-Zähler wird zurückgezählt. (Der M- Zähler kann während des Zustands nur "1" nicht hochgezählt und während des Zustands nur "0" nicht zurückgezählt werden.) Der Zustand des N-Zählers zeigt an, ob eine Zeichensynchronisation vorliegt oder nicht, und zwar wie folgt:
  • nur Nullen ---- nicht synchron / Datenfehler
  • einige Einsen ---- Synchronisation ?? / Codeverletzungsfehler / wenn geändert von nur / Einsen
  • nur Einsen ---- synchron / Daten O.K.
  • Immer wenn der M-Zähler vom Zustand nur "1" zurückzählt, wird dem Controller ein Codeverletzungsfehler signalisiert und der Zustand der Portlogik wird eingefroren, während er vom Controller ausgelesen und protokolliert wird. In diesem Zustand werden von dem Port keine zusätzlichen Anforderungen an den Matrix-Controller erzeugt. Der Port wird wieder freigegeben, wenn der M-Zähler in den Zustand nur "1" zurückkehrt und der Controller den Codeverletzungsanzeiger zurücksetzt.
  • Immer wenn der M-Zähler den Zustand nur "0" erreicht, kann der Hochgeschwindigkeits-Zeichentaktzähler bei Synchronisierzeichen zurückgesetzt werden, wodurch der Zeichentakt neu synchronisiert wird. Alternativ darf der Zeichenzähler entweder eine Zählung überspringen oder hinzufügen; dann würden die M- und N-Zähler erneut auf Zeichensynchronisation prüfen.
  • Wenn der M-Zähler den Zustand nur "1" erreicht, wird diese Genehmigung entfernt. Durch dieses Verfahren wird gewährleistet, daß der Zeichentakt nicht aufspaltet, bis eine Neusynchronisation zugelassen wird.
  • Das heißt also, daß M = 3 und N = 7 ausreichen würden, um eine zuverlässige Zeichensynchronisation zu ermöglichen. N = 15 wäre geringfügig besser bei der Ermittlung und Erfassung einer Zeichensynchronisation, jedoch auf Kosten einer längeren Erfassungszeit (45 Zeichen gegenüber 21). Die Anwendung von M = 15 erlaubt, daß p(cv) 0,26 beträgt und immer noch dieselbe Leistung erbringt, wie weiter oben für M = 7 und p(cv) = 0,5 gezeigt wurde.
  • Die zehn Bits des 8/10-codierten Datenstroms werden als a, b, c, d, e, i, f, g, h, j bezeichnet, wobei a das niederwertigste Bit ist und als erstes am Entserialisierer 11 ankommt, und j das höchstwertigste Bit ist und als letztes am Entserialisierer ankommt. Die Disparitäts-Berechnungseinheit 23 bestimmt die Disparität nach den folgenden Symbolen.
  • & = logisches UND
  • . = ODER
  • + = arithmetisches Addieren
  • : = nicht
  • Die Disparitätsberechnung kann unter Anwendung logischer Schaltungen, die diese Funktionen direkt ausführen, oder durch ein Programm in einem Mikroprozessor in Verbindung mit einem Prozessor erfolgen, der diese Berechnungen ausführt. Man beachte außerdem, daß der Ausgang von der laufenden Disparität, positiv (+) oder negativ (-), zum Eingang des 8/10-Fehlerdetektors 21 und der Disparitäts-Berechnungsschaltung 23 zurückgekoppelt wird
  • Die Schaltung oder das Programm zur Berechnung der laufenden Disparität ist mit den folgenden Definitionen aufgebaut:
  • Diese Definitionen mit logischen UND's (&), logischen ODER's (.), arithmetischen Addierungen (+) und nicht (:) könnnen in Programmform vorliegen, wobei das geschriebene Programm befolgt wird, oder sie können durch Schaltungen ausgeführt sein die so entworfen sind, daß sie diesen Definitionen und der Logik folgen. Zum Beispiel: ":a" heißt "nicht a".
  • Entsprechend ermittelt der 8/10-Fehlerdetektor Fehler auf der Basis der positiven und negativen laufenden Disparität aus der genannten laufenden Disparität und dem 8-Bit-Code entsprechend den folgenden Definitionen und der folgenden Logik: positive negative error negative positive
  • Die Ermittlung eines Zeichens mit einer Disparität von Null, welches das Signal "Sprung stoppen" erzeugt, basiert auf den folgenden Definitionen und Gleichungen. Sie können durch Programmme in einem Prozessor dargestellt werden, oder, wie in Fig. 4 gezeigt wird, durch logische, den Gleichungen folgende Schaltungen.
  • Im folgenden wird die Funktion des oben beschriebenen Systems anhand des Flußdiagramms der Fig. 5 erläutert. Wenn die Zeichensynchronisations-Entscheidungsschaltung 29 das Vorhandensein von ermittelten Fehlern aus dem Fehlerdetektor 21 erkennt, stellt sie der Sprungsteuerschaltung 27 ein Signal "hunt for sync" bereit, welches die Sprungsteuerschaltung freigibt. Wenn das Signal "hunt for sync" nicht vorhanden ist, stellt das invertierte Signal immer einen Reset für den Signalspeicher 35 bereit, welcher das Codefehlersignal am UND-Gatter 37 sperrt. Der Zähler 30 wird zurückgesetzt, um die Zählung zu starten, und der Zähler beginnt, Maschinentaktsignale zu zählen. Wenn die Anzahl der Taktimpulse nach dem Reset X entspricht oder der Zahl, die zum Herauslöschen der alten Zeichengrenze und Präsentieren der neuen Zeichengrenze benötigt wird, hält der Komparator 31 den Zähler an und gibt an das UND-Gatter 33 ein Eingangssignal. Dies wird dargestellt durch den Y-Ausgang des Entscheidungsblocks so der Fig. 5. Entsprechend der hierin beschriebenen Anordnung wird unter Einsatz einer Schaltung zur Ermittlung von Zeichen mit Null-Disparität ein Test auf Zeichen mit Null-Disparität durchgeführt. Wenn eine echte positive oder negative Disparität vorhanden ist, wird der Signalspeicher 35 gesetzt, um dem UND-Gatter 37 ein Freigabesignal zu präsentieren. In Fig. 5 ist dies durch den Entscheidungsblock 51 dargestellt. Wenn die Zeichendisparität bekannt und positiv oder negativ ist, erzeugt die 8/10-Codeverletzung, die am Entscheidungsblock 52 durch Y dargestellt ist, einen Sprungimpuls für den Entserialisierer. Wenn keine 8/10-Verletzung vorhanden ist, erfolgt kein Sprung, wie durch die Entscheidung N in Block 52 dargestellt ist.

Claims (2)

1. Ein System zur Ermittlung einer Zeichengrenze in einem Datenstrom von sequentiellen Zeichenbits, die nach einem seriellen Code codiert sind, umfassend:
ein Nutzungsmittel,
Kopplungsmittel (11), das mit dem genannten Datenstrom geliefert wird, um eine Gruppe von sequentiellen Zeichenbits mit dem genannten Nutzungsmittel zu koppeln,
Ermittlungsmittel in dem genannten Nutzungsmittel, um eine Zeichengrenze in der genannten Gruppe von sequentiellen Zeichenbits, die mit dem genannten Nutzungsmittel gekoppelt sind, zu ermitteln,
Erzeugungsmittel (27) in dem genannten Nutzungsmittel zum Erzeugen eines Steuersignals, wenn eine Zeichengrenze in der genannten Gruppe von sequentiellen Zeichenbits, die mit dem genannten Nutzungsmittel gekoppelt sind, nicht ermittelt werden kann, und
Zeichenbitgruppen-Veränderungsmittel in dem genannten Nutzungsmittel, die auf das genannte Steuersignal reagieren, zum Verändern der genannten Gruppe von sequentiellen Zeichenbits,
bei dem
das genannte Ermittlungsmittel Mittel (21, 23) umfaßt, die mit dem genannten Kopplungsmittel gekoppelt sind und auf die genannte Gruppe von Zeichenbits reagieren, um zu ermitteln, ob eine Zeichendisparität von Null und ein Codefehler vorhanden ist, wobei das genannte Zeichenbitgruppen-Veränderungsmittel Mittel umfaßt, um das erste Zeichenbit in der genannten Gruppe zu löschen, und um am Ende der genannten Gruppe das nächste Zeichenbit der Sequenz anzuhängen,
wobei das genannte Erzeugungsmittel (27) auf die Ermittlung eines Codefehlers reagiert, um das genannte Steuersignal zu erzeugen, wenn ein Codefehler ermittelt wird, und
wobei das genannte Erzeugungsmittel (27) auf die Ermittlung einer Null-Disparität reagiert, um das genannte Steuersignal zu sperren.
2. Ein Verfahren zur Ermittlung einer Zeichengrenze in einem Datenstrom von sequentiellen Zeichenbits, die nach einem seriellen Code codiert wurden, folgende Schritte umfassend:
Koppeln einer Gruppe von sequentiellen Zeichenbits (11) mit einem Nutzungsmittel,
Ermitteln einer Zeichengrenze in der genannten Gruppe von sequentiellen Zeichenbits, die mit dem genannten Nutzungsmittel gekoppelt sind,
Erzeugen eines Steuersignals (27), wenn eine Zeichengrenze in der genannten Gruppe von sequentiellen Zeichenbits, die mit dem genannten Nutzungsmittel gekoppelt sind, nicht ermittelt werden kann, und
in Reaktion auf das genannte Steuersignal, Verändern der genannten Gruppe von sequentiellen Zeichenbits,
bei dem
die genannte Ermittlungsoperation (21, 23) die Ermittlung umfaßt, ob eine Zeichendisparität von Null und ein Codefehler vorhanden ist,
die genannte Veränderungsoperation die Streichung des ersten Zeichenbits in der genannten Gruppe und das Anhängen des nächsten Zeichenbits in der Sequenz an das Ende der genannten Gruppe umfaßt,
in Reaktion auf die Ermittlung eines Codefehlers, Erzeugen des genannten Steuersignals (27) , wenn ein Codefehler ermittelt wird, und
in Reaktion auf die Ermittlung einer Disparität von Null, Sperren des genannten Steuersignals (27).
DE68925547T 1988-07-26 1989-07-20 Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom Expired - Fee Related DE68925547T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/225,106 US4975916A (en) 1988-07-26 1988-07-26 Character snychronization

Publications (2)

Publication Number Publication Date
DE68925547D1 DE68925547D1 (de) 1996-03-14
DE68925547T2 true DE68925547T2 (de) 1996-09-05

Family

ID=22843543

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68925547T Expired - Fee Related DE68925547T2 (de) 1988-07-26 1989-07-20 Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom

Country Status (4)

Country Link
US (1) US4975916A (de)
EP (1) EP0352970B1 (de)
JP (1) JPH0273738A (de)
DE (1) DE68925547T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01208769A (ja) * 1988-02-16 1989-08-22 Csk Corp バーストエラー訂正装置
US5229769A (en) * 1992-02-21 1993-07-20 Advanced Micro Devices, Inc. Method and circuit for performing running disparity measurements
JP2691480B2 (ja) * 1991-05-20 1997-12-17 富士通株式会社 2b4b符号則逆変換におけるディスパリティ検出回路
US5304996A (en) * 1992-02-21 1994-04-19 Advanced Micro Devices, Inc. 8B/10B encoder providing one of pair of noncomplementary, opposite disparity codes responsive to running disparity and selected commands
US5387911A (en) * 1992-02-21 1995-02-07 Gleichert; Marc C. Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver
JP3083011B2 (ja) * 1992-12-28 2000-09-04 キヤノン株式会社 データ記録方法及び装置
US5519830A (en) * 1993-06-10 1996-05-21 Adc Telecommunications, Inc. Point-to-multipoint performance monitoring and failure isolation system
US5485476A (en) * 1993-06-14 1996-01-16 International Business Machines Corporation Method and system for error tolerant synchronization character detection in a data storage system
US5517519A (en) * 1993-06-14 1996-05-14 International Business Machines Corporation Apparatus for repowering and monitoring serial links
US6334219B1 (en) 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
USRE42236E1 (en) 1995-02-06 2011-03-22 Adc Telecommunications, Inc. Multiuse subcarriers in multipoint-to-point communication using orthogonal frequency division multiplexing
US7280564B1 (en) 1995-02-06 2007-10-09 Adc Telecommunications, Inc. Synchronization techniques in multipoint-to-point communication using orthgonal frequency division multiplexing
US5999571A (en) * 1995-10-05 1999-12-07 Silicon Image, Inc. Transition-controlled digital encoding and signal transmission system
US5825824A (en) * 1995-10-05 1998-10-20 Silicon Image, Inc. DC-balanced and transition-controlled encoding method and apparatus
US5974464A (en) * 1995-10-06 1999-10-26 Silicon Image, Inc. System for high speed serial video signal transmission using DC-balanced coding
US5956370A (en) * 1996-01-17 1999-09-21 Lsi Logic Corporation Wrap-back test system and method
US5781544A (en) * 1996-01-17 1998-07-14 Lsi Logic Corporation Method for interleaving network traffic over serial lines
US5787114A (en) * 1996-01-17 1998-07-28 Lsi Logic Corporation Loop-back test system and method
US5790563A (en) * 1996-02-05 1998-08-04 Lsi Logic Corp. Self test of core with unpredictable latency
US5896426A (en) * 1996-02-05 1999-04-20 Lsi Logic Corporation Programmable synchronization character
US5781038A (en) * 1996-02-05 1998-07-14 Lsi Logic Corporation High speed phase locked loop test method and means
KR100198448B1 (ko) * 1996-12-20 1999-06-15 이계철 Nb2p 부호화 장치 및 nb2p 복호화 장치
US6438728B1 (en) * 1999-12-15 2002-08-20 Intel Corporation Error character generation
KR100358353B1 (ko) * 1999-12-27 2002-10-25 한국전자통신연구원 러닝 디스패리티 에러 검출 장치 및 방법
US6865231B1 (en) * 2000-06-20 2005-03-08 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated crossed differential pair correction
US7013422B2 (en) * 2001-06-15 2006-03-14 International Business Machines Corporation Noise removal in multibyte text encodings using statistical models
JP3581112B2 (ja) * 2001-06-21 2004-10-27 シャープ株式会社 データ送信方法および送信回路並びに通信機器
US8467483B2 (en) * 2002-03-15 2013-06-18 Silicon Laboratories Inc. Radio-frequency apparatus and associated methods
US7372928B1 (en) * 2002-11-15 2008-05-13 Cypress Semiconductor Corporation Method and system of cycle slip framing in a deserializer
KR100520302B1 (ko) * 2002-11-23 2005-10-13 한국전자통신연구원 8b/10b 선로부호그룹 적절성 검출장치 및 방법
US8201071B2 (en) * 2006-11-15 2012-06-12 Qimonda Ag Information transmission and reception

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5698051A (en) * 1980-01-07 1981-08-07 Hitachi Ltd Signal transmitting device of lsi component
JPS6028171B2 (ja) * 1980-09-02 1985-07-03 富士通株式会社 Romを用いた符号復号回路
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
JPS6347848A (ja) * 1986-08-18 1988-02-29 Hitachi Cable Ltd パリテイチエツク方法
JPS6349947A (ja) * 1986-08-20 1988-03-02 Hitachi Cable Ltd パリテイチエツク方法
JPS63169144A (ja) * 1987-01-06 1988-07-13 Kokusai Electric Co Ltd フレ−ム同期方法
JPH0817378B2 (ja) * 1987-03-16 1996-02-21 日本電信電話株式会社 ブロツク同期方式
JPS6446342A (en) * 1987-08-14 1989-02-20 Nec Corp Block synchronization detection circuit

Also Published As

Publication number Publication date
EP0352970A2 (de) 1990-01-31
EP0352970A3 (de) 1991-10-16
JPH0273738A (ja) 1990-03-13
EP0352970B1 (de) 1996-01-31
DE68925547D1 (de) 1996-03-14
US4975916A (en) 1990-12-04

Similar Documents

Publication Publication Date Title
DE68925547T2 (de) Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom
DE69216111T2 (de) Leitungskode, mit blockinvertierung, für schnelle verbindungen
DE69430175T2 (de) Paralleles Datenübertragungssystem unter Verwendung spezifischer Muster zur Synchronisierung
DE69632879T2 (de) Kodeübertragung mit lokaler Parität
DE1954420A1 (de) Apparatur und Verfahren zum Erzielen von Synchronisation von einer maximallangen Pseudostreufolge
DE68920739T2 (de) Daten-Kodierung für den Sofortstart von PRML-Empfängern.
DE69031934T2 (de) Musterinjektor
EP3657734B1 (de) Io link scanner und anzeiger zur dekodierung der kommunikationsinhalte auf einer io-link schnittstelle.
DE2805294C2 (de) Codierende Übertragungsanlage für Faksimile-Signale
DE4344811B4 (de) Faltungscodierer und gittercodierte Modulationsvorrichtung mit einem Faltungscodierer
DE3051112C2 (de)
DE19927751A1 (de) Vorrichtung und Verfahren zum Vorsehen eines Gleichstromsymmetrischen digitalen Codes
DE69128616T2 (de) Gleichstromfreier leitungskode und bit- und rahmensynchronisation für beliebige datenübertragung
DE2430685A1 (de) Verfahren und vorrichtung zur schnellen digitalen modulation
DE1934869B2 (de) Verfahren uns schaltungsanordnung zur kodierung asynchroner binaerer digitalsignale
DE3888412T2 (de) Übertragungsfilter.
DE3202437C2 (de) Wiedergabeschaltung für ein Datensignal im Biphase -Mark-Format
DE3888091T2 (de) Verfahren und system zur prüfung von signalfehlern, die durch eine übertragungsleitung übertragen werden.
DE2554025C3 (de) Einsen-Einfugung in Impulsübertragungsanlagen
EP0332642B1 (de) Verfahren und schaltungsanordnung zur adaptiven entzerrung von impulssignalen
DE2127516C2 (de) Verfahren zur Übertragung binärcodierter Signale von Bildvorlagen oder Schriftvorlagen
DE68921318T2 (de) Ungleichheitsüberwachung in einer seriellen Verbindung auf transparente Weise.
DE2940488C2 (de) Anordnung und Verfahren zur Modifizierung eines Übertragungskanals zwecks Eliminierung von effektiven Gleichspannungskomponenten in einem selbsttaktenden Übertragungssystem zur sequentiellen Übertragung von binären Datenbits in aufeinanderfolgenden getakteten Bit-Zellen eines Übertragungskanals
DE2030763C3 (de) Codewandler zur Umwandlung eines ternären Codes mit beschränkter Disparität in einen binären Code
DE3327250A1 (de) Echtzeit-fehlererkennungseinrichtung fuer miller-codierte binaerdaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee