-
Die
Erfindung bezieht sich auf ein serielles Kommunikationssystem mit
mindestens einer Senderschaltung und mindestens einer Empfängerschaltung,
die über
ein Kommunikationsmedium miteinander verbunden sind, wobei das Kommunikationsmedium
mindestens einen ersten und einen zweiten parallelen Signalträger bereitstellt,
um ein entsprechendes erstes und zweites Signal von der Senderschaltung
zur Empfängerschaltung
zu transportieren;
die Senderschaltung Mittel hat, um synchron
mit einem Taktsignal eine Kombination aus Taktsignal und Datenelement(en)
einer Datennachricht als das erste und zweite Signal seriell darzustellen,
so dass an einer Datenelementgrenze ein Signalübergang entweder des ersten
oder des zweiten Signals auftritt; und
die Empfängerschaltung
Mittel hat, um durch Detektieren und Kombinieren der Signalübergänge des
ersten und zweiten Signals das Taktsignal wiederherzustellen und
die Datennachricht aus dem ersten und/oder zweiten Signal wiederherzustellen.
-
Die
Erfindung bezieht sich weiterhin auf eine Sendereinrichtung und
eine Empfängereinrichtung
zum Einsatz in einem solchen System.
-
Die
Erfindung bezieht sich auch auf ein Verfahren der seriellen Kommunikation
zwischen mindestens einer Senderschaltung und mindestens einer Empfängerschaltung,
die über
ein Kommunikationsmedium miteinander verbunden sind, wobei das Kommunikationsmedium
mindestens einen ersten und einen zweiten parallelen Signalträger bereitstellt,
um ein entsprechendes erstes und zweites Signal von der Senderschaltung zur
Empfängerschaltung
zu transportieren; das Verfahren umfasst:
serielles Codieren
einer Kombination aus Taktsignal und Datenelement(en) einer Datennachricht
als das erste und zweite Signal synchron mit einem Taktsignal, so
dass an einer Datenelementgrenze ein Signalübergang entweder des ersten
oder des zweiten Signals auftritt;
Ausgeben des ersten und
zweiten Signals von der Senderschaltung über die entsprechenden Signalträger;
Eingeben
des ersten und zweiten Signals von den entsprechenden Signalträgern in
die Empfängerschaltung, und
Decodieren
des ersten und zweiten Signals, um das Taktsignal durch Detektieren
und Kombinieren der Signalübergänge des
ersten und zweiten Signals wiederherzustellen, und um die Datennachricht
vom ersten und/oder zweiten Signal wiederherzustellen.
-
Ein
derartiges serielles Kommunikationssystem und -verfahren ist aus
der US-amerikanischen Patentschrift 5.341.371 bekannt. Dieses System
beschreibt eine Hochgeschwindigkeitskommunikationsschnittstelle, die
einen Sender und einen Empfänger über zwei
parallele Signale verbindet, bezeichnet als Datensignal bzw. als
Strobe-Signal. Unter der Steuerung eines Taktes werden Datenbits
einer Datennachricht seriell ausgegeben. Das Datenbit wird in einer
konventionellen binären
Form dargestellt, wobei ein Null-Datenbit als ein niedriger Signalpegel
und ein Eins-Datenbit als ein hoher Signalpegel gesendet werden.
Ein Übergang
im Datensignal tritt nur auf, wenn sich die Daten ändern. Verwendet
wird Halbperioden-Taktsignal, bei dem beide Flanken des Taktsignals
genutzt werden. Das Halbperioden-Taktsignal wird im Strobe-Signal
dargestellt. Der Sender bewirkt einen Signalübergang im Strobe-Signal nur,
wenn es im Datensignal keinen Übergang
gibt. Der Empfänger
stellt das Taktsignal wieder her, indem er Übergangsinformationen sowohl
vom Strobe-Signal als auch vom Datensignal kombiniert. Der Empfänger ruft
die Datenbits ab, indem er das Datensignal unter der Steuerung des
wiederhergestellten Taktes abtastet.
-
Das
bekannte System beschreibt ein übergeordnetes
Kommunikationsprotokoll, bei dem Informationen über den Bus in Form von Zeichen
(Token) übertragen
werden. Ein Token beginnt mit einem Paritätsbit gefolgt von einem Bit,
das angibt, ob das Token ein Datenbyte trägt oder zu Steuerungszwecken
benutzt wird. Folglich wird ein Datenbyte mittels eines 10-Bit-Tokens übertragen.
Das System gestattet die Übertragung
von Nachrichten variabler Länge,
wobei eine Nachricht aus einem oder mehreren Bytes besteht. Eine N-Byte-Nachricht
wird als Abfolge von N Token gesendet, die jeweils ein Datenbyte
tragen. Um das Ende einer Nachricht anzudeuten, wird ein spezielles
Ende-des-Pakets- oder Ende-der-Nachricht-Token aus drei Bits gesendet.
-
Eine
andere Form der Codierung ist die differentielle Codierung, die
im Buch mit dem Titel „Modern Communication
Systems", von Leon
W. Couch II, herausgegeben 1995 durch Prentice Hall, Englewood Cliffs New
Jersey, Seite 165 (EPO-Referenz XP-002118135) sowie in „The mobile
communication handbook" von Jerry
D. Gibson, herausgegeben 1996 durch CRC Press, IEEE Press, USA,
auf den Seiten 84 und 90–91 (EPO-Referenz
XP-002118136) beschrieben wird. Diese Dokumente beschreiben die
Erzeugung eines Differentialsignals aus einem Datensignal, so dass
das Differentialsignal einen Logikpegelübergang hat, wenn sich die
Daten auf einem Pegel befinden, und keinen Logikpegelübergang
hat, wenn sich die Daten auf einem anderen Pegel befinden. Es gibt
zwei alternative Implementierungen: eine, bei der das Differentialsignal Übergänge hat,
wenn die Daten logisch Eins sind, und eine andere, bei der das Differentialsignal Übergänge hat, wenn
die Daten logisch Null sind.
-
Aufgabe
der Erfindung ist es, ein alternatives, kostengünstiges Hochgeschwindigkeitskommunikationssystem,
ein Sende- und Empfangsgerät
für die
Verwendung in einem solchen System und ein Kommunikationsverfahren
zu schaffen.
-
Um
die Aufgabe der Erfindung zu lösen,
ist das System dadurch gekennzeichnet, dass die Senderschaltung
dafür eingerichtet
ist, vorhergehend zum Datenelement d der Datennachricht an der Datenelementgrenze
einen Übergang
des ersten Signals zu verursachen, wenn eine Funktion f(d) des Datenelements
d einen ersten Wert hat, und an der Datenelementgrenze einen Übergang
des zweiten Signals zu verursachen, wenn die Funktion f(d) einen
unterschiedlichen zweiten Wert hat. Auf diese Weise erhält man ein
System, bei dem beide Signale auf ähnliche und komplementäre Weise
benutzt werden, um f(d) darzustellen, was die Symmetrie des Systems
verbessert. Der binäre
Wert von f(d) bestimmt, in welchem Signal ein Übergang auftritt. Die Wiederherstellung
des Taktes ist möglich,
weil während
der Übertragung
einer Datennachricht an jeder Datenbitgrenze immer eines der Signale
den Pegel ändert.
Die Wiederherstellung kann beispielsweise auf einer einfachen XOR-Operation
basieren. Während
der Übertragung
einer Datennachricht ändern
beide Signale den Pegel durchschnittlich um die halbe Nenntaktfrequenz
(Übergänge treten
nur an Datenbitgrenzen auf), wodurch ein niederfrequentes Signal
sichergestellt ist. Während
der Übertragung
einer Datennachricht wird vermieden, dass beide Signale den Pegel
an einer Datenbitgrenze ändern.
-
Der
Wert der Funktion f(d) kann einfach das Datenbit selbst (f(d) =
d) sein, so dass keine zusätzliche Logik
zum Codieren/Decodieren des Datenbits erforderlich ist. Alternativ
kann eine einfache binäre
Logik benutzt werden, die die Bitrate des Systems nicht negativ
beeinflusst. Beispielsweise kann f(d) eine binäre Verknüpfung, wie das XOR, des Datenbits
d mit mindestens einem Bit eines vorgegebenen Codeworts sein. Das Codewort
kann beispielsweise verwendet werden, um die Sicherheit des Systems
zu erhöhen.
Für sicherere Systeme
kann die Funktion f(d) auf fortgeschritteneren Verschlüsselungsprin zipien
wie einer Stromchiffre (engl. „stream
cipher") basieren.
Dies kann jedoch das Bitdatum beeinflussen.
-
In
einer in dem unabhängigen
Anspruch 2 definierten Ausführungsform
legt der Empfänger
den Wert f(d) fest, indem er ermittelt, ob im ersten oder zweiten
Signal ein Übergang
aufgetreten ist. Zu diesem Zweck kann der Empfänger Mittel umfassen, um die
ansteigende/fallende Flanke in einem oder beiden Signalen zu detektieren.
Wenn in einem Moment, der im Wesentlichen mit einer Datenbitgrenze
zusammenfällt,
wie vom wiederhergestellten Takt angedeutet, in einem der Signale
keine Flanke festgestellt wird, kann daraus geschlossen werden,
dass die Flanke in dem anderen Signal aufgetreten sein muss. Dank
der Symmetrie der Flanke reicht es an sich aus, festzustellen, ob
in nur einem der Signale ein Übergang
aufgetreten ist.
-
In
einer weiteren, in dem unabhängigen
Anspruch 3 definierten Ausführungsform
wird das wiederhergestellte Taktsignal verwendet, um das Signal
auf zuverlässige
und einfache Weise abzutasten. Der stabile Signalpegel von zwei
aufeinanderfolgenden Abtastungen wird verglichen, um auf einfache
Weise festzustellen, ob ein Übergang
stattgefunden hat oder nicht.
-
In
einer weiteren, in dem unabhängigen
Anspruch 5 definierten Ausführungsform
erfolgt die Fehlerdetektierung, indem die Daten von beiden Signalen
wiederhergestellt werden und das Ergebnis verglichen wird. Auf diese
Weise lassen sich bestimmte Übertragungsfehler
wie 1-Bit-Fehler ohne Verwendung eines Paritätsbits erkennen. Dies vereinfacht
das Protokoll und spart im Vergleich zum System nach dem Stand der
Technik eine Bitadresse auf dem Bus ein.
-
In
einer weiteren, in dem unabhängigen
Anspruch 6 definierten Ausführungsform
wird ermittelt, ob ein Übergang
stattgefunden hat, indem, nach dem Umwandeln des seriellen Abtastwertestroms
in ein paralleles Wort, aufeinanderfolgende Abtastungen miteinander
verglichen werden. Auf diese Weise ist der Vergleich weniger zeitkritisch
und kann bei einer niedrigeren Frequenz durchgeführt werden.
-
In
einer weiteren, in dem unabhängigen
Anspruch 9 definierten Ausführungsform
ist das System in hohem Maße
für das Übertragen
eines Stroms von Datennachrichten (auch als Wörter bezeichnet) geeignet,
wie es beispielsweise beim Übertragen
von Audio- oder Videodaten der Fall ist. Das System kann solche
Daten synchron übertragen,
indem einfach das Ende eines Wortes detektiert wird. Das Fehlen
eines oder mehrerer Übergänge in dem
Signal wird genutzt, um die Grenze (Anfang/Ende) eines Wortes anzudeu ten.
Im Prinzip kann eine derartige Detektierung bereits nach einer Dauer
von wenig mehr als einer Datenbitperiode nach dem letzten Übergang
vorgenommen werden. Darüber
hinaus kann eine „Lücke" in den Übergängen erzeugt
und auf eine sehr einfache Weise detektiert werden. Dies ist im
Vergleich zu dem System aus der US-amerikanischen Patentschrift
5.342.371 vorteilhaft, wo ein spezielles 3-Bit-Token erzeugt und
detektiert werden muss. Darüber
hinaus erlaubt das erfindungsgemäße System
variable Wortlängen
an Bitgrenzen und ist nicht auf Wortlängen beschränkt, die auf ein Vielfaches
von 8-Bits begrenzt sind. Dies macht das erfindungsgemäße System
insbesondere geeignet für
die Übertragung
von Audio- und Videodaten, wo häufig
Datenwörter
verwendet werden, die nicht an Bytegrenzen ausgerichtet sind.
-
Es
ist zu beachten, dass das Kommunikationssystem eine kostengünstige Hochgeschwindigkeitsübertragung
insbesondere von Audio/Videodaten ermöglicht. Je nach Implementierung
lassen sich mit preiswerten Sender- und Empfängerschaltungen problemlos Übertragungsraten
von über
500 Megabits pro Sekunde erzielen. Das System an sich eignet sich
sehr für
die Verwendung in einer Unterhaltungselektronikvorrichtung, die
beispielsweise einen Signalprozessor mit einem A/D- oder D/A-Umsetzer
verbindet. Das System kann auch benutzt werden, um Unterhaltungselektronikeinrichtungen
zu verbinden oder einen Computer mit Peripheriegeräten wie
Monitore, Drucker, Scanner und Kameras zu koppeln.
-
Zur
Lösung
der erfindungsgemäßen Aufgabe
umfasst ein Sendegerät
eine Senderschaltung mit Mitteln, um synchron mit einem Taktsignal
eine Kombination aus Taktsignal und Datenelement(en) einer Datennachricht
als das erste und zweite Signal für die Übertragung an eine Empfängerschaltung
seriell darzustellen, so dass an einer Datenelementgrenze ein Signalübergang
entweder des ersten oder des zweiten Signals auftritt; dadurch gekennzeichnet,
dass die Senderschaltung dafür
eingerichtet ist, vorhergehend zum Datenelement d der Datennachricht
an der Datenelementgrenze einen Übergang
des ersten Signals zu verursachen, wenn eine Funktion f(d) des Datenelements
d einen ersten Wert hat, und an der Datenelementgrenze einen Übergang
des zweiten Signals zu verursachen, wenn die Funktion f(d) einen
unterschiedlichen zweiten Wert hat.
-
Um
die Aufgabe der Erfindung zu lösen,
umfasst ein Empfängergerät eine Empfängerschaltung
mit Mitteln:
um ein erstes und zweites Signal von einer Senderschaltung
zu empfangen;
um ein Taktsignal wiederherzustellen, indem Signalübergänge des
ersten und zweiten Signals detektiert und kombiniert werden; und
um
eine Datennachricht aus dem ersten und/oder zweiten Signal wiederherzustellen;
dadurch
gekennzeichnet, dass die Empfängerschaltung
dafür eingerichtet
ist festzustellen, ob im Wesentlichen an einer vom wiederhergestellten
Taktsignal abgeleiteten Datenbitgrenze ein Übergang im ersten oder im zweiten
Signal aufgetreten ist, und um festzustellen, ob ein Datenelement
mit einem ersten Wert empfangen wurde, falls im ersten Signal ein Übergang
aufgetreten ist, und ob ein Datenelement mit einem zweiten Wert empfangen
wurde, falls im zweiten Signal ein Übergang aufgetreten ist.
-
Um
die Aufgabe der Erfindung zu lösen,
ist das Verfahren dadurch gekennzeichnet, dass das Codieren das
Bewirken eines Übergangs
des ersten Signals an einer dem Datenelement d der Datennachricht
vorhergehenden Datenelementgrenze umfasst, wenn eine Funktion f(d)
des Datenelements d einen ersten Wert hat, und das Bewirken eines Übergangs
des zweiten Signals an der Datenelementgrenze umfasst, wenn die
Funktion f(d) einen unterschiedlichen zweiten Wert hat.
-
Diese
und andere Aspekte der Erfindung werden aus den in den Zeichnungen
gezeigten Ausführungsformen
ersichtlich und unter Bezugnahme auf diese erläutert. Es zeigen:
-
1 ein
Blockschaltbild eines Systems 100 gemäß der Erfindung;
-
2 die Signalcodierung gemäß der Erfindung;
-
3 ein
Blockschaltbild einer bevorzugten Senderschaltung;
-
4 eine
Codierung gemäß der Erfindung;
und
-
5 ein
Blockschaltbild einer bevorzugten Empfängerschaltung.
-
1 zeigt
ein Blockschaltbild eines Systems 100 gemäß der Erfindung.
Das System umfasst eine Senderschaltung 110 und eine Empfängerschaltung 120.
Die Senderschaltung 110 umfasst Codiermittel, um ein erstes
Signal 130 und ein zweites Signal 140 an zwei
entsprechenden Ausgängen 112 und 114 zu
erzeugen. Das erste und zweite Signal 130 und 140 stellen
in Kombination ein Taktsignal 150 und ein Datensignal 160 dar,
das synchron mit dem Taktsignal 150 ist. Im Beispiel aus 1 umfasst
die Senderschaltung 110 Eingänge 116 und 118,
um jeweils ein separates Taktsignal 150 und ein Datensignal 160 zu
empfangen. Beispielsweise können
Audio- oder Videodaten von einem DSP (digitalen Signalprozessor),
einem A/D-Umsetzer oder einem Decodierer empfangen werden. Auf ähnliche
Weise können
Universaldaten von einem Prozessor in einem Computer oder von einem
Speichercontroller empfangen werden. Es ist zu beachten, dass die
Senderschaltung 110 alternativ das Takt- und/oder Datensignal
intern erzeugen kann. Die Senderschaltung 110 kann alternativ
die Daten in paralleler Form empfangen, z.B. von einem Speicher,
und die parallelen Daten unter Steuerung des Taktsignals 150 oder
eines internen Taktes in einen seriellen Strom umwandeln. Die Empfängerschaltung 120 umfasst
die Eingänge 122 und 124,
um das erste Signal 130 bzw. das zweite Signal 140 zu empfangen.
Die Empfängerschaltung 120 umfasst
Decodiermittel, um das erste und zweite Signal 130, 140 zu decodieren
und ein Taktsignal 170 und ein Datensignal 180 abzurufen,
die das ursprüngliche
Taktsignal 150 bzw. Datensignal 160 darstellen.
Die Empfängerschaltung 120 kann
Ausgänge 126 und 128 umfassen,
um die abgerufenen Signale beispielsweise an einen DSP, Prozessor,
D/A-Umsetzer oder E/A-Controller auszugeben. Weiterhin kann die
Empfängerschaltung 120 auch
Mittel umfassen, um eines der abgerufenen Signale oder beide intern
zu verarbeiten (beispielsweise den seriellen Datenstrom in parallele
Wörter
umwandeln, die in einem Speicher abgelegt werden, und das Taktsignal
verwerfen).
-
Es
ist zu beachten, dass sich die Senderschaltung 110 und
die Empfängerschaltung 120 in
einer einzelnen Vorrichtung befinden können, wie beispielsweise einem
Computer oder einem Unterhaltungselektronikgerät, um Daten innerhalb der Vorrichtung
zu übertragen.
In einer solchen Konfiguration sind die Schaltungen vorzugsweise
in die jeweilige Datenquelle oder -senke integriert. Beispielsweise
kann die Senderschaltung 110 in einen A/D-Umsetzer und
die Empfängerschaltung 120 in
einen D/A-Umsetzer integriert sein, während ein DSP sowohl eine Senderschaltung 110 als
auch eine Empfängerschaltung 120 umfassen
kann. Für
die Verwendung in derselben Vorrichtung können das erste und das zweite
Signal, 130 und 140, über entsprechende Leitungen
auf einer Leiterplatte mittels geeigneter Leitungstreiber von der
Senderschaltung 110 zur Empfängerschaltung 120 weitergeleitet
werden. Die Systeme gemäß der Erfindung
können
auch für
die Kommunikation zwischen Chips auf einem MDP (Multi-Die-Package)
oder MCM (Multi-Chip-Module) verwendet werden. Alternativ können sich
die Schaltungen in separaten Vorrichtungen unter Verwendung eines
externen Kommunikationsmediums befinden. Das Medium stellt zwei
parallele Träger
bereit, um das entsprechende erste und zweite Signal zu übertragen.
Ein derartiger Träger
kann beispielsweise durch einen elektrischen Leiter gebildet werden.
Bei der externen Hochgeschwindigkeitsübertragung wird für jeden
der Träger
vorzugsweise die Differentialübertragung
verwendet. Offensichtlich können
auch andere Verfahren wie die Frequenzmodulation benutzt werden,
um zwei parallele Übertragungskanäle zu erhalten.
Anstatt eines verdrahteten Kommunikationsmediums kann auch ein drahtloses
Medium benutzt werden. Geeignete Treiber für die verschiedenen Medien sind
erhältlich
und nicht Bestandteil der Erfindung.
-
2 veranschaulicht die Signalformate. 2A zeigt
ein Beispiel des Taktsignals 150 und des Datensignals 160,
wie sie der Empfängerschaltung 110 bereitgestellt
werden können
(und von der Empfängerschaltung 120 als
die entsprechenden Signale 170 und 180 ausgegeben
werden können).
Gezeigt wird ein Halbfrequenztaktsignal 150 (ein vollständiger Taktimpuls
dauert zwei Datenbitperioden; die Taktfrequenz beträgt die Hälfte der
Datenbitrate). Es werden beide Flanken eines derartigen Taktsignals
verwendet. Es ist zu beachten, dass auch ein Vollfrequenztaktsignal
verwendet werden kann. Wie nachfolgend jedoch ausführlicher beschrieben
wird, können
vorteilhafterweise eine Senderschaltung 110 und eine Empfängerschaltung 120 benutzt
werden, die mit dem gezeigten Halbfrequenztaktsignal arbeiten und
weniger Energie verbrauchen. Das Datensignal 160 aus 2A ist
in einem konventionellen binären
Format, synchron mit dem Taktsignal 150, dargestellt.
-
2B zeigt
die codierten Signale 130 bzw. 140, wie sie in
dem erfindungsgemäßen System
ausgetauscht werden. Wenn ein demnächst zu sendendes Datenbit
d einen Binärwert „0" hat, bewirkt die
Senderschaltung 110 einen Übergang des Pegels des ersten
Signals 130. Wenn das Datenbit d andererseits einen Binärwert „1" hat, bewirkt die
Senderschaltung 110 einen Übergang des Pegels des zweiten
Signals 140. Der Übergang
wird synchron mit dem Taktsignal 150 bewirkt (ausgelöst durch
eine Flanke des abgebildeten Taktsignals). Alle Flanken des Taktsignals 150 sind
in den Signalen 130 und 140 in Kombination vertreten.
Innerhalb einer Datenbitperiode treten keine Übergänge in einem der beiden Signale 130 und 140 auf.
Darüber
hinaus ist jede Taktflanke nur einmal während einer Bitperiode vertreten,
was eine Minimalfrequenzübertragung erlaubt.
-
Es
ist zu beachten, dass für
das erste Datenbit einer Datennachricht (Wort) weiterhin der Anfangspegel
des Signals 130 und 140 gewählt werden kann. Beispielsweise
kann ein Standardpegel gewählt
werden. Ein solcher Ansatz ist insbesondere nützlich, wenn durch verschiedene
Senderschaltungen aufeinanderfolgende Nachrichten erzeugt werden
können.
Wenn jedoch eine Senderschaltung einen Strom von Datennachrichten
variabler Länge
erzeugt, die mit Hilfe des unten beschriebenen Worttrennungsverfahrens
voneinan der getrennt sind, wird vorzugsweise der Pegel, mit dem
die letzte Nachricht endete, als Anfangspegel beibehalten. Auf diese
Weise wird vermieden, dass die Pegel auf den Standardpegel zurückgesetzt
werden müssen, was
zusätzlich
Zeit und einen oder mehrere Übergänge erfordert.
In 2B wird angenommen, dass sich beide Signale auf
einem anfangs „niedrigen" Pegel befanden.
Es ist zu beachten, dass man „niedrig" und „hoch" ohne Auswirkung
auf das System umkehren kann.
-
Am
Beispiel der Datennachricht aus 2A:
Nachrichtenwort:
1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0
-
Die
Codierung gemäß der Erfindung
ergibt Folgendes, wobei T einen Übergang
und N keinen Übergang
andeutet:
Erstes Signal: N N T T T N T T N T N N N N T T
-
Die Übergangsinformation
für das
zweite Signal ist einfach die Umkehrung.
-
Ausgehend
von einem niedrigen Pegel führt
dies zu den folgenden Pegeln, wobei L einen niedrigen Pegel und
H einen hohen Pegel andeutet:
Erstes Signal: L L H L H H L
H H L L L L L H L
Zweites Signal: H L L L L H H H L L H L H
L L L
-
Dies
entspricht den in 2B gezeigten Signalpegeln.
-
In 2 führt
ein Datenbit „0" zu einem Übergang
des ersten Signals 130. Es ist zu beachten, dass beide
Signale 130 und 140 gleichermaßen ausgetauscht werden können, wobei
ein Datenbit „1" zu einem Übergang
des Signals 130 führt.
Es versteht sich außerdem,
dass mit demselben Konzept an Stelle von binären Daten auch Daten mit mehr
Pegeln übertragen
werden können.
Beispielsweise kann ein vierwertiges Datenelement (zwei Bits kombiniert)
mit Hilfe von vier parallelen Signalen übertragen werden, wobei jedes
Signal einem der Werte zugeordnet ist (d.h. ein Übergang des Signals deutet
den entsprechenden Wert an). Alternativ können zwei parallele Signale
mit jeweils drei Signalpegeln verwendet werden. In einem derartigen
System kann eine „0" mit Hilfe einer
Pegeländerung
beim ersten Signal dargestellt werden, eine „1" durch zwei Pegeländerungen beim ersten Signal,
eine „2" durch eine Pegeländerung
beim zweiten Signal und eine „3" durch zwei Pegeländerungen
beim zweiten Signal. Bei Verwendung von drei Pegeln, angedeutet
durch L (low = niedrig), M (medium = mittel) und H (high = hoch),
könnte
eine Ein-Pegel-Änderung
dargestellt werden durch: L zu M, M zu H und H zu L (zyklische Änderung). Ähnlich könnte eine
Zwei-Pegel-Änderung
dargestellt werden als: L zu H, M zu L, H zu M. Die Verwendung von
zwei Signalen zur Darstellung von vier Werten führt zu einem Takt signal mit
erneut halbierter Frequenz. Der Einfachheit halber wird in der verbleibenden
Beschreibung auf die Signale aus 2B Bezug
genommen.
-
Der
Codierer der Senderschaltung
110 kann auf verschiedene
Weise implementiert werden. Wenn ein niedriger Pegel des zweiten
Signals
140 als „0" interpretiert wird,
dann zeigt die folgende Tabelle, wie sich der neue Pegel des zweiten
Signals vom vorhandenen Pegel des zweiten Signals und dem zu sendenden
Datenbit ableiten lasst:
-
Die
Tabelle zeigt, dass der neue Pegel des zweiten Signals 140 einfach
als eine XOR-Verknüpfung des
vorhandenen Pegels und des zu sendenden Datenbits erlangt werden
kann.
-
Man
wird sich erinnern, dass, wenn das zweite Signal 140 den
Pegel ändert,
das erste Signal 130 nicht den Pegel ändert. Wenn man annimmt, dass
sich vor dem Übertragungsbeginn
der Nachricht beide Signale auf demselben Anfangspegel befinden,
folgt daraus, dass der als das erste Signal 130 für das erste
Datenbit (nummeriert mit b0) der Nachricht übertragene
Pegel die Umkehrung des Pegels des zweiten Signals 140 ist. Beim
zweiten Bit (b1) macht erneut nur eine der
Signaländerungen
die Signale gleich. Dies setzt sich für die verbleibenden Bits fort.
Das erste Signal 130 als solches kann vom zweiten Signal
abgeleitet werden, indem man die „gerade" nummerierten Pegel (d.h. solche Pegel,
die b0, b2, b4, ... darstellen) umkehrt und die „ungerade" nummerierten Pegel
(d.h. solche Pegel, die b1, b3,
b5, ... darstellen) beibehält. Es sollte
beachtet werden, dass diese Art, Signale voneinander abzuleiten,
auch für
die in der US-amerikanischen Patentschrift 5.341.371 beschriebene
Codierung verwendet werden kann.
-
Es
ist zu beachten, dass auf ähnliche
Weise wie in der Tabelle gezeigt der neue erste Signalpegel auch vom
vorhandenen ersten Signalpegel und dem zu sendenden Datenbit abgeleitet
werden kann.
-
Der
Decodierer in der Empfängerschaltung 120 kann
das Taktsignal 150 abrufen, indem er die Flanken beider
Signale 130 und 140 detektiert. Bei der in 2B gezeigten
Codierung kann das Taktsignal 150 alternativ abgerufen
werden, indem man das erste und zweite Signal 130 und 140 einfach
zusammen einer XOR-Verknüpfung
unter zieht. Das Datensignal 160 kann abgerufen werden,
indem detektiert wird, ob im ersten Signal 130, das ein
Datenbit „0" darstellt, oder
im zweiten Signal 140, das ein Bit „1" darstellt, ein Übergang stattgefunden hat.
Dieser Abruf kann auch mit Hilfe einer Flankendetektierung geschehen.
In diesem Fall ist es unter Umständen
nicht erforderlich, das Taktsignal separat abzurufen, wenn das Taktsignal
nicht für
andere Zwecke in der Empfängerschaltung
oder anderen Funktionen auf der Empfangsseite benutzt wird. Der
Abruf kann auch erfolgen, indem das abgerufene Taktsignal benutzt
wird, um eines (oder beide Signale) abzutasten, und indem zwei aufeinanderfolgende
Abtastwerte benutzt werden, um zu ermitteln, ob ein Übergang
stattgefunden hat oder nicht. Beispielsweise kann eine XOR-Logik verwendet werden,
um die aufeinanderfolgenden Abtastwerte zu vergleichen. Wenn die
Abtastwerte gleich sind, erzeugt die XOR-Logik eine „0"; andernfalls wird
eine „1" erzeugt. Bei Verwendung
einer XOR-Logik wird vorzugsweise das zweite Signal 140 abgetastet. In
diesem Fall deutet ein Signalübergang
an, dass ein „1"-Bit gesendet wurde.
Die XOR-Logik als solches erzeugt direkt das Datenbit. Falls das
erste Signal 130 abgetastet wird, ist ein zusätzlicher
Invertierer erforderlich (oder ein XNOR-Gatter an Stelle des XOR-Gatters
und Invertierers). Es wird deutlich sein, dass das Abtasten eines
der beiden Signale ausreicht. Aus Gründen der Fehlererkennung können beide
Signale abgetastet und die Resultate verglichen werden. Vorzugsweise
erfolgt der Vergleich, nachdem die Signalabtastwerte in Datenbits
umgewandelt wurden. Da die Umwandlung/Decodierung sowieso erforderlich
ist, wird auf diese Weise eine zusätzliche Logik zum Vergleichen
der verschiedenen Abtastwerte beider Signale vermieden.
-
Das
erfindungsgemäße System
kann als ein unidirektionales Punkt-zu-Punkt-Kommunikationssystem benutzt werden,
bei dem ein einzelner Sender Daten an einen einzelnen Empfänger sendet.
Das System kann auch als ein Eins-an-viele-Verteilungssystem mit einem einzelnen
Sender und einem oder mehreren Empfängern benutzt werden. Im Prinzip
kann auch mehr als ein Sender benutzt werden. In einem derartigen
Fall ist ein Mechanismus höherer
Ordnung erforderlich, um sicherzustellen, dass eine Kollision aufgrund
einer durch zwei oder mehr Sender eingeleiteten Übertragung vermieden wird.
Es sind verschiedene Verfahren wie Token-Passing, CSMA/CD oder Bit-Entscheidung bekannt,
um derartige Situationen zu vermeiden oder zu bewältigen.
Das erfindungsgemäße Übertragungssystem
als solches kann auch in bidirektionalen Multi-Master-Systemen eingesetzt werden.
-
Wenn
das erfindungsgemäße System
verwendet wird, um einen Strom von Datennachrichten (Wörtern) zu übertragen,
wie es bei Audio/Videodaten üblicherweise
der Fall ist, kann insbesondere das folgende Worttrennungsverfahren
vorteilhaft angewandt werden. Die Senderschaltung 110 stellt
sicher, dass Nachrichten eines Nachrichtenstroms durch eine Lücke in den Übergängen voneinander
getrennt werden, in der für
die Dauer von mindestens einer Datenbitperiode seit dem letzten Übergang
kein neuer Übergang
stattfindet. Während
dieser „Verzögerungsperiode" hält die Senderschaltung
das erste und das zweite Signal auf einem im Wesentlichen konstanten
Pegel. Infolgedessen ist mindestens eine Flanke des Taktsignals
nicht in den Signalen vertreten. Die Verzögerung von mindestens einer
Bitperiode wird in Bezug auf das Taktsignal 150 gemessen. Die
Empfängerschaltung 120 detektiert
das Fehlen einer Taktflanke, kurz nachdem eine Datenbitperiode seit dem
letzten Übergang
abgelaufen ist. Im Prinzip reicht eine Verzögerung von einer Bitperiode
aus. Bevorzugt wird jedoch die Verwendung einer Verzögerung von
zwei Bitperioden, um eine einfache/zuverlässige Implementierung der Empfängerschaltung
zu ermöglichen.
Die Verwendung einer Verzögerung
von zwei Bitperioden gestattet eine Implementierung mit einem Bit
Toleranz (statt beispielsweise einem halben Bit Toleranz bei einer
kürzeren
Verzögerungsperiode).
Außerdem
bleibt die Taktparität
dieselbe. Folglich wird ein N-Bit-Wort unter Verwendung von N + 2 Datenbitperioden
auf dem Bus gesendet. Vorzugsweise werden die Signale auf einem
konstanten Pegel gehalten, wie während
des letzten Bits der gerade abgeschlossenen Nachricht gesendet.
Insbesondere in Systemen, in denen aufeinanderfolgende Wörter durch
verschiedene Sender gesendet werden, kann es nützlich sein, einen standardmäßig konstanten
Pegel zu verwenden, der nicht von der letzten Nachricht abhängig ist.
Dies kann allerdings die Verzögerungsdauer
um ein Bit verlängern,
weil nach dem Senden des letzten Bits der Nachricht ein Übergang
auf diesen Standardpegel erforderlich sein kann. Wenn ein konstanter
Pegel verwendet wird, wird der Pegel selbst vorzugsweise benutzt,
um zusätzliche
Informationen im Hinblick auf das vorangegangene oder nachfolgende
Wort bereitzustellen. Beispielsweise kann der konstante Pegel des
ersten und/oder zweiten Signals benutzt werden, um bestimmte Wörter des
Stroms zu identifizieren und so eine Synchronisation ermöglichen.
Bei Audiosignalen werden vorzugsweise konstante Pegel verwendet,
um die verschiedenen Audiowörter
wie Links, Rechts, Mitte oder Surround zu identifizieren.
-
Es
ist zu beachten, dass die Wortangabe variabler Länge gemäß der Erfindung im Prinzip
das Senden von Datennachrichten mit einer beliebigen Anzahl von
Daten bits gestattet. Die Anzahl der Datenbits ist nicht auf beispielsweise
ein Vielfaches von acht Bits beschränkt. In einer praktischen Anwendung
kann für
eine einfache Implementierung der Empfängerschaltung eine minimale
Länge von
beispielsweise zwei bis vier Bits erforderlich sein. Wenn zum Beispiel
ein Minimum von zwei Bits garantiert ist, brauchen die ersten beiden
Abtastzellen eines Abtastregisters nicht zurückgesetzt zu werden (sie werden überschrieben),
was eine Rücksetzungsperiode
von fast zwei Datenbits der verbleibenden Zellen des Abtastregisters
ermöglicht.
Je nach Implementierung der Taktsynchronisierungsschaltung kann
es vorgezogen werden, eine Mindestanzahl von vier Datenbits (d.h.
vier Übergänge) zu
haben, um durch eine genaue Synchronisierung in der Lage zu sein,
bei einer Abfolge kleiner Wörter
zuverlässig
ein Wortende zu detektieren. Vorzugsweise wird eine Nachricht (Wort) zuerst
mit dem höchstwertigen
Bit (MSB) gesendet. So können
der Sender und der Empfänger
auf einfache Weise verschiedene Wortlängen unterstützen. Der
Sender kann zum Beispiel 20-Bit-Audioworte oder 32-Bit-Videoworte
benutzen, während
der Empfänger
nur 16-Bit-Audioworte oder 24-Bit-Videoworte unterstützt oder
umgekehrt. Die Senderschaltung überträgt einfach
alle Bits des Wortes und gibt das Ende des Wortes danach an. Wenn
die Empfängerschaltung 120 ein
größeres Wort
als tatsächlich übertragen
unterstützt, stellt
die Empfängerschaltung 120 sicher,
dass nach einer Seriell-zu-parallel-Umsetzung das (die) geringswertige(n)
Bit(s), für
die keine Datenbits empfangen wurden, auf einen Standardwert wie „0" zurückgesetzt
werden. Dies wird vorzugsweise implementiert, indem anfangs ein
paralleles Empfangsregister gelöscht
und das Register mit Datenbits eines neu empfangenen Wortes gefüllt wird,
das am MSB des Registers beginnt. Dadurch bleiben die LSB-Speicherzellen
des Registers automatisch auf dem Rücksetzungswert. Anschließend wird
das Register in Reaktion darauf ausgelesen, dass die Empfängerschaltung
einen Hinweis auf das Wortende empfängt. Auf das Auslesen kann
dann ein erneutes Zurücksetzen
des Registers folgen. Falls im Voraus bekannt ist, dass alle Nachrichten
einer Sequenz dieselbe Größe haben
werden, ist dieses letzte Löschen
nicht erforderlich, weil die Daten in den verwendeten MSB-Zellen
des Registers automatisch überschrieben
werden und die nicht verwendete(n) LSB-Zelle(n) auf dem Standardwert
bleiben. Wenn die Empfängerschaltung 120 andererseits
eine kleinere Wortgröße als tatsächlich übertragen
unterstützt,
stellt die Empfängerschaltung 120 sicher,
dass, nachdem die unterstützte
Anzahl abgetasteter Werte (oder Datenbits, d.h. decodierte Abtastwerte)
empfangen wurde, keine weiteren Abtastwerte oder Datenbits gespeichert
werden. Dies kann beispielsweise durch Verwendung eines Zählers implementiert
werden, der, nachdem die ge wünschte
Anzahl von Abtastwerten/Datenbits gespeichert wurde, das Taktsignal
daran hindert, eine weitere Speicheroperation auszuführen. Diese
Funktion kann auch einfach als Teil der unten beschriebenen Seriell-zu-parallel-Umsetzung
erzielt werden.
-
Das
Verfahren zum Anzeigen eines Wortendes kann auf unterschiedliche
Weise implementiert werden. Angenommen beispielsweise, dass ein
das Wortende (und optional den Wortanfang) anzeigende „Wortauswahl"-Signal der Senderschaltung 110 zugeführt wird,
dann kann dieses Signal dafür
verwendet werden, die Zuführung
der codierten Signale zu den entsprechenden Ausgängen für die erforderliche Verzögerungsperiode
zu unterbrechen. Dies führt
dazu, dass die Ausgänge
auf demselben Pegel gehalten werden, wie er für das letzte Datenbit benutzt
wurde. In der Empfängerschaltung 120 wird
vorzugsweise eine Verzögerungsregelschleife
verwendet, um den Vergleich des abgerufenen Taktsignals mit einem
um eine Datenperiode verzögerten
Taktsignal zu steuern. Wenn der Vergleich zeigt, dass in dem Taktsignal
kein Übergang
stattgefunden hat, signalisiert dies das Ende eines Wortes.
-
Die 3, 4 und 5 zeigen
Blockschaltbilder einer bevorzugten Ausführungsform der Senderschaltung 110 und
Empfängerschaltung 120.
Die gezeigten Ausführungsformen
arbeiten mit halber Taktfrequenz, unterstützen Wörter variabler Länge, kürzen/ergänzen automatisch
Wörter
im Empfänger
und führen die
Codierung/Decodierung parallel durch (was eine Codierung bei niedriger
Frequenz gestattet). Es ist zu beachten, dass diese Merkmale einzeln
genutzt werden können.
Es versteht sich auch, dass die zugrunde liegenden Prinzipien gleichermaßen gut
auf die Codierung/Decodierung, wie in der US-amerikanischen Patentschrift
5.341.371 beschrieben, angewandt werden können.
-
3 zeigt
ein Blockschaltbild einer bevorzugten Ausführungsform der Senderschaltung 110.
Bei diesem Blockschaltbild wird angenommen, dass ein Wort in der
Senderschaltung 110 N Datenbits 300 umfasst, die
in einem parallelen Eingangsdatenregister 310 der Senderschaltung 110 gespeichert
sind. Bei Bedarf kann zunächst
ein serieller Strom von Datenbits für die Speicherung im parallelen
Register 310 auf bekannte Weise umgesetzt werden. Es wird
weiterhin angenommen, dass ein Taktsignal clk 302 und ein
invertiertes Taktsignal clkn 304 verfügbar sind. Beide Signale werden
genutzt, um die Verwendung eines Halbfrequenztaktes zu ermöglichen.
Ein weiteres Signal word-clk 306 wird als verfügbar angenommen.
Dieses Signal deutet direkt oder indirekt das Ende der Zuführung sämtlicher
Datenbits eines Wortes über
ein Signal 300 an die Empfängerschaltung 110 an.
In der gezeigten Ausführungsform
wird das Signal word-clk 306 benutzt, um die Daten in paralleler
Form in das Eingangsdatenregister 310 zu takten. Das Signal
word-clk 306 als
solches wird auch benutzt, um zu steuern, dass die Datenbits aus
dem parallelen Eingangsdatenregister 310 abgerufen, von
der Logik 320 in N codierte Werte (Signalpegel) codiert
und auf zwei Schieberegister 330 und 340 aufgeteilt
werden. In dem Beispiel werden die ungeradzahligen codierten Werte
im „Ungerade"-Schieberegister 340 und
die geradzahligen codierten Werte im „Gerade"-Schieberegister 330 gespeichert.
Multiplexer 350 und 360 liefern einen codierten
Wert als die entsprechenden codierten Werte 130 und 140.
Die Multiplexer 350 und 360 werden unter der Steuerung
des Halbfrequenztaktes clk 302 bzw. clkn 304 geschaltet,
um einen codierten Wert entweder aus dem Ungerade-Schieberegister 340 oder
dem Gerade-Schieberegister 330 zu extrahieren. Durch den
Einsatz von zwei komplementären
Schieberegistern können
die Halbfrequenztaktsignale verwendet werden, um einen Vollfrequenzdatenstrom
auszugeben. In dem gezeigten Beispiel erzeugt die Codierung durch
die Logik 320 die Signalpegel für das zweite Signal 140.
Die Signalpegel für
das erste Signal 130 können auf
einfache Weise von diesen Signalen abgeleitet werden, indem man
einen Invertierer 370 benutzt, um die geradzahligen Signalpegel
zu invertieren (davon ausgehend, dass die Nummerierung bei Bit 0
beginnt), wie oben ausführlicher
beschrieben.
-
Ein
Wortsynchronisierungsgenerator 380 stellt sicher, dass
in Reaktion auf ein vom Signal word-clk 306 angedeutetes
Wortende die Taktsignale daran gehindert werden, das Schieberegister 330 und 340 zu
verstellen. Im gezeigten Beispiel wird angenommen, dass die Wortgröße so ist,
dass die Multiplexer 350 und 360 in diesem Moment
auf das Ungerade-Register 340 umgeschaltet werden. Dieses
Register hat eine zusätzliche Zelle 342,
um den letzten Ausgabepegel beizubehalten, der nicht gelöscht wird,
während
die Pegel für
das neue Wort geladen werden. Auf diese Weise werden die Signalpegel 130 und 140 konstant
gehalten. Die Multiplexer 350 und 360 werden unter
der Steuerung der Taktsignale geschaltet, die unter der Steuerung
des Wortsynchronisierungsgenerator 380 blockiert werden
können,
um ein Umschalten nach dem Wortende zu verhindern. Es ist zu beachten,
dass, wenn sowohl ungeradzahlige als auch geradzahlige Wörter von
der Senderschaltung 110 gesendet werden können, beide
Register 330 und 340 vorzugsweise eine Haltezelle
umfassen. Der gehaltene Ausgangspegel des zweiten Signals 130 wird
als Signal 390 an die Codierlogik 320 zurückgeführt, um
eine korrekte Codierung des Pegels für das erste Datenbit des nächsten Wortes
zu ermöglichen.
Dies setzt voraus, dass das erste und das zweite Signal zwischen
Wörtern
auf dem letzten Ausgangspegel gehalten werden. So mit wird das neue
Wort relativ zum letzten Wort codiert. Wenn das Ende des Wortes
mit Hilfe fester Standardpegel (z.B. einem Niedrigpegel) der Signale
angegeben wird, dann ist das Rückkopplungssignal 390 nicht
erforderlich.
-
4 zeigt
den Codierungsblock 320. Wie oben ausführlicher beschrieben, wird
für das
zweite Signal 140 jeder folgende Pegel als eine XOR-Verknüpfung des
aktuellen Pegels mit dem zu sendenden Datenbit gebildet. Wenn bi den Pegel des zweiten Signals 140 für ein Datenbit
di angibt, dann ist bi+1 =
XOR (bi, di+1),
für i =
1 bis N – 1,
wie in 4 gezeigt. In Übereinstimmung
mit dem Beispiel aus 3 wird der erste Pegel b0 als die XOR-Verknüpfung von d0 und
dem Rückkopplungssignal 390 bestimmt,
das den aktuellen Pegel des zweiten Signals 140 darstellt.
-
5 zeigt
ein Blockschaltbild einer bevorzugten Ausführungsform der Empfängerschaltung 120.
Mit Hilfe einer XOR-Funktion 410 wird das Halbperiodentaktsignal
vom ersten Signal 130 und vom zweiten Signal 140 abgerufen.
Eine Verzögerungsregelschleife 420 umfasst
eine Verzögerungsleitung 422,
um das wiederhergestellte Taktsignal um zwei Datenbitperioden, d.h.
einen volle Taktperiode, zu verzögern.
Der Wortendedetektor 430 verwendet den wiederhergestellten
Takt und den verzögerten
Takt, um zu detektieren, ob eine Flanke im wiederhergestellten Takt
fehlt, was das Ende eines Wortes angibt. In Reaktion darauf wird
ein Wortauswahlsignal (ws) erzeugt, welches bewirkt, dass ein Aktivierungswert
in ein Zeigerschieberegister 440 geladen wird. Unter der
Steuerung des wiederhergestellten Taktsignals wird der Aktivierungswert
durch das Schieberegister 440 verschoben. Je nach Position
des Aktivierungswertes im Schieberegister, wird eine der Abtasteinheiten
eines parallelen Abtastregisters 450 aktiviert, um den
Pegel des zweiten Signals 140 abzutasten und zu festzuhalten.
Das Wortauswahlsignal steuert auch das Zurücksetzen des Schieberegisters 440,
um den Aktivierungswert zu entfernen, der sich im Prinzip an jeder
Position im Schieberegister 440 befinden kann, falls ein
kurzes Wort empfangen wurde. Der neue Aktivierungswert wird erst
geladen, wenn das Zurücksetzen
des Schieberegisters 440 abgeschlossen ist, oder alternativ,
die erste(n) Zelle(n) des Schieberegisters 440 werden nicht
zurückgesetzt.
Unter der Steuerung des Wortauswahlsignals werden die abgetasteten
Pegel parallel durch einen Decodierer 460 zu einem parallelen
Ausgangsregister 470 übertragen.
Das Abtastregister 450 kann teilweise oder vollständig zurückgesetzt
werden, falls aufeinanderfolgende Datenwörter unterschiedliche Längen haben
dürfen.
Andernfalls würden
Positionen des Abtastregisters, die garantiert durch neue Abtastwerte
des nächsten
Wortes neu geladen werden, nicht zurückgesetzt. Die abgerufenen Daten 480 werden
vom Ausgangsregister 470 ausgegeben. Ein separater Abtastwert 490 dient
dazu, den letzten abgetasteten Pegel des zweiten Signals 140 zu
halten. Dieser abgetastete Pegel wird als ein Signal 495 an
den Decodierer 460 geliefert, um das erste Bit der Nachricht
zu decodieren. Das Decodieren selbst ist unkompliziert. Angenommen,
dass die im Abtastregister 450 gespeicherten abgetasteten
Pegel von b0 bis bN durchnummeriert
sind, wobei b0 das MSB-Datenbit darstellt,
dann werden die entsprechenden Datenbits d0 bis
dN wie folgt abgerufen. Da bekanntlich eine
Pegeländerung
des zweiten Signals 140 ein Datenbit „1" impliziert, lässt sich der Datenbitwert tatsächlich als
die XOR-Verknüpfung
von zwei aufeinanderfolgenden abgetasteten Pegeln des zweiten Signals 140 abrufen.
Wenn also bi den Pegel des zweiten Signals 140 für das Datenbit
di angibt, dann gilt di+i =
XOR (bi, bi+1),
für i =
1 bis N – 1.
Angenommen, dass der erste Pegel eines Wortes relativ zum letzten
Pegel des unmittelbar vorhergehenden Wortes codiert wird, kann d0 als die XOR-Verknüpfung von b0 und
dem Signal 495 abgerufen werden. Eine optionale Verzögerung 415 kann
hinzugefügt
werden, um verschiedene Laufzeiten des wiederhergestellten Taktsignals
und der den Abtasteinheiten bereitgestellten Signale zu kompensieren,
die die codierten Daten darstellen. Der Latch 435 stellt
die Synchronisierung von Wortende/Rücksetzung sicher. Das Wortauswahlsignal
löst das
Wortende aus, was auch zum Zurücksetzen
von einigen der Zellen des Abtastregisters 450 und des
Schieberegisters 440 führt.
Vorzugsweise wird die Rücksetzung
durch den Aktivierungswert im Schieberegister 440 beendet.
In der gezeigten Ausführungsform
wird davon ausgegangen, dass jede Nachricht mindestens zwei Datenbits
umfasst. An sich müssen
die ersten beiden Zellen des Schieberegisters 440 und des
Abtastregisters 450 nicht zurückgesetzt werden. Es ist sichergestellt,
dass die Rücksetzung
beendet wird, indem ein Signal vom Schieberegister 440 an
den Latch 435 geliefert wird, wenn der Aktivierungswert
zur zweiten Zelle des Schieberegisters 440 verschoben wurde.
-
Für die Ausführungsformen
oben wurden der Codierer und der Decodierer so beschrieben, als
stellten sie die Datenbits di direkt als
Signalpegel auf den Signalen 130 und 140 dar,
wobei XOR-Funktionen verwendet wurden, um Datenbits zum codierten
Signal zu übertragen
und umgekehrt. Es ist zu beachten, dass auch eine andere Binärlogik verwendet
werden kann. In einer allgemeineren Form bewirkt die Senderschaltung 110 als solches
einen Übergang
des ersten Signals 110 an einer dem Datenbit d der Datennachricht
vorausgehenden Datenbitgrenze, wenn eine Funktion f(d) des Datenbits
d einen ersten Wert (z.B. „0") hat, und sie bewirkt
einen Übergang
des zweiten Signals an der Datenbitgrenze, wenn die Funktion f(d)
einen unterschiedlichen zweiten Wert (z.B. „1") hat. Eine derartige Funktion kann
sehr einfach sein und in das Codieren/Decodieren integriert sein.
Beispielsweise kann die Funktion f(d) eine binäre Kombination des Datenbits
d mit einem oder mehreren Bits eines vorgegebenen Codewortes sein.
Indem man ein Codewort derselben Länge wie das zu sendende Codewort
nimmt, kann die Funktion f unter Verwendung einer XOR-Funktion jedes Datenbit
mit einem entsprechenden Bit des Codewortes verknüpfen. Bei
Verwendung einer derartigen binären
Funktion kann man das erste Signal 110 tatsächlich so
betrachten, als stelle es dar, dass das zu sendende Datenbit gleich
dem entsprechenden Bit des Codewortes ist, während das zweite Signal 120 darstellt,
dass das Datenbit nicht mit dem entsprechenden Bit des Codewortes übereinstimmt.
Es ist zu beachten, dass auch alternative Funktionen verwendet werden
können.
Darüber
hinaus können
auch Funktionen, die eine Ausgabe an mehr als zwei Werten bereitstellen,
verwendet werden, insbesondere, wenn mehr als zwei Signale oder
mehr als zwei Signalpegel zum Übertragen
der Daten verwendet werden.
-
Text in den
Figuren
-
3
-
- parallel input data register – paralleles Eingabedatenregister
- bodd – bungerade
- beven – bgerade
- shift register – Schieberegister
- Async – asynchron
- Load – laden
- MUX – Multiplexer
- word-sync generator – Wortsynchronisationsgenerator
-
5
-
- Control – Steuerung
- Delayline – Verzögerungsleitung
- word detect – Wortdetektierung
- SR latch – SR-Latch
- pointer shift register – Zeigerschieberegister
- Samplers – Abtasteinheiten
- parallel output register – paralleles
Ausgaberegister