-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese
Erfindung betrifft ein Kommunikationssystem wie z.B. ein Netzwerk
von miteinander verbundenen Knoten zum Senden von strömenden und nicht
strömenden
Daten, in dem isochrone strömende
Daten innerhalb eines Segments jedes Rahmens gesendet werden können, der
durch ein vorangehendes Signalisierungsbit oder -byte und/oder durch
Verwendung einer Codierungsverletzung gekennzeichnet wird.
-
2. Beschreibung des Stands
der Technik
-
Kommunikationssysteme
sind im Allgemeinen gut bekannt dafür, dass sie mindestens zwei Knoten
enthalten, die durch eine Übertragungsleitung
miteinander verbunden sind. Ein Knoten kann als Datenquelle oder
Ziel funktionieren. Wenn der Knoten Daten empfangen und senden soll,
so ist der Knoten eine Kombination aus einer Quelle und einem Ziel,
was manchmal als Transceiver bezeichnet wird. Die Datenquelle kann
Daten in verschiedenen Formen senden. Zum Beispiel kann die Quelle
entweder im analogen oder digitalen Bereich senden. Typischerweise
wird jedoch ein analoges Signal in ein digitales Format umgewandelt,
bevor es über
die Übertragungsleitung
zum Ziel gesendet wird.
-
Es
ist im Allgemeinen wünschenswert,
dass die Übertragungsleitung
nicht nur digitale oder analoge Daten aufnimmt, sondern auch Daten,
die in verschiedenen Formen, im Folgenden als „Datentypen" bezeichnet, eintreffen
können.
Technisch ausgefeilte Übertragungsprotokolle
zum Beispiel können
strömende
Daten, paketierte Daten und Steuerdaten aufnehmen. Strömende Daten
werden im Allgemeinen als Daten erkannt, die eine zeitliche Beziehung
zwischen den Abtastungen aufweisen, die von einem Knoten erzeugt
werden. Die Beziehung zwischen diesen Abtastungen muss über die Übertragungsleitung
hinweg beibehalten werden, um wahrnehmbare Fehler wie z.B. Lücken oder
veränderte
Frequenzen zu vermeiden. Ein Verlust der zeitlichen Beziehung kann
einen Empfänger
dazu veranlassen, Schwankungen, Echo oder im schlimmsten Fall periodische Ausfälle in einem
Sprach- oder Videostrom aufzuweisen. Im Gegensatz zu strömenden Daten
sind paketierte Daten solche Daten, bei denen keine Aufrechterhaltung
der Abtastrate oder zeitlichen Beziehung dieser Daten erforderlich
ist und die statt dessen als getrennte Signalfolgen über eine Übertragungsleitung
gesendet werden können.
Die Datenpakete können
mit nahezu jeder Rate über
die Übertragungsleitung
gesendet werden, mit der diese Übertragungsleitung
Daten übermittelt,
und sind in keiner Weise abhängig
von einer Abtastfrequenz, da paketierte Daten im Allgemeinen als
nicht abgetastete Daten erkannt werden.
-
Zusätzlich zu
strömenden
Daten und paketierten Daten kann es einen anderen Typ von Daten, nämlich Steuerdaten
geben. Abhängig
davon, wie die Steuerdaten verwendet werden (entweder in einer strömenden oder
paketierten Umgebung), können
Steuerdaten entweder zeitabhängig
oder nicht zeitabhängig
von den Daten oder dem Knoten sein, den sie steuern. Darüber hinaus
können
strömende Daten
entweder als synchrone Daten oder isochrone Daten betrachtet werden.
Synchrone Formen von strömenden
Daten sind Daten, die synchron mit der Rate, mit der die strömenden Daten
abgetastet werden, über
die Übertragungsleitung
gesendet werden. Es kann jedoch sein, dass die Übertragungsleitung Daten mit
einer anderen Rate als jene Rate überträgt, mit der der Knoten Daten
strömen
lässt oder „abtastet". Um die zeitliche
Beziehung zwischen Abtastungen der strömenden Daten aufrechtzuerhalten,
werden isochrone Übertragungsprotokolle
zur Bewältigung
dieser Unterschiede benötigt,
damit die isochronen Daten am Ziel ohne wahrnehmbare Lücken, Fehler,
Schwankungen oder Echoerscheinungen gespielt werden können.
-
Eine
optimale Übertragungsleitung
kann verschiedene Datentypen übertragen.
Mit der Übertragungsleitung,
die entweder ein Kupferdraht, eine Lichtleitfaser oder drahtlos
sein kann, sind mehrere Knoten verbunden. Jeder Knoten kann mindestens eine
Multimediavorrichtung aufnehmen. Zum Beispiel kann eine Telefon-Multimediavorrichtung
verwendet werden, um Sprachinformationen zu senden und zu empfangen,
wobei die Sprachinformationen abhängig von Unterschieden in der
Abtastrate (d.h. „fs") beim Telefon und
der Rahmenübertragungsrate (d.h. „FSR") innerhalb der Übertragungsleitung
entweder als isochrone Daten oder synchrone Daten gesendet werden
können.
Abhängig
von der Beziehung zwischen der Rahmensynchronisationsrate (FSR) und
der Abtastrate (fs) können
strömende
Daten der Übertragungsleitung
entweder als synchrone Daten oder isochrone Daten präsentiert
werden. In jedem Fall können
Steuerinformationen an die Multimediavorrichtung gesendet werden,
um die Übertragung aufzubauen
oder den Empfang der strömenden
(isochronen oder synchronen) Daten zu steuern. Zusätzlich zur Übertragung
von strömenden
Daten und Steuerdaten sollte die Übertragungsleitung auch in der
Lage sein, Paketinformationen zwischen Computern zu übertragen.
Paketierte Daten umfassen ausführbare
Programme und/oder Dateien, die als digitale Signalfolgen über die Übertragungsleitung
gesendet werden.
-
Als
Quellen betriebene Multimediavorrichtungen können daher nicht nur verschiedene
Typen von Daten in verschiedenen Formen produzieren, sondern auch
Daten, die mit verschiedenen Raten in der Übertragungsleitung ankommen.
Eine Stimme aus einem Telefonhörer
ist zum Beispiel ein kontinuierlicher Strom von Daten mit einer
im Wesentlichen konstanten durchschnittlichen Datenrate und einer zeitlichen
Beziehung zwischen den erzeugten Abtastungen. Die isochronen oder
synchronen Formen von strömenden
Daten können
daher Töne
(beim Beispiel eines Telefons oder CD-Players) oder Bilder (beim
Beispiel eines DVD-Players) darstellen. Während Telefone, CD-Player und DVD-Player
isochrone oder synchrone strömende
Daten über
ein Netzwerk senden, sendet ein Computer Folgen von Paketen üblicherweise
in TCP/IP-Form über
das Netzwerk.
-
Es
besteht ein Bedarf nach der Einführung eines
Kommunikationssystems, das sowohl strömende als auch nicht strömende Datenübertragungen bewältigen kann.
Noch dringender wird ein verbessertes Kommunikationssystem benötigt, das
Daten senden kann, die mit einer anderen Rate als der Rate der Übertragung über das Übertragungsnetz
abgetastet werden, und das die zeitliche Beziehung sowie die Taktbeziehung
dieser strömenden
Daten an einem Ziel aufrechterhalten kann, das die strömenden Daten
in Echtzeit abliest. Das gewünschte
Kommunikationssystem muss daher mit der Übertragung verschiedener Typen
von Daten synchronisiert werden oder im Wesentlichen eine ähnliche
Abtastrate wie eine oder mehrere Multimediavorrichtungen aufweisen,
die mit dem Übertragungsmedium
verbunden sind. Das verbesserte Kommunikationssystem muss nicht
nur einfach sowohl strömende
als auch nicht strömende
Daten aufnehmen können,
sondern es muss auch nahtlos isochrone und synchrone strömende Daten
zwischen einer Vielzahl von Knoten bewältigen, die als Multimediavorrichtungen
betrieben werden. Auf diese Weise kann das gewünschte Kommunikationssystem
die verschiedenen Datentypen effizient auf synchrone Weise über das
Netzwerk zwischen Vorrichtungen übertragen,
die mit der gleichen Rate wie die Rahmenfrequenz oder mit einer
anderen Rate als die Rahmenfrequenz abtasten, wodurch eine Verbesserung
darin besteht, dass die Abtastrate nicht von der Rahmenfrequenz
abhängt.
-
US 5,621,895 offenbart ein
durch Rahmen strukturiertes Bussystem, insbesondere für ein Local Operation
Network für
Automobilanwendungen. Daten werden mittels Rahmen übertragen,
die in Rahmensegmente unterteilt sind. Um die Rahmensegmente innerhalb
eines Rahmens zu identifizieren und zu trennen, werden Module mit
einer Define Bit-Struktur mit einer feststehenden Länge verwendet,
die nicht in den zu übertragenden
Daten vorkommt. Alternativ können
diese Module als Codierungsverletzungen ausgeführt werden.
-
US 6,052,386 offenbart ein Übertragungssystem
mit Mitteln zum Bilden von Rahmen zur Übertragung von Rahmen mit Portionen
in synchronem Zustand, die mit Portionen in asynchronem Zustand durchsetzt
sind.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
oben zusammengefassten Probleme werden zum Großteil durch ein verbessertes
Kommunikationssystem gelöst.
Das Kommunikationssystem umfasst nicht nur das Netzwerk, das sich
zwischen den Knoten erstreckt, sondern auch einen Sendeport und
einen Empfangsport. Die Sende- und Empfangsports befinden sich in
einem oder mehreren dieser Knoten, vorzugsweise in allen Knoten. Eine
Steuervorrichtung in einem Knoten ist insofern intelligent, als
sie auf der Basis einer zeitmultiplexten Reihe von Kanälen, auf
denen in diesem Netzwerk gesendet wird, weiß, welcher Kanal an welche
Vorrichtung senden soll. Wenn mehrere Vorrichtung innerhalb eines
einzigen Knotens vorhanden sind, richtet eine Netzwerkschnittstelle
(mit einem Sende-/Empfangsport) den Kanal z.B. über einen lokalen Bus an die
entsprechende Vorrichtung. Die Kanäle werden gebildet, indem eine
Rahmenstruktur geschaffen wird, die sich mit der Audio-Abtastrate
einer oder mehrerer Vorrichtungen wiederholt, die mit dem Netzwerk
verbunden sind. Diese Vorrichtungen senden daher synchrone strömende Daten über einen zeitmultiplexten
Teil des Rahmens, wobei Vorrichtungen, die mit höheren oder niedrigeren Frequenzen abtasten,
isochrone strömende
Daten in einem anderen zeitmultiplexten Teil des Rahmens senden.
Die Rahmen werden wiederholt, um die gesamte strömende und/oder nicht strömende Botschaft
oder Transaktion zu bewältigen.
-
Die
intelligente Steuervorrichtung (beim Empfangsport) enthält nicht
nur einen Decoder, der bestimmt, wie die verschiedenen zeitmultiplexten Segmente
aufzuteilen sind, sondern enthält
vorzugsweise auch einen Komparator (beim Sendeport), der die Rahmensynchronisationsrate
mit der Abtastrate vergleicht. Wenn ein Unterschied besteht, zeigt
der Komparator an, dass möglicherweise
periodisch ein leeres Byte oder leere Bytes zu einer isochronen
Datenübertragung
hinzugefügt
werden muss bzw. müssen.
Dabei wird der Vergleich der Raten verwendet, um festzustellen,
wenn das leere Byte oder die leeren Bytes einzufügen ist bzw. sind, und der
Komparator informiert den Codierer darüber, woraufhin der Codierer
die leeren Bytes in einen oder mehrere Rahmen einfügt, die über das
Netzwerk übertragen
werden.
-
Routingtabellen,
die möglicherweise
während
einer Aufschaltsequenz an jeden Knoten gesendet werden, weisen die
Kanäle,
sowie auch allfällige zusätzliche
Bytefelder, die erforderlich sein können, um zum Beispiel isochrone
Daten zu bewältigen,
den eingeschalteten Vorrichtungen zu. Wenn sich die Rahmensynchronisationsrate
von der Abtastrate unterscheidet, werden die strömenden Daten als isochrone
strömende
Daten bezeichnet. Um eine Strömungsrate,
die die Rahmenfrequenz übersteigt,
zu bewältigen,
kann ein zusätzliches
Byte in dem zeitmultiplexten Segment untergebracht werden, das den
isochronen Daten zuwiesen ist. Am Empfangsport teilt ein zusätzlich zum
Decoder vorhandener Schalter die decodierten Daten auf, und wenn
die Daten isochron sind, kann der Decoder bestimmen, wo innerhalb
eines für
isochrone Daten reservierten Segments gültige isochrone Daten existieren.
-
Gemäß einer
Ausführungsform
sind ein Sende- und ein Empfangsport vorgesehen. Der Sendeport umfasst
eine Rahmenbildungsvorrichtung, die geeignet ist, einen im Wesentlichen
kontinuierlichen Strom von Echtzeitdaten zu empfangen, die mit einer ersten
Rate abgetastet werden, und einen Teil der abgetasteten Daten innerhalb
eines Segments eines Datenrahmens in ein Netzwerk einzuspeisen,
das in einer zweiten Rate getaktet ist, die sich von der ersten
Rate unterscheidet. Der Datenrahmen umfasst mindestens ein Signalisierungsbit,
das ein Ausmaß anzeigt,
in dem der Teil des kontinuierlichen Datenstroms das Rahmensegment
belegt. Das Signalisierungsbyte kann anzeigen, dass der Teil des
kontinuierlichen Stroms das gesamte Rahmensegment, nur einen Teil
des Rahmensegments oder nichts von dem Rahmensegment belegt. Das
Signalisierungsbyte kann ein Byte von N Bits sein, wobei das höchstwertige
Bit das gesamte Rahmensegment als unbelegt oder belegt anzeigen
kann. Die folgenden niedrigstwertigen Bits können anzeigen, dass nur einen
Teil des Rahmensegments belegt ist oder nichts von dem Rahmensegment
belegt ist, wenn das höchstwertige
Bit tatsächlich
entsprechend gekennzeichnet ist. Das Kommunikationssystem umfasst wie
die Sende- und Empfangsports ein Signalisierungsbit, das ein Ausmaß an isochronen
Daten bezeichnet, die in einem entsprechenden Rahmensegment enthalten
sind: Entweder es ist das gesamte Rahmensegment belegt, es sind
keine Bytes in dem Rahmensegment belegt, oder möglicherweise sind nur die ersten
paar Bytes in einem Rahmensegment belegt. Im letzten Fall kann das
Signalisierungsbit ein Byte mit N Bits enthalten, das verwendet
wird, um anzuzeigen, wie viele Bytestellen, beginnend bei der niedrigstwertigen
Bytestelle, in einem Rahmensegment nicht belegt sind, und zwar abhängig davon,
wie viele Bits an den niedrigstwertigen Bitstellen des Signalisierungsbytes
vorhanden sind. Das Verfahren umfasst das Abtasten isochroner strömender Daten mit
einer Abtastrate und das anschließende Übertragen eines Teils der strömenden Daten
in einem Segment eines Rahmens, wobei ein zusätzliches Byte zugeteilt wird,
wenn der Rahmen, der das Segment enthält, über ein Netzwerk mit einer
Rahmenübertragungsrate übertragen
werden soll, die niedriger ist als eine Rate, mit der die Daten
an der Quelle abgetastet werden. Das Verfahren kann darüber hinaus das Übertragen
des Signalisierungsbytes in dem Rahmen, der das Rahmensegment enthält (entweder vor
oder nach dem Rahmensegment), oder möglicherweise in einem Rahmen
vor dem Rahmensegment umfassen. Es kann auch ein oder mehrere Segmente
in einem Rahmen oder unter mehreren Rahmen geben, die eine einzige
isochrone Datenübertragung
durchführen.
Auf diese Weise kann ein Segment über einen einzigen oder mehrere
Rahmen hinweg in Subsegmente aufgeteilt werden, wobei das Signalisierungsbyte
verwendet wird, um anzuzeigen, wo die isochronen Daten in den entsprechenden Segmenten
oder Subsegmenten existieren.
-
Gemäß einer
zweiten Ausführungsform
kann der Sendeport eine Rahmenbildungsvorrichtung umfassen, die
geeignet ist, eine Sequenz von Rahmen zu erzeugen. Mindestens einer
der Rahmen der Sequenz von Rahmen ist in mindestens ein Rahmensegment
unterteilt, das eine Vielzahl von Datenbytes enthält, denen
in dem Rahmensegment unmittelbar eine Codierungsverletzung vorangeht.
Die Codierungsverletzung zeigt den Beginn der Datenbytes in dem
Segment sowie möglicherweise
in anderen Segmenten von folgenden Rahmen an. Zusätzlich zu
einer Codierungsverletzung, die den Beginn der Datenbytes anzeigt,
könnte
eine andere Codierungsverletzung das Ende der Datenbytes anzeigen.
Die zweite Codierungsverletzung, wenn sie verwendet wird, wird unmittelbar
auf das letzte Datenbyte in einer isochronen oder asynchronen Datenübertragung folgen.
Die Codierungsverletzungen, die verwendet werden, um den Beginn
und das Ende der Datenbytes anzuzeigen, können eine identische Bitsequenz
oder eine unterschiedliche Bitsequenz sein, wobei sich jedoch jede
von ihnen bewusst von den Datenbytes selbst unterscheidet. Gemäß dem vorliegenden
Verfahren werden die Daten codiert und anschließend in einem Segment mit einer
Vielzahl von Datenrahmen übertragen,
beginnend mit einer Codierungsverletzung in einem ersten Rahmen,
die sich von den codierten Daten unterscheidet. Ein zusätzliches
Byte kann zu dem Segment hinzugefügt werden, wenn der erste Rahmen
mit einer Rahmenübertragungsrate über das
Netzwerk übertragen
wird, die niedriger ist als eine Abtastrate.
-
Gemäß einer
dritten Ausführungsform
kann ein Sendeport eine Rahmenbildungsvorrichtung umfassen, die
geeignet ist, einen im Wesentlichen kontinuierlichen Strom von Daten
zu erzeugen, die mit einer ersten Rate abgetastet werden, und einen
Teil der abgetasteten Daten in einem Segment mit einer Vielzahl
von Datenrahmen in ein Netzwerk einzuspeisen, das in einer zweiten
Rate getaktet ist, die sich von der ersten Rate unterscheidet. Vor
und nach den abgetasteten Daten befindet sich vorzugsweise mindestens
eine Codierungsverletzung an mindestens einer Bytestelle von mindestens
einem der Rahmensegmente, um anzuzeigen, dass keine gültigen abgetasteten
Daten an der Bytestelle existieren, die durch die Codierungsverletzung
bezeichnet wird. Die Codierungsverletzung enthält eine Bitsequenz, die sich
von den codierten Daten unterscheidet, und sie enthält vorzugsweise
eine Sequenz von Bits, die nicht als Bits der codierten Daten erkannt
werden, sondern als Bits, die das nächste Bytefeld als Beginn der
Vielzahl von Datenbytes in dem Segment anzeigen, wenn das nächste Bytefeld
tatsächlich
solche Daten enthält.
Auf diese Weise fungieren die Codierungsverletzungen als „Füller" zwischen gültigen Datenübertragungen
von isochronen strömenden
Daten. Es wird auch ein Verfahren geschaffen. Das Verfahren umfasst
das Abtasten von strömenden
Daten mit einer Abtastrate und das anschließende Codieren der strömenden Daten.
Die strömenden
Daten werden über
eine Vielzahl von Rahmensegmenten in einer entsprechenden Vielzahl
von Datenrahmen übertragen,
zwischen denen Codierungsverletzungen eingefügt sind, wo die strömenden Daten
in der Vielzahl von Rahmensegmenten fehlen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Andere
Ziele und Vorteile werden bei der Lektüre der folgenden genauen Beschreibung
und bei Bezugnahme auf die beiliegenden Zeichnungen ersichtlich,
wobei:
-
1 ein
Blockdiagramm eines Kommunikationssystems mit miteinander verbundenen
Knoten ist, über
das verschiedene Typen von Daten gesendet werden können, wie
z.B. strömende
(synchrone oder isochrone) Daten, Steuerdaten und paketierte (d.h.
asynchrone) Daten;
-
2 ein
Blockdiagramm eines Teils eines Sende- und Empfangsports in einem
oder mehreren Knoten des Kommunikationssystems ist;
-
3 ein
Blockdiagramm eines Ports ist, der erweitert ist, um isochrone Daten
aufnehmen zu können,
die von einer Vorrichtung gesendet werden, die eine höhere oder
niedrigere Abtastrate als die Rahmenfrequenz des Netzes aufweist;
-
4 ein
Plandiagramm einiger aufeinanderfolgender Datenrahmen ist, wobei
jeder Rahmen aufweist: ein Segment, das einen Zeitschlitz anzeigt, der
für das
Senden strömender
isochroner Daten reserviert ist, und mindestens ein Signalisierungsbit, das
den strömenden
Daten vorangeht und den Ort, an dem sich die strömenden Daten in dem Rahmen befinden,
die Länge
des Rahmensegments, die Reihenfolge, in der verschiedene Kanäle mit strömenden Daten
in dem Rahmensegment gesendet werden usw.;
-
5 ein
Plandiagramm der Datenbits in einem Signalisierungs-Datenbyte und
der Bedeutung der Datenbits ist;
-
6 ein
Plandiagramm der aufeinanderfolgenden Datenrahmensegmente und der
Wirkung des vorangehenden Signalisierungsbytes auf das Paket isochroner
Daten in dem Zeitschlitz ist, der zum Senden isochroner Daten bestimmt
ist;
-
7 ein
Blockdiagramm einer Rahmenbildungsvorrichtung ist, die in Abhängigkeit
von Unterschieden zwischen einer Abtastrate von Daten, die von einer
Vorrichtung her strömen,
und einer Rahmenfrequenz von Daten, die über ein Netzwerk übertragen
werden, Daten in ein Rahmensegment packt;
-
8 ein
einer alternativen Ausführungsform
entsprechendes Plandiagramm aufeinanderfolgender Rahmensegmente
von Daten und der Wirkung der Verwendung einer Codierungsverletzung
im Datenstrom ist, um den Beginn, den Beginn und das Ende und/oder
das Nichtvorhandensein einer asynchronen (Paket) datenübertragung
und/oder isochronen Datenübertragung
in einem Rahmensegment anzuzeigen; und
-
9 ein
Zustandsdiagramm eines Decoders ist, der verwendet wird, um Codierungsverletzungen
zu decodieren, die anzeigen, wo innerhalb eines Rahmensegments asynchrone
und/oder isochrone Daten gemäß der Ausführungsform
von 8 existieren.
-
Obzwar
verschiedene Änderungen
an der Erfindung und alternative Formen derselben möglich sind,
werden spezifische Ausführungsformen
von ihr in den Zeichnungen als Beispiel dargestellt und hier im
Einzelnen beschrieben. Es versteht sich jedoch von selbst, dass
die Zeichnungen und die dazugehörige
detaillierte Beschreibung nicht dazu bestimmt sind, die Erfindung
auf die besondere offenbarte Form zu beschränken, sondern dass im Gegenteil alle Änderungen, Äquivalente
und Alternativen abgedeckt werden sollen, die dem Geist und dem
Umfang der vorliegenden Erfindung entsprechen, wie diese durch die
beiliegenden Ansprüche
definiert sind.
-
GENAUE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nun
soll auf die Zeichnungen Bezug genommen werden, wobei 1 ein
Beispiel eines Kommunikationssystems 10 darstellt. Das
Kommunikationssystem 10 umfasst eine miteinander verbundene Vielzahl
von Knoten 12. Der Kürze
halber sind nur vier Knoten dargestellt. Es versteht sich jedoch
von selbst, dass das System 10 mehr als vier Knoten umfassen
kann und auch zahlreiche miteinander verbundene Netzwerke umfassen
kann. Das in 1 dargestellte Netzwerk ist
ein Ring oder eine Schleife. Es versteht sich jedoch ebenfalls von
selbst, das das Gerüst
des Netzwerks ein Bus, ein Stern oder jede andere räumliche
Struktur sein kann, die für
ein Netzwerk zur Verfügung
steht. Zwischen die Knoten 12 sind entsprechende Übertragungsverbindungen 14 geschaltet.
Die Übertragungsverbindungen 14 können optisch,
akustisch oder elektrisch (Draht oder drahtlos) sein.
-
Jeder
Knoten 12 ist vorzugsweise auf einen bestimmten Bereich
beschränkt.
Innerhalb jedes Knotens befindet sich mindestens eine Multimediavorrichtung.
Wie dies im Knoten 12d dargestellt ist, kann ein Knoten
mehr als eine Multimediavorrichtung 16 umfassen. Wenn mehr
als eine lokalisierte Vorrichtung 16 vorhanden ist, kann
eine lokale Übertragungsleitung
oder ein lokaler Bus zwischen den Multimediavorrichtungen 16 in
einer Schleifen- oder Busstruktur verwendet werden, wie dies durch
die alternativen Phantomstriche 17 dargestellt ist.
-
Zwischen
die Vorrichtung 16 und das Netwerk von Knoten 12 ist
eine Netzwerkschnittstelle 20 geschaltet. Wenn einem Knoten
mehrere Vorrichtungen 16 zugewiesen sind, ist die Netzwerkschnittstelle 20 zwischen
einem lokalen Bus 17 und dem Netzwerk angeordnet. Die Schnittstelle 20 umfasst
einen Kommunikationsport (d.h. einen bidirektionalen Sende- und
Empfangsport) zur Kommunikationsübertragung
zwischen den in den Knoten 12 angeordneten Vorrichtungen 16.
Der Kommunikationsport kann auch in jeder der Multimediavorrichtungen 16 vorhanden
sein und umfasst in Abhängigkeit
von seiner Konfiguration einen Taktpin, ein oder zwei Signalpins und
mindestens einen Datenpin oder ein Paar von Datenpins. Wie zu erkennen
ist, kann die Netwerkschnittstellenfunktion in einer oder mehreren
Multimediavorrichtungen 16 angeordnet werden, oder die Netzwerkschnittstelle
kann von den Multimediavorrichtungen getrennt sein. Eine Multimediavorrichtung 16 kann
auf einem einzigen monolithischen Substrat angeordnet sein, und
auch die Netzwerkschnittstelle kann auf einem einzigen monolithischen
Substrat angeordnet sein. Auf diese Weise kann der Kommunikationsport
zum Beispiel auf einem monolithischen Substrat einer Netzwerkschnittstelle
oder auf einem monolithischen Substrat einer Multimediavorrichtung angeordnet
sein, die die Netzwerkschnittstelle enthalten kann oder nicht enthalten
kann.
-
Vorzugsweise
umfasst die Netzwerkschnittstelle 20 einen Digitalsignalprozessor
oder eine Steuervorrichtung, die programmiert werden kann und ein Speichermedium
umfassen kann, das operativ mit der Ausführungseinheit des Prozessors
verbunden ist. Eine Multimediavorrichtung 16, von der eine
oder mehrere in einem Knoten vorhanden sind, ist jede Vorrichtung,
die Multimediasignale senden und/oder empfangen kann. Solche Signale
umfassen Sprache, Audiosignale, Videosignale, Datendateien oder
ausführbare
Datenprogramme. Beispiele solcher Vorrichtungen umfassen Telefone,
Sensoren, CD-Player, DVD-Player, Videokameras, Lautsprecher, Monitore,
Computer, Minicomputer (Personal Digital Assistants, PDA), frequenzmodulierte
Stereoanlagen, Navigationssysteme usw.
-
Gemäß einem
Beispiel können
die Multimediavorrichtungen in einem Automobil angeordnet sein,
wobei das Kommunikationssystem 10 im Automobil verwendet
werden kann, um die Multimediavorrichtungen miteinander oder mit
Multimediavorrichtungen in anderen Knoten desselben Automobils oder
mit einem anderen Automobil, einem Satelliten, oder einer stationären Basisstation
zu verbinden. Abhängig
davon, ob die Daten in der Multimediavorrichtung 16 verschlüsselt oder
codiert sind, erlaubt das Kommunikationssystem 10 eine Übertragung
solcher Informationen zum Ziel als strömende Daten (synchron oder
isochron), Steuerdaten oder asynchrone (paketierte) Daten. Darüber hinaus
kann das Kommunikationssystem 10 die Übertragung aller vier Datentypen über einen
oder mehrer Kanäle,
die innerhalb der Kommunikationsleitung 14 eingerichtet
sind, oder über
den lokalen Bus 17 erlauben. Das Kommunikationssystem 10 bewältigt somit
die verschieden Datentypen, um den verschiedenen Typen von Multimediavorrichtungen 16,
die verwendet werden können,
zusätzliche
Einsatzflexibilität
zu verleihen.
-
Es
ist festzustellen, dass eine oder mehrere Multimediavorrichtungen 16 Daten
mit einer höheren Abtastrate
(fs) als die Rahmensynchronisationsrate (FSR) der Übertragungsleitung 14 abtasten
können. Die
Multimediavorrichtung 16 kann zum Beispiel ein CD-Player
sein, der mit etwa 44,1 KHZ abtastet. Der CD-Player kann Datenströme mit zum
Beispiel 16 Bits pro Abtast-Audiokanal (32 Bits/Stereokanal) erzeugen,
was in einer bps-Baudrate über
die Übertragungsleitung
von 32 Bits/Stereoabtastung x 44,1 K Abtastungen/Sekunde = 1,4112
Mbps resultiert. Die Non-Return to Zero („NRZ")-Daten von der Vorrichtung können auf
verschiedene Weise codiert werden. Die Daten können auch zum Beispiel mit
Hilfe der gut bekannten Miller-Codiertechnik
codiert werden. Ein alternatives Codierverfahren ist die Biphase-Codierung
oder eine Codierung, bei der es beim codierten Bitstrom zu keinem überlagerten
Gleichstromwert kommt. Das letztgenannte Codierverfahren wird oft als
Codierung mit Gleichstrom-Anpassung
bezeichnet und ist in der gemeinschaftlich erteilten, gleichzeitig
schwebenden Anmeldung mit der Eingangsnummer 09/710,220 und dem
Titel „An
Encoder Within a Communication System that Avoids Encoded DC Accumulation
and can Use Coding Violations to Synchronize a Decoder and Detect
Transmission Errors" beschrieben.
-
Wenn
die sich Rahmensynchronisationsrate (FSR) in der Übertragungsleitung 14 von
48 KHz unterscheidet (FSR könnte
z.B. so gewählt
werden, dass sie einer CD-Abtastrate von 44,1 KHZ entspricht), dann
können
die strömenden
Daten von dem mit 48 KHZ abgetasteten DVD-Player nicht synchron über die Übertragungsleitung 14 zu
einem anderen Knoten (z.B. einem Lautsprecher) übertragen werden. Stattdessen
müssen
die strömenden
Daten als isochrone strömende
Daten, im Gegensatz zu synchronen strömenden Daten, übertragen
werden.
-
Neben
strömenden
Daten, die asynchron mit der Übertragungsrate
der Übertragungsleitung 14 sind,
können
auch andere Datentypen asynchron sein, wie zum Beispiel paketierte
Daten oder Steuerdaten. In jedem Fall werden die verschiedenen Datentypen
jedoch auf synchrone Weise über
die Übertragungsleitung 14 gesendet.
Das Kommunikationssystem 10 ist daher ein synchrones Übertragungssystem,
das unterschiedliche Datentypen, die mit unterschiedlichen Frequenzen
abgetastet werden, oder Datentypen, die auf nicht regelmäßige, nicht
in zeitlicher Beziehung zueinander stehende Weise eingespeist werden,
aufnehmen kann.
-
2 zeigt
auf detailliertere Weise eine Netzwerkschnittstelle 20,
die in einem Empfangsmodus dargestellt ist. Die Netzwerkschnittstelle 20 kann daher
in diesem Beispiel als Port betrachtet werden, der von einem Netzwerk
empfängt
und zu einem Netzwerk sendet. Auf diese Weise kann die Netzwerkschnittstelle 20 ihre
eigene Vorrichtung 16 sowie einen Port 24, der
mit dem Netzwerk verbindet, und einen Port 26, der zum
Beispiel mit einem lokalen Bus 17 verbindet, umfassen.
Wenn mehrere Vorrichtungen 16 in einem Knoten vorhanden
sind, verbindet der lokale Bus 17 lokal verteilte Vorrichtungen 16 mit der
Steuervorrichtung der Netzwerkschnittstelle 20, wobei sich
alles zum Beispiel innerhalb eines einzigen Knotens 12 befindet.
Es ist jedoch wichtig anzumerken, dass jede Vorrichtung 16 ihren
eigenen Port haben kann und dass die Steuervorrichtung einer Netzwerkschnittstelle
innerhalb dieser Vorrichtung 16 sein kann. Wenn mehrere
Vorrichtungen in einem Knoten vorhanden sind, kann alternativ dazu
die Netzwerkschnittstelle von jeder Vorrichtung getrennt sein. In
jedem Fall umfasst jedoch entweder eine Vorrichtung 16 oder
eine Netzwerkschnittstelle 20 einen Port mit Schnittstellen
zum Netzwerk (d.h. sendet zu oder empfängt von diesem Netzwerk). Der
Port kommuniziert mit Hilfe von zugeteilten Zeitschlitzen für jeden
Datentyp, und wenn einer der Datentypen isochrone Daten umfasst, überträgt der Port
gemäß einer
Ausführungsform
ein Signalisierungsbit oder -byte in einem Zeitschlitz, der für die isochronen
Daten bestimmt ist, während
er gemäß einer
anderen Ausführungsform
eine Codierungsverletzung im Datenstrom dieses Zeitschlitzes aufweist.
Die Einzelheiten jeder Ausführungsform
werden weiter unten dargelegt.
-
Je
nach der Komplexität
eines Knotens und je nachdem, ob ein lokaler Bus verwendet wird,
umfasst der Knoten 12 typischerweise eine Netzwerkschnittstelle 20 (oder
einen Port) mit einem Decoder 30, einem Digitalsignalprozessor
(„DSP") 32 und
einem Kreuzungspunktschalter 34. Das Netzwerk, das sich
zwischen den Knoten 12 erstreckt, ist ein synchrones Netzwerk,
in dem Daten in eine Reihe von Kanälen 36 zeitmultiplext
werden. Die Kanäle 36 werden
zum Beispiel gebildet, indem eine Rahmenstruktur von 64 Bytes geschaffen
wird, die sich mit einer Audio-Abtastrate einer Vorrichtung wiederholt,
die mit dem Netzwerk über
einen Knoten verbunden ist. Wenn die Audio-Abtastrate zum Beispiel
48 KHz beträgt,
beträgt
die gesamte Bitrate des Netzwerks zwischen zwei Knoten 12 48
K Rahmen/sek. × 64 Bytes/Rahmen × 8 Bits/Byte
= 24,576 Mbits/sek.
-
Das
Synchronisationsprotokoll zum Senden der Zeitschlitze als Kanäle 36 erfordert
auch die Sendung einer Präambel
für jeden
in Zeitschlitze aufgeteilten Rahmen. Die Präambel umfasst die Synchronisation
(„SYNC"). So können in
dem obigen Beispiel 63 Bytes verwendet werden, um verschiedene Datentypen
mit der Rahmensynchronisationsrate (FSR) zu übermitteln. Die Datentypen
umfassen strömende isochrone
Daten, die möglicherweise
im Zeitschlitz 0 (TS0) angeordnet sind, synchrone strömende Daten, die
möglicherweise
im Zeitschlitz 1 (TS1) angeordnet sind, und asynchrone Pakete von
Daten, die möglicherweise
im Zeitschlitz 2 (TS2) angeordnet sind. Ein anderer Kanal kann möglicherweise
im Zeitschlitz 3 (TS3) gebildet werden, um Steuerinformationen bzw. -daten
zu empfangen.
-
Möglicherweise
können
zwei Steuerbytes für den
Steuerkanal reserviert werden, der, wie dies dargestellt ist, im
TS3 übertragen
wird. Wenn zum Beispiel eine Vorrichtung 16 aktiviert oder
eingeschaltet wird, werden Routingtabellen über den Steuerkanal zu jedem
der anderen Knoten im Netzwerk gesendet. Der Steuerkanal enthält Routingtabellen
zur Konfiguration (oder Rekonfiguration), die benötigt werden, um
die Datenübertragung
zwischen der neu aktivierten Vorrichtung bzw. den neu aktivierten
Vorrichtungen zu bewältigen.
Die Routingtabelle wird daher erstellt, um all die verschiedenen
Kanäle
oder Rahmenabschnitte zu bewältigen,
die gebildet wurden, um die verschiedenen Datentypen aufzunehmen,
die anschließend
synchron über
das Netzwerk zwischen den aktivierten Vorrichtungen 16 gesendet
werden.
-
Die
Routingtabelle in einem Speichermedium zum Beispiel des Digitalsignalprozessors
(„DSP") 31 wird
sodann feststellen, welche Bytes in einem Rahmen mit einem bestimmten
Kanal verbunden sind, wenn eine nachfolgende Kommunikation gewünscht wird.
Wenn zum Beispiel eine DVD auf einem Kanal und eine CD auf einem
anderen Kanal ist, so wird die Routingtabelle diesen Kanälen Zeitschlitze
zuweisen. Auf diese Weise wird der DVD-Player Audio- und Video-Informationen
auf einem ersten Kanal senden, während
der CD-Player Audio-Informationen auf einem zweiten Kanal senden
wird, die in Form von Zeitschlitzen zugewiesen wurden. Die Routingtabellen
in jedem Knoten werden auch definieren, welche Knoten welche Kanäle erhalten,
um alle Kanäle
von verschiedenen Quellen zu entsprechenden Zielen zu definieren
und zuzuweisen. Die Kanallänge
ist daher fix und als Teil der Routingtabellenfunktion für strömende Daten
vordefiniert, um zu gewährleisten,
dass isochrone und synchrone strömende
Daten in jedem Rahmen gesendet werden, um ihre zeitliche Beziehung
aufrechtzuerhalten.
-
Asynchrone
Daten können
zum Beispiel eine variable Kanallänge haben, die ebenfalls in
den Routingtabellen festgelegt ist, wenn zum Beispiel ein mit dem
Netzwerk verbundener Computer zugeschaltet wird. Wenn eine isochrone Übertragung
zum Beispiel ein zusätzliches
Byte in aufeinanderfolgenden Rahmen verlangt, wird die Routingtabelle
dieses Byte zuweisen, wenn zum Beispiel ein mit hoher Frequenz abgetasteter
DVD-Player einem Netz, das vorher auf eine niedrigere Übertragungsfrequenz
beschränkt war,
zugeschaltet wird und aktiviert wird. Der Decoder 30 erkennt
und decodiert das Synchronisationsbyte und leitet das Steuerbyte
an den Prozessor 31 weiter, der sodann die Routingtabelle
in dem entsprechenden Knoten aktualisiert. Das Synchronisationsbyte
wird zum Beispiel an einen Taktgeber im DSP 31 weitergeleitet.
Der Taktgeber gewährleistet,
dass die über
das Netzwerk gesendeten Bytes mit dem Schalter 34 synchronisiert
werden, um die Daten an entsprechend zeitlich festgelegten Bytegrenzen
entsprechend zum Bestimmungsort oder Ziel zu leiten.
-
Die
mit 36 bezeichneten vier Zeitschlitze gelten für einen
einzigen Rahmen. Es versteht sich jedoch von selbst, dass mehrere
Rahmen in Folge gesendet werden. Jeder Rahmen behält jedoch
die Sendung von Zeitschlitzen und Kanälen je nach den Routingtabellen
bei. Wenn Vorrichtungen zugeschaltet werden, werden die Routingtabellen
aktualisiert, und Zeitschlitze werden vergeben. Wenn zum Beispiel
ein einziges Paar von Vorrichtungen zugeschaltet ist, kann möglicherweise
der gesamte Rahmen einem einzigen Rahmensegment zugewiesen werden, um
Datenübertragungen
zwischen diesen Vorrichtungen zu bewältigen. Wenn es sich jedoch
um strömende
Daten handelt, werden die Routingtabellen definiert, um während jener
Zeiten, in denen die strömende
Quelle aktiv ist, mindestens ein Rahmensegment über alle in dem Netzwerk gesendeten
Rahmen hinweg zuzuweisen. Auf diese Weise kann der Rahmen 36 wiederholt
werden und in Serie von zum Beispiel einer Quellvorrichtung in einem
Knoten im Netzwerk zum Decoder 30 gesendet werden. In der
Zwischenzeit werden die Datenkanäle
durch den Decoder 30 decodiert und an den Schalter 34 gesendet.
-
Der
Knoten 12 enthält
einen Empfangs- und Sendeport mit einer Steuervorrichtung 20,
die in dem Beispiel in einer als Empfänger konfigurierten Weise dargestellt
ist. Es versteht sich jedoch von selbst, dass der Knoten 12 auch
Daten senden kann. Auf diese Weise ist jeder Knoten ein Transceiver,
der als Kreuzungspunktschalter funktioniert. Jeder Kreuzungspunktschalter 34 in
jedem Transceiver leitet eines oder mehrere Bytes in einem Kanal
eines bestimmten Zeitschlitzes zur entsprechenden Vorrichtung 16 eines
empfangenen Rahmens 36. Umgekehrt kann der Schalter 34 jedes
Byte vom Port 26 zu einem gesendeten Rahmen leiten, der
in das Netzwerk zurückgespeist
wird. Der Kreuzungspunktschalter 34 kann auch jedes empfangene
Byte oder jeden empfangenen Kanal an jedes gesendete Byte oder jeden
empfangenen Kanal leiten. Der Schalter 34 wird dabei über die
Routingtabellen konfiguriert, die vorher erstellt wurden, als die
Vorrichtungen 16 zugeschaltet wurden, und zwar durch die
Steuerbytes, die über
den Steuerkanal gesendet wurden. Nachdem der Schalter 34 konfiguriert
wurde, um die Bytes in einem bestimmten Zeitschlitz zur entsprechenden
Vorrichtung zu senden, fließen
die strömenden
Daten (unabhängig
davon, ob sie isochron oder synchron sind) einfach von einem Ausgabeport
einer Vorrichtung zu einem Eingabeport einer anderen Vorrichtung
(oder zum Beispiel vom Eingabeport 24 über den Ausgabeport 26 zur
entsprechenden Vorrichtung 16a-16c). Die Vorrichtung 16a kann
zum Beispiel synchrone strömende
Daten empfangen, während die
Vorrichtung 16b isochrone strömende Daten empfangen kann
und die Vorrichtung 16c paketierte TCP/IP-Daten empfangen kann.
Der Schalter 34 leitet dabei die entsprechenden Kanäle (d.h.
Datentypen) automatisch zur jeweiligen Vorrichtung, wobei er die
vordefinierten Routingtabellen verwendet.
-
Da
das Netzwerk synchron ist, arbeiten alle Knoten 12 exakt
mit der gleichen Frequenz. Die mit der Quellvorrichtung verbundenen
Taktgeber arbeiten ohne Lücken
oder Schwankungen mit exakt der gleichen Frequenz wie die Zielvorrichtung.
Auf diese Weise können,
auch wenn sich die Abtastrate einer Quellvorrichtung von der Rahmensynchronisationsrate
unterscheidet, die nachfolgenden isochronen Daten synchron über das
Netzwerk gesendet werden, und zwar mit der gleichen Rate wie das
Netzwerk und möglicherweise
mit der gleichen Rate wie andere Knoten, die mit dieser Rate abtasten.
Die Zieladresse für
die verschiedenen Kanäle
in jedem Byte sind in den Routingtabellen vordefiniert, so dass Daten,
die von einer Quelle wegströmen,
in Echtzeit an das entsprechende Ziel gesendet werden.
-
Es
ist festzustellen, dass durch die Verwendung von Zeitschlitzen und
vorarrangierter Kanaladressierung für jeden Knoten eine ausreichende Bandbreite
garantiert wird, um kontinuierlich strömende Daten zu senden. Daher
sind herkömmliche Header
und Footer, die normalerweise angewendet werden, um paketierte Daten über ein
Computernetzwerk zu senden, nicht erforderlich. Wenn anders als bei
dem vorliegenden Protokoll Header und Footer für jeden Kanal erforderlich
sind, so wird mit steigendem Datenaufkommen in dem Netzwerk der
Anteil jedes Knotens an der Bandbreite sinken. An einem bestimmten
Punkt wird ein Knoten nicht mehr genug Bandbreite haben, um die
strömenden
Daten zu senden, und es wird zu Lücken oder Schwankungen im Audio-,
Video- oder Sprachstrom kommen. Im Gegensatz zu diesen Nachteilen
garantiert das vorliegende verbesserte Datenübertragungsprotokoll Bandbreite
in jedem einzelnen Rahmen, indem die Datentypen im Voraus Kanälen in einem
Zeitschlitz zugewiesen werden, der für solche Daten reserviert ist.
Selbst wenn die Rahmensynchronisationsrate unterschiedlich von der
Abtastrate ist, wird noch Bandbreite für das Senden der strömenden Daten
garantiert. Wenn ein Telefonanruf getätigt wird oder ein CD-Player
eingeschaltet wird, liefert das Netzwerk auf diese Weise eine exakte
und garantierte Bandbreite bis zum Ende des Anrufs oder bis zum
Ende der CD. Wenn ein sehr langes Telefongespräch getätigt wird oder viele CD- oder
DVD- Laufwerke benutzt werden,
wird keine Verbindung hergestellt, wenn nicht genug Bandbreite vorhanden
ist. Sobald jedoch eine Verbindung hergestellt ist, werden die strömenden Daten
in jedem Rahmen des synchronen Netzwerks garantiert gesendet.
-
4 zeigt
die verschiedenen Bytes in jedem Rahmen, die in synchrone strömende Daten 40, asynchrone
Paketdaten 42, isochrone strömende Daten 44 und
asynchrone Steuerdaten 46 unterteilt sind. Wenn bekannt
ist, dass das Netzwerk keine Paketdaten übertragen wird, so können natürlich nur drei
Segmente verwendet werden. Die Rahmensegmente für die strömenden Daten sind jedoch vorreserviert.
In manchen Fällen
könnten
möglicherweise nur
ein oder zwei Rahmensegmente verwendet werden. Der deutlichen Erklärung halber
werden jedoch in 4 alle vier Datentypen dargestellt,
die auf die einzelnen Zeitschlitze (TS) aufgeteilt sind. Es kann zum
Beispiel Fälle
geben, in denen eine Teefonbotschaft über das Netzwerk gesendet wird
und auch ein CD-Player aktiv ist. Sowohl das Telefon als auch der CD-Player
können
Daten mit der gleichen Rate abtasten, in der die Netzwerkdaten getaktet
sind. In diesem Fall sind zwei Rahmensegmente in jedem Rahmen zum
Tragen synchroner Daten reserviert. In diesem Beispiel kann es natürlich mehr
als vier Zeitschlitze geben, wobei zwei oder mehr Zeitschlitze dazu
bestimmt sind, synchrone Daten zum empfangen, und wobei möglicherweise
weitere zwei oder mehr Zeitschlitze dazu bestimmt, sind isochrone
Daten zu empfangen, wenn zum Beispiel ein Paar von Abspielgeräten mit
höherer
oder niedrigerer Abtastrate in dem Netzwerk aktiviert werden können. Wenn
ein Telefonanruf durchgeführt
wird, wobei jedoch alle anderen Vorrichtungen inaktiv sind (zum Beispiel
ist die andere synchrone CD-Vorrichtung inaktiv), so empfängt der
Zeitschlitz, der für
Kanäle
des Telefongesprächs
bestimmt ist, die Daten derart, dass der Rahmen nur für die Telefoninformation
reserviert ist.
-
Jeder
Zeitschlitz kann relativ klein sein, so dass ein Zeitschlitz möglicherweise
nur ein Byte betragen kann, was eventuell 60 Zeitschlitze in einem Rahmen
von 60 Byte ermöglicht.
Sechzig verschiedene Kanäle,
in denen möglicherweise
zwei oder mehr Zeitschlitze dieselben Datentypen empfangen können, aber
Daten aus unterschiedlichen Quellvorrichtungen zu unterschiedlichen
Zielvorrichtungen übertragen,
sind somit verfügbar.
Die Zeitschlitze und das Routing der Kanäle in jedem Rahmen sind in
Anwendungsprogrammen konfiguriert und reserviert und werden durch
Routingtabellen ausgeführt,
wenn die verschiedenen Vorrichtung aktiv werden, indem zum Beispiel
ein Startknopf an einem DVD-Player, CD-Player, Telefon usw. gedrückt wird.
-
Die
Zeitschlitze TS0 – TS3
sind nur als Beispiel dargestellt und sind als entsprechende Segmente
in jedem Rahmen, beginnend mit dem Rahmen N, verfügbar. Eine
Anzahl von N Bytes kann jedem Segment zugeordnet werden. Wenn das
Netzwerk jedoch mit einer niedrigeren Rahmensynchronisationsrate
als eine Abtastrate einer bestimmten Vorrichtung betrieben wird,
so wird möglicherweise
ein weiteres Byte für
das Segment, das isochrone Daten trägt, notwendig sein. Ein typisches
Beispiel könnte ein
Netzwerk sein, das auf eine mit 44,1 KHz betriebene CD festgelegt
ist und versucht, mit 48 KHz abgetastete Informationen eines DVD-Laufwerks
einzuspeisen. Um die höhere
Abtastrate des DVD-Laufwerks zu bewältigen, wird ein zusätzliches
Byte im isochronen Segment z.B. des Zeitschlitzes TS2 angeordnet.
Wenn jedoch der umgekehrte Fall eintritt, d.h. wenn das Netzwerk
auf eine mit 48 KHz betriebene DVD festgelegt ist und abgetastete
Daten von einer mit 44,1 KHz betriebenen CD in das Netzwerk einspeisen
will, so kann, obwohl sich die Abtastrate von der Rahmenfrequenz
unterscheidet und somit eine Einstufung als isochrone Daten erfolgt,
die CD-Information im isochronen Zeitschlitz platziert werden, ohne
dass ein zusätzliches
Byte hinzugefügt werden
muss.
-
Es
ist daher wichtig, die Rate, auf die das Netzwerk festgelegt ist,
in Bezug auf nachfolgende Einrichtungen zu betrachten, die diesem
Netzwerk zugeschaltet werden. Wenn die nachfolgenden Vorrichtungen
mit der gleichen Rate wie die festgelegte Rate des Netzwerks abgetastet
werden, dann können
die Datenbytes synchron gesendet werden. Daten von nachfolgenden
Vorrichtungen, die mit einer höheren
oder niedrigeren Rate abtasten, müssen jedoch isochron gesendet
werden. Abhängig
davon, ob die nachfolgenden Vorrichtung synchrone oder isochrone
Daten senden, werden die Daten durch Kanäle bestimmten Zeitschlitzen
zugewiesen, die in den Routingtabellen jedes Knotens konfiguriert
sind. Diese Zeitschlitze sind vorreserviert, so dass jede Quell- und
Zielvorrichtung im Netzwerk je nach dem gesendeten Datentyp in einem
Zeitschlitz untergebracht werden kann, wobei zwei Zeitschlitze für gleiche
Datentypen vorreserviert werden können, wenn mehr als zwei Vorrichtungen
den gleichen Datentyp senden und empfangen.
-
4 zeigt
ein Beispiel, bei dem die Abtastrate die Rahmensynchronisationsrate übersteigt und
daher ein zusätzliches
Byte im isochronen Zeitschlitz platziert wird. Es versteht sich
jedoch von selbst, dass ein zusätzliches
Byte im isochronen Zeitschlitz nicht erforderlich ist, wenn die
Abtastrate niedriger als die Rahmensynchronisationsrate ist. In
jedem Fall werden jedoch die mit den Zeitschlitzen eingerichteten
Kanäle
synchron in Bezug zueinander über
das Netzwerk sowie über
den lokalen Bus (wenn ein lokaler Bus verwendet wird) übertragen. Unabhängig vom
gesendeten Datentyp wird jeder Datenkanal, der über das Netzwerk gesendet wird, mit
der gleichen Rate übertragen.
Dies ermöglicht
es dem Netzwerk, synchron zu arbeiten, während es gewöhnlich asynchron
gesendete Daten oder Daten, die mit einer höheren oder niedrigeren Rate
als die Übertragungsrate
des Netzwerks abgetastet werden, aufnimmt. Jeder Zeitschlitz oder
Kanal ist daher synchron zueinander. Die synchrone Übertragung
der Kanäle
erfolgt, indem der synchronen Übertragung isochroner
Daten ein zusätzliches
Byte zugewiesen wird. Auf diese Weise wird, während die isochronen Daten
mit der gleichen Übertragungsrate
wie die anderen Kanäle
gesendet werden, ein Signalisierungsbyte verwendet, um zu identifizieren,
welche der N Bytes (wenn die Abtastrate niedriger ist als die Rahmensynchronisationsrate)
oder der N+1 Bytes (wenn die Abtastrate höher ist als die Rahmensynchronisationsrate)
in jedem Rahmen gültig
sind. Wenn zum Beispiel das Netzwerk mit 48 KHz arbeitet und gewünscht wird,
dass eine Vorrichtung mit 44,1 KHz zum Netzwerk hin abtastet, dann
ist ein Minimum von 8 × 44,1/48
Bytes/Rahmen oder 7,35 Bytes/Rahmen notwendig, um einen isochronen
Kanal mit 8 Byte pro Rahmen unterzubringen. Im Beispiel von N =
8 ist ein Minimum von 8 Bytes pro Rahmen notwendig, um diese isochronen
Daten unterzubringen, doch nur ein Teil der 8 Bytes in jedem Rahmen
ist tatsächlich
gültig.
Das Signalisierungsbyte 48 zeigt an, welche dieser Rahmen
gültig
sind und welche nicht.
-
3 zeigt
mit mehr Einzelheiten den Knoten 12, der von einem anderen
Knoten mit einem DVD-Player strömende
Daten mit einer Abtastrate von 48 KHz empfängt. Doch das Netzwerk ist
festgelegt auf und überträgt Daten
mit einer Rahmensynchronisationsrate von 44,1 KHz, die durch Daten
von einem CD-Player festgelegt wurde, der auf einem anderen Knoten
aktiv ist, der mit der gleichen Rate wie die Rahmensynchronisationsrate
abtastet (d.h. 44,1 KHz). Daher muss der Zeitschlitz, der dem Empfang isochroner
Daten zugewiesen wurde, durch ein Byte erweitert werden, wie dies
durch die Erweiterung des Zeitschlitzes 2 (TS2) dargestellt
wurde, der mit dem Bezugszeichen 52 versehen ist. Der Zeitschlitz
0 (TS0) muss jedoch nicht erweitert werden, um die synchronen strömenden Daten
von der CD aufzunehmen. Die Zeitschlitze werden kompiliert, wenn
sie das Netzwerk durchlaufen, und der Decoder 30 decodiert
die Codierung, die den N oder N+1 Datenbytes zugewiesen wurden,
die von den Quellvorrichtungen 16 gesendet wurde. Der Schalter 34 richtet
sodann die Kanäle
auf die entsprechenden Vorrichtungen 16.
-
In
dem dargestellten Beispiel werden Audio-Informationen zum Beispiel vom DVD-Player
in eine analoge Form umgewandelt und auf dem linken und rechten
Lautsprecher mit der gleichen Abtastrate abgespielt, mit der die
DVD gespielt wird. Das gleiche gilt für die CD, die in analoger Form
mit der gleichen Rate eingespeist wird, mit der die CD gespielt
wird. Das Signalisierungsbyte zeigt die isochronen Daten vom DVD-Player
an, und die Zeitschlitze teilen die DVD-Informationen getrennt von
den CD-Informationen auf.
-
5 zeigt
ein Beispiel eines Signalisierungsbytes 58. Das Signalisierungsbyte
wird an einer Bytestelle vor einem isochronen Rahmensegment jedes
Rahmens angeordnet. Das höchstwertige
Bit des Bytes 58 kann entweder 1 oder 0 sein. Wenn die höchstwertige
Bitstelle eine logische 1 ist, wie dies durch das Byte 58a dargestellt
wird, dann sind alle anderen Bitstellen irrelevant, da das höchstwertige Bit
der logischen 1 vom Decoder 30 decodiert wird, um anzuzeigen,
dass alle isochronen Bytes, die in dem Zeitschlitz des isochronen
Rahmensegments enthalten sind, ungültig oder leer sind. Dies bedeutet, dass
das Rahmensegment, das einem Rahmen zugeteilt ist, dem ein Signalisierungsbyte 58a vorangeht,
keine isochronen Daten enthält.
-
Wenn
jedoch die höchstwertige
Bitstelle eine logische 0 ist, dann sind die anderen Bitstellen
von Belang. Wie dies durch das Signalisierungsbyte 58b gezeigt
wird, kann die höchstwertige
Bitstelle den logischen Wert 0 haben, wodurch die anderen Bits,
die in dem Beispiel von 5 als sieben Bits dargestellt werden,
die Zahl der Bytestellen des isochronen Rahmensegments im entsprechenden
Rahmen anzeigt, die leer sind. Eine logische 1 an der niedrigstwertigen
Bitstelle des Signalisierungsbytes 58b (in 5 dargestellt)
bedeutet zum Beispiel, dass die letzte oder niedrigstwertige Bytestelle
des isochronen Rahmensegments leer ist und keine isochronen Daten
enthält.
Natürlich
können
andere Bitstellen den logischen Wert 1 tragen, um möglicherweise
bis zu 127 Bytestellen anzuzeigen, die leer sind, beginnend bei
der Bytestelle ganz rechts oder bei der niedrigstwertigen Bytestelle
in dem isochronen Rahmensegment. Wenn man über sieben Bitstellen verfügt, die
definieren, wie viele Bytes leer sind, kann daher ein isochrones
Rahmensegment von bis zu 127 Bytes bewältigt werden.
-
In 6 werden
weitere Einzelheiten darüber
gezeigt, wie das Signalisierungsbyte funktioniert. 6 zeigt
in Verbindung mit 4 und 5 verschiedene
Verfahren zur Übertragung
isochroner strömender
Daten in aufeinanderfolgenden Rahmen über das Netzwerk. Jedes den
isochronen Daten zugewiesene Rahmensegment kann entweder N Bytes oder
N+1 Bytes lang sein, je nachdem, ob die Abtastrate niedriger oder
höher als
die Rahmensynchronisationsrate ist, auf die das Netzwerk gegenwärtig festgelegt
ist. Bei dem Verfahren mit dem Bezugszeichen 60 kann das
Signalisierungsbyte („SIG") ein höchstwertiges
Bit von 0 und eine restliche Reihe von niedrigstwertigen Bits von
0 („0/0") im Rahmen 0 aufweisen,
um anzuzeigen, dass das gesamte Rahmensegment von N oder N+1 Bytes
nicht leer ist. Im Rahmen 4 jedoch kann, während das
höchstwertige
Bit des Signalisierungsbytes auf dem Spannungswert einer logischen
0 bleiben kann, das niedrigstwertige Bit den logischen Wert 1 haben,
um anzuzeigen, dass die ganz rechts befindliche oder niedrigstwertige
Bytestelle leer ist und daher keine isochronen Daten enthält. Das
Bezugszeichen 60 zeigt somit ein Signalisierungsbyte, das
dem Signalisierungsbyte 58b ähnlich ist. Es versteht sich
jedoch von selbst, dass das niedrigstwertige Bit größer als
1 sein kann, um anzuzeigen, dass möglicherweise mehr als eine
Bytestelle leer ist, und zwar beginnend bei der Bytestelle ganz
rechts und fortschreitend bis zur Bytestelle ganz links.
-
Das
Bezugszeichen 62 zeigt ein Signalisierungsbyte, das dem
Byte 58a im Rahmen 4 ähnlich ist. Das Signalisierungsbyte
im Rahmen 4 kann ein höchstwertiges Bit,
das den logischen Wert 1 anzeigt, und „don't care"-Werte
an den niedrigstwertigen Bitstellen aufweisen. Ein logischer Wert
1 an der höchstwertigen
Bitstelle zeigt an, dass für
das entsprechende, isochrone Daten enthaltende Rahmensegment alle
Bytestellen innerhalb dieses Rahmensegments für den Rahmen 4 leer
sind.
-
Die
in 6 dargestellten Beispiele können einen DVD-Player betreffen,
der mit 48 KHz abtastet, wobei vier Bytes pro Kanal über ein
Netzwerk gesendet werden, das auf eine Übertragungsrate von 44,1 KHz
festgelegt ist. Dies macht es notwendig, dass ein Rahmen mit 4 × 48/44,1
oder 4,35 Bytes dem isochronen Rahmensegment zugewiesen wird. Im
Fall von N = 4 wird somit ein zusätzliches Byte von insgesamt
fünf Bytes
erforderlich sein, um fünf
Abtastungen in vier Rahmen aufzunehmen (d.h. die Abtastungen 0,
1, 2, 3, 0 beginnend mit dem Rahmen 0 usw.). Da bereits fünf Abtastungen
in vier Rahmen aufgenommen wurden, kann der nächste Rahmen in der Sequenz
(d.h. der fünfte
Rahmen) gänzlich
leer sein, wie dies durch das Bezugszeichen 62 dargestellt
ist.
-
Das
Beispiel von 6, das ein isochrones Rahmensegment
von nur fünf
Bytes zeigt, ist ein reines Beispiel. N ist nicht auf vier beschränkt und
kann natürlich
viel größer als
vier sein und unter Umständen
bis zu 127 gehen, da das Signalisierungsbyte tatsächlich 1 – 127 leere
Bytestellen unterbringen kann. Wenn eine nachfolgende Quelle mit
einer niedrigeren Frequenz als die Übertragungsrate, auf die das
Netzwerk festgelegt ist, abtastet, trägt darüber hinaus das letzte Byte
von N Bytes (anstatt N+1 Bytes) periodisch keine isochronen Daten,
so wie dies im Rahmen 4 des Bezugszeichens 60 dargestellt
ist.
-
7 zeigt
einen möglichen
Weg, um Unterschiede zwischen der Rahmensynchronisationsrate (FSR)
ausgehend von einem Netzwerk und einer Abtastrate (fs) von der Vorrichtung 16 festzustellen.
Es kann eine Taktrückgewinnungsschaltung
oder Slave-Einheit 70 verwendet werden, um die Rahmensynchronisationsrate
zu ermitteln, indem das Synchronisationsbit oder -byte am Anfang
jedes Rahmens ermittelt wird. Die Taktrückgewinnungsschaltung könnte zum
Beispiel eine Phase Locked Loop aufweisen. Ein Komparator 72 kann
zum Beispiel einen Phasen- oder Frequenzdetektor umfassen, der Unterschiede
zwischen der Abtastrate und der Rahmensynchronisationsrate vergleicht.
Wenn Unterschiede existieren, stellt der Komparator 72 fest,
wie viele leere Bytes in einem Rahmensegment existieren. In zweiter
Linie könnte
der Komparator 72 möglicherweise
in einem breiteren Sinn verwendet werden, indem er möglicherweise
feststellt, dass isochrone Daten vorhanden sind. Vorzugsweise wird der
Komparator 72 jedoch dazu verwendet, die Anzahl leerer
Bytes festzustellen, und nicht dazu, festzustellen, ob isochrone
Daten vorhanden sind oder nicht. Die Gegenwart oder Abwesenheit
von isochronen Daten ist im Allgemeinen bereits bekannt und spezifiziert,
wenn eine isochrone Vorrichtung zugeschaltet wird, und die Übertragung
der isochronen Daten ist in den Routingtabellen im vorhinein festgelegt.
Das Steuerbyte oder die Steuerbytes in der Präambel der initiierten Vorrichtung 16 führen anschließend die
Routingfunktionalität
der nachfolgenden isochronen Daten aus, wobei abhängig davon,
ob die Abtastrate höher
oder niedriger als die Übertragungsrate
ist, auf die das Netzwerk festgelegt ist, ein zusätzliches
Byte notwendig sein kann, wie dies durch das Bezugszeichen 82 dargestellt
ist. Eine Rahmenbildungsvorrichtung 74 ist ein Teil der
Netzwerkschnittstelle oder bildet, wenn die Netzwerkschnittstelle
an einer Vorrichtung angeordnet ist, einen Teil einer Multimediavorrichtung,
wobei sie insbesondere den Kommunikationsport dieser Vorrichtung
bildet. Der Kommunikationsport ist auf einem monolithischen Substrat
angeordnet, das die Multimediavorrichtung und/oder die Netzwerkschnittstelle trägt.
-
8 zeigt
eine alternative Ausführungsform,
bei der das Signalisierungsbyte im Wesentlichen in die Daten selbst
eingebettet ist. Anders ausgedrückt
ist das Signalisierungsbyte nicht mehr vor dem entsprechenden Segment,
sondern tatsächlich in
dem Segment angeordnet, das Daten trägt. Das Signalisierungsbyte
existiert als Codierungsverletzung und ist entweder strömenden isochronen
Daten oder asynchronen Daten (d.h. Paketdaten) zugeordnet. Die Codierungsverletzung
in dem Segment zeigt an, wo in einem Segment die isochronen oder
asynchronen Daten existieren. Im Gegensatz zum Signalisierungsbyte,
das als positiver, negativer oder 0-Wert vor dem Segment decodiert
wird, werden Codierungsverletzungen als eine Bitsequenz decodiert, die
nicht die normale Datenbitsequenz ist.
-
Das
Bezugszeichen 77 zeigt eine Codierungsverletzung („V") in einem Rahmensegment,
das isochrone oder asynchrone Daten trägt. Wenn die Codierungsverletzung
decodiert wird, zeigt sie an, dass die nächste Bytestelle der Beginn
einer Reihe von Bytes ist, die dieses Rahmensegment sowie eines
oder mehrere nachfolgende Rahmensegmente belegen, bis das Ende der
Botschaft erreicht ist. In dem dargestellten Beispiel ist die Botschaft
8 Bytes lang, vom Byte 0 bis zum Byte 7. Auf diese Weise kann die
Botschaft ein Wort oder ein Satz eines Telefongesprächs oder
eine CD- oder DVD-Ausgabe sein.
Danach kann eine andere Codierungsverletzung zum Beispiel im dritten
Rahmensegment der nachfolgen Rahmen existieren, um den Beginn der nächsten Botschaft
anzuzeigen, die anschließend ein
implizites Ende haben kann. Das Bezugszeichen 77 zeigt
Beispiele, bei denen isochrone oder asynchrone Daten in einem Segment
gesendet werden und eine Botschaft mit einer Codierungsverletzung eingeleitet
wird, die anschließend
während
eines definiertes Zeitraums andauert.
-
Das
Bezugszeichen 79 zeigt ein alternatives Verfahren zur Verwendung
von Codierungsverletzungen im isochronen oder asynchronen Rahmensegment.
Anstatt nur den Beginn einer Botschaft (d.h. den Beginn einer Datenübertragung)
anzuzeigen, kann eine Codierungsverletzung ummittelbar nach dem
letzten Byte in der Datenübertragung,
die stattgefunden hat, angebracht werden. Auf diese Weise bringt
der Codierer Codierungsverletzungen an, um den Beginn und das Ende
einer Datenübertragung anzuzeigen.
Erst wenn die nächste
Codierungsverletzung auftritt, wird die nächste Datenübertragung unmittelbar anschließend erfolgen.
-
Das
Bezugszeichen 81 zeigt ein weiteres Beispiel, bei dem Codierungsverletzungen
verwendet werden, um Lücken
an Bytestellen zwischen Botschaften oder Datenübertragungen aufzufüllen. Insbesondere
wird die Codierungsverletzung, die ungültige oder abwesende Daten
bezeichnet, nur bei der Übertragung
isochroner Daten verwendet. Dies ist darauf zurückzuführen, dass asynchrone Datenkanäle normalerweise
gemäß einem
Arbitrationsschema von den Knoten gemeinschaftlich genutzt werden. Der
Arbiter wird einer asynchronen Vorrichtung die Vorherrschaft gegenüber der
anderen zuweisen. Wenn Codierungsverletzungen mit asynchronen Daten
von einer asynchronen Master-Vorrichtung gesendet werden, wird die
Vorherrschaft niemals einer anderen asynchronen Vorrichtung übergeben,
da die Datenübertragung
(gültige
Daten und Codierungsverletzungsdaten) nie enden wird. Bei isochronen Daten
erfolgt keine Zuweisung der Vorherrschaft durch Arbitration. Stattdessen
müssen
isochrone Daten in Echtzeit gesendet werden, und sie müssen über Rahmen
hinweg gesendet werden, so wie sie abgetastet werden. Codierungsverletzungen
zur Anzeige leerer oder ungültiger
Datenbytes in einem kontinuierlichen Strom isochroner Daten treten
in einem für
isochrone Daten bestimmten Kanal auf. Isochrone Daten haben normalerweise
keine Botschaftslänge,
und wenn kein Botschaftslängenbyte existiert,
wird bevorzugt, dass Codierungsverletzungen am Anfang und am Ende
der Datenübertragung existieren,
oder dass Codierungsverletzungen die Lücken zwischen den Datenübertragungen
auffüllen, wie
dies durch das Bezugszeichen 81 dargestellt wird.
-
Die
Codierungsverletzung ist ein Code, der nicht als Daten erkennbar
ist und nach dem Decodieren anzeigt, dass isochrone oder asynchrone
Daten folgen werden (Bezugszeichen 77 und 79)
oder dass keine isochronen Daten zwischen isochronen Datenübertragungen
vorhanden sind (Bezugszeichen 81). Vorzugsweise sind Codierungsverletzungsbits
ein Byte lang, wobei sie, wie dies oben erklärt wurde, eine Verletzung darstellen,
die keiner bekannten Datencodierung entspricht. Ein Biphasencode
ist zum Beispiel ein Code, bei dem jeder logische Wert 1 aus einem
Symbolpaar, bestehend aus einer logischen 1 und einer logischen
0, gebildet ist, während
ein logischer Wert 0 so codiert ist, dass beide Symbole entweder
einen logischen Wert 0 oder einen logischen Wert 1 aufweisen. Typischerweise
werden alle Daten codiert und in das Netzwerk eingespeist. Eine
Codierungsverletzung würde
zum Beispiel aus drei Symbolen in einer Reihe mit dem logischen
Wert 1 oder drei Symbolen in einer Reihe mit dem logischen Wert
0 bestehen, um diese Verletzung von der typischen Biphase-Codierung
abzugrenzen, bei der die maximale Anzahl von codierten logischen
Werten 1 oder 0 die Breite von zwei Symbolen aufweist. Der Decoder kann
daher leicht feststellen, dass die nicht erkannten Daten eine Codierungsverletzung
darstellen, um den Beginn von Daten an der nächsten Bytestelle, das Ende
von Daten an der unmittelbar vorangehenden Bytestelle und/oder das
Fehlen von Daten an der die Verletzung enthaltenden Bytestelle anzuzeigen. Der
erste Abschnitt der Verletzung kann zum Beispiel die Codierungsverletzung
bezeichnen, und der letzte Abschnitt des Byte-Bezeichners der Codierungsverletzung
kann entweder den Start eines besonderen Datentyps oder das Ende
eines besonderen Datentyps anzeigen.
-
9 ist
ein Zustandsdiagramm 84 eines Decoders, wie z.B. des Decoders 30 von 2.
Der Decoder kann eine Codierungsverletzung (! DATENCODE) anzeigen,
wobei in diesem Fall eine Codierungsverletzung, die auftritt, wenn
keine Daten übertragen
werden (Zustand 88) anzeigt, dass die nächste Bytestelle der Start
einer isochronen oder asynchronen Datenübertragung ist (Zustand 86).
Nachdem er einmal in den Zustand 86 gelangt ist, erkennt der
Decoder Nicht-Codierungsverletzungen und normalen Datencode, und
leitet auf der Basis von Routingtabellen die isochronen oder asynchronen
Daten an die entsprechende Zielvorrichtung weiter. Im Fall von strömenden (d.h.
synchronen oder isochronen) Daten werden die Daten im Allgemeinen
basierend auf der Routingtabelle an alle Vorrichtungen weitergeleitet.
-
Während des
Startzustands 86 kann schließlich das Ende einer Botschaft
auftreten, wobei entweder die Länge
der Botschaft angezeigt wird oder auf natürliche Weise ein implizites
Ende eintritt, wenn die Botschaft vorüber ist, wobei in diesem Fall
der Decoder einen Endzustand 88 erkennen und in diesen übergehen
wird. Wenn zum Beispiel eine Codierungsverletzung verwendet wird,
um das Ende einer Botschaft oder einer Datenübertragung anzuzeigen, kommt
es auf ähnliche
Weise wie beim Verfahren von Bezugszeichen 79 (8)
zu einer Codierungsverletzung (! DATENCODE). Dies wird den Endzustand 88 initiieren.
Im Endzustand 88 können
Codierungsverletzungen an jeder Bytestelle auftreten, um die Abwesenheit
isochroner Daten anzuzeigen, wie dies durch das Bezugszeichen 81 (8)
dargestellt ist. Erst wenn die letzte Codierungsverletzung zwischen Datenübertragungen
aufgetreten ist, wird das nächste
Byte eine gültige
Datenübertragung
sein, wobei anschließend
neuerlich der Startzustand 86 initiiert wird.
-
Zu
den verschiedenen Mechanismen, durch die der Beginn von Daten in
einem bestimmten Kanal oder Zeitschlitz angezeigt wird, gehören ein
Signalisierungsbyte (in den Fällen,
in denen isochrone Daten gesendet werden) oder Codierungsverletzungen in
einem Byte unmittelbar vor, unmittelbar nach oder zwischen Daten,
die in einem isochronen Segment gesendet werden.
-
Für den Fachmann
werden zahlreiche Änderungen
und Abwandlungen offensichtlich werden, nachdem die obige Offenbarung
umfassend gewürdigt
wurde. Es ist vorgesehen, dass die folgenden Ansprüche so zu
interpretieren sind, dass sie alle solchen Änderungen und Abwandlungen
einbeziehen.