DE102021132691A1 - Verfahren zur entfernung von eingeführten dribble-bits und regenerierung von verlorengegangenen sync-bits aufgrund von rauschunterdrückungsverzögerungen bei verstärkung von usb-high-speed-paketen - Google Patents

Verfahren zur entfernung von eingeführten dribble-bits und regenerierung von verlorengegangenen sync-bits aufgrund von rauschunterdrückungsverzögerungen bei verstärkung von usb-high-speed-paketen Download PDF

Info

Publication number
DE102021132691A1
DE102021132691A1 DE102021132691.5A DE102021132691A DE102021132691A1 DE 102021132691 A1 DE102021132691 A1 DE 102021132691A1 DE 102021132691 A DE102021132691 A DE 102021132691A DE 102021132691 A1 DE102021132691 A1 DE 102021132691A1
Authority
DE
Germany
Prior art keywords
bits
bit stream
repeater
recovered
pattern
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.)
Pending
Application number
DE102021132691.5A
Other languages
English (en)
Inventor
Godwin Gerald Arulappan
Pradeep Kumar Bajpai
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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
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 Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of DE102021132691A1 publication Critical patent/DE102021132691A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • H04B3/58Repeater 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/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

Es werden Techniken zum Entfernen von Dribble-Bits nach dem Paketende (EOP) eines High-Speed-Datenpakets offenbart, die durch den Übertragungshüllkurvendetektor eines Repeaters/Hubs eingefügt wurden, der elektronische Vorrichtungen, die mit der Universal-Serial-Bus-(USB-)Spezifikation Revision 2.0 oder höher kompatibel sind, miteinander verbindet. Eine Bitübertragungsschichtlogik (PHY) eines ersten Ports des Repeaters/Hubs empfängt ein High-Speed-Datenpaket, um einen wiederhergestellten Bitstrom in einem elastischen Puffer zu speichern. Der wiederhergestellte Bitstrom kann Dribble-Bits umfassen, die durch die PHY nach dem EOP eingefügt wurden. Der Repeater/Hub liest den wiederhergestellten Bitstrom aus dem elastischen Puffer zur Übertragung durch die PHY eines zweiten Ports aus. Der Repeater/Hub überwacht das EOP. Wenn das EOP detektiert wird, verhindert der Repeater/Hub Übertragung der Dribble-Bits des wiederhergestellten Bitstroms nach dem EOB aus dem zweiten Port und befreit den vorgesehenen Empfänger des High-Speed-Datenpakets vom Aufwand des Behandelns von Dribble-Bits.

