-
Gebiet
-
Beispiele beziehen sich auf eine Vorrichtung zur Kommunikation über ein lokales Netzwerk, insbesondere auf ein Verfahren und eine Vorrichtung zum Senden von Seitenkanalbits auf einem Ethernet-Kabel.
-
Hintergrund
-
Das Ethernet ist eine der am weitesten verbreiteten Netzwerktechnologien. Das Ethernet wurde wegen seiner hohen Bandbreite, Kosteneffizienz usw. als Kandidat für ein industrielles Netzwerk in Betracht gezogen. Konventionelles Ethernet ist jedoch nicht in der Lage, Echtzeitverkehr für industrielle oder automobile Anwendungen usw. zu unterstützen. Um diese Anwendungen zu unterstützen, wurden Echtzeitprotokolle über das Ethernet-Protokoll hinaus entwickelt.
-
Time Sensitive Networking (TSN) ist eine Reihe von Standards der IEEE 802.1 Arbeitsgruppe. Die TSN-Standards definieren Mechanismen für die Übertragung von zeitkritischen Daten über die Ethernet-Netzwerke. Aktuelle TSN-Standards stellen einen Mechanismus zum Einfügen von „Express-Paketen“ innerhalb normaler Pakete innerhalb einer bestehenden etablierten Verbindung der MAC-Schicht (Medium Access Control) bereit. IEEE 802.1Qbu stellt Mechanismen für Frame Preemption und IEEE 802.3br Mechanismen für Interspersing Express Traffic (IET) bereit. Die in 802.1Qbu und 802.3br definierten Frame-Preemption-Schemata haben jedoch den Nachteil, dass sie den Durchsatz der bestehenden MAC-Schicht-Datenverbindung verschlechtern.
-
Figurenliste
-
Nachfolgend werden einige Beispiele von Vorrichtungen und/oder Verfahren ausschließlich beispielhaft und Bezug nehmend auf die beiliegenden Figuren beschrieben, in denen gilt:
- 1A ist ein Blockdiagramm einer beispielhaften Vorrichtung zur Übertragung gemäß einem Beispiel;
- 1B ist ein Blockdiagramm einer beispielhaften Vorrichtung für einen Empfang gemäß einem Beispiel;
- 2 zeigt die Übertragung von Seitenkanalbits zusammen mit der Datennutzlast unter Verwendung eines Null-Bit-Feldes gemäß einem Beispiel;
- 3 zeigt einen Protokollstapel zur Übertragung der Seitenkanalbits zusammen mit den Nutzlastbits gemäß einem Beispiel;
- 4 ist ein Blockdiagramm einer Vorrichtung, die zum Senden und/oder Empfangen der Seitenkanaldaten gemäß einem Beispiel ausgebildet ist;
- 5 ist ein Flussdiagramm eines Prozesses zum Senden von Niedriglatenz-Seitenband-Kanaldaten gemäß einem Beispiel; und
- 6 ist ein Flussdiagramm eines Prozesses zum Empfangen von Niedriglatenz-Seitenband-Kanaldaten gemäß einem Beispiel.
-
Detaillierte Beschreibung
-
Verschiedene Beispiele werden nun ausführlicher Bezug nehmend auf die beiliegenden Zeichnungen beschrieben, in denen einige Beispiele dargestellt sind. In den Figuren können die Stärken von Linien, Schichten und/oder Regionen der Klarheit halber übertrieben sein.
-
Entsprechend sind, obgleich weitere Beispiele zu verschiedenen Modifikationen und alternativen Formen in der Lage sind, manche bestimmten Beispiele davon in den Figuren gezeigt und werden anschließend ausführlich beschrieben. Allerdings beschränkt diese detaillierte Beschreibung weitere Beispiele nicht auf die beschriebenen bestimmten Formen. Weitere Beispiele können alle Modifikationen, Entsprechungen und Alternativen abdecken, die in den Schutzbereich der Offenbarung fallen. Gleiche Bezugszeichen beziehen sich in der gesamten Beschreibung der Figuren auf gleiche oder ähnliche Elemente, die bei einem Vergleich miteinander identisch oder in modifizierter Form implementiert sein können, während sie die gleiche oder eine ähnliche Funktionalität bereitstellen.
-
Es versteht sich, dass, wenn ein Element als mit einem anderen Element „verbunden“ oder „gekoppelt“ bezeichnet wird, die Elemente direkt, oder über ein oder mehrere Zwischenelemente, verbunden oder gekoppelt sein können. Wenn zwei Elemente A und B unter Verwendung eines „oder“ kombiniert werden, ist dies so zu verstehen, dass alle möglichen Kombinationen offenbart sind, d. h. nur A, nur B sowie A und B. Eine alternative Formulierung für die gleichen Kombinationen ist „zumindest eines von A und B“. Das Gleiche gilt für Kombinationen von mehr als 2 Elementen.
-
Die Terminologie, die hierin zum Beschreiben bestimmter Beispiele verwendet wird, soll nicht begrenzend für weitere Beispiele sein. Wenn eine Singularform, z. B. „ein, eine“ und „der, die, das“ verwendet wird und die Verwendung nur eines einzelnen Elements weder explizit noch implizit als verpflichtend definiert ist, können weitere Beispiele auch Pluralelemente verwenden, um die gleiche Funktionalität zu implementieren. Ähnlich, wenn eine Funktionalität nachfolgend als unter Verwendung mehrerer Elemente implementiert beschrieben ist, können weitere Beispiele die gleiche Funktion unter Verwendung eines einzelnen Elements oder einer einzelnen Verarbeitungsentität implementieren. Es versteht sich weiterhin, dass die Begriffe „umfasst“, „umfassend“, „aufweist“ und/oder „aufweisend“ bei Gebrauch das Vorhandensein der angegebenen Merkmale, Ganzzahlen, Schritte, Operationen, Prozesse, Handlungen, Elemente und/oder Komponenten präzisieren, aber nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Prozesse, Handlungen, Elemente, Komponenten und/oder einer Gruppe derselben ausschließen.
-
Sofern nicht anderweitig definiert, werden alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe) hier in ihrer üblichen Bedeutung des Gebiets verwendet, zu dem die Beispiele gehören.
-
Die hier offenbarten Beispiele stellen einen Mechanismus zum Senden und Empfangen von Seitenkanalnachrichten mit niedriger Latenz (z. B. Steuersignalen) über ein Ethernet-Kabel bereit, z. B. unter Verwendung des IEEE802.3bz-Standards, ohne den bestehenden Datenfluss zu beeinträchtigen. In Beispielen können die Seitenkanalnachrichten (z. B. Steuersignale mit niedriger Latenz) als Seitenband im LDPC-Rahmen (LDPC; Low Density Parity Check; Niedrigdichte-Paritätsprüfung) der Physical Layer gesendet werden, der auf das Verdrilltes-Paar-Ethernet-Kabel geht. Die Datenverbindung der MAC-Schicht wird durch die Übertragungen der Seitenkanalnachrichten nicht beeinflusst.
-
Latenz ist die Zeit, die benötigt wird, um eine Dateneinheit zwischen zwei Punkten in einem Netzwerk zu senden. Die Signalisierung mit geringer Latenz erlaubt es, Steuernachrichten (z.B. Informationen oder Betätigungsbefehle usw.) mit begrenzter Zeit, verbracht zwischen dem Sender einer Nachricht (z.B. der Steuerung in der Sendevorrichtung) und dem Empfänger der Nachricht (z.B. der Steuerung in der Empfangsvorrichtung), zu senden, die durch ein Ethernet-Kabel verbunden sind. Die Signalisierung mit niedriger Latenz hat in letzter Zeit in Anwendungen wie industrieller Steuerung oder Automobilvernetzung an Interesse gewonnen und ist eines der Merkmale von TSN. Es ist in der Regel schwierig, sowohl Signalisierung mit niedriger Latenz als auch einen hohen Datendurchsatz zu erreichen.
-
In den hier offenbarten Beispielen kann das in einen codierten Rahmen in einer Physical Layer eingefügte Null-Bit-Feld verwendet werden, um einen Seitenbandkanal für die Kommunikation von Steuersignalen oder Nachrichten mit geringer Latenz einzurichten. Das Steuersignal kann über das Ethernet-Kabel gesendet und von der Physical Layer (PHY) verarbeitet werden. Die Signalisierung kann bidirektional sein, so dass irgendeine auf dem Ethernet-Kabel verbundene Vorrichtung eine Seitenkanalnachricht an die andere(n) mit dem Ethernet-Kabel verbundene(n) Vorrichtung(en) senden kann. Für den Transport der Signalisierung mit geringer Latenz zusammen mit einem Datenstrom (z. B. einem 2,5-Gbit/s-Datenstrom) ist kein dediziertes Kabel erforderlich. Die Steuerungsebene und die Datenebene sind getrennt. In den Beispielen darf die Datennutzlast der MAC-Schicht nicht verändert werden, und die MAC-Schicht kann eine Verbindung mit hohem Datendurchsatz ohne Unterbrechung fortsetzen.
-
Die Steuersignale, die gemäß den hier offenbarten Beispielen gesendet werden, sind nicht einfach über Traffic Sniffing (Verkehrs-Schnüffeln) zu analysieren, da sie nicht mit dem Verkehr aus den höheren OSI-Schichten (Open Systems Interconnection) korreliert sind. Es ist schwierig, die Steuerinformationen zu decodieren, die gemäß den hier offenbarten Beispielen durch Snooping (Schnüffeln) übermittelt wurden.
-
1A ist ein Blockdiagramm einer beispielhaften Vorrichtung 110 zum Senden von Seitenkanalbits gemäß einem Beispiel. Die Vorrichtung 110 umfasst einen Codierer 112, einen Signalprozessor 114 und eine Steuerung 116. Der Codierer 112 ist so ausgebildet, dass er Nutzlastbits codiert, die an eine Empfangsvorrichtung übertragen werden sollen, und einen codierten Rahmen gemäß einem Ethernet-Protokoll (z.B. IEEE 802.3bz-Protokoll) erzeugt. Der Codierer 112 kann ausgebildet sein, um die Nutzlastbits unter Verwendung eines LDPC-Codes zu codieren. LDPC-Code ist ein linearer, fehlerkorrigierender Code. Alternativ kann jedes andere Kanalcodierungsschema verwendet werden. Der Codierer 112 kann vor der Codierung, wie definiert durch IEEE 802.3bz, eine bestimmte Anzahl von Nullbits zu den Nutzlastbits hinzufügen. Nach der Codierung werden Paritätsbits zur Fehlerkorrektur hinzugefügt, so dass der codierte Rahmen die Nutzlastbits, die Nullbits und die Paritätsbits umfassen kann. In einem Beispiel kann der Codierer die Nutzlastbits und die Nullbits unter Verwendung von LDPC-Code codieren, z.B. LDPC (1723,2048) -Code, was im Folgenden ausführlich erläutert wird.
-
Die Steuerung 116 kann ausgebildet sein, um die Nullbits durch Seitenkanalbits zu ersetzen. Bei den Seitenkanalbits kann es sich beispielsweise um Steuersignale handeln, die zur Aktivierung der Ausrüstungssteuerung in einem Auto oder in einem Industrieroboter verwendet werden, oder um eine andere Steuersignalisierung (z. B. dringende Steuersignalisierung) oder Seitenbanddaten oder ähnliches. Der codierte Rahmen wird dann durch den Signalprozessor 114 (z.B. digitaler Signalprozessor und analoger Signalprozessor) verarbeitet. Der codierte Rahmen kann durch Pulsamplitudenmodulation (PAM) durch den Signalprozessor 114 moduliert und dann über ein Ethernet-Kabel übertragen werden.
-
In einigen Beispielen kann der Codierer 112 ausgebildet sein, um die Seitenkanalbits zur Fehlerkorrektur und/oder Verschlüsselung zu codieren. Jede konventionelle Fehler-Detektions-/Korrektur-Codierung und Verschlüsselungs-Codierung kann verwendet werden. Die Seitenkanalbits können auf einer Physical Layer in den codierten Rahmen eingefügt werden.
-
1B ist ein Blockdiagramm einer beispielhaften Vorrichtung 120 zum Empfangen der Seitenkanaldaten gemäß einem Beispiel. Die Vorrichtung 120 umfasst einen Signalprozessor 122, einen Decodierer 124 und eine Steuerung 126. Der Signalprozessor 122 ist ausgebildet, um ein Signal auf einem Ethernet-Kabel zu empfangen und das empfangene Signal zu demodulieren, um einen empfangenen Datenrahmen zu erzeugen. Der empfangene Datenrahmen umfasst Nutzlastbits, Seitenkanalbits und Paritätsbits. Die Steuerung 126 ist ausgebildet, um die Seitenkanalbits aus dem empfangenen Datenrahmen zu extrahieren. Die Steuerung 126 kann ausgebildet sein, um die Seitenkanalbits auf einer Physical Layer (physikalischen Schicht) zu extrahieren.
-
Der Decodierer 124 ist ausgebildet, um die Seitenkanalbits durch Nullbits zu ersetzen und den empfangenen Datenrahmen zu decodieren, um die Nutzlastbits wiederherzustellen. Der Decodierer 124 kann ausgebildet sein, um den empfangenen Datenrahmen unter Verwendung von LDPC-Code, z.B. LDPC (1723,2048) -Code, zu decodieren. Für den Fall, dass die Seitenkanalbits zur Fehlerkorrektur und/oder Verschlüsselung codiert sind, kann der Decodierer 124 ausgebildet sein, um die Seitenkanalbits zur Fehlerkorrektur und/oder Entschlüsselung zu decodieren.
-
2 zeigt die Übertragung von Seitenkanalbits zusammen mit der Datennutzlast unter Verwendung von Null-Bit-Feldern gemäß einem Beispiel. 2 zeigt zwei Ethernet-Vorrichtungen 210, 220, die über ein Ethernet-Kabel 230 (4 Paare von verdrillten Doppelkabeln) kommunizieren. Die Verbindung zwischen den Ethernet-Vorrichtungen 210, 220 kann bidirektional sein. Alternativ kann die Verbindung zwischen den Ethernet-Vorrichtungen 210, 220 auch unidirektional sein.
-
Bei einem Beispiel kann die LDPC (1723, 2048) -Codierung und -Decodierung jeweils in der Sendevorrichtung 210 und der Empfangsvorrichtung 220 implementiert werden. Der LDPC (1723,2048) -Code ist ein Beispiel für die LDPC- Codierung, und als Alternative kann ein anderer LDPC-Code oder ein anderes Kanal-Codierungsschema implementiert werden. Der Codierer in der Sendevorrichtung 210 empfängt einen Datenstrom von einer höheren Schicht (z.B. einer MAC-Schicht) und kann eine 64b/65b-Codierung implementieren, die aus 64-Bit-Daten eine 65-Bit-Codegruppe erzeugt. Die 65-Bit-Codegruppen werden dann zu einer Gruppe von 50 65-Bit-Blöcken angeordnet. 8 CRC-Prüfbits (CRC = Cyclic Redundancy Check) werden hinzugefügt, um einen Datenblock von (50×65)+8=3.258 Bits zu erzeugen. Ein einzelnes Hilfskanalbit kann hinzugefügt werden, um einen Block von 3.259 Bits zu erhalten. Die 3.259 Bits können dann in eine Gruppe von 1.536 Bits (3×512) und einen weiteren Block von 1.723 Bits unterteilt werden. Die 1.536 Bits können uncodiert sein, während die 1.723 Bits durch den LDPC-Code (1723, 2048) codiert werden. Der Codierer 112 fügt 325 LDPC-Fehlerkorrekturbits 218 (Paritätsbits) zu den 1.723 Bits hinzu, um einen LDPC-Rahmen von 2.048 codierten Bits zu bilden. In Kombination können die 1.536 uncodierten Bits (3 × 512) und die 2.048 codierten Bits (4×512) in einem Rahmen von 7×512 Bits (512 DSQ-Symbole) angeordnet werden. Die 7 × 512 Bits können dann auf die vier (4) physischen Kanäle (4 verdrillte Paare 230) verteilt werden. Der Signalprozessor 114 (digitaler Signalprozessor (DSP) und analoger Signalprozessor (ASP)) kann Signale verarbeiten und auf die verdrillten Leitungspaare 230 treiben.
-
Der Standard IEEE 802.3bz definiert ein 97-Null-Bit-Feld zur Codierung von Nutzlastdaten 212 von 1.626 Bit (einschließlich eines Hilfsbits) unter Verwendung von LDPC (1723.2048) - Code. Die Nullbits werden vor der Codierung zu den Nutzlastbits hinzugefügt, und die LDPC-Codierung (1723.2048) wird auf den Nutzlastbits und den Nullbits durchgeführt.
-
In Beispielen kann die Steuerung 116 an der Sendevorrichtung 210 die Nullbits 214 durch die Seitenkanalbits 216 ersetzen. Beispielsweise können die Seitenkanalbits für Steuersignalisierung mit niedriger Latenz oder für andere Zwecke verwendet werden. Die Steuernachrichten können in der Länge variabel sein und können mehr oder weniger als 97 Bit betragen. Die Seitenkanalbits 216 können für andere als Steuerzwecke verwendet werden und können einfach Datenbits sein. Die Seitenkanalbits 216 können in einer Physical Layer erzeugt werden oder aus einer beliebigen Quelle stammen. Die Seitenkanalbits 216 können die Nullbits 214 in dem LDPC-Rahmen auf der Physical Layer ersetzen. Die Seitenkanalbits 216 können zur Fehlerkorrektur und/oder Verschlüsselung codiert werden. Der codierte LDPC-Rahmen, der die Nutzlastbits 212, die Seitenkanalbits 216 und die Paritätsbits 218 umfasst, wird moduliert und auf den vier verdrillten Doppelkabeln 230 durch den Signalprozessor 114 übertragen.
-
In der Empfangsvorrichtung 220 empfängt der Signalprozessor 122 ein Signal auf den Verdrilltes-Paar-Ethernet-Kabeln 230 und demoduliert das Signal zu den Modulationssymbolen. Die Modulationssymbole werden dann demoduliert und wieder zu LDPC-Frames rekombiniert. LDPC-Decodierung (z.B. LDPC (1723,2048) -Decodierung) kann durchgeführt werden, um die Nutzlastdaten 212 wiederherzustellen.
-
Die Steuerung in der Empfangsvorrichtung 220 kann die Seitenkanalbits 216 aus dem LDPC-Rahmen extrahieren, noch bevor der LDPC-Rahmen decodiert wird. Dadurch wird die Steuersignalverarbeitung beschleunigt, da die LDPC-Decodierung zeitaufwendig ist und die Steuerung möglicherweise nicht auf den Abschluss der LDPC-Decodierung wartet, um die Seitenkanalbits 216 zu erhalten. Wenn die Seitenkanalbits 216 zur Fehlerkorrektur und/oder Verschlüsselung an der Sendevorrichtung 210 codiert werden, kann die Decodierung zur Fehlerkorrektur oder Entschlüsselung mit den Seitenkanalbits 216 durchgeführt werden. Konventionell werden in der Empfangsvorrichtung 220 die 97 Null-Bit-Positionen verworfen und vor der Decodierung auf einem Empfangspfad auf Null gesetzt. In den hier offenbarten Beispielen können diese 97 Bit-Positionen verwendet werden, um Seitenkanalbits, wie z.B. Steuersignalisierung mit niedriger Latenz, zu übertragen, anstatt sie einfach zu verwerfen.
-
3 zeigt einen Protokollstapel zur Übertragung der Seitenkanalbits zusammen mit den Nutzlastbits gemäß einem Beispiel. Die Nutzlastdaten können auf der höheren Schicht (z. B. einer Application Layer (Anwendungsschicht), wie einem Videostream usw.) erzeugt und über die unteren Schichten des Protokollstapels transportiert werden. Die Datenverbindung auf der MAC-Schicht kann einen Durchsatz von 2,5 Gb/s oder 5,0 Gb/s gemäß dem IEEE802.3bz-Standard (oder einen unterschiedlichen Durchsatz je nach Standard) bereitstellen und kann für den Transport von Diensten mit hohem Durchsatz (z. B. unkomprimiertes Video in einem Auto usw.) verwendet werden. Die Seitenkanaldaten (z.B. 97 Bit pro LDPC-Frame) können auf einer Physical Layer 302 verarbeitet werden, um über das konventionelle Null-Bit-Feld in einem LDPC-Frame, wie oben angegeben, übertragen zu werden, ohne die MAC-Datennutzlast zu unterbrechen. Die Seitenkanaldaten gemäß den Beispielen verändern den Datendurchsatz nicht, da sie über das Nullbitfeld übertragen werden, das beim Empfänger verworfen wird. Der Steuersignalisierungsmechanismus gemäß den Beispielen kann eine niedrige Sende-Latenz (z.B. ca. 1 µs) und eine niedrige Empfangs-Latenz (z.B. ca. 1,65 µs) unterstützen.
-
4 ist ein Blockdiagramm einer Vorrichtung 400, die zum Senden und/oder Empfangen der Seitenkanaldaten gemäß einem Beispiel 400 ausgebildet ist. Die Vorrichtung kann einen Integrierte-Schaltung- (IC; integrated circuit) Chip umfassen. Die Vorrichtung 400 kann ein Physical-Layer-Chip oder ein Teil eines integrierten Chips sein, der neben den Physical-Layer-Funktionalitäten weitere Funktionalitäten umfasst.
-
Die Vorrichtung 400 kann eine Ethernet-Physical-Layer-Schaltungsanordnung 410 und eine Datenschnittstelle 420 in Richtung hin zu einem anderen Chip 450 (z.B. System on Chip (SoC)) umfassen, der MAC und obere Schichten implementiert. Die Ethernet-Physical-Layer-Schaltungsanordnung 410 kann einen ASP 412 für eine analoge Signalverarbeitung, einen DSP 414 für eine digitale Signalverarbeitung und eine Physical Coding Sublayer (PCS) 416 für eine Kanalcodierung/-decodierung (z.B. eine LDPC-Codierung/Decodierung) umfassen. Die Datenschnittstelle 420 zu dem Chip 450, der den MAC und die oberen Schichten implementiert, kann eine PCS und Serial Gigabit Media Independent Interface (SGMII) SerDes umfassen. Die Vorrichtung 400 umfasst außerdem eine Steuerung 430, eine MDIO-Schnittstelle (Management Data Input/Output) und ein oder mehrere MDIO-Register.
-
4 zeigt beispielhaft Signalpfade von Nutzlastdaten und Seitenkanaldaten (z.B. Steuernachrichten, etc.). Die zu übertragenden Nutzlastdaten (d.h. Benutzerdaten) können von dem Chip 450, der die MAC und die oberen Schichten implementiert, empfangen und von der Ethernet-Physical-Layer-Schaltungsanordnung 410 verarbeitet und dann auf das Ethernet-Kabel 460 übertragen werden. Zur Übertragung von Seitenkanaldaten können die Seitenkanaldaten durch die Steuerung 430 über die MDIO-Schnittstelle 434 empfangen und im MDIO-Register 432 temporär gespeichert werden. Die Steuerung 430 sendet die Seitenkanaldaten an die PCS 416, damit sie, wie oben erläutert, durch die Nullbits im LDPC-Rahmen ersetzt werden. Für den Empfang von Seitenkanaldaten kann die Steuerung 430 die Seitenkanaldaten aus dem empfangenen LDPC-Rahmen wie oben erläutert extrahieren und sendet die Seitenkanaldaten über die MDIO-Schnittstelle 434.
-
Die Vorrichtung 400 kann auch eine Schaltungsanordnung für die Taktverwaltung, eine universelle asynchrone Empfänger-/Sendeempfänger-Schnittstelle, die Steuerung von Leuchtdioden (LED; light emitting diode), eine Mehrzweck-Eingangs-/Ausgangs-Schnittstelle (GPIO; general purpose input/output), eine seriell-parallele Schnittstelle (SPI), die Umwandlung von Gleichstrom in Gleichstrom (DC-DC) usw. umfassen.
-
5 ist ein Flussdiagramm eines Prozesses zum Senden von Niedriglatenz-Seitenkanaldaten gemäß einem Beispiel. Eine Sendevorrichtung kann zu übertragende Nutzlastbits empfangen, Nullbits zu den Nutzlastbits hinzufügen und dann die Nutzlastbits und die Nullbits codieren, um einen codierten Rahmen zu erzeugen, der die Nutzlastbits, die Nullbits und Paritätsbits umfasst (502). Die Nutzlastbits können mit einem LDPC- (1723.2048) Code codiert werden. Die Sendevorrichtung kann die Nullbits durch Seitenkanalbits ersetzen (504). Die Sendevorrichtung kann dann den codierten Rahmen mit den Seitenkanalbits modulieren und den modulierten codierten Rahmen über ein Ethernet-Kabel übertragen (506). Die Sendevorrichtung kann die Seitenkanalbits 216 zur Fehlerkorrektur und/oder Verschlüsselung codieren.
-
6 ist ein Flussdiagramm eines Prozesses zum Empfangen von Niedriglatenz-Seitenkanaldaten gemäß einem Beispiel. Eine Empfangsvorrichtung kann ein Signal auf dem Ethernet-Kabel empfangen und das empfangene Signal demodulieren, um einen empfangenen Datenrahmen zu erzeugen (602). Der empfangene Datenrahmen umfasst Nutzlastbits, Seitenkanalbits und Paritätsbits. Die Empfangsvorrichtung kann die Seitenkanalbits aus der Null-Bit-Position des empfangenen Datenrahmens extrahieren (604). Die Empfangsvorrichtung kann die Seitenkanalbits durch Nullbits ersetzen und den empfangenen Datenrahmen decodieren, nachdem sie die Seitenkanalbits durch die Nullbits ersetzt hat, um die Nutzlastbits wiederherzustellen (606). LDPC-Decodierung (z.B. LDPC- (1723,2048) Code) kann verwendet werden, um die Nutzlastdaten 212 wiederherzustellen. Wenn die Seitenkanalbits 216 zur Fehlerkorrektur und/oder Verschlüsselung codiert werden, kann die Empfangsvorrichtung die Seitenkanalbits 216 decodieren.
-
Ein anderes Beispiel ist ein Computerprogramm, das einen Programmcode zum Durchführen von zumindest einem der hierin beschriebenen Verfahren umfasst, wenn das Computerprogramm auf einem Computer, einem Prozessor oder einer programmierbaren Hardwarekomponente ausgeführt wird. Ein anderes Beispiel ist ein maschinenlesbarer Speicher, der maschinenlesbare Anweisungen umfasst, die bei Ausführung ein Verfahren implementieren oder eine Vorrichtung realisieren, wie hierin beschrieben ist. Ein weiteres Beispiel ist ein maschinenlesbares Medium, das einen Code umfasst, der bei Ausführung verursacht, dass eine Maschine irgendeines der hierin beschriebenen Verfahren ausführt.
-
Die Beispiele, wie sie hierin beschrieben sind, können wie folgt zusammengefasst werden:
- Beispiel 1 ist eine Vorrichtung zum Senden von Seitenkanalbits auf einem Ethernet-Kabel. Die Vorrichtung umfasst einen Codierer, der so ausgebildet ist, dass er Nutzlastbits codiert, um einen codierten Rahmen zu erzeugen, wobei den Nutzlastbits vor der Codierung Nullbits hinzugefügt werden, um Paritätsbits zu erzeugen, eine Steuerung, die ausgebildet ist, um die Nullbits durch die Seitenkanalbits zu ersetzen, und einen Signalprozessor, der ausgebildet ist, um den codierten Rahmen mit den Seitenkanalbits zu modulieren und den modulierten, codierten Rahmen auf einem Ethernet-Kabel zu übertragen.
- Beispiel 2 ist die Vorrichtung von Beispiel 1, wobei der Codierer so ausgebildet ist, dass er die Nutzlastbits und die Nullbits unter Verwendung eines LDPC- (1723,2048) Codes codiert.
- Beispiel 3 ist die Vorrichtung gemäß einem der Beispiele 1-2, wobei der Codierer ausgebildet ist, um die Seitenkanalbits zur Fehlerkorrektur und/oder Verschlüsselung zu codieren.
- Beispiel 4 ist die Vorrichtung gemäß einem der Beispiele 1-3, wobei die Nullbits in einer Physical Layer durch die Seitenkanalbits ersetzt werden.
- Beispiel 5 ist die Vorrichtung gemäß einem der Beispiele 1-4, wobei die Seitenkanalbits für Steuersignale verwendet werden.
- Beispiel 6 ist eine Vorrichtung zum Empfangen von Seitenkanaldaten auf einem Ethernet-Kabel. Die Vorrichtung umfasst einen Signalprozessor, der ausgebildet ist, um ein Signal auf einem Ethernet-Kabel zu empfangen und das empfangene Signal zu demodulieren, um einen empfangenen Datenrahmen zu erzeugen, wobei der empfangene Datenrahmen Nutzlastbits, Seitenkanaldatenbits und Paritätsbits umfasst, eine Steuerung, die ausgebildet ist, um die Seitenkanalbits aus den Null-Bit-Positionen des empfangenen Datenrahmens zu extrahieren, und einen Decodierer, der ausgebildet ist, um die Seitenkanalbits durch Nullbits zu ersetzen und den empfangenen Datenrahmen zu decodieren, um die Nutzlastbits wiederherzustellen.
- Beispiel 7 ist die Vorrichtung von Beispiel 6, wobei der Decodierer ausgebildet ist, um den empfangenen Datenrahmen unter Verwendung eines LDPC- (1723,2048) Codes zu decodieren.
- Beispiel 8 ist die Vorrichtung gemäß einem der Beispiele 6-7, wobei der Decodierer ausgebildet ist, um die Seitenkanalbits zur Fehlerkorrektur und/oder Entschlüsselung zu decodieren.
- Beispiel 9 ist die Vorrichtung gemäß einem der Beispiele 6-8, wobei die Steuerung ausgebildet ist, in einer Physical Layer Seitenkanalbits zu extrahieren.
- Beispiel 10 ist die Vorrichtung gemäß einem der Beispiele 6-9, wobei die Seitenkanalbits für Steuersignale verwendet werden.
- Beispiel 11 ist ein Verfahren zum Senden von Seitenkanaldaten auf einem Ethernet-Kabel. Das Verfahren umfasst das Empfangen der zu übertragenden Nutzlastbits, das Hinzufügen von Nullbits zu den Nutzlastbits, das Codieren der Nutzlastbits und der Nullbits, um einen codierten Rahmen zu erzeugen, der die Nutzlastbits, die Nullbits und Paritätsbits umfasst, das Ersetzen der Nullbits durch Seitenkanalbits, das Modulieren des codierten Rahmens mit den Seitenkanalbits und das Übertragen des modulierten, codierten Rahmens auf einem Ethernet-Kabel.
- Beispiel 12 ist das Verfahren von Beispiel 11, wobei die Nutzlastbits unter Verwendung eines LDPC- (1723,2048) Codes codiert werden.
- Beispiel 13 ist das Verfahren gemäß einem der Beispiele 11-12, ferner umfassend das Codieren der Seitenkanalbits zur Fehlerkorrektur und/oder Verschlüsselung.
- Beispiel 14 ist das Verfahren gemäß einem der Beispiele 11-13, wobei die Nullbits in einer Physical Layer durch die Seitenkanalbits ersetzt werden.
- Beispiel 15 ist ein Verfahren zum Empfangen von Seitenkanaldaten auf einem Ethernet-Kabel. Das Verfahren umfasst das Empfangen eines Signals auf dem Ethernet-Kabel, das Demodulieren des empfangenen Signals, um einen empfangenen Datenrahmen zu erzeugen, wobei der empfangene Datenrahmen Nutzlastbits, Seitenkanalbits und Paritätsbits umfasst, das Extrahieren der Seitenkanalbits aus Nullbit-Positionen des empfangenen Datenrahmens, das Ersetzen der Seitenkanalbits durch Nullbits und das Decodieren des empfangenen Datenrahmens nach dem Ersetzen der Seitenkanalbits durch die Nullbits, um die Nutzlastbits wiederherzustellen.
- Beispiel 16 ist ein Computerprogramm mit einem Programmcode zur Durchführung eines Verfahrens gemäß einem der Beispiele 11-15.
- Beispiel 17 ist ein maschinenlesbarer Speicher, umfassend maschinenlesbare Anweisungen, die bei Ausführung ein Verfahren implementieren oder eine Vorrichtung realisieren, wie bei irgendeinem der Beispiele 1-16.
- Beispiel 18 ist ein maschinenlesbares Medium, umfassend Code, der beim Ausführen eine Maschine zum Ausführen eines Verfahrens gemäß einem der Beispiele 11-15 veranlasst.
-
Die Aspekte und Merkmale, die zusammen mit einem oder mehreren der vorher detaillierten Beispiele und Figuren erwähnt und beschrieben sind, können auch mit einem oder mehreren der anderen Beispiele kombiniert werden, um ein gleiches Merkmal des anderen Beispiels zu ersetzen oder um das Merkmal in das andere Beispiel zusätzlich einzuführen.
-
Beispiele können weiterhin ein Computerprogramm, das einen Programmcode zum Ausführen eines oder mehrerer der vorangehenden Verfahren aufweist, sein oder sich auf ein solches beziehen, wenn das Computerprogramm auf einem Computer oder Prozessor ausgeführt wird. Schritte, Operationen oder Prozesse von verschiedenen, oben beschriebenen Verfahren können durch programmierte Computer oder Prozessoren ausgeführt werden. Beispiele können auch Programmspeichervorrichtungen, wie beispielsweise Digitaldatenspeichermedien, abdecken, die maschinen-, prozessor- oder computerlesbar sind und maschinenausführbare, prozessorausführbare oder computerausführbare Programme von Anweisungen codieren. Die Anweisungen führen einige oder alle der Schritte der vorangehend beschriebenen Verfahren aus oder verursachen deren Ausführung. Die Programmspeichervorrichtungen können z. B. Digitalspeicher, magnetische Speichermedien wie beispielsweise Magnetplatten und Magnetbänder, Festplattenlaufwerke oder optisch lesbare Digitaldatenspeichermedien umfassen oder sein. Weitere Beispiele können auch Computer, Prozessoren oder Steuereinheiten, die zum Ausführen der Schritte der vorangehend beschriebenen Verfahren programmiert sind, oder (feld-)programmierbare Logik-Arrays ((F)PLAs; (Field) Programmable Logic Arrays) oder (feld-)programmierbare Gate-Arrays ((F)PGA; (Field) Programmable Gate Arrays), die zum Ausführen der Schritte der vorangehend beschriebenen Verfahren programmiert sind, abdecken.
-
Durch die Beschreibung und Zeichnungen werden nur die Grundsätze der Offenbarung dargestellt. Weiterhin sollen alle hier aufgeführten Beispiele grundsätzlich ausdrücklich nur darstellenden Zwecken dienen, um den Leser bei dem Verständnis der Grundsätze der Offenbarung und der durch den (die) Erfinder beigetragenen Konzepte zur Weiterentwicklung der Technik zu unterstützen. Alle hiesigen Aussagen über Grundsätze, Aspekte und Beispiele der Offenbarung sowie konkrete Beispiele derselben sollen deren Entsprechungen umfassen.
-
Ein als „Mittel zum...“ bezeichneter Funktionsblock, der eine bestimmte Funktion ausführt, kann sich auf eine Schaltung beziehen, die zum Durchführen einer bestimmten Funktion ausgebildet ist. Somit kann ein „Mittel für etwas“ als ein „Mittel ausgebildet für oder geeignet für etwas“ implementiert sein, wie beispielsweise eine Vorrichtung oder eine Schaltung, die ausgebildet ist für oder geeignet ist für die jeweilige Aufgabe.
-
Funktionen verschiedener in den Figuren gezeigter Elemente einschließlich jeder als „Mittel“, „Mittel zum Bereitstellen eines Sensorsignals“, „Mittel zum Erzeugen eines Sendesignals“, etc. bezeichneter Funktionsblöcke kann in Form dedizierter Hardware, z. B „eines Signalanbieters“, „einer Signalverarbeitungseinheit“, „eines Prozessors“, „einer Steuerung“ etc. sowie als Hardware fähig zum Ausführen von Software in Verbindung mit zugehöriger Software implementiert sein. Bei Bereitstellung durch einen Prozessor können die Funktionen durch einen einzelnen dedizierten Prozessor, durch einen einzelnen gemeinschaftlich verwendeten Prozessor oder durch eine Mehrzahl von individuellen Prozessoren bereitgestellt sein, von denen einige oder von denen alle gemeinschaftlich verwendet werden können. Allerdings ist der Begriff „Prozessor“ oder „Steuerung“ bei Weitem nicht auf ausschließlich zur Ausführung von Software fähige Hardware begrenzt sondern kann Digitalsignalprozessor-Hardware (DSP-Hardware; DSP; Digital Signal Processor), Netzwerkprozessor, anwendungsspezifische integrierte Schaltung (ASIC; Application Specific Integrated Circuit), feldprogrammierbares Gate-Array (FPGA; Field Programmable Gate Array), Nurlesespeicher (ROM; Read Only Memory) zum Speichern von Software, Direktzugriffsspeicher (RAM; Random Access Memory) und nichtflüchtigen Speicher (storage) umfassen. Sonstige Hardware, herkömmliche und/oder kundenspezifische, kann auch umfasst sein.
-
Ein Blockdiagramm kann zum Beispiel ein detailliertes Schaltdiagramm darstellen, das die Grundsätze der Offenbarung implementiert. Auf ähnliche Weise können ein Flussdiagramm, ein Ablaufdiagramm, ein Zustandsübergangsdiagramm, ein Pseudocode und dergleichen verschiedene Prozesse, Operationen oder Schritte repräsentieren, die zum Beispiel im Wesentlichen in einem computerlesbaren Medium dargestellt und so durch einen Computer oder Prozessor ausgeführt werden können, ungeachtet dessen, ob ein solcher Computer oder Prozessor explizit gezeigt ist. In der Beschreibung oder in den Patentansprüchen offenbarte Verfahren können durch eine Vorrichtung implementiert werden, die ein Mittel zum Ausführen eines jeden der jeweiligen Schritte dieser Verfahren aufweist.
-
Es versteht sich, dass die Offenbarung mehrerer, in der Beschreibung oder den Ansprüchen offenbarter Handlungen, Prozesse, Operationen, Schritte oder Funktionen nicht als in der bestimmten Reihenfolge befindlich ausgelegt werden soll, sofern dies nicht explizit oder implizit anderweitig, zum Beispiel aus technischen Gründen, angegeben ist. Daher werden diese durch die Offenbarung von mehreren Schritten oder Funktionen nicht auf eine bestimmte Reihenfolge begrenzt, es sei denn, dass diese Schritte oder Funktionen aus technischen Gründen nicht austauschbar sind. Ferner kann bei einigen Beispielen eine einzelne Handlung, Funktion, Prozess, Operation oder Schritt jeweils mehrere Teilhandlungen, -funktionen, -prozesse, - operationen oder -schritte einschließen und/oder in dieselben aufgebrochen werden. Solche Teilschritte können eingeschlossen sein und Teil der Offenbarung dieses Einzelschritts sein, sofern sie nicht explizit ausgeschlossen sind.
-
Weiterhin sind die folgenden Ansprüche hiermit in die detaillierte Beschreibung aufgenommen, wo jeder Anspruch als getrenntes Beispiel für sich stehen kann. Obwohl jeder Anspruch als getrenntes Beispiel für sich stehen kann, ist zu beachten, dass - obwohl ein abhängiger Anspruch sich in den Ansprüchen auf eine bestimmte Kombination mit einem oder mehreren anderen Ansprüchen beziehen kann - andere Beispiele auch eine Kombination des abhängigen Anspruchs mit dem Gegenstand jedes anderen abhängigen oder unabhängigen Anspruchs umfassen können. Solche Kombinationen werden hier explizit vorgeschlagen, sofern nicht angegeben ist, dass eine bestimmte Kombination nicht beabsichtigt ist. Ferner sollen auch Merkmale eines Anspruchs für jeden anderen unabhängigen Anspruch eingeschlossen sein, selbst wenn dieser Anspruch nicht direkt abhängig von dem unabhängigen Anspruch gemacht ist.