-
HINTERGRUND
-
1. GEBIET DER OFFENBARUNG
-
Ausführungsbeispielen der vorliegenden Offenbarung beziehen sich allgemein auf das Gebiet der drahtlosen Kommunikation und insbesondere auf das drahtlose Tunneln eines drahtgebundenen Kommunikationsprotokolls.
-
2. BESCHREIBUNG DER BEZOGENEN TECHNIK
-
In einem drahtlosen Tunnelsystem werden Daten, die traditionell über eine drahtgebundene Kommunikationsverbindung übertragen werden, stattdessen mittels eines drahtlosen Kanals getunnelt. Herkömmlicherweise sind drahtlose Kommunikationen wesentlich langsamer als die Kommunikation über verdrahtete Verbindungen. Dementsprechend sind herkömmliche drahtlose Systeme nicht in der Lage, ein Hochgeschwindigkeitsprotokoll zu tunneln, beispielsweise Universal Serial Bus (USB), High-Definition Media Interface (HDMI) und DisplayPort (DP) mit Multi-Gigabit-Datenraten.
-
ZUSAMMENFASSUNG
-
Ein offenbartes, drahtloses Tunnelsystem tunnelt die Kommunikation zwischen zwei Verarbeitungsvorrichtungen mittels einer drahtlosen Verbindung, während die Übereinstimmung der Kommunikationen zwischen den beiden Verarbeitungsvorrichtungen beibehalten wird.
-
In einem Ausführungsbeispiel weist das drahtlose Tunnelsystem zwei drahtlose Tunnelvorrichtungen auf, die miteinander über die drahtlose Verbindung kommunizieren. Eine lokale drahtlose Tunnelvorrichtung ist über eine drahtgebundene Verbindung mit einer lokalen Verarbeitungsvorrichtung verbunden, und eine ferne drahtlose Tunnelvorrichtung ist mit der Fernverarbeitungsvorrichtung über eine andere drahtgebundene Verbindung verbunden. Die beiden Verarbeitungsvorrichtungen können miteinander über die drahtlose Verbindung mit geringer Latenz miteinander kommunizieren, wobei die beiden drahtlosen Tunnelvorrichtungen verwendet werden, als ob die beiden Verarbeitungsvorrichtungen über verdrahtete Verbindungen verbunden wären.
-
In einem Ausführungsbeispiel weist die lokale drahtlose Tunnelvorrichtung einen drahtlosen Empfänger, einen Verarbeitungskomponenten-Zustandsautomat und eine Schnittstellenschaltung auf. Der drahtlose Empfänger ist so eingerichtet, dass er ein drahtloses Empfangssignal von der fernen drahtlosen Tunnelvorrichtung empfängt und das drahtlose Empfangssignal abwärtskonvertiert, um ein Basisbandsignal aus dem drahtlosen Empfangssignal zu erzeugen. Der Verarbeitungskomponenten-Zustandsautomat ist so eingerichtet, dass er einen Fernverarbeitungszustand der Fernverarbeitungsvorrichtung basierend auf dem Basisbandsignal vorhersagt. Die Schnittstellenschaltung ist mit der lokalen Verarbeitungsvorrichtung gekoppelt und eingerichtet, um (i) ein Ausgabesignal, das dem drahtgebundenen Kommunikationsprotokoll entspricht, basierend auf dem vorhergesagten Fernverarbeitungszustand und dem Basisbandsignal zu erzeugen und (ii) das Ausgabesignal an die lokale Verarbeitungsvorrichtung durch des drahtgebundenen Kommunikationsprotokolls zu übertragen.
-
In einer oder mehreren Ausführungsbeispielen weist die lokale drahtlose Tunnelvorrichtung ferner einen drahtlosen Sender auf, der eingerichtet ist, um (i) ein Eingangssignal von der lokalen Verarbeitungsvorrichtung zu empfangen, um ein weiteres Basisbandsignal zu erzeugen, (ii) das weitere Basisbandsignal aufwärts zu konvertieren, um ein drahtloses Sendesignal zu erzeugen und (iii) das drahtlose Sendesignal zu übertragen. Der Verarbeitungskomponenten-Zustandsautomat kann einen Energiezustand des Empfängers oder des Senders steuern basierend auf einem oder mehreren von: (a) dem gegenwärtigen Zustand des Verarbeitungskomponenten-Zustandsautomats, (b) von der lokalen Verarbeitungsvorrichtung empfangene Eingaben und (c) dem vorhergesagten Fernbearbeitungszustand. Der Verarbeitungskomponenten-Zustandsautomat kann ferner eingerichtet sein, um einen oder mehrere lokale Verarbeitungszustände der lokalen Verarbeitungsvorrichtung zu einem einzigen Zustand des Verarbeitungskomponenten-Zustandsautomats abzubilden und ein Zustandssignal, das einen lokalen Verarbeitungszustand der lokalen Verarbeitungsvorrichtung anzeigt, basierend auf dem einzigen Zustand zu erzeugen. Der Sender kann ferner so eingerichtet sein, dass er das Basisbandsignal mit dem Zustandssignal, das den lokalen Verarbeitungszustand der lokalen Verarbeitungsvorrichtung anzeigt, kodiert.
-
In einer oder mehreren Ausführungsbeispielen weist die lokale drahtlose Tunnelvorrichtung ferner einen drahtlosen Komponenten-Zustandsautomat auf, der eingerichtet ist, einen drahtlosen Komponenten-Zustand des drahtlosen Empfängers basierend auf dem eigenen gegenwärtigen Zustand und dem vorhergesagten Fernverarbeitungszustand der Fernverarbeitungsvorrichtung zu ermitteln. Der drahtlose Komponenten-Zustandsautomat kann einen Betriebsmodus des drahtlosen Empfängers gemäß dem drahtlosen Komponenten-Zustand steuern, der basierend auf dem eigenen gegenwärtigen Zustand und dem vorhergesagten Fernverarbeitungszustands der Fernverarbeitungsvorrichtung ermittelt wird.
-
In einer oder mehreren Ausführungsbeispielen wird das Basisbandsignal mit einem Zustandssignal kodiert, das einen vorherigen Zustand der Fernverarbeitungsvorrichtung anzeigt. Der Verarbeitungskomponenten-Zustandsautomat kann so eingerichtet sein, dass er den Fernverarbeitungszustand der Fernverarbeitungsvorrichtung basierend auf dem Zustandssignal des Basisbandsignals vorhersagt.
-
In einer oder mehreren Ausführungsbeispielen ist der Verarbeitungskomponenten-Zustandsautomat so eingerichtet, dass er den Fernverarbeitungszustand der Fernverarbeitungsvorrichtung basierend auf einem Teil des Basisbandsignals entsprechend dem drahtlosen Empfangssignal vorhersagt.
-
In einer oder mehreren Ausführungsbeispielen ist der Verarbeitungskomponenten-Zustandsautomat so eingerichtet, dass er den Fernverarbeitungszustand der Fernverarbeitungsvorrichtung basierend auf einem oder mehreren lokalen Verarbeitungszuständen der lokalen Verarbeitungsvorrichtung vorhersagt.
-
In einer oder mehreren Ausführungsbeispielen wird ein Verfahren zum drahtlosen Tunneln von Kommunikationen zwischen einer lokalen Verarbeitungsvorrichtung und einer Fernverarbeitungsvorrichtung unter Beibehaltung der Übereinstimmung der Kommunikationen zwischen der lokalen Verarbeitungsvorrichtung und der Fernverarbeitungsvorrichtung mit einem drahtgebundenen Kommunikationsprotokoll offenbart. Das Verfahren weist auf: Empfangen eines drahtlosen Empfangssignals von einer fernen drahtlosen Tunnelvorrichtung mittels eines drahtlosen Empfängers; Abwärtskonvertieren des drahtlosen Empfangssignals mittels des drahtlosen Empfängers, um ein Basisbandsignal aus dem drahtlosen Empfangssignal zu erzeugen; Vorhersagen eines Fernverarbeitungszustands der Fernverarbeitungsvorrichtung basierend auf dem Basisbandsignal mittels eines Verarbeitungskomponenten-Zustandsautomats; Erzeugen eines Ausgabesignals, das dem verdrahteten Kommunikationsprotokoll entspricht, basierend auf dem vorhergesagten Fernverarbeitungszustand und dem Basisbandsignals mittels einer Schnittstellenschaltung, die mit der lokalen Verarbeitungsvorrichtung gekoppelt ist; und Bereitstellen des Ausgabesignals an die lokale Verarbeitungsvorrichtung über das drahtgebundene Kommunikationsprotokoll mittels der Schnittstellenschaltung.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Lehren der hierin offenbarten Ausführungsbeispiele können ohne weiteres unter Berücksichtigung der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden werden.
-
1 veranschaulicht ein Ausführungsbeispiel eines drahtlosen Tunnelsystems.
-
2 veranschaulicht ein beispielhaftes Verfahren einer lokalen drahtlosen Tunnelvorrichtung, die Kommunikation, die von einer Fernverarbeitungsvorrichtung zu einer lokalen Verarbeitungsvorrichtung empfangen wird, tunnelt, gemäß einem Ausführungsbeispiel.
-
3 veranschaulicht ein beispielhaftes Verfahren einer lokalen drahtlosen Tunnelvorrichtung, die Kommunikation, die von einer lokalen Verarbeitungsvorrichtung zu einer Fernverarbeitungsvorrichtung empfangen wird, tunnelt, gemäß einem Ausführungsbeispiel.
-
4 zeigt eine ausführliche Architektur einer drahtlosen Tunnelvorrichtung gemäß einem Ausführungsbeispiel.
-
5 veranschaulicht ein beispielhaftes Zustandsübergangsdiagramm einer drahtlosen Tunnelvorrichtung gemäß einem Ausführungsbeispiel.
-
6 zeigt eine ausführliche Architektur der drahtlosen Tunnelvorrichtung gemäß einem Ausführungsbeispiel, die dem USB3.0-Protokoll entspricht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die in der Beschreibung beschriebenen Merkmale und Vorteile sind nicht allumfassend, und insbesondere werden viele weitere Merkmale und Vorteile für einen Fachmann im Hinblick auf die Zeichnungen, die Beschreibung und die Ansprüche offensichtlich sein. Darüber hinaus ist anzumerken, dass die in der Beschreibung verwendete Sprache prinzipiell für Lesbarkeit und Lehrzwecke ausgewählt wurde und möglicherweise nicht ausgewählt wurde, um den erfinderischen Gegenstand abzugrenzen oder zu umschreiben.
-
Die Figuren (FIG.) und die folgende Beschreibung beziehen sich nur zur Veranschaulichung auf die bevorzugten Ausführungsbeispiele. Es ist anzumerken, dass aus der folgenden Diskussion alternative Ausführungsbeispiele der hierin offenbarten Strukturen und Verfahren ohne Weiteres als funktionierende Alternativen erkannt werden, die verwendet werden können, ohne von den Prinzipien der vorliegenden Erfindung abzuweichen.
-
Es wird nun ausführlich auf mehrere Ausführungsbeispiele der vorliegenden Erfindung Bezug genommen, von denen Beispiele in den beigefügten Figuren dargestellt sind. Es wird angemerkt, dass überall dort, wo es praktikabel ist, ähnliche oder gleiche Bezugszeichen in den Figuren verwendet sein können, und eine ähnliche oder gleiche Funktionalität veranschaulichen kann. Die Figuren zeigen nur zur Veranschaulichung Ausführungsbeispiele. Ein Fachmann wird aus der folgenden Beschreibung leicht erkennen, dass alternative Ausführungsbeispiele der hierin dargestellten Strukturen und Verfahren verwendet werden können, ohne von den hierin beschriebenen Prinzipien abzuweichen.
-
SYSTEMÜBERSICHT
-
Ausführungsbeispiele hierin werden in erster Linie im Zusammenhang mit einem Tunnelsystem beschrieben, das in einen beliebigen Knoten in einer verbundenen Topologie, bestehend aus Hosts, Geräten und Hubs, gesteckt werden kann. In einigen Ausführungsbeispielen kann das Tunnelsystem im Zusammenhang mit einem USB3.0-System arbeiten. Die Ausführungsbeispiele hierin können jedoch auch verwendet werden, um unter Verwendung anderer Kommunikationsprotokolle, wie beispielsweise verschiedene Versionen des USB-Standards oder ganz anderer Protokolle wie HDMI, DisplayPort oder andere serielle Kommunikationsprotokolle, zu kommunizieren.
-
1 veranschaulicht ein Ausführungsbeispiel eines drahtlosen Tunnelsystems 100. Das drahtlose Tunnelsystem 100 weist ein erstes Rechensystem 150A, das mit einem zweiten Rechensystem 150B über eine drahtlose Verbindung 130 kommuniziert, auf.
-
In einem Ausführungsbeispiel weist die drahtlose Verbindung 130 eine 60 GHz-drahtlose Verbindung auf. Die drahtlose Verbindung 130 kann auf Kurzstreckenkommunikationen begrenzt sein, wo die drahtlosen Tunnelvorrichtungen 120 in sehr enger Nähe zueinander (z.B. innerhalb von wenigen Millimetern) sind. Datenübertragungen über die drahtlose Verbindung 130 können eine Datenrate von beispielsweise 6 Gigabit pro Sekunde oder höher aufweisen. In anderen Ausführungsbeispielen kann die drahtlose Verbindung für eine Fernkommunikation und/oder für andere Frequenzbänder geeignet sein.
-
Das erste Rechensystem 150A weist eine Verarbeitungsvorrichtung 110A auf, die über eine drahtgebundene Verbindung 116A mit einer drahtlosen Tunnelvorrichtung 120A gekoppelt ist, und das zweite Rechensystem 150B weist eine Verarbeitungsvorrichtung 110B auf, die über eine drahtgebundene Verbindung 116B mit einer drahtlosen Tunnelvorrichtung 120B gekoppelt ist. Die drahtlosen Tunnelvorrichtungen 120A und 120B (hierin auch als „drahtlose Tunnelvorrichtungen 120“ oder "Sendeempfänger 120" bezeichnet) kommunizieren miteinander durch die drahtlose Verbindung 130 und Tunnelkommunikationen zwischen den Verarbeitungsvorrichtungen 110A und 110B (hierin auch als "Verarbeitungsvorrichtungen 110" oder "Quellenvorrichtungen 110"). Eine Verarbeitungsvorrichtung kann eine elektronische Vorrichtung aufweisen, die in der Lage ist, Daten (unidirektional oder bidirektional), die mit einem drahtgebundenen Kommunikationsprotokoll kompatibel sind, mit einem anderen elektronischen Gerät auszutauschen. Beispiele für eine Verarbeitungsvorrichtung umfassen ein Quellengerät ein Senkengerät, ein Zwischengerät zwischen dem Quellengerät und dem Senkengerät, ein USB-Host/-Gerät, ein Speichergerät usw.. In einem Ausführungsbeispiel ist die drahtlose Tunnelvorrichtung 120 als ein entfernbarer Dongle ausgebildet, der an einen Anschluss oder Kabel der Verarbeitungsvorrichtung 110 (z. B. einem USB-Anschluss oder -Kabel, einem HDMI-Anschluss oder -Kabel oder einem DisplayPort-Anschluss oder -Kabel) koppeln kann. In anderen Ausführungsbeispielen ist die drahtlose Tunnelvorrichtung 120 intern mit der Verarbeitungsvorrichtung 110 (z. B. über Leitungen auf einer gedruckten Leiterplatte) verbunden oder kann vollständig mit der Verarbeitungsvorrichtung 110 (z. B. in einer integrierten Schaltung) integriert sein.
-
Das Rechensystem 150 (und dessen Komponenten) können unter Verwendung von analogen Schaltungskomponenten, einer digitalen Logik, einer Software oder einer Kombination davon implementiert sein. In einem Ausführungsbeispiel können eine oder mehrere Komponenten des Rechensystems 150 als ein Prozessor und ein nicht-transitorisches computerlesbares Speichermedium, das Befehle speichert, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, die Funktionen auszuführen, die den Komponenten zugeschrieben werden, implementiert sein. Alternativ oder zusätzlich können digitale Komponenten als anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FGPA) oder eine Kombination von Implementierungen implementiert sein.
-
In einem Ausführungsbeispiel stellt das drahtlose Tunnelsystem 100 einen Ersatz für herkömmliche drahtgebundene Kommunikationen wie USB, HDMI, DisplayPort oder andere serielle Kommunikationsprotokolle bereit. Zum Beispiel kommunizieren die Verarbeitungsvorrichtungen 110A, 110B anstelle der Verarbeitungsvorrichtungen 110A, 110B, die direkt über ein herkömmliches Kabel miteinander kommunizieren, mit ihren jeweiligen drahtlosen Tunnelvorrichtungen 120A, 120B, die dann die Daten über eine Hochgeschwindigkeit-Punkt-zu-Punkt serielle drahtlose Verbindung 130 mit Geschwindigkeiten tunnelt, die diejenigen überschreiten, die mit herkömmlichen drahtgebundenen Kommunikationen erreicht werden können.
-
Aus der Perspektive der Verarbeitungsvorrichtungen 110A, 110B können die Kommunikationen in der gleichen Weise implementiert werden, wie wenn die Verarbeitungsvorrichtungen 110A, 110B direkt in einer herkömmlichen Konfiguration verbunden wären. Somit ist keine Modifikation einer herkömmlichen Verarbeitungsvorrichtung 110A, 110B notwendigerweise erforderlich (z.B. ist keine Softwareänderung erforderlich). Mit anderen Worten: die drahtlosen Tunnelvorrichtungen 120A, 120B und die drahtlose Verbindung 130 zwischen ihnen können als ein direkter Austausch für ein herkömmliches Kabel betrieben werden. Beispielsweise weist jede drahtlose Tunnelvorrichtung 120A, 120B eine Schnittstelle auf, die es ermöglicht, direkt in eine herkömmliche Kabelschnittstelle ihrer jeweiligen Verarbeitungsvorrichtung 110A, 110B zu stecken, und die drahtlosen Tunnelvorrichtungen 120A, 120B erleichtern die Kommunikation, so dass sie den Verarbeitungsvorrichtungen 110A, 110B erscheint als ob sie direkt verbunden wären. In alternativen Ausführungsbeispielen können die drahtlosen Tunnelvorrichtungen 120A, 120B mit ihren jeweiligen Verarbeitungsvorrichtungen 110A, 110B integriert sein.
-
Bei USB als Beispiel, beenden herkömmliche drahtlose Geräte mit USB-Schnittstellen das USB-Protokoll in dem drahtlosen Gerät und kodieren Daten erneut in ein anderes drahtloses Protokoll für die Übertragung. Die herkömmlichen drahtlosen Geräte sind als Knoten (USB-Hubs, USB-Geräte oder USB-Repeater) in der USB-Baum-Topologie sichtbar. Im Gegensatz dazu ermöglicht eine drahtlose Tunnelvorrichtung, dass der USB-Sicherungsschicht-Datenverkehr ohne Modifikationen mit sehr geringer Latenz übertragen werden kann und ohne die USB-Protokollschichten zu beenden. Solche drahtlosen Tunnelvorrichtungen sind in der USB-Topologie nicht sichtbar.
-
In einem Ausführungsbeispiel kommuniziert jede drahtlose Tunnelvorrichtung 120 mit ihrer verbundenen Verarbeitungsvorrichtung 110, um die Zustände und Operationen eines Gegenstücks der Verarbeitungsvorrichtung 110 zu spiegeln, an die die drahtlose Tunnelvorrichtung 120 gekoppelt ist. So spiegelt beispielsweise die drahtlose Tunnelvorrichtung 120A die Zustände der Verarbeitungsvorrichtung 110B, wie mittels des Pfeils 118 angedeutet ist, und die drahtlose Tunnelvorrichtung 120B spiegelt die Verarbeitungsvorrichtung 110A, wie mittels des Pfeils 128 angedeutet ist. Dementsprechend spiegeln die Daten, die von der drahtlosen Tunnelvorrichtung 120A zu der Verarbeitungsvorrichtung 110A kommuniziert werden, die Kommunikationen von der Verarbeitungsvorrichtung 110B zu der drahtlosen Tunnelvorrichtung 120B und die Daten, die von der drahtlosen Tunnelvorrichtung 120B an die Verarbeitungsvorrichtung 110B kommuniziert werden, spiegeln die Kommunikationen von der Verarbeitungsvorrichtung 110A zu der drahtlosen Tunnelvorrichtung 120A.
-
Speziell sagt jede der drahtlosen Tunnelvorrichtungen 120 einen Betriebszustand (z.B. einen Energiezustand oder einen anderen Betriebszustand) ihrer Fern-(d.h. gegenteiligen)verarbeitungsvorrichtung 110 vorher und verbindet sich mit ihrer lokalen Verarbeitungsvorrichtung 110A gemäß dem vorhergesagten Zustand mittels einer drahtgebundenen Verbindung 116. Zum Beispiel arbeitet die Verarbeitungsvorrichtung 110B in einem von mehreren Verarbeitungszuständen gemäß einem drahtgebundenen Kommunikationsprotokoll (z. B. USB) in Abhängigkeit von einer Geschwindigkeit des Daten- oder Energieverwaltungszustands. Die drahtlose Tunnelvorrichtung 120A sagt den Betriebszustand der Verarbeitungsvorrichtung 110B vorher und spiegelt den vorhergesagten Zustand der Verarbeitungsvorrichtung 110B, um sich mit der Verarbeitungsvorrichtung 110A über die verdrahtete Verbindung 116A zu verbinden. Der gespiegelte Zustand kann identisch oder im Wesentlichen ähnlich dem Betriebszustand der Verarbeitungsvorrichtung 110B sein. In einem Aspekt kann ein Satz von Verarbeitungszuständen der Verarbeitungsvorrichtung 110 in einen einzigen Zustand oder eine geringere Anzahl von Zuständen der drahtlosen Tunnelvorrichtung 120 abgebildet oder zusammengefaltet werden, wie ausführlicher mit Bezug auf Tabelle 4 beschrieben ist.
-
Die drahtlose Tunnelvorrichtung 120 weist einen Sender 122, einen Empfänger 124 und einen Zustandsautomat 126 auf. Der Sender 122 empfängt Daten von der Verarbeitungsvorrichtung 110 und sendet die Daten über die drahtlose Verbindung 130 zu einem Empfänger 124 eines anderen Rechensystems 150. Der Empfänger 124 empfängt Daten über die drahtlose Verbindung 130 von einem Sender 122 eines anderen Rechensystems 150 und stellt die empfangenen Daten an die Verarbeitungsvorrichtung 110 bereit. Der Zustandsautomat 126 steuert den Energiezustand der drahtlosen Tunnelvorrichtung 120 mittels eines Umschaltens der drahtlosen Tunnelvorrichtung 120 zwischen einem Hochenergiezustand zum Übertragen von Hochfrequenzdaten und einem oder mehreren Niedrigenergiezuständen, wie nachfolgend ausführlicher beschrieben wird. Die drahtlosen Tunnelvorrichtungen 120 imitieren ferner Niedrigenergiezustände, die innerhalb des getunnelten Protokolls signalisiert werden. In einem Ausführungsbeispiel ist die drahtlose Tunnelvorrichtung 120 in der Lage, eine Vollduplex-Kommunikation auszuführen, so dass sie gleichzeitig Daten über die drahtlose Verbindung 130 senden und empfangen kann.
-
Beispielsweise ist in dem dargestellten Ausführungsbeispiel die Verarbeitungsvorrichtung 110A als eine vorgeschaltete Vorrichtung eingerichtet und arbeitet gemäß dem Zustandsautomat 126A als „Host", wobei die Verarbeitungsvorrichtung 110B als eine nachgeschaltete Vorrichtung eingerichtet ist und gemäß dem Zustandsautomat 126B als ein "Gerät" arbeitet. Die Verarbeitungsvorrichtung 110A, die als "Host" wirkt, steuert den Betrieb oder die Kommunikation mit der Verarbeitungsvorrichtung 110B, die als die "Gerät" wirkt. Die vorgeschaltete drahtlose Tunnelvorrichtung 120A verbindet die vorgeschaltete Verarbeitungsvorrichtung 110A (oder "Host") mittels der verdrahteten Verbindung 116A und ähnlich verbindet die nachgeschaltete drahtlose Tunnelvorrichtung 120B die nachgeschaltete Verarbeitungsvorrichtung 110B ("Gerät") durch die drahtgebundenen Verbindung 116B. Die drahtlosen Tunnelvorrichtungen 120A und 120B tauschen Daten einschließlich Status, Zustände oder Steuerinformationen der jeweiligen Verarbeitungsvorrichtungen 110 über die drahtlose Verbindung 130 aus.
-
In einem Ausführungsbeispiel sind die drahtlosen Tunnelvorrichtungen 120A, 120B im Wesentlichen identische Vorrichtungen. Alternativ sind die drahtlosen Tunnelvorrichtungen 120A, 120B unterschiedliche komplementäre Vorrichtungstypen, die ähnliche Architekturen mit hohem Niveau aufweisen, sich jedoch in bestimmten architektonischen oder betrieblichen Eigenschaften unterscheiden, wie hierin beschrieben. Beispielsweise weist die erste drahtlose Tunnelvorrichtung 120A in einem Ausführungsbeispiel einen ersten Vorrichtungstyp auf, der so eingerichtet ist, dass er mit einer als Dockingstation ausgebildeten Verarbeitungsvorrichtung 110A arbeitet, während die zweite drahtlose Tunnelvorrichtung 120B einen zweiten Vorrichtungstyp aufweist, der so eingerichtet ist, dass sie mit einer Verarbeitungsvorrichtung 110B arbeitet, die als mobile Vorrichtung ausgebildet ist. In einem Ausführungsbeispiel haben komplementäre drahtlose Tunnelvorrichtungen 120 unterschiedlicher Typen, um eine Vollduplex-Kommunikation zu implementieren, unterschiedliche Antennenpolarisationen, so dass zwei verschiedene Sender/Empfänger-Antennenpaare gleichzeitig in beiden Richtungen arbeiten können. Beispielsweise kann die drahtlose Tunnelvorrichtung 120A eine Typ X Sendeantenne und eine Typ Y Empfangsantenne aufweisen, während die drahtlose Tunnelvorrichtung 120B eine komplementäre Typ Y Sendeantenne und eine Typ X Empfangsantenne aufweist. Weiterhin können drahtlose Tunnelvorrichtungen 120 verschiedener Typen gemäß verschiedenen Steuerschemata arbeiten, um die Energieeffizienz einer der drahtlosen Tunnelvorrichtungen 120 in dem Paar zu optimieren. Wenn beispielsweise die erste drahtlose Tunnelvorrichtung 120A zum Betrieb mit einer Dockingstation eingerichtet ist und die zweite drahtlose Tunnelvorrichtung 120B zum Betreiben mit einer mobilen Vorrichtung eingerichtet ist, können die drahtlosen Tunnelvorrichtungen 120A, 120B asymmetrisch arbeiten, um den Energieverbrauch der drahtlosen Tunnelvorrichtung 120A zu senken, die von der mobilen Vorrichtung gehostet wird, auf Kosten der drahtlosen Tunnelvorrichtung 120B, die von der Dockingstation gehostet wird. Dieser Kompromiss kann wünschenswert sein, da eine Dockingstation typischerweise mit einer kontinuierlichen Stromquelle verbunden ist, während eine mobile Vorrichtung von einer Batterie mit begrenzter Kapazität abhängt.
-
In einem Ausführungsbeispiel kann der Vorrichtungstyp, der mit einer drahtlosen Tunnelvorrichtung 120 (und dem damit verbundenen Betrieb) verbunden ist, unveränderlich in der drahtlosen Tunnelvorrichtung 120 ausgelegt sein. Alternativ kann eine drahtlose Tunnelvorrichtung 120 zwischen zwei oder mehreren Geräten ein konfigurierbarer Typ auf Basis eines Schalters, eines Steuerpins (d.h. Steuereingang eines Chips) oder eine Registereinstellung sein. Architektonische und/oder betriebliche Unterschiede zwischen den verschiedenen Konfigurationen der drahtlosen Tunnelvorrichtungen 120A, 120B in einem komplementären Paar werden nachfolgend ausführlicher beschrieben.
-
2 veranschaulicht ein beispielhaftes Verfahren einer lokalen drahtlosen Tunnelvorrichtung 120A, die Kommunikation gemäß einem Ausführungsbeispiel von einer Fernverarbeitungsvorrichtung 110B zu einer lokalen Verarbeitungsvorrichtung 110A tunnelt.
-
Die lokale drahtlose Tunnelvorrichtung 120A empfängt 210 ein drahtloses Empfangssignal von der fernen drahtlosen Tunnelvorrichtung 120B mittels der drahtlosen Verbindung 130. Das drahtlose Empfangssignal wird mit einer ersten Frequenz (z. B. ~60 GHz) empfangen. Das drahtlose Empfangssignal wird mittels der drahtlosen Tunnelvorrichtung 120B gemäß einem Ferndatensignal von der Fernverarbeitungsvorrichtung 110B erzeugt. Das Ferndatensignal weist Inhaltsinformation auf, die an die lokale Verarbeitungsvorrichtung 110A übertragen werden soll, und entspricht einem drahtgebundenen Kommunikationsprotokoll (z. B. USB-Protokoll).
-
Als Reaktion auf das Empfangen des drahtlosen Empfangssignals empfängt die lokale drahtlose Tunnelvorrichtung ein Basisbandsignal basierend auf dem drahtlosen Empfangssignals. Speziell konvertiert die lokale drahtlose Tunnelvorrichtung 120A 220 das drahtlose Empfangssignal zu einer zweiten Frequenz (z.B. ein paar Gbps), die niedriger als die erste Frequenz ist, herunter. Das abwärtskonvertierte drahtlose Empfangssignal ist ein Basisbandsignal.
-
In einem Aspekt sagt die lokale drahtlose Tunnelvorrichtung 120A einen Zustand der Fernverarbeitungsvorrichtung 110B basierend auf dem Basisbandsignal vorher. Das Basisbandsignal kann mit einem Zustandssignal kodiert werden, das einen vorherigen Zustand der Fernverarbeitungsvorrichtung 110B anzeigt. Die lokale drahtlose Tunnelvorrichtung 120A kann das Basisbandsignal Dekodieren, um das Zustandssignal der Fernverarbeitungsvorrichtung 110B zu erhalten und einen Zustand der Fernverarbeitungsvorrichtung 110B basierend auf dem vorherigen Zustand der Fernverarbeitungsvorrichtung 110B vorherzusagen. In einem anderen Aspekt sagt die lokale drahtlose Tunnelvorrichtung 120A den Fernverarbeitungszustand der Fernverarbeitungsvorrichtung basierend auf einem Teil des Basisbandsignals entsprechend dem drahtlosen Empfangssignal vorher. Beispielsweise kann im Rahmen von USB die lokale drahtlose Tunnelvorrichtung 120A den Fernverarbeitungszustand mittels eines Analysierens der empfangenen USB-Datenpakete vorhersagen. In noch einem anderen Aspekt sagt die lokale drahtlose Tunnelvorrichtung 120A den Fernverarbeitungszustand der Fernverarbeitungsvorrichtung basierend auf einem lokalen Ereignis vorher (z. B. eines Stroms oder eines oder mehrerer früherer lokaler Verarbeitungszustände der lokalen Verarbeitungsvorrichtung, wie z. B. Zeitlimitereignisse).
-
Die lokale drahtlose Tunnelvorrichtung 120A spiegelt 240 den Zustand der Fernverarbeitungsvorrichtung 110B. Speziell spiegelt die lokale drahtlose Tunnelvorrichtung 120A, die mit der lokalen Verarbeitungsvorrichtung 110A verbunden ist, den vorhergesagten Zustand der Fernverarbeitungsvorrichtung 110B und erzeugt 250 ein gespiegeltes Ferndatensignal basierend auf dem gespiegelten Zustand und dem Basisbandsignals. Das gespiegelte Ferndatensignal ist identisch oder im Wesentlichen ähnlich dem Ferndatensignal, das an der Fernverarbeitungsvorrichtung 110B erzeugt wird. Beispielsweise stellt die lokale drahtlose Tunnelvorrichtung 120A das gespiegelte Ferndatensignal an die lokale Verarbeitungsvorrichtung 110A gemäß dem vorhergesagten Zustand bereit. Dementsprechend kann ein Tunneln der Kommunikation von der Fernverarbeitungsvorrichtung 110B zu der lokalen Verarbeitungsvorrichtung 110A erreicht werden.
-
3 veranschaulicht ein beispielhaftes Verfahren einer lokalen drahtlosen Tunnelvorrichtung 120A, die gemäß einem Ausführungsbeispiel Kommunikation von der lokalen Verarbeitungsvorrichtung 110A zu der Fernverarbeitungsvorrichtung 110B tunnelt.
-
Die lokale drahtlose Tunnelvorrichtung 120A empfängt 310 ein lokales Datensignal von der lokalen Verarbeitungsvorrichtung 110A. Das lokale Datensignal weist Informationen auf, die an die Fernverarbeitungsvorrichtung 110B gesendet werden sollen, und entspricht einem drahtgebundenen Kommunikationsprotokoll (z. B. USB-Protokoll).
-
In einem Aspekt erhält die lokale drahtlose Tunnelvorrichtung 120A einen oder mehrere Zustände der lokalen Verarbeitungsvorrichtung 110A und bildet 320 einen oder mehrere Zustände der lokalen Verarbeitungsvorrichtung 110A zu einem oder mehreren entsprechenden Zuständen ab. Die lokale drahtlose Tunnelvorrichtung 120A empfängt ein Signal, das einen gegenwärtigen Betriebszustand der lokalen Verarbeitungsvorrichtung 110A von der lokalen Verarbeitungsvorrichtung 110A anzeigt. Alternativ ermittelt die lokale drahtlose Tunnelvorrichtung 120A den Betriebszustand der lokalen Verarbeitungsvorrichtung 110A gemäß dem empfangenen lokalen Datensignal (z.B. Werte davon) und/oder vorherigen Betriebszuständen der lokalen Verarbeitungsvorrichtung 110A.
-
Die lokale drahtlose Tunnelvorrichtung 120A erzeugt 330 ein Basisbandsignal bei der zweiten Frequenz (z. B. ein paar Gbps) basierend auf dem lokalen Datensignal und dem abgebildeten Zustand. In einem Aspekt kodiert die lokale drahtlose Tunnelvorrichtung 120A das Basisbandsignal gemäß dem abgebildeten Zustand. Beispielsweise kodiert die lokale drahtlose Tunnelvorrichtung 120A das Basisbandsignal mit einem Zustandssignal, das einen abgebildeten Zustand der lokalen drahtlosen Tunnelvorrichtung 120A anzeigt.
-
Die lokale drahtlose Tunnelvorrichtung 120A konvertiert 340 das Basisbandsignal bei der zweiten Frequenz (z. B. ein paar Gbps) aufwärts, um ein drahtloses Sendesignal bei der ersten Frequenz (z. B. 60 GHz) zu erzeugen, und überträgt dann 350 das drahtlose Sendesignal an die ferne drahtlose Tunnelvorrichtung 120B durch die drahtlose Verbindung 130.
-
Vorteilhafterweise sagt die drahtlose Tunnelvorrichtung 120 einen Betriebszustand einer Fernverarbeitungsvorrichtung 110 vorher und spiegelt den Betrieb der Fernverarbeitungsvorrichtung 110. Somit können irgendwelche Verzögerungen zum Umwandeln von Daten in ein drahtgebundenes Kommunikationsprotokoll zu einem anderen Protokoll (z.B. drahtloses Kommunikationsprotokoll) oder ein Übergang zwischen verschiedenen Zuständen der drahtlosen Tunnelvorrichtung reduziert werden. Somit kann ein nahtloses Tunneln der Kommunikation zwischen den beiden Verarbeitungsvorrichtungen 110A, 110B mit einer Hochgeschwindigkeitsdatenrate (z. B. Multi-Gbps) mittels der drahtlosen Verbindung 130 erreicht werden.
-
AUSFÜHRLICHE ARCHITEKTUR DRAHTLOSE TUNNELVORRICHTUNG
-
4 zeigt eine ausführliche Architektur einer drahtlosen Tunnelvorrichtung 120 gemäß einem Ausführungsbeispiel. Das Diagramm in 4, dass der in 1 dargestellten, drahtlosen Tunnelvorrichtungen 120 entsprechen kann, veranschaulicht ein Beispiel ausführlicher, um den Betrieb der Vorrichtungen 120 gemäß einem Ausführungsbeispiel besser zu erläutern. In einem Ausführungsbeispiel weist die drahtlose Tunnelvorrichtung 120 einen Vollduplex-Hochgeschwindigkeitsdatenpfad auf, der in der Lage ist, um bei USB3.0-Geschwindigkeiten zu tunneln. In einer Implementierung weist die drahtlose Tunnelvorrichtung 120 einen USB PHY 402, einen USB digital 404, einen Kodierer 416, einen Sender 420, einen drahtlosen Komponenten-Zustandsautomat 480, einen Dekodierer 454 und einen Empfänger 440 auf. Zusätzliche Komponenten können für eine ordnungsgemäße Kommunikation nach USB-Protokoll implementiert werden. Diese Komponenten arbeiten zusammen, um Kommunikationen zwischen zwei Verarbeitungsvorrichtungen 110 zu tunneln.
-
Der USB PHY 402 ist eine Mischsignal-Schnittstellenschaltung, die in einem Ausführungsbeispiel vollständig mit der Spezifikation von USB3.0 kompatibel ist und alle vier verschiedenen USB-Geschwindigkeiten unterstützt: „Super-Geschwindigkeit/super-speed“ (5Gbps), „Hohe-Geschwindigkeit/high-speed“ (480Mbps), „Voll-Geschwindigkeit/full-speed“ (12Mbps) und „Niedrige-Geschwindigkeit/low-speed“ (1,5Mbps). Es unterstützt die gesamte Palette an USB3.0 Host- und Peripherieanwendungen. Der USB PHY 402 bietet digitale Schnittstellen nach PIPE3.0 (für SS) und UTMI+ (für HS /FS/LS). Die UTMI+ bietet zwei Schnittstellen für FS/LS: Standard 8-Bit/16-Bit-Schnittstelle oder Bit-serielle Schnittstelle. Ein hier beschriebenes Ausführungsbeispiel der Tunnelarchitektur verwendet die Bit-serielle Schnittstelle, um die Ende-zu-Ende-Latenz über die beiden drahtlosen Tunnelvorrichtungen 120 zu minimieren. Die Bit-serielle Schnittstelle spart Zeit, um Bitdaten zu serialisieren und zu de-serialisieren, wodurch Latenz reduziert wird.
-
Der USB PHY 402 implementiert reduzierte Energieaufnahme für alle Niedrigenergiezustände, die in der USB3.0-Spezifikation definiert sind: U0/U1/U2/U3 für „super-speed“ und „suspend-resume“ für HS/FS/LS. Es unterstützt auch das Senden und das Empfangen von niederfrequentem periodischem Signalisieren (Low Frequency Periodic Signaling, LFPS), wie in der Spezifikation definiert ist, für den Austritt aus Niedrigenergiezuständen.
-
Der USB digital 404 ist eine Schaltungskomponente, die zwischen dem USB PHY 402 und den drahtlosen Komponenten (z. B. dem Sender 420 und dem Empfänger 440) verbunden ist. Der USB digital 404 ermittelt die Betriebszustände des USB PHY 402 und den drahtlosen Komponenten. Der USB digital 404 ist sowohl beim Tunneln von Kommunikation von der lokalen Verarbeitungsvorrichtung 110A zu der Fernverarbeitungsvorrichtung 110B als auch beim Tunneln von Kommunikation von der Fernverarbeitungsvorrichtung 110B zu der lokalen Verarbeitungsvorrichtung 110A funktional.
-
Zum Tunneln von Kommunikation von der lokalen Verarbeitungsvorrichtung 110A zu der Fernverarbeitungsvorrichtung 110B empfängt das USB digital 404 ein lokales Datensignal von der lokalen Verarbeitungsvorrichtung 110A durch USB PHY 402 und stellt das lokale Datensignal an den Kodierer 416 bereit. In einem Aspekt erzeugt das USB digital 404 ein Zustandssignal der lokalen Verarbeitungsvorrichtung 110A, das einen lokalen Verarbeitungszustand der lokalen Verarbeitungsvorrichtung 110A anzeigt. Das Zustandssignal der lokalen Verarbeitungsvorrichtung 110A ermöglicht es USB digital 404 einer komplementären drahtlosen Tunnelvorrichtung 120B, einen Betriebszustand der lokalen Verarbeitungsvorrichtung 110A vorherzusagen. Das USB digital 404 kann einen Zustand der lokalen Verarbeitungsvorrichtung 110A basierend auf dem lokalen Datensignal identifizieren. Weiterhin erzeugt das USB digital 404 das Zustandssignal entsprechend dem abgebildeten Zustand und stellt das lokale Datensignal und das Zustandssignal der lokalen Verarbeitungsvorrichtung 110A an den Kodierer 416 bereit.
-
Der Kodierer 416 kodiert das lokale Datensignal mit dem Zustandssignal der lokalen Verarbeitungsvorrichtung 110A und stellt das kodierte Signal dem Sender 420 bereit. In einem Aspekt kann das lokale Datensignal verwürfelt werden, um unerwünschte Eigenschaften zu entfernen, wie z. B. eine Bias-Gleichspannung ungleich Null (Zahlen von 0 und 1 sind nicht gleich) vor oder nach der Kodierung mittels des Dekodierers oder eines Verwürflers/Scramblers (zur Vereinfachung nicht gezeigt). USB-super-speed-Daten über ein USB-Kabel haben eine ungefähre Geschwindigkeit von 5Gbps, von denen 20% mittels 8b/10b Kodierung beigetragen wird. Dies ist im USB-Standard vorgeschrieben, um vor kabelbezogenen Bitfehlern zu schützen. Dieser Mehraufwand wird für die drahtlose Übertragung entfernt und die super-speed-Datenbandbreite wird auf 4 Gbps reduziert. Stattdessen werden Fehlerkorrekturcodes für die drahtlose Übertragung hinzugefügt, so dass drahtlosbezogene Bitfehler erkannt und korrigiert werden können. Entsprechend der Kodierung könnte die Empfängerseite möglicherweise Bitfehler korrigieren, die mittels drahtloser Übertragung eingeführt wurden. Die FEC, die in einer Implementierung verwendet wird, ist ein (232, 216) Bose-Chaudhuri-Hocquenghem-Code (BCH-Code), der ein zyklischer Fehlerkorrekturcode ist, bei dem jedes ausgegebene Codewort 232 Bits für eine gegebene 216-Bit Sequenz aufweist. BCH-Code hat vorteilhafterweise eine Fehlerkorrekturfähigkeit und eine niedrige Kodierungs- und Dekodierungslatenz. Der Code kann systematisch sein, was bedeutet, dass die erste 216 Bit Ausgabe nur aus der Eingangsfolge kopiert wird. Die letzten 16 Bits können unter Verwendung einer BCH-Code-Generatormatrix kodiert werden.
-
Der Sender 420 empfängt das kodierte Signal von dem Kodierer 416, aufwärtskonvertiert das kodierte Signal und überträgt das hochkonvertierte Signal drahtlos. In einem Aspekt weist der Sender 420 eine Hochfrequenz-Sendeschaltung 422 und eine Niederfrequenz-Sendeschaltung 424 auf. Die Hochfrequenz-Sendeschaltung 422 wird zum Hochkonvertieren eines digitalen Datenbandsignals hoher Datenrate (z. B. 6 Gbps) auf eine RF-Frequenz (z.B. 60 GHz) und zum Senden des hochkonvertierten Signals verwendet. Beispielsweise eignet sich die Hochfrequenz-Sendeschaltung 422 zum Hochkonvertieren eines Signals mit hoher Datenrate, das dem USB-Protokoll, einem HDMI-Protokoll, einem DisplayPort-Protokoll oder einem anderen Kommunikationsprotokoll entspricht, und zum Senden des hochkonvertierten Signals mittels der drahtlosen Verbindung 130. Die Niederfrequenz-Sendeschaltung 424 wird zum Aufwärtskonvertieren eines digitalen Basisbandsignals mit niedriger Datenrate (z. B. ~100 kbps) auf eine RF-Frequenz (z.B. 60 GHz) und zum Senden des hochkonvertierten Signals verwendet. Beispielsweise eignet sich die Niederfrequenz-Sendeschaltung 424 zum Aufwärtskonvertieren eines Signals mit niedriger Datenrate, das Steuerinformationen zum Betreiben oder Übergang zwischen verschiedenen Zuständen des drahtlosen Komponenten-Zustandsautomats 480 oder den Energiezustand von drahtlosen Komponenten aufweist. Während die Hochfrequenz-Sendeschaltung 422 in der Lage ist, ein höheres Datenraten-Signal als die Niederfrequenz-Sendeschaltung 424 zu senden, kann die Hochfrequenz-Sendeschaltung 422 mehr Schaltungskomponenten als die Niederfrequenz-Sendeschaltung 424 aufweisen und kann mehr Energie verbrauchen als die Niederfrequenz-Sendeschaltung. In einem Aspekt wird eine der Hochfrequenz-Sendeschaltungen 422 und der Niederfrequenz-Sendeschaltung 424 gemäß dem drahtlosen Komponenten-Zustandsautomat 480 zur Übertragung eines geeigneten Datenraten-Signals ausgewählt.
-
Zum Tunneln von Kommunikation von der Fernverarbeitungsvorrichtung 110B zu der lokalen Verarbeitungsvorrichtung 110A empfängt der Empfänger 440 ein drahtloses Empfangssignal von einem Sender einer anderen drahtlosen Tunnelvorrichtung 120 und abwärtskonvertiert das drahtlose Empfangssignal, um ein Basisbandsignal zu erhalten. In einem Aspekt weist der Empfänger 440 eine Hochfrequenz-Empfangsschaltung 442 und eine Niederfrequenz-Empfangsschaltung 446 auf. Die Hochfrequenz-Empfangsschaltung 442 wird zum Abwärtskonvertieren einer RF-Frequenz (z. B. 60 GHz) zu einem hohen Datenrate (z. B. 6 Gbps) digitales Basisband-Signal verwendet. Die Niederfrequenz-Empfangsschaltung 446 wird zum Abwärtskonvertieren einer RF-Frequenz (z. B. 60 GHz) zu einem digitalen Basisbandsignal mit niedriger Datenrate (z.B. ~100 kbps) verwendet. Während die Hochfrequenz-Empfangsschaltung 442 in der Lage ist, ein Signal mit einer Datenrate höher als die Niederfrequenz-Empfangsschaltung 446 abwärts zu konvertieren, kann die Hochfrequenz-Empfangsschaltung 442 mehr Schaltungskomponenten als die Niederfrequenz-Empfangsschaltung 446 aufweisen und kann mehr Energie verbrauchen als die Niederfrequenz-Empfangsschaltung 446. In einem Aspekt wird gemäß dem drahtlosen Komponenten-Zustandsautomat 480 eine von der Hochfrequenz-Empfangsschaltungen 442 und der Niederfrequenz-Empfangsschaltung 446 zum Empfangen eines geeigneten Datenraten-Signals ausgewählt.
-
Der Dekodierer 454 empfängt das abwärtskonvertierte Signal von dem Empfänger 440 und dekodiert das wiederhergestellte Signal. Bei einem Ansatz kann das abwärtskonvertierte Signal vor oder nach dem Dekodieren mittels des Dekodierers 454 entschlüsselt werden (der Descrambler ist zur Vereinfachung nicht gezeigt). Der Dekodierer 454 kann das abwärtskonvertierte Signal dekodieren, um ein Ferndatensignal und ein Zustandssignal der Fernverarbeitungsvorrichtung 110B, das einen vorherigen Zustand der Fernverarbeitungsvorrichtung 110B anzeigt, zu erhalten. In einem Ausführungsbeispiel wird ein harte-Entscheidung-basierter BCH-Dekodierer implementiert. Der Dekodierer 454 kann jeden Bitfehler in dem abwärtskonvertierten Signal detektieren und korrigieren. Der BCH-Code (232, 216) kann bis zu zwei Bitfehler in einem 232-Bit-Codewort korrigieren. Dieses Kodierungsschema verbessert Bitfehler, die unabhängig und zufällig sind. Der Dekodierer 454 liefert das Ferndatensignal und das Zustandssignal der Fernverarbeitungsvorrichtung 110B an den USB Digital 404.
-
Bezugnehmend auf den USB Digital 404, empfängt der USB Digital 404 ein Ferndatensignal und ein Zustandssignal der Fernverarbeitungsvorrichtung 110B von dem Dekodierer 454. Der USB Digital 404 kann den Betriebszustand der Fernverarbeitungsvorrichtung 110B basierend auf dem Zustandssignal der Fernverarbeitungsvorrichtung 110B vorhersagen. Basierend auf dem Zustandssignal der Fernverarbeitungsvorrichtung 110B sagt der USB Digital einen Betriebszustand der Fernverarbeitungsvorrichtung 110B beispielsweise unter Berücksichtigung der Kommunikationsverzögerung zwischen der Fernverarbeitungsvorrichtung 110B und der lokalen Verarbeitungsvorrichtung 110A, vorherigen Betriebszuständen der Fernverarbeitungsvorrichtung 110B oder der lokalen Verarbeitungsvorrichtung 110A, eines Ferndatensignals oder einer Kombination von beiden vorher. Der USB Digital 404 konfiguriert den USB PHY 402 gemäß dem vorhergesagten Zustand der Fernverarbeitungsvorrichtung 110B und stellt das Ferndatensignal an die lokale Verarbeitungsvorrichtung 110A über die USB PHY 402 in einer Weise bereit, dass jede Verzögerung der drahtlosen Tunnelvorrichtungen 120A Und 120B vermieden werden kann.
-
In einem Ausführungsbeispiel weist der USB Digital 404 einen Verarbeitungskomponenten-Zustandsautomat 408 zum Spiegeln eines Betriebszustands der Fernverarbeitungsvorrichtung 110B auf. Der Verarbeitungskomponenten-Zustandsautomat 408 kann eine angepasste Implementierung von Verbindungstraining-und-Systemstatus-Maschine (Link Training and System Status Machine, LTSSM) der USB3.0 Spezifikation aufweisen. Die Verbindungstraining-und-Systemstatus-Maschine (LTSSM) in der USB3.0 Spezifikation ist ein Zustandsautomat, der für Verbindungs-Konnektivität und Verbindungsenergie-Management definiert ist. Zusätzlich kann der Verarbeitungskomponenten-Zustandsautomat 408 einen Reset-Protokoll-Zustandsautomaten (Reset Protocol State Machine, RPSM) der USB2.0-Spezifikation aufweisen. Der Verarbeitungskomponenten-Zustandsautomat 408 ist so ausgelegt, dass er den LTSSM-Zustand oder den RPSM-Zustand des USB-Hosts/Geräts/Hubs auf der gegenüberliegenden Seite der drahtlosen Verbindung verfolgt, wie in 2 gezeigt ist. Der Verarbeitungskomponenten-Zustandsautomat 408 sagt einen Betriebszustand der Fernverarbeitungsvorrichtung 110B vorher und spiegelt den Zustand der Fernverarbeitungsvorrichtung 110A.
-
In einem Aspekt bildet der Verarbeitungskomponenten-Zustandsautomat 408 einen oder mehrere Zustände von sich selbst zu einem oder mehreren entsprechenden Zuständen des drahtlosen Komponenten-Zustandsautomats 480 ab und konfiguriert den Zustand des drahtlosen Komponenten-Zustandsautomats 480. Der drahtlose Komponenten-Zustandsautomat 480 steuert den Energiezustand der drahtlosen Komponenten des Senders 420 und des Empfängers 440, um die Energieeffizienz der drahtlosen Komponenten zu verbessern. Da beispielsweise der Energieverbrauch der Hochfrequenz-Sendeschaltung 422 im Vergleich zu der Niederfrequenz-Sendeschaltung 424 relativ hoch ist, kann der drahtlose Komponenten-Zustandsautomat 480 die Hochfrequenz-Sendeschaltung 422 steuern, um in einem Niedrigenergiezustand zu arbeiten oder die Hochfrequenz-Sendeschaltung 422 während einer Niederfrequenzübertragung auszuschalten., wenn die Hochfrequenz-Sendeschaltung 422 nicht verwendet wird. Während Hochfrequenzübertragungen kann die Niederfrequenzübertragungsschaltung 424 ausgeschaltet werden. Ähnlich kann, da der Leistungsverbrauch der Hochfrequenz-Empfangsschaltung 442 im Vergleich zu der Niederfrequenz-Empfangsschaltung 446 relativ hoch ist, der drahtlose Komponenten-Zustandsautomat 480 die Hochfrequenz-Empfangsschaltung 442 steuern, um in einem Niedrigenergiezustand zu arbeiten oder die Hochfrequenz-Empfangsschaltung 442 während eines Niederfrequenzempfangs ausschalten, wenn die Hochfrequenz-Empfangsschaltung 442 nicht verwendet wird. Während des Hochfrequenzempfangs kann die Niederfrequenzempfangsschaltung 446 ausgeschaltet werden.
-
Zusätzlich steuert der drahtlose Komponenten-Zustandsautomat 480 zahlreiche Systemfunktionen, einschließlich beispielsweise:
- (1) Erkennen eines Ablösens und Anhängens von USB-Host/Gerät
- (2) Steuern des Energiezustand der drahtlosen Blöcke & USB PHY basierend auf USB-Energiezustand
- (3) Sichern der Synchronität von USB-Host und Gerät mittels Wiedergebens der Verbindungsantwort über die drahtlose Verbindung.
-
5 veranschaulicht ein beispielhaftes Zustandsübergangsdiagramm für ein drahtloses Tunnelsystem gemäß einem Ausführungsbeispiel, das in der Lage ist, USB-Daten zu tunneln. Jeder Zustand des drahtlosen Komponenten-Zustandsautomats 480 kann auf einen entsprechenden Zustand des Verarbeitungskomponenten-Zustandsautomats 408 abgebildet werden, wie in der nachstehenden Tabelle 2 gezeigt. In diesem Ausführungsbeispiel sind fünf mögliche Leistungszustände verfügbar: ein W0-Zustand 502, ein W2-Zustand 506, ein W3-Zustand 508, ein Annäherungserkennungszustand 510 und ein Schlafzustand 504. In einem Aspekt arbeitet der drahtlose Komponenten-Zustandsautomat 480 in einem der in 5 veranschaulichten Leistungszustände.
-
Der W0-Zustand 502 repräsentiert den Hochenergiezustand, in dem die Hochfrequenz-Sendeschaltung 422, die Hochfrequenz-Empfangsschaltung 442 und die zugehörigen Komponenten freigegeben sind, und die drahtlose Tunnelvorrichtung 120 sendet aktiv oder ist verfügbar und bereit Hochfrequenz-Seriendaten (z.B. USB-Daten) zu senden. Im W0-Zustand werden die Hochfrequenz-Sendeschaltung 422 und die Hochfrequenz-Empfangsschaltung 442 eingeschaltet und die drahtlose Tunnelvorrichtung 120 kann aktiv USB-Daten tunneln. Wenn die Nähe zu der anderen Vorrichtung verloren geht, geht die drahtlose Tunnelvorrichtung 120 in den Annäherungserkennungszustand über. In dem Annäherungserkennungszustand 510 werden die Hochfrequenz-Sendeschaltung 422 und die Hochfrequenz-Empfangsschaltung 442 ausgeschaltet. Die Niederfrequenz-Sendeschaltung 424 und die Niederfrequenz-Empfangsschaltung 446 werden eingeschaltet, um periodisch die Nähe einer anderen Vorrichtung zu prüfen und werden ausgeschaltet, wenn sie nicht verwendet werden. Eine drahtlose Tunnelvorrichtung 120A und 120B kann aus dem W0-Zustand in den Schlafzustand 504 eintreten, wenn die Annäherungserkennung erfolgreich ist, aber die Verarbeitungsvorrichtung 110 ist dazu bestimmt, dass sie nicht verbunden ist. Diese Bestimmung erfolgt im W0-Zustand 502. Im Ruhezustand 504 laufen nur "immer EIN"-Blöcke und andere Komponenten sind für die Energieeffizienz ausgeschaltet. Die drahtlose Tunnelvorrichtung bleibt im Schlafzustand 504 für eine vordefinierte Zeit und kehrt dann zum Annäherungserkennungszustand 510 zurück, um sicherzustellen, dass die drahtlose Annäherung beibehalten ist. Wenn eine nahe gelegene Vorrichtung detektiert wird, geht die drahtlose Tunnelvorrichtung 120 wieder in den W0-Zustand 502 über, in dem die Verbindung der Verarbeitungsvorrichtung überprüft wird. Die W2- und W3-Zustände 506, 508 werden betreten, wenn ein drahtloses Tunnelvorrichtungspaar 120A/120B in drahtloser Nähe ist, die Verarbeitungsvorrichtungen 110A/110B sind in dem angehängten Zustand, aber die Verarbeitungsvorrichtungen 110 befinden sich in einem Niedrigenergiezustand oder kommunizieren nicht aktiv Daten. Beispielsweise wird der W2-Zustand 506 betreten, wenn die Verarbeitungsvorrichtung 110 in einem "U2"-Niedrigenergiezustand von „USB3.0 Superspeed“ ist und der W3-Zustand 508 wird betreten, wenn die Verarbeitungsvorrichtung 110 entweder im "U3"-Zustand von USB3.0 Superspeed ist oder im "Suspend" Zustand von „USB2.0 Highspeed“ ist.
-
Jeder Bogen (ARC) in
5 stellt einen möglichen Übergang zwischen den Zuständen dar. Die Bedingungen für den Übergang zwischen den Zuständen sind in der Tabelle 1 zusammengefasst und werden nachfolgend näher beschrieben.
Tabelle 1: Zustandsübergang für drahtlose Tunnelvorrichtung
-
Übergänge aus dem W0-Zustand 502 (z. B. über die Bögen a, b1, c1 und g1) hängen sowohl vom Zustand der lokalen drahtlosen Tunnelvorrichtung als auch vom Zustand der fernen drahtlosen Tunnelvorrichtung in der Nähe der lokalen drahtlosen Tunnelvorrichtung ab. Um den Zustand der lokalen Vorrichtung an die ferne Vorrichtung zu senden und umgekehrt, wird ein Signal „proposed_link_state“ periodisch zwischen den Vorrichtungen gesendet, wenn in dem W0-Zustand 502 der Übergang zu einem neuen Zustand, der mittels die lokalen Vorrichtungsbedingungen vorgegeben ist, angezeigt wird. Beispielsweise ist in einem Ausführungsbeispiel das „proposed_link_state“ Signal ein 2-Bit-Signal, das einen von der lokalen Vorrichtung angekündigten Zustand basierend auf seinen Bedingungen kodiert (z. B. '0' bedeutet W0, '1' steht für W2, '2' steht für W3, und '3' bedeutet Schlaf). Das Signal „proposed_link_state“ wird im W0-Zustand 502 periodisch aktualisiert und über die drahtlose Verbindung ausgetauscht.
-
Eine Vorrichtung zeigt einen Übergang in den Schlafzustand 504 (Bogen a) an, wenn sie erkennt, dass die Verarbeitungsvorrichtung 110 getrennt oder gesperrt ist. Die Vorrichtung zeigt einen Übergang zum W2-Zustand 506 (Bogen b1) an, wenn sie erkennt, dass USB2.0 getrennt oder unterbrochen ist und USB3.0 in den U2-Niedrigenergiezustand gegangen ist. Die Vorrichtung zeigt einen Übergang zum W3-Zustand 508 (Bogen c1) an, wenn sie erkennt, dass USB2.0 getrennt oder unterbrochen ist und USB3.0 in den U3-Zustand gegangen ist. Die Vorrichtung zeigt einen Übergang zum Annäherungserkennungszustand 510 an, wenn die drahtlose HF-Verbindung (d.h. eine drahtlose Verbindung 130 unter Verwendung von Hochfrequenzsende- und Empfangsdatenpfaden) verloren geht.
-
Die Zustandsänderung von W0 tritt nur auf, nachdem beide Seiten der drahtlosen Verbindung 130 denselben Niedrigenergiezustand (z. B. SLEEP, W2 oder W3) anzeigen. Andernfalls verbleiben beide Vorrichtungen im W0-Zustand 502. Im W0-Zustand 502 wird der Wert von „proposed_link_state“ periodisch gesendet. Nachdem sowohl die lokale als auch die ferne Vorrichtung den gleichen Niedrigenergiezustand anzeigen, gehen diese Vorrichtungen in diesen Zustand über.
-
Das Austreten aus dem W2-Zustand 506 in den W0-Zustand 502 (Bogen b2) wird mittels einer vorgeschalteten oder nachgeschalteten Verarbeitungsvorrichtung ausgelöst, die ein Austrittsereignis sendet. Zum Beispiel kann in dem USB3.0 das Austrittsereignis eine U2-Austritt LFPS (Low Frequency Periodic Signaling) zu einer drahtlosen Tunnelvorrichtung 120 aufweisen. Damit der W2 Austritt erfolgt, überträgt die drahtlose Tunnelvorrichtung 120 einen Handschlag-LFPS mit einer ausreichend niedrigen Latenz zurück, um die Anforderungen des zugrundeliegenden seriellen Protokolls (z.B. 2ms für USB3.0 Verbindungen) zu erfüllen. In einer Implementierung wird der schnelle W2 Austritt erleichtert, indem alle Phasenregelschleifen (PLLs) betrieben werden, wenn der W2 Zustand 506 betrieben wird.
-
In einem Beispiel werden Zustände des Verarbeitungskomponenten-Zustandsautomats
408 auf Zustände des drahtlosen Komponenten-Zustandsautomat
480 abgebildet, wie unten in Tabelle 2 gezeigt ist.
LTSSM Zustände (der USB3.0 Spezifikation) | Drahtlose Leistungszustände |
U1 | W0 |
U2 | W2 |
U3 | W3 |
SS.Disabled, SS.Inactive, Rx.Detect | Schleife zwischen W0/“Sleep“ |
U0 und alle anderen aktiven Zustände | W0 |
Tabelle 2: Zuordnung zwischen USB3.0 LTSSM-Zuständen und drahtlosen Energiezuständen
-
DRAHTLOSE TUNNELVORRICHTUNG ARCHITEKTUR FÜR USB3.0
-
6 zeigt die Architektur der drahtlosen Tunnelvorrichtung gemäß einem Ausführungsbeispiel, die dem USB3.0-Protokoll entspricht. Der USB3.0-Standard schreibt die Unterstützung für vier verschiedene Übertragungsgeschwindigkeiten vor: „super-speed“ (hier auch als "SS" bezeichnet), „high-speed“ (hier auch als "HS" bezeichnet), „full-speed“ (hier auch als " "FS") und „low-speed““ (hier auch als "LS" bezeichnet). 6 zeigt den Datenfluss für alle vier USB-Geschwindigkeiten über den USB PHY 402 und USB Digital 404.
-
Auf einer Seite des USB PHY 402 befindet sich die Kabelschnittstelle mit der Verarbeitungsvorrichtung 110. Auf der anderen Seite des USB PHY 402 befindet sich die digitale Datenschnittstelle zum USB Digital 404, die mit einer Frequenz arbeitet, die niedriger ist als die der Kabelschnittstelle. Der USB PHY 402 bietet Unterstützung für alle Aspekte der „super-speed“ USB 601 Funktionalität und verbindet sich mit dem USB Digital 404 über die Industriestandard PIPE Schnittstelle 611. Diese bidirektionale Schnittstelle besteht aus zwei Bussen – jeweils einem für Daten in den und aus dem USB PHY 402. Die Busbreite in der PIPE-Schnittstelle 611 beträgt 16 oder 32 Bits. In einem Ausführungsbeispiel wird die 16-Bit-Busbreite verwendet, um die Latenz zu reduzieren. Ebenso sind die „high-speed“ Daten 602 von der Kabelschnittstelle mit dem USB Digital 404 über eine Industriestandard-UTMI-Schnittstelle verbunden. Bei den meisten herkömmlichen USB PHY-Implementierungen sind die „full-speed“ und „low-speed“ Daten 603 sowohl an der UTMI-Schnittstelle 612 als auch an der seriellen Schnittstelle 613 vorgesehen. In einem Aspekt wird die UTMI-Schnittstelle 612 zum Entwerfen von digitalen Design-Pipelines verwendet. Die UTMI-Schnittstelle weist jedoch 8 oder 16 Bit breite Busse auf und kann aufgrund von Zyklen für die Serialisierung oder Deserialisierung von FS/LS-Datenbits große Latenzen erleiden, wodurch sie für das Tunneling-Design mit geringer Latenz ungeeignet sind. Um diese große Latenz zu überwinden, wird in einem Ausführungsbeispiel die serielle Schnittstelle 613 verwendet, um die FS/LS-Daten 603 mit dem USB Digital 404 zu verbinden.
-
Der USB Digital 404 weist Komponenten für SS, HS, FS und LS auf. Das „super-speed“-Subsystem 620 weist einen SS-Empfangsdatenpfad-Block 622 und einen SS-Sendedatenpfad-Block 623 und einen USB3.0 „super-speed“-Zustandsautomat 621, der den Betrieb der Datenpfad-Blöcke steuert, wie später beschrieben wird, auf. Ebenso weist auf das HS/FS/LS-Subsystem 630 einen HS-Empfangsdatenpfad-Block 632, einen HS-Datenpfad-Block 633, einen seriellen Empfangsdatenpfad 634, einen seriellen Sendedatenpfad-Block 635 und den USB2.0-Zustandsautomat 631 auf. Der USB2.0-Zustandsautomat 631 steuert den Betrieb dieser Datenpfad-Blöcke in dem HS/FS/LS-Subsystem 630, wie später beschrieben wird. In einer gegebenen Sitzung arbeitet das Tunnelsystem in einem der HS-, FS- oder LS-Modi in Abhängigkeit von dem Erfassungszustand zwischen der Verarbeitungsvorrichtung 110 und der drahtlosen Tunnelvorrichtung 120. In bestimmten USB-Verbindungstopologien kann SS und einer von HS/FS/LS gleichzeitig aktiv sein, wenn beispielsweise ein Paar drahtloser Tunnelvorrichtungen zwischen einer Verarbeitungsvorrichtung, die ein USB3.0-Host ist, und eine Verarbeitungsvorrichtung, die ein USB3.0-Hub ist, liegt.
-
Der USB Digital 404 liefert Daten an den Kodierer 416 zur drahtlosen Übertragung unter Verwendung von zwei Schnittstellen, die parallel betrieben werden: eine für die „super-speed“ 651 und eine andere für HS/FS/LS 652. Der Kodierer 416 packt die Daten von diesen beiden Schnittstellen gemäß einer festen Rahmenstruktur und stellt einen einzigen Datenstrom an den Sender 420 zur drahtlosen Übertragung bereit. Ebenso weist die Schnittstelle des USB Digital 404 mit dem Dekodierer 454 eine Schnittstelle für „super-speed“ 653-Daten und eine andere für HS/FS/LS 654 Daten auf. Der Dekodierer 454 empfängt einen Datenstrom von dem drahtlosen Empfänger 440, entpackt den Datenstrom gemäß einer festen Rahmenstruktur und liefert gleichzeitig Daten auf beide Schnittstellen für „super-speed“ 653 Daten und HS/FS/LS 654 Daten.
-
BEISPIEL ZUSTANDSAUTOMAT IMPLEMENTATION FÜR USB-PROTOKOLL
-
USB3.0 „super-speed“ Zustandsautomat
-
Die Verbindungstraining-und-Statuszustand-Maschine (LTSSM) der USB3.0 Spezifikation ist ein Zustandsautomat, der für Verbindungs-Konnektivität und Verbindungsenergie-Management definiert ist. Die Spezifikation definiert 12 Zustände mit 24 Sub-Zuständen für spezifische Funktionalitäten, wie in Tabelle 3 zusammengefasst ist.
LTSSM Sub-Zustände (24) | LTSSM Zustände (12) | Funktionalität |
U0 | U0 | Zustand in dem SS Pakettransfers bearbeitet |
U1 | U1 | Niedrigenergie-Zustand mit kurzer Austritt-Latenz |
U2 | U2 | Niedrigenergie-Zustand mit Austrittlatenz größer als U1 |
U3 | U3 | Niedrigenergie-Zustand mit größter Austrittlatenz |
SS.Inactive.Disconnect.Detect | SS.Inactive | Verbindungsfehler-Zustand in dem eine Verbindung in einem nicht-operablen Zustand ist und System/Software Eingriff notwendig ist |
SS.Inactive.Quiet |
Rx.Detect.Reset | Rx.Detect | Zustand in dem USB Anschluss versucht zu erfassen ob SS Verbindungspartner anwesend ist und mit Erfassen der Anwesenheit wird das Verbindungstraining gestartet |
Rx.Detect.Active |
Rx.Detect.Quiet |
SS.Disabled.Default | SS.Disabled | Superspeed Konnektivität ist gesperrt und die Verbindung kann unter USB2.0 Modus betrieben werden |
SS.Disabled.Error |
Compliance Mode | Compliance Mode | Zustand, um Sender-Übereinstimmungstest zu erlauben |
Loopback.Active | Loopback | Zustand, um Bit-Fehlertest zu erlauben |
Loopback.Exit |
Recovery.Active | Recovery | Zustand zum Umtrainieren der Verbindung nach Verlassen des Niedrigenergie-Zustandes, oder Erfassen, dass die Verbindung nicht ordnungsgemäß in U0 betrieben wird, oder ein Verbindungspartner entscheidet den Verbindungsbetriebsmodus zu ändern |
Recovery.Configuration |
Recovery.Idle |
Hot Reset.Active | Hot Reset | Zustand definiert, um einem nachgeschaltet Anschluss zu erlauben, seinen vorgeschalteten Anschluss zurückzusetzen |
Hot Reset.Exit |
Polling.LFPS | Polling | Zustand definiert für zwei Verbindungspartner, um ihre SS Sender und Empfänger zu trainieren, zu synchronisieren und für den Pakettransfer bereit zu machen |
Polling.RxEQ |
Polling.Active |
Polling.Configuration |
Polling.Idle |
Tabelle 3: LTSSM-Zustände und Sub-Zustände von USB3.0 Spezifikation
-
Der 25-Zustands-USB3.0-“super-speed“-Zustandsautomat
631 innerhalb des USB Digital
404 ist implementiert, indem der 24-Zustands-LTSSM optimiert und für ein drahtloses Tunneln gemäß einem Ausführungsbeispiel angepasst ist. Es ist in Tabelle 4 gezeigt. Der USB3.0-“super-speed“-Zustandsautomat
631 wird von LTSSM abgeleitet mittels eines von: Zusammenfallen von mehreren Sub-Zuständen in einen einzigen, Aufteilen eines Sub-Zustands in mehrere Zustände oder Hinzufügen eines neuen Zustands. Diese Ableitung ist in Tabelle 4 dargestellt.
| USB 3.0 super speed Zustandsautomat (zum drahtlosen Tunneln) | LTSSM Sub-Zustände der USB3.0 Spezifikation | Kommentar |
1 | POWER_OFF | SS.Disabled.Default (VBUS) | LTSSM Sub-Zustand aufgeteilt |
2 | SS.Disabled.Default | SS.Disabled.Default (Clock) | LTSSM Sub-Zustand aufgeteilt |
SS.Inactive.Quiet | LTSSM Sub-Zustand zusammengefallen |
SS.Inactive.Disconnect. Detect | LTSSM Sub-Zustand zusammengefallen |
3 | SS.Disabled.Error | SS.Disabled.Error | |
4 | Rx.Detect.Reset | Rx.Detect.Reset | |
5 | Rx.Detect.Active | Rx.Detect.Active | |
6 | Rx.Detect.Quiet | Rx.Detect.Quiet | |
7 | Rx.Detect.Remote | | Neuer Zustand hinzugefügt |
8 | Polling.LFPS | Polling.LFPS | |
9 | Polling.RxEQ | Polling.RxEQ | |
10 | PollingTraining | Polling.Active | 3 LTSSM Sub-Zustände zusammengefallen |
Polling.Config |
Polling.Idle |
11 | NonPollingTraining | Recovery.Active | 5 LTSSM Sub-Zustände zusammengefallen |
Recovery.Configuration |
Recovery.Idle Hot |
Reset.Active Hot |
Reset.Exit |
12 | U0 | U0 | LTSSM Sub-Zustand aufgeteilt in 2 |
13 | U0_Exit |
14 | U1 | U1 | LTSSM Sub-Zustand aufgeteilt in 2 |
14 | U1_Exit |
16 | U2 | U2 | LTSSM Sub-Zustand aufgeteilt in 2 |
17 | U2_Exit |
18 | U3 | U3 | LTSSM Sub-Zustand aufgeteilt in 2 |
19 | U3_Exit |
20 | Compliance Mode | Compliance Mode | |
21 | Loopback.Active.Local | Loopback.Active | LTSSM Sub-Zustand aufgeteilt in 2 |
22 | Loopback.Active.Through |
23 | Loopback.Exit.Local | Loopback.Exit | LTSSM Sub-Zustand aufgeteilt in 2 |
24 | Loopback.Exit.Through |
25 | IdleTraining | | Neuer Zustand hinzugefügt |
Tabelle 4: Zustände des USB3.0 „super-speed“-Zustandsautomats für das drahtlose Tunneln
-
Der USB3.0-“super-speed“-Zustandsautomat ist so ausgelegt, dass er den LTTSM-Zustand des USB-Hosts/Geräts/Hubs auf der gegenüberliegenden Seite der drahtlosen Verbindung verfolgt, wie in 1 gezeigt ist. Die Zustandsübergänge werden daher auf einer von drei Typen von Eingaben vorgenommen:
- (1) Signalisierungsinformationen, die über einen drahtlosen USB3.0-“super-speed“-Zustandsautomaten von der fernen drahtlosen Tunnelvorrichtung empfangen werden (z.B. „remote.RX_SIG_POWEROFF“ aus Tabelle 7),
- (2) USB-Paketdaten, die über drahtlos von der fernen drahtlosen Tunnelvorrichtung empfangen werden (als „remote.data“ bezeichnet) und
- (3) lokal erzeugte Signale/Ereignisse wie Zeitüberschreitungen (z.B. „Timeout_12ms“ in Tabelle 7).
-
Tabelle 5 fasst die Liste aller verwendeten „super-speed“-Signalisierungsinformationen zusammen. Tabelle 6 zeigt die Paketstruktur zum Senden von Signalisierungsinformationen über drahtlos. „super-speed“-Signalisierungsinformation wird kodiert und als Inband-Nutzlast über drahtlos kommuniziert. Die Signalisierungsinformation kann über drahtlos gesendet werden, wann immer keine „super-speed“-Paketdaten gesendet werden sollen.
Tabelle 5: „super-speed“-Signalisierungsinformationen
Byte 3 | Byte 2 | Byte 1 | Byte 0 |
K23.7 (EPF) | K26.8 (ESC) | K26.8 (ESC) | K26.8 (ESC) |
Dxx.x | Dxx.x | Dxx.x | Dxx.x |
Tabelle 6: Signalisierungsinformations-Paketstruktur
-
In Tabelle 6 ist Dxx.x das kodierte Signalisierungssymbol – einer der kodierten Werte aus Tabelle 5. Viermalige Wiederholung von Dxx.x wird verwendet, um in einem Ausführungsbeispiel die Widerstandsfähigkeit gegen drahtlose Fehler zu verbessern.
-
Tabelle 7 fasst die nächsten Zustände und Übergangsbedingungen für den 25-Zustands-USB3.0 „super-speed“-Zustandsautomaten
631 zusammen. Es ist entworfen, um USB3.0 „super-speed“-Verbindung-Konnektivität und Verbindungsenergie-Management-Funktionalitäten gemäß einem Ausführungsbeispiel zu unterstützen. Am Ende der Tabelle sind zwei globale Bedingungen, die für mehrere Zustände gelten und den Übergang zu zwei festen Zuständen ermöglichen: „POWER_OFF“ und „SS.Disabled.Default“.
Tabelle 7: Zustandsübergänge für USB3.0 „super-speed“-Zustandsautomat
-
Am Ende von Tabelle 7 werden die verwendeten Begriffe Namen und Symbole, um die Bedingung zu beschreiben, von der USB3.0-Spezifikation und der PIPE-Schnittstellenspezifikation entliehen. Auch in diesen Gleichungen wird die Signalisierungsinformation aus Tabelle 5 verwendet. Beispielsweise ist „remote.RX_DETECT_SUCCESS“, das in Zeile 7 von Tabelle 7 verwendet wird, die Signalübertragung Empfangserkennung „Pass", die über eine drahtlose Verbindung von der fernen drahtlosen Vorrichtung empfangen wird.
-
Die Implementierung von Niedrigenergiezuständen für drahtlose Tunnelvorrichtungen reduziert den Energieverbrauch in vielen Benutzungsszenarien, zum Beispiel beim Eintreten eines Niedrigenergiezustands während des Wartens auf das USB-Geräte-Plugin (Schlafen (Sleep)/W0-Schleife) oder das Eingeben eines Niedrigenergiezustands während des Wartens auf den W2-Austritt oder W3-Austritt. Zu beachten ist, dass in diesen beiden Szenarien der Niedrigenergiezustand eine lange Zeit andauern kann, da die Übergänge in und aus diesen Zuständen meist in der menschlichen Zeitskala ausgelöst werden. Es ist daher vorteilhaft, drahtlose Tunnelvorrichtung zu entwerfen, um Niedrigenergiezustände für diese Szenarien zu unterstützen.
-
Um die Geräte im Niedrigenergiezustand aufzuwecken, werden ein separater niederfrequenter (LF) und ein niederenergetischer drahtloser Datenpfad implementiert. Die LF-TX-Schaltung 424 wird verwendet, um asynchrone Signale über die drahtlose Verbindung zu senden. Die USB Digital-Logik steuert asynchron das Signal „SSUWakeup“ (oder abwechselnd „HSUWakeup“ für USB2.0) hoch, wann immer der USB PHY LFPS (niederfrequente periodische Signalisierung) auf der Kabelschnittstelle erkennt, während sich die Vorrichtungen im U2- oder U3-Niedrigenergiezustand befinden. Dieses asynchrone Signal wird unter Verwendung der LF-TX-Schaltung 424 und unter der Steuerung des drahtlosen Komponenten-Zustandsautomats 480 gesendet.
-
Gleichermaßen wird das Signal „SSWWakeup“ mittels der LF RX-Schaltung 446 angetrieben, wann immer ein Wecksignal über eine drahtlose Verbindung detektiert wird. Dies wird von dem drahtlosen Komponenten-Zustandsautomaten 480 und dem USB Digital 404 verwendet, um die Vorrichtungen in einen Betriebszustand U0 zu überführen.
-
Die Tabellen 8 und 9 beschreiben die beispielhafte W2-Eintritts-/Austrittssequenz bzw. die Schlafeintritts-/austrittssequenz gemäß einem Ausführungsbeispiel. Die Initiator-Spalte in den Tabellen verwendet die folgenden Notationen:
"Host": USB-Host oder vorgeschalteter USB-Hub (z. B. Verarbeitungsvorrichtung 110A)
"Gerät": USB-Peripherie oder nachgeschalteter USB-Hub (z. B. Verarbeitungsvorrichtung 110B)
„US-U“: USB Digital 404 auf der vorgeschalteten Seite (z.B. drahtlose Tunnelvorrichtung 120A)
„US-W“: Drahtlose Blöcke auf der vorgeschalteten Seite (z.B. drahtlose Tunnelvorrichtung 120A)
"DS-U": USB Digital 404 auf der nachgeschalteten Seite (z.B. drahtlose Tunnelvorrichtung 120B)
„DS-W“: Drahtlose Blöcke auf der nachgeschalteten Seite (z.B. drahtlose Tunnelvorrichtung 120B).
-
In W2/W3-Zuständen werden die digitalen Takte gestoppt und Mischsignal-/Funk-Blöcke werden in den Niedrigenergiezustand versetzt. Im Schlaf-Modus („Sleep mode“) verliert wird jedoch die gesamte USB Digital
404 (einschließlich Zustandsautomaten) und die meisten der drahtlosen Blöcke Energie. In einem Ausführungsbeispiel gibt es einen kleinen, immer eingeschalteten digitalen Zustandsautomaten, der auch während des Schlafes Energie beibehält.
Tabelle 8: W2 Ein-/Austrittsequenz für USB3.0 „super-speed“
Tabelle 9: Einschlaf-/Austrittssequenz für USB3.0 „super-speed“
-
USB2.0 Zustandsautomat
-
Der USB2.0-Zustandsautomat 631 für HS/FS/LS-Daten wird ausgehend von dem in der USB2.0-Spezifikation beschriebenen Reset-Protokoll-Zustandsautomaten (RPSM) angepasst und optimiert. Es handhabt „high-speed“-, „full-speed“- und „low-speed“ Operationen mit den D+/D– Leitungen.
-
Tabelle 10 zeigt Signalisierungsinformationen, die von dem USB2.0-Zustandsautomaten erzeugt werden. Die Kodierung der Bytes für die drahtlose Kommunikation verwendet das gleiche Schema wie „super-speed“ (beschrieben in Tabelle 6).
| Signalisierung | Kodierter Wert (8bit – binär) | Kommentar |
1 | LINE_STATE_SE0 | 0000_0000 | Ändern des „line state“ zu SE0 bei fernem Slingshot UTMI |
2 | LINE_STATE_0 | 0000_0010 | Ändern des „line state“ zu differentieller “0” bei fernem Slingshot UTMI |
3 | LINE_STATE_1 | 0000_0001 | Ändern des „line state“ zu differentieller “1” bei fernem Slingshot UTMI |
4 | LINE_STATE_SE1 | 0000_0011 | Ändern des „line state“ zu SE1 bei fernem Slingshot UTMI |
5 | HostDisconnect | 0001_0001 | „HostDisconnect“ 0 -> 1 Ändern bei fernem Slingshot UTMI. Gültig nur für DS |
6 | HostConnect | 0001_0000 | „HostDisconnect“ 1 -> 0 Ändern bei fernem Slingshot UTMI. Gültig nur für DS |
7 | VBUS_ON | 0010_0001 | „PowerPresent“ 0 -> 1 Übergang bei fernem Slingshot |
8 | VBUS_OFF | 0010_0000 | „PowerPresent“ 1 -> 0 Übergang bei fernem Slingshot |
Tabelle 10: USB2.0 Signalisierungsinformationen
-
Tabelle 11 fasst den nächsten Zustand und Übergangsbedingung für den 17-Zustands-USB2.0-Zustandsautomaten
631 zusammen. Dieser Zustandsautomat ist einfacher als der für die „super-speed“, da der „super-speed“-Betrieb eine anspruchsvollere Energieverwaltung implementiert. Der USB2.0-Zustandsautomat
631 benötigt andererseits unterschiedliche Zustände für die Unterstützung von HS, FS und LS – wie aus einigen Zuständen ersichtlich ist, die dreimal in der nachstehenden Tabelle wiederholt wurden. Am Ende der Tabelle gibt es drei globale Bedingungen, die für mehrere gegenwärtige Zustände gelten. Sie ermöglichen den Übergang zu drei festen Zuständen: „Poweroff“, „Disconnected“ und „Reset_SE0“.
Tabelle 11: Zustände & Übergänge für USB2.0 Zustandsautomat
-
Am Ende von Tabelle 11 sind die Begriffe Namen und Symbole, die in der Bedingung verwendet werden, von der USB2.0-Spezifikation und der UTMI-Schnittstellenspezifikation entliehen. Ebenfalls in diesen Gleichungen werden USB2.0 Signalisierungsi-Informationen aus Tabelle 10 verwendet.
-
Tabelle 12 und 13 beschreiben W3 Ein-/Austritt und Schlaf-Ein-/Austrittssequenzen für „high-speed“-, „full-speed“ und „low-speed“ Operationen. In diesen Tabellen bezeichnet das Präfix "xx_" eines von entweder HS, FS und LS.
-
Wie zuvor beschrieben, unterstützt das drahtlose Design die Leistungszustände: W0, W2, W3 und Schlafen. Die Zustände W0, W2 und W3 werden auf die USB3.0-“super-speed“-Zuständen U0, U2 und U3 abgebildet. In einem Ausführungsbeispiel schaltet die Vorrichtung keine drahtlosen Blöcke im U1-Zustand aus, da die Austrittlatenzanforderung für U1 sehr kurz ist. Der "suspend" Energiezustand in USB2.0 ist auf W3 abgebildet. Dies ist deshalb, da die "Suspend- Resume" Austrittlatenzanforderung vergleichbar ist mit der von „super-speed“ U3.
-
In einem Ausführungsbeispiel kann die drahtlose Tunnelvorrichtung auf der vorgeschalteten Seite eines USB3.0-Hubs verwendet werden, wodurch sowohl USB3.0-“super-speed“- als auch USB2.0-Datenübertragungen gleichzeitig verwendet werden können. Daher wird in diesem Ausführungsbeispiel der Energiezustand W3 erst nach dem Überprüfen sowohl des USB2.0-Zustandsautomats
631 als auch des USB3.0 „super-speed“ Zustandsautomats
621 betreten. Beispielsweise wird W3 nur betreten, wenn die USB3.0-“super-speed“-Verbindung im U3- oder „Disabled“-Zustand ist und die USB2.0-Verbindung sich im „Suspend“-Zustand befindet. Ebenso wird der Schlaf-Zustand nur betreten, wenn die USB3.0-“super-speed“-Verbindung im „Disabled“-Zustand ist und die USB2.0-Verbindung im „Disconnected“-Zustand ist.
Tabelle 13: Schlaf-Ein-/Austrittssequenz für USB2.0-disconnect connect
-
Nach dem Lesen dieser Offenbarung werden Fachleute auf dem Gebiet noch weitere, alternative Ausführungsbeispiele mittels der hierin offenbarten Prinzipien zu schätzen wissen. Während daher bestimmte Ausführungsbeispiele und Anwendungen dargestellt und beschrieben wurden, versteht es sich, dass die offenbarten Ausführungsbeispiele nicht auf die hierin offenbarte genaue Konstruktion und Komponenten beschränkt sind. Verschiedene Modifikationen, Änderungen und Variationen, die für den Fachmann offensichtlich sind, können in der Anordnung, dem Betrieb und den Details des hierin offenbarten Verfahrens und der Vorrichtung vorgenommen werden, ohne von dem hier beschriebenen Umfang abzuweichen.