Description

  • Diese Offenbarung betrifft im Allgemeinen USB-Systeme (USB - Universal Serial Bus) und insbesondere Verfahren und Systeme zum Korrigieren von USB-Hochgeschwindigkeitspaketen, die durch USB-Repeater aufgrund von Rauschunterdrückungsverzögerungen beschädigt wurden.
  • Verschiedene elektronische Vorrichtungen (beispielsweise Smartphones, Tablets, Notebook-Computer, Laptop-Computer, Hubs, Ladegeräte, Adapter usw.) sind zum Kommunizieren von Daten oder Übertragen von Leistung durch ein USB-Steckverbindungssystem (USB - Universal Serial Bus) konfiguriert. Vorrichtungen eines USB-Systems können mit verschiedenen Datenraten kommunizieren. In einigen Anwendungen wird eine Repeater-Vorrichtung in einem USB-Hub verwendet, um eine Kombination von Vorrichtungen, die mit verschiedenen Datenraten arbeiten, mit einem Host zu verbinden. Die Repeater-Vorrichtung oder einfach Repeater kann ein USB-Paket empfangen, das von einem Host mit einer höheren Datenrate gesendet wird, und das USB-Paket mit der gleichen Datenrate oder einer niedrigeren Datenrate an eine oder mehrere nachgeschaltete Vorrichtungen weitersenden. Für ein USB-System, das mit High-Speed (Hochgeschwindigkeit) mit einer maximalen Datenrate von 480 Mbits pro Sekunde (Mbit/s) gemäß USB-Spezifikation Revision 2.0 funktioniert, kann ein Übertragungshüllkurvendetektor das Vorhandensein einer Differenzspannung am Paar von differenziellen Datenleitungen D+ (oder DP) and D- (oder DM) detektieren, um das Vorhandensein eines High-Speed-Datenpakets anzuzeigen.
  • Ein High-Speed-Datenpaket beginnt mit einer 32-Bit-Synchronisationssequenz, gefolgt von der Nutzlast des Pakets, und schließt mit einem 8-Bit-Paketende-Muster ab. Die Synchronisationssequenz oder SYNC befähigt den Übertragungshüllkurvendetektor zum Durchführen von Takt- und Datenwiederherstellung, um sich auf den Bitstrom des Datenpakets aufzusynchronisieren. Der Übertragungshüllkurvendetektor kann ein „Rauschunterdrückungs“-Signal erzeugen, um anzuzeigen, dass keine Daten vorhanden sind, wenn es weniger als 100 uV zwischen den Datenleitungen gibt. Aufgrund der inhärenten Verzögerungen im Übertragungshüllkurvendetektor kann der Repeater Bits am Anfang der SYNC verlieren (SYNC-Bitverlust) und zusätzliche Bits nach dem Paketende (EOP - EOP) einfügen (Dribble-Bit-Hinzufügung). Die USB 2.0-Spezifikation lässt den Verlust von bis zu 4 SYNC-Bits und die Hinzufügung von 4 Dribble-Bits zu. Aufgrund des intervenierenden Repeaters (z. B. als Teil von Hubs) zwischen dem Host und einer Vorrichtung kann die vorgesehene nachgeschaltete Empfangsvorrichtung (oder der vorgesehene nachgeschaltete Empfänger) des Pakets nur 12 SYNC-Bits und bis zu 20 Dribble-Bits sehen. Folglich muss der vorgesehene Empfänger zum Aufsynchronisieren auf den Eingangsbitstrom innerhalb der 12 SYNC-Bits eines High-Speed-Datenpakets in der Lage sein. Der vorgesehene Empfänger muss außerdem zum Ignorieren der Dribble-Bits in der Lage sein, um zu vermeiden, sie als ein neues Paket zu interpretieren. Die Notwendigkeit zusätzlicher Verarbeitung erhöht die Komplexität und die Kosten des Empfängers.
  • Eine Aufgabe besteht darin, bekannte Ansätze zu verbessern.
  • Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind insbesondere den abhängigen Ansprüchen entnehmbar.
  • Diese hierin vorgeschlagenen Beispiele können insbesondere auf zumindest einer der nachfolgenden Lösungen basieren. Insbesondere können Kombinationen der nachfolgenden Merkmale eingesetzt werden, um ein gewünschtes Ergebnis zu erreichen. Die Merkmale des Verfahrens können mit (einem) beliebigen Merkmal(en) der Vorrichtung, des Geräts oder Systems oder umgekehrt kombiniert werden.
  • Es wird ein Verfahren vorgeschlagen, umfassend:
    • - Wiederherstellen, von einem Universal-Serial-Bus-kompatiblen Repeater, USB-kompatiblen Repeater, eines an einem ersten Port empfangenen USB-High-Speed-Datenpakets, um einen wiederhergestellten Bitstrom zu generieren;
    • - Senden des wiederhergestellten Bitstroms an einen zweiten Port;
    • - Überwachen des wiederhergestellten Bitstroms, um ein Muster eines Paketendes, EOP-Muster, zu detektieren;
    • - Verhindern des Sendens eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms nach dem EOP-Muster an dem zweiten Port in Reaktion auf das Detektieren des EOP-Musters.
  • Es ist eine Weiterbildung, dass das USB-High-Speed-Datenpaket ein Synchronisations-Muster, SYNC-Muster, umfasst, das von dem USB-kompatiblen Repeater zum Detektieren des USB-High-Speed-Datenpakets verwendet wird, und bei dem das Senden des wiederhergestellten Bitstroms an dem zweiten Port umfasst:
    • - Senden des wiederhergestellten Bitstroms, wenn der wiederhergestellte Bitstrom anzeigt, dass eine Mehrzahl von Bits des SYNC-Musters empfangen wird.
  • Es ist eine Weiterbildung, dass das EOP-Muster eine Codierung von sieben aufeinanderfolgenden Einsen oder sieben aufeinanderfolgenden Nullen von Datenbits auf dem wiederhergestellten Bitstrom umfasst.
  • Es ist eine Weiterbildung, dass das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst:
    • - Detektieren einer Dauer des einen oder der mehreren Dribble-Bits auf dem wiederhergestellten Bitstrom nach dem EOP-Muster;
    • - Verhindern des Sendens des einen oder der mehreren Dribble-Bits für die detektierte Dauer.
  • Es ist eine Weiterbildung, dass das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst:
    • - Verhindern des Sendens des einen oder der mehreren Dribble-Bits nach dem EOP-Muster, bis ein nächstes USB-High-Speed-Datenpaket durch den wiederhergestellten Bitstrom angezeigt wird.
  • Es ist eine Weiterbildung, dass das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst:
    • - Verhindern des Sendens einer programmierbaren Anzahl von Bits des wiederhergestellten Bitstroms nach dem EOP-Muster.
  • Es ist eine Weiterbildung, dass das Verfahren ferner umfasst:
    • - Unterscheiden zwischen dem EOP-Muster und einem Bitstopffehler in dem wiederhergestellten Bitstrom, um mit dem Senden des wiederhergestellten Bitstroms nach dem EOP-Muster an dem zweiten Port fortzufahren.
  • Es ist eine Weiterbildung, dass das Unterscheiden zwischen dem EOP-Muster und dem Bitstopffehler ein Detektieren eines Headers eines isochronen USB-High-Speed-Datenpakets umfasst.
  • Es ist eine Weiterbildung, dass das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst:
    • - Steuern des zweiten Ports in einen Ruhezustand.
  • Es ist eine Weiterbildung, dass das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst:
    • - Detektieren, dass der wiederhergestellte Bitstrom nach dem EOP-Muster Nicht-Dribble-Bits darstellt;
    • - Fortfahren mit dem Senden des wiederhergestellten Bitstroms nach dem EOP-Muster.
  • Auch wird eine Universal-Serial-Bus-Vorrichtung, USB-Vorrichtung, vorgeschlagen, umfassend:
    • - eine erste Bitübertragungsschichtlogik, PHY, die zum Empfangen eines USB-High-Speed-Datenpakets eingerichtet ist, um einen wiederhergestellten Bitstrom zu generieren;
    • - einen elastischen Puffer, der zum Speichern des wiederhergestellten Bitstroms eingerichtet ist;
    • - eine zweite PHY, die zum Senden des wiederhergestellten Bitstroms eingerichtet ist, der aus dem elastischen Puffer ausgelesen wird;
    • - ein Repeater-Subsystem, das eingerichtet ist zum
    • - Auslesen des wiederhergestellten Bitstroms, der im elastischen Puffer gespeichert ist;
    • - Überwachen des wiederhergestellten Bitstroms, um ein Muster eines Paketendes, EOP-Muster, zu detektieren;
    • - Verhindern einer Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms nach dem EOP-Muster von der zweiten PHY in Reaktion auf das detektierte EOP-Muster.
  • Es ist eine Weiterbildung, dass das USB-High-Speed-Datenpaket ein Synchronisations-Muster, SYNC-Muster, umfasst, das von der ersten PHY zum Detektieren des USB-High-Speed-Datenpakets verwendet wird, und bei der das Repeater-Subsystem ferner eingerichtet ist zum
    • - Befähigen der zweiten PHY zum Senden des wiederhergestellten Bitstroms, wenn der aus dem FIFO ausgelesene wiederhergestellte Bitstrom anzeigt, dass eine Mehrzahl von Bits des SYNC-Musters empfangen wird.
  • Es ist eine Weiterbildung, dass das EOP-Muster eine Codierung von sieben aufeinanderfolgenden Einsen oder sieben aufeinanderfolgenden Nullen von Datenbits auf dem wiederhergestellten Bitstrom umfasst.
  • Es ist eine Weiterbildung, dass das Repeater-Subsystem zum Verhindern der Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms eingerichtet ist zum
    • - Detektieren einer Dauer des einen oder der mehreren Dribble-Bits auf dem wiederhergestellten Bitstrom nach dem EOP-Muster;
    • - Verhindern der Übertragung des einen oder der mehreren Dribble-Bits für die detektierte Dauer.
  • Es ist eine Weiterbildung, dass das Repeater-Subsystem zum Verhindern der Übertragung des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms eingerichtet ist zum
    • - Verhindern der Übertragung des einen oder der mehreren Dribble-Bits nach dem EOP-Muster, bis ein nächstes USB-High-Speed-Datenpaket durch den wiederhergestellten Bitstrom angezeigt wird.
  • Es ist eine Weiterbildung, dass das Repeater-Subsystem zum Verhindern der Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms eingerichtet ist zum
    • - Verhindern der Übertragung einer programmierbaren Anzahl von Bits des wiederhergestellten Bitstroms nach dem EOP-Muster.
  • Es ist eine Weiterbildung, dass das Repeater-Subsystem ferner eingerichtet ist zum
    • - Unterscheiden zwischen dem EOP-Muster und einem Bitstopffehler in dem wiederhergestellten Bitstrom, um mit einer Übertragung des wiederhergestellten Bitstroms nach dem EOP-Muster auf der zweiten PHY fortzufahren.
  • Es ist eine Weiterbildung, dass das Repeater-Subsystem ferner zum Detektieren eines Headers eines isochronen USB-High-Speed-Datenpakets eingerichtet ist, um zwischen dem EOP-Muster und dem Bitstopffehler im wiederhergestellten Bitstrom zu unterscheiden.
  • Es ist eine Weiterbildung, dass das Repeater-Subsystem zum Verhindern der Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms die zweite PHY in einem Ruhezustand konfiguriert.
  • Es ist eine Weiterbildung, dass die zweite PHY mit USB 2.0 (USB2) kompatibel ist, und die erste PHY mit einer eingebetteten Version von USB2 (eUSB2) kompatibel ist.
  • Die beschriebenen Ausführungsformen und ihre Vorteile sind am besten durch Bezugnahme auf die folgende Beschreibung in Verbindung mit den beiliegenden Zeichnungen zu verstehen. Diese Zeichnungen schränken Änderungen an Form und Detail, die von einem Fachmann an den beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Wesen und Schutzbereich der beschriebenen Ausführungsformen abzuweichen, in keiner Hinsicht ein.
  • Es zeigen:
    • 1 ein Blockdiagramm, das eine Repeater-Vorrichtung (oder einfach nur Repeater) eines USB-Subsystems gemäß einem Aspekt der vorliegenden Offenbarung veranschaulicht;
    • 2 ein Blockdiagramm, welches das eUSB-Repeater-Subsystem von 1, das zum Verstärken von High-Speed-Datenpaketen zwischen einem eingebetteten USB2-(eUSB2-)Port und einem USB2-Port verwendet wird, gemäß einem Aspekt der vorliegenden Offenbarung veranschaulicht;
    • 3 den Betrieb einer Repeater-Zustandsmaschine des eUSB-Repeater-Subsystems gemäß einem Aspekt der vorliegenden Offenbarung;
    • 4A einen High-Speed-Repeater, der aufgrund von
    • Rauschunterdrückungsverzögerung des Übertragungshüllkurvendetektors SYNC-Bits am Anfang eines High-Speed-Datenpakets verliert und Dribble-Bits nach dem Ende des Pakets einführt;
    • 4B den High-Speed-Repeater, der SYNC-Bits am Anfang eines High-Speed-Datenpakets regeneriert und Dribble-Bits nach dem Ende des Pakets entfernt, um den beschädigten Bitstrom von 4A zu reparieren, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 5 ein Blockdiagramm eines Moduls eines Repeaters, das zum Regenerieren vom SYNC-Bits eines High-Speed-Datenpakets verwendet wird, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 6 ein Blockdiagramm eines Moduls eines Repeaters, das zum Entfernen von Dribble-Bits eines High-Speed-Datenpakets verwendet wird, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 7 ein Flussdiagramm eines Verfahrens zur Regenerierung von SYNC-Bits eines High-Speed-Datenpakets aufgrund von Rauschunterdrückungsverzögerung gemäß einem Aspekt der vorliegenden Offenbarung;
    • 8 ein Flussdiagramm eines Verfahrens zur Entfernung von Dribble-Bits eines High-Speed-Datenpakets aufgrund von Rauschunterdrückungsverzögerung gemäß einem Aspekt der vorliegenden Offenbarung.
  • Beispiele für verschiedene Aspekte und Varianten der gegenständlichen Technologie werden hierin beschrieben und in den beiliegenden Zeichnungen veranschaulicht. Die folgende Beschreibung soll die Erfindung nicht auf diese Ausführungsformen beschränken, sondern vielmehr einen Fachmann zur Durchführung und Verwendung dieser Erfindung befähigen.
  • Hierin werden verschiedene Aspekte von Techniken zum Entfernen von Dribble-Bits nach dem Paketende (EOP - End-Of-Packet) eines High-Speed-Datenpakets oder Regenerieren von Bits der Synchronisationssequenz (SYNC-Bits) des High-Speed-Datenpakets in einem Repeater (z. B. als Teil einer Dockingstation oder eines Hubs) beschrieben, der elektronische Vorrichtungen, die mit der USB-Spezifikation (USB - Universal Serial Bus) Revision 2.0 oder höher kompatibel sind, miteinander verbindet. Beispiele für solche elektronischen Vorrichtungen umfassen, ohne darauf beschränkt zu sein, Personal Computer (z. B. Laptop-Computer, Notebook-Computer und so weiter), mobile Computervorrichtungen (z. B. Tablets, Tablet-Computer, E-Reader-Vorrichtungen und so weiter), mobile Kommunikationsvorrichtungen (z. B. Smartphones, Zellulartelefone, persönliche digitale Assistenten, Nachrichtenübermittlungsvorrichtungen, Taschen-PCs und so weiter), Konnektivitäts- und Ladevorrichtungen (z. B. Hubs, Dockingstationen, Adapter, Ladegeräte usw.), Audio-/Video-/Datenaufzeichnungs- und/oder -wiedergabevorrichtungen (z. B. Kameras, Sprachrekorder, Handscanner, Monitore und so weiter) und andere ähnliche elektronische Vorrichtungen, die USB-Steckverbinder (-Schnittstellen) zur Kommunikation und/oder Batterieaufladung verwenden.
  • Wie hierin verwendet, wird eine elektronische Vorrichtung oder ein System als „USBfähig“ oder „USB-kompatibel“ bezeichnet, wenn die elektronische Vorrichtung oder das System mindestens einer Ausgabe einer USB-Spezifikation entspricht. Beispiele für solche USB-Spezifikationen umfassen, ohne darauf beschränkt zu sein, die USB-Spezifikation Revision 2.0, die USB-Spezifikation 3.0, die USB-Spezifikation 3.1 und/oder verschiedene Ergänzungen (wie beispielsweise On-The-Go oder OTG), Versionen und Berichtigungen davon. Die USB-Spezifikationen definieren im Allgemeinen die Charakteristiken (z. B. Attribute, Protokolldefinition, Arten von Transaktionen, Busverwaltung, Programmierschnittstellen und so weiter) eines differenziellen seriellen Busses, die zum Entwerfen und Herstellen von standardmäßigen Kommunikationssystemen und Peripheriegeräten erforderlich sind.
  • Zum Beispiel wird eine USB-fähige elektronische Peripheriegerätevorrichtung durch einen USB-Port einer USB-fähigen Hostvorrichtung an die Hostvorrichtung angeschlossen, um ein USB-fähiges System zu bilden. Ein USB-2.0-Port (oder einfach USB2-Port) kann eine Speiseleitung (z. B. VBUS) von 5 V, ein differenzielles Paar von Datenleitungen (die z. B. als D+ oder DP und D- oder DN bezeichnet werden können) und eine Erdungsleitung (z. B. GND) zur Leistungsrückführung umfassen. Ein USB 3.0-Port stellt für Abwärtskompatibilität mit USB 2.0 ebenfalls die Leitungen VBUS, D+, D- und GND bereit. Zusätzlich dazu, dass ein USB-3.0-Port einen schnelleren differenziellen Bus (den USB-SuperSpeed-Bus) unterstützt, stellt er außerdem ein differenzielles Paar von Sender-Datenleitungen (bezeichnet als SSTX+ und SSTX-), ein differenzielles Paar von Empfänger-Datenleitungen (bezeichnet als SSRX+ and SSRX-), eine Speiseleitung für Leistung (die z. B. als DPWR bezeichnet werden kann) und eine Erdungsleitung zur Leistungsrückführung (die z. B. als DGND bezeichnet werden kann) bereit. Ein USB-3.1-Port stellt dieselben Leitungen wie ein USB-3.0-Port für Abwärtskompatibilität mit USB-2.0- und USB-3.0-Kommunikationen bereit, erweitert aber die Performance des SuperSpeed-Busses um eine Sammlung von Merkmalen, die als Enhanced SuperSpeed bezeichnet wird.
  • Eine neuere Technologie für USB-Steckverbinder, genannt USB-Typ-C, wurde kürzlich in verschiedenen Ausgaben der USB-Typ-C-Spezifikation definiert. Die verschiedenen Ausgaben der USB-Typ-C-Spezifikation definieren USB-Typ-C-Behältnis, -Stecker und -Kabel, die USB-Kommunikationen sowie Leistungsversorgung über neuere USB-Leistungsversorgungsprotokolle unterstützen, die zum Beispiel in einer oder mehreren Revisionen der USB-PD-Spezifikationen (USB-PD - USB Power Delivery) definiert sind.
  • Einige elektronische Vorrichtungen können mit einer spezifischen Ausgabe und/oder Version der USB-Typ-C-Spezifikation kompatibel sein. Wie hierin verwendet, kann sich „USB-Typ-C-Subsystem“ zum Beispiel auf Hardwareschaltungsanordnung beziehen, die durch Firmware und/oder Software in einer IC-Steuerung (IC - Integrated Circuit) gesteuert werden kann, die zum Ausführen der Funktionen und Erfüllen der in mindestens einer Ausgabe der USB-Typ-C-Spezifikation spezifizierten Anforderungen konfiguriert und ausgelegt ist. Beispiele für solche Typ-C-Funktionen und - Anforderungen können Daten- und andere Kommunikationen gemäß den USB 2.0 und USB 3.0/3.1, elektromechanische Definitionen und Performance-Anforderungen für Typ-C-Kabel, elektromechanische Definitionen und Performance-Anforderungen für Typ-C-Behältnisse, elektromechanische Definitionen und Performance-Anforderungen für Typ-C-Stecker, Anforderungen für Typ-C-zu-Legacy-Kabel-Anordnungen und - Adapter, Anforderungen für Typ-C-basierte Vorrichtungsdetektion und Schnittstellenkonfiguration, Anforderungen für optimierte Leistungsversorgung für Typ-C-Steckverbinder und so weiter umfassen. Gemäß den USB-Typ-C-Spezifikation(en) stellt ein Typ-C-Port u. a. die Leitungen VBUS, D+, D-, GND, SSTX+, SSTX-, SSRX+ und SSRX- bereit.
  • Einige elektronische Vorrichtungen verwenden eine Niederspannungs-USB-2.0-Schnittstelle, die für Leistung optimiert ist, die mit der USB2-Bitübertragungsschichtspezifikation (z. B. ab Revision 1.1), Ergänzung zu USB 2.0, kompatibel ist, und als eingebetteter USB (eUSB oder eUSB2) bezeichnet wird. eUSB verwendet 1,2-V-Signalisierung zum Entkoppeln von externen USB-2.0- und/oder USB-Typ-C-Ports von internen Komponenten elektronischer Vorrichtungen, die mit Knoten einfacherer Technologie hergestellt sind, die mit niedrigeren Spannungen arbeiten. Ein High-Speed-Repeater zwischen einer USB-fähigen Hostvorrichtung und einer USB-kompatiblen elektronischen Vorrichtung kann zwischen Signalisierung konvertieren, welche die Standards eUSB und USB 2.0 verwendet.
  • Eine eUSB-kompatible elektronische Vorrichtung kann durch einen oder mehrere Hubs mit einer USB-fähigen Hostvorrichtung verbunden werden, um ein USB-fähiges System zu bilden. Die Vorrichtung kann durch den einen oder die mehreren Hubs Datenpakete unter Verwendung von USB-2.0- und/oder USB-Typ-C-Ports mit dem Host austauschen und Leistung vom Host empfangen. Ein Hub ermöglicht dem Host, den Host mit einer Kombination von Vorrichtungen zu verbinden, die mit verschiedenen Datenraten arbeiten. Ein Repeater im Hub kann ein USB-Paket empfangen, das vom Host mit einer höheren Datenrate gesendet wird, und er kann das USB-Paket mit der gleichen Datenrate oder einer niedrigeren Datenrate an die Vorrichtungen weitersenden. Gemäß USB 2.0 ist das USB-fähige System in der Lage, mit einer High-Speed-(HS-)Rate mit einer maximalen Datenrate von 480 Mbits pro Sekunde (Mbit/s) zu arbeiten. Die Vorrichtungen können nötigenfalls auf die Full-Speed-(FS-)Rate von 12 Mbit/s oder die Low-Speed-(LS-)-Rate von 1,5 Mbit/s von USB 1.0 zurückgreifen. Ein USB-2.0-kompatibler Repeater kann Taktregenerierungsfunktionalität für High-Speed, Full-Speed und Low-Speed unterstützen.
  • 1 ist ein Blockdiagramm, das einen Repeater 100 eines USB-Subsystems gemäß einem Aspekt der vorliegenden Offenbarung veranschaulicht. Solch ein USB-Subsystem kann als Teil und/oder innerhalb eines USB-fähigen Systems, wie beispielsweise eines USB2.0-Hubs oder einer USB2.0-Dockingstation, implementiert sein. Der Repeater 100 kann in einen auf einem IC-Die gefertigten IC-Steuerchip (IC - Integrated Circuit), beispielsweise einen IC-Steuerchip eines USB-Hubs, eingebettet sein. In einem anderen Beispiel kann der Repeater 100 eine Einzelchip-IC sein, die als ein Systemchip (SoC - System-on-Chip) gefertigt ist. Der Repeater 100 kann ein eUSB/USB-Repeater sein, der die Verstärkungsfunktionalität zwischen einem eingebetteten USB2-(eUSB2-)Port, der mit der eUSB2-Bitübertragungsschichtspezifickation 1.1, Ergänzung zu USB 2.0, kompatibel ist, und einem USB-2.0-kompatiblen USB2-Port ausführt. In einem anderen Beispiel kann der Repeater 100 die Verstärkungsfunktionalität zwischen zwei USB2-Ports ausführen.
  • Unter anderen Komponenten kann der Repeater 100 ein CPU-Subsystem 102, einen System-Interconnect 112, einen Peripheriegeräte-Interconnect 114, Systemressourcen 116, verschiedene Eingabe-/Ausgabeblöcke (z. B. 118A-118C) und ein eUSB-Repeater-Subsystem 124 umfassen. Außerdem kann der Repeater 100 Schaltungsanordnung und Firmware bereitstellen, die zum Unterstützen einer Anzahl von Leistungszuständen 122 konfiguriert und ausgelegt sind. Das CPU-Subsystem 102 kann eine oder mehrere zentrale Verarbeitungseinheiten (CPU - Central Processing Unit) 104, Flash-Speicher 106, statischen Direktzugriffsspeicher (SRAM - Static Random Access Memory) 108 und Festwertspeicher (ROM - Read Only Memory) 110 umfassen, die mit dem System-Interconnect 112 gekoppelt sind. Die CPU 104 ist ein geeigneter Prozessor, der in einer Systemchip-Vorrichtung arbeiten kann. In einigen Ausführungsformen kann die CPU 104 für Niederleistungsbetrieb mit extensiver Taktsteuerung optimiert sein und verschiedene interne Steuerschaltungen umfassen, die der CPU 104 ermöglichen, in verschiedenen Leistungszuständen zu arbeiten.
  • Zum Beispiel kann die CPU 104 eine Aufweck-Interrupt-Steuerung umfassen, die zum Aufwecken der CPU 104 aus einem Schlafzustand konfiguriert ist, um dadurch ein Schalten von Leistung auf „AUS“ zu ermöglichen, wenn der Repeater 100 im Schlafzustand ist. Der Flash-Speicher 106 kann jeder Typ von Programmspeicher (z. B. NAND-Flash, NOR-Flash und so weiter) sein, der zum Speichern von Daten und/oder Programmen konfiguriert werden kann. Der SRAM 108 kann jeder Typ von flüchtigem oder nichtflüchtigem Speicher sein, der zum Speichern von Daten und Firmware-/Software-Anweisungen geeignet ist, auf die von der CPU 104 zugegriffen wird. Der ROM 110 kann jeder Typ von geeignetem Speicher sein, der zum Speichern von Startroutinen, Konfigurationsparametern und anderen Systemchip-Firmwareparametern und -einstellungen konfiguriert werden kann. Der System-Interconnect 112 ist ein Systembus (z. B. ein Advanced High-Performance Bus bzw. AHB mit einer oder mehreren Ebenen), der als eine Schnittstelle, welche die verschiedenen Komponenten des CPU-Subsystems 102 miteinander verbindet, sowie eine Daten- und Steuerschnittstelle zwischen den verschiedenen Komponenten des CPU-Subsystems und dem Peripheriegeräte-Interconnect 114 konfiguriert ist.
  • Der Peripheriegeräte-Interconnect 114 ist ein Peripheriebus (z. B. AHB mit einer Ebene oder mehreren Ebenen), der die primäre Daten- und Steuerschnittstelle zwischen dem CPU-Subsystem 102 und seinen Peripheriegeräten und anderen Ressourcen, wie etwa den Systemressourcen 116, den E/A-Blöcken (z. B. 118A-118C) und dem eUSB-Repeater-Subsystem 124, bereitstellt. Der Peripheriegeräte-Interconnect 114 kann verschiedene Steuerschaltungen (z. B. Speicherdirektzugriffs- bzw. DMA-Steuerungen) umfassen, die so programmiert sein können, dass sie Daten zwischen Peripherieblöcken übertragen, ohne das CPU-Subsystem zu belasten. In verschiedenen Ausführungsformen können jede der Komponenten des CPU-Subsystems 102 und der Peripheriegerät-Interconnect 114 mit jeder Wahl oder jedem Typ von CPU, Systembus und/oder Peripheriebus verschieden sein.
  • Die Systemressourcen 116 können verschiedene elektronische Schaltungen umfassen, die den Betrieb des Repeaters 100 in seinen verschiedenen Zuständen und Modi unterstützen. Zum Beispiel können die Systemressourcen 116 ein Leistungssubsystem umfassen, das die Leistungsressourcen bereitstellt, die für jeden Steuerungszustand/- modus erforderlich sind, wie beispielsweise Spannungs- und/oder Stromreferenzen, Aufweck-Interrupt-Steuerung (WIC), Power-On-Reset (POR) usw. In einigen Ausführungsformen kann das Leistungssubsystem der Systemressourcen 116 außerdem Schaltungen umfassen, die es dem Repeater 100 ermöglichen, Leistung mit verschiedenen Spannungs- und/oder Strompegeln von externen Quellen aufzunehmen und/oder für diese bereitzustellen. Die Systemressourcen 116 können auch ein Taktsubsystem umfassen, das verschiedene Takte bereitstellt, die vom Repeater 100 sowie Schaltungen verwendet werden, die verschiedene Steuerfunktionen, wie externe Rücksetzung, implementieren.
  • Eine IC-Steuerung, wie beispielsweise der Repeater 100, kann verschiedene Typen von E/A-Blöcken und Subsystemen in verschiedenen Ausführungsformen und Implementierungen umfassen. Zum Beispiel kann der Repeater 100 in der Ausführungsform, die in 1 veranschaulicht ist, Allzweck-Eingabe-/Ausgabeblöcke (GPIO - General Purpose Input Output) 118A, Zeitgeber-/Zähler-IImpulsbreitenmodulationsblöcke (TCPWM - Timer/Counter/Pulse-Width-Modulation) 118B, serielle Kommunikationsblöcke (SCB - Serial Communication Block) 118C und ein eUSB-Repeater-Subsystem 124 umfassen. Die GPIOs 118A umfassen Schaltungen, die zum Implementieren verschiedener Funktionen, wie beispielsweise Pull-Up, Pull-Down, Eingabeschwellenauswahl, Aktivieren/Deaktivieren von Eingabe- und Ausgabepuffer, Multiplexen von Signalen, die mit verschiedenen E/A-Stiften verbunden sind, usw. konfiguriert sind. Die TCPWMs 118B umfassen Schaltungen, die zum Implementieren von Zeitgebern, Zählern, Impulsbreitenmodulatoren, Decodern und verschiedenen anderen Analog-/Mischsignal-Elementen konfiguriert sind, die zum Verarbeiten von Eingangs-/Ausgangssignalen konfiguriert sind. Die SCBs 118C umfassen Schaltungen, die zum Implementieren verschiedener serieller Kommunikationsschnittstellen konfiguriert sind, wie beispielsweise I2C, SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver/Transmitter) und so weiter.
  • In bestimmten Ausführungsformen kann das eUSB-Repeater-Subsystem 124 gemäß den hierin beschriebenen Techniken verwendet werden, und außerdem kann es Unterstützung von USB-Kommunikation über USB-Ports sowie andere USB-Funktionalität wie Leistungsversorgung und Batterieaufladung bereitstellen. Zum Beispiel kann das eUSB-Repeater-Subsystem 124 ein USB-PD-Subsystem, ein USB-Typ-C-Subsystem (z. B. ein USB-Typ-C-Subsystem, das USB-PD-Funktionalität unterstützt) oder beides sein. Das eUSB-Repeater-Subsystem 124 kann einen Sendeempfänger und Bitübertragungsschichtlogik (PHY) 126, 128 für eUSB2 bzw. USB 2.0 umfassen, die als integrierte Basisband-PHY-Schaltungen konfiguriert sind, um verschiedene digitale Codier-/Decodierfunktionen (z. B. Biphase-Mark-Code-,BMC-,Codierung/-Decodierung, zyklische Redundanzprüfungen, CRC, und so weiter) und Analogsignalverarbeitungsfunktionen auszuführen, die an Übertragungen auf der Bitübertragungsschicht beteiligt sind. Das eUSB-Repeater-Subsystem 124 kann als eUSB-Taktregenerierungsrepeater bezeichnet werden. In verschiedenen Ausführungsformen kann ein Repeater (z. B. das eUSB-Repeater-Subsystem 124) als Hardwarelogik implementiert sein, die verschiedene Komponenten, wie beispielsweise Logikgatter, Addierer, Multiplexer, Latches, Flipflops, Zähler, Register, Transistoren, Dioden, Widerstände, Kondensatoren und verschiedene Schaltungen davon, umfasst. Wie im Folgenden ausführlicher erörtert wird, kann das eUSB-Repeater-Subsystem 124 Schaltungsanordnung zum Entfernen von Dribble-Bits nach dem EOP eines High-Speed-Datenpakets oder Regenerieren von Bits der SYNC-Bits des High-Speed-Datenpakets umfassen. Obwohl Aspekte der Offenbarung unter Verwendung von High-Speed-Datenpaketen veranschaulicht werden, die von der eUSB-PHY 126 zur Übertragung durch die USB-PHY 128 empfangen werden, sind die Operationen zum Entfernen von Dribble-Bits und Regenerieren von verlorengegangenen SYNC-Bits gleichermaßen auf High-Speed-Datenpakete anwendbar, die von der USB-PHY 128 zur Übertragung durch die eUSB-PHY 126 empfangen werden.
  • 2 ist ein Blockdiagramm, welches das eUSB-Repeater-Subsystem 124 von 1, das zum Verstärken von High-Speed-Datenpaketen zwischen einem eingebetteten USB2-(eUSB2-)Port und einem USB2-Port verwendet wird, gemäß einem Aspekt der vorliegenden Offenbarung veranschaulicht. Das eUSB-Repeater-Subsystem 124 kann einen seriellen High-Speed-Repeater 134, der zum Durchführen von Taktregenerierungs- und Verstärkungsfunktionalität der High-Speed-Datenpakete konfiguriert ist, eine serielle Schnittstellen-Engine 132, die zum Detektieren von Ereignissen am eUSB2- und am USB2-Port konfiguriert ist, und eine Repeater-Zustandsmaschine umfassen, die zum Bestimmen von Zuständen des seriellen High-Speed-Repeaters 134 basierend auf den detektierten Ereignissen konfiguriert ist. Das eUSB-Repeater-Subsystem 124 kann mit dem eUSB2-Port und dem USB2-Port durch die eUSB-PHY 126 bzw. die USB PHY-128 verbunden sein.
  • Die eUSB-PHY 126 kann mit einem Host oder einem intervenierenden Hub/Repeater verbunden sein, um High-Speed-Datenpakete zu empfangen, die vom Host durch ein differenzielles Paar von Datenleitungen DP und DM gesendet werden. Die USB-PHY 128 kann mit einer Vorrichtung oder einem intervenierenden Hub/Repeater verbunden sein, um die High-Speed-Datenpakete mit der gleichen oder einer niedrigeren Datenrate durch ein zweites differenzielles Paar von Datenleitungen DP und DM an die Vorrichtung zu senden. Hinsichtlich Daten von der Vorrichtung für den Host kann die USB-PHY 128 High-Speed-Datenpakete von der Vorrichtung empfangen, und die eUSB-PHY 126 kann die High-Speed-Datenpakete mit der gleichen oder einer niedrigeren Datenrate an den Host senden. Die eUSB-PHY 126 und die USB-PHY 128 können jeweils einen Übertragungshüllkurvendetektor (z. B. als Hardwarelogik implementiert) umfassen, um eine Funktion für Takt- und Datenwiederherstellung (CDR - Clock And Data Recovery) zum Aufsynchronisieren auf die SYNC-Bits der empfangenen Datenpakete auszuführen. Der Übertragungshüllkurvendetektor kann ein Rauschunterdrückungssignal erzeugen, um anzuzeigen, dass keine Daten vorhanden sind, wenn es weniger als 100 uV zwischen einem differenziellen Paar von Datenleitungen gibt. Aufgrund der inhärenten Verzögerung im Übertragungshüllkurvendetektor, auch als Rauschunterdrückungsverzögerung bezeichnet, können die eUSB-PHY 126 und die USB-PHY 128 bis zu vier Bits am Anfang der SYNC-Bits verlieren und bis zu vier Dribble-Bits nach dem EOP einfügen.
  • Der serielle High-Speed-Repeater 134 kann Schaltungsanordnung zum Verhindern von Verlust von SYNC-Bits durch Regenerieren der verlorengegangenen SYNC-Bits umfassen, um am Ausgang des eUSB-Repeater-Subsystems 124 eine programmierbare Anzahl von SYNC-Bits bis zu ihrer vollen Anzahl zu senden. Ein elastischer Puffer, wie beispielsweise ein Zuerst-rein-zuerst-raus- bzw. FIFO-Puffer (FIFO - First-In First-Out) kann Daten speichern, die durch die eUSB-PHY 126 oder die USB-PHY 128 empfangen werden, wenn der Übertragungshüllkurvendetektor den Bitstrom eines High-Speed-Datenpakets detektiert. Wenn der elastische Puffer die Hälfte seiner Tiefe oder eine vorkonfigurierte Schwelle erreicht, können die SYNC-Bits seriell ausgelesen werden. Für jedes aus dem elastischen Puffer ausgelesene SYNC-Bit wird ein SYNC-Bit gesendet. Wenn das Ende der SYNC ausgelesen wird, bevor die programmierbare Anzahl von SYNC-Bits gesendet wurde, kann der serielle High-Speed-Repeater 134 die Operation des Auslesens des elastischen Puffers anhalten. Der serielle High-Speed-Repeater 134 kann dann zum Generieren und Senden zusätzlicher SYNC-Bits übergehen, bis die programmierbare Anzahl von SYNC-Bits gesendet ist. Das Auslesen des elastischen Puffers kann dann fortgesetzt werden, um den Rest des High-Speed-Datenpakets ab der Nutzlast zu senden.
  • Der serielle High-Speed-Repeater 134 kann außerdem Schaltungsanordnung zum Verhindern der Hinzufügung von Dribble-Bits nach dem EOP durch Abstreifen der Dribble-Bits vor der Übertragung umfassen. Wenn die aus dem elastischen Puffer ausgelesenen Bits das EOP anzeigen, kann der serielle High-Speed-Repeater 134 Übertragung der Dribble-Bits für eine vorbestimmte Anzahl von Bits deaktivieren. Wenn der Übertragungshüllkurvendetektor aktive Daten detektiert, kann der elastische Puffer den Bitstrom des nächsten High-Speed-Datenpakets wieder speichern. Die wiederhergestellten SYNC-Bits, die dem High-Speed-Datenpaket vorangehen, entlasten den vorgesehenen Empfänger der High-Speed-Datenpakets hinsichtlich dessen, sich unter Verwendung von weniger als der vollen Anzahl von SYNC-Bits auf den Bitstrom aufsynchronisieren zu müssen. Die entfernten Dribble-Bits nach dem High-Speed-Datenpaket entlasten den vorgesehenen Empfänger außerdem hinsichtlich dessen, die Dribble-Bits ignorieren zu müssen, um Fehlinterpretieren der Dribble-Bits als ein neues Paket zu vermeiden.
  • Die serielle Schnittstellen-Engine 132 kann Aktivitäten am eUSB2- und am USB2-Port überwachen, um Busereignisse zu decodieren und entsprechende Aktionen auszulösen. Die serielle Schnittstellen-Engine 132 kann Busereignisse decodieren, um die Repeater-Zustandsmaschine 130 auszulösen und den Datenpfad von Paketen durch den seriellen High-Speed-Repeater 134 zu steuern. Zum Beispiel kann die serielle Schnittstellen-Engine 132 die Geschwindigkeit des Empfängers (z. B. High-Speed, Full-Speed oder Low-Speed) bestimmen, die Konfiguration des eUSB2- und des USB2-Port detektieren, den Zustand der Datenleitungen des Hosts oder der Vorrichtung überwachen usw., um die Verstärkungs- und Taktregenerierungsfunktionalität des seriellen High-Speed-Repeaters 134 zu aktivieren.
  • Die Repeater-Zustandsmaschine 130 kann decodierte Busereignisse von der seriellen Schnittstellen-Engine 132 und interne Zustände des seriellen High-Speed-Repeater 134 empfangen, um den Betrieb des seriellen High-Speed-Repeater 134, einschließlich des Betriebs zum Regenerieren der verlorengegangenen SYNC-Bits und Entfernen der Dribble-Bits von High-Speed-Datenpaketen, zu steuern. Die Repeater-Zustandsmaschine 130 kann auch die Zustände des eUSB-Repeater-Subsystems 124 zum Implementieren der mit der eUSB-Spezifikation kompatiblen Zustände steuern.
  • 3 veranschaulicht den Betrieb der Repeater-Zustandsmaschine 130 des eUSB-Repeater-Subsystems 124 gemäß einem Aspekt der vorliegenden Offenbarung. Bei Zustand 301 ist die Repeater-Zustandsmaschine 130 im inaktiven Zustand, wenn es keine Daten auf den differenziellen Datenleitungen DP und DM gibt. Zum Beispiel kann die Repeater-Zustandsmaschine 130 im inaktiven Zustand 301 sein, wenn der Übertragungshüllkurvendetektor ein Rauschunterdrückungssignal erzeugt, das anzeigt, dass es weniger als 100 uV zwischen den differenziellen Datenleitungen der eUSB2-PHY 126 gibt.
  • Wenn es Aktivität auf den Datenleitungen gibt, wie durch die Abwesenheit der Rauschunterdrückungssignals angezeigt, beispielsweise wenn der Übertragungshüllkurvendetektor mehr als 100uV zwischen den differenziellen Datenleitungen und der eUSB-PHY 126 detektiert, geht die Repeater-Zustandsmaschine 130 in den Paketüberwachungszustand 303 über. Im Paketüberwachungszustand 303 fährt der serielle High-Speed-Repeater 134 mit dem Überwachen von Aktivitäten auf den Datenleitungen fort und kann den Bitstrom von Daten, der durch die eUSB-PHY 126 detektiert wird, im elastischen Puffer speichern. Die Daten können die SYNC-Bits eines High-Speed-Datenpakets sein. Wenn jedoch das Rauschunterdrückungssignal erkannt wird, bevor der elastische Puffer die Hälfte seiner Tiefe oder eine vorkonfigurierte Schwelle erreicht, kehrt die Repeater-Zustandsmaschine 130 in den inaktiven Zustand 301 zurück. Dies kann geschehen, wenn Rauschen auf den Datenleitungen als Datenaktivität fehlinterpretiert wurde, um die Repeater-Zustandsmaschine 130 zu veranlassen, vom inaktiven Zustand 301 kurz in den Paketüberwachungszustand 303 überzugehen.
  • Wenn der elastische Puffer die Hälfte seiner Tiefe oder eine vorkonfigurierte Schwelle erreicht und der Anfang des High-Speed-SYNC-Musters aus dem elastischen Puffer identifiziert wurde, geht die Repeater-Zustandsmaschine 130 vom Paketüberwachungszustand 303 in den Tx-Aktivierungszustand 305 über. Im Tx-Aktivierungszustand 305 sendet der serielle High-Speed-Repeater 134 ein SYNC-Bit für jedes aus dem elastischen Puffer ausgelesene SYNC-Bit. Wenn die Anzahl von empfangenen SYNC-Bits niedriger als eine programmierbare Anzahl ist, kann der serielle High-Speed-Repeater 134 SYNC-Bits regenerieren, die verlorengingen, um die programmierbare Anzahl von SYNC-Bits des High-Speed-Sync-Musters zu senden. Der serielle High-Speed-Repeater 134 kann dann aus dem elastischen Puffer auslesen, um die Nutzlast zu senden, auf welche die EOP-Bits folgen. Wenn die EOP-Bits, die aus dem elastischen Puffer ausgelesen werden, Dribble-Bits nach dem EOP-Muster umfassen, kann der serielle High-Speed-Repeater 134 die Übertragung der Dribble-Bits deaktivieren. Bei Abschluss der Übertragung des EOP-Musters kehrt die Repeater-Zustandsmaschine 130 in den inaktiven Zustand 301 zurück, um auf das nächste High-Speed-Datenpaket zu warten.
  • Wenn im Paketüberwachungszustand 303 der elastische Puffer die Hälfte seiner Tiefe oder die vorkonfigurierte Schwelle erreicht, aber der Anfang des High-Speed-SYNC-Musters nicht identifiziert wurde, geht die Repeater-Zustandsmaschine 130 in den Sync-ungültig-Zustand 307 über. Dies kann darauf zurückzuführen sein, dass die SYNC-Bits beschädigt wurden, es andere Aktivitäten als Datenpakete auf den Datenleitungen gibt, usw. Falls im Sync-ungültig-Zustand 307 das Rauschunterdrückungssignals fehlt, was fortdauernde Aktivität auf den Datenleitungen anzeigt, kehrt die Repeater-Zustandsmaschine 130 in den Paketüberwachungszustand 303 zurück, um mit dem Überwachen von Aktivitäten auf den Datenleitungen fortzufahren und den empfangenen Bitstrom im elastischen Puffer zu speichern. Wenn ein Rauschunterdrückungssignal im Sync-ungültig-Zustand 307 detektiert wird, kehrt die Repeater-Zustandsmaschine 130 in den inaktiven Zustand 301 zurück, um auf das nächste High-Speed-Datenpaket zu warten.
  • 4A veranschaulicht einen High-Speed-Repeater, der aufgrund von Rauschunterdrückungsverzögerung des Übertragungshüllkurvendetektors SYNC-Bits am Anfang eines High-Speed-Datenpakets verliert und Dribble-Bits nach dem Ende des Pakets einführt. Die DP- und DM-Eingänge sind anfänglich beide auf einem L-Pegel in einem Zustand, der als Single-Ended-Zero (SE0) bezeichnet wird, um einen Ruhezustand anzuzeigen. Das SYNC-Muster für das High-Speed-Datenpaket ist als eine 32-Bit-Sequenz von 15 Paaren von KJ, gefolgt von KK spezifiziert, wobei K einen L-Pegel am DP-Eingang und einen H-Pegel am DM-Eingang bezeichnet, und J einen H-Pegel am DP-Eingang und einen L-Pegel am DM-Eingang bezeichnet. USB2 codiert Daten unter Verwendung der Non-Return-to-Zero-Inversion-(NRZI-)Codierung, wobei ein gesendetes „1er“-Bit durch einen Nicht-Pegelübergang an den DP/DM-Eingängen dargestellt wird, und ein „0“-Bit durch einen Pegelübergang an den DP/DM-Eingängen dargestellt wird. Das SYNC-Muster ermöglicht dem Übertragungshüllkurvendetektor ein Durchführen von Takt- und Datenwiederherstellung, um sich auf die Bitströme des High-Speed-Datenpakets aufzusynchronisieren.
  • Nach dem SYNC-Muster kommt der Bitstrom der Nutzlast des High-Speed-Datenpakets. Ein EOP-Byte-Muster von einer „0“, gefolgt von sieben „1en“ zeigt das Ende des Pakets an. Das EOP-Byte-Muster kann durch „JKKKKKKK“ an den DP/DM-Eingängen codiert sein, wie dargestellt. Das EOP-Muster wird gewählt, da, wenn es einen Durchgang von mehr als sechs „1en“ in einer Zeile in der Nutzlast gibt, automatisch eine „0“ zur Übertragung eingefügt wird, die beim Empfang entfernt wird. Diese Bitstopftechnik hilft, sicherzustellen, dass es genügend Übergänge auf dem NRZI-codierten Datenstrom gibt, um Taktwiederherstellung zu ermöglichen. Demnach stellt das EOP-Byte einen Bitstopffehler dar, der nicht mit der Nutzlast assoziiert werden sollte und zum Anzeigen des EOP verwendet werden kann. Nach dem EOP-Byte kehren die DP/DM-Eingänge wieder in den SEO-Zustand zurück.
  • Aufgrund der inhärenten Verzögerung des Übertragungshüllkurvendetektors kann der High-Speed-Repeater am Anfang des SYNC-Musters Bits verlieren und nach dem EOP Dribble-Bits einfügen. Wenn dies nicht korrigiert wird, kann der vorgesehene Empfänger des High-Speed-Datenpakets weniger als das vollständige SYNC-Muster empfangen oder die Dribble-Bits als ein neues Paket fehlinterpretieren. 4A zeigt die DP/DM-Ausgaben aus dem High-Speed-Repeater, wobei die ersten drei Bits (KJK) des SYNC-Musters aufgrund von SYNC-Bitverlust fehlen und drei Dribble-Bits (JKJ) nach dem EOP hinzugefügt sind.
  • 4B veranschaulicht den High-Speed-Repeater, der SYNC-Bits am Anfang eines High-Speed-Datenpakets regeneriert und Dribble-Bits nach dem Ende des Pakets entfernt, um den beschädigten Bitstrom von 4A zu reparieren, gemäß einem Aspekt der vorliegenden Offenbarung. Der High-Speed-Repeater regeneriert die ersten drei (KJK) des SYNC-Musters und entfernt die drei Dribble-Bits (JKJ) nach dem EOP, so dass der Bitstrom des High-Speed-Datenpakets, das vom High-Speed-Repeater an den DP-DM-Ausgängen gesendet wird, eine zeitverzögerte Version des durch die DP-DM-Eingänge empfangenen Pakets ist. In einem Aspekt kann die Anzahl von SYNC-Bits, die vom High-Speed-Repeater gesendet wird, eine andere programmierbare Anzahl als die 32 Bits des vollständigen SYNC-Musters sein. Die programmierbare Anzahl kann zum Beispiel als ein Wert implementiert sein, der in einem programmierbaren (z. B. Firmware-) Register gespeichert ist, auf das zugegriffen werden kann und das durch eine IC-Schnittstelle des Repeaters 100 programmiert werden kann.
  • 5 ist ein Blockdiagramm eines Moduls eines Repeaters, das zum Regenerieren vom SYNC-Bits eines High-Speed-Datenpakets verwendet wird, gemäß einem Aspekt der vorliegenden Offenbarung. Das Modul kann zum seriellen High-Speed-Repeater 134 von 2 gehören. Ein FIFO 501, der auch als elastischer Puffer bezeichnet werden kann, kann die Daten, die vom Übertragungshüllkurvendetektor der eUSB-PHY 126 an den DP/DM-Eingängen detektiert werden, speichern, wenn es Aktivität gibt, die an den DP/DM-Eingängen detektiert wird. Der FIFO 501 kann den Bitstrom unter Verwendung des aus den DP/DM-Eingaben wiederhergestellten Taktes seriell speichern. In einem Aspekt kann der wiederhergestellte Takt mit 480 MHz laufen, um die High-Speed-Datenrate von 480 Mbit/s zu ermöglichen. Ab dem Ruhezustand der Eingangs-DP/DM kann der FIFO 501 die SYNC-Bits eines High-Speed-Datenpakets speichern, wenn es Aktivität auf den Datenleitungen gibt.
  • Wenn der FIFO 501 halb voll ist, kann eine Lesesteuerlogik 503 beginnen, den FIFO 501 zur Übertragung auszulesen. In einem Aspekt kann Übertragung beginnen, wenn die Anzahl von Bits im FIFO 501 eine vorkonfigurierte Schwelle erreicht. In einem Aspekt kann die Lesesteuerlogik 503 verifizieren, dass das aus dem FIFO 501 ausgelesene Bit ein SYNC-Bit vor der Übertragung ist. Die Lesesteuerlogik 503 kann die Daten basierend auf einem Sendetakt seriell auslesen. In einem Aspekt kann der Sendetakt mit derselben Frequenz wie der wiederhergestellte Takt laufen, um die Daten mit der High-Speed-Datenrate von 480 Mbit/s zu übertragen. Für jedes aus dem FIFO 501 ausgelesene Bit kann die Lesesteuerlogik 503 einen Zähler 505 zum Zählen der Anzahl von empfangenen SYNC-Bits inkrementieren.
  • Der Zähler 505 wird mit einem programmierbaren Register 507 verglichen. Das programmierbare Register 507 kann die Anzahl von zu sendenden SYNC-Bits spezifizieren. In einem Aspekt kann das programmierbare Register 507 einen Wert von 32 zum Spezifizieren des vollständigen SYNC-Musters enthalten. In einem Aspekt kann das programmierbare Register 507 weniger als 32 oder mehr als 32 sein, um Übertragung eines partiellen SYNV-Musters zu ermöglichen, das immer noch länger als die erwartete Länge der empfangenen SYNC-Bits ist. Für jedes aus dem FIFO 501 ausgelesene Bit, das nicht das Ende des SYNC-Musters (d. h. den „KK“-Zustand) anzeigt, und wenn der Zähler 505 kleiner als das programmierbare Register 507 ist, kann ein SYNC-Bit durch den Toggle-Flipflop 509 generiert und durch einen Mux 511 gesendet werden. Der Toggle-Flipflop 509 generiert abwechselnde „KJ“-Zustände des SYNC-Musters für die Sendedaten.
  • Wenn das aus dem FIFO 501 ausgelesene Bit das Ende des SYNC-Musters (einen weiteren „K“-Zustand nach einem „K“-Zustand statt eines „J“-Zustands nach dem „K“) anzeigt und der Zähler 505 die Anzahl von zu sendenden SYNC-Bits im programmierbaren Register 507 nicht erreicht hat, ist die Anzahl von SYNC-Bits, die durch den Repeater empfangen werden, kleiner als die spezifizierte Anzahl von zu sendenden SYNC-Bits. Die Lesesteuerlogik 503 kann die Operation des Auslesens von Daten aus dem FIFO 501 anhalten. Der Toggle-Flipflop 509 kann jedoch mit dem Generieren von abwechselnden „KJ“-Bits des SYNC-Musters zur Übertragung fortfahren, und der Zähler 505 kann mit dem Inkrementieren zum Zählen der Anzahl von gesendeten SYNC-Bits fortfahren. Wenn der Zähler 505 das programmierbare Register 507 erreicht, kann die Lesesteuerlogik 503 das Auslesen des Rests des High-Speed-Datenpakets aus dem FIFO 501 wiederaufnehmen. Der Repeater kann den Mux 511 zum Auswählen des Endes des SYNC-Musters und des Bitstroms der aus dem FIFO 501 ausgelesenen Nutzlast zur Übertragung schalten. Der Repeater regeneriert auf diese Weise die verlorengegangenen SYNC-Bits, bis die Anzahl von SYNC-Bits gesendet wird, die durch das programmierbare Register 507 spezifiziert ist. Während des Intervalls, in dem die Operation des Auslesens von Daten aus dem FIFO 501 gestoppt wird, um die verlorengegangenen SYNC-Bits zu regenerieren, fährt der FIFO 501 mit dem Speichern des Bitstroms des High-Speed-Datenpakets fort, das von der eUSB-PHY 126 empfangen wird. Der FIFO 501 kann so bemessen sein, dass er die maximale Anzahl von Bits unterbringt, die während dieses Intervalls empfangen werden. In einem Aspekt kann die maximale Anzahl von Bits, die während dieses Intervalls empfangen werden kann und die auch die maximale Anzahl von verlorengegangenen SYNC-Bits ist, die regeneriert wurden, zwischen 12 und 32 betragen.
  • Wenn der Zähler 505 die Anzahl von zu sendenden SYNC-Bits im programmierbaren Register 507 erreicht, bevor das Ende des SYNC-Musters aus dem FIFO 501 ausgelesen wird, ist die Anzahl von SYNC-Bits, die durch den Repeater empfangen werden, höher als die spezifizierte Anzahl von zu sendenden SYNC-Bits. Die Operation des Auslesens von Daten aus dem FIFO 507 kann weitergehen, der Toggle-Flipflop 509 kann mit dem Generieren der zu sendenden Bits des SYNC-Musters fortfahren, und der Zähler kann mit dem Inkrementieren zum Zählen der Anzahl von empfangenen und gesendeten SYNC-Bits fortfahren, bis das Ende des SYNC-Musters ausgelesen wird. Wenn Ende des SYNC-Musters aus dem FIFO 507 ausgelesen ist, kann der Repeater den Mux 511 zum Senden des Endes des SYNC-Musters und des Bitstroms der Nutzlast des aus dem FIFO 501 ausgelesenen High-Speed-Datenpakets schalten. Der Repeater kann auf diese Weise alle der empfangenen SYNC-Bits senden, wenn die Anzahl von empfangenen SYNC-Bits höher als die Anzahl von zu sendenden SYNC-Bits ist.
  • Falls der Zähler 505 die Anzahl von zu sendenden SYNC-Bits im programmierbaren Register 507 erreicht, wenn das Ende des SYNC-Musters aus dem FIFO 501 ausgelesen ist, ist die Anzahl von SYNC-Bits, die durch den Repeater empfangen werden, gleich wie die spezifizierte Anzahl von zu sendenden SYNC-Bits. Der Repeater kann den Mux 511 zum Senden des Endes des SYNC-Musters und des Bitstroms der Nutzlast des aus dem FIFO 501 ausgelesenen High-Speed-Datenpakets schalten.
  • 6 ist ein Blockdiagramm eines Moduls eines Repeaters, das zum Entfernen von Dribble-Bits eines High-Speed-Datenpakets verwendet wird, gemäß einem Aspekt der vorliegenden Offenbarung. Das Modul kann zum seriellen High-Speed-Repeater 134 von 2 gehören. Wie in 5 kann ein FIFO 501 den Bitstrom eines High-Speed-Datenpakets speichern, das vom Übertragungshüllkurvendetektor der eUSB-PHY 126 an den DP/DM-Eingängen detektiert wird. Der FIFO 501 kann den Bitstrom unter Verwendung des aus den DP/DM-Eingaben wiederhergestellten Taktes seriell speichern.
  • Die Lesesteuerlogik 503 kann den FIFO 501 zur Übertragung unter Verwendung des Sendetakts seriell auslesen. Der Repeater kann die Nutzlast des aus dem FIFO 501 ausgelesenen High-Speed-Datenpakets durch einen Treiber 513 mit Dribble-Entfernungsfähigkeit senden. Die Lesesteuerlogik 503 kann die aus dem FIFO 501 ausgelesenen Daten auf das EOP-Byte-Muster (z. B. „JKKKKKKK“-Muster) überwachen. Wenn das EOP-Byte-Muster detektiert wird, kann die Lesesteuerlogik 503 ein EOP-Detektionssignal generieren. Der Treiber 513 kann das EOP-Detektionssignal empfangen, um jegliche Dribble-Bits nach dem EOP zu entfernen. In einem Aspekt können Dribble-Bits nach der Detektion des EOP weiter aus dem FIFO 501 ausgelesen werden, bis es keine Daten mehr im FIFO 501 gibt oder bis das SYNC-Muster des nächsten High-Speed-Datenpakets detektiert wird. Der Treiber 513 kann Übertragung der Dribble-Bits nach dem EOP-Byte-Muster für diese Dauer verhindern. In einem Aspekt kann der Treiber 513 die DP/DM-Leitungen des Datensendeports nach der Übertragung des EOP-Musters auf SE0 (z. B. in den Ruhezustand) steuern, um Übertragung der Dribble-Bits zu verhindern.
  • In verschiedenen Ausführungsformen kann der Treiber 513 als Hardwarelogik implementiert sein, die geeignete digitale und/oder analoge Komponenten umfasst. In einem Aspekt kann der Treiber 513 die Übertragung der Dribble-Bits für ein minimales Zeitintervall zwischen aufeinanderfolgenden High-Speed-Datenpaketen oder für eine programmierbare Anzahl von Sendetakten verhindern, um sicherzustellen, dass alle Dribble-Bits von den gesendeten Daten abgestreift werden. Für isochrone Pakete kann jedoch ein 1-Bit-Bitstopffehler als ein EOP-Byte-Muster interpretiert werden und zu einem Paketverlust führen, wen ein oder mehrere Bits nach dem 1-Bit-Bitstopfehler abgestreift werden. In einem Aspekt kann der Treiber 513 nach dem Header in isochronen Paketen suchen, um zwischen einem 1-Bit-Bitstopffehler und einem EOP zu unterscheiden und die Entfernung von Datenbits nach einem 1-Bit-Bitstopffehler zu verhindern.
  • 7 ist ein Flussdiagramm eines Verfahrens zur Regenerierung von SYNC-Bits eines High-Speed-Datenpakets aufgrund von Rauschunterdrückungsverzögerung gemäß einem Aspekt der vorliegenden Offenbarung. In einer beispielhaften Ausführungsform kann das Verfahren 700 vom seriellen High-Speed-Repeater 134 von 2 oder dem Repeater von 5 durchgeführt werden. In einer anderen beispielhaften Ausführungsform kann das Verfahren von einem Repeater durchgeführt werden, der die beschriebenen Operationen parallel durchführt. In einem Aspekt kann das Verfahren 700 unter Verwendung von Hardwarelogik oder Kombinationen von Hardwarelogik und programmierbaren Registern durchgeführt werden, welche Konfigurationswerte speichern.
  • Bei Operation 701 speichert ein serieller High-Speed-Repeater USB-Daten, die aus den DP/DM-Eingaben wiederhergestellt werden, seriell in einem FIFO. Die wiederhergestellten Daten können den Bitstrom eines High-Speed-Datenpakets darstellen, der das SYN-Muster, die Nutzlast und das EOP-Muster umfasst, wenn es Aktivität auf den Datenleitungen (z. B. keine Rauschunterdrückung) gibt, beispielsweise wenn der Übertragungshüllkurvendetektor des Repeaters aktive Daten eines High-Speed-Datenpakets detektiert. Die Daten können unter Verwendung eines aus den DP/DM-Eingaben wiederhergestellt High-Speed-Takts von 480 MHz gespeichert werden.
  • Bei Operation 703 liest der Repeater die gespeicherten Daten seriell aus dem FIFO aus, wenn die Anzahl von Daten im FIFO eine programmierbare Schwelle erreicht. In einem Aspekt kann die programmierbare Schwelle die halbe Tiefe des FIFO sein. In einem Aspekt können die FIFO-Daten basierend auf einem Sendetakt ausgelesen werden, der mit der High-Speed-Taktfrequenz von 480 MHz läuft.
  • Bei Operation 705 bestimmt der Repeater, ob die aus dem FIFO ausgelesenen Daten die Bits des SYNC-Musters eines High-Speed-Datenpakets darstellen. Wenn nicht, speichert der Repeater zusätzliche USB-Daten, die aus den DP/DM-Eingaben wiederhergestellt werden, bei Operation 710 im FIFO.
  • Falls die aus dem FIFO ausgelesenen Daten die Bits des SYNC-Musters eines High-Speed-Datenpakets darstellen, sendet der Repeater die Bits des SYNC-Musters bei Operation 709 mit der High-Speed-Taktfrequenz von 480 MHz. Die gesendeten Bits können die abwechselnden „KJ“-Zustände des SYNC-Musters sein. Aufgrund der inhärenten Verzögerung des Repeaters beim Wiederherstellen der SYNC-Bits des Anfangs des SYNC-Musters kann die Anzahl von empfangenen SYNC-Bits, die im FIFO gespeichert wird, kleiner als das vollständige 32-Bit-SYNC-Muster des High-Speed-Datenpakets sein.
  • Bei Operation 711 bestimmt der Repeater, ob das Ende des SYNC-Musters des „KK“-Zustands aus dem FIFO ausgelesen wird, bevor eine programmierbare Anzahl (z. B. wie in einem programmierbaren Register gespeichert) von SYNC-Bits aus dem FIFO ausgelesen und gesendet wird. In einem Aspekt kann die programmierbare Anzahl von SYNC-Bits 32 betragen, um Übertragung des vollständigen SYNC-Muster zu spezifizieren. In einem Aspekt kann die programmierbare Anzahl von SYNC-Bits weniger als 32 und mehr als 12 betragen, um Übertragung eines partiellen SYNC-Musters zu spezifizieren, das immer noch länger als die erwartete Länge der empfangenen SYNC-Bits ist.
  • Falls das Ende des SYNC-Musters aus dem FIFO ausgelesen wird, bevor die programmierbare Anzahl von SYNC-Bits ausgelesen und gesendet wurde, stoppt der Repeater bei Operation 713 das Auslesen der gespeicherten Daten aus dem FIFO, um die fehlenden SYNC-Bits (z. B. abwechselnde „KJ“-Zustände des SYNC-Musters) zu regenerieren. Operation 713 sendet die zusätzlichen SYNC-Bits, gefolgt vom Ende des SYNC-Musters, bis die programmierbare Anzahl von SYNC-Bits gesendet wurde. Der Repeater sendet somit die programmierbare Anzahl von SYNC-Bits, auch wenn die Anzahl von empfangenen SYNC-Bits kleiner als die programmierbare Anzahl ist. Während der Zeit, zu der das Auslesen der Daten aus dem FIFO gestoppt ist, um die fehlenden SYNC-Bits zu regenerieren, kann der FIFO mit dem Speichern des Restes des High-Speed-Datenpakets fortfahren.
  • Falls die programmierbare Anzahl von SYNC-Bits aus dem FIFO ausgelesen wurde, bevor das Ende des SYNC-Musters ausgelesen wird, fährt der Repeater bei Operation 715 mit dem Senden der aus dem FIFO ausgelesenen SYNC-Bits fort, bis das Ende des SYNC-Musters ausgelesen und gesendet wird. Der Repeater sendet somit alle der empfangenen SYNC-Bits, falls die Anzahl der empfangenen SYNC-Bits gleich oder größer als die programmierbare Anzahl von SYNC-Bits ist.
  • Bei Operation 717 liest der Repeater die im FIFO gespeicherten Daten aus, um den Bitstrom der Nutzlast des High-Speed-Datenpakets zu senden.
  • 8 ist ein Flussdiagramm eines Verfahrens 800 zur Entfernung von Dribble-Bits eines High-Speed-Datenpakets aufgrund von Rauschunterdrückungsverzögerung gemäß einem Aspekt der vorliegenden Offenbarung. In einer beispielhaften Ausführungsform kann das Verfahren 800 vom seriellen High-Speed-Repeater 134 von 2 oder dem Repeater von 6 durchgeführt werden. In einem Aspekt kann das Verfahren 800 unter Verwendung von Hardwarelogik oder Kombinationen von Hardwarelogik und programmierbaren Registern durchgeführt werden, welche Konfigurationswerte speichern.
  • Bei Operation 801 speichert ein serieller High-Speed-Repeater USB-Daten, die aus den DP/DM-Eingaben wiederhergestellt werden, seriell in einem FIFO. Die wiederhergestellten Daten können den Bitstrom eines High-Speed-Datenpakets darstellen, der das SYN-Muster, die Nutzlast und das EOP-Muster umfasst, wenn es Aktivität auf den Datenleitungen (z. B. keine Rauschunterdrückung) gibt, beispielsweise wenn der Übertragungshüllkurvendetektor des Repeaters aktive Daten eines High-Speed-Datenpakets detektiert. Die Daten können unter Verwendung eines High-Speed-Takts von 480 MHz gespeichert werden, der aus den DP/DM-Eingaben wiederhergestellt wird.
  • Bei Operation 803 liest der Repeater die gespeicherten Daten, die gesendet werden sollen, seriell aus dem FIFO aus. In einem Aspekt können die FIFO-Daten basierend auf einem Sendetakt ausgelesen werden, der mit der High-Speed-Taktfrequenz von 480 MHz läuft, wenn die Anzahl von im FIFO gespeicherten Daten eine programmierbare Schwelle erreicht.
  • Bei Operation 805 bestimmt der Repeater, ob die aus dem FIFO ausgelesenen Daten das EOP-Byte-Muster eines High-Speed-Datenpakets anzeigen. Das EOP-Byte-Muster kann eine „0“, gefolgt von sieben fortlaufenden „1sen“ zur Unterscheidung von der Nutzlast sein, die aufgrund von Bitstopfen keinen Durchgang von mehr als 6 fortlaufenden 1sen aufweisen sollte. Das EOP-Byte-Muster kann durch „JKKKKKKK“ an den DP/DM-Eingängen codiert werden. In einem Aspekt kann es sich bei dem EOP-Byte-Muster um sieben fortlaufende „0en“ handeln, auf welche eine „1“ folgt oder welchen eine „1“ vorangeht. Aufgrund der inhärenten Verzögerung des Übertragungshüllkurvendetektors des Repeaters kann es Dribble-Bits in den wiederhergestellten Daten, die im FIFO gespeichert werden, nach dem EOP-Byte-Muster geben. Falls es sich bei den aus dem FIFO ausgelesenen Daten nicht um das EOP-Byte-Muster handelt, fährt der Repeater bei Operation 803 mit dem Auslesen der gespeicherten Daten, die gesendet werden sollen, aus dem FIFO fort.
  • Falls es sich bei den aus dem FIFO ausgelesenen Daten um das EOP-Byte-Muster handelt, verhindert der FIFO bei Operation 807 die Übertragung von aus dem FIFO ausgelesenen Dribble-Bits nach dem EOP-Byte-Muster. In einem Aspekt kann Operation 807 aus dem FIFO ausgelesene Dribble-Bits detektieren, um die Übertragung für die Dauer der Dribble-Bits zu verhindern. In einem Aspekt kann Operation 807 weitere Übertragung von Datenbits stoppen, bis der Übertragungshüllkurvendetektor wieder aktive Daten detektiert. In einem Aspekt kann Operation 807 die Übertragung einer programmierbaren Anzahl (z. B. wie in einem programmierbaren Register gespeichert) von Dribble-Bits verhindern, statt die Übertragung aller Dribble-Bits nach dem Senden des EOP-Byte-Musters zu verhindern, wodurch potenziell die Übertragung von weniger Dribble-Bits ermöglicht wird. Die programmierbare Anzahl von Dribble-Bits kann die maximale Anzahl von Dribble-Bits sein, die durch den Übertragungshüllkurvendetektor des Repeaters eingefügt wird. In einem Aspekt kann die programmierbare Anzahl von Dribble-Bits die maximale Dribble-Anzahl sein, welche die Dribble-Bits, die durch andere intervenierende Vorrichtungen (wie beispielsweise Hubs) zwischen dem Sender und dem Repeater eingefügt werden, und die Dribble-Bits umfasst, die durch den Repeater eingefügt werden. In einem Aspekt kann es sich bei der programmierbaren Anzahl von Dribble-Bits um die minimalen Taktzyklen zwischen dem EOP des High-Speed-Datenpakets und dem SYNC-Muster des nächsten High-Speed-Datenpakets handeln.
  • In einem Aspekt kann für isochrone Pakete kann ein 1-Bit-Bitstopffehler als ein EOP-Byte-Muster interpretiert werden und zu einem Paketverlust führen, wenn die programmierbare Anzahl von Datenbits nach dem 1-Bit-Bitstopfehler nicht gesendet wird. In einem Aspekt kann Operation 807 nach dem Header in isochronen Paketen suchen, um zwischen einem 1-Bit-Bitstopffehler und einem EOP zu unterscheiden und die Übertragung der Bits nach dem 1-Bit-Bitstopffehler aufrechtzuerhalten.
  • Bei Operation 809 nimmt der Repeater die Operation zum Auslesen des FIFO wieder auf, um die gespeicherten Daten des nächsten High-Speed-Datenpakets aus dem FIFO zur Übertragung auszulesen.
  • Verschiedene Ausführungsformen des hierin beschriebenen USB-Repeater-Subsystems können verschiedene Operationen umfassen. Diese Operationen können von Hardwarekomponenten, digitalen Hardware- und/oder Firmware-/programmierbaren Registern (wie z. B. in computerlesbarem Medium implementiert) und/oder Kombinationen davon durchgeführt und/oder gesteuert werden. Die hierin beschriebenen Verfahren und veranschaulichenden Beispiele betreffen nicht von Natur aus bestimmte Computer oder andere Geräte. Verschiedene Systeme (z. B. USB-Hubs und Dockingstationen) können gemäß den hierin beschriebenen Lehren verwendet werden, oder es kann sich als praktisch erweisen, spezialisiertere Geräte zum Ausführen der erforderlichen Verfahrensschritte zu konstruieren. Die erforderliche Struktur für eine Vielfalt dieser Systeme sieht so aus, wie in der vorstehenden Beschreibung dargelegt.
  • Ein computerlesbares Medium, das zum Implementieren von Operationen verschiedener Aspekte der Offenbarung verwendet wird, kann ein nicht-transitorisches computerlesbares Speichermedium sein, das, ohne darauf beschränkt zu sein, ein elektromagnetisches Speichermedium, ein magnetooptisches Speichermedium, einen Festwertspeicher (ROM), einen Direktzugriffsspeicher, einen löschbaren programmierbaren Speicher (z. B. EPROM und EEPROM), ein Flash-Speicher oder einen anderen heute bekannten oder künftig entwickelten nicht-transitorischen Typ von Medium umfassen kann, der zum Speichern von Konfigurationsinformationen geeignet ist.
  • Die vorstehende Beschreibung dient Veranschaulichungszwecken und ist nicht einschränkend. Es versteht sich, dass die vorliegende Offenbarung, obwohl sie unter Bezugnahme auf die spezifischen veranschaulichenden Beispiele beschrieben wurde, nicht auf die beschriebenen Beispiele beschränkt ist. Der Schutzbereich der Offenbarung sollte unter Bezugnahme auf die folgenden Ansprüche zusammen mit dem vollen Schutzbereich von Äquivalenten, zu welchen die Ansprüche berechtigt sind, bestimmt werden.
  • Wie hierin verwendet, sollen die Einzahlformen „ein“, „eine“ und „der, die, das“ auch die Mehrzahlformen umfassen, sofern der Kontext nicht eindeutig etwas anderes nahelegt. Es versteht sich ferner von selbst, dass die Begriffe „umfasst“, „umfassend“, „kann aufweisen“ und/oder „aufweisend“, wenn hierin verwendet, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifiziert, aber das Vorhandensein oder die Hinzufügung eines/r oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließt. Die hierin verwendete Terminologie dient daher lediglich zur Beschreibung von bestimmten Ausführungsformen und soll nicht einschränkend sein.
  • Es ist außerdem zu erwähnen, dass in einigen alternativen Implementierungen die erwähnten Funktionen/Handlungen in einer anderen als in der in den Figuren erwähnten Reihenfolge stattfinden können. Zum Beispiel können zwei hintereinander dargestellte Figuren je nach den beteiligten Funktionalitäten/Handlungen in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder sie können manchmal in umgekehrter Reihenfolge ausgeführt werden.
  • Es versteht sich, dass, obwohl die Verfahrensoperationen in einer bestimmten Reihenfolge beschrieben wurden, andere Operationen zwischen beschriebenen Operationen durchgeführt werden können, wobei beschriebene Operationen so angepasst werden können, das sie zu etwas verschiedenen Zeitpunkten stattfinden, oder die beschriebenen Operationen können in einem System verteilt sein, welches das Stattfinden der Verarbeitungsoperationen in verschiedenen Intervallen ermöglicht, die mit der Verarbeitung assoziiert sind, Zum Beispiel können bestimmte Operationen wenigstens zum Teil in einer umgekehrten Reihenfolge, gleichzeitig mit und/oder parallel zu anderen Operationen durchgeführt werden.
  • Verschiedene Einheiten, Schaltungen oder andere Komponenten können als zum Ausführen einer Aufgabe oder von Aufgaben „konfiguriert“ oder „konfigurierbar“ beschrieben oder beansprucht sein. In solchen Kontexten wird der Ausdruck „konfiguriert zu“ oder „konfigurierbar zu“ verwendet, um Struktur zu implizieren, indem angegeben wird, dass die Schaltungen/Einheiten/Komponenten Struktur (z. B. Schaltungsanordnung) umfassen, welche die Aufgabe(n) während des Betriebs ausführt. Entsprechend kann gesagt werden, dass die Einheit/Schaltung/Komponente zum Ausführen der Aufgabe konfiguriert ist oder zum Ausführen der Aufgabe konfigurierbar ist, selbst wenn die spezifizierte Einheit/Schaltung/Komponente gegenwärtig nicht in Betrieb ist (z. B. nicht eingeschaltet ist). Die mit dem Ausdruck „konfiguriert zu“ oder „konfigurierbar zu“ verwendeten Einheiten/Schaltungen/Komponenten umfassen Hardware - zum Beispiel Schaltungen, Speicher, der Programmanweisungen speichert, die zum Implementieren der Operation ausgeführt werden können, usw. Die Feststellung, dass eine Einheit/Schaltung/Komponente zum Ausführen einer oder mehrerer Aufgaben „konfiguriert“ ist oder zum Ausführen einer oder mehrerer Aufgaben „konfigurierbar“ ist, soll sich ausdrücklich nicht auf 35 U.S.C. 112, sechster Absatz, für diese Einheit/Schaltung/Komponente berufen.
  • Außerdem kann „konfiguriert zu“ oder „konfigurierbar zu“ generische Struktur (z. B. generische Schaltungsanordnung) umfassen, die von Firmware (z. B. einem FPGA) so gehandhabt wird, dass sie auf eine Weise funktioniert, die zum Ausführen der zur Debatte stehenden Aufgabe(n) imstande ist. „Konfiguriert zu“ kann auch ein Anpassen eines Herstellungsprozesses (z. B. einer Halbleiterfertigungsanlage) zum Fertigen von Vorrichtungen (z. B. integrierten Schaltungen) umfassen, die zum Implementieren oder Ausführen einer oder mehrerer Aufgaben geeignet sind. „Konfigurierbar zu“ soll ausdrücklich nicht auf leere Medien, einen unprogrammierten Prozessor oder eine unprogrammierte programmierbare Logikvorrichtung, ein unprogrammiertes programmierbares Gate-Array oder eine andere unprogrammierte Vorrichtung angewendet werden, sofern nicht von einem programmierten Medium begleitet, das der unprogrammierten Vorrichtung die Fähigkeit verleiht, zum Ausführen der offenbarten Funktion(en) konfiguriert zu werden.
  • Die vorstehende Beschreibung wurde zu Erläuterungszwecken unter Bezugnahme auf spezifische Ausführungsformen beschrieben. Die vorstehenden veranschaulichenden Erörterungen sind nicht jedoch als erschöpfend gedacht oder dazu bestimmt, die Erfindung auf die konkreten offenbarten Formen zu beschränken. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Änderungen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundsätze der Ausführungsformen und ihrer praktische Anwendungen am besten zu erläutern und dadurch andere Fachleute zu befähigen, die Ausführungsformen und verschiedene Modifikationen je nach Eignung für die spezifische vorgesehene Verwendung am besten zu nutzen. Demgemäß sind die vorliegenden Ausführungsformen als veranschaulichend und nicht als einschränkend zu betrachten, und die Erfindung ist nicht auf die hierin angegebenen Einzelheiten beschränkt, sondern kann innerhalb des Schutzbereichs und der Äquivalente der angehängten Ansprüche modifiziert werden.

