-
Die Erfindung betrifft einen schnellen nB/mB-Codierer zum Umwandeln
von wortweise geordneten n-bit-Slgnalen in m-bit-Wörter mit einer Codierliste, die
vorzugsweise la einem ROM gespeichert ist.
-
Bekanntlich wird die nBit/mBit-Codierung (nun, fm allgemeinen : m=n+1)
- insbesondere in der optischen Nachrichtenübertragung - verwendet, um einen Leitungscode
Zu erzeugen, dessen spektrale leistungsdichteverteilung keinen Anteil bei der Frequenz
Null und möglichst kleine Anteile bei niedrigen Frequenzen hat und der gleichzeitig
eine möglichst hohe ubergangswahrscheinlichkeit aufweist. Letztere ist die Wahrscheinlichkeit,
mit der auf ein O-Bit ein 1-Bit folgt und umgekehrt.
-
Bekanntlich kann die nB/mB-Codierung beispielsweise so erfolgen, daß
nach Maßgabe der laufenden Disparität oder digitalen Summe aller gewandelten m-bit-Wörter
ganze Wörter invertiert werden und dies durch ein zusätzliches Bit pro Wort einer
Empfangsschaltung mitgeteilt wird (aiehe Carter, R.O.: "Low-Disp2rity Binary Coding
System11, Electronics Letters, May 1965, Vol. Nr. 3, S.67 - 68). Eine bessere Disparitätskorrektur
kann andererseits mit Hilfe eines Codierprogramms erfolgen, das vorzugsweise in
einem Codier-ROM gespeichert ist, indem der Codiermode abhängig von der Disparitätsbewertung
optimierend gesteuert wird.
-
Beide bekannte Verfahren haben aber den Nachteil, daß sie mit Logikschaltungen
nach dem heutigen Stand der Technik bei sehr hohen Bitraten nicht mehr verwendet
werden können.
-
Das durch Electronics Letters bekannte Verfahren hat weiterhin den
Nachteil, daß der dadurch erzielte Leitungscode doch nur eine relativ geringe Ubergangswahrscheinlichkeit
aufweist. So können z. B. bei einer 7B/83-Codierung immer noch bis zu 13 mal 1-Bits
bzw. O-Bits unmittelbar aufeinander folgen.
-
Aus dem letztgenannten Grund ist andererseits auch das durch
die
DE-OS 32 35 814 bekannte Verfahren nicht für alle Anwendungsfälle geeignet9 obwohl
es den Nachteil der geringere Verarbeitungsgeschwindigkeit nicht mehr aufweist.
-
Der Erfindung liegt somit die Aufgabe zugrunde, eine Schaltungsanordnung
zu schaffen, die das Prinzip des im Sinne höherer UbergangswahrscheiAlichkeit wirkenden
gespeicherten Codeprogramms verwendet und trotzdem auch bei hohen Bitfolge frequenzen
die gewünschte nB/mB-Codierung eines n-bit-Signal beliebigen informationsinhaltes
vollzieht.
-
Diese Aufgabe wird durch die im Patentanspruch 1 gekennzeichnete Erfindung
gelöst; vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben.
-
Die Erfindung erzielt den wesentlichen Vorteil, daß das bekannte Verfahren
der nB/mB-Codierung mittels eines vorzugsweise in einem ROM gespeicherten Codierprogrammes
dahingehend verbessert wird, daß das Kriterium für die optimale Wahl eines von mehreren
Codiermoden nicht erst aus dem ausgangsseitigen m-bit- Wort, sondern unmittelbar
aus dem eingangsseitig anliegenden n-bit-Signal während der nB/mB-Codierung gewonnen
wird, was die Codiergeschwindigkeit wesentlich erhöht, ohne den Nachteil zu hoher
Disparität in Kauf nehmen zu müssen.
-
Nachfolgend werden die Erfindung und Ausführungsbeispiele anhand von
Fig. 1 bis 5 näher erläutert.
-
Fig. 1 zeigt den Stand der Technik, Fig. 2 zeigt eine allgemeine Schaltungsanordnung
gemäß der Erfindung, Fig. 3 zeigt ein weniger aufwendiges Ausführungsbeispiel mit
nur einem ROM, das Codierer und Disparitätsauswerter zusammengefasst,
Fig.
4 zeigt detalliert ein erprobtes Ausfffhrungsbeispiel der Erfindung für höchstmögliche
Signalverarbeitungsgeschwindigkeit anhand eines 7B/8B-Codierers und Fig. 5 zeigt
ein erprobtes Ausführungsbeispiel der Erfindung für den Fall, daß nur m-bit-Wörter
verwendet oder berücksichtigt werden, bei denen die Zahl der 1-Bits m - 1 oder 7
oder m + 1 beträgt, am Beispiel eines 5B/6B-Codierers.
-
Fig. 1 zeigt zum besseren Verständnis der Erfindung ein bekanntes
Verfahren zur Umcodierung eines parallelen n-Bit-Wortes an den Adresseneingängen
Al bis An eines Codierers C-ROM in ein paralleles m-Bit-Wort an den Ausgängen Q1
bis Qm des Codierers C-ROM, wobei in der Praxis üblicherweise m = n+1 und m geradzahlig
ist. In dem Codierer C-ROM sind zwei komplette Codiertabellen eingespeichert (+Mode
und -Mode), die jeweils für jede der 2n Eingangssignalkombinationen eine bestimmte
Ausgangssignalkombination festlegen. Die beiden Codiertabellen unterscheiden sich
dabei dadurch, daß der +Mode nur neutrale Wörter (Anzahl der 1-Bits = ) und Wörter
mit einem ueberschuß an 1-Bits, der -Mode die gleichen neutralen Wörter und Wörter
mit einen tberschuß an O-Bita umfaßt, Die beiden Moden können durch ein sogenanntes
Modenumschaltesignal M umgeschaltet werden. Dieses kann an einem zusätzlichen z.
B. dem. (n+1) ten Eingang A (n+1) anliegen.
-
In den folgenden Ausführungen gilt als verabredet , daß ein 1-Bit
als. Modenumschaltesignal M den -Mode und ein O-Bit den +Mode einschaltet.
-
Nachdem die Codewandlung eines Wortes erfolgt ist, wird mit Hilfe
eines mit einem Auswerter-Takt T' gesteuerten Auswerters,der z. B. aus einer Reihe
hintereinandergeschalteter Binäraddierer oder einem Parallel/Serien-Wandler mit
nachfolgendem Vorwärts/Rückwärts-Zähler bestehen kann, die Zahl der 0- oder 1-Bits
oder deren Differenz (Diaparität) im gerade anliegenden umcodierten m-bit-Wort festgestellt.
-
In einer Logik wird dieses Auswertsergebnis mit dem als Modenumschaltesignal
M verwendbaren Ausgangasignal eines Speichers verarbeitet, weNch2s ein direktes
Maß für den Über- oder Unterschuß s0 Bo an l=Bits (Disparität) aller bis dahin gewandelten
m-bit-Worte (aber ohne das gerade anliegende umcodierte m-bit-Wort) ist. Das Ergebnis
der logischen Verknüpfung ist dann der-neue Disparitätawert einschließlich des gerade
anliegenden umcodierten m-bit-Wortes und wird mit Hilfe eines Speichertaktes T als
neue Information in den Speicher eingeschrieben. Das neue Ausgangssignal des Speichers
entscheidet nun als Modenumschaltesignal darüber, ob das nächste n-bit-Wort im +Mode
oder im -Mode codiert wird.
-
Für die höchste mit dieser Anordnung erreichbare Codiergeschwindigkeit
ist in erster Näherung die Summe der Signallaufzeiten des Oodierers 0-ROM, des Auswerters,der
Logik und des Speichers maßgebend, wobei insbesondere der Auswerter einen erheblichen
Anteil an der Gesamtlaufzeit hat.
-
Fig. 2 zeigt demgegenüber das Prinzip der Erfindung, bei dem der Auswerter
vorzugsweise durch ein weiteres ROM, ein sogenanntes Moden-ROIi realisiert ist.
Dieser Auswerter M-ROM ist erfindungsgemäß mit seinen Eingängen A1' bis An' parallel
zu den Eingängen Al bis An des Codierers C-ROM geschaltet und so programmiert, daß
für jede Kombination des n-Bit-Eingangssignales und für jeden der beiden (+ und
-)Moden an jeweils einem einzigen der i Ausgänge Q1' bis Qi' des Auswerters M-ROM
als Auswertesignal angezeigt wird, wie viele Überschuß- oder Unterschuß-l-Bits das
gerade erzeugte m-bit-Wort aufweist (z. B. bei 2 Unterschuß-l-Bits ist Q1' = 1,
bei 1 Überschuß-1-Bit ist Q2' = 1, bei 1 Unterschuß-1-Bit ist Q3' = 1, bei 2 Unterschuß-1-Bits
ist Qi' = Q4' = 1 und bei neutralen Wörtern sind alle Ausgänge Q1' bis Ql' = Null).
-
Die Umschaltung des Auswerters M-ROM zwiachen +Mode und -Mode erfolgt
dabei wie beim Codierer C-ROM über eine
Logik und einen Speicher
mit einem Modenumachaltesignal M, das gleich dem Modenumachaltesignal M des Codierers
C-ROM ist und auch hier an einem zusätzlichen, z. B. an dem (n+1) ten Eingang A(n+1)'
anliegt, der mit dem (n+1) ten Eingang A(n+1) des Codierers C-ROM parallel geschaltet
ist.
-
Durch die eingangsseitige Parallelschaltung des Auswerters zum Codierer
fällt die Signallaufzeit des Auswerters ersatzlos weg, da er zeitgleich mit dem
Codierer arbeitet. Wenn beide vom gleichen Typ sind, erhalten i-hre-Ausgange zeigt
gleich Ausgangsignale.
-
Durch die vorgenannte Programmierung des Auswerters M-ROM kann darüberhinaus
die Logik äußerst einfach aufgebaut werden, wie dies für zwei bevorzugte Ausführungsbeispiele
in den Unteransprüchen 5 bis 8 gekennzeichnet ist (Fig. 4 bzw. Fig. 5).
-
In erster Näherung ist damit für die maximale Codiergeschwindigkeit
nur noch die Signallaufzeit des Codierers C-ROM bzw. des mit ihm eingangsseitig
parallelgeschalteten Auswerters M-ROM alleine maßgebend.
-
Fig. 3 zeigt eine Variante der Anordnung nach Fig. 2, bei welcher
der Auswerter und der Codierer in einem gemeinsamen Baustein M/C-ROM mit n+1 Eingängen
Al bis A(n+1) und m+i Ausgänn Q1 bis Qm und Q1' bia Qi' zusammengefaßt sind, wodurch
der Programmieraufwand geringer wird, der Platz- und Energiebedarf der Anordnung
abnimmt und die eingangsseStige Verdrahtung einfacher wird. Im übrigen sind die
Anordnungennach Fig. 2 und 3 gleich.
-
Fig. 4 zeigt em Beispiel eines 73/8B-Codierers eine bevorzugte Ausführungsform
der Erfindung im Detail. Da das 7-bit-Signal 128 mögliche Signalkombinationen hat,
das codierte 8-bit-Wort aber 256 Kombinationen bietet, von denen 70 Kombinationen
neutral sind (also gleichviele 1-Bits und O-Bits enthalten) jeweils 56 dieser 256
Kombinationen fünf 1-Bits bzw. drei 1-Bits und jeweils 28 Kombinationen sechs 1-3its
bzw. zwei 1-Bits beindelten, stehen für den +Mode und
den -Mode
je 154 Ausgangssignalkombintionen zu Verfügung, von denen die 128 geeignetsten Kombinationen
ausgesucht werden.
-
Damit ist sichergestellt, daß über die Wortgrenzen hinaus höchstens
sechs gleiche Bits unmittelbar aufeinanderfolgen können.
-
Entsprechend dieser 128 Kombinationen wird der Codierer C-ROM programmiert,
welcher n = 7 Eingänge A1 bis A7 für das n-bit-Signal und m = 8 Signalausgänge Q1
bis Q8 für die m-bit-Wörter hat. Ein zusätzlicher (n+1) ter Eingang A8 wird zur
Modenumschaltung verwendet9 wobei ein O-Bit am Eingang A8 den +Mode und ein 1-Bit
den -Mode einschaltet.
-
Der Auswerter M-ROM hat ebenfalls n+1 = 8 Eingänge A1' bis A8', von
denen der (n+1) te Eingang A82 zur Modenumschaltung wie beim Codierer C-ROM verwendet
wird und vier negierte Signalausgänge Pl bis PA, wobei der Ausgang P1 dann und nur
dann Signal hat, wenn im +Mode ein m-bit-Wort an den Ausgängen Q1 bis Q8 des Codierers
C-ROj4 zwei Überschuß-1-Bits aufweist sechs 1-Bits und zwei O-Bita). Entsprechend
hat der Ausgang P2 dann O-Signal, wenn im +Mode ein m-bit-Wort mit einem Überschuß-1-Bit
erzeugt wird. Für im -Mode codierte m-bit-Wörter mit einem Unterschuß-1-Bit hat
der Ausgang P3 O-Signal und mit zwei Unterschuß-1-Bit hat der Ausgang P3 O-Signal
und mit zwei Unterschuß-1-Bits der Ausgang P4 O-Signal. Im weiteren Verlauf dieser
Beschreibung werden die Ausgangasignaleder Ausgänge 7 bis P4 in der Fig. 4 ebenfalls
mit P1 bis P4 benannt.
-
Die Logik (siehe Fig. 2) besteht aus fünf NICHT-ODER-Schaltungen NOR1
bis NOR5, einer NICHT-UND-Schaltung NAND und einer UND-Schaltung AND. Der Speicher
(Fig. 2) besteht aus drei D-Flip-Flop-Schaltungen SP1 bis SP3. Die D-Blip-Flop-SchaltungenSPibis
SP3 werden mit einem Takt T über die UND-Schaltung AND versorgt.
-
Da für hohe Signalverarbeitungsgeschwindigkeiten zur Zeit praktisch
nur ECL-Schaltungen verwendet werden können,
besteht die Möglichkeit,zusätzlich
benötigte ODER-Schaltungen als "Verdrahtete ODER-Schaltung" (Wired-OR) mit den vorhandenen
Schaltungen auszuführen und dadurch zwei Schaltungsebeneneinzusparen, was der Erhöhung
der Verarbeitungsgeschwindigkeit zugute !kommt.
-
Die Wired-ORs werden durch das Paralletschalten der Ausgänge der zweiten
bis vierten NICHT-ODER- Scha Itungen NOR2 bis NOR4 bzw. durch das Parallelschalten
der nichtinvertierten Ausgänge Q der ersten und zweiten D-Flip-Flop-Schaltung SP1
und SP2 realisiert, Die D-Flilj-Flop-Schaltungen SPlbis SP3 speichern die wortweise
digitale Summe in Bezug auf den Überschuß der 1-Bitsdes codierten Ausgangssignals
des Codierers 0-ROM. Ist diese Summe +2, so hat nur der nichtinvertierte Ausgang
Q des ersten.D-Flip-Flops SP1 1-Signal, ist die Summe +1, so hat der nichtinvertierte
Ausgang Q der zweiten D-Flip-Flop-Schaltung SP 2 1-Signal, ist die Summe -1, so
hat der nichtinvertierte Ausgang Q der dritten D-Flip-Flop-Schaltung SP3 1-Signal
und ist die Summe 0, so haben alle nichtinvertierten Ausgänge dieser D-Flip-Flop-Schaltungen
SP1 bis SP3 O-Signal.
-
Die Codierung beginnt generell nach dem Einschalten der Übertragungsstrecke
mit dem +Mode Ausgänge Q der drei D-Flip-Flop-SchaltungenS!bis SP3 haben 0-Signal).
Die Summe der Überschuß-1-its kann daher nur-die Werte +2, +1, 0 und -1 annehmen.
Die erste NICHT-ODER-Schaltung NOR1 führt dem D-Eingang der ersten D-Flip-Flop-Schaltung
SP1 ein Signal L1 zu, die ausgangsseitig parallelgeschalteten zweiten bis vierten
NICHT-ODER-Schaltungen NOR2 bis NOR4 fuhren dem D-Eingang der zweiten D-Flip-Flop-Schaltung
SP2 ein Signal L2 zu, und die fiinfte NiCHT-ODER-Schaltung NOR5 führt der dritten
D-Flip-Flop-Schaltung SP3 ein Signal S3 zu.
-
Die Ausgangsaignale der nichtinvertierten Ausgänge Q dieser drei D-Flip-Flop-Schaltungen
SP1, SP2 und SP3 sind mit S1, S2 bzw. 53 bezeichnet und die Ausgangs signale der
invertierten Ausgänge Q sind enteprechend mit S1, 72 bzw. Lt bezeichn Bei erfolgter
Codierung eines n-bit-Signals gelten folgende Gleichungen: L1 = Pl v S3, ~~~~~~
~~~~~~ L2 = P2 v S3 v P3 v S1 v P1 v S3 und L3 = P4 v S2.
-
Für das Modenumachaltesignal M am achten Eingang A8 des Codierers
C-ROM und am achten Eingang A8' des Auswerters M-ROM gilt: M = S1 v S2.
-
Für den Fall, daß das n-bit-Signal eine neutrale Bitkombination ist,
gleichgültig ob im +Mode oder im -Mode codiert, muß der Inhalt der D-Flip-Flop-Schaltungen
SP1 bis SP3 erhalten bleiben, was durch die logische Verknüpfung der Ausgangssignale
P1 bis P4 des Auswerters M-ROM in der NICHT-UND-Schaltung NAND und der als Torschaltung
für den Takt 2 wirkenden UND-Schaltung AND erreicht wird, so daß in diesem Fall
(P1 = P2 = P3 = »4 = 1) der Takt T in Richte zu den D-Flip-Flop-Schaltungen SP1
bis SP3 blockiert ist.
-
Dieser Schaltungsaufbau bietet ein Maximum an Schaltgeschwindlgkeit,
da sich zu der Signallaufzeit eines ROMs nur die Laufzeiten einer NICHT-ODER-Schaltung
und eine D-Flip-Flop-Schaltung addieren.
-
Fig. 5 zeigt ein vereinfachtes erprobtes Ausführungabeispiel der Erfindung
nach Fig. 2 am Beispiel eines 5B/6B-Codierers.
-
Den 32 Signalkombinationen des n-bit-Signals an den Eingängen Al bis
A5 des Codierers C-ROM bzw. an den Eingängen A1' bis A5' des Auswerters M-ROM steten
64 mögliche Signalkombinationen des m-bit-Wortes 1 [an den Ausgängen Q1 bis Q6 des
Codierer C-ROM gegenüber, von denen 20 neutral sind (drei 1-Bits und drei O-Bits),
15 einen Überschuß von einem 1-B5t und 15 einen Unterschuß von einem 1-Bit haben.
Es stehen daher für den -Mode und für den -Mode Jeweils 35 Codewörter zur Verfügung,
von denen die 32 günstigsten ausgewählt werden. Die wortweise digitale Summe in
Bezug auf den Überschuß der 1-Bits kann bei diesem Code nur -1, 0 oder -1 betragen,
so daß nach jedem nichtneutralen m-bit-Wort der Codiermode umgeschaltet werden muß.
-
Dies geschieht in diesem Ausfuhrungebeispiel dadurch, daß der Auswerter
M-ROM so programmiert ist, daß sein Ausgang P immer dann und nur dann ein 1-Signal
führt, wenn im Codierer C-ROM ein nicht-neutrales codiertes m-bit-Wort erzeugt wird.
-
Das Ausgangssignal des Ausgangs P gibt über eine UND-Schaltung UND
einen Takt 2 immer nur dann frei, wenn das m-bit-Wort nicht neutral ist. Der Ausgang
der UND-Schaltung UND ist mit dem Eingang eines Frequenzteilers FT (Teilungsverhältnis
= 1 : 2) verbunden, an dessen Ausgang das Modenumschaltesignal M ansteht. Das Modenumschaltesignal
M steuert über den sechsten Eingang A6 des Codierers C-ROM den benötigten +Mode
oder -Mode an.
-
- Leerseite -