DE102020110848B4 - Virtueller Kanal zum Verbinden von Vorrichtungen - Google Patents

Virtueller Kanal zum Verbinden von Vorrichtungen Download PDF

Info

Publication number
DE102020110848B4
DE102020110848B4 DE102020110848.6A DE102020110848A DE102020110848B4 DE 102020110848 B4 DE102020110848 B4 DE 102020110848B4 DE 102020110848 A DE102020110848 A DE 102020110848A DE 102020110848 B4 DE102020110848 B4 DE 102020110848B4
Authority
DE
Germany
Prior art keywords
communication
communication ports
data
circuit
ports
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102020110848.6A
Other languages
English (en)
Other versions
DE102020110848A1 (de
Inventor
Roger Dwain Isaac
Alan T. Ruberg
Jeff Cuppett
Edward Pak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Molex LLC
Original Assignee
Molex LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Molex LLC filed Critical Molex LLC
Publication of DE102020110848A1 publication Critical patent/DE102020110848A1/de
Application granted granted Critical
Publication of DE102020110848B4 publication Critical patent/DE102020110848B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters
    • H04B1/04Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/16Circuits

Abstract

Elektronische Vorrichtung, die umfasst:eine Universalprotokollmaschinenschaltung (400), die enthält:einen Speicher (408), der konfiguriert ist, eine Sendeplatz-Tabelle (410) zu speichern, die eine Folge von Kommunikations-Ports definiert, in der die Daten von einem oder mehreren der Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikations-Protokoll zugeordnet ist;eine Aggregatorschaltung (404), die mit dem Speicher (408) gekoppelt ist, wobei die Aggregatorschaltung (404) konfiguriert ist:die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll zu empfangen; unddie Ausgangsdaten (424, 426) durch Auswählen der Eingangsdaten (422) von dem einem oder den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports zu erzeugen; undeinen Sender (428), der konfiguriert ist, aus den Ausgangsdaten (424, 426) einen Ausgangsstrom (448) zu erzeugen und diesen Ausgangsstrom (448) einem verdrahteten oder drahtlosen Koppler (110) zur Sendung an eine weitere elektronische Vorrichtung bereitzustellen, wobei die elektronische Vorrichtung ferner umfasst:- eine Leiterplatte, die enthält: einen Prozessor, der konfiguriert ist, die Eingangsdaten (422) zu erzeugen und die Eingangsdaten (422) über den einen oder die mehreren Kommunikations-Ports der Universalprotokollmaschinenschaltung (400) bereitzustellen; und die Universalprotokollmaschinenschaltung (400), wobei die Universalprotokollmaschinenschaltung (400) ferner virtuelle kontaktlose physikalische Schichten (VcPHYs) enthält, die konfiguriert sind, die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports zu empfangen;oder- eine erste Leiterplatte, die einen Prozessor enthält, der konfiguriert ist, die Eingangsdaten (422) zu erzeugen und die Eingangsdaten (422) über den einen oder die mehreren Kommunikations-Ports der Universalprotolcollmaschinenschaltung (400) bereitzustellen; und eine zweite Leiterplatte, die die Universalprotokollmaschinenschaltung (400) enthält, wobei die Universalprotokollmaschinenschaltung (400) ferner physikalische Schichten (PHYs) enthält, die konfiguriert sind, die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports zu empfangen.

Description

  • HINTERGRUND
  • Elektronische Vorrichtungen kommunizieren unter Verwendung von Ports mit verschiedenen Protokollverbindungen miteinander. Zu viele verschiedene Protokollverbindungen begrenzen jedoch die Skalierbarkeit des Systems und erhöhen die Kosten. Eine große Anzahl von Protokollverbindungen kann zu zu vielen Drähten, Protokollen, mechanischen Verbindern, Signalintegritätsproblemen (z. B. elektrostatische Entladung, elektromagnetische Störung, Hochfrequenzinterferenz usw.), physikalischen Verbindungen (PHYs) und/oder zu viel Leistungsverbrauch führen. Die Verwendung mechanischer Verbinder erhöht z.B. die Kosten und kann zu einer großen Anzahl von PHYs, Anschlussstiften oder Kontaktflächen führen, wenn mehrere Protokolle verwendet werden, was zu einem ineffizienten Datenflussmanagement führt. Weiterhin ziehen sich Systeme mit einer großen Anzahl von Protokollverbindungen Verpflichtungen hinsichtlich der Größe, der Leistung, der Kosten und des Herstellungsprozesses zu.
    US 2010 / 0 293 315 A1 beschreibt ein CAN Bus basiertes Kommunikationssystem.
    US 2015 / 0 032 917 A1 beschreibt einen Multiplexer bei dem Signale basierend auf verschiedenen Protokollen verarbeitet werden.
    US 2019 / 0 007 310 A1 beschreibt die Verwendung von verschiedenen Protokollen bei Verbindungen zwischen Computern.
    US 2010 / 0 260 102 A1 beschreibt ein Kommunikationsprotokoll für drahtlose Verbindungen.
  • ZUSAMMENFASSUNG
  • Die Aufgabe der Erfindung ist es daher, ein effizientes Datenflussmanagement bereitzustellen. Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
  • Eine Universalprotokollmaschinenschaltung schafft eine Kommunikationsverbindung, die mehrere Kommunikations-Ports zwischen zwei Vorrichtungen gemäß einer in einer Sendeplatz-Tabelle (engl. slot table) definierten Folge von Ports aggregiert. Die Folge von Ports kann ein konfigurierbares Kommunikationsprotokoll zum Aggregieren von Ports definieren, die verschiedene Kommunikationsprotokolle verwenden. In einigen Ausführungsformen enthält eine elektronische Vorrichtung eine Universalprotokollmaschinenschaltung, die einen Speicher, eine Aggregatorschaltung und einen Sender enthält. Der Speicher speichert eine Sendeplatz-Tabelle, die eine Folge von Ports definiert, in der die Daten von einem oder mehreren Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikationsprotokoll zugeordnet ist. Die Aggregatorschaltung ist an den Speicher gekoppelt und empfängt die Eingangsdaten von dem einen oder den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll. Die Aggregatorschaltung erzeugt die Ausgangsdaten durch das Auswählen der Eingangsdaten von dem einen oder den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle definierten Folge der Ports. Der Sender erzeugt einen Ausgangsstrom aus den Ausgangsdaten und stellt den Ausgangsstrom einem verdrahteten oder drahtlosen Koppler zur Sendung an eine andere elektronische Vorrichtung bereit.
  • In einigen Ausführungsformen gibt die Folge von Ports in der Sendeplatz-Tabelle eine oder mehrere Auswahlen eines ersten Ports gemischt mit einer oder mehreren Auswahlen eines zweiten Ports an. Die Aggregatorschaltung wählt erste Daten von dem ersten Port aus, wenn die Sendeplatz-Tabelle die Auswahl des ersten Ports angibt, und wählt zweite Daten von dem zweiten Port aus, wenn die Sendeplatz-Tabelle die Auswahl des zweiten Ports angibt, um die Ausgangsdaten gemäß der Folge von Ports zu erzeugen.
  • In einigen Ausführungsformen ist ein erstes Kommunikationsprotokoll, das einem ersten Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, für die Datenkommunikation mit einer höheren Geschwindigkeit als ein zweites Kommunikationsprotokoll, das einem zweiten Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, konfiguriert. Die Ausgangsdaten enthalten erste Eingangsdaten des ersten Ports gemischt mit zweiten Eingangsdaten des zweiten Ports gemäß der Folge von Ports.
  • In einigen Ausführungsformen ist ein erstes Kommunikationsprotokoll, das einem ersten Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, für die Datenkommunikation mit einer höheren Geschwindigkeit als ein zweites Kommunikationsprotokoll, das einem zweiten Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, konfiguriert, und weist der erste Port eine höhere Auswahlhäufigkeit in der Folge von Ports als der zweite Port auf.
  • In einigen Ausführungsformen enthält die Universalprotokollmaschinenschaltung ferner einen Empfänger und eine Parser-Schaltung. Der Empfänger empfängt einen Eingangsstrom von dem verdrahteten oder drahtlosen Koppler und erzeugt aus dem Eingangsstrom andere Eingangsdaten. Die Parser-Schaltung ist an den Speicher und den Empfänger gekoppelt. Die Parser-Schaltung empfängt die anderen Eingangsdaten vom Empfänger und erzeugt aus den anderen Eingangsdaten gemäß der in der Sendeplatz-Tabelle definierten Folge der Ports andere Ausgangsdaten für jeden des einen oder der mehreren Kommunikations-Ports.
  • In einigen Ausführungsformen gibt die Folge von Ports in der Sendeplatz-Tabelle eine oder mehrere Auswahlen eines ersten Ports gemischt mit einer oder mehreren Auswahlen eines zweiten Ports an. Die Parser-Schaltung weist dem ersten Port erste Daten zu, wenn die Sendeplatz-Tabelle die Auswahl des ersten Ports angibt, und weist dem zweiten Port zweite Daten zu, wenn die Sendeplatz-Tabelle die Auswahl des zweiten Ports angibt, um die anderen Ausgangsdaten gemäß der Folge von Ports zu erzeugen.
  • In einigen Ausführungsformen enthält die elektronische Vorrichtung eine weitere Universalprotokollmaschinenschaltung, die die Daten gemäß einer in einer weiteren Sendeplatz-Tabelle gespeicherten weiteren Folge von Ports durch einen weiteren verdrahteten oder drahtlosen Koppler überträgt. Die elektronische Vorrichtung enthält ferner eine konfigurierbare Kreuzschiene, die an den einen oder die mehreren Kommunikations-Ports, die Universalprotokollmaschinenschaltung und die weitere Universalprotokollmaschinenschaltung gekoppelt ist. Die konfigurierbare Kreuzschiene verbindet wenigstens einen des einen oder der mehreren Kommunikations-Ports gemäß der Sendeplatz-Tabelle mit der Universalprotokollmaschinenschaltung und verbindet wenigstens einen des einen oder der mehreren Kommunikations-Ports gemäß der weiteren Sendeplatz-Tabelle mit der weiteren Universalprotokollmaschinenschaltung.
  • In einigen Ausführungsfonnen arbeitet die Universalprotokollmaschinenschaltung in einer Senderbetriebsart parallel zu der anderen Universalprotokollmaschinenschaltung, die in einer Empfängerbetriebsart arbeitet.
  • Einige Ausführungsformen enthalten ein Verfahren zur Datenübertragung gemäß einem konfigurierbaren Kommunikationsprotokoll. Das Verfahren enthält: Speichern einer Sendeplatz-Tabelle, die eine Folge von Kommunikations-Ports definiert, in der Daten von einem oder mehreren der Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikationsprotokoll zugeordnet ist; Empfangen von Eingangsdaten von dem einen oder den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll; Erzeugen von Ausgangsdaten durch Auswählen der Eingangsdaten von dem einen oder den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle definierten Folge der Ports; Erzeugen eines Ausgangsstroms aus den Ausgangsdaten; und Bereitstellen des Ausgangsstroms einem verdrahteten oder drahtlosen Koppler zur Sendung an eine elektronische Vorrichtung.
  • Figurenliste
    • 1 zeigt die Kommunikation zwischen elektronischen Vorrichtungen gemäß einigen Ausführungsformen.
    • 2 zeigt die Kommunikation zwischen elektronischen Vorrichtungen gemäß einigen Ausführungsformen.
    • 3 zeigt die Kommunikation zwischen elektronischen Vorrichtungen gemäß einigen Ausführungsformen.
    • 4 zeigt eine Universalprotokollmaschine (engl. universal protocol engine, UPE) eines Eingangs/Ausgangs eines virtuellen Kanals (engl. virtual pipe input/output, VPIO) gemäß einigen Ausführungsformen.
    • 5 zeigt eine Sendeplatz-Tabelle eines VPIO gemäß einigen Ausführungsformen.
    • 6, 7 und 8 zeigen einen modularen VPIO gemäß einigen Ausführungsformen.
    • 9 zeigt einen Ablaufplan eines Prozesses zum Senden von Daten gemäß einer Sendeplatz-Tabelle des VPIO gemäß einigen Ausführungsformen.
    • 10 zeigt einen Ablaufplan eines Prozesses zum Empfangen von Daten gemäß einer Sendeplatz-Tabelle des VPIO gemäß einigen Ausführungsformen.
    • 11A zeigt einen programmierbaren Codierer gemäß einigen Ausführungsformen.
    • 11B zeigt einen programmierbaren Decodierer gemäß einigen Ausführungsformen.
    • 12 zeigt ein Steuersystem einer Universalprotokollmaschine gemäß einigen Ausführungsformen.
  • Die Figuren stellen die Ausführungsformen der vorliegenden Offenbarung lediglich für Veranschaulichungszwecke dar. Ein Fachmann auf dem Gebiet erkennt aus der folgenden Beschreibung leicht, dass alternative Ausführungsformen der hier veranschaulichten Strukturen und Verfahren verwendet werden können, ohne von den Prinzipien oder den angekündigten Vorteilen der hier beschriebenen Offenbarung abzuweichen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Konfigurationsüberblick
  • Ein Eingang/Ausgang eines virtuellen Kanals (engl. virtual pipe input/output, VPIO oder E/A eines virtuellen Kanals, (engl. virtual pipe)) enthält eine oder mehrere Schaltungen einer Universalprotokollmaschine (engl. universal protocol engine, UPE), die die Datenübertragung für mehrere Kommunikations-Ports (die außerdem als „Ports“ bezeichnet werden) zwischen zwei oder mehr Vorrichtungen fördern. Jede Vorrichtung kann einen E/A eines virtuellen Kanals enthalten, wobei die E/As eines virtuellen Kanals eine Schnittstelle zwischen mehreren Ports gekoppelter Vorrichtungen bereitstellen. Jede UPE aggregiert die Daten von mehreren Ports, die ein oder mehrere verschiedene Kommunikationsprotokolle verwenden können, gemäß einem konfigurierbaren oder „universellen“ Kommunikationsprotokoll und überträgt die aggregierten Daten über eine verdrahtete oder drahtlose Kommunikationsverbindung (oder ein „virtueller Kanal‟). Der VPIO ermöglicht es einem System, sowohl langsame als auch Hochgeschwindigkeits-Industriestandard- und proprietäre Protokolle für die gleichzeitige Sendung unter Verwendung des konfigurierbaren oder universellen Kommunikationsprotokolls über eine oder mehrere Verbindungen zu aggregieren. Das konfigurierbare oder universelle Kommunikationsprotokoll kann durch eine in einem Speicher gespeicherte Sendeplatz-Tabelle definiert sein, die eine Folge von Ports definiert, von denen die zu sendenden Daten eingegeben werden sollten und an die die empfangenen Daten ausgegeben werden sollten.
  • In einer Senderbetriebsart bezieht sich die UPE-Schaltung auf die Folge der Ports in der Sendeplatz-Tabelle, um durch das Auswählen der Eingangsdaten von den Ports gemäß der Folge der Ports die Ausgangsdaten gemäß dem Kommunikationsprotokoll zu erzeugen. In einer Empfängerbetriebsart bezieht sich die UPE-Schaltung auf die Folge von Ports in der Sendeplatz-Tabelle, um die Eingangsdaten von der Kommunikationsverbindung in die Ausgangsdaten für jeden der Ports zu parsen. Die Ports können verschiedene Kommunikationsprotokolle verwenden. Die Folge von Ports des universellen Kommunikationsprotokolls kann gemäß der Geschwindigkeit oder den anderen Eigenschaften der Ports konfigurierbar sein. Unter anderem werden die Einschränkungen, die unter Verwendung mehrerer (z. B. Alt- oder Standard-) Protokolle, physikalischer Schichten oder mechanischer Verbinder verursacht werden, verringert. Die UPE-Schaltung ermöglicht es dem System, die Kompatibilität auf OS-Ebene mit vorhandenen Protokollen auf der Vorrichtungsebene ohne einen Bedarf an neuen Vorrichtungstreibern aufrechtzuerhalten. Die Sendeplatz-Tabelle kann vor der Datenübertragung programmiert werden oder kann dynamisch während der Datenübertragung neu programmiert werden. Die UPE-Schaltung kann bezüglich Änderungen in den Anforderungen der Anwendung oder der übertragenen Daten überwachen und die Sendeplatz-Tabelle entsprechend aktualisieren. Es können z. B. zusätzliche Sendeplätze einer Sendeplatz-Tabelle einem Port zugewiesen werden, der für die Videoübertragung verwendet wird, falls ein Video mit höherer Auflösung durch den Port übertragen wird. In einem weiteren Beispiel können die einem Port zugewiesenen Sendeplätze einer Sendeplatz-Tabelle abnehmen, falls der Bandbreitenbedarf verringert wird.
  • Weiterhin kann ein E/A eines virtuellen Kanals mehrere UPE-Schaltungen für mehrere Kommunikationsverbindungen zwischen Vorrichtungen enthalten. Jede UPE-Schaltung kann durch eine konfigurierbare Kreuzschiene gemäß der Sendeplatz-Tabelle mit den Ports verbunden sein. Jede UPE-Schaltung kann eine andere Sendeplatz-Tabelle verwenden, um die Datenübertragungen gemäß einem Kommunikationsprotokoll zu fördern. Verschiedene UPE-Schaltungen können in verschiedenen Betriebsarten, wie z. B. der Sender- oder der Empfängerbetriebsart, parallel arbeiten, um die Daten zwischen den Vorrichtungen zu übertragen. Gemäß den Sendeplatz-Tabellen können außerdem verschiedene UPE-Schaltungen verschiedenen Ports zugewiesen sein. Es können mehrere UPE-Schaltungen verwendet werden, um die Bandbreite der Datenübertragung zwischen den Vorrichtungen zu erhöhen.
  • 1 zeigt ein System 100, das die elektronischen Vorrichtungen 102 und 104 enthält, die gemäß einigen Ausführungsformen miteinander kommunizieren. Die Vorrichtung 102 enthält ein Host-System 106, einen E/A 108 eines virtuellen Kanals und einen Koppler 110 für extrem hohe Frequenzen (engl. extremely high frequency-, EHF-Koppler). Die Vorrichtung 104 enthält ein Host-System 112, einen E/A 114 eines virtuellen Kanals und einen EHF-Koppler 116.
  • Das Host-System 106 ist mit dem E/A 108 eines virtuellen Kanals gekoppelt, wobei der E/A 108 eines virtuellen Kanals an den EHF-Koppler 110 gekoppelt ist. Der E/A eines virtuellen Kanals ist eine integrierte Schaltung, die von dem Host-System 106 und dem EHF-Koppler 100 getrennt ist. Das Host-System 106 enthält einen Prozessor 118 und mehrere Datenverbindungsschichten (LINKs) 120 (einschließlich der LINK 120a und 120b). In einigen Ausführungsformen sind der Prozessor 118 und die LINKs 120 über eine Leiterplatte verbunden, die die Kommunikation zwischen diesen Komponenten bereitstellt, wobei sich der E/A 108 eines virtuellen Kanals auf einer weiteren Leiterplatte befindet. In dieser selbstständigen Konfiguration kann der E/A 108 eines virtuellen Kanals mit verschiedenen Typen von Host-Systemen 106 integriert sein, ohne Änderungen im Host-System 106 zu erfordern. Jede LINK 120 ist eine Schaltung, die die Bits vor der Sendung in Pakete codiert und die empfangenen Pakete zurück in Bits decodiert; sie kann durch das Senden der Pakete mit der erforderlichen Synchronisation, Fehlersteuerung und Ablaufsteuerung eine zuverlässige Datenübertragung bereitstellen; und sie kann die Steuerung der logischen Verbindung, die Medienzugriffssteuerung, die Hardware-Adressierung, die Fehlerdetektion und das Bilden einer Schnittstelle mit der PHY bereitstellen. Jede LINK 120 kann in Teilschichten unterteilt sein, einschließlich der, aber nicht eingeschränkt auf die Medienzugriffssteuerungs-Teilschicht (engl. media access control-, MAC-Teilschicht) und die logische Verbindungssteuerschicht (engl. logical link control, LLC-Teilschicht). Jede LINK 120 kann eine Protokollschicht (z. B. die Schicht 2) des Zusammenschaltungsmodells offener Systeme (engl. open system interconnection-, OSI-Modells) sein.
  • Jede LINK 120 implementiert einen Port des Host-Systems 106 für die externe Kommunikation. Die LINK 120a stellt z. B. einen Port 162 bereit, wobei die LINK 120b einen weiteren Port 164 bereitstellt. Obwohl für die Einfachheit zwei Ports 162 und 164 gezeigt sind, kann das Host-System 106 verschiedene Anzahlen von Ports enthalten. Die Ports können Ports für die externe Kommunikation, wenn sich das Host-System 106 nicht in derselben Baugruppe wie der E/A 108 eines virtuellen Kanals befindet, oder für die interne Kommunikation, wenn das Host-System 106 und der E/A 108 eines virtuellen Kanals dieselbe Baugruppe gemeinsam benutzen, enthalten. Der Prozessor 118 kann an jede der LINKs 120 gekoppelt sein, um über die Ports zu kommunizieren. Verschiedene Ports können verschiedene Protokolle verwenden, einschließlich Hochgeschwindigkeitsprotokolle und Protokolle mit geringer Geschwindigkeit. In einigen Ausführungsformen können eine oder mehrere LINKs 120 mit dem Prozessor 118 (z. B. als ein Treiber) integriert sein.
  • Der E/A 108 eines virtuellen Kanals ist eine Schaltung, die die Datenübertragung zwischen dem Host-System 106 und dem E/A 114 eines virtuellen Kanals der Vorrichtung 104 bereitstellt. Der E/A 108 eines virtuellen Kanals kann in einer Senderbetriebsart, einer Empfängerbetriebsart oder einer Sender/Empfänger-Betriebsart arbeiten. In der Senderbetriebsart stellt der E/A 108 eines virtuellen Kanals die Aggregation der Daten von den Ports 162, 164 des Host-Systems 106 für die Sendung über den EHF-Koppler 110 oder eine verdrahtete Verbindung bereit. In der Empfängerbetriebsart parst der E/A 108 eines virtuellen Kanals die Daten vom EHF-Koppler 110 zur Sendung über die Ports 162, 164 an das Host-System 106. In der Sender/Empfänger-Betriebsart arbeitet der E/A 108 eines virtuellen Kanals gleichzeitig als ein Sender und ein Empfänger. Es können z. B. ein oder mehrere Ports für das Senden dediziert sein, während ein oder mehrere andere Ports für das Empfangen dediziert sein können.
  • Der E/A 108 eines virtuellen Kanals enthält die Verbindungsabstraktionsschichten 124 (einschließlich der Verbindungsabstraktionsschichten 124a und 124b), eine Universalprotolcollmaschine (UPE) 126 und einen Sender/Empfänger (Tx/Rx) 128. Der E/A 108 eines virtuellen Kanals ist über die Verbindungsabstraktionsschichten 124 des E/A 108 eines virtuellen Kanals an die Verbindungen 120 des Host-Systems 106 gekoppelt. Jede LINK 120 des Host-Systems 106 ist an eine entsprechende Verbindungsabstraktionsschicht 124 des E/A 108 eines virtuellen Kanals gekoppelt, um einen Port mit der UPE 126 zu verbinden. Jede Verbindungsabstraktionsschicht 124 kann dafür ausgelegt sein, über ein für das Protokoll des Ports 162, 164 geeignetes Übertragungsmedium, z. B. ein Kabel, mit dem Host-System 106 zu kommunizieren.
  • In einigen Ausführungsformen enthält jede Verbindungsabstraktionsschicht 124 eine physikalische Schicht (oder PHY), die eine elektrische Schnittstelle für die Verbindung über ein Übertragungsmedium (z. B. ein Kabel) mit einer LINK 120 bereitstellt; wobei sie die physikalischen Eigenschaften, wie z. B. die Verbindungen, die Spannungspegel und die Zeitsteuerung, definiert; und die Mittel zum Senden von Rohbits anstelle von logischen Datenpaketen über eine physikalische Verbindung definiert. Der Bitstrom kann in Codewörter oder Symbole gruppiert und in ein physikalisches Signal umgesetzt werden, das über das Übertragungsmedium gesendet wird. Jede Verbindungsabstraktionsschicht 124 kann eine standardbasierte PHY enthalten, die die PHY-Spezifikationen eines oder mehrerer Standardprotokolle enthält. Die Beispiele der Standardprotokolle können den universellen seriellen Bus (USB), DisplayPort, die I2C, die GPIO, PCIe 3, PCIe Seitenband, MIPI oder das Kameraprotokoll der nächsten Generation enthalten. Jede PHY kann eine physikalische Schicht (z. B. Schicht 1) des Zusammenschaltungsmodells offener Systeme (OSI-Modells) sein.
  • Die UPE 126 ist eine Schaltung, die den Betrieb des E/A 108 eines virtuellen Kanals steuert. Die UPE 126 ist über die Verbindungsabstraktionsschichten 124 mit mehreren Ports 162, 164 des Host-Systems 106 verbunden. In der Senderbetriebsart empfängt die UPE 126 die Eingangsdaten von jedem der Ports 162, 164, wobei sie die Eingangsdaten aggregiert, um die Ausgangsdaten 166 zu erzeugen. Insbesondere erzeugt die UPE 126 die Ausgangsdaten 166 basierend auf dem Auswählen der Eingangsdaten von den Ports 162, 164 gemäß einer Folge der Ports, wie sie in einer (in 5 gezeigten) Sendeplatz-Tabelle definiert ist, wie im Folgenden und außerdem bezüglich 5 ausführlicher erklärt wird. Die aggregierten Ausgangsdaten 166 werden dem Sender/Empfänger 128 bereitgestellt zur Sendung durch den EHF-Koppler 110 über eine Kommunikationsverbindung 150. In der Empfängerbetriebsart empfängt die UPE 126 die Eingangsdaten 168 vom Sender/Empfänger 128, wobei sie die Eingangsdaten 168 gemäß der in der (in 5 gezeigten) Sendeplatz-Tabelle definierten Folge der Ports parst, um die Ausgangsdaten für jeden der Ports 162, 164 zu erzeugen, wie im Folgenden und außerdem bezüglich 5 ausführlicher erklärt wird. Die Eingangsdaten 168 werden über die Verbindungsabstraktionsschichten 124 über die jeweiligen Ports und die LINKs 120 an das Host-System 106 gesendet. In 1 ist gezeigt, dass die Eingangsdaten 166 und die Ausgangsdaten 168 über getrennte Verbindungen gesendet werden, um eine bidirektionale Datenübertragung zu veranschaulichen, wobei aber in einigen Ausführungsformen die Eingangsdaten 166 und die Ausgangsdaten 168 über dieselbe Verbindung gesendet werden können.
  • Die Folge von Ports in der Sendeplatz-Tabelle definiert ein universelles Kommunikationsprotokoll, das durch die Vorrichtungen 102 und 104 gemeinsam benutzt wird, um die Daten, die durch die E/As 108 und 114 eines virtuellen Kanals gesendet werden, zu aggregieren und zu parsen. Das universelle Kommunikationsprotokoll integriert die Daten von mehreren Ports, die verschiedene (z. B. Standard-) Kommunikationsprotokolle verwenden können. In einigen Ausführungsformen führt die UPE 126 eine zusätzliche Verarbeitung der Daten aus, die das universelle Kommunikationsprotokoll verwendet, wie z. B. das Anwenden einer Verschlüsselung, einer Entschlüsselung, einer Authentifizierung und/oder einer Fehlerkorrektur. Die UPE 126 kann die Folge von Ports in der Sendeplatz-Tabelle basierend auf dem Bandbreitenbedarf der Anwendungen oder der übertragenen Daten definieren und kann die Folge von Ports in der Sendeplatz-Tabelle in Reaktion auf die Änderungen des Bandbreitenbedarfs dynamisch (z. B. während der Datenübertragung) einstellen. Die Verarbeitung für das universelle Kommunikationsprotokoll ist nicht auf vorgegebene Operationen eingeschränkt, die den Standardkommunikationsprotokollen der Ports zugeordnet sind. Weitere Einzelheiten hinsichtlich des Betriebs der UPE 126 werden im Zusammenhang mit den 4 bis 12 erörtert.
  • Der Sender/Empfänger 128 überträgt die Daten zwischen dem EHF-Koppler 110 und der UPE 126. Der Sender/Empfänger 128 kann einen Sender mit einem Serialisierer und einen Empfänger mit einem Deserialisierer enthalten. Wenn der Serialisierer als ein Sender arbeitet, setzt er parallele Ströme von Ausgangsdaten 166 von der UPE 126 in einen seriellen Strom von Ausgangsdaten um, der an den EHF-Koppler 110 zur drahtlosen Sendung durch die Kommunikationsverbindung 150 (z. B. einschließlich der Luft als ein Übertragungsmedium) gesendet wird. Wenn der Deserialisierer als ein Empfänger arbeitet, setzt er einen seriellen Eingangsstrom vom EHF-Koppler 110 in parallele Ströme der Eingangsdaten 168 um, die an die UPE 126 gesendet werden. In einigen Ausführungsformen kann der E/A 108 eines virtuellen Kanals einen separaten Sender und einen separaten Empfänger enthalten.
  • Der EHF-Koppler 110 (im Zusammenhang mit dem EHF-Koppler 116) stellt eine drahtlose Kommunikationsverbindung zwischen dem E/A 108 eines virtuellen Kanals der Vorrichtung 102 und dem E/A 114 eines virtuellen Kanals der Vorrichtung 104 bereit. Der EHF-Koppler 110 ist eine EHF-Kommunikationsvorrichtung, die eine Antenne für drahtlose Sendungen enthält. Die Antenne kann konfiguriert sein, in einem EHF-Spektrum (30 GHz bis 300 GHz) zu arbeiten, und kann konfiguriert sein, elektromagnetische Signale durch die Kommunikationsverbindung 150 zu senden und/oder zu empfangen. In einigen Ausführungsformen führt der EHF-Koppler 110 eine Modulation der gesendeten Daten mit einem Trägersignal und eine Demodulation eines empfangenen Signals, um die empfangenen Daten zu erzeugen, aus. In einigen Ausführungsformen ist die Vorrichtung 102 über eine verdrahtete Kommunikationsverbindung mit der Vorrichtung 104 gekoppelt, wobei die EHF-Koppler 110 und 116 durch verdrahtete Verbinder ersetzt sein können.
  • Die Erörterung hinsichtlich der Vorrichtung 102 kann auf die Vorrichtung 104 anwendbar sein. Der E/A 114 eines virtuellen Kanals kann z. B. wie der E/A 108 eines virtuellen Kanals in der Senderbetriebsart, Empfängerbetriebsart oder Sender/Empfänger-Betriebsart arbeiten. Wenn der E/A 108 eines virtuellen Kanals in der Senderbetriebsart arbeitet, arbeitet der E/A 114 eines virtuellen Kanals in der Empfängerbetriebsart. Ähnlich arbeitet der E/A 108 eines virtuellen Kanals in der Empfängerbetriebsart, wenn der E/A 114 eines virtuellen Kanals in der Senderbetriebsart arbeitet. Der E/A 114 eines virtuellen Kanals enthält als solcher einen Sender/Empfänger 130, der an den EHF-Koppler 116 gekoppelt ist, und eine UPE 132, die an mehrere Verbindungsabstraktionsschichten 134 (einschließlich der Verbindungsabstralctionsschicht 134a und der Verbindungsabstraktionsschicht 134b) gekoppelt ist. Jede Verbindungsabstraktionsschicht 134 ist an eine LINK 138 des Host-Systems 112 gekoppelt. Das Host-System 112 enthält die LINKs 138 (wie z. B. die LINKS 138a und 138b), um einen Port 162, 164 bereitzustellen, und einen Prozessor 140. Die E/As 108 und 114 eines virtuellen Kanals stellen eine Kommunikationsverbindung zwischen den Host-Systemen 106 und 112 bereit, die mehrere Ports in ein universelles Kommunikationsprotokoll aggregiert.
  • 2 zeigt ein System 200, das die elektronischen Vorrichtungen 202 und 204 enthält, die miteinander kommunizieren, gemäß einigen Ausführungsformen. Ungleich der in 1 gezeigten Vorrichtungen 102 und 104 enthalten die Vorrichtungen 202 und 204 jede einen E/A eines virtuellen Kanals, der mit dem Host-System 206 oder irgendeinem anderen integrierten System der Vorrichtung integriert ist. Hier kann der E/A eines virtuellen Kanals eine integrierte logische Komponente des Host-Systems, z. B. ein Teilsystem des Host-Systems, sein.
  • Die Vorrichtung 202 umfasst ein Host-System 206, das einen Prozessor 218, die LINKs 220 (einschließlich der LINK 220a und der LINK 220b), einen E/A 208 eines virtuellen Kanals und einen EHF-Koppler 210 enthält. Die Vorrichtungen 202 und 204 sind von den in 1 gezeigten Vorrichtungen 102 und 104 insofern verschieden, als die E/As 208 und 214 eines virtuellen Kanals in die Host-Systeme 206 bzw. 212 integriert sind. Der E/A 208 eines virtuellen Kanals kann z. B. auf derselben Leiterplatte wie der Prozessor 218, die LINKs 220 und andere Komponenten des Host-Systems 206 integriert sein.
  • Für jeden Port und jede LINK 220 enthält der E/A 208 eines virtuellen Kanals eine virtuelle kontaktlose PHY (engl. virtual contactless PHY, VcPHY) 224. Jede VcPHY 224 ist eine Instanz einer Verbindungsabstraktionsschicht. Jede VcPHY 224 enthält eine kontaktlose Verbindungsschicht (engl. contactless link layer, cLINK) 252 und eine kontaktlose PHY (engl. contactless PHY, cPHY) 254, wie für die VcPHY 224a gezeigt ist. Jede VcPHY 224 kann eine cLINK 252 und eine cPHY 254 enthalten, obwohl dies für die Einfachheit für die VcPHY 224b nicht gezeigt ist.
  • Es kann vorteilhaft sein, eine universelle physikalische Schnittstelle aufzuweisen, um es einem Host-System zu ermöglichen, durch eine kontaktlose EHF-Verbindung oder irgendeinen anderen Typ von Verbindung nahtlos mit einem weiteren Host-System zu kommunizieren. Das Host-System kann vorgesehen sein, unter Verwendung irgendeines (oder mehrerer) der verfügbaren standardbasierten Protokolle oder durch ein für die EHF-Kommunikation optimiertes Protokoll zu kommunizieren. Jedes dieser Protokolle würde jedoch eine eindeutige Implementierung der LINK 220 erfordern, die den Spezifikationen des Protokolls entspricht (z. B. wie in 1 gezeigt ist). Die Belastung durch die Implementierung einer standardbasierenden Protokollspezifikation für eine elektrische Schnittstelle zu einem E/A eines virtuellen Kanals, der wiederum mit einem Partner-E/A eines virtuellen Kanals unter Verwendung elektromagnetischer Signalisierung kommuniziert, kann sowohl dem Entwurf des Host-Systems als auch des E/A eines virtuellen Kanals selbst unangemessene Einschränkungen auferlegen. Diese Einschränkungen können zusätzliche PHYs, zusätzliche Anschlussstifte, zusätzliche elektrische Signale und zusätzliche Die-Fläche umfassen. Dieses Problem wird verschärft, falls das Host-System unter Verwendung von mehr als einem der standardbasierten Protokolle kommunizieren muss.
  • Die VcPHY 224 kann die standardbasierten Spezifikationen der LINK 220 in die Spezifikationen einer cLINK 252 und einer cPHY 254 übersetzen, um eine nahtlose und zuverlässige Datenübertragung über eine kontaktlose Verbindung zu ermöglichen. Die VcPHY 224a/234a kann eine nahtlose Schnittstelle zur LINK 220a/238a bereitstellen, die im Wesentlichen mit einer oder mehreren Spezifikationen der Standards konform sein kann.
  • Die LINK 220a/238a kann mit der VcPHY 224a/234a so kommunizieren, als ob die VcPHY eine PHY-Implementierung aus einer Spezifikation eines entsprechenden Standards ist. Wenn die LINK 220a/238a z. B. eine DisplayPort-LINK ist, dann kann die LINK mit der VcPHY 224a/234a unter Verwendung einer im Wesentlichen zu einer DisplayPort-PHY ähnlichen Schnittstelle eine Schnittstelle bilden.
  • Die LINKs 220a/238a und die cLINKs 252/262 können unabhängige Trainingssitzungen umfassen. Das Training der LINKs 220a/238a kann auf die Ende-zu-Ende-Verbindung (oder die Verbindung zwischen den Host-Systemen 206/212) gerichtet sein, wobei die cLINKs 252/262 ihr Training durch die E/As 208/214 eines virtuellen Kanals auf die kontaktlose Kommunikationsverbindung (oder „kontaktlose Verbindung“) 150 richten können.
  • Mehrere Attribute der VcPHY 224 können es ermöglichen, dass die standardbasierten LINKs 220 mit der VcPHY 224 eine Schnittstelle bilden, wobei folglich die PHY-Implementierung im Host-System 206 zu der standardbasierten LINK und den höheren Schichten (Schichten oberhalb der LINK 220, die außerdem als die „oberen“ Schichten bezeichnet werden) „virtualisiert“ wird.
  • Die Begriffe „virtuell“, „virtualisierend“ oder „nahtlos“ beziehen sich auf Teile des Systems oder der Vorrichtung, die durch eine oder mehrere der anderen Funktionsschichten oder -blöcke nicht beeinflusst sein können.
  • In einigen Ausführungsfonnen kann eine cLINK 252/262 innerhalb der VcPHY 224a/234a verschiedene auf die kontaktlosen Verbindungen bezogene Funktionalitäten ermöglichen, steuern und bereitstellen, einschließlich (aber nicht eingeschränkt auf): das Sicherstellen, dass eine anfängliche Verbindung zwischen den kontaktlosen Vorrichtungen hergestellt worden ist, einschließlich des Trainings der Verbindung; das Aufteilen der vom Sender/Empfänger (SerDes) ausgegebenen Daten in Datenrahmen; oder das Handhaben von Quittungen von einem cPHY 254-Empfänger, dass die Daten erfolgreich angekommen sind, wobei sichergestellt wird, dass die ankommenden Daten von einer Partner-/Begleitvorrichtung erfolgreich empfangen worden sind, z. B. durch das Analysieren von Bitmustem innerhalb der Rahmen.
  • Die cLINK 252 kann außerdem Funktionen umfassen, die darauf gerichtet sind, den E/A eines virtuellen Kanals in die Lage zu versetzen, Daten und Steuer-/Managementdaten mit einem oder mehreren anderen E/As eines virtuellen Kanals zu übertragen. Diese Funktionen können eines oder mehrere des Folgenden enthalten: Erkennungs-, Konfigurations- und Wartungsfunktionen, die darauf gerichtet sind, eine kontaktlose Verbindung über mehrere E/As eines virtuellen Kanals zu ermöglichen und aufrechtzuerhalten. In dem E/A 208 eines virtuellen Kanals können eine oder mehrere Funktionen einschließlich Abfrage-, Bebakungs- und Sicherheitsverifikationsfunktionen implementiert sein. Diese Funktionen können auf die kontaktlose Kommunikation durch den E/A eines virtuellen Kanals 208 mit einem weiteren E/A 214 eines virtuellen Kanals gerichtet sein. Die cLINK 252 kann außerdem Funktionen umfassen, die auf eine oder mehrere der elektrischen Schnittstellen zwischen dem Host-System 206 und dem E/A 208 eines virtuellen Kanals und/oder die kontaktlose Kommunikation durch den E/A 208 eines virtuellen Kanals mit einem weiteren E/A 214 eines virtuellen Kanals gerichtet sind. Durch das Verschieben der LINK-Funktionen beider dieser Schnittstellen im Wesentlichen zu einer einzigen cLINK 252 in der VcPHY 224a im Host-System 206 kann die Komplexität anderer Komponenten erheblich verringert werden, wobei der Sender/Empfänger 228 eine analoge Funktionalität enthält, um eine kontaktlose EHF-Kommunikation zu ermöglichen. Es kann z. B. irgendeine der Entdeckungs-, Konfigurations- und Wartungsfunktionen in der in 1 gezeigten E/A 108 eines virtuellen Kanals zu der cLINK 252 verschoben werden, die mit dem Host-System 206 integriert ist. Deshalb kann die cLINK 252 in der VcPHY 224a für die Entdeckungs-, Konfigurations- und Wartungsfunktionen verwendet werden, die auf entweder eine oder beide der elektrischen Schnittstellen zwischen den LINKs 220 des Host-Systems 206 und dem E/A 208 eines virtuellen Kanals und zwischen der kontaktlosen Verbindung 150 des E/A 208 eines virtuellen Kanals mit einem Partner-E/A 214 eines virtuellen Kanals gerichtet sind.
  • Die Software- oder Anwendungsschichten einer Vorrichtung, die mit der LINK 220 kommunizieren, können das Vorhandensein einer VcPHY 224 nicht „kennen“, die von einer den Standards entsprechenden PHY inhärent verschieden ist; wobei jedoch die VcPHY eine den Standards entsprechende PHY aufweist. Die Software- oder Anwendungsschichten einer Vorrichtung können z. B. von der kontaktlosen EHF-Link 150 nichts wissen. Von etwas nicht „wissen“ bedeutet, dass das Funktionieren der relevanten Schichten oder Blöcke in den höheren Schichten von der darunterliegenden physikalischen Schicht unabhängig sein kann. Weil überdies die VcPHY 224a die eingebettete LINK- (oder die cLINK-) Funktionalität darin aufgenommen aufweist, kann die Funktion der cLINK-Schicht vereinfacht werden. Es ist ein durch das Implementieren einer standardbasierten LINK, die mit einer VcPHY verbunden ist, gebotener Vorteil, dass die obere(n) Schicht(en) des Host-Systems eine minimale oder keine Aktualisierung benötigen kann (können). Dies ist möglich, weil die vorhandene Treiber-Software im OS-Kernel und im System (das für die LINK 220 entworfen worden ist) für die Kommunikation über die VcPHY und den E/A eines virtuellen Kanals wiederverwendet werden kann. Dieser Vorteil fördert die Übernahme integrierter E/As eines virtuellen Kanals in verschiedene Systeme ohne die Notwendigkeit, wesentliche Änderungen an den Protokoll- oder Software-Stapeln vorhandener Host-Systeme ausführen zu müssen. Dies ermöglicht es dem System, die Kompatibilität auf OS-Ebene mit vorhandenen Protokollen auf der Vorrichtungsebene ohne die Notwendigkeit neuer Vorrichtungstreiber aufrechtzuerhalten. Die LINK 220 kann als eine Software-Schicht implementiert oder virtualisiert sein, wobei eine Anzahl virtualisierter LINKs durch eine Software-Schnittstelle mit einer oder mehreren physischen VcPHYs eine Schnittstelle bilden kann.
  • Die VcPHYs 224 sind an die UPE 226 gekoppelt, um die Ports 262, 264 mit der UPE 226 zu verbinden. Die UPE 226 steuert die Operationen des E/A 208 eines virtuellen Kanals einschließlich des Aggregierens und des Parsens von Daten. Die UPE 226 ist über den Sender/Empfänger 228 an den EHF-Koppler 210 gekoppelt, der die Vorrichtung 202 über die Kommunikationsverbindung 150 mit dem EHF-Koppler 216 der Vorrichtung 204 verbindet. In einigen Ausführungsformen wird anstatt der EHF-Koppler 210, 216 eine verdrahtete Verbindung zwischen den E/As 208 und 214 eines virtuellen Kanals verwendet.
  • Die Erörterung hinsichtlich der Vorrichtung 202 ist auf die Vorrichtung 204 anwendbar. Die Vorrichtung 204 enthält z. B. ein Host-System 212, das einen E/A 214 eines virtuellen Kanals, die LINKs 238 (einschließlich der LINK 238a und der LINK 238b) und einen Prozessor 240. Die E/A 214 eines virtuellen Kanals enthält die VcPHYs 234 (einschließlich der VcPHY 234a und der VcPHY 234b), die mit einer UPE 232 gekoppelt sind. Jede VcPHY 234 kann eine cLINK und eine cPHY enthalten, wie durch die cLINK 262 und die cPHY 264 der VcPHY 234a gezeigt ist. Die UPE 232 ist über den Sender/Empfänger 230 an den EHF-Koppler 216 gekoppelt.
  • 3 zeigt ein System 300, das die elektronischen Vorrichtungen 302 und 304 enthält, die miteinander kommunizieren, gemäß einigen Ausfuhrungsformen. Die Erörterung der elektronischen Vorrichtungen 102 und 104 in 1 kann auf die elektronischen Vorrichtungen 302 und 304 anwendbar sein, mit Ausnahme, dass die E/As eines virtuellen Kanals jeder Vorrichtung mit dem EHF-Koppler integriert sind, wie z. B. in einer integrierten Kopplerschaltung (Koppler-IC). Jede Koppler-IC ist mit einem Host-System verbunden und kann eine Leiterplatte enthalten, die vom angeschlossenen Host-System getrennt ist.
  • Die Vorrichtung 302 enthält z. B. eine Koppler-IC 350, die den E/A 108 eines virtuellen Kanals und den EHF-Koppler 110 enthält. Die Koppler-IC 350 ist mit dem Host-System 106 verbunden. Die Vorrichtung 304 enthält eine Koppler-IC 352, die den E/A 114 eines virtuellen Kanals und den EHF-Koppler 116 enthält. Die Koppler-IC 352 ist mit dem Host-System 112 verbunden.
  • 4 zeigt eine Universalprotokollmaschine (UPE) 400 eines E/A eines virtuellen Kanals gemäß einigen Ausführungsformen. Die UPE 400 ist ein Beispiel der UPE 126/132 der E/As 108/114 eines virtuellen Kanals, die selbstständig ist, wie in 1 gezeigt ist, einer UPE 226/232 der E/As 208/214 eines virtuellen Kanals, die mit dem Host-System integriert ist, wie in 2 gezeigt ist, oder einer UPE 126/132 der E/As 108/144 eines virtuellen Kanals, die mit einer Koppler-IC, die einen Koppler enthält, integriert ist, wie in 3 gezeigt ist. Die UPE 400 ist an einen Sender/Empfänger 428 gekoppelt. Die UPE 400 enthält einen Aggregator 404, einen Parser 406, einen Speicher 408, der eine Sendeplatz-Tabelle 410 speichert, einen programmierbaren Codierer 412, einen programmierbaren Decodierer 414, einen Controller 416, einen Datenpuffer 430 und einen Datenpuffer 432.
  • In der Senderbetriebsart sind der Aggregator 404 und der programmierbare Codierer 412 aktiviert, um Daten von den Ports zum Sender/Empfänger 428 zu übertragen, der als ein Sender arbeitet. Der Datenpuffer 430 ist über die Verbindungsabstraktionsschichten 124/134 an mehrere Ports, z.B. die Ports 162, 164, gekoppelt, wie in 1 für die UPE 126/132 gezeigt ist, oder an die Ports 262, 264 über die VcPHYs 224/234, wie in 2 für die UPE 226/232 gezeigt ist, oder an die Ports 162, 164 über die Verbindungsabstraktionsschichten 124/134, wie in 3 für die UPE 126/132 gezeigt ist. Der Aggregator 404 ist an den Datenpuffer 430 und den Speicher 408 gekoppelt. Der Speicher 408 speichert die Sendeplatz-Tabelle 410, die eine Folge der Ports definiert. Der Datenpuffer 430 empfängt die Eingangsdaten 422 von den mehreren Ports und speichert die Eingangsdaten 422. In einigen Ausführungsformen enthält der Datenpuffer 430 für jeden Port einen First-in-first-out-Speicher (FIFO-Speicher), der die von den Ports empfangenen Eingangsdaten 422 speichert. Der Aggregator 404 wählt und aggregiert die Eingangsdaten 422 aus den FIFO-Speichern des Datenpuffers 430 gemäß der in der Sendeplatz-Tabelle 410 definierten Folge, um die Ausgangsdaten 424 zu erzeugen.
  • Der programmierbare Codierer 412 empfängt die Ausgangsdaten 424 vom Aggregator 404 und führt eine Codierung oder eine andere Verarbeitung aus, um die Ausgangsdaten 426 zu erzeugen. In einigen Ausführungsformen führt der programmierbare Codierer 412 eine Authentifizierung und/oder eine Fehlerkorrektur aus. In einigen Ausführungsformen kann der programmierbare Codierer 412 umgangen, deaktiviert oder aus der UPE 402 weggelassen sein.
  • Der Sender/Empfänger 428 empfängt die Ausgangsdaten 426 und erzeugt einen Ausgangsstrom 448 für einen EHF-Koppler oder eine andere Kommunikationskomponente, wie z. B. einen verdrahteten Verbinder. Der Sender/Empfänger 428 kann einen Serialisierer enthalten, der die parallelen Ströme der Ausgangsdaten 426 in einen seriellen Ausgangsstrom 448 umsetzt, der durch den EHF-Koppler oder eine andere Kommunikationskomponente gesendet wird.
  • In der Empfängerbetriebsart sind der Parser 406 und der programmierbare Decodierer 414 aktiviert, um die Daten vom Sender/Empfänger 428, der als ein Empfänger arbeitet, zu den Ports zu übertragen. Der Datenpuffer 432 ist an mehrere Ports gekoppelt, wie z. B. über die Verbindungsabstraktionsschichten 124/134, wie in 1 für die UPE 126/132 gezeigt ist, oder über die VcPHYs 224/234, wie in 2 für die UPE 226/232 gezeigt ist, oder über die Verbindungsabstraktionsschichten 124/134, wie in 3 für die UPE 126/132 gezeigt ist. Der Datenpuffer 432 ist an den Parser 406 gekoppelt. Der Parser 406 und der Aggregator 404 können an die gleichen Ports gekoppelt sein, um eine bidirektionale Kommunikation zwischen den Ports und dem Sender/Empfänger 428 zu schaffen. In einigen Ausführungsformen enthält die UPE 400 einen einzelnen Datenpuffer, der die Funktionalität der Datenpuffer 430 und 432 ausführt. Der Parser 406 ist ferner an den Speicher 408 gekoppelt, der die Sendeplatz-Tabelle 410 speichert, die die Folge der Ports definiert.
  • Der Sender/Empfänger 428 empfängt einen Eingangsstrom 440 von einem EHF-Koppler oder einem verdrahteten Verbinder und erzeugt die Eingangsdaten 442. Der Sender/Empfänger 428 kann einen Deserialisierer enthalten, der den seriellen Eingangsstrom 440 in parallele Ströme der Eingangsdaten 442 umsetzt.
  • Der programmierbare Decodierer 414 empfängt die Eingangsdaten 442 vom Sender/Empfänger 428 und führt die Decodierung oder eine andere Verarbeitung aus, um die Eingangsdaten 444 zu erzeugen. Die Eingangsdaten 442 können z. B. durch eine weitere UPE eines weiteren E/A eines virtuellen Kanals erzeugt werden, die vor der Sendung einen Codierungsalgorithmus in der Senderbetriebsart anwendet, wobei der programmierbare Decodierer 414 die empfangenen Eingangsdaten 442 durch das Anwenden eines entsprechenden Decodierungsalgorithmus decodieren kann. In einigen Ausführungsformen führt der programmierbare Decodierer 414 eine Authentifizierung und/oder eine Fehlerkorrektur aus. In einigen Ausführungsformen kann der programmierbare Decodierer 414 umgangen, deaktiviert oder aus der UPE 400 weggelassen sein.
  • Der Parser 406 empfängt die Eingangsdaten 444 vom programmierbaren Decodierer 414 und erzeugt die Ausgangsdaten 446 durch das Parsen der Eingangsdaten 444 gemäß der in der Sendeplatz-Tabelle 410 definierten Folge von Ports. Die Ausgangsdaten 446 werden im Datenpuffer 432 gespeichert, der die Ausgangsdaten 446 den jeweiligen Ports bereitstellt. In einigen Ausführungsformen enthält der Datenpuffer 432 einen FIFO-Speicher für jeden Port, der die Ausgangsdaten 446 speichert, die den Ports bereitgestellt werden.
  • Der Controller 416 steuert den Betrieb der UPE 400. Der Controller 416 kann z. B. die Betriebsart einschließlich des Umschaltens zwischen der Sender-, der Empfänger- oder Sender/Empfänger-Betriebsart steuern. Der Controller 416 kann außerdem die in der Sendeplatz-Tabelle 410 definierte Folge von Ports konfigurieren. In einigen Ausführungsformen stellt der Controller 416 das Leistungsmanagement für die UPE 400, wie z. B. das Abwickeln der Übergänge in die und aus der Bereitschaftsbetriebsart, bereit. In einigen Ausführungsformen steuert der Controller 416 den Betrieb der UPE 400 zwischen einer Start- und einer Einsatzbetriebsart (engl. mission mode). In der Startbetriebsart wechselt der Betrieb der UPE 400 einer Vorrichtung basierend auf den Anweisungen von der anderen angeschlossenen Vorrichtung zum Zweck der Initialisierung zwischen der Senderbetriebsart und der Empfängerbetriebsart. In der Einsatzbetriebsart kann die UPE 400 hauptsächlich in der Empfängerbetriebsart arbeiten (z. B. für eine Hochgeschwindigkeits-Datenübertragung, wie z. B. Videodaten), wobei der Betrieb periodisch in die Senderbetriebsart wechselt (z. B. für eine Datenübertragung mit geringer Geschwindigkeit, wie z. B. für den I2C-Verkehr, die GPIO-Daten usw.).
  • In der Sender/Empfänger-Betriebsart sendet und empfängt die UPE 400 Daten. Der Datenpuffer 430, der Aggregator 404, der programmierbare Codierer 412 und der Sender/Empfänger 428 arbeiten, um das Senden der Daten bereitzustellen. Der Sender/Empfänger 428, der programmierbare Decodierer 414, der Parser 406 und der Datenpuffer 432 arbeiten, um das Empfangen der Daten bereitzustellen. Die UPE 400 kann verschiedene Sendeplatz-Tabellen 410 zum Empfangen und Senden oder eine gemeinsame Sendeplatz-Tabelle 410 zum Empfangen und Senden verwenden. Der Speicher 408 als solcher kann eine oder mehrere Sendeplatz-Tabellen speichern. Die Folge von Ports zum Empfangen und Senden kann verschieden sein oder kann die gleiche sein.
  • 5 zeigt eine Sendeplatz-Tabelle 410 einer Universalprotokollmaschine gemäß einigen Ausführungsformen. Die Sendeplatz-Tabelle 410 enthält eine Folge von Sendeplätzen 502, wobei jeder Sendeplatz502 einem speziellen Port entspricht. Die Sendeplatz-Tabelle 410 definiert ein universelles Kommunikationsprotokoll, das die Daten von mehreren Ports unter Verwendung mehrerer (z. B. Standard-) Protokolle aggregiert. In einer Ausführungsform ist der erste Sendeplatz in der oberen linken Ecke der Sendeplatz-Tabelle definiert, wobei die nachfolgenden Sendeplätze in einem rasterähnlichen Abtastmuster von links nach rechts für jede Zeile und von oben nach unten für die nachfolgenden Zeilen definiert sind, obwohl die Folge der Sendeplätze in der Sendeplatz-Tabelle 410 anders definiert sein kann. Die HDR-Sendeplätze der Sendeplatz-Tabelle 410 geben den Beginn der Sendeplatz-Tabelle 410 an. Die IDLE-Sendeplätze werden für den Verbindungsüberwachungsverkehr und die zyklische Block-Redundanzprüfung (Block-CRC) verwendet. Die SKIP-Sendeplätze sind unbenutzte Sendeplätze, die einem Port oder anderem Verkehr zugewiesen werden können. Die in der Sendeplatz-Tabelle 410 gezeigten Ports enthalten den PORT1, den PORT2 und den PORT3.
  • In einigen Ausführungsformen ist die Sendeplatz-Tabelle 410 (z. B. Software) programmierbar. Die Sendeplätze 502 der Sendeplatz-Tabelle 410 können zu Beginn einer Datenübertragung zugewiesen werden oder können dynamisch während einer Datenübertragung, wie z. B. basierend auf einer Anwendersteuerung, einer Änderung des Systembedarfs, einer Änderung des Verkehrs (z. B. kann die Videoauflösung in eine höhere oder geringere Auflösung geändert werden, was zu einer Änderung des Bandbreitenbedarfs führt) oder aus irgendeinem anderen Grund, aktualisiert werden. In jeder Universalprotokollmaschine kann es mehrere Sendeplatz-Tabellen geben. Eine primäre Sendeplatz-Tabelle kann für das aktive Senden von Daten verwendet werden, eine primäre Sendeplatz-Tabelle kann für den aktiven Empfang von Daten verwendet werden und in anderen Fällen kann diese primäre Sendeplatz-Tabelle zwischen dem Senden und dem Empfang von Daten gemeinsam benutzt werden. Es kann zusätzliche Sendeplatz-Tabellen geben, die eines oder mehrere des Folgenden enthalten: (1) eine vorgegebene Sendeplatz-Tabelle zur Verwendung während der Initialisierung und (2) eine oder mehrere sekundäre Sendeplatz-Tabellen, die im Hintergrund programmiert werden können, während die primäre Sendeplatz-Tabelle in Gebrauch ist. Die sekundären Sendeplatz-Tabelle können mit der primären Sendeplatz-Tabelle an vorgegebenen, programmierbaren Grenzen getauscht werden, um eine nahtlose Übertragung von einer Sendeplatz-Tabellenkonfiguration zu einer zweiten Sendeplatz-Tabellenkonfiguration zu ermöglichen.
  • In der Senderbetriebsart bezieht sich der Aggregator 404 auf die Sendeplatz-Tabelle 410, um die Eingangsdaten 422 von den Ports gemäß der in der Sendeplatz-Tabelle 410 definierten Folge auszuwählen, um die Ausgangsdaten 424 zu erzeugen. Bezüglich der ersten beiden Zeilen der Sendeplatz-Tabelle 410 nach den beiden HDR-Sendeplätzen und dem IDLE- Sendeplatz wird zuerst der PORT2 ausgewählt, wobei dann der PORT1 für die nächsten acht Sendeplätze ausgewählt wird, dann der PORT2 ausgewählt wird, dann PORT1 für die nächsten vier Sendeplätze ausgewählt wird, dann der PORT3 ausgewählt wird, usw. In der Empfängerbetriebsart bezieht sich der Parser 406 auf die Sendeplatz-Tabelle 410, um die Eingangsdaten 444 in mehrere Kanäle von Ausgangsdaten 446 für die Ports zu parsen. Die Eingangsdaten 444 werden z. B. gemäß dem ersten Schlitz an den PORT2, dann gemäß den nächsten acht Sendeplätzen an den PORT1, dann an den PORT2, dann gemäß den nächsten vier Sendeplätzen an den PORT1, dann an den PORT3 usw. gesendet. In der Sender/Empfänger-Betriebsart finden sowohl das Senden als auch das Empfangen von Daten durch die Ports statt. In einigen Ausführungsformen können für das Senden und das Empfangen verschiedene Ports oder verschiedene Sendeplatz-Tabellen verwendet werden. Bestimmte Ports können dem Senden von Daten zugewiesen sein, während andere Ports dem Empfangen von Daten zugewiesen sein können.
  • In einigen Ausführungsformen werden die Sendeplätze 502 der Sendeplatz-Tabelle 410 gemäß der Geschwindigkeit der Ports geplant. Der PORT1 kann z. B. ein Hochgeschwindigkeits-Port sein, während der PORT3 ein Port mit geringer Geschwindigkeit sein kann. Der PORT1 als solcher wird in den Sendeplätzen 502 mit einer höheren Häufigkeit als der PORT3 geplant. In einigen Ausführungsformen werden die Ports in die Sendeplätze 502 der Sendeplatz-Tabelle 410 gemäß den relativen Geschwindigkeiten der Ports geplant, wobei die Ports mit höherer Geschwindigkeit in mehr Sendeplätze als die Ports mit geringerer Geschwindigkeit geplant werden.
  • Modulare E/A eines virtuellen Kanals
  • Es können mehrere UPEs durch eine konfigurierbare Kreuzschiene verbunden sein, um mehrere Kommunikationsverbindungen zwischen den Vorrichtungen zu schaffen. Mehrere Kommunikationsverbindungen erhöhen die Bandbreite der Kommunikation zwischen den Vorrichtungen. Verschiedene UPEs können parallel und in verschiedenen Betriebsarten (z. B. Sender, Empfänger oder Sender/Empfänger) arbeiten. Jede Kommunikationsverbindung ist durch eine UPE gesteuert, die mehrere Ports mit unterschiedlichen Geschwindigkeiten und Protokollen selektiv in ein universelles Protokoll integrieren kann, wie es durch eine oder mehrere Sendeplatz-Tabellen der UPE definiert ist.
  • 6 zeigt einen modularen E/A 600 eines virtuellen Kanals gemäß einigen Ausführungsformen. Der modulare E/A 600 eines virtuellen Kanals enthält mehrere UPEs 400a bis 400d, die über eine konfigurierbare Kreuzschiene 602 an die Ports 604, 606, 608, 610 und 612 gekoppelt sind. Die konfigurierbare Kreuzschiene 602 ist an die Verbindungsabstraktionsschichten 124/224 gekoppelt, wobei jede Verbindungsabstraktionsschicht 124/224 mit einem anderen Port 604, 606, 608, 610 und 612 verbunden ist. Der modulare E/A 600 eines virtuellen Kanals kann selbstständig, mit einem Host-System integriert oder mit einer Koppler-IC integriert sein. Jede UPE 400 kann den Speicher 408 zum Speichern der Sendeplatz-Tabelle 410, den Controller 416 und andere Komponenten, wie sie in 4 gezeigt sind, enthalten, obwohl dies für die Einfachheit nicht gezeigt ist. In einigen Ausführungsformen benutzen mehrere UPEs 400 des modularen E/A 600 eines virtuellen Kanals einen Controller 416, der die Operationen der UPEs 400 steuert, gemeinsam.
  • Jede der UPEs 400 ist über eine Kommunikationsverbindung 616 mit einer angeschlossenen Vorrichtung 614 verbunden. Eine Kommunikationsverbindung 616 kann eine verdrahtete oder drahtlose (z. B. EHF-) Verbindung sein. In einigen Ausführungsformen ist der modulare E/A 600 eines virtuellen Kanals über mehrere Kommunikationsverbindungen 616 mit einer einzigen Vorrichtung 614 verbunden.
  • Jede UPE 400 kann selektiv in der Sender-, Empfänger- oder Sender/Empfänger-Betriebsart arbeiten. In der Senderbetriebsart einer UPE 400 verbindet die konfigurierbare Kreuzschiene 602 einen oder mehrere der Ports 604 bis 612 gemäß einer Sendeplatz-Tabelle der UPE 400 mit der UPE 400. Die UPE 400a kann z. B. die in 5 gezeigt Sendeplatz-Tabelle 410 speichern, wobei der Port 604 dem PORT1 in der Sendeplatz-Tabelle 410 entspricht, der Port 606 dem PORT2 entspricht, der Port 608 dem PORT3 entspricht usw. Die konfigurierbare Kreuzschiene 602 als solche verbindet die Ports 604, 606 und 608 mit der UPE 400a. Die UPE 400a erzeugt die Ausgangsdaten durch das Auswählen aus den Ports 604, 606 und 608 gemäß der in der Sendeplatz-Tabelle 410 definierten Port-Folge, wobei die Ausgangsdaten durch einen EHF-Koppler oder eine verdrahtete Verbindung als ein Ausgangsstrom gesendet werden. Jede der UPEs 400a bis 400d kann verschiedene Sendeplatz-Tabellen und einen anderen EHF-Koppler (oder verdrahteten Verbinder) verwenden, so dass der modulare E/A 600 eines virtuellen Kanals mehrere Kommunikationsverbindungen 616 bereitstellt. In der Empfängerbetriebsart einer UPE 400 verbindet die konfigurierbare Kreuzschiene 602 die UPE 400 gemäß der in der Sendeplatz-Tabelle der UPE 400 definierten Port-Folge mit den jeweiligen Ports 604 bis 612 für die Ausgangsdatenübertragung. Die verschiedenen UPEs 400a bis 400d können außerdem verschiedene Typen der Verschlüsselung, der Entschlüsselung, der Fehlerkorrektur oder andere Typen der Verarbeitung an den durch die UPE 400 gesendeten Daten ausführen. In der Sender/Empfänger-Betriebsart kann eine UPE 400 eine oder mehrere Sendeplatz-Tabellen verwenden, um die Ports 604 bis 612 zum Senden oder Empfangen zuzuweisen. In einigen Ausführungsformen können eine oder mehrere der UPEs 400 deaktiviert sein oder in einer Leistungssparbetriebsart arbeiten.
  • Beispielhafte Vorrichtungsausführungsformen
  • Die UPE 400 verbindet mehrere Niedrig- und Hochgeschwindigkeits-Ports von einer Vorrichtung mit einer weiteren. Der Typ des Ports und das Protokoll des Ports können basierend auf dem Typ der Vorrichtungen variieren. Im Beispiel nach 6 enthalten die angeschlossenen Vorrichtungen ein Kamerasteuersystem und ein Sensormodul. Das Host-System des Kamerasteuersystems kann ein System auf einem Chip (SoC) sein, während das Host-System des Sensormoduls ein Sensor sein kann. Die Ports 604 bis 612 fördern die Kommunikation zwischen dem SoC und dem Sensor. Die Ports 604 und 606 sind Mobilprozessor-Industrieschnittstellen-Ports (engl. mobile industry processor interface-, MIPI-Ports), der Port 606 ist ein Kameraprotokoll-Port, der Port 610 ist ein I2C-Port und der Port 612 ist ein GPIO-Port. Die MIPI-Ports 604 und 606 und der Kameraprotokoll-Port 608 der nächsten Generation sind Beispiele der Hochgeschwindigkeits-Ports, während der I2C-Port 610 und der GPIO-Port 612 Beispiele der Ports mit geringer Geschwindigkeit sind.
  • 7 zeigt einen modularen E/A 700 eines virtuellen Kanals gemäß einigen Ausführungsformen. Der modulare E/A 700 eines virtuellen Kanals kann in einem Beispiel verwendet werden, in dem eine angeschlossene Vorrichtung eine Computervorrichtung, wie z. B. eine Mobilvorrichtung oder ein Desktop-Computer, ist, während eine weitere angeschlossene Vorrichtung eine Peripherievorrichtung ist. Die Ports 704 bis 712 fördern die Kommunikation zwischen der Computervorrichtung und der Peripherievorrichtung. Der Port 704 ist ein SuperSpeed-Port des universellen seriellen Busses (USB-SuperSpeed-Port), der Port 706 ist ein USB-2.0-Port, der Port 708 ist ein DisplayPort-Port, der Port 710 ist ein I2C-Port und der Port 712 ist ein GPIO-Port. Der USB-SS-Port 704, der USB-2.0-Port 706 und der DisplayPort-Port 708 sind Beispiele der Hochgeschwindigkeits-Ports, während der I2C-Port 710 und der GPIO-Port 712 Beispiele der Ports mit geringer Geschwindigkeit sind.
  • 8 zeigt einen modularen E/A 800 eines virtuellen Kanals gemäß einigen Ausführungsformen. Der modulare virtuelle Kanal 800 kann in einem Beispiel verwendet werden, in dem die Vorrichtung 102 und die Vorrichtung 104 Server sind. Die Ports 804 bis 812 fördern die Kommunikation zwischen den Servern. Die Ports 804, 806, 808 und 810 sind jeder ein Peripheriekomponentenzusammenschaltungsexpress-Port (PCIe-3.0-Port), während der Port 812 ist ein PCIe-Seitenband-Port ist. Die PCIe-3-Ports 804 bis 810 sind Beispiele der Hochgeschwindigkeits-Ports, während der PCIe-Seitenband-Port 812 ein Beispiel eines Ports mit geringer Geschwindigkeit ist.
  • Betrieb des E/A eines virtuellen Kanals
  • 9 zeigt einen Ablaufplan eines Prozesses 900 zum Senden von Daten gemäß einer Sendeplatz-Tabelle gemäß einigen Ausführungsformen. Der Prozess 900 kann weniger oder zusätzliche Schritte umfassen, wobei sich die Schritte in unterschiedlichen Reihenfolgen befinden können.
  • Eine UPE 400 eines E/A eines virtuellen Kanals oder eines modularen E/A eines virtuellen Kanals erzeugt 905 eine Sendeplatz-Tabelle 410, die eine Folge von Ports definiert. Die Sendeplatz-Tabelle 410 kann basierend auf den Anforderungen der Anwendung oder der übertragenen Daten oder der Eigenschaften der Ports, wie z. B. der Geschwindigkeit, erzeugt werden. Die Sendeplatz-Tabelle 410 kann in einem Speicher 408 der UPE 400 gespeichert werden. Die Sendeplatz-Tabelle 410 kann durch die UPE 400 (z. B. den Controller 416) oder eine weitere Vorrichtung erzeugt werden. Eine erste Vorrichtung, die eine UPE enthält, kann z. B. eine Sendeplatz-Tabelle 410 mit einer zweiten Vorrichtung, die eine weitere UPE enthält, gemeinsam benutzen, so dass die erste und die zweite Vorrichtung gemäß einem Universalprotokoll (d. h., Port-Folge, Codierung, Fehlerkorrektur usw.) kommunizieren können, das die Daten mehrerer Ports aggregiert. Die gleiche Sendeplatz-Tabelle 410 ist in der ersten und der zweiten Vorrichtung gespeichert.
  • Die durch die Sendeplatz-Tabelle 410 definierte Folge von Ports stellt ein universelles Kommunikationsprotokoll bereit, das sich von den Kommunikationsprotokollen der einzelnen Ports unterscheiden kann. Die Häufigkeit der Ports innerhalb der Folge von Port kann der relativen Geschwindigkeit der Ports entsprechen. Ein erster Port kann z. B. eine höhere Auswahlhäufigkeit in der Folge von Ports in der Sendeplatz-Tabelle als ein zweiter Port aufweisen, falls der erste Port ein Port mit einer höheren Geschwindigkeit als der zweite Port ist. Verschiedene Typen von Ports mit unterschiedlichen Geschwindigkeiten als solche können in die Sendeplatz-Tabelle 410 und das universelle Kommunikationsprotokoll aufgenommen sein.
  • Die UPE 400 empfängt 910 die Eingangsdaten von den Ports. Der Controller 416 versetzt die UPE 400 z. B. in die Senderbetriebsart oder die Sender/Empfänger-Betriebsart. In der Senderbetriebsart oder beim Senden in der Sender/Empfänger-Betriebsart empfängt der Datenpuffer 430 die Eingangsdaten von den Ports, wobei er die Eingangsdaten speichert. In einigen Ausführungsformen enthält der Datenpuffer 430 mehrere FIFO-Speicher, wobei jeder Speicher die Eingangsdaten von einem Port speichert.
  • In einigen Ausführungsformen ist die UPE 400 eine von mehreren UPEs eines modularen E/A eines virtuellen Kanals 600. Hier verbindet die konfigurierbare Kreuzschiene 602 die UPE 400 gemäß der Sendeplatz-Tabelle 410 der UPE 400 mit einem oder mehreren der Ports. Die konfigurierbare Kreuzschiene 602 kann ähnliche Verbindungen für die anderen UPEs gemäß ihren jeweiligen Sendeplatz-Tabellen ausführen.
  • Die UPE 400 erzeugt 915 die Ausgangsdaten basierend auf dem Auswählen der Eingangsdaten von den Ports gemäß der in der Sendeplatz-Tabelle 410 definierten Folge von Ports. Der Aggregator 404 bezieht sich auf die Sendeplatz-Tabelle, um die Eingangsdaten aus dem Datenpuffer 430 gemäß der in der Sendeplatz-Tabelle 410 definierten Folge von Ports wiederzugewinnen. Der Aggregator 404 kann die Eingangsdaten aus mehreren FIFO-Speichern des Datenpuffers 430 auswählen, wobei jeder FIFO-Speicher die Eingangsdaten von einem jeweiligen Port speichert.
  • Die Folge von Ports in der Sendeplatz-Tabelle gibt z. B. eine oder mehrere Auswahlen eines ersten Ports gemischt mit einer oder mehreren Auswahlen eines zweiten Ports an. Der Aggregator wählt erste Daten von dem ersten Port aus, wenn die Sendeplatz-Tabelle die Auswahl des ersten Ports angibt, und wählt zweite Daten von dem zweiten Port aus, wenn die Sendeplatz-Tabelle die Auswahl des zweiten Ports angibt, um die Ausgangsdaten gemäß der Folge von Ports zu erzeugen. In einem weiteren Beispiel kann eine Sendeplatz-Tabelle eine oder mehr Auswahlen eines ersten Ports und null oder mehr Auswahlen eines zweiten Ports definieren.
  • In einigen Ausführungsformen definiert die Folge von Ports der Sendeplatz-Tabelle 410 ein Kommunikationsprotokoll für die Datenübertragung, das sich von einem oder mehreren Kommunikationsprotokollen der Ports unterscheidet. Die Ausgangsdaten werden durch das Auswählen der Eingangsdaten von den Ports gemäß der in der Sendeplatz-Tabelle definierten Folge der Ports gemäß dem Kommunikationsprotokoll erzeugt. Die Ports können z. B. einen Port mit geringerer Geschwindigkeit (z. B. GPIO, I2C usw.) und einen Port mit höherer Geschwindigkeit (z. B. USB, PCIe usw.) enthalten. Die Ausgangsdaten enthalten die Eingangsdaten des Ports mit geringerer Geschwindigkeit gemischt mit den Eingangsdaten des Ports mit höherer Geschwindigkeit gemäß der Folge von Ports.
  • Die UPE 400 codiert 920 die Ausgangsdaten. Der programmierbare Codierer 412 führt z. B. eine Codierung, eine Authentifizierung, eine Fehlerkorrektur oder eine andere Verarbeitung an den durch den Aggregator 404 erzeugten Ausgangsdaten aus. In einigen Ausführungsformen enthalten die Ausgangsdaten vom Aggregator 404 kombinierte Eingangsdaten von mehreren Ports, die verschiedene Protokolle verwenden. Die Ausgangsdaten verwenden ein universelles Protokoll, wie es durch die Sendeplatz-Tabelle 410 definiert ist, das sich von den Protokollen der einzelnen Ports unterscheidet. Folglich ist der Typ der Codierung oder der Verarbeitung, die an den Ausgangsdaten ausgeführt werden kann, nicht durch die einzelnen Protokolle der Ports eingeschränkt, wobei die Daten von verschiedenen Typen von Ports durch die UPE 400 integriert werden können.
  • Die UPE 400 sendet 925 die Ausgangsdaten durch eine verdrahtete oder drahtlose Kommunikationsverbindung. Die UPE 400 stellt z. B. die Ausgangsdaten einem Sender bereit, der einen (z. B. seriellen) Ausgangsstrom erzeugt. Der Sender kann in einen Sender/Empfänger integriert sein oder kann ein separater Sender/Empfänger sein. Der Sender sendet den Ausgangsstrom an einen EHF-Koppler oder eine verdrahtete Verbindung, die die Kommunikationsverbindung mit einer UPE 400 einer weiteren Vorrichtung bildet.
  • Der Prozess 900 kann wiederholt werden. Während die Ausgangsdaten z. B. im Schritt 925 gesendet werden, kann die UPE 400 die Sendeplatz-Tabelle aktualisieren, um eine andere Folge von Ports zu definieren. Es kann eine dynamische Einstellung der Port-Zuweisung zu den Sendeplätzen der Sendeplatz-Tabelle verwendet werden, um die aktualisierte Sendeplatz-Tabelle zu erzeugen, auf die Bezug genommen wird, um die Ausgangsdaten zu erzeugen. Die aktualisierte Sendeplatz-Tabelle kann mit der anderen Vorrichtung, die die Ausgangsdaten empfängt, gemeinsam benutzt werden. In einem weiteren Beispiel kann die aktualisierte Sendeplatz-Tabelle durch die andere Vorrichtung erzeugt und an die UPE 400 gesendet werden.
  • 10 zeigt einen Ablaufplan eines Prozesses 1000 zum Empfangen von Daten gemäß einer Sendeplatz-Tabelle gemäß einigen Ausführungsforinen. Der Prozess 1000 kann weniger oder zusätzliche Schritte umfassen, wobei sich die Schritte in anderen Reihenfolgen befinden können. In einigen Ausführungsformen führt eine Vorrichtung den Prozess 1000 zum Empfangen von Daten im Zusammenhang mit einer weiteren Vorrichtung aus, die den Prozess 900 zum Senden der Daten ausführt.
  • Eine UPE 400 eines E/A eines virtuellen Kanals oder eines modularen E/A eines virtuellen Kanals erzeugt 1005 eine Sendeplatz-Tabelle 410, die eine Folge von Ports definiert. Die Erörterung bei 905 des Prozesses 900 kann im Schritt 1005 anwendbar sein. Im Prozess 1000 bezieht sich die UPE 400 auf eine Komponente der Empfangsvorrichtung anstatt der Sendevorrichtung. In einigen Ausführungsformen empfängt die UPE 400 die Sendeplatz-Tabelle 410 von einer weiteren UPE, die in der Senderbetriebsart arbeitet, in einem Eichprozess vor der Datenübertragung oder sie synchronisiert die Sendeplatz-Tabellen 410 anderweitig in den Sende- und Empfangsvorrichtungen.
  • Die UPE 400 empfängt 1010 die Eingangsdaten von der verdrahteten oder drahtlosen Kommunikationsverbindung. Der Controller 416 versetzt z. B. die UPE 400 in die Empfängerbetriebsart oder die Sender/Empfänger-Betriebsart. Ein Empfänger empfängt einen Eingangsstrom von der Kommunikationsverbindung und deserialisiert den Eingangsstrom, um die Eingangsdaten zu erzeugen. Der Empfänger kann in einen Sender/Empfänger integriert sein oder kann ein Empfänger sein, der von einem Sender getrennt ist.
  • Die UPE 400 decodiert 1015 die Eingangsdaten. Der programmierbare Decodierer 414 empfängt die Eingangsdaten vom Sender/Empfänger und führt eine Decodierung, eine Authentifizierung, eine Fehlerkorrektur oder eine andere Verarbeitung an den Eingangsdaten aus. Der programmierbare Decodierer 414 kann eine Verarbeitung anwenden, die die durch den programmierbaren Codierer 412 der Sendevorrichtung angewandte Verarbeitung umkehrt. Die Decodierung kann z. B. das Umsetzen der durch den programmierbaren Codierer 412 codierten Daten in die Daten vor der Codierung enthalten.
  • Die UPE 400 erzeugt 1020 aus den Eingangsdaten gemäß der in der Sendeplatz-Tabelle 410 definierten Folge von Ports die Ausgangsdaten für jeden der Ports. Der Parser 406 bezieht sich z. B. auf die Sendeplatz-Tabelle 410 und parst die Eingangsdaten vom programmierbaren Decodierer 414 gemäß der in der Sendeplatz-Tabelle 410 definierten Folge von Ports in mehrere Kanäle der Ausgangsdaten. Die Folge von Ports in der Sendeplatz-Tabelle gibt eine oder mehrere Auswahlen von Ports im Lauf der Zeit an. Ein Parser weist z. B. erste Daten einem ersten Port zu, wenn die Sendeplatz-Tabelle die Auswahl des ersten Ports angibt, und weist zweite Daten einem zweiten Port zu, wenn die Sendeplatz-Tabelle die Auswahl des zweiten Ports angibt, um die Ausgangsdaten gemäß der Folge von Ports zu erzeugen. Der Parser 406 kann die Ausgangsdaten im Datenpuffer 432 speichern, wobei der Datenpuffer 432 die Ausgangsdaten den jeweiligen Ports bereitstellt. Der Datenpuffer 432 kann für jeden Port einen FIFO-Speicher enthalten. Der Parser 406 kann die Ausgangsdaten für jeden Port in einem jeweiligen FIFO-Speicher für den Port speichern.
  • Die UPE 400 sendet 1025 die Ausgangsdaten an jeden der Ports. Die FIFO-Speicher des Datenpuffers 432 sind z. B. jeder mit einem Port verbunden, wobei sie die Ausgangsdaten für den Port dem angeschlossenen Port bereitstellen. In einigen Ausführungsformen ist die UPE 400 eine von mehreren UPEs eines modularen E/A 600 eines virtuellen Kanals. Hier verbindet die konfigurierbare Kreuzschiene 602 die UPE 400 gemäß der Sendeplatz-Tabelle 410 der UPE 400 mit einem oder mehreren der Ports, um die Übertragung der Ausgangsdaten zu den jeweiligen Ports zu fördern. Die konfigurierbare Kreuzschiene 602 kann für die anderen UPEs gemäß ihren jeweiligen Sendeplatz-Tabellen ein ähnliches Verbinden ausführen.
  • Der Prozess 1000 kann wiederholt werden. Während die Ausgangsdaten im Schritt 1025 z. B. an die Ports gesendet werden, kann die UPE 400 die Sendeplatz-Tabelle aktualisieren, um eine andere Folge von Ports zu definieren. Eine dynamische Einstellung der Port-Zuweisung zu den Sendeplätzen der Sendeplatz-Tabelle kann verwendet werden, um die aktualisierte Sendeplatz-Tabelle zu erzeugen, auf die Bezug genommen wird, um die Ausgangsdaten zu erzeugen. Die aktualisierte Sendeplatz-Tabelle kann mit der anderen Vorrichtung, die die Eingangsdaten sendet, gemeinsam benutzt werden. In einem weiteren Beispiel kann die aktualisierte Sendeplatz-Tabelle durch die andere Vorrichtung erzeugt und an die UPE 400 gesendet werden.
  • Programmierbarer Codierer und Decodierer
  • 11A zeigt einen programmierbaren Codierer 412 gemäß einigen Ausführungsformen. Der programmierbare Codierer 412 ist eine Komponente der UPE 400, die die Ausgangsdaten 424 vom Aggregator 404 empfängt und die Verarbeitung ausführt, um die Ausgangsdaten 426 für den Sender/Empfänger 428 zu erzeugen. Der programmierbare Codierer 412 stellt die selektive Anwendung verschiedener Datenverarbeitungen für die gesendeten Daten, wie z. B. eine Verschlüsselung, eine Codierung oder eine Vorwärtsfehlerkorrektur, bereit. Der programmierbare Codierer 412 enthält einen Verschlüsseler 1102, einen Multiplexer (MUX) 1104, einen Codierer 1106, einen MUX 1108, eine Vorwärtsfehlerkorrektur (FEC) 1110 und einen MUX 1112.
  • Die MUXes 1104, 1108 und 1112, wie z. B. unter der Steuerung des Controllers 416, können die Verschlüsselung durch den Verschlüsseier 1102, das Codieren durch den Codierer 1106 oder die Fehlerkorrektur durch die FEC 1110 selektiv auf die Ausgangsdaten 424 anwenden. Der Verschlüsseler 1102 empfängt z. B. die Ausgangsdaten 424 vom Aggregator 404. Der Ausgang des Verschlüsselers 1102 ist mit dem MUX 1104 verbunden, zusammen mit den Ausgangsdaten 424. Der MUX 1104 wählt zwischen den Ausgangsdaten 424 und der Ausgabe des Verschlüsselers 1102 als eine Ausgabe aus. Der Ausgang des MUX 1104 ist mit dem Codierer 1106 und dem MUX 1108 verbunden. Der Ausgang des Codierers 1106 ist mit dem MUX 1108 verbunden. Der MUX 1108 wählt zwischen der Ausgabe des MUX 1104 und der Ausgabe des Codierers 1106 als eine Ausgabe aus. Der Ausgang des MUX 1108 ist mit der FEC 1110 und dem MUX 112 verbunden. Der MUX 1112 wählt zwischen der Ausgabe der FEC 1110 und des MUX 1108 aus, um die Ausgangsdaten 426 zu erzeugen. Die Reihenfolge der Verschlüsselung, der Codierung und der Fehlerkorrektur, die auf die Ausgangsdaten 424 angewendet wird, kann verschieden sein.
  • 11B zeigt einen programmierbaren Decodierer 414 gemäß einigen Ausführungsformen. Der programmierbare Decodierer 414 ist eine Komponente der UPE 400, die die Eingangsdaten 442 vom Sender/Empfänger 428 empfängt und die Verarbeitung ausführt, um die Eingangsdaten 444 für den Parser 406 zu erzeugen. Der programmierbare Decodierer 414 in einer Vorrichtung stellt die selektive Anwendung verschiedener Datenverarbeitungen bereit und kann der ausgewählten Verarbeitung entsprechen, die durch einen programmierbaren Codierer 412 einer weiteren mit der Vorrichtung verbundenen Vorrichtung verwendet wird. Der programmierbare Codierer 414 enthält eine FEC 1114, einen MUX 1116, einen Decodierer 1118, einen MUX 1120, einen Entschlüsseler 1122 und einen MUX 1124.
  • Die MUXes 1116, 1120 und 1124, wie z. B. unter der Steuerung des Controllers 416, können die Fehlerkorrektur durch die FEC 1114, das Decodieren durch den Decodierer 1118 und das Entschlüsseln durch den Entschlüsseler 1112 selektiv auf die Eingangsdaten 442 anwenden. Die FEC 1114 empfängt z. B. die Eingangsdaten 442 von einem Sender/Empfänger 428 und wendet eine Vorwärtsfehlerkorrektur an. Der Ausgang der FEC 1114 und die Eingangsdaten 442 sind mit dem MUX 1116 verbunden. Der MUX 1116 wählt zwischen den Eingangsdaten 442 und der Ausgabe der FEC 1114 als eine Ausgabe aus. Der Ausgang des MUX 1116 ist mit dem Decodierer 1118 und dem MUX 1120 verbunden. Der Ausgang des Decodierers 1118 ist mit dem MUX 1120 verbunden. Der MUX 1120 wählt zwischen der Ausgabe des MUX 1116 und der Ausgabe des Decodierers 1118 als die Ausgabe aus. Der Ausgang des MUX 1120 ist mit dem Entschlüsseler 1122 und dem MUX 1124 verbunden. Der Ausgang des Entschlüsselers 1122 ist mit dem MUX 1124 verbunden. Der MUX 1124 wählt zwischen der Ausgabe des MUX 1120 und der Ausgabe des Entschlüsselers 1122 als die Ausgabe aus. Die Ausgabe des MUX 1124 sind die Eingangsdaten 444 für den Parser 406. Die Reihenfolge der Entschlüsselung, der Decodierung und der Fehlerkorrektur, die auf die Ausgangsdaten 442 angewendet werden, kann verschieden sein.
  • In einigen Ausführungsformen können der Codierer 1106 und der Decodierer 1118 einen 8b10b-Codierer/Decodierer, einen 16b/18b-Codierer/Decodierer oder einen anderen Codierer/Decodierer (wie z. B. 64b/66b, 128b/132b usw.) enthalten. Die Authentifizierungs- und Verschlüsselungsprotokolle, die durch den Verschlüsseler 1102 und den Entschlüsseler 1122 verwendet werden, können eine Authentifizierung und Verschlüsselung zum Schutz digitaler Inhalte mit hoher Bandbreite (HDCP-Authentifizierung und -Verschlüsselung) enthalten. Die durch die FEC 1110 und die FEC 1114 angewendete Fehlerkorrektur kann die DisplayPort-Vorwärtsfehlerkorrektur (DisplayPort-FEC) enthalten. Es können andere Typen der Codierung, der Decodierung, der Verschlüsselung, der Entschlüsselung und der Fehlerkorrektur verwendet werden.
  • E/A-Controller eines virtuellen Kanals
  • 12 zeigt ein Steuersystem 1200 einer Universalprotokollmaschine gemäß einigen Ausführungsformen. Das Steuersystem 1200 enthält einen Mikrocontroller 1202, einen Speicher 1204, der einen Urlader (engl. Boot-Loader) 1206 enthält, eine Steuernachrichtenübermittlungsvorrichtung 1208, einen Unterbrechungs-Controller 1214 und mehrere Peripherievorrichtungen 1216.
  • In einem Beispiel enthalten die Peripherievorrichtungen 1216 jeweils Ports, z. B. für eine I2C, eine serielle Peripherieschnittstelle (SPI), eine Mehrzweckeingabe/-ausgabe (GPIO), eine Pulsbreitenmodulation (PWM), einen Analog-Digital-Umsetzer (ADC) und Zeitgeber-Zähler.
  • Der Mikrocontroller 1202 steuert die Funktionalität der Universalprotokollmaschine und kann ein Beispiel eines in 4 gezeigten Controllers 416 sein. Der Speicher 1204 speichert die Anweisungen, die den Mikrocontroller 1202 programmieren, und die Nachrichten vom Mikrocontroller, die durch die Steuernachrichtenübermittlungsvorrichtung 1208 zu liefern sind. Der Speicher 1204 enthält den Urlader (engl. Boot-Loader) 1206, der die Startprogrammierung für den Mikrocontroller 1202 bereitstellt. Der Mikrocontroller 1202 stellt den direkten Zugriff auf den Speicher 1204 und die speicherabgebildeten Peripherievorrichtungen 1216 (z. B. auf einen I2C-Peripherievorrichtungs-Port) bereit und stellt die Ausführung von Speicherunterprogrammen bereit. Der Speicher 1204 ist an den Mikrocontroller 1202 und die Steuernachrichtenübermittlungsvorrichtung 1208 gekoppelt.
  • Die Steuernachrichtenübennittlungsvorrichtung 1208 ist eine Peripherievorrichtung mit Speicherdirektzugriff (DMA), die den Speicher 1204 mit dem Aggregator 404 und dem Parser 406 verbindet. Die Steuernachrichtenübermittlungsvorrichtung 1208 gewinnt die Eingangsdaten 422 aus dem Speicher 1204 wieder und stellt die Eingangsdaten 422 durch den Datenpuffer 430 dem Aggregator 404 bereit. Die Steuernachrichtenübermittlungsvorrichtung gewinnt die Ausgangsdaten 446 vom Parser 406 durch den Datenpuffer 432 wieder und schreibt die Ausgangsdaten 446 in den Speicher 1204.
  • Die Steuernachrichtenübermittlungsvorrichtung 1208 stellt die Kommunikation zwischen den Mikrocontrollern 1202 in zwei verbundenen Vorrichtungen bereit. Die Nachrichten können durch einen Mikrocontroller 1202 erzeugt und in einem Puffer des Speichers 1204 gespeichert werden, wobei dann die Steuernachrichtenübermittlungsvorrichtung 1208 mit einem weiteren Speicher 1204 der anderen Vorrichtung über eine Steuernachrichtenübermittlungsvorrichtung 1208 der anderen Vorrichtung kommuniziert.
  • Die Steuernachrichtenübermittlungsvorrichtung 1208 kann sicherstellen, dass die Nachrichten zuverlässig der Reihe nach geliefert werden. Wenigstens ein Schlitz der Sendeplatz-Tabelle 410, die von jedem des Aggregators 404 und des Parsers 406 verwendet wird, kann für die bidirektionale Nachrichtenübermittlung zwischen den Mikrocontrollern 1202 der angeschlossenen Vorrichtungen dediziert sein. Die Geschwindigkeit der Nachrichtenübermittlung kann basierend auf der Zuweisung von Sendeplätzen in der Sendeplatz-Tabelle 410 gesteuert sein.
  • In einigen Ausführungsformen können eine oder mehrere der Peripherievorrichtungen 1216 mit dem Host-System 1212 verbunden sein.

Claims (26)

  1. Elektronische Vorrichtung, die umfasst: eine Universalprotokollmaschinenschaltung (400), die enthält: einen Speicher (408), der konfiguriert ist, eine Sendeplatz-Tabelle (410) zu speichern, die eine Folge von Kommunikations-Ports definiert, in der die Daten von einem oder mehreren der Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikations-Protokoll zugeordnet ist; eine Aggregatorschaltung (404), die mit dem Speicher (408) gekoppelt ist, wobei die Aggregatorschaltung (404) konfiguriert ist: die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll zu empfangen; und die Ausgangsdaten (424, 426) durch Auswählen der Eingangsdaten (422) von dem einem oder den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports zu erzeugen; und einen Sender (428), der konfiguriert ist, aus den Ausgangsdaten (424, 426) einen Ausgangsstrom (448) zu erzeugen und diesen Ausgangsstrom (448) einem verdrahteten oder drahtlosen Koppler (110) zur Sendung an eine weitere elektronische Vorrichtung bereitzustellen, wobei die elektronische Vorrichtung ferner umfasst: - eine Leiterplatte, die enthält: einen Prozessor, der konfiguriert ist, die Eingangsdaten (422) zu erzeugen und die Eingangsdaten (422) über den einen oder die mehreren Kommunikations-Ports der Universalprotokollmaschinenschaltung (400) bereitzustellen; und die Universalprotokollmaschinenschaltung (400), wobei die Universalprotokollmaschinenschaltung (400) ferner virtuelle kontaktlose physikalische Schichten (VcPHYs) enthält, die konfiguriert sind, die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports zu empfangen; oder - eine erste Leiterplatte, die einen Prozessor enthält, der konfiguriert ist, die Eingangsdaten (422) zu erzeugen und die Eingangsdaten (422) über den einen oder die mehreren Kommunikations-Ports der Universalprotolcollmaschinenschaltung (400) bereitzustellen; und eine zweite Leiterplatte, die die Universalprotokollmaschinenschaltung (400) enthält, wobei die Universalprotokollmaschinenschaltung (400) ferner physikalische Schichten (PHYs) enthält, die konfiguriert sind, die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports zu empfangen.
  2. Elektronische Vorrichtung nach Anspruch 1, wobei: die Folge von Kommunikations-Ports in der Sendeplatz-Tabelle (410) eine oder mehrere Auswahlen eines ersten Kommunikations-Ports gemischt mit einer oder mehreren Auswahlen eines zweiten Kommunikations-Ports angibt; und die Aggregatorschaltung (404) erste Daten von dem ersten Kommunikations-Port auswählt, wenn die Sendeplatz-Tabelle (410) die Auswahl des ersten Kommunikations-Ports angibt, und zweite Daten von dem zweiten Kommunikations-Port auswählt, wenn die Sendeplatz-Tabelle (410) die Auswahl des zweiten Kommunikations-Ports angibt, um die Ausgangsdaten (424, 426) gemäß der Folge von Kommunikations-Ports zu erzeugen.
  3. Elektronische Vorrichtung nach Anspruch 1, wobei ein erstes Kommunikationsprotokoll, das einem ersten Kommunikations-Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, für eine Datenkommunikation mit einer höheren Geschwindigkeit als ein zweites Kommunikationsprotokoll, das einem zweiten Kommunikations-Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, konfiguriert ist und die Ausgangsdaten (424, 426) erste Eingangsdaten des ersten Kommunikations-Ports gemischt mit zweiten Eingangsdaten des zweiten Kommunikations-Ports gemäß der Folge von Kommunikations-Ports enthalten.
  4. Elektronische Vorrichtung nach Anspruch 1, wobei die Universalprotokollmaschinenschaltung (400) ferner eine Codiererschaltung (412, 1106) enthält, die konfiguriert ist, vor der Erzeugung des Ausgangsstroms (448) durch den Sender (428) unter Verwendung der Ausgangsdaten (424) die Ausgangsdaten (424) von der Aggregatorschaltung (404) zu codieren.
  5. Elektronische Vorrichtung nach Anspruch 1, wobei die Universalprotokollmaschinenschaltung (400) ferner eine Verschlüsselerschaltung (1102) enthält, die konfiguriert ist, vor der Erzeugung des Ausgangsstroms (448) durch den Sender (428) unter Verwendung der Ausgangsdaten (424) die Ausgangsdaten (424) von der Aggregatorschaltung (404) zu verschlüsseln.
  6. Elektronische Vorrichtung nach Anspruch 1, wobei die Universalprotokollmaschinenschaltung (400) ferner eine Fehlerkorrekturschaltung (1110) enthält, die konfiguriert ist, vor der Erzeugung des Ausgangsstroms (448) durch den Sender (110) unter Verwendung der Ausgangsdaten (424) vor der Erzeugung des Ausgangsstroms (428) von der Aggregatorschaltung (404) eine Fehlerkorrektur auf die Ausgangsdaten (424) anzuwenden.
  7. Elektronische Vorrichtung nach Anspruch 1, wobei ein erstes Kommunikationsprotokoll, das einem ersten Kommunikations-Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, für die Datenkommunikation mit einer höheren Geschwindigkeit als ein zweites Kommunikationsprotokoll, das einem zweiten Kommunikations-Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, konfiguriert ist und der erste Kommunikations-Port eine höhere Auswahlhäufigkeit in der Folge von Kommunikations-Ports als der zweite Kommunikations-Port aufweist.
  8. Elektronische Vorrichtung nach Anspruch 1, wobei die Universalprotokollmaschinenschaltung (400) ferner enthält: einen Empfänger (428), der konfiguriert ist, einen Eingangsstrom (440) von dem verdrahteten oder drahtlosen Koppler (110) zu empfangen und andere Eingangsdaten (442, 444) aus dem Eingangsstrom (440) zu erzeugen; und eine Parser-Schaltung (406), die mit dem Speicher (408) und dem Empfänger (428) gekoppelt ist, wobei die Parser-Schaltung (406) konfiguriert ist: die anderen Eingangsdaten (442, 444) von dem Empfänger (428) zu empfangen; und andere Ausgangsdaten (446) für jeden des einen oder der mehreren Kommunikations-Ports aus den anderen Eingangsdaten (442, 444) gemäß der Folge der Kommunikations-Ports, die in der Sendeplatz-Tabelle (410) definiert ist, oder einer weiteren Folge der Kommunikations-Ports, die in einer im Speicher (408) gespeicherten weiteren Sendeplatz-Tabelle (410) definiert ist, zu erzeugen.
  9. Elektronische Vorrichtung nach Anspruch 8, wobei: die in der Sendeplatz-Tabelle (410) definierte Folge von Kommunikations-Ports oder die weitere Folge von Kommunikations-Ports, die in der weiteren Sendeplatz-Tabelle (410) definiert ist, eine oder mehrere Auswahlen eines ersten Kommunikations-Ports gemischt mit einer oder mehreren Auswahlen eines zweiten Kommunikations-Ports angibt; und die Parser-Schaltung (406) erste Daten dem ersten Kommunikations-Port zuweist, wenn die Sendeplatz-Tabelle (410) die Auswahl des ersten Kommunikations-Ports angibt, und zweite Daten dem zweiten Kommunikations-Port zuweist, wenn die Sendeplatz-Tabelle (410) die Auswahl des zweiten Kommunikations-Ports angibt, um die anderen Ausgangsdaten (446) gemäß der Folge von Kommunikations-Ports zu erzeugen.
  10. Elektronische Vorrichtung nach Anspruch 8, wobei die Universalprotokollmaschinenschaltung (400) ferner eine Decodiererschaltung (414, 1118) enthält, die konfiguriert ist, vor der Erzeugung der anderen Ausgangsdaten (446) durch die Parser-Schaltung (406) unter Verwendung der anderen Eingangsdaten (442) die anderen Eingangsdaten (442) vom Empfänger (428) zu decodieren.
  11. Elektronische Vorrichtung nach Anspruch 8, wobei die Universalprotokollmaschinenschaltung (400) ferner eine Entschlüsselerschaltung (1122) enthält, die konfiguriert ist, vor der Erzeugung der anderen Ausgangsdaten (446) durch die Parser-Schaltung (406) unter Verwendung der anderen Eingangsdaten (442) die anderen Eingangsdaten (442) vom Empfänger (428) zu entschlüsseln.
  12. Elektronische Vorrichtung nach Anspruch 8, wobei die Universalprotokollmaschinenschaltung (400) ferner eine Fehlerkorrekturschaltung (1114) enthält, die konfiguriert ist, vor der Erzeugung der anderen Ausgangsdaten (446) durch die Parser-Schaltung (406) unter Verwendung der anderen Eingangsdaten (442) eine Fehlerkorrektur auf die anderen Eingangsdaten (442) vom Empfänger (428) anzuwenden.
  13. Elektronische Vorrichtung nach Anspruch 1, die ferner umfasst: eine weitere Universalprotokollmaschinenschaltung (400b), die konfiguriert ist, die Daten durch einen weiteren verdrahteten oder drahtlosen Koppler (110) gemäß einer weiteren Folge von Kommunikations-Ports, die in einer weiteren Sendeplatz-Tabelle (410) gespeichert ist, zu übertragen; und eine konfigurierbare Kreuzschiene (602), die an den einen oder die mehreren Kommunikations-Ports, die Universalprotokollmaschinenschaltung (400a) und die weitere Universalprotokollmaschinenschaltung (400b) gekoppelt ist, wobei die konfigurierbare Kreuzschiene (602) konfiguriert ist: wenigstens einen des einen oder der mehreren Kommunikations-Ports mit der Universalprotokollmaschinenschaltung (400a) gemäß der Sendeplatz-Tabelle (410) zu verbinden; und wenigstens einen weiteren des einen oder der mehreren Kommunikations-Ports mit der weiteren Universalprotokollmaschinenschaltung (400b) gemäß der weiteren Sendeplatz-Tabelle (410) zu verbinden.
  14. Elektronische Vorrichtung nach Anspruch 13, wobei die Universalprotokollmaschinenschaltung (400a) in einer Senderbetriebsart parallel zu der weiteren Universalprotokollmaschinenschaltung (400b) arbeitet, die in einer Empfängerbetriebsart arbeitet.
  15. Elektronische Vorrichtung nach Anspruch 1, wobei der Koppler (110) ein drahtloser Koppler für extrem hohe Frequenzen (EHF-Koppler) ist.
  16. Elektronische Vorrichtung, die umfasst: eine Universalprotokollmaschinenschaltung (400a), die enthält: einen Speicher (408), der konfiguriert ist, eine Sendeplatz-Tabelle (410) zu speichern, die eine Folge von Kommunikations-Ports definiert, in der die von einer weiteren elektronischen Vorrichtung empfangenen Daten einem oder mehreren der Kommunikations-Ports bereitgestellt werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikationsprotokoll zugeordnet ist; einen Empfänger (428), der konfiguriert ist, einen Eingangsstrom (440) von der weiteren elektronischen Vorrichtung über einen verdrahteten oder drahtlosen Koppler (110) zu empfangen und Eingangsdaten (442, 444) aus dem Eingangsstrom (440) zu erzeugen; eine Parser-Schaltung (406), die mit dem Empfänger (428) und dem Speicher (408) gekoppelt ist, wobei die Parser-Schaltung (406) konfiguriert ist: die Eingangsdaten (442, 444) vom Empfänger (428) zu empfangen; und Ausgangsdaten (446) für jeden des einen oder der mehreren Kommunikations-Ports durch das Parsen der Eingangsdaten (442, 444) gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports zu erzeugen; und die Ausgangsdaten (446) dem einen oder den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll bereitzustellen; wobei die elektronische Vorrichtung ferner umfasst: eine weitere Universalprotokollmaschinenschaltung (400b), die konfiguriert ist, Daten durch einen weiteren verdrahteten oder drahtlosen Koppler (110) gemäß einer weiteren Folge von Kommunikations-Ports, die in einer weiteren Sendeplatz-Tabelle (410) gespeichert ist, zu übertragen; und eine konfigurierbare Kreuzschiene (602), die an den einem oder die mehreren Kommunikations-Ports, die Universalprotokollmaschinenschaltung (400a) und die weitere Universalprotokollmaschinenschaltung (400b) gekoppelt ist, wobei die konfigurierbare Kreuzschiene (602) konfiguriert ist: wenigstens einen von dem einen oder den mehreren Kommunikations-Ports gemäß der Sendeplatz-Tabelle (410) mit der Universalprotokollmaschinenschaltung (400a) zu verbinden; und wenigstens einen weiteren des einen oder der mehreren Kommunikations-Ports gemäß der weiteren Sendeplatz-Tabelle (410) mit der weiteren Universalprotokollmaschinenschaltung (400b) zu verbinden.
  17. Elektronische Vorrichtung nach Anspruch 16, wobei: die Folge von Kommunikations-Ports in der Sendeplatz-Tabelle (410) eine oder mehrere Auswahlen eines ersten Kommunikations-Ports gemischt mit einer oder mehreren Auswahlen eines zweiten Kommunikations-Ports angibt; und die Parser-Schaltung (406) dem ersten Kommunikations-Port erste Daten zuweist, wenn die Sendeplatz-Tabelle (410) die Auswahl des ersten Kommunikations-Ports angibt, und dem zweiten Kommunikations-Port zweite Daten zuweist, wenn die Sendeplatz-Tabelle (410) die Auswahl des zweiten Kommunikations-Ports angibt, um die Ausgangsdaten (446) zu erzeugen, die dem einen oder den mehreren Kommunikations-Ports gemäß der Folge von Kommunikations-Ports bereitzustellen sind.
  18. Elektronische Vorrichtung nach Anspruch 16, wobei der eine oder die mehreren Kommunikations-Ports einen Kommunikations-Port mit höherer Geschwindigkeit und einen Kommunikations-Port mit geringerer Geschwindigkeit enthalten und die Eingangsdaten (442, 444) die Ausgangsdaten (446) für den Kommunikations-Port mit geringerer Geschwindigkeit, die mit den Ausgangsdaten (446) für den Kommunikations-Port mit höherer Geschwindigkeit gemischt sind, gemäß der Folge von Kommunikations-Ports enthalten.
  19. Elektronische Vorrichtung nach Anspruch 16, die ferner eine Decodiererschaltung (414, 1118) umfasst, die konfiguriert ist, die Eingangsdaten (442) vom Empfänger (428) zu decodieren, bevor die Parser-Schaltung (406) die Ausgangsdaten (446) erzeugt.
  20. Elektronische Vorrichtung nach Anspruch 16, die ferner eine Entschlüsselerschaltung (1122) umfasst, die konfiguriert ist, die Eingangsdaten (442) vom Empfänger (428) zu entschlüsseln, bevor die Parser-Schaltung (406) die Ausgangsdaten (446) erzeugt.
  21. Elektronische Vorrichtung nach Anspruch 16, die ferner eine Fehlerkorrekturschaltung (1114) umfasst, die konfiguriert ist, eine Fehlerkorrektur auf die Eingangsdaten (442) vom Empfänger (428) anzuwenden, bevor die Parser-Schaltung (406) die Ausgangsdaten (446) erzeugt.
  22. Elektronische Vorrichtung nach Anspruch 16, wobei ein erstes Kommunikationsprotokoll, das einem ersten Kommunikations-Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, für eine Datenkommunikation mit einer höheren Geschwindigkeit als ein zweites Kommunikationsprotokoll, das einem zweiten Kommunikations-Port des einen oder der mehreren Kommunikations-Ports zugeordnet ist, konfiguriert ist und der erste Kommunikations-Port eine höhere Auswahlhäufigkeit in der Folge von Kommunikations-Ports als der zweite Kommunikations-Port aufweist.
  23. Elektronische Vorrichtung, die umfasst: eine Universalprotokollmaschinenschaltung (400), die enthält: einen Speicher (408), der konfiguriert ist, eine Sendeplatz-Tabelle (410) zu speichern, die eine Folge von Kommunikations-Ports definiert, in der die Daten von einem oder mehreren der Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikations-Protokoll zugeordnet ist; eine Aggregatorschaltung (404), die mit dem Speicher (408) gekoppelt ist, wobei die Aggregatorschaltung (404) konfiguriert ist: die Eingangsdaten (422) von dem einen oder den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll zu empfangen; und die Ausgangsdaten (424, 426) durch Auswählen der Eingangsdaten (422) von dem einem oder den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports zu erzeugen; und einen Sender (428), der konfiguriert ist, aus den Ausgangsdaten (424, 426) einen Ausgangsstrom (448) zu erzeugen und diesen Ausgangsstrom (448) einem verdrahteten oder drahtlosen Koppler (110) zur Sendung an eine weitere elektronische Vorrichtung bereitzustellen, wobei die elektronische Vorrichtung ferner umfasst: eine weitere Universalprotokollmaschinenschaltung (400b), die konfiguriert ist, die Daten durch einen weiteren verdrahteten oder drahtlosen Koppler (110) gemäß einer weiteren Folge von Kommunikations-Ports, die in einer weiteren Sendeplatz-Tabelle (410) gespeichert ist, zu übertragen; und eine konfigurierbare Kreuzschiene (602), die an den einen oder die mehreren Kommunikations-Ports, die Universalprotokollmaschinenschaltung (400a) und die weitere Universalprotokollmaschinenschaltung (400b) gekoppelt ist, wobei die konfigurierbare Kreuzschiene (602) konfiguriert ist: wenigstens einen des einen oder der mehreren Kommunikations-Ports mit der Universalprotokollmaschinenschaltung (400a) gemäß der Sendeplatz-Tabelle (410) zu verbinden; und wenigstens einen weiteren des einen oder der mehreren Kommunikations-Ports mit der weiteren Universalprotokollmaschinenschaltung (400b) gemäß der weiteren Sendeplatz-Tabelle (410) zu verbinden
  24. Verfahren, das durch eine elektronische Vorrichtung umfasst: Speichern einer Sendeplatz-Tabelle (410), die eine Folge von Kommunikations-Ports definiert, in der Daten von mehreren der Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikationsprotokoll zugeordnet ist; Empfangen von Eingangsdaten (422) von den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll; Erzeugen von Ausgangsdaten (424, 426) durch das Auswählen der Eingangsdaten (422) aus den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports; Erzeugen eines Ausgangsstroms (448) aus den Ausgangsdaten (424, 426); und Bereitstellen des Ausgangsstroms (448) einem verdrahteten oder drahtlosen Koppler (110) der elektronischen Vorrichtung, wobei die elektronische Vorrichtung umfasst: - eine Leiterplatte, die enthält: einen Prozessor, der konfiguriert ist, die Eingangsdaten (422) zu erzeugen und die Eingangsdaten (422) über die Kommunikations-Ports einer Universalprotokollmaschinenschaltung (400) bereitzustellen; und die Universalprotokollmaschinenschaltung (400), wobei die Universalprotokollmaschinenschaltung (400) virtuelle kontaktlose physikalische Schichten (VcPHYs) enthält, die konfiguriert sind, die Eingangsdaten (422) von den Kommunikations-Ports zu empfangen; oder - eine erste Leiterplatte, die einen Prozessor enthält, der konfiguriert ist, die Eingangsdaten (422) zu erzeugen und die Eingangsdaten (422) über die Kommunikations-Ports einer Universalprotokollmaschinenschaltung (400) bereitzustellen; und eine zweite Leiterplatte, die die Universalprotokollmaschinenschaltung (400) enthält, wobei die Universalprotokollmaschinenschaltung ferner physikalische Schichten (PHYs) enthält, die konfiguriert sind, die Eingangsdaten (422) von den Kommunikations-Ports zu empfangen.
  25. Verfahren, das durch eine elektronische Vorrichtung umfasst: Speichern einer Sendeplatz-Tabelle (410) durch eine Universalprotokollmaschinenschaltung (400a) der elektronischen Vorrichtung, wobei die Sendeplatz-Tabelle (410) eine Folge von Kommunikations-Ports definiert, in der die von einer weiteren elektronischen Vorrichtung empfangenen Daten mehreren der Kommunikations-Ports bereitgestellt werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikationsprotokoll zugeordnet ist; Empfangen von Eingangsdaten (422) von einem verdrahteten oder drahtlosen Koppler (110) der elektronischen Vorrichtung; Erzeugen von Ausgangsdaten (424, 426) für jeden der mehreren Kommunikations-Ports aus den Eingangsdaten (422) gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports; und Bereitstellen der Ausgangsdaten (424, 426) den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll, wobei die elektronische Vorrichtung umfasst: eine weitere Universalprotokollmaschinenschaltung (400b), die konfiguriert ist, Daten durch einen weiteren verdrahteten oder drahtlosen Koppler (110) gemäß einer weiteren Folge von Kommunikations-Ports, die in einer weiteren Sendeplatz-Tabelle (410) gespeichert ist, zu übertragen; und eine konfigurierbare Kreuzschiene (602), die an die Kommunikations-Ports, die Universalprotokollmaschinenschaltung (400a) und die weitere Universalprotokollmaschinenschaltung (400b) gekoppelt ist, wobei die konfigurierbare Kreuzschiene (602) konfiguriert ist: wenigstens einen von den Kommunikations-Ports gemäß der Sendeplatz-Tabelle (410) mit der Universalprotokollmaschinenschaltung (400a) zu verbinden; und wenigstens einen weiteren der Kommunikations-Ports gemäß der weiteren Sendeplatz-Tabelle (410) mit der weiteren Universalprotokollmaschinenschaltung (400b) zu verbinden.
  26. Verfahren, das durch eine elektronische Vorrichtung umfasst: Speichern einer Sendeplatz-Tabelle (410) durch eine Universalprotokollmaschinenschaltung (400a) der elektronischen Vorrichtung, wobei die Sendeplatz-Tabelle (410) eine Folge von Kommunikations-Ports definiert, in der Daten von mehreren der Kommunikations-Ports gesendet werden sollen, wobei jeder der Kommunikations-Ports einem entsprechenden Kommunikationsprotokoll zugeordnet ist; Empfangen von Eingangsdaten (422) von den mehreren Kommunikations-Ports gemäß dem entsprechenden Kommunikationsprotokoll; Erzeugen von Ausgangsdaten (424, 426) durch das Auswählen der Eingangsdaten (422) aus den mehreren Kommunikations-Ports gemäß der in der Sendeplatz-Tabelle (410) definierten Folge der Kommunikations-Ports; Erzeugen eines Ausgangsstroms (448) aus den Ausgangsdaten (424, 426); und Bereitstellen des Ausgangsstroms (448) einem verdrahteten oder drahtlosen Koppler (110) der elektronischen Vorrichtung, wobei die elektronische Vorrichtung umfasst: eine weitere Universalprotokollmaschinenschaltung (400b), die konfiguriert ist, Daten durch einen weiteren verdrahteten oder drahtlosen Koppler (110) gemäß einer weiteren Folge von Kommunikations-Ports, die in einer weiteren Sendeplatz-Tabelle (410) gespeichert ist, zu übertragen; und eine konfigurierbare Kreuzschiene (602), die an die Kommunikations-Ports, die Universalprotokollmaschinenschaltung (400a) und die weitere Universalprotokollmaschinenschaltung (400b) gekoppelt ist, wobei die konfigurierbare Kreuzschiene (602) konfiguriert ist: wenigstens einen von den Kommunikations-Ports gemäß der Sendeplatz-Tabelle (410) mit der Universalprotokollmaschinenschaltung (400a) zu verbinden; und wenigstens einen weiteren der Kommunikations-Ports gemäß der weiteren Sendeplatz-Tabelle (410) mit der weiteren Universalprotokollmaschinenschaltung (400b) zu verbinden.
DE102020110848.6A 2019-05-02 2020-04-21 Virtueller Kanal zum Verbinden von Vorrichtungen Active DE102020110848B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/402,092 2019-05-02
US16/402,092 US10860503B2 (en) 2019-05-02 2019-05-02 Virtual pipe for connecting devices

Publications (2)

Publication Number Publication Date
DE102020110848A1 DE102020110848A1 (de) 2020-11-05
DE102020110848B4 true DE102020110848B4 (de) 2022-09-15

Family

ID=72839079

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020110848.6A Active DE102020110848B4 (de) 2019-05-02 2020-04-21 Virtueller Kanal zum Verbinden von Vorrichtungen

Country Status (3)

Country Link
US (1) US10860503B2 (de)
CN (1) CN111884987B (de)
DE (1) DE102020110848B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499772A (zh) * 2020-11-12 2022-05-13 华为技术有限公司 数据传输方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100260102A1 (en) 2009-04-10 2010-10-14 Samsung Electronics Co., Ltd. Communication protocol for wireless enhanced controller area networks
US20100293315A1 (en) 2008-03-07 2010-11-18 Florian Hartwich Communication system having a can bus and a method for operating such a communication system
US20150032917A1 (en) 2012-02-22 2015-01-29 Vincent Nguyen Multiplexer for signals according to different protocols
US20190007310A1 (en) 2017-06-30 2019-01-03 Intel Corporation Techniques to support multiple protocols between computer system interconnects

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010054131A1 (en) * 1999-01-29 2001-12-20 Alvarez Manuel J. System and method for perfoming scalable embedded parallel data compression
US20080032738A1 (en) * 2001-03-07 2008-02-07 Palm, Inc. Portable wireless network
US8639849B2 (en) * 2001-12-17 2014-01-28 Sutech Data Solutions Co., Llc Integrated circuits for high speed adaptive compression and methods therefor
GB0428046D0 (en) * 2004-12-22 2005-01-26 Artimi Ltd Contactless connector systems
US20080075103A1 (en) * 2005-05-20 2008-03-27 Finisar Corporation Diagnostic device
US20060264178A1 (en) * 2005-05-20 2006-11-23 Noble Gayle L Wireless diagnostic systems
US8014401B2 (en) * 2005-06-03 2011-09-06 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
US20090033359A1 (en) * 2007-07-31 2009-02-05 Broadcom Corporation Programmable logic device with millimeter wave interface and method for use therewith
US9429992B1 (en) * 2007-10-08 2016-08-30 Motion Computing, Inc. Wired and wireless docking station
US8934890B2 (en) * 2008-01-11 2015-01-13 Texas Instruments Incorporated Transmission of data bursts on a constant data rate channel
US9762637B2 (en) * 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US10248583B2 (en) * 2014-08-26 2019-04-02 Texas Instruments Incorporated Simultaneous video and bus protocols over single cable
US20180083800A1 (en) * 2016-09-22 2018-03-22 Fresco Logic, Inc. Aggregation Device, System, And Method Thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293315A1 (en) 2008-03-07 2010-11-18 Florian Hartwich Communication system having a can bus and a method for operating such a communication system
US20100260102A1 (en) 2009-04-10 2010-10-14 Samsung Electronics Co., Ltd. Communication protocol for wireless enhanced controller area networks
US20150032917A1 (en) 2012-02-22 2015-01-29 Vincent Nguyen Multiplexer for signals according to different protocols
US20190007310A1 (en) 2017-06-30 2019-01-03 Intel Corporation Techniques to support multiple protocols between computer system interconnects

Also Published As

Publication number Publication date
US20200349096A1 (en) 2020-11-05
CN111884987A (zh) 2020-11-03
US10860503B2 (en) 2020-12-08
DE102020110848A1 (de) 2020-11-05
CN111884987B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
DE60131717T2 (de) Drahtlose Zwei-Moden Datenübertragung
DE112013002639B4 (de) Optimierter Verbindungstrainings- und Managementmechanismus
DE3812611C2 (de) Basisstation für ein drahtloses digitales Telefonsystem
DE10392279B4 (de) Kommunikationsbrücke zwischen einem Fahrzeuginformationsnetz und einem Fernsystem
DE69829840T2 (de) Medienzugriffskontroller und Medienunabhängige Schnittstelle(MII) zum Verbinden an eine physikalische Schicht Vorrichtung
DE112020004230T5 (de) Leistungsverwaltungssteuerung über eineübertragungsleitung für millimeterwellen-chipsätzefür zellulare funknetze
DE112005002176T5 (de) Verfahren und Vorrichtung für serielle Kommunikation mit mehreren Bitübertragungsgeschwindigkeiten
DE102011082417B4 (de) Analoger frontend-protokoll-konverter/adapter für slpi-protokoll
DE102007026077A1 (de) Elektronisches Gerät mit einer USB-Schnittstelle, integriertes Schaltkreissystem, elektronischer Schaltkreis und Verfahren zum Steuern einer dualen USB-Schnittstelle
DE19900325A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von Daten in eine und aus einer universellen seriellen Buseinrichtung
DE112020003973T5 (de) Ethernet-schnittstelle und zugehörige systeme, verfahren und vorrichtungen
DE102008030587A1 (de) Verfahren und Vorrichtung zur Erhöhung der Effizienz der Interrupt-Lieferung zur Laufzeit in einem Netzwerksystem
DE102009030952A1 (de) Drahtloses Kommunikationsgerät und Paketübertragungsverfahren dafür
EP3489836B1 (de) Datenverarbeitungsverfahren und -system, peripheriegeräteverbindungsexpressvorrichtung und host
EP0962868A1 (de) Parallele Rückwandbitübertragungsschichtschnittstelle mit skalierbarer Datenbandbreite
DE112016001258T5 (de) Multi-gigabit drahtloses tunnelsystem
DE102020110848B4 (de) Virtueller Kanal zum Verbinden von Vorrichtungen
DE112019002232T5 (de) Intelligenter funk-arbiter mit konfliktlösung basierend auf zeitlicher vorhersehbarkeit
DE112011105991T5 (de) Geclusterte On-Package-Ein-/Ausgabe-Schnittstelle mit Voll-und Halbduplexbetrieb
DE112014004207B4 (de) Energieeinsparungen durch Präambel in WLAN-Systemen
DE10296700T5 (de) Flusssteuerungssystem zur Verringerung der Speicherpufferanforderungen und zur Herstellung einer Prioritätsbedienung zwischen Netzen
CN105530205A (zh) 一种微波设备汇聚的装置和方法
DE10313307A1 (de) Zugriffscontroller für ein drahtloses lokales Netzwerk und sich darauf beziehendes Verfahren
DE102022119702A1 (de) System, einrichtung und verfahren für paketbasierten netzwerktransport einschliesslich einer vereinheitlichten adapterschicht
DE102018010492B4 (de) Ausserband-Kommunikation in einer seriellen Kommunikationsumgebung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029040000

Ipc: H04L0069140000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: MOLEX, LLC, LISLE, US

Free format text: FORMER OWNER: KEYSSA SYSTEMS, INC., CAMPBELL, CALIF., US

R020 Patent grant now final