Claims (20)

  1. Verfahren, umfassend: - Wiederherstellen, von einem Universal-Serial-Bus-kompatiblen Repeater, USB-kompatiblen Repeater, eines an einem ersten Port empfangenen USB-High-Speed-Datenpakets, um einen wiederhergestellten Bitstrom zu generieren; - Senden des wiederhergestellten Bitstroms an einen zweiten Port; - Überwachen des wiederhergestellten Bitstroms, um ein Muster eines Paketendes, EOP-Muster, zu detektieren; - Verhindern des Sendens eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms nach dem EOP-Muster an dem zweiten Port in Reaktion auf das Detektieren des EOP-Musters.
  2. Verfahren nach Anspruch 1, bei dem das USB-High-Speed-Datenpaket ein Synchronisations-Muster, SYNC-Muster, umfasst, das von dem USB-kompatiblen Repeater zum Detektieren des USB-High-Speed-Datenpakets verwendet wird, und bei dem das Senden des wiederhergestellten Bitstroms an dem zweiten Port umfasst: - Senden des wiederhergestellten Bitstroms, wenn der wiederhergestellte Bitstrom anzeigt, dass eine Mehrzahl von Bits des SYNC-Musters empfangen wird.
  3. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das EOP-Muster eine Codierung von sieben aufeinanderfolgenden Einsen oder sieben aufeinanderfolgenden Nullen von Datenbits auf dem wiederhergestellten Bitstrom umfasst.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst: - Detektieren einer Dauer des einen oder der mehreren Dribble-Bits auf dem wiederhergestellten Bitstrom nach dem EOP-Muster; - Verhindern des Sendens des einen oder der mehreren Dribble-Bits für die detektierte Dauer.
  5. Verfahren nach Anspruch einem der vorhergehenden Ansprüche, bei dem das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst: - Verhindern des Sendens des einen oder der mehreren Dribble-Bits nach dem EOP-Muster, bis ein nächstes USB-High-Speed-Datenpaket durch den wiederhergestellten Bitstrom angezeigt wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst: - Verhindern des Sendens einer programmierbaren Anzahl von Bits des wiederhergestellten Bitstroms nach dem EOP-Muster.
  7. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: - Unterscheiden zwischen dem EOP-Muster und einem Bitstopffehler in dem wiederhergestellten Bitstrom, um mit dem Senden des wiederhergestellten Bitstroms nach dem EOP-Muster an dem zweiten Port fortzufahren.
  8. Verfahren nach Anspruch 7, bei dem das Unterscheiden zwischen dem EOP-Muster und dem Bitstopffehler ein Detektieren eines Headers eines isochronen USB-High-Speed-Datenpakets umfasst.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst: - Steuern des zweiten Ports in einen Ruhezustand.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Verhindern des Sendens des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms umfasst: - Detektieren, dass der wiederhergestellte Bitstrom nach dem EOP-Muster Nicht-Dribble-Bits darstellt; - Fortfahren mit dem Senden des wiederhergestellten Bitstroms nach dem EOP-Muster.
  11. Universal-Serial-Bus-Vorrichtung, USB-Vorrichtung, umfassend: - eine erste Bitübertragungsschichtlogik, PHY, die zum Empfangen eines USB-High-Speed-Datenpakets eingerichtet ist, um einen wiederhergestellten Bitstrom zu generieren; - einen elastischen Puffer, der zum Speichern des wiederhergestellten Bitstroms eingerichtet ist; - eine zweite PHY, die zum Senden des wiederhergestellten Bitstroms eingerichtet ist, der aus dem elastischen Puffer ausgelesen wird; - ein Repeater-Subsystem, das eingerichtet ist zum - Auslesen des wiederhergestellten Bitstroms, der im elastischen Puffer gespeichert ist; - Überwachen des wiederhergestellten Bitstroms, um ein Muster eines Paketendes, EOP-Muster, zu detektieren; - Verhindern einer Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms nach dem EOP-Muster von der zweiten PHY in Reaktion auf das detektierte EOP-Muster.
  12. USB-Vorrichtung nach Anspruch 11, bei der das USB-High-Speed-Datenpaket ein Synchronisations-Muster, SYNC-Muster, umfasst, das von der ersten PHY zum Detektieren des USB-High-Speed-Datenpakets verwendet wird, und bei der das Repeater-Subsystem ferner eingerichtet ist zum - Befähigen der zweiten PHY zum Senden des wiederhergestellten Bitstroms, wenn der aus dem FIFO ausgelesene wiederhergestellte Bitstrom anzeigt, dass eine Mehrzahl von Bits des SYNC-Musters empfangen wird.
  13. USB-Vorrichtung nach einem der Ansprüche 11 oder 12, bei der das EOP-Muster eine Codierung von sieben aufeinanderfolgenden Einsen oder sieben aufeinanderfolgenden Nullen von Datenbits auf dem wiederhergestellten Bitstrom umfasst.
  14. USB-Vorrichtung nach einem der Ansprüche 11 bis 13, bei der das Repeater-Subsystem zum Verhindern der Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms eingerichtet ist zum - Detektieren einer Dauer des einen oder der mehreren Dribble-Bits auf dem wiederhergestellten Bitstrom nach dem EOP-Muster; - Verhindern der Übertragung des einen oder der mehreren Dribble-Bits für die detektierte Dauer.
  15. USB-Vorrichtung nach einem der Ansprüche 11 bis 14, bei der das Repeater-Subsystem zum Verhindern der Übertragung des einen oder der mehreren Dribble-Bits des wiederhergestellten Bitstroms eingerichtet ist zum - Verhindern der Übertragung des einen oder der mehreren Dribble-Bits nach dem EOP-Muster, bis ein nächstes USB-High-Speed-Datenpaket durch den wiederhergestellten Bitstrom angezeigt wird.
  16. USB-Vorrichtung nach einem der Ansprüche 11 bis 15, bei der das Repeater-Subsystem zum Verhindern der Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms eingerichtet ist zum - Verhindern der Übertragung einer programmierbaren Anzahl von Bits des wiederhergestellten Bitstroms nach dem EOP-Muster.
  17. USB-Vorrichtung nach einem der Ansprüche 11 bis 16, bei der das Repeater-Subsystem ferner eingerichtet ist zum - Unterscheiden zwischen dem EOP-Muster und einem Bitstopffehler in dem wiederhergestellten Bitstrom, um mit einer Übertragung des wiederhergestellten Bitstroms nach dem EOP-Muster auf der zweiten PHY fortzufahren.
  18. USB-Vorrichtung nach Anspruch 17, bei der das Repeater-Subsystem ferner zum Detektieren eines Headers eines isochronen USB-High-Speed-Datenpakets eingerichtet ist, um zwischen dem EOP-Muster und dem Bitstopffehler im wiederhergestellten Bitstrom zu unterscheiden.
  19. USB-Vorrichtung nach einem der Ansprüche 11 bis 18, bei der das Repeater-Subsystem zum Verhindern der Übertragung eines oder mehrerer Dribble-Bits des wiederhergestellten Bitstroms die zweite PHY in einem Ruhezustand konfiguriert.
  20. USB-Vorrichtung nach einem der Ansprüche 11 bis 19, bei der die zweite PHY mit USB 2.0 (USB2) kompatibel ist, und die erste PHY mit einer eingebetteten Version von USB2 (eUSB2) kompatibel ist.
