-
TECHNISCHES GEBIET
-
Die vorliegende Anmeldung bezieht sich im Allgemeinen auf USB-Anschlüsse und insbesondere auf USB-C-Anschlusssysteme.
-
HINTERGRUND
-
Universal Serial Bus (USB) ist ein Industriestandard für die Kommunikation und Stromversorgung zwischen Host-Rechengeräten und ihren Peripheriegeräten. Der USB-Standard umfasst die Kabel, die Anschlüsse und die Protokolle, die für die Kommunikation und die Stromversorgung verwendet werden. USB-C ist ein Beispiel für ein Steckverbindersystem nach dem USB-Standard mit 24- Pins, die für Kommunikation, Stromversorgung und Steuerung gemäß dem USB Implemented Forum (USB-IF) definiert sind. Die Standard-USB-C-Buchse hat vier Stromversorgungspins, vier Erdungspins, vier abgeschirmte differentielle Paare für Hochgeschwindigkeits-Datenverkehr (USB 3.1), zwei differentielle Paare für USB-Daten (USB 2.0), zwei Sideband-Use (SBU)-Pins und zwei Configuration Channel (CC)-Pins.
-
ZUSAMMENFASSUNG
-
Gemäß einem Aspekt stellt die vorliegende Offenbarung eine USB-Schnittstelle bereit. In einem Ausführungsbeispiel umfasst die USB-Schnittstelle: (1) einen USB-C-Anschluss mit Pins, die für Datenübertragung konfiguriert sind, und (2) einen Pin-Controller (Pin-Steuerung, oder -steuereinheit), der so konfiguriert ist, dass er die zentralen Anschlusspins (Anschlussstifte) des USB-C-Anschlusses für die Datenübertragung (Datenkommunikation) einem neuen Verwendungszweck umwidmet (d.h. mit neuer Funktion belegt, neu belegt).
-
Gemäß einem anderen Aspekt stellt die vorliegende Offenbarung ein Verfahren zur Neubelegung von Pins eines USB-C-Anschlusses dar. In einem Ausführungsbeispiel umfasst das Verfahren: (1) Aushandeln einer Signalübertragung zwischen einem USB-Rechengerät und einem über USB-C-Anschluss verbundenen Gerät, (2) dynamisches Bestimmen eines Alternativmodus für die Umwidmung der zentralen Anschlusspins des USB-C-Anschlusses, der sowohl vom USB-Rechengerät als auch vom über USB angeschlossenen Gerät unterstützt wird, und (3) Aktivieren des Alternativmodus für die Kommunikation zwischen dem USB-Rechengerät und dem über USB angeschlossenen Gerät.
-
Gemäß einem weiteren Aspekt stellt die vorliegende Offenbarung ein Rechengerät bereit. In einem Ausführungsbeispiel umfasst das Rechengerät: (1) einen Prozessor, und (2) eine USB-Schnittstelle, die kommunikativ mit dem Prozessor gekoppelt ist, wobei die USB-Schnittstelle einen USB-C-Stecker mit Pins, die so konfiguriert sind, dass sie Daten zwischen dem Prozessor und einem angeschlossenen Gerät übertragen, und einen Pin-Controller umfasst, der so konfiguriert ist, dass er die zentralen Pins des USB-C-Steckers für die Übertragung der Daten an das angeschlossene Gerät mit neuer Funktion belegt.
-
Figurenliste
-
Es wird nun auf die folgenden Beschreibungen in Verbindung mit den zugehörigen Zeichnungen eingegangen, in denen Folgendes dargestellt ist:
- 1 illustriert ein Diagramm eines Ausführungsbeispiels eines Computersystems, das ein gemäß den Prinzipien der vorliegenden Offenbarung konstruiertes USB-C-Anschlusssystem verwendet;
- 2 illustriert ein Blockdiagramm eines Ausführungsbeispiels einer USB-Schnittstelle, die gemäß den Prinzipien der vorliegenden Offenbarung konstruiert wurde; und
- 3 illustriert ein Flussdiagramm eines Ausführungsbeispiels eines Kommunikationsverfahrens, das einen USB-C-Anschluss verwendet und gemäß den vorliegend offenbarten Prinzipien durchgeführt wird.
-
DETAILLIERTE BESCHREIBUNG
-
Eine Kommunikation über die Pins eines USB-C-Anschlusses, so wie sie von dem USB-IF definiert ist, kann die gewünschte Bandbreite eines USB-C-Anschlusses für bestimmte Funktionen begrenzen. Zum Beispiel erlaubt die Definition eines USB-C-Anschlusses nicht, dass gleichzeitig eine Signalübertragung (engl. signaling) über USB-3 und eine Signalübertragung auf vier Leitungen (engl. lanes) über DisplayPort erfolgen kann. Dementsprechend kann das Verwenden eines USB-C-Anschlusses in einigen Anwendungen, wie z.B. bei Virtual-Reality (VR)-Geräten, eingeschränkt sein. In Reaktion darauf haben einige Firmen versucht, die Bandbreite von USB-C für Anwendungen wie VR durch Brute-Force-Vorgehensweisen zu erhöhen, indem zwei oder mehr USB-C-Stecker für solche Anwendungen implementiert wurden.
-
Um die Bandbreite eines USB-Anschlusses vom Typ C, d.h. eines USB-C-Anschlusses, für gewünschte Funktionen zu erhöhen, stellt die vorliegende Offenbarung ein Verfahren bereit, mit dem die Anschlusspins der des USB-C-Steckverbindung dynamisch zwischen USB-2-Datenverkehr mit geringer Bandbreite und USB-3-Datenverkehr mit hoher Bandbreite umgewidmet werden können. Auf diese Weise können Anschlusspins, die ursprünglich vom USB-IF für den USB-2-Datenverkehr mit niedriger Bandbreite vorgesehen waren, dynamisch neu zugewiesen werden. Ein USB-C-Host und ein Peripheriegerät können die Verwendung dieser Pins aushandeln, um einen dynamischen Übergang zu einer anderen Funktion oder anderen Funktionen zu ermöglichen. Das Aushandeln für die Umwidmung kann über herstellerdefinierte Nachrichten (VDM) über den Konfigurationskanal der USB-C-Verbindung erfolgen. Bei den Pins kann es sich um die vier mittleren (zentralen, engl. center) Pins eines USB-C-Anschlusses handeln, d.h. um die Pins A6, A7, B6, B7, die ursprünglich vom USB-IF als USB 2.0 Differential Pairs bezeichnet wurden.
-
Die offenbarten Methoden/Geräte/Systeme haben den Vorteil, dass sie Flexibilität bei der Kommunikation über USB-C-Anschlüsse bereitstellen. Beispielsweise können mit der offenbarten Methode/dem offengelegten Gerät/System hochauflösende VR-Headsets ermöglicht werden, die z.B. häufig in VR-Systemen mit leistungsstarken Grafikprozessoren verwendet werden. In solchen Anwendungen werden die für USB-2-Differentialpaare vorgesehenen Pins dynamisch für den Hochgeschwindigkeits-USB-3-Datenverkehr umgewidmet. Der USB-C-Anschluss kann verwendet werden, um gleichzeitig vier Hochgeschwindigkeits-DisplayPort-Spuren und einen USB-3-Datenkanal zur Unterstützung hochauflösender Kameras und Sensoren bereitzustellen. VR-Headsets können dann eine einzige USB-C-Verbindung verwenden, die eine erhöhte Anzeigeauflösung liefert und Kameras mit hoher Bandbreite für Tracking und Augmented Reality (AR) unterstützt.
-
Dementsprechend kann anstelle von proprietären Adaptern, wie z.B. Dongles, mit sowohl HDMI- als auch USB-Eingang und proprietärem Kabel vom Adapter zum HMD ein einziger USB-C-Anschluss, wie hier offenbart, verwendet werden. Dies ermöglicht die Verwendung einer einzigen, flachen USB-C-Steckverbindung an Rechengeräten, anstatt sowohl einen USB-Anschluss als auch einen HDMI-Anschluss zu benötigen. Durch beispielsweise die Verdoppelung der DisplayPort-Bandbreite bei gleichzeitiger Verwendung von USB-3 durch die Verwendung eines einzigen USB-C-Anschlusses können zusätzliche Kosten für einen zweiten Anschluss und der zusätzliche physische Platzbedarf für zusätzliche Anschlüsse vermieden werden.
-
Mit Bezug auf die Abbildungen zeigt 1 ein Diagramm eines Ausführungsbeispiels eines Computersystems 100, das ein gemäß den Prinzipien der vorliegenden Offenbarung konstruiertes USB-C-Anschlusssystem verwendet. Das Computersystem 100 verwendet eine Neuzuordnung (engl. remapping) der Pins des USB-C-Anschlusses für eine alternative Funktion. Das Computersystem 100 umfasst einen USB-Host 110, ein USB-Peripheriegerät 130, ein USB-C-Anschlusssystem 120, ein Kommunikationsnetzwerk 140 und einen Server 150.
-
Der USB-Host 110 ist ein Rechengerät, das ein universelles Rechengerät oder ein Rechengerät sein kann, das auf einen bestimmten Zweck ausgerichtet ist. Zum Beispiel kann der USB-Host 110 ein Personal Computer (PC), ein Laptop, ein Smartphone, ein Computing-Pad oder ein spezielles Spielgerät sein. Der USB-Host 110 umfasst einen Prozessor 112, eine Netzwerkschnittstelle 114 und eine USB-Schnittstelle 116. Der USB-Host 110 kann zusätzliche Komponenten enthalten, die typischerweise in einem Rechengerät enthalten sind, wie z.B. einen Speicher oder Speicher zur Speicherung digitaler Daten und Busse zum Anbinden der verschiedenen Komponenten.
-
Der Prozessor 112 ist so konfiguriert, dass er Daten empfängt, Daten verarbeitet und eine entsprechende Ausgabe bereitstellt. Der Prozessor 112 kann z.B. ein konventioneller Prozessor oder mehrere konventionelle Prozessoren sein, wie z.B. Zentralverarbeitungseinheiten (engl. Central Processing Units, CPUs), Grafikverarbeitungseinheiten (engl. Graphics Processing Units, GPUs) oder eine Kombination aus beidem. Die Netzwerkschnittstelle 114 ist so konfiguriert, dass sie Daten zwischen dem Prozessor 112 und dem Kommunikationsnetzwerk 140 überträgt. Die Netzwerkschnittstelle 114 kann auch eine konventionelle Komponente sein.
-
Die USB-Schnittstelle 116 ist kommunikativ mit dem Prozessor 112 gekoppelt und ist so konfiguriert, dass sie Daten zwischen dem USB-Host 110 und angeschlossenen Geräten, wie z.B. dem USB-Peripheriegerät 130, austauschen kann. Die USB-Schnittstelle 116 ist so konfiguriert, dass sie eine dynamische Neuzuordnung der USB-Anschlusspins unterstützt. Die USB-Anschlusspins können die USB-C-Anschlusspins A6, A7, B6, B7 sein, die hier zusammenfassend als die zentralen Anschlusspins bezeichnet werden und nachfolgend in Beispielen verwendet werden. Die zentralen Anschlusspins sind ursprünglich vom USB-IF für den USB-2-Datenverkehr mit niedriger Bandbreite vorgesehen. Die USB-Schnittstelle 116 ist eine USB-C-Schnittstelle, die so konfiguriert ist, dass sie eine Funktion von USB-C-Pins zu einer anderen Funktion ändert. Die USB-Schnittstelle 116 enthält einen USB-C-Anschluss (nicht abgebildet), bei dem es sich um eine Buchse oder einen Stecker handelt. Der USB-Host 110 ist über das USB-C-Anschlusssystem 120 mit dem USB-Peripheriegerät 130 verbunden.
-
Das USB-C-Anschlusssystem 120 umfasst ein USB-C-Kabel 122, das einen ersten USB-C-Anschluss 124 mit einem zweiten USB-C-Anschluss 126 verbindet. Der erste USB-C-Anschluss 124 wird mit der USB-Schnittstelle 116 und der zweite USB-C-Anschluss 126 mit der USB-Schnittstelle 132 des USB-Peripheriegeräts verbunden. Der erste USB-C-Anschluss 124 und der zweite USB-C-Anschluss 126 können Buchsen oder Stecker sein, abhängig von den entsprechenden USB-Anschlüssen der USB-Schnittstelle 116 und der USB-Schnittstelle 132. Jede Komponente des USB-C-Anschlusssystems 120 kann eine Standard-USB-C-Komponente sein.
-
Das USB-Peripheriegerät 130 ist ein Rechengerät, das mit dem USB-Host 110 interagiert. Das USB-Peripheriegerät 130 kann z.B. ein Head Mounted Display (HMD), eine andere Art von Display, eine Docking-Station oder ein Speicherlaufwerk sein. Bei dem USB-Peripheriegerät 130 kann es sich um ein HMD handeln, das für VR- oder AR-Anwendungen eingesetzt wird. So kann das USB-C-Anschlusssystem 120 ein einziger Anschluss sein, der das Anschließen eines VR-HMD an eine Plattform ermöglicht, die dem HMD High-Fidelity-Video liefern kann und eine Upstream-Verbindung zu einem Host-Gerät ermöglicht, um Daten von Kameras, Sensoren, Beschleunigungsmessern usw. zu empfangen, die für ein gutes VR-Erlebnis verwendet werden. HMD-Hersteller können von dieser Bündelung der Funktionen in einer einzigen USB-C-Verbindung profitieren, indem ein Adapter überflüssig wird, eine Unsicherheit der Funktionalität beim Einstecken des Endes beseitigt wird, die Kosten reduziert werden, da nur eine einzige Schnittstelle mit einem angeschlossenen Gerät (z.B. einem Host-Gerät) benötigt wird, und die Datenkommunikationsfähigkeit gegenüber bestehenden Systemen verbessert wird.
-
Das USB-Peripheriegerät 130 umfasst die USB-Schnittstelle 132 und einen Prozessor 134. Das USB-Peripheriegerät 130 kann zusätzliche Komponenten enthalten, die typischerweise in einem Rechengerät enthalten sind, wie z.B. einen Speicher oder Speicher zur Speicherung digitaler Daten und Busse zur Verbindung der verschiedenen Komponenten, wie oben für den USB-Host 110 beschrieben.
-
Der USB-Host 110 ist über das Kommunikationsnetz 140 kommunikativ mit dem Server 150 gekoppelt. Sowohl das Kommunikationsnetz 140 als auch der Server 150 können konventionelle Systeme sein. Der Server 150 kann ein GPU-basierter Server sein. Der Server 150 kann ein Spielserver sein, z.B. ein Server für Cloud-basierte Spiele. Als solches kann das Computersystem 100 ein System für Cloud-Spiele (engl. cloud gaming system) sein, und das USB-Peripheriesystem 130 kann ein HMD sein, das über eine einzige Schnittstelle mit dem USB-Host 110 verbunden ist.
-
2 illustriert ein Blockdiagramm eines Ausführungsbeispiels einer nach den Prinzipien der Offenlegung ausgeführten USB-Schnittstelle 200. Die USB-Schnittstelle 200 kann die USB-Schnittstelle 116 oder 132 aus 1 sein. Die USB-Schnittstelle 200 enthält ein USB-Daten-Controller 210, einen Pin-Controller 220, einen Alternativmodus-Multiplexer 230 und einen USB-C-Anschluss 240.
-
Der Pin-Controller 220 ist so konfiguriert, dass er Pins des USB-C-Steckers 240 für die Datenkommunikation neu belegt. Die neu belegten Pins sind z.B. die zentralen Anschlusspins des USB-C-Anschlusses 240, die ursprünglich für die Signalübertragung über USB-2 vorgesehen sind. In einigen Beispielen kann der Pin-Controller 220 einen bis vier der zentralen Anschlusspins für eine andere Funktion umverwenden. In einem Ausführungsbeispiel ist der Pin-Controller 220 so konfiguriert, dass die zentralen Anschlusspins für eine die USB-3-Signalübertragung wiederverwendet werden.
-
Der Pin-Controller 220 ist so konfiguriert, dass er Aushandlungen für die Stromversorgung und für Alternativmodi durchführt. Durch die Aushandlungen kann der Pin-Controller 220 die zentralen Anschlusspins unter Verwendung einer eindeutigen ID, die eine andere Funktion als die ursprünglich vorgesehene Funktion für die zentralen Anschlusspins angibt, neu verwenden. Der Pin-Controller 220 ist ein vom USB-Datencontroller 210 unabhängiger Block. Der Pin-Controller 220 kann über verschiedene Konfigurationen implementiert werden. Der Pin-Controller 220 kann ein unabhängiges Gerät sein, eingebettet in eine Plattform als eingebetteter Controller, z.B. auf einem mobilen Rechengerät, oder integriert in einen USB-Controller, der mit einem USB-Host oder Peripheriegerät verbunden ist.
-
Der Pin-Controller 220 kann ein Policy-Port-Controller einer USB-C-Schnittstelle sein, z.B. ein Policy-Port-Controller an einem nachgeschalteten Port (z.B. an der USB-Schnittstelle 116) und an einem vorgeschalteten Port (z.B. an der USB-Schnittstelle 132). Im Gegensatz zu einem typischen Policy-Port-Controller enthält der Pin-Controller 220 eine Logik, die die Pins des mittleren Anschlusses neu belegt, mindestens eine eindeutige ID, die der Neubelegung der Pins des mittleren Anschlusses entspricht, und zusätzliche Steuerungen für den direkten Betrieb des Alternativmodus-Multiplexers 230 für die Neubelegung der zentralen Anschlusspins. In einigen Ausführungsbeispielen kann die Logik während der Herstellung installiert oder vor Ort durch Updates eingeführt werden.
-
Der Alternativmodus-Multiplexer 230 wird von dem Pin-Controller 220 gesteuert, um die zentralen Anschlusspins neu zu belegen, indem die neu belegten Pins mit den Eingängen verbunden werden. Der Alternativmodus-Multiplexer 230 kann ein konventioneller Multiplexer sein, der dynamisch gesteuert wird, um Verbindungen für die Übertragung von Daten vom USB-Datencontroller 210 auf die Pins des USB-C-Anschlusses 240 neu zu konfigurieren.
-
Der USB-C-Anschluss 240 ist ein physikalischer Port mit 24 Pins, der für Datenkommunikation und Stromversorgung konfiguriert ist. In 2 ist der USB-C-Stecker 240 eine Buchse. In anderen Ausführungsbeispielen kann der USB-C-Anschluss 240 ein Stecker sein. Der USB-C-Anschluss 240 enthält vier zentrale Anschlusspins 241, 243, 245 und 247, die über den Pin-Controller 220 und den Alternativmodus-Multiplexer 230 wie hier beschrieben mit einer neuen Funktion belegt werden. Die vier Stifte 241, 243, 245 und 247 sind durch den USB-IF ursprünglich als differentielles Paar für die USB-2.0-Signalisierung vorgesehen. Der USB-C-Anschluss 240 stellt eine physikalische Verbindung zu einem korrespondierenden USB-C-Anschluss her, z.B. eines UCB-C-Verbindungssystems.
-
3 illustriert ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens 300 zur Kommunikation unter Verwendung eines USB-C-Anschlusses, das gemäß den hier offenbarten Prinzipien durchgeführt wird. Das Verfahren 300 oder Teile davon können durch Hardware, Software oder eine Kombination davon implementiert werden. Die Logik, die zur Durchführung des Verfahrens 300 oder zumindest eines Teils davon verwendet wird, kann an verschiedenen Orten implementiert sein, darunter USB-C-Anschlüsse, USB-Schnittstellen, ein USB-Host und/oder ein USB-Peripheriegerät. Zumindest ein Teil der Logik kann in einem USB-Pin-Controller wie dem Pin-Controller 220 in 2 implementiert sein. Das Verfahren 300 beginnt in Schritt 305.
-
In Schritt 310 wird ein USB-C-Anschluss an einem USB-Rechengerät angeschlossen. Der USB-C-Anschluss ist Teil eines USB-C-Anschlusssystems mit einem USB-C-Kabel und einem USB-C-Anschluss an jedem Ende des USB-C-Kabels. Das USB-C-Anschlusssystem 120 in 1 ist dafür ein Beispiel. Nach dem Anschließen des USB-C-Anschlusses wird eine Kommunikationsverbindung zwischen dem USB-Rechengerät und einem über USB-C angeschlossenen Gerät hergestellt, das bereits mit dem anderen USB-C-Anschluss des USB-C-Anschlusssystems verbunden ist. Das USB-Rechengerät kann ein USB-Host oder ein USB-Peripheriegerät sein. In einem Ausführungsbeispiel ist das USB-Rechengerät ein USB-Host, z.B. USB-Host 110, und das über USB angeschlossene Gerät ein USB-Peripheriegerät, z.B. USB-Peripheriegerät 130.
-
In Schritt 320 handeln das USB-Rechengerät und das über USB angeschlossene Gerät die Signalübertragung zwischen ihnen über den USB-C-Anschluss aus. Das Aushandeln beinhaltet ein Bestimmen, ob sowohl das USB-Rechengerät als auch das über USB angeschlossene Gerät eine Neubelegung der Pins des USB-C-Steckers für eine andere Funktion unterstützt. Durch die Neubelegung können die vier zentralen Anschlusspins, die ursprünglich für den USB-2-Datenverkehr mit geringer Bandbreite vorgesehen waren, für eine andere Funktion verwendet werden. Die andere Funktion kann für Hochgeschwindigkeits-USB-3-Datenverkehr sein. Das Aushandeln und die mögliche Neubelegung können alle vier Pins des mittleren Anschlusses betreffen.
-
Das Aushandeln in Schritt 320 kann über ein Standard-Aushandlungs-Kommunikationsprotokoll für eine USB-C-Verbindung über einen Konfigurationskanal-Pin erfolgen. Das Aushandeln kann initiiert werden, wenn der USB-C-Stecker in Schritt 310 angeschlossen wird. Das Aushandeln der Leistungsabgabe zwischen dem USB-Rechengerät und dem über USB angeschlossenen Gerät kann zuerst erfolgen, gefolgt von einem Aushandeln von Funktionen, die Alternativmodi beinhalten. Das USB-Rechengerät kann alle unterstützten Alternativmodi anbieten, und das über den USB-Anschluss angeschlossene Gerät kann die angebotenen Alternativmodi prüfen, bestimmen, welcher Modus ausgewählt werden soll, und mit einer Nachricht antworten, die bewirkt, dass ein gewünschter alternativer Modus ausgewählt und die Pins des USB-C-Anschlusses mit neuer Funktion belegt werden.
-
Zum Beispiel können nach dem Aushandeln der Stromversorgung sogenannte „Discover Modes-Befehle“ von einem nachgeschalteten Port an einen vorgeschalteten Port der USB-C-Verbindung gesendet werden. Die „Discover Modes-Befehle“ umfassen mindestens einen Alternativmodus für die Umverteilung der Pins des USB-C-Anschlusses. Der vorgeschaltete Port antwortet mit einer Liste, die einen Alternativmodus für eine Neubelegung von den Pins enthält, die er unterstützt. Der nachgeschaltete Port empfängt die Liste, wählt den Alternativmodus für die Neubelegung der Pins aus und sendet einen „Enter-Mode-Befehl“, der dazu führt, dass das USB-Rechengerät und das angeschlossene Gerät beide zur Umwidmung der Pins in den Alternativmodus eintreten.
-
Die „Discover Modes-Befehle“ enthalten eine eindeutige ID, die dem Alternativmodus für die Neubelegung der Pins kennzeichnet, wie z.B. der zentralen Pins des Anschlusses. Mehrere Alternativmodi, von denen jeder eine eindeutige ID hat, können für die neue Zuordnung der Funktionen der Pins eingerichtet werden. Ein Alternativmodus ändert beispielsweise die zentralen Anschlusspins auf USB-3-Signalübertragung (engl. signaling) und ein anderer Alternativmodus kann die zentralen Anschlusspins auf eine andere Funktion umstellen, wie z.B. für eine Universal Asynchronous Receiver-Transmitter (UART)-Signalisierung. Es können auch verschiedene Alternativmodi verwendet werden, bei denen die zentralen Anschlusspins auf die gleichen Funktionen umgestellt werden, aber mit unterschiedlichen Neuzuordnungen anderer Pins des USB-C-Anschlusses kombiniert werden. In einigen Beispielen wird jeder dieser anderen Pins, im Gegensatz zu den zentralen Anschlusspins, ursprünglich als ein Pin erkannt, der auf alternative Datenprotokolle durch den USB-IF umgestellt werden kann. Beispiele für andere Pins, die für eine Neuzuordnung erkannt werden, sind die Pins der vier äußeren Hochgeschwindigkeits-Leitungen und der beiden Seitenbänder. In Fortführung des obigen Beispiels können also die vier zentralen Anschlusspins auf UART und die äußeren Pins des USB-C-Anschlusses auf USB-Signalisierung zugeordnet werden, um einen Flatform-Debug-Kanal und USB-Funktionalität auf demselben USB-C-Anschluss bereitzustellen. Die Neuzuordnung der zentralen Anschlusspins kann mit verschiedenen Kombinationen von Neuzuordnungen der anderen Pins gemischt und angepasst werden, wobei jede der verschiedenen Kombinationen eine eindeutige ID hat.
-
In Schritt 330 werden die neubelegten Pins basierend auf dem Aushandeln dynamisch mit einer neuen Funktion zwischen dem USB-Rechengerät und dem über USB angeschlossenen Gerät eingesetzt. Zum Beispiel kann das Aushandeln zeigen, dass sowohl das USB-Rechengerät als auch das über USB angeschlossene Gerät einen Alternativmodus unterstützen, der mehr Pins der USB-C-Stecker für eine USB-3-Signalübertragung verwendet. In einigen Ausführungsbeispielen werden alle vier Pins der zentralen Anschlusspins für die USB-3-Signalübertragung umgewidmet. In einem Ausführungsbeispiel, z.B. mit einem VR-Headset als dem Gerät, kann die DisplayPort-Bandbreite verdoppelt werden, wenn die vier mittleren Anschlusspins dynamisch für die USB-3-Signalübertragung umfunktioniert werden.
-
Das Verfahren 300 endet in Schritt 340. Die Funktion oder Signalübertragung, die durch das Verfahren 300 an den Pins geändert wird, ist für das USB-Rechengerät und das angeschlossene Gerät transparent. Die geänderten Funktionen, wie z.B. die Hochgeschwindigkeits-USB-3-Signalübertragung, laufen weiterhin wie vorgesehen ab, jedoch auf anderen Pins des USB-C-Anschlusses.
-
Das oben beschriebene System, Gerät und Verfahren oder zumindest ein Teil davon kann in verschiedenen Prozessoren, wie z.B. digitalen Datenprozessoren oder Computern, ausgebildet sein oder von diesen ausgeführt werden, wobei die Computer programmiert sind oder ausführbare Programme von Sequenzen von Software-Anweisungen speichern, um einen oder mehrere der Schritte der Verfahren auszuführen. Die Software-Anweisungen solcher Programme können Algorithmen darstellen und in maschinenausführbarer Form auf nichtflüchtigen digitalen Datenspeichermedien, z.B. magnetischen oder optischen Platten, Random Access Memory (RAM), magnetischen Festplatten, Flash-Speichern und/oder Read-Only Memory (ROM), kodiert sein, um es verschiedenen Typen von digitalen Datenprozessoren oder Computern zu ermöglichen, einen, mehrere oder alle Schritte einer oder mehrerer der oben beschriebenen Verfahren oder Funktionen des hierin beschriebenen Systems oder Geräts auszuführen.
-
Bestimmte Ausführungsbeispiele, die hier offenbart sind, können sich weiter auf Computerspeicherprodukte mit einem nichtflüchtigen computerlesbaren Medium beziehen, auf dem sich Programmcode zur Durchführung verschiedener computerimplementierter Operationen befindet, die die Vorrichtungen und Systeme darstellen oder die Schritte der hier dargelegten Verfahren ausführen. Das hier verwendete nichtflüchtige Medium bezieht sich auf alle computerlesbaren Medien mit Ausnahme von vorübergehenden, sich ausbreitenden Signalen. Beispiele für nichtflüchtige computerlesbare Medien sind unter anderem: magnetische Medien wie Festplatten, Disketten und Magnetbänder; optische Medien wie CD-ROM-Platten; magneto-optische Medien wie floptische Platten; und Hardware-Geräte, die speziell zur Speicherung und Ausführung von Programmcode konfiguriert sind, wie ROM- und RAM-Geräte. Beispiele für Programmcode sind sowohl Maschinencode, wie er z.B. von einem Compiler erzeugt wird, als auch Dateien mit höherwertigem Code, der vom Computer mit Hilfe eines Interpreters ausgeführt werden kann.
-
Fachleute, an die sich diese Anmeldung richtet, werden verstehen, dass andere und weitere Ergänzungen, Streichungen, Ersetzungen und Änderungen an den beschriebenen Ausführungsbeispielen vorgenommen werden können.