PatentDe  


Dokumentenidentifikation DE69934663T2 25.10.2007
EP-Veröffentlichungsnummer 0001038377
Titel SERIELLES HOCHGESCHWINDIGKEITSÜBERTRAGUNGSSYSTEM
Anmelder Koninklijke Philips Electronics N.V., Eindhoven, NL
Erfinder DEN BESTEN, W., Gerrit, NL-5656 AA Eindhoven, NL;
PELGROM, J., Marcellinus, NL-5656 AA Eindhoven, NL
Vertreter Eisenführ, Speiser & Partner, 10178 Berlin
DE-Aktenzeichen 69934663
Vertragsstaaten DE, FR, GB, IT, NL
Sprache des Dokument EN
EP-Anmeldetag 07.07.1999
EP-Aktenzeichen 999346158
WO-Anmeldetag 07.07.1999
PCT-Aktenzeichen PCT/EP99/04765
WO-Veröffentlichungsnummer 2000005848
WO-Veröffentlichungsdatum 03.02.2000
EP-Offenlegungsdatum 27.09.2000
EP date of grant 03.01.2007
Veröffentlichungstag im Patentblatt 25.10.2007
IPC-Hauptklasse H04L 25/02(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04L 1/24(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]

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üsselungsprinzipien 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 anzudeuten. 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 voneinander 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 Taktsignal 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 unterzieht. 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 Datenbits 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 gewü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. Somit 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 Fig. 3

  • parallel input data register – paralleles Eingabedatenregister
  • bodd – bungerade
  • beven – bgerade
  • shift register – Schieberegister
  • Async – asynchron
  • Load – laden
  • MUX – Multiplexer
  • word-sync generator – Wortsynchronisationsgenerator

Fig. 5

  • Control – Steuerung
  • Delayline – Verzögerungsleitung
  • word detect – Wortdetektierung
  • SR latch – SR-Latch
  • pointer shift register – Zeigerschieberegister
  • Samplers – Abtasteinheiten
  • parallel output register – paralleles Ausgaberegister


Anspruch[de]
Serielles Kommunikationssystem (100) mit mindestens einer Senderschaltung (110) und mindestens einer Empfängerschaltung (120), 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 (130, 140) 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 (130, 140) 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;

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.
Serielles Kommunikationssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Empfängerschaltung Mittel hat, um zu detektieren, ob im ersten und/oder zweiten Signal ein Signalübergang stattgefunden hat, und in Abhängigkeit vom Detektierungsergebnis den Wert von f(d) zu ermitteln. Serielles Kommunikationssystem nach Anspruch 1, dadurch gekennzeichnet, dass das Datenelement ein Datenbit ist und die Empfängerschaltung erste Datenbit-Wiederherstellungsmittel umfasst, die dafür eingerichtet sind:

– das erste Signal synchron mit dem wiederhergestellten Taktsignal abzutasten;

– einen abgetasteten Wert bi+1, der zu einem Zeitpunkt ti+1 abgetastet wurde, mit einem abgetasteten Wert bi zu vergleichen, der zu einem dem Zeitpunkt ti+1 unmittelbar vorausgehenden Zeitpunkt ti abgetastet wurde; und

– festzustellen, ob die Funktion f(di+1) des Datenbits di+1 den ersten Wert hat, wenn bi ≠ bi+1, und ob f(di+1) den zweiten Wert hat, wenn bi = bi+1.
Serielles Kommunikationssystem nach Anspruch 1, dadurch gekennzeichnet, dass das Datenelement ein Datenbit ist und die Empfängerschaltung zweite Datenbit-Wiederherstellungsmittel hat, die dafür eingerichtet sind:

– das zweite Signal synchron mit dem wiederhergestellten Taktsignal abzutasten;

– einen abgetasteten Wert bi+1, der zu einem Zeitpunkt ti+1 abgetastet wurde, mit einem abgetasteten Wert bi zu vergleichen, der zu einem dem Zeitpunkt ti+1 unmittelbar vorausgehenden Zeitpunkt ti abgetastet wurde; und

– festzustellen, ob die Funktion f(di+1) des Datenbits di+1 den ersten Wert hat, wenn bi = bi+1, und ob f(di+1) den zweiten Wert hat, wenn bi ≠ bi+1.
Serielles Kommunikationssystem nach Anspruch 3 und 4, dadurch gekennzeichnet, dass die Empfängerschaltung Fehlererkennungsmittel umfasst, die dafür eingerichtet sind zu erkennen, ob ein Fehler aufgetreten ist, wenn f(di+1), wie von den ersten Datenbit-Wiederherstellungsmitteln festgestellt, von f(di+1), wie von den zweiten Datenbit-Wiederherstellungsmitteln festgestellt, abweicht. Serielles Kommunikationssystem nach einem der Ansprüche 3, 4 oder 5, dadurch gekennzeichnet, dass die Empfängerschaltung Mittel umfasst, um eine Vielzahl von seriellen Abtastwerten in ein paralleles Abtastwort umzuwandeln und den Vergleich des abgetasteten Wertes bi+1 mit dem abgetasteten Wert bi für die parallelen Abtastwerte durchzuführen. Serielles Kommunikationssystem nach Anspruch 1, dadurch gekennzeichnet, dass f(d) = d. Serielles Kommunikationssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Funktion f(d) eine binäre Kombination des Datenbits d mit mindestens einem Bit eines vorgegebenen Codewortes ist. Serielles Kommunikationssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Senderschaltung Mittel umfasst, um einen Strom von Datennachrichten variabler Länge zu übertragen, indem nach Beendigung der Übertragung einer Nachricht des Stroms das erste und zweite Signal für eine Verzögerungsperiode von mindestens einer vom Taktsignal angegebenen Datenbitperiode auf einem im Wesentlichen konstanten Pegel gehalten und die Übertragung einer nachfolgenden Nachricht des Stroms nach Ablauf der Verzögerungsperiode ermöglicht wird, und dadurch, dass die Empfängerschaltung Mittel umfasst, um festzustellen, ob für im Wesentlichen mehr als eine Datenelementperiode sowohl im ersten als auch zweiten Signal kein Signalübergang auftritt, und, wenn dies der Fall ist, um festzustellen, ob eine Nachricht beendet ist. Sendegerät für die Verwendung in dem System nach einem der vorangegangenen Ansprüche und umfassend eine Senderschaltung mit Mitteln, um synchron mit einem Taktsignal eine Kombination aus Taktsignal und Datenelement(en) einer Datennachricht als das erste und zweite Signal seriell darzustellen und über parallele Signalträger an eine Empfängerschaltung zu übertragen, 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, an einer dem Datenelement d der Datennachricht vorausgehenden Datenelementgrenze einen Übergang des ersten Signals zu bewirken, wenn eine Funktion f(d) des Datenelements d einen ersten Wert hat, und einen Übergang des zweiten Signals an der Datenelementgrenze zu bewirken, wenn die Funktion f(d) des Datenelements d einen unterschiedlichen zweiten Wert hat. Empfängergerät für die Verwendung in dem System nach einem der vorangegangenen Ansprüche und umfassend eine Empfängerschaltung mit Mitteln:

um ein erstes und zweites Signal über parallele Signalträger 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.
Verfahren einer 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, und das Verfahren Folgendes 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,

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,

dadurch gekennzeichnet, dass:

das Codieren das Bewirken eines Übergangs des ersten Signals an einer dem Datenelement d 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.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com