DE102021132691.5A 2020-12-11 2021-12-10 Verfahren zur entfernung von eingeführten dribble-bits und regenerierung von verlorengegangenen sync-bits aufgrund von rauschunterdrückungsverzögerungen bei verstärkung von usb-high-speed-paketen Pending DE102021132691A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/119,903 US11528095B2 (en) 2020-12-11 2020-12-11 Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating
US17/119,903 2020-12-11

Publications (1)

Publication Number Publication Date
DE102021132691A1 true DE102021132691A1 (de) 2022-06-15

Family

ID=81750009

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132691.5A Pending DE102021132691A1 (de) 2020-12-11 2021-12-10 Verfahren zur entfernung von eingeführten dribble-bits und regenerierung von verlorengegangenen sync-bits aufgrund von rauschunterdrückungsverzögerungen bei verstärkung von usb-high-speed-paketen

Country Status (3)

Country Link
US (2) US11528095B2 (de)
CN (1) CN114625688A (de)
DE (1) DE102021132691A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11528095B2 (en) * 2020-12-11 2022-12-13 Cypress Semiconductor Corporation Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683091B2 (en) * 2012-06-30 2014-03-25 Intel Corporation Device disconnect detection
US8982746B2 (en) * 2012-06-30 2015-03-17 Intel Corporation Clock-less half-duplex repeater
US9239810B2 (en) * 2012-06-30 2016-01-19 Intel Corporation Low power universal serial bus
US9836420B2 (en) * 2014-12-09 2017-12-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Integrated systems with universal serial Bus 2.0 and embedded universal serial Bus 2 connectivity
US20180173666A1 (en) * 2016-12-16 2018-06-21 Intel Corporation APPARATUSES AND METHODS TO COUPLE AN EMBEDDED UNIVERSAL SERIAL BUS (eUSB) CIRCUIT TO A UNIVERSAL SERIAL BUS (USB) TRANSCEIVER INTERFACE CIRCUIT
US10083147B2 (en) * 2016-12-30 2018-09-25 Intel Corporation Apparatuses and methods for multilane universal serial bus (USB2) communication over embedded universal serial bus (eUSB2)
US10437763B2 (en) * 2017-04-07 2019-10-08 Nxp B.V. Method and device for universal serial bus (USB) communication
US10366039B2 (en) * 2017-04-13 2019-07-30 Nxp B.V. USB link bridge
JP6897307B2 (ja) * 2017-05-19 2021-06-30 セイコーエプソン株式会社 回路装置、電子機器、ケーブルハーネス及びデータ転送方法
US20190042521A1 (en) * 2018-02-26 2019-02-07 Intel Corporation Asymmetrical embedded universal serial bus (eusb) link
US10657089B2 (en) * 2018-07-30 2020-05-19 Texas Instruments Incorporated Embedded universal serial bus 2 repeater
JP7219345B2 (ja) * 2019-01-09 2023-02-07 アップル インコーポレイテッド 非ライセンススペクトルで動作するnrシステムにおけるcbgベースの再送信のためのカテゴリ4のlbtの競合ウィンドウサイズ更新
US20200285602A1 (en) * 2019-03-05 2020-09-10 Texas Instruments Incorporated eUSB2 to USB 2.0 Data Transmission with Surplus Sync Bits
US11528095B2 (en) * 2020-12-11 2022-12-13 Cypress Semiconductor Corporation Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating
EP4318252A1 (de) * 2021-09-29 2024-02-07 Samsung Electronics Co., Ltd. Elektronische vorrichtung zur kommunikation mit einer externen vorrichtung über eine usb-schnittstelle und betriebsverfahren dafür

Also Published As

Publication number Publication date
US20230099199A1 (en) 2023-03-30
US20220190960A1 (en) 2022-06-16
CN114625688A (zh) 2022-06-14
US11728930B2 (en) 2023-08-15
US11528095B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
DE112016007614B4 (de) Eine niedrigstrom-implementierung eines typ-c-verbinder-teilsystems
US10890957B2 (en) Low-power type-C receiver with high idle noise and DC-level rejection
DE112013001661B4 (de) Apparat, verfahren und system zur bereitstellung eines konsolidierten seitenband kommunikationskanal zwischen geräten
US11747885B2 (en) Method and apparatus to save power in USB repeaters/re-timers
DE112013002639B4 (de) Optimierter Verbindungstrainings- und Managementmechanismus
DE19900345B4 (de) Schnittstellenmodul für einen Universellen Seriellen Bus (USB) zur Verbindung mit einem USB über eine Programmierschnittstelle für eine USB-Funktion und Vorrichtung zum Anschluß an einen universellen seriellen Bus
DE102011123107B3 (de) SATA-Schnittstelle, Speichervorrichtung und Verfahren zum Verwalten einer Leistungsaufnahme einer SATA-Schnittstelle
DE19900369A9 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
DE112017003209T5 (de) Multiprotokoll-Neusynchronisierer mit geringer Latenz
DE112018007459T5 (de) Überspannungsschutz für universal-serial-bus-typ-c(usb-c)-verbindersysteme
DE19900290A9 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE112017005002T5 (de) Verbindungsphysikalischer schichtschnittstellenadapter
DE112019002607T5 (de) Leistungsversorgungsarchitektur für usb-c zur unterstützung von aktiven kabel- und dfp/ufp/drp-anwendungen
US6754209B1 (en) Method and apparatus for transmitting and receiving network protocol compliant signal packets over a platform bus
WO2015195612A1 (en) Link layer to physical layer (phy) serial interface
DE112021004551T5 (de) Schalttakt-Phasenverschiebung für Multi-Port-Tiefsetz-Hochsetz-Wandler
CN101663657A (zh) 无桥无交换的PCIe扩展
DE102021132691A1 (de) Verfahren zur entfernung von eingeführten dribble-bits und regenerierung von verlorengegangenen sync-bits aufgrund von rauschunterdrückungsverzögerungen bei verstärkung von usb-high-speed-paketen
DE102013102912A1 (de) System und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen
DE102021120927A1 (de) Echtzeitüberwachung und -steuerung von usb-typ-c/pd-ports ineinem kraftfahrzeug- oder industrieökosystem
CN103577362B (zh) 改善数据传输的方法及其相关计算机系统
US8826081B2 (en) Data processing apparatus and related methods of debugging processing circuitry
DE112019001912T5 (de) Schutz vor umgekehrtem überstrom für universal-serial-bus-typ-c(usb-c)-verbindersysteme
DE602004004064T2 (de) USB-Sender
DE102014119517A1 (de) Kleinleistungs-Kommunikationsvorrichtung und assoziierte Verfahren