[go: up one dir, main page]

DE60002446T2 - Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs - Google Patents

Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs Download PDF

Info

Publication number
DE60002446T2
DE60002446T2 DE60002446T DE60002446T DE60002446T2 DE 60002446 T2 DE60002446 T2 DE 60002446T2 DE 60002446 T DE60002446 T DE 60002446T DE 60002446 T DE60002446 T DE 60002446T DE 60002446 T2 DE60002446 T2 DE 60002446T2
Authority
DE
Germany
Prior art keywords
expansion unit
signal
data
packet
remote
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.)
Expired - Lifetime
Application number
DE60002446T
Other languages
English (en)
Other versions
DE60002446D1 (de
Inventor
Keith Kejser
Juraj Krajci
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.)
ICRON SYSTEMS Inc
ICRON SYSTEMS Inc BURNABY
Original Assignee
ICRON SYSTEMS Inc
ICRON SYSTEMS Inc BURNABY
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
Priority claimed from CA 2262334 external-priority patent/CA2262334C/en
Priority claimed from CA 2269961 external-priority patent/CA2269961C/en
Application filed by ICRON SYSTEMS Inc, ICRON SYSTEMS Inc BURNABY filed Critical ICRON SYSTEMS Inc
Application granted granted Critical
Publication of DE60002446D1 publication Critical patent/DE60002446D1/de
Publication of DE60002446T2 publication Critical patent/DE60002446T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

  • Gegenstand der Erfindung
  • Diese Erfindung betrifft Verfahren und Geräte, die Signale mithilfe von Universalen Seriellen Sammelleitungsports zwischen Einrichtungen übertragen. Im Besonderen betrifft die Erfindung ein Verfahren, das mithilfe dieser Ports die Kommunikation zwischen Einrichtungen über eine vergrößerte Distanz ermöglicht.
  • Beschreibung der zugrundeliegenden Rahmenbedingungen
  • Die Universale Serielle Sammelleitung (USB) Technologie ermöglicht dem Anwender eine grosse Anzahl von Peripherieeinrichtungen an einen Personal Computer (PC) anzuschliessen. Da die Technologie alle gebräuchlichen Peripherieeinrichtungen wie Keyboards, Mäuse, Lautsprecher, Modems, Joysticks, Kameras u. s. w. unterstützt, wird sie in der Zukunft die heutzutage verwendeten seriellen und parallelen Ports ersetzen. Der Apple iMac (Trade Mark) beispielsweise unterstützt ausschliesslich USB Ports. Seit 1997 wird überdies fast jeder PC mit USB Ports ausgestattet.
  • USB wurde von einer Allianz der sieben größten Firmen aus den Computer- und Kommunikationsindustrien ins Leben gerufen. Diese Unternehmen waren Intel, Compaq, Microsoft, NorTel, NEC, Digital und IBM. Die Spezifikationen, die USB definieren [z. B. Intel et al., Universal Serial Bus Spezifikation, Revision 1.0, Januar 1996; und aktualisiert in Revision 1.1 am 23 September 1998, und spätere Aktualisierungen und Veränderungen (wie der Revisionsentwurf 2.0) – nachfolgend gemeinsam als "USB Spezifikation" bezeichnet, dieser Ausddruck kann auch zukünftige Veränderungen und Revisionen beinhalten) sind nicht urheberrechtlich geschützt und werden von einer offenen Industrieorganisation, bekannt als das USB Forum, verwaltet. Die USB Spezifikation legt Kriterien fest; die erfüllt werden müssen um den USB Normen zu entsprechen. Die USB Spezifikation definiert auch verschiedene Begriffe, deren Definitionen zum Zwecke dieser Spezifikation übernommen werden.
  • Beispielsweise ist eine Voraussetzung von Revision 1.0 der USB Spezifikation, daß ein einzelner USB Bereich bis zu 127 Einrichtungen unterstützt, die über ein gemeinsam benütztes Medium mit einer maximalen Bandweite von 12 Mbps operieren. Der Revisionsentwurf 2.0 erlaubt jedoch eine Bandweite von 480 Mbps, welches eine Abwandlung der USB Spezifikation darstellt.
  • Alle bekannten USB Spezifikationen begrenzen jedoch gegenwärtig die Distanz auf 5 Meter, die eine Einrichtung von dem Host entfernt sein darf. Wenn mehrere USB Hubs verwendet werden – diese Einrichtungen sind konzipiert eine größere Anzahl anstatt größerer Entfernungen zu unterstützen – kann diese Streckenbegrenzung theoretisch auf 30 Meter erhöht werden. Die Verwendung von mehreren Hubs ist sowohl teuer als auch umständlich. Um beispielsweise eine einzige Einrichtung in einer Entfernung von 30 Metern zu unterstützen, muss der Anwender fünf Hubs zu einem aktuellen Preis von ungefähr $50 US erwerben. Zusätzlich müssen mindestens zwei dieser Hubs mit elektrischer Leistung versorgt werden. Da die individuellen Kabel zwischen den Hubs auf jeweils 5 Meter begrenzt sind, ist es auch sehr wahrscheinlich, daß einige dieser Hubs an sehr ungelegenen oder unsicheren Stellen positioniert werden müssen.
  • Daher besteht ein Bedarf für Verfahren und Geräte, die die Positionierung von USB Einrichtungen in größeren Entfernungen von dem PC Host ermöglichen. Beispielweise wird eine ununterbrochene Länge von mindestens 100 Metern benötigt, um eine Kompatibilität mit den Normen bzgl. der Verkabelung kommerziell benutzter Gebäude zu erreichen (siehe z. B. TIA/EIA-568-A, Commercial Building Telecommunications Cabling Standard, Telecommunications Industry Association, Oktober 1995). Diese Norm muss ohne die Verwendung von zwischengeschalteten Übertragungseinrichtungen erreicht werden, da die Verteilungsverkabelung normalerweise nicht zwischen den Endpunkten, z. B. dem Telecommunikationsschrank und dem Arbeitsbereich, zugänglich ist. Auch wenn die Kabel zugänglich wären, erlaubt die Verkabelungsnorm jedoch lediglich, daß aktive Einrichtungen an den Endpunkten eingefügt werden.
  • Stünden ausgedehnte Entfernungen zur Verfügung, würde dies zu neuen Anwendungsmöglichkeiten für USB Einrichtungen als auch zu Vereinfachungen bei bestehenden Anwendungen führen. Beispielsweise könnte durch Anschluss von handelsüblichen Kameras an einen zentralen PC ein einfaches Haus-oder SOHO (small office, home office) Überwachungssystem konstruiert werden. Ein an der Wand befestigter Monitor könnte durch ein räumlich entferntes Keyboard oder eine Maus überwacht werden. Eine Türsprechanlage könnte von jedem Büro in einem kommerziell genutzten Gebäude überwacht werden. Es bestehen viele weitere Anwendungsmöglichkeiten.
  • Gegenwärtig erlauben die USB Spezifikationen die Verwendung über eine ausgedehnte Entfernung jedoch nicht. Beispielweise ist eine weitere Anforderung der USB Spezifikation, daß der Zugriff jeder einzelnen Einrichtung auf die gemeinsam benützte Kommunikationssammelleitung von einer einzelnen Host-Steuereinrichtung kontrolliert wird. Es wird auch spezifiziert, daß nachdem die Host-Steuereinrichtung eine bestimmte Einrichtung beauftragt hat ihre Informationen auf der gemeinsam benutzten Sammelleitung zu plazieren, diese angefragte Information von der Host-Steuereinrichtung innerhalb (16) "Bit-Zeiten" nach Abgabe dieser Anweisung seitens der Host-Steuereinrichtung empfangen werden muss in der Praxis gewährleistet dies, daß die USB Spezifikation eine hohe Effizienz der Bandbreitenauslastung sichert, da die Zeitdauer begrenzt ist, in der keine Informationen übertragen werden. Diese Anforderungen beschränken jedoch auch den physischen Einsatzbereich der USB Einrichtungen, da eine Ein-Bit-Zeit bei 12 Mbps der Zeit entspricht, die ein elektronisches Signal benötigt ungefähr 17 Meter eines Kupferkabels zu durchlaufen, oder eine sogar kürzere Distanz für eine Ein-Bit-Zeit bei 480 Mbps.
  • Obwohl die USB Einrichtung auf die Anforderung der Host-Steuereinrichtung innerhalb 16 Bit-Zeiten antworten muss, werden 7.5 Bit-Zeiten für eine Verzögerung innerhalb einer USB Einrichtung und des damit verbundenen 5 Meter Kabel zugewiesen. Diese Zuweisung lässt nur 8.5 Bit-Zeiten bei 12 Mbps für weitere Kabelverzögerungen übrig. Die Zeit, die durch 8.5 Bit-Zeiten dargestellt wird, entspricht der Verzögerung, die die elektronischen Signale beim Durchlaufen von ungefähr 144 Meter Kabel erfahren. Diese Kabellänge ist jedoch nicht ausreichend um der Hin-und Rückwegkabellänge von 200 Metern zu entsprechen, die aufgrund der vorausgesetzten Verkabelungspezifikation erforderlich ist.
  • Folglich ist es gegenwärtig nicht möglich USB Einrichtungen anzubieten, die über eine ausgedehnte Entfernung getrennt sind.
  • Eine weitere Eigenschaft der USB Spezifikation ist jedoch, daß die USB Spezifikation (oder Protokoll) den Zugriff auf die gemeinsam benützte Sammelleitung in einzelne (diskrete) Einheiten, bekannt als "Datenübertragungsblock", unterteilt. Jeder Datenübertragungsblock ist so ausgelegt, daß er eine Zeitdauer von 1 ms beträgt.
  • Weiterhin erfordert die USB Spezifikation noch, daß mindestens vier verschiedene Arten von Datenströmen oder "Verkehr" erkannt werden. Dies sind isochrone Transfers, Kontrolltransfers, Unterbrechungstransfers und Massentransfers.
  • Ein isochroner Datentransfer wird dadurch charakterisiert, daß die Daten im Wesentlichen ununterbrochen und in einem gleichmäßigen Tempo fliessen, und dies in enger zeitlicher Koordinierung mit dem empfangenden Mechanismus, der in der Lage ist die eingehenden Daten zu empfangen und zu benutzen.
  • Es sollte besonders vermerkt werden: Ein Aspekt der isochronen Transfers ist, daß die zeitgerechte Zustellung der Information auf Kosten von eventuellen transienten Verlusten im Datenstrom zugesichert wird. Es wird kein Versuch durchgeführt die Daten, die eventuell in vorangegangen Übermittlungen verloren wurden, nocheinmal zu übertragen. Zum Beispiel ist bei einem isochronen Videosignal der Verlust eines Datenübertragungsblockes einer Infonmation im Allgemeinen nicht bedeutend und es besteht kein Interesse daran den verlorenen Datenübertragungsblock wiederzufinden. Stattdessen ist die Host-Steuereinrichtung normalerweise mehr an der Übertragung oder dem Empfang des aktuellen Datenübertragungsblockes interessiert. Dementsprechend wird der isochrone Datentransfer als ein "zeitrelevantes" Datentransfersystem bezeichnet.
  • Diese Art des Datentransfers unterscheidet sich von dem asynchronen Datentransfer, der sich auf Vorgänge bezieht, die unabhängig voneinander ablaufen bis ein abhängiger Vorgang den anderen Vorgang "unterbricht", und unterscheidet sich weiterhin vom synchronen Datentransfer, der sich auf Vorgänge bezieht, bei denen ein Vorgang auf den Abschluss eines Ereignisses in einem anderen Vorgang warten muss bevor er weitermachen kann. Dementsprechend werden diese Datentransferverfahren als nicht-zeitrelevant bezeichnet. Es wird stattdessen eine korrekte Antwort auf jede Anforderung benötigt.
  • Die gegenwärtige Erfindung verwendet daher die grundlegenden Charakteristika der isochronen und asynchronen Datentransfers, und im Allgemeineren jeglicher zeitrelevanter oder nicht-zeitrelevanter Datenübertragungen, als auch das Vorhandensein von geregelten Protokoll-Datenübertragungsblöcken, um Verfahren und Geräte zur Verfügung zu stellen, die Datenübertragungen über ausgedehnte Entfernungen ermöglichen.
  • Obwohl sich die USB Technologie als nützlich erwiesen hat, wäre es trotzdem wünschenswert Verbesserungen der Technologie anzubieten, bei dem ein Verfahren und Gerät ermöglichen, daß die Datenübertragunggeräte und besonders zeitrelevante oder nichtzeitrelevante Datenübertragungsgeräte, die die USB Spezifikation anwenden, über eine ausgedehnte Entfernung benutzt werden können.
  • Daher ist das Ziel der jetzigen Erfindung, Verfahren und Geräte zur Verfügung zu stellen, die Einrichtungen, Hubs und Steuereinrichtungen und weitere der USB Spezifikation entsprechende Einrichtungen befähigen, über größere Entfernungen zu kommunizieren als dies gegenwärtig unter der USB Spezifikation erlaubt sind.
  • Ein weiteres Ziel der jetzigen Erfindung ist, daß die besagte ausgedehnte Entfernung ohne zwischengeschaltete Hubs, Übertragungseinrichtungen oder andere Verfahren einer elektronischen Signalneuerstellung erreicht wird.
  • Ein weiteres Ziel der jetzigen Erfindung ist, daß keine Veränderungen an der Hardware und Software der bestehenden vom System unterstützten Einrichtungen, Hubs und Steuereinrichtungen vorgenommen werden müssen. Dies gilt besonders für isochrone als auch asynchrone Syteme, die unter der USB Spezifikation operieren. Die Erfindung kann dadurch in Netzwerke eingefügt werden, die aus Einrichtungen mit sowohl konventioneller Entfernung als auch ausgedehnter Entfernung bestehen.
  • Ein weiteres Ziel der jetzigen Erfindung ist, daß das Gerät sehr kosteneffizient ist und dadurch der breiten Masse der von der USB Industrie anvisierten Einrichtungen entspricht. Diese und weitere Ziele der Erfindung, die nachstehend ersichtlich werden, werden durch die nachfolgend beschriebene jetzige Erfindung erreicht.
  • Zusammenfassung der Erfindung
  • Die jetzige Erfindung stellt dementsprechend in ihrer am weitesten ausgelegten Form ein Verfahren zur Verfügung, das Daten zwischen einer Host-Steuereinrichtung und einer Peripherieeinrichtung über eine ausgedehnte Entfernung überträgt; Das Verfahren beinhaltet:
    • a. Zuführen eines ersten ursprünglichen abgehenden digitalen Signals von einer Host-Steuereinrichtung zu einer lokalen Erweiterungseinheit;
    • b. Optionales Konvertieren des abgehenden digitalen Signals in ein konvertiertes abgehendes Signal mit einem zur Übertragung über ausgedehnte Entfernungen geeigneten Format;
    • c. Übertragen entweder des abgehenden digitalen Signals oder des konvertierten abgehenden Signals als abgehendes Übertragungssignal über ein Signalverteilungssystem;
    • d. Empfangen des abgehenden Übertragungssignals an einer entfernten Erweiterungseinheit;
    • e. Optionales Konvertieren des abgehenden Übertragungssignals in das erste ursprüngliche abgehende digitale Signal;
    • f. Zuführen des ersten ursprünglichen digitalen Signals von der entfernten Erweiterungseinheit zu zumindest einer Peripherieeinrichtung;
    • g. Empfangen eines digitalen Antwortsignals von der Peripherieeinrichtung an der entfernten Erweiterungseinheit.
    • h. Optionales Konvertieren des digitalen Antwortsignals in ein konvertiertes Antwortsignal mit einem zur Übertragung über ausgedehnte Entfernungen geeigneten Format;
    • i. Übertragen des digitalen Antwortsignals oder des konvertierten Antwortsignals als Antwortübertragungssignal über das Signalverteilungssystem;
    • j. Empfangen des Antwortübertragungssignals an der lokalen Erweiterungseinheit;
    • k. Optionales Konvertieren des Antwortübertragungssignals in das ursprüngliche digitale Anwortsignal;
    • l. Speichern des digitalen Antwortsignals als gespeichertes digitales Antwortsignal bis zum Empfang eines nachfolgenden ursprünglichen abgehenden digitalen Signals von der Host-Steuereinrichtung, das das gleiche wie das erste ursprüngliche abgehende digitale Signal ist oder diesem ähnlich ist, und
    • m. Weiterleiten des gespeicherten digitalen Antwortsignals zu der Host-Steuereinrichtung als Antwort auf das nachfolgende ursprüngliche abgehende digitale Signal.
  • In Bezug auf den isochronen Datenstrom und einen zeitrelevanten Datenstrom im Allgemeinen, stellt das erste oder nachfolgende ursprüngliche abgehende digitale Signal eine Anforderung nach zeitrelevanten Daten und vorzugsweise einem isochronen Datenstrom dar.
  • Zum Zwecke der jetzigen Spezifikation bezieht sich der Ausdruck "zeitrelevanter Datenstrom" auf Datenströme wie isochrone Datenströme wobei der Verlust eines Datenübertragungsblocks von einer vorangegangenen Übertragung weniger Bedeutung hat und dieser folglich nicht noch mal übertragen werden muss.
  • In der bevorzugten Ausführung entsprechen alle digitalen Signale der USB Spezifikation ( außer bei der Entfernung zwischen Einrichtungen), und alle digitalen Signale und die digitalen Antwortsignale im Besonderen stellen isochrone Daten dar.
  • In einer weiteren bevorzugten Ausführung stellt die jetzige Erfindung ein Verfahren zur Übertragung von isochronen Daten gemäß der USB Spezifikation zur Verfügung, wobei isochrone Daten von einer Peripherieeinrichtung übertragen und durch eine Host-Steuereinrichtung empfangen werden. Das Verfahren beinhaltet diese Schritte:
    • a. Übertragen einer Anforderung isochroner Daten von einer Host-Steuereinrichtung zu einer lokalen Erweiterungseinheit;
    • b. Weiterleiten der Anforderung isochroner Daten von der besagten Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem.
    • c. Zuführen der weitergeleiteten Anforderung isochroner Daten zu zumindest einer Peripherieeinrichtung;
    • d. Übertragen der angeforderten isochronen Daten von der Peripherieeinrichtung zu der entfernten Erweiterungseinheit;
    • e. Weiterleiten der angeforderten isochronen Daten von der entfernten Erweiterungseinheit zu der lokalen Erweiterungseinheit über das Signalverteilungssystem;
    • f. Speichern der angeforderten isochronen Daten in einem Paketpuffer an der lokalen Erweiterungseinheit;
    • g. Übertragen einer nachfolgenden Anforderung isochroner Daten von der Host-Steuereinrichtung zu der lokalen Erweiterungseinheit;
    • h. Empfangen der nachfolgenden Anforderung isochroner Daten an der lokalen Erweiterungseinheit und
    • I. Abrufen der gespeicherten isochronen Daten von der lokalen Erweiterungseinheit;
    • II. Zuführen der isochronen Daten zu der Host-Steuereinrichtung;
    • III. Weiterleiten der nachfolgenden Anforderung isochroner Daten von der lokalen Erweiterungseinheit zu der entfernten Erweiterungseinheit über das Signalverteilungssystem und
    • IV. Wiederholen der Schritte (c) bis (h) für die nachfolgende Anforderung und jede weitere nachfolgende Anforderung isochroner Daten.
  • In einer noch mehr bevorzugten Ausführung stellt die jetzige Erfindung ein Verfahren bereit, das zusätzlich noch die folgenden Schritte nach oben beschriebenen Punkt "a" enthält. Diese sind:
    • i. Bestimmen, ob die lokale Erweiterungseinheit bereits die angeforderten isochronen Daten besitzt;
    • ii. Erzeugen eines synthetischen Datenpakets, wenn keine derartigen angeforderten isochronischen Daten vorhanden sind, und
    • iii. Zuführen der synthetischen isochronen Daten zu der Host-Steuereinrichtung.
  • Ein Verfahren zur Erzeugung des synthetischen Datenpakets wird unten beschrieben.
  • In Bezug auf einen asynchronen Datenstrom und auf einen nicht-zeitrelevanten Datenstrom im Allgemeinen, stellt die jetzige Erfindung ein Verfahren zur Verfügung, wobei das erste oder nachfolgende ursprüngliche abgehende digitale Signal eine Anforderung nach zeit-relevanten Daten und vorzugsweise einen asynchronen Datenstrom darstellt.
  • Zum Zwecke der jetzigen Spezifikation bezieht sich der Ausdruck "nicht-zeitrelevante Daten" auf Datenströme wie asynchrone Datenströme bei denen der Verlust eines Datenübertragungsblocks von einer vorherigen Übertragung nicht akzeptabel ist und daher ein aktueller, korrekter Transfer der Information benötigt wird.
  • In einem bevorzugten Ausführungsbeispiel entsprechen alle digitalen Signale der USB Spezifikation (ausser bei der Entfernung zwischen Einrichtungen) und alle digitalen. Signale und das digitale Antwortsignal im Besonderen stellen asychrone Daten dar.
  • In einer weiteren bevorzugten Ausführung stellt die jetzige Erfindung ein Verfahren zur Übertragung von asynchronen Daten gemäß der USB Spezifikation zur Verfügung, wobei asynchrone Daten von einer Peripherieeinrichtung übertragen und durch eine Host-Steuereinrichtung empfangen werden. Das Verfahren beinhaltet diese Schritte:
    • a) Empfangen einer ursprünglichen Anforderung asynchroner Daten von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit;
    • b) Weiterleiten der ursprünglichen Anforderung asynchroner Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem;
    • c) Empfangen der weitergeleiteten ursprünglichen Anforderung asynchroner Daten an einer entfernten Erweiterungseinheit;
    • d) Zuführen der weitergeleiteten ursprünglichen Anforderung asynchroner Daten zu zumindest einer Peripherieeinrichtung;
    • e) Empfangen der angeforderten asynchronen Daten von Peripherieeinrichtung an entfernter Erweiterungseinheit;
    • f) Weiterleiten der angeforderten asynchronen Daten von entfernter Erweiterungseinheit zu lokaler Erweiterungseinheit über das Signalverteilungssystem;
    • g) Speichern der angeforderten asynchronen Daten in einem Packetpuffer an der lokalen Erweiterungseinheit;
    • h) Empfangen der nachfolgenden Anforderung asynchroner Daten von Host-Steuereinrichtung an lokaler Erweiterungseinheit und
    • i) Weiterleiten der nachfolgenden Anforderung asynchroner Daten von lokaler Erweiterungseinheit an eine entfernte Erweiterungseinheit über das Signalverteilungssystem;
    • ii) Zuführen der weitergeleiteten nachfolgenden Anforderung asynchroner Daten an zumindest eine Peripherieeinrichtung;
    • iii) Empfangen der angeforderten asynchronen Daten von Peripherieeinrichtung an entfernter Erweiterungseinheit;
    • i) Zusätzliches Empfangen der nachfolgenden Anforderung asynchroner Daten von Host-Steuereinrichtung wie in Schritt (h) an lokaler Erweiterungseinheit und
    • i) Abrufen der gespeicherten asynchronen Daten von Paketpuffer;
    • ii) Zuführen der aufgerufenen asynchronen Daten zu der Host-Steuereinrichtung;
    • j) Empfangen eines abgehenden Bestätigungssignals von Host-Steuereinrichtung an lokaler Erweiterungseinheit;
    • k) Optionales Konvertieren des abgehenden Bestätigungssignals in ein konvertiertes Bestätigungssignal mit einem zur Übertragung über ausgedehnte Entfernungen geeigneten Format;
    • l) Übertragen entweder des abgehenden Bestätigungssignals oder des konvertierten Bestätigungssignals als Bestätigungsübertragungssignal über ein Signalverteilungssystem;
    • m) Empfangen des Bestätigungsübertragungssignals an einer entfernten Erweiterungseinheit;
    • n) optionales Konvertieren des Bestätigungsübertragungssignals in das abgehende Bestätigungssignal und
    • o) Zuführen des abgehenden Bestätigungssignals von der entfernten Erweiterungseinheit zu zumindest einer Peripherieeinrichtung.
  • In einer bevorzugten Ausführung stellt das Verfahren auch die folgenden zusätzlichen Schritte nach oben beschriebenen Schritt (b) zur Verfügung. Diese sind:
    • i) Bestimmen ob die lokale Erweiterungseinheit bereits die angeforderten asynchronen Daten besitzt;
    • ii) Erzeugen eines negativen Bestätigungspakets, wenn keine derartigen angeforderten asynchronen Daten vorhanden sind, und
    • iii) Zuführen des negativen Bestätigungspakets zu der Host-Steuereinrichtung.
  • In einer noch mehr bevorzugten Ausführung stellt die jetzige Erfindung auch wie oben beschrieben ein Verfahren in Bezug auf die jetzige Erfindung zur Verfügung, wobei das Verfahren ein Verfahren zur Übertragung von asynchronen Daten gemäß der USB Spezifikation zur Verfügung stellt bei dem asynchrone Daten von einer Host-Steuereinrichtung übertragen und von einer Peripherieeinrichtung empfangen werden. Das Verfahren enthält diese Schritte:
    • a) Empfangen einer ursprünglichen Ankündigung asynchroner Daten von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit;
    • b) Weiterleiten der ursprünglichen Ankündigung asynchroner Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem;
    • c) Emfangen der weitergeleiteten ursprünglichen Ankündigung asynchroner Daten an einer entfernten Erweiterungseinheit;
    • d) Zuführen der weitergeleiteten Ankündigung asynchroner Daten zu. zumindest einer Peripherieeinrichtung;
    • e) Empfangen eines ursprünglichen asynchronen Datenpakets von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit;
    • l) Weiterleiten des ursprünglichen asynchronen Datenpakets von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem;
    • g) Empfangen des weitergeleiteten ursprünglichen Datenpakets an einer entfernten Erweiterungseinheit;
    • h) Zuführen des weitergeleiteten ursprünglichen asynchronen Datenpakets zu zumindest einer Peripherieeinrichtung;
    • i) Empfangen eines eingehenden Bestätigungspakets von der Peripherieeinrichtung an der entfernten Erweiterungseinheit;
    • j) Weiterleiten des eingehenden Bestätigungspakets von der entfernten Erweiterungseinheit zu der lokalen Erweiterungseinheit über das Signalverteilungssystem:
    • k) Speichern des eingehenden Bestätigungspakets in einem Paketpuffer an der lokalen Erweiterungseinheit;
    • l) Empfangen einer nachfolgenden Ankündigung asynchroner Daten von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit;
    • m) Empfangen eines nachfolgenden asynchronen Datenpakets von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit, und
    • i) Abrufen des gespeicherten eingehenden Bestätigungspakets aus dem Paketpuffer und
    • ii) Zuführen des abgerufenen eingehenden Bestätigungspakets zu der Host-Steuereinrichtung.
  • Darüberhinaus wird bevorzugt, daß das oben beschriebene Verfahren zusätzlich diese folgenden Schritte beinhaltet:
    • i) Bestimmen, ob die lokale Erweiterungseinheit das eingehende Bestätigungspaket bereits verarbeitet;
    • ii) Erzeugen eines negativen Bestätigungspakets, wenn kein derartiges eingehendes Bestätigungspaket vorhanden ist, und
    • iii) Zuführen des negativen Bestätigungspakets zu der Host-Steuereinrichtung.
  • In Systemen bei denen nach Übertragung eines Datenpakets eine Überwachungszeit verhängt wird (um eine vorzeitige Übertragung eines anderen Pakets zu verhindern) stellt die bevorzugte Ausführung der jetzigen Erfindung auch ein wie oben beschriebenes Verfahren zur Verfügung, das zusätzlich aus den folgenden Stufen besteht:
    • a) Empfangen eines abgehenden Datenpakets an einer entfernten Erweiterungseinheit,
    • b) Bestimmen des Übertragungstyps des abgehenden Datenpakets an einer entfernten Erweiterungseinheit,
    • c) Weiterleiten des abgehenden Datenpakets von der entfernten Erweiterungseinheit zu einer USB-Einrichtung,
    • d) Einstellen des Wert eines Übertragungsüberwachungszeitgebers auf einen Wert, der von dem bestimmten Übertragungstyp abhängt und
    • e) Verhindern weiterer abgehender Übertragungen bis der Überwachungszeitgeber abgelaufen ist.
  • In einer bevorzugten Ausführung in einer zeitrelevanten oder nicht-zeitrelevanten Datenübertragung beträgt die ausgedehnte Entfernung mehr als 5 Meter, vorzugsweise mehr als 30 Meter und ist noch besser größer oder gleich 100 Meter. Die Entfernung zwischen der lokalen Erweiterungseinheit und der entfernten Erweiterungseinheit ist größer als 5 Meter, vorzugsweise größer als 30 Meter und noch besser größer oder gleich 100 Meter.
  • Die jetzige Erfindung kann wie das frühere Modell in einem System verwendet werden, wobei der PC zur Host-Steuereinrichtung wird und die Peripherieeinrichtung beispielsweise eine Kamera, Maus, Keyboard, Monitor oder ein Lautsprecher (bzw. mehrere Lautsprecher) ist.
  • Obwohl eine Anzahl verschiedener Signalverteilungssysteme verwendet werden kann, benutzt das Signalverwendungssystem vorzugsweise eine nicht-abgeschirmte verdrillte Doppelleitung UTP (oder Verkabelung). Es können jedoch auch andere Signalverteilungssysteme wie beispielsweise Koaxialkabel, entstörtes verdrilltes Paar oder Faseroptiksysteme mit Fasteroptikverkabelung verwendet werden.
  • In einer anderen Beziehung stellt die jetzige Erfindung auch Geräte zur Übertragung eines digitalen Signals über eine ausgedehnte Entfernung zur Verfügung. Dies umfasst:
    eine lokale Erweiterungseinheit, die Vorrichtungen zum Empfangen einer Datensignalanforderung von einer an die lokale Erweiterungseinheit verbundenen Host-Steuereinrichtung enthält;
    Vorrichtungen in der lokalen Erweiterungseinheit zur Erzeugung eines abgehenden Übertragungssignals;
    Vorrichtungen in lokaler Erweiterungseinheit zum Versenden eines abgehenden Übertragungssignals zu einer entfernten Erweiterungseinheit. Diese Signale werden über ein Signalverteilungssystem geschickt.
  • Eine entfernte Erweiterungseinheit, die Vorrichtungen zum Empfang der abgehenden Übertragungssignale enthält;
    Vorrichtungen in entfernter Erweiterungseinheit zur Erzeugung eines digitalen Signals aus dem abgehenden Übertragungssignals;
    Vorrichtungen in entfernter Erweiterungseinheit zur Weiterleitung des digitalen Signals zu zumindest einer mit der entfernten Erweiterungseinheit verbundenen Peripherieeinrichtung:
    Vorrichtungen in entfernter Erweiterungseinheit zum Empfang des eingehenden digitalen Signals von den Peripherieeinrichtungen;
    Vorrichtungen in entfernter Erweiterungseinheit zum Konvertieren der eingehenden digitalen Signale in eingehende Übertragungssignale;
    Vorrichtungen in entfernter Erweiterungseinheit zum Versenden des eingehenden Übertragungssignals zu lokaler Erweiterungseinheit über ein Signalverteilungssystem;
    Vorrichtungen in lokaler Erweiterungseinheit zum Empfang des eingehenden Übertragungssignals;
    Vorrichtungen in lokaler Erweiterungseinheit zur Erzeugung eines digitalen Signals aus der eingehenden Übertragung und
    Vorrichtungen in entfernter Erweiterungseinheit zur Weiterleitung des digitalen Signals zu der Host-Steuereinrichtung.
  • In einer Ausführung ist das Datensignal zeitrelevant und vorzugsweise ein isochrones Datensignal. In Bezug auf zeitrelevante Datensignale (oder Datenströme) beinhaltet die lokale Erweiterungseinheit vorzugsweise noch zusätzlich:
    • a) Vorrichtung zum Speichern des eingehenden Signals als ein gespeichertes eingehendes Signal;
    • b) Vorrichtung zur Analyse des digitalen Signals von der Host-Steuereinrichtung um eine nachfolgende Anforderung zur Übertragung des zeitrelevanten digitalen Signals zu erkennen und
    • c) Vorrichtung zum Senden des gespeicherten eingehenden Signals zu der Host-Steuereinrichtung als Antwort auf die nachfolgende Anforderung.
  • In einer alternativen Ausführung ist das Datensignal ein nicht-zeitrelevantes Datensignal und ist vorzugsweise ein asynchrones Datensignal. Demzufolge stellt die jetzige Erfindung in Bezug auf nicht-zeitrelevante Daten auch Geräte zur Übertragung eines digitalen Signals über eine ausgedehnte Entfernung zur Verfügung. Dies umfasst:
    • a) eine lokale Erweiterungseinheit, die eine Vorrichtung enthält zum Empfang einer Anforderung eines nicht-zeitrelevanten Datensignals von der Host-Steuereinrichtung, die mit der lokalen Erweiterungseinheit verbunden ist, wobei das nicht-zeitrelevante Datensignal ein der USB Spezifikation entsprechendes Datensignal ist.
    • b) eine Vorrichtung in der lokalen Erweiterungseinheit zum Erzeugen eines abgehenden Übertragungssignals;
    • c) eine Vorrichtung in der lokalen Erweiterungseinheit zum Versenden eines abgehenden Übertragungssignals über ein Signalverteilungssystem zu einer entfernten Erweiterungseinheit;
    • d) eine entfernte Erweiterungseinheit, die eine Vorrichtung zum Emfpang des abgehenden Übertragungssignals besitzt;
    • e) eine Vorrichtung in der entfernten Erweiterungseinheit zur Erzugung eines digitalen Signals aus dem abgehenden Übertragungssignals;
    • f) Eine Vorrichtung in der entfernten Erweiterungseinheit zur Weiterleitung des digitalen Signals zu zumindest einer Peripherieeinrichtung, die mit der entfernten Erweiterungseinheit verbunden ist;
    • g) Vorrichtung in entfernter Erweiterungseinheit zum Empfang der eingehenden digitalen Signale von den Peripherieeinrichtungen;
    • h) Vorrichtung in entfernter Erweiterungseinheit zum Konvertieren der eingehenden digitalen Signale in ein eingehendes Übertragungssignal;
    • i) Vorrichtung in entfernter Erweiterungseinheit zum Senden des eingehenden Übertragungssignals zu lokaler Erweiterungseinheit, wobei die Signale über das Signalverteilungssystem geschickt werden;
    • j) Vorrichtung in lokaler Erweiterungseinheit zum Empfang des eingehenden Übertragungssignals;
    • k) Vorrichtung in lokaler Erweiterungseinheit zur Erzeugung eines digitalen Signals aus der eingehenden Übertragung und;
    • l) Vorrichtung in entfernter Erweiterungseinheit zur Weiterleitung des digitalen Signals an die Host-Steuereinrichtung.
  • Das nicht-zeitrelevante Signal sollte vorzugsweise asynchrone Datenmaterial sein.
  • In einer bevorzugten Ausführung stellt die jetzige Erfindung auch Geräte zur Verfügung wobei die lokale Erweiterungseinheit zusätzlich noch dies einschliesst:
    • a) Vorrichtung zum Speichern des eingehenden Signals als ein gespeichertes eingehendes Signal;
    • b) Vorrichtung zur Analyse des von der Host-Steuereinrichtung eingehenden digitalen Signals um eine nachfolgende Anforderung zur Übertragung des nicht-zeitrelevanten Datensignals zu erkennen und
    • c) Vorrichtung zum Senden des gespeicherten eingehenden Signals zu Host-Steuereinrichtung als Antwort auf die nachfolgende Anforderung.
  • Beschreibung der bevorzugten Ausführenen
  • Obwohl verschiedene Signalverteilungssysteme wie oben beschrieben verwendet werden können, werden die Signale vorzugsweise über ein Signalverteilungssystem übertragen, das Nicht-Abgeschirmte Verdrillte Doppelleitung UTP-Kupferkabel benutzt. Diese Art Anschlüsse sind eine kostengünstiges, effektives Mittel zur Datenübertragung. In einer anderen Ausführung des Systems können die Signale auch über Koaxialkabel, abgeschirmte Kabel oder ein Faseroptikverteilungssystem übertragen werden.
  • Obwohl die Verfahren und Geräte der jetzigen Erfindung eine allgemeine Verwendung in verschiedenen Anwendungen finden, ist es äusserst wichtig, daß die Datenübertragungsverfahren und Geräte der jetzigen Erfindung so eingerichtet sind, daß sie den USB Spezifikationen entsprechen (mit Ausnahme der Entfernungsvorausssetzungen). Vorzugsweise ist das ursprüngliche Signal von der Host-Steuereinrichtung eine Datenanforderung von der Peripherieeinrichtung. Zusätzlich sind die angeforderten Daten vorzugsweise von Peripherieeinrichtungen wie Kameras, Keyboards, Mäusen, Monitoren, Lautsprecher und Ähnlichem.
  • Bei zeitrelevanten Datenströmen und besonders bei Vorgängen, in denen die Verfahren und Geräte der jetzigen Erfindung in Anwendungen mit Übertragungen über ausgedehnte Entfernungen verwendet werden, wird es vorgezogen, daß die Geräte vorzugsweise fähig sind isochrone Transfers beim Empfang zu erkennen. Die im isochronen Transfer enthaltenen Daten werden dann im System für eine bestimmte Zeitdauer gespeichert. Dementsprechend können die Daten, die während eines bestimmten Datenübertragungsblocks empfangen werden, gespeichert und dann in einem folgenden Datenübertragungsblock übertragen werden. Eine zusätzliche bevorzugte Ausführung der jetzigen Erfindung beinhaltet, daß isochrone Transfers, die von mehreren Quellen stammen, gespeichert und wieder neu übertragen werden können.
  • Bei Anwendung der bevorzugten Ausführung der jetzigen Erfindung kann die Host-Steuereinrichtung (vorzugsweise ist das ein PC) einen isochronen Datentransfer bei einer Einrichtung anfordern. Die Anforderung wird von dem Gerät der jetzigen Erfindung empfangen und neu an die Zieleinrichtung übertragen. Wenn die Antwort auf den angeforderten isochronen Datentransfer von dem Gerät der Zieleinrichtung empfangen wird, werden die isochronen Daten im internen Speicher des Gerätes gespeichert. Während des nachfolgenden Datenübertragungsblocks fordert die Host-Steuereinrichtung wieder einen Transfer der isochronen Daten bei der Zieleinrichtung an. Zusätzlich erkennt das Gerät jedoch, daß in seinem internen Speicher gegenwärtig isochrone Daten von der Zieleinrichtung gespeichert sind. Das Gerät schickt diese Daten an die Host-Steuereinrichtung innerhalb der 16 Bit-Zeit Spanne, die sich auf die gegenwärtige Anforderung innerhalb des gegenwärtigen Datenübertragungsblocks bezieht. Auf diese Weise benutzt das Gerät die Daten, die in einem früheren Datenübertragungsblock gesammelt wurden, um der Reaktionszeit des gegenwärtigen Datenübertragungsblocks zu genügen.
  • Wenn ein Paket von der Zieleinrichtung empfangen wird und keine weitere Datenanforderung von der Host-Steuereinrichtung empfangen wird, wird das oder die letzten empfangenen und gespeicherten Datenpakete (nachfolgend als "spurenhafte" Pakete bezeichnet) vorzugsweise aus dem System entfernt, damit sie nicht übertragen werden, falls eine weitere Anforderung von der Host-Steuereinrichtung empfangen wird. Dies wird vorzugsweise durch eine Abänderung des oben beschriebenen Verfahrens mithilfe der folgenden zusätzlichen Schritte erreicht. Diese sind:
    • i) Ermitteln ob ein neuer Datenübertragungsblock begonnen wurde;
    • ii) Prüfen der Eigenschaften jedes einzelnen Paketpuffers;
    • iii) Bestimmen, ob das in dem Paketpuffer enthaltene Datenpaket zumindest eine komplette Datenübertragungsblockperiode gespeichert wurde;
    • iv) Verwerfen des enthaltenen Datenpakets wenn das enthaltene Datenpaket zumindest eine vollständige Datenübertragungsblockperiode gespeichert wurde und
    • v) Wiederholen der Schritte (i) bis (iv) für jeden Paketpuffer im System.
  • In einer alternativen Ausführung der Erfindung behandelt das Gerät die erste Anforderung eines eingehenden isochronen Datentransfers in einer einzigartigen Vorgehensweise. Diese einzigartige Vorgehensweise verlangt, daß das Gerät sein eigenes synthetisches eingehendes Datenpaket erzeugt. Die Erzeugung des synthetischen Datenpakets wird nachfolgend beschrieben.
  • Es ist möglich, daß die von der entfernten Erweiterungseinheit geschickten Pakete eventuell nicht in der erwarteten Reihenfolge an der lokalen Erweiterungseinheit, wie von der lokalen Erweiterungseinheit erwartet, eingehen. Um Schwierigkeiten zu verhindern, die eventuell durch dieses Ereignis verursacht werden könnten, beinhaltet das Verfahren der jetzigen Erfindung auch vorzugsweise die folgenden Schritte. Diese sind:
    • i) Speichern der Adresse der angeforderten Peripherieeinrichtung an der entfernten Erweiterungseinheit nachdem die lokale Erweiterungseinheit die weitergeieitete Anforderung isochroner Daten zugestellt hat;
  • Nach Übertragung der angeforderten isochronen Daten von der Peripherieeinrichtung zu der entfernten Erweiterungseinheit sind noch folgende Schritte notwendig:
    • i) Abrufen der Adresse der angeforderten Peripherieeinrichtung an der entfernten Erweiterungseinheit und
    • ii) Hinzufügen der abgerufenen Adresse zu den angeforderten isochronen Daten.
  • In Bezug auf nicht-zeitrelevante Datenströme und besonders asynchrone Datensignale, -ströme, -oder transfers wird es vorgezogen, daß während der Anwendung des Verfahrens oder während der Benutzung des Gerätes der jetzigen Erfindung, das Gerät vorzugsweise fähig ist asynchrone Transfers beim Empfang zu erkennen. Die im asynchronen Datentransfer enthaltenen Daten werden dann im System eine bestimmte Zeitperiode lang gespeichert. Dementsprechend können Daten, die während einer bestimmten Zeitperiode empfangen wurden, gespeichert und dann in der nächsten Zeitperiode übertragen werden. Eine weitere bevorzugte Ausführung der jetzigen Erfindung beinhaltet, daß asynchrone Daten, die von einer Vielzahl von Quellen stammen, gespeicher und neu übertragen werden können.
  • Bei der Anwendung der bevorzugten Ausführung der jetzigen Erfindung in Bezug auf einen nicht-zeitrelevanten Datenstrom und besonders auf einen asynchronen Datenstrom, kann die Host-Steuereinrichtung (vorzugsweise ein PC) einen asynchronen Datentransfer bei einer Einrichtung anfordern. Die Anforderung wird von dem Gerät der jetzigen Erfindung empfangen und wird neu an die Zieleinrichtung übertragen. Wenn die angeforderte asynchrone Transferantwort von der Zieleinrichtung an dem Gerät empfangen wird, werden die asynchronen Daten im internen Speicher des Gerätes gespeichert. Während der nachfolgenden Zeitperiode fordert die Host-Steuereinrichtung den asynchronen Datentransfer bei der Zieleinrichtung an. Das Gerät überträgt dann die Anforderung wieder weiter an die Zieleinrichtung. Zusätzlich erkennt das Gerät jedoch, daß es gegenwärtig asynchrone Daten von der Zieleinrichtung in seinem internen Speicher gespeichert hat. Das Gerät schickt diese Daten an die Host-Steuereinrichtung innerhalb der 16 Bit Zeitspanne, die für die gegenwärtige Anforderung innerhalb der gegenwärtigen Zeitperiode maßgeblich ist. Das Gerät benutzt auf diese Weise Daten, die in einer vorangegangen Zeitperiode gesammelt wurden, um die Auflagen der Antwortzeit der gegenwärtigen Zeitperiode zu erfüllen.
  • Der Ausdruck "Zeitperiode" kann sich auf eine bestimmte Zeitperiode von Interesse beziehen (dies kann ein Teil des Datenübertragungsblocks, eine Vielzahl von Datenübertragungsblöcken oder Ähnliches sein), aber idealerweise ist dies ein einzelner "Datenübertragungsblock" gemäß der USB Spezifikation.
  • Die "Host-Steuereinrichtung" ist vorzugsweise ein PC wie bereits vorangegangen aufgeführt. Die Host-Steuereinrichtung kann jedoch auch Teil eines Computersystems und im Besonderen Teil eines Computersystemsnetzwerk sein.
  • Durch Anwendung des Verfahrens und des Gerätes der jetzigen Erfindung können zeitrelevante oder nicht-zeitrelevante, isochrone und besonders asynchrone Daten über ausgedehnte Entfernungen, und im Besonderen über Entfernungen die größer als die in der USB Spezifikation genannten Entfernungen, übermittelt werden.
  • Andere Features der jetzigen Erfindung und andere diesbezüglich begleitende Ziele und Vorteile werden in der folgenden Beschreibung und begleitenden Graphiken dargestellt. Gleiche Referenznummern beschreiben gleiche Komponenten.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung einschliesslich verschiedener diesbezüglicher Aspekte werden durch Verweise auf die beigefügten Zeichnungen beschrieben. Dies beinhaltet:
  • 1 ist ein mit einem herkömmlichem USB Hub und USB Einrichtungen ausgestatteter PC;
  • 2 ist ein PC, der mit einem Hub für Ausgedehnte Entfernung und USB Einrichtungen gemäß der jetzigen Erfindung ausgestattet ist;
  • 3 ist eine schematische Zeichnung einer Ausführung der Erfindung, die eine UTP Schaltung als Signalverteilungssystem benützen soll;
  • 4 ist ein Zeitdiagramm, das isochrone Transfers gemäß dem USB Protokoll darstellt;
  • 5 ist ein Zeitdiagramm, das isochrone Transfers gemäß der jetzigen Erfindung darstellt;
  • 6 ist eine schematische Zeichung einer Ausführung der lokalen Erweiterungseinheit gemäß der Erfindung;
  • 7 ist eine schematische Zeichnung einer Ausführung der entfernten Erweiterungseinheit gemäß der Erfindung;
  • 8 ist ein Ablaufdiagramm, das einen isochronen Input Transfer gemäß der Erfindung darstellt;
  • 9 ist ein alternativer isochroner Input Transfer gemäß der Erfindung;
  • 10 ist ein Ablaufdiagramm, das einen isochronen Output Transfer gemäß der Erfindung darstellt;
  • 12 ist ein Logik-Diagramm einer LEX Steuereinrichtung gemäß der Erfindung;
  • 12 ist ein Logik-Diagramm einer erweiterten LEX Steuereinrichtung gemäß der Erfindung; 13 ist ein Logik-Diagramm einer zusätzlichen Erweiterung der LEX Steuereinrichtung, die nun die Entfernung von spurenhaften Paketen ermöglicht;
  • 14 ist ein Logik-Diagramm einer REX Steuereinrichtung gemäß der Erfindung;
  • 15 ist ein Logik-Diagramm einer erweiterten REX Steuereinrichtung gemäß der Erfindung;
  • 16 ist ein Zeitdiagramm, das einen asynchronen Transfer gemäß des USB Protokolls darstellt;
  • 17 ist ein Zeitdiagramm, das einen asynchronen Transfer gemäß der jetzigen Erfindung darstellt;
  • 18 ist ein Ablaufdiagramm, das einen asynchronen Input Transfer gemäß der Erfindung darstellt;
  • 19 ist ein Ablaufdiagramm, das einen alternativen asynchronen Input Transfer gemäß der Erfindung darstellt;
  • 20 ist ein Ablaufdiagramm, das einen asynchronen Output Transfer gemäß der Erfindung darstellt;
  • 21 ist ein Ablaufdiagramm, das einen alternativen asynchronen Output Transfer gemäß der Erfindung darstellt;
  • 22 ist ein Logik-Diagramm einer LEX Steuereinrichtung gemäß der Erfindung;
  • 23 ist ein Logik-Diagramm einer erweiterten LEX Steuereinrichtung gemäß der Erfindung;
  • 24 ist ein Logik-Diagramm einer REX Steuereinrichtung gemäß der Erfindung;
  • 25 ist eine schematische Zeichnung einer REX Steuereinrichtung gemäß der Erfindung;
  • 26 ist ein Ablaufdiagramm, das einen Anschluss-Ebene-Paket Output gemäß der Erfindung darstellt;
  • 27 ist ein Ablaufdiagramm, das einen Anschluss-Ebene-Paket Input gemäß der Erfindung darstellt.
  • 28 ist ein Logik-Diagramm einer Anschluss-Steuereinrichtung gemäß der Erfindung;
  • 29 ist ein Ablaufdiagramm, das einen Massen-Lese-Transfer gemäß der Erfindung darstellt;
  • 30 ist ein Ablaufdiagramm, das einen Massen-Schreib-Transfer gemäß der Erfindung darstellt;
  • 31 ist ein Ablaufdiagramm, das einen Unterbrechung In Transfer gemäß der Erfindung darstellt;
  • 32 ist ein Ablaufdiagramm, das einen Unterbrechung Out Transfer gemäß der Erfindung darstellt;
  • 33 ist ein Ablaufdiagramm, das einen Kontrolltransfer gemäß der Erfindung darstellt;
  • 34 ist ein Ablaufdiagramm, das einen Unterbrechung In Transfer bei geringer Geschwindigkeit gemäß der Erfindung darstellt und
  • 35 ist ein Ablaufdiagramm, das einen Unterbrechung Out Transfer bei geringer Geschwindigkeit gemäß der Erfindung darstellt.
  • In den Zeichnungen zeigt 1 einen PC (1), der mit zwei herkömmlichen USB Hubs (2a & 2b) und vier Standard USB Einrichtungen (3a, 3b, 3e & 3d) ausgestattet ist. Die Länge der Kabel zwischen den beiden Hubs (2a und 2b) kann nicht mehr als 5 Meter gemäß der aktuellen USB Spezifikation betragen.
  • 2 stellt einen PC (1) dar, der mit einem Gerät gemäß der jetzigen Erfindung, (bezeichnet als "Ausgedehnte Entfernung Hub" (7)) und vier Standard USB Einrichtungen (3a, 3b, 3c & 3d) ausgestattet ist.
  • Der Ausgedehnte Entfernung Hub besteht aus zwei getrennten Einheiten, einer "lokalen Erweiterungseinheit" (4) und einer "Entfernten Erweiterungseinheit" (5), die durch ein Kabel (6) verbunden sind. In einer Ausführung der Erfindung können Einheiten 4 und 5 durch beispielsweise durch ein bis zu 200 Meter langes Kategorie 5 UTP Kabel (6) (Faseroptikschaltung kann auch verwendet werden) getrennt sein.
  • 3 zeigt eine Ausführung der Erfindung, die über UTP laufen soll. In dieser Ausführung werden die Funktionen, die normalerweise von dem USB Hub übernommen werden, nun von zwei getrennten Einheiten übernommen, die durch Nichtabgeschirmte Vedrillte Doppelschaltung (UTP) Kupferverkabelung (6a) verbunden sind. Ein Host PC kann an die erste Einheit angeschlossen werden (4), dies ist dann die lokale Erweiterungseinheit (LEX). Eine zweite Einheit (5) wird hier als Entfernte Erweiterungseinheit (REX) bezeichnet. Eine REX (5) kann an eine Vielzahl von USB Einrichtungen angeschlossen werden. In dieser Ausführung beträgt die Anzahl 4, aber demjenigen, der sich in der Materie auskennt wird verständlich sein, daß eine andere Auswahl im Rahmen der Erfindung getroffen werden kann.
  • Die Anwendung über eine ausgedehnte Entfernung wird vorzugsweise erreicht, indem die LEX Einheit (4) nahe dem PC und die REX Einheit (5) nahe der Vielzahl der USB Einrichtungen plaziert wird. Die LEX Einheit (4) und die REX Einheit (5) werden durch eine entsprechend lange UTP Verkabelung (6a) verbunden.
  • 4 stellt ein Zeitdiagramm mit isochronen Transfers gemäß dem USB Protokoll dar. Das Diagramm wurde aus der Sicht der USB Host-Steuereinrichtung konstruiert, die sich normalerweise auf dem Motherboard des PC (Host PC) befindet. Das USB Protokoll unterteilt die Zeitvergabe auf der gemeinsam benutzten Sammelleitung in reguläre Datenübertragungsblöcke, die jeweils 1 ms betragen. Der Beginn eines jeden Datenübertragungsblocks wird auf dem Diagramm mit F1, F2, F3 & F4 gekennzeichnet. Wenn die Host-Steuereinrichtung einen isochronen Transfer mit einer Einrichtung abwickelt, fordert die Host-Steuereinrichtung reguläre Datentransfers bei der Einrichtung an. Diese Anfragen sind in 4 als Pakete R1, R2 & R3 (10, 12 & 14) gekennzeichnet. Eine USB Einrichtung muss gemäß dem USB Protokoll auf die Anforderung innerhalb 16-Bit-Zeiten antworten. Die Antworten sind in dem Diagramm als Pakete Is1, Ist & Is3 (11, 13 & 15) bezeichnet. Es wird üblicherweise angenommen, daß Transfer Is1 (11) als Antwort auf Anforderung R1 (10) zugeführt wird, Transfer Ist (13) wird als Antwort auf Anforderung R2 (12) zugeführt und so weiter bis alle Anforderungen beendet sind.
  • 5 stellt ein Zeitdiagramm mit isochronen Transfers gemäß der jetzigen Erfindung dar. Das Diagramm zeigt den Verlauf der Pakete durch verschiedene Untersysteme, aus denen die Erfindung besteht. Zeitachsen werden für die Komponenten des Host PCs (1), der lokalen Erweiterungseinheit (LEX) (4) und der entfernten Erweiterungseinheit (REX) (5), die in 2 gezeigt wurden, aufgeführt.
  • Ein isochroner Transfei wird von der Host-Steuereinrichtung (1) begonnen, wobei Inputdaten R1 (20) bei einer bestimmten USB Adresse und Endpunkt angefordert werden. Die Anforderung R1 (20) wird von der LEX (4) empfangen und wird über externe Verkabelung als R1 (25) an die REX (5) neuübertragen. Das neuübertragene Paket R1 (25) wird von der REX (5) empfangen und als R1 (31) an die Zieleinrichtung (z. B. einer der Elemente 3a, 3b, 3c or 3d aus 2) weitergeleitet.
  • Die Zieleinrichtung erzeugt ein Input Datenpaket Is1 (32). Eine Einrichtung ohne ein integriertes Kabel muss gemäß dem USB Protokoll eine Antwort innerhalb 6.5 Bit-Zeiten nach dem Ende der entsprechenden Anforderung erzeugen. Das Input Datenpaket Is1 (32) wird von dem REX Untersystem (5) empfangen und als Is1 (26) über die externe Verkabelung an LEX (4) neuübertragen. Die neuübermittelte Anwort Is1 (26) wird nicht sofort an den Host PC (1) weitergeleitet, sondern wird im Speicher des LEX Untersystems (4) gespeichert.
  • Der Host PC (1) bemerkt, daß keine Antwort auf seine angeforderten Inputdaten R1 (20) empfangen wurde und versucht die Transaktion erneut, wobei eine neue Anforderung R2 (21) an dieselbe USB Adresse und Endpunkt erzeugt wird. Nach Empfang der Anforderung R2 (21) ruft das LEX Untersystem 4 die Anwort Is1 (26) aus seinem Pufferspeicher auf und leitet diese an den Host PC als Anwort Is1 (22).
  • Die zweite Anforderung R2 (21) wird als R2 (27) durch die LEX wiederholt und als R2 (33) an die Einrichtung weitergeleitet. Die Zieleinrichtung erzeugt eine zweite Antwort 2 (34) welche als Ist (28) von der REX an die LEX neuübertragen wird. Die Antwort Ist (28) wird wieder im Speicher des LEX Untersystems gespeichert, von wo sie als Anwort Ist (24) auf die dritte Anforderung R3 (23) an den Host PC (1) geschickt wird. Der Prozess wird so oft wie nötig mit den Anforderungen R3 (23), R3 (29) und R3 (35) und Antworten Is3 (36) und Is3 (30) wiederholt.
  • 6 stellt eine Ausführung einer lokalen Erweiterungseinheit (LEX) (4) gemäß der Erfindung dar. Die Ausführung beinhaltet vier Hauptblöcke. Das USB Interface (50) ermöglicht, daß der Host PC über Standard USB Verkabelung an die Einheit angeschlossen ist. Das USB Interface (50) empfängt von dem Host PC Signale in USB Format und führt der LEX Steuereinrichtung (51) USB Pakete zu. Die LEX Steuereinrichtung (51) bestimmt welche Antwort auf das empfangene Paket benötigt wird und erzeugt die entsprechenden USB Pakete. Wenn die LEX Steuereinrichtung (51) eine Speicherung der Informationen vor der Übertragung verlangt werden die Informationen im RAM (53) gespeichert.
  • Die Informationen, die an die Entfernte Erweiterungseinheit (REX) (5) geschickt werden müssen, werden an das UTP Interface (52) weitergeleitet, wobei die Informationen in digitale Signale konvertiert werden, die für eine Übertragung über Kupferverkabelung geeignet sind.
  • In der umgekehrten Richtung werden die von der Entfernten Erweiterungseinheit (5) stammenden digitalen Signale von dem UTP Interface (52) empfangen und an die LEX Steuereinrichtung (51) weitergeleitet. Die LEX Steuereinrichtung (51) speicher die benötigten Informationen im RAM (53) und erzeugt die benötigten Antworten. Informationen, die an den Host PC geschickt werden müssen, werden an das USB Interface (50) übertragen, von wo sie an den Host PC mittels Standard USB Hardware und Protokollen weitergeleitet werden können.
  • 7 stellt eine Ausführung einer Entfernten Erweiterungseinheit (REX) (5) gemäß der Erfindung dar. Die Ausfuhrung beinhaltet ein UTP Interface (60), eine Vielzahl von USB Interfaces (63, 64, 65 and 66), eine REX Steuereinrichtung (61) und ein RAM (62). Das Verfahren der REX (5) ähnelt der LEX (4).
  • 8 ist ein Ablaufdiagramm, das einen isochronen Input Transfer gemäß der Erfindung zeigt. Das im Diagramm verwendete Format ist Jacobson et al. (Ivar Jacobson, Magnus Christerson, Patrick Jonsson and Gunnar Overgaard, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, 1992) zuordenbar.
  • Im Datenübertragungsblock 1 erzeugt die Ansteuerlogik (100) innerhalb des Host PC eine Anforderung für Input Daten, die an eine bestimmte USB Funktion addressiert ist. Die Anforderung wird an das LEX Untersystem als ein "In Addr" Paket übermittelt. Die Ansteuerlogik (101) innerhalb des LEX Untersystems leitet das In Addr Paket an das REX Untersystem weiter. Die Ansteuerlogik (102) innerhalb des REX Untersystems leitet das In Addr Paket an die Einrichtung weiter.
  • Die Ansteuerlogik (103) innerhalb der Einrichtung stellt die angeforderten isochronen Daten zusammen und überträgt sie als ein "Datenladung"- Paket an das REX Untersystem. Die Ansteuerlogik (102) innerhalb des REX Untersystems leitet das Datenladung-Paket an das LEX Untersystem weiter. Die Ansteuerlogik (101) im LEX Untersystem speichert das Datenladung-Paket in seinem Pufferspeicher.
  • Im Datenübertragungsblock 2 erkennt die Ansteuerlogik (104) innerhalb des Host PC, daß noch keine Antwort auf die vorangegangene Anforderung von Input Daten eingegangen ist.
  • Die Ansteuerlogik wiederholt den Vorgang automatisch nocheinmal wobei eine neue Anforderung an dieselbe USB Funktion wie in Datenübertragungsblock 1 addressiert wird. Die neue Anforderung wird an das LEX Untersystem als ein zweites In Addr Paket übertragen. Nach Empfang des zweiten In Addr Pakets erkennt die Ansteuerlogik (105) innerhalb des LEX Untersystems, daß sie ein Datenladung-Paket von derselben im In Addr Paket genannten Funktion in ihrem Speicher hat. Die Ansteuerlogik (105) ruft das gespeicherte Paket vom Speicher ab und überträgt es an den Host PC. Die Ansteuerlogik (105) leitet auch das neue In Addr Paket an das REX Untersystem weiter. Die Ansteuerlogik (106) innerhalb des REX Untersystems leitet das In Addr Paket an die Einrichtung weiter.
  • Die Ansteuerlogik (107) innerhalb der Einrichtung stellt die angeforderten isochronen Daten zusammen und übermittelt sie als ein Datenladung-Paket an das REX Untersystem. Die Ansteuerlogik (106) innerhalb des REX Untersystems leitet das Datenladung-Paket an das LEX Untersystem weiter. Die Ansteuerlogik (105) im LEX Untersystem speichert das Datenladung-Paket in seinem Pufferspeicher.
  • Der obenbeschriebene Vorgang wird für die nachfolgenden Datenübertragungsblöcke durch die verteilte Ansteuerlogik (z. B. 108, 109, 110 & 111) wiederholt.
  • 9 zeigt ein Ablaufdiagramm mit einem alternativen isochronen Input Transfer gemäß der Erfindung. Diese Methode unterscheidet sich von der in 8 beschriebenen Methode dadurch wie die erste Anforderung eines isochronen Input Transfer gehandhabt wird.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (100) innerhalb des Host PC eine Anforderung von Input Daten, die an eine bestimmte USB Funktion addressiert ist. Die Anforderung wird an das LEX Untersystem als ein In Addr Paket übermittelt. Die Ansteuerlogik (101) innerhalb des LEX Untersystems leitet das In Addr Paket an das REX Untersystem wie in 9 gezeigt weiter.
  • An dieser Stelle wird im Ablauf ein zusätzlicher Schritt eingeführt. Die Ansteuerlogik (101) innerhalb des LEX Untersystems erzeugt ein synthetisches Datenpaket und überträgt es als ein Datenladung-Paket an den Host PC. Das synthetische Datenpaket wird in 9 als Datenladung_0 bezeichnet. Der Rest der Protokollhandhabung läuft weiter wie in 8 beschrieben.
  • Laut der Definition in der USB Spezifikation besteht das DATA Paket aus einem einzelnen Byte Paket Kennzeicher (Packet Identifier PID), einer Datenladung zwischen O Bytes und 1023 Bytes, und einer zyklischen Blockprüfung von 2 Bytes. Das synthetische Datenpaket kann daher durch Zusammenstellung eines Datenpakets, das eine Nulllänge Ladung enthält, erstellt werden. Das synthetische Datenpaket kann hierdurch zur Erfüllung der Zeitauflagen des USB Protokolls benutzt werden, ohne daß dabei die eigentlichen vom Protokoll geschickten Informationen beeinflusst werden.
  • 10 stellt ein Ablaufdiagramm eines isochronen Output Transfers gemäß der Erfindung dar.
  • In 1 erzeugt die Ansteuerlogik (120) innerhalb des PC eine Ankündigung von Output Daten, die an eine bestimmte USB Funktion adressiert ist. Diese Ankündigung wird als ein Out Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (121) innerhalb des LEX Untersystems leitet das Out Addr Paket an das REX Untersystem weiter. Die Ansteuerlogik (122) innerhalb des REX Untersystems leitet das Out Addr Paket an die Einrichtung weiter. Die Information wird von der Ansteuerlogik (123) innerhalb der Einrichtung empfangen.
  • Die Ansteuerlogik (120) innerhalb des Host PC stellt die angekündigten isochronen Daten zusammen und überträgt sie als ein Datenladung-Paket an das LEX Untersystem. Die Ansteuerlogik (121) innerhalb des LEX Untersystems leitet das Datenladung-Paket an das REX Untersystem weiter. Die Ansteuerlogik (122) innerhalb des LEX Untersystems leitet das Datenladung-Paket an die Einrichtung weiter. Die Informationen werden von der Ansteuerlogik (123) innerhalb der Einrichtung empfangen.
  • 11 stellt einen Algorithmus zur Durchführung eines isochronen Transfers an der Lokalen Erweiterungseinheit (4) dar. In der in 6 beschriebenen Ausführung der Erfindung wird der Algorithmus durch die LEX Steuereinrichtung in der Hardware implementiert (51). (Denjenigen, die sich in diesem Gebiet auskennen, wird auffallen, daß diese Durchführung nicht einzigartig und es weitere Mechanismen zur Durchführung des Algorithmus' gibt ). In der folgenden Beschreibung bezieht sich die eingehende Richtung auf Pakete, die von einer Peripherieeinrichtung zu einer Host-Steuereinrichtung unterwegs sind; die abgehende Richtung bezieht sich auf Pakete, die von einer Host-Steuereinrichtung zu einer Peripherieeinrichtung unterwegs sind.
  • Gemäß der Erfindung muss der Algorithmus aus 11 die Verarbeitungsfunktionen durchführen, die aus den Verarbeitungsblöcken aus 8 (101, 105 & 109) und dem Verarbeitungsblock (121) aus 10 bestehen.
  • Nach dem ersten Hochfahren und nach einer Rücksetzung begibt sich das System in den Ruhezustand (200), in dem es auf die zu empfangene Nachricht (USB Paket) wartet. Nach Empfang eines Pakets wird das Paket Kennzeichner (PID) Feld innerhalb des Pakets geprüft, um die Art des empfangenen Pakets festzustellen und um die nächste Handlung zu bestimmen, die zur Bearbeitung des Pakets benötigt wird.
  • Wenn das empfangene Paket (201) vom Typ IN ist wird dann ein identisches Paket (202) übertragen. Das System prüft danach (203) seinen Pufferspeicher um zu entscheiden, ob bereits ein gespeichertes DATA Paket von der in der IN Aufforderung addressierten Einrichtung im Speicher vorhanden ist. Wenn kein derartiges gespeichertes DATA Paket im Speicher vorhanden ist begibt sich das System wieder in den Ruhezustand (200). Wenn das gespeicherte DATA Paket im Speicher vorhanden ist, ruft das System (204) das gespeicherte Paket aus dem Speicher ab und schickt (205) das Paket als Pakettyp DATA an den Host. Danach begibt es sich wieder in den Ruhezustand (200).
  • Das System (207) speichert das Datenpaket in seinem Pufferspeicher wenn das empfangene Paket (206) vom Typ DATA ist und in eingehender Richtung unterwegs ist. Das System begibt sich dann wieder in den Ruhezustand (200).
  • Das System überträgt das Paket (209) nocheinmal und begibt sich dann in den Ruhezustand (200) wenn das empfangene Paket (208) vom Typ OUT Addr ist.
  • Das System überträgt das Paket (211) nocheinmal und begibt sich dann in den Ruhezustand (200) wenn das empfangene Paket (210) vom Typ DATA ist und in der abgehenden Richtung unterwegs ist.
  • 12 stellt einen erweiterten Algorithmus zur Durchführung von isochronen Transfers an der Lokalen Erweiterungseinheit gemäß der in 9 beschriebenen Erfindung dar. Dieser Algorithmus ist grundsätzlich identisch mit dem in 11 beschriebenen, ausser in der Handhabung der Situation in der ein Host eine Datenanforderung ausstellt und die LEX noch nicht über Daten verfügt, die an den Host zurückgeschickt werden können. Diese Situation kann bei der ersten Anforderung einer isochronen Input Session auftreten.
  • In 12 wird ein identisches Paket (202) übertragen wenn das empfangene Paket (201) vom Typ IN ist. Das Sytem prüft dann (203) seinen Pufferspeicher um zu entscheiden, ob sich bereits ein gespeichertes DATA Paket von der in der IN Anforderung addressierten Einrichtung in seinem Speicher befindet. Wenn kein derartiges DATA Paket im Speicher vorhanden ist erzeugt das System (212) ein synthetisches DATA Paket und überträgt (213) das erzeugte Paket innerhalb der vom USB Protokoll erlaubten 16 Bit-Zeiten an den Host. Wenn ein gespeichertes DATA Paket im Speicher vorhanden ist, ruft das System (204) das gespeicherte Paket aus seinem Speicher ab und schickt (205) das Paket als ein Typ DATA Paket an den Host. Danach begibt es sich in den Ruhezustand (200).
  • Wenn das empfangene Paket (206) vom Typ DATA ist und in eingehender Richtung unterwegs ist, speichert das System (207) das Datenpaket in seinem Pufferspeicher. Das Fälligkeitskennzeichen des Pakets, das mit dem neu gespeicherten Paket verbunden ist, w ird zurückgestellt (214) aus Gründen die im Zusammenhang mit 13 beschrieben werden. Das System begibt sich dann wieder in den Ruhestand (200).
  • 13 ist ein Logikdiagramm einer zusätzlichen Erweiterung der LEX Steuereinrichtung, die es ermöglicht spurenhafte Pakete zu entfernen. Die spurenhafte Pakete können während eines isochronen Input Transfers auftreten wenn der Host PC die Beendigung einer Session entscheidet, die LEX Steuereinrichtung aber bereits ein eingehendes Datenpaket der besagten Session besitzt. Diese Situation wird beispielsweise durch die Datenladung_3 in 8 dargestellt.
  • Gemäß der USB Spezifikation wird der Beginn eines jeden Datenübertragungsblocks durch ein einzigartiges "Beginn des Datenübertragungsblockes" (Start of Frame, SOF) Signal markiert. Die in 13 beschriebene Abbildung verwendet dieses SOF Signal um nicht mehr benötigte Pakete zu identifizieren und zu verwerfen. Die Verarbeitung beginnt wenn das SOF Signal (221) von der Lokalen Erweiterungseinheit empfangen wird. Die Suche nach lokalem Pufferspeicherplatz wird durch Einstellung des Kontexts auf den ersten Pufter (222) begonnen. Das Fälligkeitskennzeichen des Pakets, auf das durch den aktuellen Kontext hingewiesen wird, wird geprüft (223). Wenn das Fälligkeitskennzeichen des Pakets bereits eingestellt ist wird das Paket im Puffer verworfen (224). Wenn das Fälligkeitskennzeichen des Pakets noch nicht eingestellt ist, wird dieses eingestellt (225) um sicherzustellen, daß das Paket im nächsten Datenübertragungsblock verworfen wird wenn es bis dahin noch nicht übertragen wurde.
  • Der besagte Ablauf wird dann wiederholt indem der Kontext auf den nächsten Puffer (227) eingestellt wird und dieses wird fortgesetzt bis alle Puffer geprüft wurden. Dies wird durch einen Test (226) ermittelt.
  • Als eine zusätzliche Vorsichtsmassnahme zur Vermeidung von frühzeitigem Verwerfen von spurenhaften Paketen wird das Fälligkeitskennzeichen des Pakets auch jedesmal durch Schritt (214) aus 12 zurückgesetzt wenn ein Paket im Pufferspeicher der LEX Steuereinrichtung gespeichert ist.
  • 14 zeigt einen Algorithmus zur Durchführung isochroner Transfers an der Entfernten Erweiterungseinheit. In der in 7 beschriebenen Ausführung der Erfindung, wird der Algorithmus durch die REX Steuereinrichtung (61) in der Hardware durchgeführt. (Denjenigen, die sich in diesem Gebiet auskennen, wird auffallen, daß diese Durchführung nicht einzigartig und es weitere Mechanismen zur Durchführung des Algorithmus' gibt). In der folgenden Beschreibung bezieht sich die eingehende Richtung auf Pakete, die von der Peripherieeinrichtung an eine Host-Steuereinrichtung unterwegs sind; die abgehende Richtung bezieht sich auf Pakete, die von einer Host-Steuereinrichtung zu einer Peripherieeinrichtung unterwegs sind. Gemäß der Erfindung muss der Algorithmus aus 14 die Verarbeitungsfunktionen durchführen, die aus den Verarbeitungsblöcken (102), (106) & (110) aus 8 und dem Verarbeitungsblock (122) aus 10 bestehen.
  • Nach dem ersten Hochfahren und nach einer Rücksetzung begibt sich das System in einen Ruhezustand (230), in dem es auf die Nachricht (USB Paket) wartet. Nach Empfang eines Pakets wird das Paket Kennzeichner (PID) Feld innerhalb des Pakets geprüft um die Art des empfangenen Pakets und die nächste Handlung zu bestimmen, die zur Bearbeitung des Pakets benötigt wird.
  • Wenn das empfangene Paket (231) vom Typ IN ist, überträgt das System (232) das IN Paket wieder und kehrt dann in den Ruhezustand zurück (230).
  • Wenn das empfangene Paket (233) vom Typ DATA ist und in der eingehenden Richtung unterwegs ist, überträgt das System (234) das Datenpaket erneut und begibt sich dann wieder in den Ruhezustand (230) Wenn das empfangene Paket (235) vom Typ OUT ist, überträgt das System (236) das abgehende Paket und kehrt in den Ruhezustand zurück (230).
  • Wenn das empfangene Paket (237) vom Typ DATA ist und in abgehender Richtung unterwegs ist, überträgt das System (238) das Datenpaket erneut und kehrt in den Ruhezustand zurück (230).
  • 15 zeigt einen erweiterten Algorithmus zur Durchführung isochroner Transfers an der Entfernten Erweiterungseinheit. Unter bestimmten Bedingungen besteht die Gefahr, daß von der Entfernten Erweiterungseinheit stammende an der Lokalen Erweiterungseinheit empfangene Pakete nicht in der von der Lokalen Erweiterungseinheit erwarteten Reihefolge sind. Die in 15 beschriebene Erweiterung fügt den in der eingehenden Richtung geschickten Paketen ein Adressenfeld hinzu, damit die Lokale Erweiterungseinheit den Urprung der Pakete bestimmen kann.
  • Gemäß der Erweiterung wird bei Empfang eines IN Paketes (231) an der REX Steuereinrichtung die darin enthaltene Adresse in deren Speicher (239) gespeichert. Das IN Paket wird dann wie zuvor übertragen (232) und das System begibt sich dann wieder in den Ruhezustand (230). Wenn das System das nächste in der eingehenden Richtung (233) reisende DATA Paket empfängt, ruft das System die im Speicher gespeicherte Adresse ab (240) und fügt diese Information dem DATA Paket hinzu, welches es wieder an die LEX überträgt (234). Das System begibt sich dann wieder in den Ruhezustand (230).
  • 16 stellt ein Zeitdiagramm asynchroner Transfers gemäß des USB Protokolls dar. Das Diagramm ist aus der Sicht der USB Host-Steuereinrichtung konstruiert, die normalerweise auf einem PC Motherboard (Host PC) enthalten ist. Das USB Protokoll unterteilt die Zeitvergabe der gemeinsam benutzten Sammelleitung in geregelte Datenübertragungsblöcke mit einer Dauer von jeweils einer 1 ms. Der Beginn jedes Datenübertragungsblockes wird auf dem Diagramm wieder als F1, F2, F3 & F4 gekennzeichnet.
  • Wenn eine Host-Steuereinrichtung bei einem asynchronen Transfer mit einer Einrichtung beschäftigt ist, fordert die Host-Steuereinrichtung jedesmal wenn erforderlich Datentransfers bei der Einrichtung an. Diese Anforderungen werden als Pakete R1 & R2 (10 & 12) in 4 dargestellt. Eine USB Einrichtung muss nach dem USB Protokoll innerhalb 16-Bit-Zeiten auf die Anforderung antworten. Die Antworten sind in dem Diagramm als Pakete A1 & A2 (11 & 13) gekennzeichnet. Es wird üblicherweise angenommen, daß Transfer A1 (11) als Antwort auf Anfrage R1 (10) zugeführt wird, Transfer A2 (13) als Antwort auf Anfrage R2 (12) zugeführt wird und so weiter bis alle Anforderungen beendet sind.
  • 17 stellt ein Zeitdiagramm asynchroner Transfers gemäß der jetzigen Erfindung dar. Das Diagramm zeigt den Verlauf der Pakete durch die verschiedenen Untersysteme, aus denen die Erfindung besteht. Wie in 2 veranschaulicht, werden Zeitleisten für die Untersysteme des Host PC (1), der Lokalen Erweiterungseinheit (4) und der Entfernten Erweiterungseinheit (5) dargestellt.
  • Ein asynchroner Transfer wird durch den Host PC (1) begonnen, der Input Daten R1 (20A) bei einer bestimmten USB Adresse und Endpunkt anfordert. Die Anforderung R1 (20A) wird von der LEX (4) empfangen und als R1 (24A) über externe Verkabelung an die REX (5) neuübertragen. Das neuübertragene Paket R1 (24A) wird von der REX (5) empfangen und als R1 (29A) an die Zieleinrichtung weitergeleitet (z. B. eines der folgenden 3a, 3b, 3c oder 3d).
  • Die Zieleinrichtung erzeugt ein Input Datenpaket A1 (30A). Eine Einrichtung ohne ein integriertes Kabel muss gemäß des USB Protokolls eine Antwort innerhalb 6.5-Bit-Zeiten nach dem Ende der entsprechenden Anforderung erzeugen. Das Input Datenpaket A1 (30A) wird von dem REX Untersystem empfangen (5) und als A1 (25A) über externe Verkabelung an die LEX (4) neuübertragen. Die neuübertragene Anwort A1 (25A) wird nicht sofort an den Host PC (1) weitergeleitet, sondern im Speicher des LEX Untersystems (4) gespeichert.
  • Der Host PC (1) bemerkt, daß keine Antwort auf seine angeforderten Input Daten R1 (20A) empfangen wurde, und wiederholt den Vorgang durch Erzeugung einer neuen Anforderung R2 (21A) an dieselbe USB Adresse und Endpunkt. Beim Empfang der Anforderung R2 (26A) ruft das LEX Untersystem (4) die Antwort A1 (25A) aus seinen Pufferspeichern ab und leitet sie als Anwort A1 (27A) an den Host PC weiter. Die Antwort (27A) wird vom Host als Antwort A1 (22A) empfangen.
  • Die zweite Anforderung R2 (21A) wird als R2 (26A) durch das LEX wiederholt und als R2 (31A) an die Einrichtung weitergeleitet. Die Zieleinrichtung erzeugt eine zweite Anwort A2 (32A), die einfach durch das REX Untersystem (5) aufgenommen wird. Wenn der Host die Antwort A1 (22A) empfängt, erzeugt es die Bestätigung K1 (23A), die es dann an das LEX Untersystem (4) überträgt. Die Bestätigung K1 (23A) wird von der LEX als Bestätigung K1 (28A) empfangen und an die REX weitergeleitet wo sie als Bestätigung K1 (33A) erscheint. Die Bestätigung K1 (33A) wird zur Beendigung des Protokollverlaufs wieder an die USB Einrichtung weitergeleitet.
  • 18 zeigt ein Ablaufdiagramm eines asynchronen Input Transfers gemäß der Erfindung.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (130) innerhalb des Host PC eine Anforderung von Inputdaten, die an eine bestimmte USB Funktion adressiert ist. Die Anforderung wird als ein "In Addr" Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (131) innerhalb des LEX Untersystems leitet das In Addr Paket an das REX Untersystem weiter. Die Ansteuerlogik (132) innerhalb des REX Untersystems leitet das In Addr Paket an die Einrichtung weiter. Die Ansteuerlogik (133) innerhalb der Einrichtung stellt die angeforderten asynchronen Daten zusammen und überträgt sie als ein "Datenladungs"-Paket an das REX Untersystem. Die Ansteuerlogik (132) innerhalb des REX Untersystems leitet das Datenladungs-Paket an das LEX Untersystem weiter. Die Ansteuerlogik (131) des LEX Untersystems speichert das Datenladungs-Paket in seinem Pufferspeicher.
  • In Datenübertragungsblock 2 erkennt die Ansteuerlogik (134) innerhalb des Host PCs, daß es noch keine Antwort auf seine vorangegangene Anforderung von Input Daten empfangen hat. Die Ansteuerlogik wiederholt automatisch den Vorgang indem eine weitere Anforderung erzeugt wird, die an dieselbe Funktion wie in Datenübertragungsblock 1 addressiert ist. Die weitere Anforderung wird als ein In Addr Paket an das LEX Untersystem übertragen. Beim Empfang des zweiten In Addr Pakets erkennt die Ansteuerlogik (135) innerhalb des LEX Untersystems, daß es ein Datenladungs-Paket von derselben im weiteren In Addr Paket genannten Funktion in ihrem Speicher gespeichert hat.
  • Die Ansteuerlogik ruft das in ihrem Speicher gespeicherte Paket ab und überträgt dieses an den Host PC. Die Ansteuerlogik (135) leitet das neue In Addr Paket auch an das REX Untersystem weiter. Die Ansteuerlogik (136) innerhalb des REX Untersystems leitet das In Addr Paket an die Einrichtung weiter.
  • Die Ansteuerlogik (137) innerhalb der Einrichtung erkennt, daß es noch keine Bestätigung auf die vorangegangene Übertragung erhalten hat und nimmt an, daß diese neue Anforderung tatsächlich eine zweite Anforderung der ursprünglichen Informationen ist. Die Einrichtung stellt dadurch die angeforderten asynchronen Daten zusammen und überträgt sie als ein Datenladungs-Paket an das REX Untersystem. Die Ansteuerlogik (136) innerhalb des REX Untersystems erkennt, daß das Datenladungs-Paket nur eine Wiederholung der vorangegangenen Übertragung ist und übernimmt das Paket.
  • Wenn die Ansteuerlogik (134) des Hosts das angeforderte Datenladungs-Paket von der LEX empfängt, erzeugt die Ansteuerlogik ein Ack Paket, um die erfolgreiche Übertragung zu bestätigen. Das Ack Paket wird von der Ansteuerlogik (135) innerhalb der LEX empfangen und an die REX weitergeleitet. Das weitergeleitete Ack Paket wird von der Ansteuerlogik (136) innerhalb der REX empfangen und weiter an die Einrichtung weitergeleitet. Die Übertragung des Ack Pakets von der REX an die Einrichtung wird von der Ansteuerlogik (136) so synchronisiert, daß sie innerhalb der erforderlichen Antwortzeit nach Ende der Übertragung des wiederholten Datenladungs-Paket von der Einrichtung erfolgt.
  • 19 zeigt ein Ablaufdiagramm eines alternativen asynchronen Input Transfers gemäß der Erfindung. Diese Methode unterscheidet sich von der in 18 beschriebenen Methode dadurch wie die erste Anforderung eines asynchronen Input Transfers von der LEX gehandhabt wird.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (130) innerhalb des Host PC eine Anforderung von Input Daten, die an eine bestimmte USB Funktion adressiert ist. Die Anforderung wird als ein In Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (131) innerhalb des LEX Untersystems leitet das In Addr Paket wie in 18 beschrieben an das REX Untersystem weiter.
  • An dieser Stelle des Ablaufes wird ein zusätzlicher Schritt eingeführt. Die Ansteuerlogik (131) innerhalb des LEX Untersystems erzeugt ein synthetisches negatives Bestätigungpaket und überträgt es als ein Nak Paket an den Host PC. Das Nak Paket warnt den Host, daß er keine Antwort auf seine Anforderung erhalten wird und ermöglicht dem Host zu dem nächsten Vorgang überzugehen. Die Durchführung der restlichen Schritte des Protokolls erfolgt wie in 18 beschrieben.
  • 20 stellt ein Ablaufdiagramm eines asynchronen Output Transfers gemäß der Erfindung dar.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (140) innerhalb des Host PC eine Ankündigung von Output Daten, die an eine bestimmte USB Funktion adressiert ist. Die Ankündigung wird als ein Out Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (141) innerhalb des LEX Untersystems leitet das Out Addr Paket an das REX Untersystem weiter. Die Ansteuerlogik (142) innerhalb des REX Untersystems leitet das Out Addr Paket an die Einrichtung weiter. Die Informationen werden von der Ansteuerlogik (143) innerhalb der Einrichtung empfangen.
  • Die Ansteuerlogik (140) innerhalb des Host PC stellt die angekündigten asynchronen Daten zusammen und überträgt diese als ein Datenladungs-Paket an das LEX Untersystem. Die Ansteuerlogik (141) innerhalb des LEX Untersystems leitet das Datenladungs-Paket an das REX Untersystem weiter. Die Ansteuerlogik (142) des LEX Untersystems leitet das Datenladungs-Paket an die Einrichtung weiter. Die Informationen werden von der Ansteuerlogik (143) innerhalb der Einrichtung empfangen.
  • Nach erfolgreichem Empfang des Datenladungs-Paket an der Einrichtung erzeugt die Ansteuerlogik (143) innerhalb der Einrichtung ein Bestätigungspaket, das als ein Ack Paket an die REX übertragen wird. Das Ack Paket wird von der Ansteuerlogik (142) innerhalb des REX an das LEX Untersystems weitergeleitet, wo der Empfang von der Ansteuerlogik (141) vermerkt wird.
  • In Datenübertragungsblock 2 erkennt die Ansteuerlogik (144) innerhalb des Host PC, daß es noch keine Bestätigung seiner vorangegangen Übertragung erhalten hat und erzeugt ein neues Out Addr Paket, das an den gleichen Endpunkt wie in Datenübertragungsblock 1 adressiert ist. Dieselbe Ansteuerlogik (144) erzeugt auch ein neues Datenladungs-Paket, welche es an die LEX überträgt. Nach Empfang des Datenladungs-Paket an der LEX erkennt die Ansteuerlogik (145), daß sie bereits eine positive Bestätigung dieses Vorganges erhalten hat und erzeugt ein Ack Paket, das an den Host geschickt wird.
  • 21 stellt ein Ablaufdiagramm eines erweiterten asynchronen Output Transfers gemäß der Erfindung dar. Diese Methode unterscheidet sich von der in 20 beschriebenen Methode dadurch wie die erste Anforderung eines asynchronen Output Transfers von der LEX gehandhabt wird.
  • In Abbildungsblock 1 erzeugt die Ansteuerlogik (140) innerhalb des Host PCs eine Ankündigung der Output Daten, die an eine bestimmte USB Funktion adressiert ist. Die Ankündigung wird als ein Out Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (141) innerhalb des LEX Untersystems leitet das Out Addr Paket wie in 20 beschrieben an das REX Untersystem weiter.
  • Ebenfalls in Datenübertragungsblock 1 erzeugt die Ansteuerlogik (140) innerhalb des Host PC ein Output Datenpaket, das für die bestimmte USB Funktion bestimmt ist. Das Output Datenpaket wird als ein Datenladungs-Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (141) innerhalb des LEX Untersystems leitet das Datenladungs-Paket wie in 20 beschrieben an das REX Untersystem weiter.
  • An dieser Stelle des Ablaufes wird ein zusätzlicher Schritt eingeführt. Die Ansteuerlogik (141) innerhalb des LEX Untersystems erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein Nak Paket an den Host PC. Das Nak Paket warnt den Host, daß er keine Antwort auf seine Übertragung erhalten wird und ermöglicht dem Host zum nächsten Vorgang überzugehen. Die Durchführung der restlichen Schritte des Protokolls erfolgt wie in 20 beschrieben.
  • 22 zeigt einen Algorithmus zur Durchführung asynchroner Transfers an der Lokalen Erweiterungseinheit (4). In der in 6 beschriebenen Ausführung der Erfindung, wird der Algorithmus von der LEX Steuereinheit (51) in der Hardware durchgeführt. (Diejenigen, die sich in der Materie auskennen, werden bemerken, daß diese Durchführung nicht einzigartig ist und weitere Mechanismen zur Durchführung des Algorithmus' bestehen). In der folgenden Beschreibung bezieht sich die eingehende Richtung auf Pakete, die von einer Peripherieeinrichtung an die Host-Steuereinrichtung unterwegs sind; die abgehende Richtung bezieht sich auf Pakete, die von einer Host-Steuereinrichtung an eine Peripherieeinrichtung unterwegs sind.
  • Gemäß der Erfindung muss der Algorithmus aus 22 die Verarbeitungsfunktionen durchführen, welche aus den Verarbeitungsblöcken aus 18 (131) & (135) und den Verarbeitungsblöcken (141) & (145) aus 20 bestehen.
  • Nach dem ersten Hochfahren und nach einer Rücksetzung begibt sich das System in den Ruhezustand (300), in dem es auf die zu empfangene Nachricht (USB Paket) wartet. Nach Empfang eines Pakets wird das Paket Kennzeichner (PID) Feld innerhalb des Pakets geprüft, um die Art des empfangenen Pakets festzustellen und um die nächste Handlung zu bestimmen, die zur Bearbeitung des Pakets benötigt wird.
  • Wenn das empfangene Paket (301) vom Typ IN ist, überträgt das System (302) das IN Paket an die REX Einheit. Das System prüft dann seinen Pufferspeicher (303) um zu entscheiden ob ein eingehendes DATA Paket von derselben Adresse wie das IN Paket vorhanden ist. Wenn das DATA Paket vorhanden ist, wird es aus dem Pufferspeicher abgerufen (304) und an den Host übertragen (305). Das System kehrt dann in den Ruhezustand zurück (300).
  • Wenn das empfangene Paket (306) vom Typ DATA und in der eingehenden Richtung unterwegs ist, speichert das System (307) das Datenpaket in seinem Pufferspeicher und kehrt in den Ruhezustand zurück (300).
  • Wenn das empfangene Paket (308) vom Typ ACK und in der abgehenden Richtung unterwegs ist, überträgt das System (309) das ACK Paket und kehrt in den Ruhezustand zurück (300).
  • Wenn das empfangene Paket (310) vom Typ OUT ist, prüft das System (311) ob das OUT schwebend Kennzeichen für die Adresse eingestellt ist. Wenn das Kennzeichen eingestellt ist, setzt das System das Kennzeichen zurück und kehrt in den Ruhezustand zurück (300). Wenn das Kennzeichen nicht eingestellt ist, stellt das System das Kennzeichen ein (312) und überträgt das (313) empfangene OUT Paket wieder bevor es in den Ruhezustand zurückkehrt (300).
  • Wenn das empfangene Paket (315) vom Typ DATA und in der abgehenden Richtung unterwegs ist, prüft das System (316) ob das DATA schwebend Kennzeichen für die Adresse eingestellt ist. Wenn das Kennzeichen nicht eingestellt ist, stellt das System (323) das Kennzeichen ein und überträgt (324) das empfangene DATA Paket bevor es in den Ruhezustand zurückkehrt (300). Wenn das DATA schwebend Kennzeichen eingestellt ist, stellt das System (317) das DATA schwebend Kennzeichen zurück und prüft (318), ob ein ACK Paket für diese Adresse in seinem Pufferspeicher gespeichert ist. Wenn das Ack Paket im Speicher vorhanden ist ruft das System (319) das Paket aus seinem Speicher ab und überträgt (320) das Paket an den Host. Das System kehrt in den Ruhezustand zurück (300).
  • Wenn das empfangene Paket (321) vom Typ ACK und in der eingehenden Richtung unterwegs ist speichert das System (322) das ACK Paket in seinem Pufferspeicher und kehrt in den Ruhezustand zurück (300).
  • 23 zeigt einen erweiterten Algorithmus zur Durchführung von asynchronen Transfers an der Lokalen Erweiterungseinheit gemäß der in 6 beschriebenen Erfindung. Dieser Algorithmus ist identisch mit dem in 22 beschriebenen, ausser in der Art wie die LEX den Host informiert, daß eine Antwort auf seine Befehle nicht erhältlich ist. Diese Situation tritt auf wenn der Host einen Datentransferablauf wie in 19 und 21 beginnt.
  • Der zusätzliche Schritt (331) tritt auf wenn das System ein IN Paket empfängt, die angeforderten Daten aber nicht in seinem Pufferspeicher gespeichert hat. Das System überträgt (331) ein negatives Bestätigungspaket an den Host bevor es in den Ruhezustand zurückkehrt (300).
  • Der zusätzliche Schritt (332) tritt auf wenn das System ein DATA Paket empfängt, das in der abgehenden Richtung unterwegs ist, das DATA schwebend Kennzeichen aber nicht eingestellt ist. Das System überträgt (332) ein negatives Bestätigungspaket an den Host bevor es in den Ruhezustand zurückkehrt (300).
  • 24 stellt einen Algorithmus zur Durchführung asynchroner Transfers an der Entfernten Erweiterungseinheit dar. In der in 7 beschriebenen Ausführung der Erfindung wird der Algorithmus durch die REX Steuereinrichtung in der Hardware implementiert (61). (Denjenigen, die sich in diesem Gebiet auskennen, wird auffallen, daß diese Durchführung nicht einzigartig ist und es weitere Mechanismen zur Durchführung des Algorithmus' gibt). In der folgenden Beschreibung bezieht sich die eingehende Richtung auf Pakete, die von einer Peripherieeinrichtung zu einer Host-Steuereinrichtung unterwegs sind; die abgehende Richtung bezieht sich auf Pakete, die von einer Host-Steuereinrichtung zu einer Peripherieeinrichtung unterwegs sind.
  • Gemäß der Erfindung muss der Algorithmus aus 24 die Verarbeitungsfunktionen durchführen, die aus den Verarbeitungsblöcken aus 18 (132) & (136) und dem Verarbeitungsblock (142) aus 20 bestehen.
  • Nach dem ersten Hochfahren und nach einer Rücksetzung begibt sich das System in den Ruhezustand (340), in dem es auf die zu empfangene Nachricht (USB Paket) wartet. Nach Empfang eines Pakets wird das Paket Kennzeichner (PID) Feld innerhalb des Pakets geprüft, um die Art des empfangenen Paketes festzustellen und um die nächste Handlung zu bestimmen, die zur Bearbeitung des Pakets benötigt wird.
  • Wenn das empfangene Paket (341) vom Typ IN ist, überträgt das System (342) das IN Paket erneut und kehrt in den Ruhezustand zurück (340).
  • Wenn das empfangene Paket (343) vom Typ DATA ist und in der eingehenden Richtung unterwegs ist, prüft das System (344) ob das Daten schwebend Kennzeichen für diese Adresse eingestellt ist. Wenn das Kennzeichen eingestellt ist, stellt das System (345) das Kennzeichen zurück und kehrt in den Ruhezustand zurück (340). Wenn das Daten schwebend Kennzeichen nicht eingestellt ist, stellt das System (346) das Kennzeichen ein und überträgt (347) das DATA Paket erneut an die LEX bevor es in den Ruhezustand zurückkehrt (340).
  • Wenn das empfangene Paket (348) vom Typ ACK und in der abgehenden Richtung unterwegs ist, überträgt das System (349) das ACK Paket erneut und kehrt in den Ruhezustand zurück (300).
  • Wenn das empfangene Paket (350) vom Typ OUT ist, überträgt das System (351) das OUT Paket erneut und kehrt in den Ruhezustand zurück (340).
  • Wenn das empfangene Paket (352) vom Typ DATA und in der abgehenden Richtung unterwegs ist, überträgt das System (353) das DATA Paket erneut und kehrt in den Ruhezustand zurück (340).
  • Wenn das empfangene Paket (354) vom Typ ACK und in der eingehenden Richtung unterwegs ist, überträgt das System das (355) ACK Paket erneut und kehrt in den Ruhezustand zurück (340).
  • 25 zeigt eine Ausführung der REX Steuereinrichtung (61) gemäß der in 7 dargestellten Ausführung der Erfindung. In dieser Ausführung werden die Kontrollfunktionen der REX in zwei unterschiedliche Komponenten geteilt, die Netzwerk Steuereinrichtung (403) und die Anschluss Steuereinrichtung (401). First In First Out (FIFO) Pufferspeicher (400) & (402) werden benutzt, um individuelle Pakete aufzubewahren während sie an das USB Interface geschickt und von dem USB Interface empfangen werden. (63).
  • Die Unterteilung der Funktionen in die separaten Steuereinrichtungen (403) und (401) ermöglicht den Betrieb des Systems einfacher zu beschreiben. Die Netzwerk Steuereinrichtung (403) führt die Netzwerk-Ebene Funktionen wie in 24 durch, während die Anschluss Steuereinrichtung (401) die Anschluss-Ebene Funktionen durchführt, die mit der Übertragung und dem Empfang einzelner Pakete verbunden sind.
  • Die folgenden Signale sind zwischen den Komponenten der 25 dargestellt. Die Netzwerk Steuereinrichtung (403) erzeugt das Signal ISO um anzuzeigen, daß das in TX FIFO (402) plazierte Paket zu einer isochronen Übertragung gehört und keine Bestätigung erwartet wird.
  • TX FIFO (402) erzeugt das Signal TXRDY um anzuzeigen, daß es ein komplettes versendbares Paket enthält. TX FIFO (402) erzeugt auch das Signal TXOVR um anzuzeigen, daß die Absendung eines Paketes an das USB Interface (63) beendet ist. RX FIFO (400) erzeugt das Signal SOP um anzuzeigen, daß der Empfang eines Paketes von der USB Interface (63) begonnen wurde. RX FIFO (400) erzeugt auch das Signal EOP um anzuzeigen, daß der Empfang des Paketes von dem USB Interface (63) abgeschlossen wurde. Die Anschluss-Steuereinichtung (401) erzeugt das Signal TXENB um TX FIFO (402) zu informieren, daß TX FIFO nun in der Lage ist die Informationen an das USB Interface (63) zu schicken.
  • 26 stellt ein Ablaufdiagramm eines Anschluss-Ebene-Paket Ouputs dar. In dieser Zeichnung wird die Ansteuerlogik (410) durch die Netzwerk-Steuereinrichtung implementiert, die Ansteuerlogik (411) wird durch die Anschluss-Steuereinrichtung implementiert (401), die Ansteuerlogik (412) wird durch die TX FIFO (402) implementiert und die Ansteuerlogik (413) wird durch das USB Interface (63) implementiert.
  • Ein Anschluss-Ebene Output Ablauf wird begonnen, wenn die Netzwerk-Steuereinrichtung (403) ein Datenpaket an die TX FIFO (402) kopiert und das WRITE Signal setzt. Die Netzwerk Steuereinrichtung (403) informiert auch anhand des ISO Signals die Anschluss-Steuereinrichtung (401) ob das Paket den isochronen Verkehr enthält. Wenn das Datenpaket komplett von der TX FIFO (402) empfangen wurde, setzt das TX FIFO das Signal TXRDY um die Anschluss-Steuereinrichtung (401) zu informieren, daß es jetzt bereit ist das Datenpaket an das USB Interface (63) auszugeben.
  • Sobald die Anschluss-Steuereinrichtung (401) entscheidet, daß es keine Konflikte bzgl. des Zugangs zu dem USB Interface (63) gibt, setzt die Anschluss-Steuereinrichtung (401) das TXENB Signal, um TX FIFO (402) anzuzeigen, daß es jetzt eventuell beginnt das Datenpaket an das USB Interface (63) zu übertragen. TX FIFO (402) überträgt dann das Datenpaket an das USB Interface (63), jeweils ein Byte nach dem anderen mittels dem Signal(e) TXBYTE.
  • Nachdem alle Bytes des Datenpakets übertragen wurden, setzt TX FIFO (402) das Signal TXOVR um der Anschluss-Steuereinrichtung (401) anzuzeigen, daß die Übertragung abgeschlossen ist und neue Tätigkeiten bzgl. des USB Interface (63) geplant werden können. Die Anschluss-Steuereinrichtung (401) beendet den Handshake mittels einer Herabsetzung des TXENB Signals um zu verhindern, daß ein weiteres Datenpaket ohne Eingreifen der Anschluss-Steuereinrichtung übertragen wird.
  • 27 zeigt ein Ablaufdiagramm eines Anschluss-Ebene-Paket Inputs. In dieser Zeichnung wird die Ansteuerlogik (420) durch die Netzwerk-Steuereinrichtung (403) implementiert, die Ansteuerlogik (421) wird durch die Anschluss-Steuereinichtung (401) implementiert, die Ansteuerlogik (422) wird durch die RX FIFO (400) implementiert und die Ansteuerlogik (423) wird durch das USB Interface (63) implementiert.
  • Ein Anschluss-Ebene Input Ablauf wird begonnen wenn RX FIFO (400) mittels dem Signal RXBYTE das erste Byte des neuen Datenpakets von dem USB Interface (63) erhält. Danach zeigt RX FIFO der Anschluss-Steuereinrichtung (401) mittels dem Signal SOP an, daß der Beginn eines neuen Paketes entdeckt wurde. Der Rest des Datenpakets wird dann mittels des RXBYTE Signals an der RX FIFO (400) empfangen.
  • Nachdem das komplette Datenpaket an der RX FIFO (400) empfangen wurde, wird die Anschluss-Steuereinrichtung (401) mittels dem Signal End Of Packet EOP benachrichtigt. RX FIFO (400) überträgt dann das komplette Paket mittels dem Signal READ an die Netzwerk-Steuereinrichtung (403).
  • 28 zeigt einen Algorithmus zur Durchführung von Anschlusskontrollfunktionen gemäß der Erfindung aus 25. In der Ausführung aus 25 werden die Anschlusskontrollfunktionen aus 28 durch einen separaten Anschluss-Steuereinrichtung-Datenblock (401) implementiert.
  • Nach dem ersten Hochfahren und nach einer Rücksetzung begibt sich das System in den Ruhezustand (470) in dem es auf das zu empfangene Signal wartet.
  • Wenn das empfangene Signal (471) TXRDY ist, prüft das System (472) ob das Überwachungskennzeichen eingestellt ist. Wenn dieses eingestellt ist, kehrt das System in den Ruhezustand zurück (470). Wenn das Überwachungskennzeichen nicht eingestellt ist, stellt das System (473) das Kennzeichen ein um anzuzeigen, daß das System noch nicht in der Lage ist ein anderes Paket zu übertragen. Das System prüft dann (474) das ISO Signal um zu entscheiden, ob das zu übertragende Paket einen isochronen Transfer darstellt. Das ISO Signal stimmt wenn der Überwachungs-Timer auf (475) 2 Bit-Zeiten eingestellt ist. Das ISO Signal ist falsch ist, wenn der Überwachungs-Timer (476) auf 16-Bit-Zeiten eingestellt ist. Das System stellt dann das (477) Signal TXENB ein um anzuzeigen, daß die Übertragung des Pakets an das USB Interface (63) beginnen kann und begibt sich dann in den Übertragungszustand (478).
  • Wenn das komplette Paket an das USB Interface übertragen wurde, empfängt das System (479) das Signal TXOVR, stellt das (480) Signal TXENB zurück um eine vorzeitige Übertragung eines anderen Paketes zu vermeiden, startet den (481) Überwachungs-Timer mit dem zuvor eingestellten Wert und kehrt in den Ruhezustand zurück (470).
  • Wenn das empfangene Signal (482) Überwachung Abgelaufen ist, stellt das System (483) das Überwachungskennzeichen wieder zurück um anzuzeigen, daß eine weitere Übertragung stattfinden kann. Das System kehrt in den Ruhezustand zurück (470).
  • Wenn das empfangene Signal (484) SOP ist, begibt sich das System in den Empfangen Zustand (485) in dem es bis zum Empfang des EOP Signals (486) verbleibt, welches anzeigt, daß ein vollständiges Paket nun in RX FIFO (400) zur Verfügung steht. Das System kehrt in den Ruhezustand zurück (470).
  • 29 zeigt ein Ablaufdiagramm eines Lese-Massentransfers gemäß der Erfindung. Der Lese-Massentransfer ist ein besonderer Fall eines wie in 18 beschriebenen asynchronen Input Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Anforderung nach Input Daten, die an eine bestimmte USB Funktion adressiert ist. Diese Anforderung wird als ein In Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das In Addr Paket an das REX Untersystem weiter und informiert noch zusätzlich das REX Untersystem, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein Nak Paket an den Host PC. Wenn das LEX Untersystem von dem Host PC zusätzliche Anforderungen der gleichen Informationen erhält, noch bevor es die benötigten Informationen von dem REX Untersystem erhalten hat, nimmt das LEX Untersystem diese zusätzlichen Anforderungen auf und erzeugt zusätzliche Nak Pakete.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt von dem LEX Untersystem das In Addr Paket und leitet dieses Paket an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt die benötigten Informationen zusammen und überträgt diese als ein Datenpaket an die REX. Die Ansteuerlogik (502) innerhalb des REX empfängt das Datenpaket und leitet dieses an die LEX weiter wobei sie zusätzlich noch die Adresse der ursprünglichen Einrichtung an das Datenpaket hinzufügt. Die Ansteuerlogik (502) innerhalb der REX erzeugt ein synthetisches Bestätigungspaket und überträgt dieses als ein Ack Paket an die Einrichtung.
  • Die Ansteuerlogik (500) innerhalb des Host PC erzeugt eine weitere Anforderung von Input Daten, die an dieselbe USB Funktion adressiert ist. Die Ansteuerlogik (501) innerhalb der LEX erkennt, daß diese Input Daten bereits von der REX empfangen wurden und im Speicher gespeichert sind. Die Ansteuerlogik (501) ruft die gespeicherten Daten aus dem Speicher ab und überträgt diese als ein Datenpaket an den Host PC. Die Ansteuerlogik (500) innerhalb des Host PCs akzeptiert das angeforderte Datenpaket und bestätigt den Empfang durch die Übertragung eines Ack Paketes an die LEX.
  • 30 zeigt ein Ablaufdiagramm eines Schreibe-Massentransfers gemäß der Erfindung. Der Schreibe-Massentransfer ist ein besonderer Fall eines wie in 20 beschriebenen asynchronen Output Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Ankündigung von Output Daten, die an eine bestimmte USB Funktion adressiert ist. Diese Ankündigung wird als ein Out Addr Paket an das LEX Untersystem übertragen, dem folgt ein Datenpaket. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das Out Addr Paket und das Datenpaket an das REX Untersystem weiter und informiert zusätzlich das REX Untersystem, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein Nak Paket an den Host PC. Wenn das LEX Untersystem von dem Host PC zusätzliche Ankündigungen der gleichen Informationen erhält noch bevor es die benötigte Bestätigung vom REX Untersystem empfangen hat, nimmt das LEX Untersystem dann die zusätzlichen Ankündigungen auf und erzeugt zusätzliche Nak Pakete.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt von dem LEX Untersystem das Out Addr Paket und das Datenpaket und leitet die Pakete an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt eine positive Bestätigungsantwort zusammen und überträgt diese als ein Ack Paket an die REX. Die Ansteuerlogik (502) innerhalb der REX empfängt das Ack Paket und leitet dieses an die LEX weiter wobei es zusätzlich noch die Adresse der ursprünglichen Einheit dem Ack Paket hinzufügt.
  • Die Ansteuerlogik (500) innerhalb des Host PCs erzeugt eine weitere Ankündigung von Output Daten, die an dieselbe USB Funktion adressiert ist. Die Ansteuerlogik (501) innerhalb des LEX erkennt, daß eine Bestätigung auf die entsprechenden Output Daten bereits von der REX empfangen und im Speicher gespeichert wurde. Die Ansteuerlogik (501) ruft die gespeicherte Bestätigung aus dem Speicher ab und übernägt dieses als ein Ack Paket an den Host PC.
  • 31 zeigt ein Ablaufdiagramm eines Unterbrechung-In-Transfers gemäß der Erfindung. Der Unterbrechung-In-Transfer ist ein besonderer Fall eines wie in 18 beschriebenen asynchronen Input Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Anforderung von Input Daten, die an eine bestimmte USB Funktion adressiert ist. Die Anforderung wird als ein In Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das In Addr Paket an das REX Untersystem weiter und informiert zusätzlich das REX Untersystem, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein Nak Paket an den Host PC.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt das In Addr Paket von dem LEX Untersystem und leitet das Paket an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt die entsprechenden Informationen zusammen und überträgt diese als ein Datenpaket an die REX. Die Ansteuerlogik (502) innerhalb der REX empfängt dieses Datenpaket und leitet es an die LEX weiter, wobei es zusätzlich noch dein Datenpaket die Adresse der ursprünglichen Einrichtung hinzufügt. Die Ansteuerlogik (502) innerhalb der REX erzeugt ein synthetisches Bestätigungspaket und überträgt dieses als ein Ack Paket an die Einrichtung.
  • In einem nachfolgendem Datenübertragungsblock "n" erzeugt die Ansteuerlugik (504) innerhalb des Host PC eine weitere Anforderung von Input Daten, die an dieselbe USB Funktion adressiert ist. Die Ansteuerlogik (505) innerhalb der LEX erkennt, daß diese Input Daten bereits von der REX empfangen und im Speicher gespeichert wurden. Die Ansteuerlogik (505) ruft die Input Daten aus dem Speicher ab und überträgt diese als ein Datenpaket an den Host PC. Die Ansteuerlogik (504) innerhalb des Host PCs akzeptiert das angeforderte Datenpaket und bestätigt den Empfang durch Übertragung eines Ack Paketes an die LEX.
  • 32 zeigt ein Ablaufdiagramm eines Unterbrechung-Out-Transfer gemäß der Erfindung. Der Unterbrechung-Out-Transfer ist ein besonderer Fall eines wie in 20 beschriebenen asynchronen Output Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Ankündigung von Output Daten, die an eine bestimmte USB Funktion adressiert ist. Diese Ankündigung wird als ein Out Addr Paket gefolgt von einem Datenpaket an das LEX Untersystem übertragen. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das Out Addr Paket und das Datenpaket an das REX Untersystem weiter, und informiert zusätzlich das REX Untersystem, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein Nak Paket an den Host PC.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt das Out Addr Paket und das Datenpaket von dem LEX Untersystem und leitet die Pakete an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt eine positive Bestätigungsantwort zusammen und überträgt diese als ein Ack Paket an die REX. Die Ansteuerlogik (502) innerhalb der REX empfängt das Ack Paket und leitet dieses an die LEX weiter, wobei es zusätzlich dem Ack Paket noch die Adresse der ursprünglichen Einrichtung hinzufügt.
  • In einem nachfolgendem Datenübertragungsblock "n" erzeugt die Ansteuerlogik (504) innerhalb des Host PC eine weitere Ankündigung von Output Daten, die an dieselbe USB Funktion adressiert ist. Die Ansteuerlogik (505) innerhalb der LEX erkennt, daß eine den Output Daten ensprechende Bestätigung bereits von der REX empfangen und im Speicher gespeichert wurde. Die Ansteuerlogik (505) ruft die gespeicherte Bestätigung aus dem Speicher ab und überträgt diese als ein Ack Paket an den Host PC.
  • 33 ist ein Ablaufdiagramm eines Kontrolltransfers gemäß der Erfindung. Der Kontrolltransfer ist ein besonderer Fall des in 20 beschriebenen asynchronen Output Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Ankündigung über den Set-up einer Einrichtung, die an eine bestimmte USB Funktion adressiert ist. Die Ankündigung wird als ein Setup Paket gefolgt von einem Datenpaket an das LEX Untersystem übertragen. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das Setup Paket und das Datenpaket an das REX Untersystem weiter, wobei zusätzlich das REX Untersystem informiert wird, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches positives Bestätigungspaket und überträgt dieses als ein Ack Paket an den Host PC.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt das Setup Paket und das Datenpaket von dem LEX Untersystem und leitet diese Pakete an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt eine positive Bestätigungsantwort zusammen und überträgt diese als ein Ack Paket an die REX. Die Ansteuerlogik (502) innerhalb der REX empfängt das Ack Paket und leitet dieses an die LEX weiter, wobei dem Ack Paket zusätzlich noch die Adresse der ursprünglichen Einrichtung hinzugefügt wird.
  • Wahlweise kann die LEX auf eine positive Bestätigungsantwort von der REX warten um den erfolgreichen Empfang des Signals an der Einrichtung zu bestätigen.
  • 34 ist ein Ablaufdiagramm eines Langsame-Geschwindigkeit Unterbrechung-In-Transfers gemäß der Erfindung. Dieser Langsame-Geschwindigkeit Unterbrechung-In-Transfer ist ein besonderer Fall des in 18 beschriebenen asynchronen Input Transfers und des in 31 beschriebenen Unterbrechung-In-Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Anforderung von Input Daten, die an eine bestimmte langsame-Geschwindigkeit USB Funktion adressiert ist. Diese Anforderung wird als ein Pre Paket gefolgt von einem langsame-Geschwindigkeit In Addr Paket an das LEX Untersystem übertragen. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das Pre Paket und das In Addr Paket an das REX Untersystem weiter, wobei zusätzlich das REX Untersystem informiert wird, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein langsame-Geschwindigkeit Nak Paket an den Host PC.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt das Pre Paket und das In Addr Paket von dem LEX Untersystem und leitet die Pakete an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt die entsprechenden Informationen zusammen und überträgt diese als ein langsame-Geschwindigkeit Datenpaket an die REX. Die Ansteuerlogik (502) innerhalb der REX empfängt das Datenpaket und leitet dieses an die LEX weiter, wobei es dem Datenpaket noch zusätzlich die Adresse der ursprünglichen Einrichtung hinzufügt. Die Ansteuerlogik (502) innerhalb der REX erzeugt ein synthetisches Bestätigungspaket und überträgt dieses als ein Pre Paket, dem ein langsame-Geschwindigkeit Ack Paket folgt, an die Einrichtung.
  • In einem nachfolgenden Datenübertragungsblock "n" erzeugt die Ansteuerlogik (504) innerhalb des Host PC eine weitere Anforderung von Input Daten, die an dieselbe USB Funktion adressiert ist. Die Ansteuerlogik (505) innerhalb der LEX erkennt, daß diese Input Daten bereits von der REX empfangen und im Speicher gespeichert wurden. Die Ansteuerlogik (505) ruft die gespeicherten Input Daten aus dem Speicher ab und überträgt diese als ein langsame-Geschwindigkeit Datenpaket an den Host PC. Die Ansteuerlogik (504) innerhalb des Host PC akzeptiert das angeforderte Datenpaket und bestätigt den Empfang durch Übertragung eines Pre Paketes gefolgt von einem langsame-Geschwindigkeit Ack Paketes an die LEX.
  • 35 zeigt ein Ablaufdiagramm eines Langsame-Geschwindigkeit Unterbrechung-Out-Transfer gemäß der Erfindung. Der Langsame-Geschwindigkeit Unterbrechung-Out-Transfer ist ein besonderer Fall des in 20 beschriebenen asynchronen Output Transfers und des in 32 beschriebenen Unterbrechung-Out-Transfers.
  • In Datenübertragungsblock 1 erzeugt die Ansteuerlogik (500) innerhalb des Host PC eine Ankündigung von Output Daten, die an eine bestimmte langsame-Geschwindigkeit USB Funktion adressiert ist. Diese Ankündigung wird als ein Pre Paket, gefolgt von einem Out Addr Paket, gefolgt von einem zweiten Pre Paket, gefolgt von einem Datenpaket an das LEX Untersystem übertragen. Die Ansteuerlogik (501) innerhalb des LEX Untersystems leitet das Pre Paket, das Out Addr Paket, das zweite Pre Paket und das Datenpaket an das REX Untersystem weiter; wobei es zusätzlich das REX Untersystem informiert, daß ein Bestätigungs-Handshake benötigt wird. Die Ansteuerlogik (501) erzeugt ein synthetisches negatives Bestätigungspaket und überträgt dieses als ein langsame-Geschwindigkeit Nak Paket an den Host PC.
  • Die Ansteuerlogik (502) innerhalb des REX Untersystems empfängt das Pre Paket, das Out Addr Paket, das zweite Pre Paket und das Datenpaket von dem LEX Untersystem und leitet die Pakete an die Einrichtung weiter. Die Ansteuerlogik (503) innerhalb der Einrichtung stellt eine positive Bestätigungsantwort zusammmen und überträgt diese als ein langsame-Geschwindigkeit Ack Paket an die REX. Die Ansteuerlogik (502) innerhalb der REX empfängt das Ack Paket und leitet dieses an die LEX weiter, wobei es zusätzlich noch die Adresse der ursprünglichen Einrichtung dem Ack Paket hinzufügt.
  • In einem nachfolgendem Datenübertragungsblock "n" erzeugt die Ansteuerlogik (504) innerhalb des Host PC eine weitere Ankündigung von Output Daten, die an dieselbe USB Funktion adressiert ist. Die Ansteuerlogik (505) innerhalb der LEX erkennt, daß eine den Output Daten entsprechende Bestätigung bereits von der REX empfangen und im Speicher gespeichert wurde. Die Ansteuerlogik (505) ruft die gespeicherte Bestätigung aus dem Speicher ab und überträgt diese als ein langsame-Geschwindigkeit Ack Paket an den Host PC.
  • Daraus ist ersichtlich, daß in Übereinstimmung mit der jetzigen Erfindung, USB Einrichtungen zur Verfügung gestellt wurden, die im vollen Umfang den im vorab genannten Mitteln, Zielen und Vorteilen entsprechen. Nach Beschreibung der spezifischen Ausführungsbeispiele der jetzigen Erfindung ist es selbstverständlich daß denjenigen die sich in der Materie auskennen, Alternativen, Abänderungen und Variationen davon vorgeschlagen werden können und es ist gewollt, daß die jetzige Erfindung alle dieser Alternativen, Abänderung und Variationen, die in den Rahmen der angefügten Ansprüche fallen, umfasst
  • Zusätzlich wird aus Gründen der Genauigkeit und wenn es nicht anderweitig vermerkt, ist darauf hingewiesen, daß bei Verwendung des Wortes "umfassen" ( "bestehen aus") und Variationen des Wortes wie "umfassend" (bestehend aus) und "umfasst' (besteht aus) in der Beschreibung und den Ansprüchen der jetzigen Erfindung, damit nicht beabsichtigt ist andere Additive, Komponenten, ganze Zahlen oder Schritte auszuschliessen.
  • Kurzdarstellung
  • Die jetzige Erfindung stellt ein Verfahren und Geräte zur Verfügung, die zur Vergrößerung der räumlichen Entfernung von handelsüblichen USB Einrichtungen verwendet werden. Ein "Vergrößerte-Entfernungs-Hub" wird zur Verfügung gestellt. Dieser besteht aus einer Lokalen Erweiterungseinheit und einer Entfernten Erweiterungseinheit, die bis zu beispielsweise 100 Meter auseinander gelegen sein können. Das Verfahren und die Geräte ermöglichen eine bessere Plazierung und Anwendung der USB Einrichtungen.

Claims (21)

  1. Verfahren zum Übertragen eines Datenstroms zwischen einer Host-Steuereinrichtung und einer Peripherieeinrichtung über eine ausgedehnte Entfernung, die 5 m überschreitet, mit den Schritten a. Zuführen eines ersten ursprünglichen abgehenden digitalen Signals von einer Host-Steuereinrichtung zu einer lokalen Erweiterungseinheit, b. optionales Konvertieren der abgehenden digitalen Signale in ein konvertiertes abgehendes Signal mit einem zur Übertragung über ausgedehnte Entfernungen geeigneten Format, c. Übertragen entweder des abgehenden digitalen Signals oder des konvertierten abgehenden Signals als abgehendes Übertragungssignal über ein Signalverteilungssystem, d. Empfangen des abgehenden Übertragungssignals an einer entfernten Erweiterungseinheit, e. optionales Konvertieren des abgehenden Übertragungssignals in das erste ursprüngliche abgehende digitale Signal, f. Zuführen des ersten ursprünglichen abgehenden digitalen Signals von der entfernten Erweiterungseinheit zu zumindest einer Peripherieeinrichtung, g. Empfangen eines digitalen Antwortsignals von der Peripherieeinrichtung an der entfernten Erweiterungseinheit, h. optionales Konvertieren des digitalen Antwortsignals in ein konvertiertes Antwortsignal mit einem zur Übertragung über ausgedehnte Entfernungen geeigneten Format, i. Übertragen des digitalen Antwortsignals oder des konvertierten Antwortsignals als Antwortübertragungssignal über das Signalverteilungssystem, j. Empfangen des Antwortübertragungssignals an der lokalen Erweiterungseinheit, k. optionales Konvertieren des Antwortübertragungssignals in das ursprüngliche digitale Antwortsignal, gekennzeichnet durch die Schritte l. Speichern des digitalen Antwortsignals als gespeichertes digitales Antwortsignal bis zum Empfang eines nachfolgenden ursprünglichen abgehenden digitalen Signals von der Host-Steuereinrichtung, das das gleiche wie das erste ursprüngliche abgehende digitale Signal oder diesem ähnlich ist, und m. Weiterleiten des gespeicherten digitalen Antwortsignals zu der Host-Steuereinrichtung als Antwort auf das nachfolgende ursprüngliche abgehende digitale Signal.
  2. Verfahren nach Anspruch 1, wobei der Datenstrom ein zeitrelevanter Datenstrom ist, und die digitalen Signale mit der USB-Spezifikation übereinstimmen und isochrone Daten darstellen.
  3. Verfahren nach Anspruch 2, wobei das Verfahren ein Verfahren zu Übertragung isochroner Daten entsprechend der USB-Spezifikation bereitstellt, wobei isochrone Daten von einer Peripherieeinrichtung übertragen und durch eine Host-Steuereinrichtung empfangen werden, mit den Schritten a. Übertragen einer Anforderung isochroner Daten von einer Host-Steuereinrichtung zu einer lokalen Erweiterungseinheit, b. Weiterleiten der Anforderung isochroner Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, c. Zuführen der weitergeleiteten Anforderung isochroner Daten zu zumindest einer Peripherieeinrichtung, d. Übertragen der angeforderten isochronen Daten von der Peripherieeinrichtung zu der entfernten Erweiterungseinheit, e. Weiterleiten der angeforderten isochronen Daten von der entfernten Erweiterungseinheit zu der lokalen Erweiterungseinheit über das Signalverteilungssystem, f. Speichern der angeforderten isochronen Daten in einem Paketpuffer an der lokalen Erweiterungseinheit, g. Übertragen einer nachfolgenden Anforderung isochroner Daten von der Host-Steuereinrichtung zu der lokalen Erweiterungseinheit, h. Empfangen der nachfolgenden Anforderung isochroner Daten an der lokalen Erweiterungseinheit und I. Abrufen der gespeicherten isochronen Daten von der lokalen Erweiterungseinheit, II. Zuführen der gespeicherten isochronen Daten zu der Host-Steuereinrichtung, III. Weiterleiten der nachfolgenden Anforderung isochroner Daten von der lokalen Erweiterungseinheit zu der entfernten Erweiterungseinheit über das Signalverteilungssystem, und IV. Wiederholen der Schritte (c) bis (h) für die nachfolgende Anforderung und jede weitere nachfolgende Anforderung isochroner Daten.
  4. Verfahren nach Anspruch 2, wobei das Verfahren ein Verfahren zur Übertragung isochroner Daten entsprechend der USB-Spezifikation bereitstellt, wobei isochrone Daten von einer Host-Steuereinrichtung übertragen und durch eine Peripherieeinrichtung empfangen werden, mit den Schritten a. Empfangen einer ursprünglichen Benachrichtigung über isochrone Daten von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit, b. Weiterleiten der ursprünglichen Benachrichtigung über isochrone Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, c. Empfangen der weitergeleiteten ursprünglichen Benachrichtigung über isochrone Daten an einer entfernten Erweiterungseinheit, d. Zuführen der weitergeleiteten Benachrichtigung über isochrone Daten zu zumindest einer Peripherieeinrichtung, e. Empfangen eines ursprünglichen isochronen Datenpakets von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit, f. Weiterleiten des ursprünglichen isochronen Datenpakets von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, g. Empfangen des weitergeleiteten ursprünglichen isochronen Datenpakets an einer entfernten Erweiterungseinheit und h. Zuführen des weitergeleiteten ursprünglichen isochronen Datenpakets zu zumindest einer Peripherieeinrichtung.
  5. Verfahren nach Anspruch 3, ferner mit den folgenden Schritten nach Schritt (b) in Anspruch 3: i. Bestimmen, ob die lokale Erweiterungseinheit bereits die angeforderten isochronen Daten verarbeitet, ii. Erzeugen eines synthetischen Datenpakets, wenn keine derartigen angeforderten isochronen Daten vorhanden sind, und iii. Zuführen der synthetischen isochronen Daten zu der Host-Steuereinrichtung, und mit dem folgenden Schritt nach Schritt (c) in Anspruch 3: i. Speichern der Adresse der angeforderten Peripherieeinrichtung an der entfernten Erweiterungseinheit, und ferner mit den folgenden Schritten nach Schritt (d) in Anspruch 3: i. Abrufen der Adresse der angeforderten Peripherieeinrichtung an der entfernten Erweiterungseinheit und ii. Hinzufügen der abgerufenen Adresse zu den angeforderten isochronen Daten.
  6. Verfahren nach Anspruch 3, wobei restliche Pakete vom System entfernt werden, mit den Schritten i. Erfassen, wenn ein neuer Rahmen begonnen hat, ii. Untersuchen der Eigenschaften jedes Paketpuffers, iii. Bestimmen, ob das in dem untersuchten Paketpuffer enthaltene Datenpaket zumindest eine vollständige Rahmenperiode lang gespeichert wurde, iv. Verwerfen des enthaltenen Datenpakets, wenn das enthaltene Datenpaket zumindest eine vollständige Rahmenperiode lang gespeichert wurde, und v. Wiederholen der Schritte (i) bis (iv) für jeden Paketpuffer im System.
  7. Verfahren nach Anspruch 1, wobei der Datenstrom ein nicht zeitrelevanter Datenstrom ist, und die digitalen Signale der USB-Spezifikation entsprechen und asynchrone Daten darstellen.
  8. Verfahren nach Anspruch 7, wobei das Verfahren ein Verfahren zur Übertragung asynchroner Daten entsprechend der USB-Spezifikation bereitstellt, wobei asynchrone Daten von einer Peripherieeinrichtung übertragen und von einer Host-Steuereinrichtung empfangen werden, mit den Schritten a. Empfangen einer ursprünglichen Anforderung asynchroner Daten von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit, b. Weiterleiten der ursprünglichen Anforderung asynchroner Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, c. Empfangen der weitergeleiteten ursprünglichen Anforderung asynchroner Daten an einer entfernten Erweiterungseinheit, d. Zuführen der weitergeleiteten ursprünglichen Anforderung asynchroner Daten zu zumindest einer Peripherieeinrichtung, e. Empfangen der angeforderten asynchronen Daten von der Peripherieeinrichtung an der entfernten Erweiterungseinheit, f. Weiterleiten der angeforderten asynchronen Daten von der entfernten Erweiterungseinheit zu der lokalen Erweiterungseinheit über das Signalverteilungssystem, g. Speichern der angeforderten asynchronen Daten in einem Paketpuffer an der lokalen Erweiterungseinheit, h. Empfangen einer nachfolgenden Anforderung asynchroner Daten von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit und i. Weiterleiten der nachfolgenden Anforderung asynchroner Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, ii. Zuführen der weitergeleiteten nachfolgenden Anforderung asynchroner Daten zu zumindest einer Peripherieeinrichtung und iii. Empfangen der angeforderten asynchronen Daten von der Peripherieeinrichtung an der entfernten Erweiterungseinheit, i. zusätzliches Empfangen der nachfolgenden Anforderung asynchroner Daten von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit wie in Schritt (h) und i. Abrufen der gespeicherten asynchronen Daten aus dem Paketpuffer und ii. Zuführen der abgerufenen asynchronen Daten zu der Host-Steuereinrichtung, j. Empfangen eines abgehenden Bestätigungssignals von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit, k. optionales Konvertieren des abgehenden Bestätigungssignals in ein konvertiertes Bestätigungssignal mit einem zur Übertragung über ausgedehnte Entfernungen geeigneten Format, l. Übertragen entweder des abgehenden Bestätigungssignals oder des konvertierten Bestätigungssignals als Bestätigungsübertragungssignal über ein Signalverteilungssystem, m. Empfangen des Bestätigungsübertragungssignals an einer entfernten Erweiterungseinheit, n. optionales Konvertieren des Bestätigungsübertragungssignals in das abgehende Bestätigungssignal und o. Zuführen des abgehenden Bestätigungssignals von der entfernten Erweiterungseinheit zu zumindest einer Peripherieeinrichtung.
  9. Verfahren nach Anspruch 8, ferner mit den folgenden Schritt nach Schritt (b) in Anspruch 8: i. Bestimmen, ob die lokale Erweiterungseinheit bereits die angeforderten asynchronen Daten verarbeitet, ii. Erzeugen eines negativen Bestätigungspakets, wenn keine derartigen angeforderten asynchronen Daten vorhanden sind, und iii. Zuführen des negativen Bestätigungspakets zu der Host-Steuereinrichtung, und ferner mit dem folgenden Schritt nach Schritt (e) in Anspruch 8: i. Erzeugen eines Bestätigungspakets an der entfernten Erweiterungseinheit und ii. Zuführen des Bestätigungspakets zu der Peripherieeinrichtung.
  10. Verfahren nach Anspruch 7, wobei das Verfahren ein Verfahren zur Übertragung asynchroner Daten gemäß der USB-Spezifikation bereitstellt, wobei asynchrone Daten von einer Host-Steuereinrichtung übertragen und von einer Peripherieeinrichtung empfangen werden, mit den Schritten a. Empfangen einer ursprünglichen Benachrichtigung über asynchrone Daten von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit, b. Weiterleiten der ursprünglichen Benachrichtigung über asynchrone Daten von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, c. Empfangen der weitergeleiteten ursprünglichen Benachrichtigung über asynchrone Daten an einer entfernten Erweiterungseinheit, d. Zuführen der weitergeleiteten Benachrichtigung über asynchrone Daten zu zumindest einer Peripherieeinrichtung, e. Empfangen eines ursprünglichen asynchronen Datenpakets von einer Host-Steuereinrichtung an einer lokalen Erweiterungseinheit, f. Weiterleiten des ursprünglichen asynchronen Datenpakets von der lokalen Erweiterungseinheit zu einer entfernten Erweiterungseinheit über ein Signalverteilungssystem, g. Empfangen des weitergeleiteten ursprünglichen asynchronen Datenpakets an einer entfernten Erweiterungseinheit, h. Zuführen des weitergeleiteten ursprünglichen asynchronen Datenpakets zu zumindest einer Peripherieeinrichtung, i. Empfangen eines einlaufenden Bestätigungspakets von der Peripherieeinrichtung an der entfernten Erweiterungseinheit, j. Weiterleiten des einlaufenden Bestätigungspakets von der entfernten Erweiterungseinheit zu der lokalen Erweiterungseinheit über das Signalverteilungssystem, k. Speichern des einlaufenden Bestätigungspakets in einem Paketpuffer an der lokalen Erweiterungseinheit, l. Empfangen einer nachfolgenden Benachrichtigung über asynchrone Daten von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit, m. Empfangen eines nachfolgenden asynchronen Datenpakets von der Host-Steuereinrichtung an der lokalen Erweiterungseinheit, und i. Abrufen des gespeicherten einlaufenden Bestätigungspakets aus dem Paketpuffer und ii. Zuführen des abgerufenen einlaufenden Bestätigungspakets zu der Host-Steuereinrichtung.
  11. Verfahren nach Anspruch 10, ferner mit dem folgenden Schritt nach Schritt (e) in Anspruch 10: i. Erzeugen eines Bestätigungspakets an der lokalen Erweiterungseinheit und ii. Zuführen des Bestätigungspakets zu der Host-Steuereinrichtung, und ferner mit dem folgenden Schritt nach Schritt (e) in Anspruch 10: i. Bestimmen, ob die lokale Erweiterungseinheit das einlaufende Bestätigungspaket bereits verarbeitet, ii. Erzeugen eines negativen Bestätigungspakets, wenn kein derartiges einlaufendes Bestätigungspaket vorhanden ist, und iii. Zuführen des negativen Bestätigungspakets zu der Host-Steuereinrichtung.
  12. Verfahren nach Anspruch 8 oder 10, wobei ferner eine Überwachungszeit nach der Übertragung eines Datenpakets von einer entfernten Erweiterungseinheit zu einer USB-Einrichtung verhängt wird, die auf einen Wert gesetzt wird, der vom Übertragungstyp des übertragenen Datenpakets abhängt, mit den Schritten a. Empfangen eines auslaufenden Datenpakets an einer entfernten Erweiterungseinheit, b. Bestimmen des Übertragungstyps des auslaufenden Datenpakets an einer entfernten Erweiterungseinheit, c. Weiterleiten des auslaufenden Datenpakets von der entfernten Erweiterungseinheit zu einer USB-Einrichtung, d. Einstellen des Werts eines Übertragungsüberwachungszeitgebers auf einen Wert, der vom bestimmten Übertragungstyp abhängt, und e. Verhindern weiterer auslaufender Übertragungen, bis der Überwachungszeitgeber abgelaufen ist.
  13. Verfahren nach Anspruch 1, wobei die ausgedehnte Entfernung 30 m überschreitet.
  14. Verfahren nach Anspruch 13, wobei die ausgedehnte Entfernung größer oder gleich 100 m ist.
  15. Verfahren nach Anspruch 1, wobei das Signalverteilungssystem eine nicht abgeschirmte verdrillte Doppelleitung (UTP), ein Glasfaserkabel oder eine drahtlose Übertragung anwendet.
  16. Vorrichtung zur Übertragung eines digitalen Signals über eine ausgedehnte Entfernung, die 5 m überschreitet, mit einer lokalen Erweiterungseinheit mit einer Einrichtung zum Empfangen einer Anforderung eines Datensignals von einer Host-Steuereinrichtung, die mit der lokalen Erweiterungseinheit verbunden ist, einer Einrichtung in der lokalen Erweiterungseinheit zur Erzeugung eines abgehenden Übertragungssignals, einer Einrichtung in der lokalen Erweiterungseinheit zum Senden des abgehenden Übertragungssignals zu einer entfernten Erweiterungseinheit, wobei die Signale über ein Signalsverteilungssystem gesendet werden, einer entfernten Erweiterungseinheit mit einer Einrichtung zum Empfangen des abgehenden Übertragungssignals, einer Einrichtung in der entfernten Erweiterungseinheit zur Erzeugung eines digitalen Signals aus dem abgehenden Übertragungssignal, einer Einrichtung in der entfernten Erweiterungseinheit zum Weiterleiten des digitalen Signals zu zumindest einer Peripherieeinrichtung, die mit der entfernten Erweiterungseinheit verbunden ist, einer Einrichtung in der entfernten Erweiterungseinheit zum Empfangen einlaufender digitaler Signale von den Peripherieeinrichtungen, einer Einrichtung in der entfernten Erweiterungseinheit zum Konvertieren der einlaufenden digitalen Signale in ein einlaufendes Übertragungssignal, einer Einrichtung in der entfernten Erweiterungseinheit zum Senden des einlaufenden Übertragungssignals zu der lokalen Erweiterungseinheit, wobei die Signale über das Signalverteilungssystem gesendet werden, einer Einrichtung in der lokalen Erweiterungseinheit zum Empfangen des einlaufenden Übertragungssignals, gekennzeichnet durch eine Einrichtung in der lokalen Erweiterungseinheit zum Speichern des einlaufenden Signals als gespeichertes einlaufendes Signal, eine Einrichtung in der lokalen Erweiterungseinheit zum Analysieren des digitalen Signals von der Host-Steuereinrichtung zum Erkennen einer nachfolgenden Anforderung der Übertragung des zeitrelevanten digitalen Signals, eine Einrichtung in der lokalen Erweiterungseinheit zur Erzeugung eines digitalen Signals aus der einlaufenden Übertragung und eine Einrichtung in der lokalen Erweiterungseinheit zum Weiterleiten des digitalen Signals zu der Host-Steuereinrichtung als Antwort auf die nachfolgende Anforderung.
  17. Vorrichtung nach Anspruch 16, wobei das Datensignal ein zeitrelevantes Datensignal ist, das der USB-Spezifikation entspricht, wobei das zeitrelevante Signal isochrone Daten darstellt.
  18. Vorrichtung nach Anspruch 16, wobei das digitale Signal ein nicht zeitrelevantes Signal ist, das der USB-Spezifikation entspricht, und das nicht zeitrelevante Signal asynchrone Daten darstellt.
  19. Vorrichtung nach Anspruch 18 zur Übertragung eines digitalen Signals über eine ausgedehnte Entfernung, mit a. einer lokalen Erweiterungseinheit mit einer Einrichtung zum Empfangen einer Anforderung eines nicht zeitrelevanten Datensignals von einer Host-Steuereinrichtung, die mit der lokalen Erweiterungseinheit verbunden ist, b. einer Einrichtung in der lokalen Erweiterungseinheit zur Erzeugung eines abgehenden Übertragungssignals, c. einer Einrichtung in der lokalen Erweiterungseinheit zum Senden des abgehenden Übertragungssignals zu einer entfernten Erweiterungseinheit, wobei die Signale über ein Signalverteilungssystem gesendet werden, d. einer entfernten Erweiterungseinheit mit einer Einrichtung zum Empfangen des abgehenden Übertragungssignals, e. einer Einrichtung in der entfernten Erweiterungseinheit zur Erzeugung eines digitalen Signals aus dem abgehenden Übertragungssignal, f. einer Einrichtung in der entfernten Erweiterungseinheit zur Weiterleitung des digitalen Signals zu zumindest einer Peripherieeinrichtung, die mit der entfernten Erweiterungseinheit verbunden ist, g. einer Einrichtung in der entfernten Erweiterungseinheit zum Empfangen einlaufender digitaler Signale von den Peripherieeinrichtungen, h. einer Einrichtung in der entfernten Erweiterungseinheit zur Konvertierung der einlaufenden digitalen Signale in ein einlaufendes Übertragungssignal, i. einer Einrichtung in der entfernten Erweiterungseinheit zum Senden des einlaufenden Übertragungssignals zu der lokalen Erweiterungseinheit, wobei die Signale über das Signalverteilungssystem gesendet werden, j. einer Einrichtung in der lokalen Erweiterungseinheit zum Empfangen des einlaufenden Übertragungssignals, k. einer Einrichtung in der lokalen Erweiterungseinheit zur Speicherung des einlaufenden Signals als gespeichertes einlaufendes Signal, l. einer Einrichtung in der lokalen Erweiterungseinheit zum Analysieren des digitalen Signals von der Host-Steuereinrichtung zum Erkennen einer nachfolgenden Anforderung einer Übertragung des nicht zeitrelevanten digitalen Signals, m. einer Einrichtung in der lokalen Erweiterungseinheit zur Erzeugung eines digitalen Signals aus der einlaufenden Übertragung, und n. einer Einrichtung in der lokalen Erweiterungseinheit zum Weiterleiten des digitalen Signals zu der Host-Steuereinrichtung als Antwort auf die nachfolgende Anforderung.
  20. Vorrichtung nach Anspruch 16, wobei die ausgedehnte Entfernung 30 m überschreitet.
  21. Vorrichtung nach Anspruch 16, wobei das Signalverteilungssystem ein nicht abgeschirmtes verdrilltes Leitungspaar (UTP), ein Glasfaserkabel oder eine drahtlose Übertragung anwendet.
DE60002446T 1999-02-19 2000-02-17 Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs Expired - Lifetime DE60002446T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CA 2262334 CA2262334C (en) 1999-02-19 1999-02-19 Method and apparatus for extending the range of the universal serial bus protocol
CA2262334 1999-02-19
CA 2269961 CA2269961C (en) 1999-04-26 1999-04-26 Method and apparatus for extending the range of the universal serial bus protocol as it applies to asynchronous transfers
CA2269961 1999-04-26
PCT/CA2000/000157 WO2000049507A1 (en) 1999-02-19 2000-02-17 Method and apparatus for extending the range of the universal serial bus protocol

Publications (2)

Publication Number Publication Date
DE60002446D1 DE60002446D1 (de) 2003-06-05
DE60002446T2 true DE60002446T2 (de) 2004-03-18

Family

ID=25680825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60002446T Expired - Lifetime DE60002446T2 (de) 1999-02-19 2000-02-17 Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs

Country Status (8)

Country Link
US (1) US6381666B1 (de)
EP (1) EP1155370B1 (de)
JP (1) JP4564665B2 (de)
AT (1) ATE239256T1 (de)
AU (1) AU2654200A (de)
BR (1) BR0008344A (de)
DE (1) DE60002446T2 (de)
WO (1) WO2000049507A1 (de)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038616A (en) * 1997-12-15 2000-03-14 Int Labs, Inc. Computer system with remotely located interface where signals are encoded at the computer system, transferred through a 4-wire cable, and decoded at the interface
US6886055B2 (en) * 1997-12-15 2005-04-26 Clearcube Technology, Inc. Computer on a card with a remote human interface
GB2395876B (en) * 1999-03-17 2004-07-07 Adder Tech Ltd Computer signal transmission system
US6708247B1 (en) 1999-07-21 2004-03-16 Clearcube Technology, Inc. Extending universal serial bus to allow communication with USB devices at a remote location
US6526468B1 (en) * 1999-12-15 2003-02-25 Robotel Electronique Inc. Peripheral bus extender
US6724848B1 (en) * 2000-03-06 2004-04-20 Intel Corporation Sync regeneration in a universal serial bus
US6812961B1 (en) * 2000-05-11 2004-11-02 Eastman Kodak Company System and camera for automatically forwarding digital images to a service provider
US6812962B1 (en) * 2000-05-11 2004-11-02 Eastman Kodak Company System and apparatus for automatically forwarding digital images to a service provider
US6571305B1 (en) * 2000-09-27 2003-05-27 Lantronix, Inc. System for extending length of a connection to a USB peripheral
US20060015669A1 (en) * 2004-06-30 2006-01-19 Engler Michael G System for extending length of a connection to a USB device
US6735658B1 (en) 2000-10-06 2004-05-11 Clearcube Technology, Inc. System and method for combining computer video and remote universal serial bus in an extended cable
US7069368B2 (en) * 2000-12-01 2006-06-27 Clearcube Technology, Inc. System of co-located computers in a framework including removable function modules for adding modular functionality
US7127678B2 (en) * 2000-12-21 2006-10-24 Microsoft Corporation System and method to specify device specific user interface information in the firmware of a USB device
US6779151B2 (en) * 2001-01-05 2004-08-17 Microsoft Corporation Storing objects in a spreadsheet
US6754720B1 (en) * 2001-03-02 2004-06-22 Adaptec, Inc. Automatic addressing of expanders in I/O subsystem
US6886062B2 (en) * 2001-03-30 2005-04-26 Intel Corporation Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus
US6678761B2 (en) 2001-03-30 2004-01-13 Intel Corporation Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US7656426B2 (en) * 2001-04-06 2010-02-02 Sony Corporation Digital camera and data transfer method from a record medium
CA2345596C (en) * 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US7028124B2 (en) 2001-09-26 2006-04-11 Intel Corporation Method and apparatus for dual queue head processing of interrupt endpoints
US6889265B2 (en) 2001-11-05 2005-05-03 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
US7328261B2 (en) * 2001-11-21 2008-02-05 Clearcube Technology, Inc. Distributed resource manager
US20030126337A1 (en) * 2001-12-31 2003-07-03 Compaq Information Technologies Group, L.P. Method of connecting to a KVM transmitter using internal cables
US20020097220A1 (en) * 2002-03-28 2002-07-25 Compaq Information Technologies Group, L.P. Method of supporting audio for KVM extension in a server platform
US6961798B2 (en) * 2002-03-28 2005-11-01 Hewlett-Packard Development Company, L.P. KVM extension configuration including a USB-to-non-USB adapter to support transmission of USB signals from a host to KVM devices located outside of USB operating ranges
US20030184960A1 (en) * 2002-03-28 2003-10-02 Compaq Information Technologies Group, L.P. Enumeration, manageability, and security of a KVM extension device
US7395366B1 (en) 2002-09-27 2008-07-01 Cypress Semiconductor Corp. System, method, and apparatus for connecting USB peripherals at extended distances from a host computer
US20040158627A1 (en) * 2003-02-11 2004-08-12 Thornton Barry W. Computer condition detection system
US7493431B2 (en) 2003-08-06 2009-02-17 Icron Technologies Corporation Method and apparatus for extending the range of the universal serial bus protocol
TWI296083B (en) 2003-09-29 2008-04-21 Sharp Kk Communication controller, host-side controller, communication system, usb system, communication equipment, communication method, packet-based communication method, packet-based communication program, and storage medium
TW200534108A (en) * 2004-04-02 2005-10-16 Uli Electronics Inc Control method and device of a remote USB host
US20050278472A1 (en) * 2004-06-14 2005-12-15 Gierke Justin T USB extender
US7653123B1 (en) 2004-09-24 2010-01-26 Cypress Semiconductor Corporation Dynamic data rate using multiplicative PN-codes
JP2006101177A (ja) * 2004-09-29 2006-04-13 Fujitsu Ltd データ転送装置
US8504707B2 (en) * 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US7644211B2 (en) * 2004-12-07 2010-01-05 Cisco Technology, Inc. Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
US20060123182A1 (en) * 2004-12-07 2006-06-08 Francisc Sandulescu Distributed KVM and peripheral switch
US7640378B2 (en) 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays
US7299309B2 (en) * 2005-07-14 2007-11-20 Vetra Systems Corporation Method and apparatus for protocol and code converter
US7246189B2 (en) * 2005-11-18 2007-07-17 Vetra Systems Corporation Method and apparatus for enhancing universal serial bus
US8161220B2 (en) 2005-11-18 2012-04-17 Vetra Systems Corporation Method and apparatus for enhancing universal serial bus applications
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
TWI321731B (en) * 2006-09-18 2010-03-11 Quanta Comp Inc Device connection system and device connection method
US7647446B2 (en) * 2006-10-03 2010-01-12 Silex Technology, Inc. Networked isochronous USB communication
JP4343973B2 (ja) * 2007-05-23 2009-10-14 シャープ株式会社 情報処理装置および情報処理方法
US7818486B2 (en) * 2008-08-15 2010-10-19 Icron Technologies Corporation Method and apparatus for connecting USB devices to a remote computer
US8549197B2 (en) 2010-03-30 2013-10-01 Icron Technologies Corporation Method and system for communicating displayport information
WO2012083423A1 (en) 2010-12-23 2012-06-28 Icron Technologies Corporation Method and apparatus for connecting usb devices to a computer
US8898354B2 (en) * 2011-12-15 2014-11-25 Icron Technologies Corporation Methods and devices for synchronizing to a remotely generated time base
US9129064B2 (en) 2012-04-26 2015-09-08 Icron Technologies Corporation USB 3.0 link layer timer adjustment to extend distance
KR102073236B1 (ko) 2012-07-05 2020-03-02 오므론 매니지먼트 센터 오브 아메리카, 인코포레이티드 중계 전송을 통한 usb 시그널링 방법 및 장치
EP2936760B1 (de) * 2012-12-20 2017-08-02 Icron Technologies Corporation Vorrichtungen und verfahren zur übertragung von usb-abschlusssignalen über verlängerungsmedien
GB2510882A (en) * 2013-02-14 2014-08-20 Graham Henry Thomas Interface apparatus
JP5998343B2 (ja) * 2013-02-14 2016-09-28 サイレックス・テクノロジー株式会社 デバイスサーバシステム、デバイスサーバおよびプログラム
CN104123258A (zh) * 2014-07-23 2014-10-29 龙迅半导体科技(合肥)有限公司 一种usb数据传输接口及系统
US9799302B2 (en) 2014-10-29 2017-10-24 Icron Technologies Corporation Systems and methods for transmitting video, network, and USB signals over extension media
US9798689B2 (en) 2014-11-03 2017-10-24 Icron Technologies Corporation Systems and methods for enabling communication between USB type-C connections and legacy connections over an extension medium
US9727109B2 (en) 2015-01-23 2017-08-08 Icron Technologies Corporation Systems and methods for managing USB power delivery
US10037297B2 (en) * 2015-12-30 2018-07-31 Aten International Co., Ltd. Method of extending range of USB transmission for isochronous transfer
CN113971149A (zh) 2020-07-22 2022-01-25 艾科隆技术公司 用于在usb扩展环境内配置端点的技术
US11809358B2 (en) * 2020-10-30 2023-11-07 Icron Technologies Corporation USB device removal and ping intervention in an extension environment
US12461874B2 (en) 2022-08-03 2025-11-04 Texas Instruments Incorporated Repeater babble detection
WO2024030545A1 (en) * 2022-08-03 2024-02-08 Texas Instruments Incorporated Repeater babble detection

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244854A (ja) * 1993-02-17 1994-09-02 Sumitomo Electric Ind Ltd データ通信延長拡張システム
US5588140A (en) * 1993-03-15 1996-12-24 Computer Network Technology Corporation Transparent extension of peripheral from host
JPH07281963A (ja) * 1994-04-15 1995-10-27 Toshiba Corp 装置間接続方式
US5797028A (en) * 1995-09-11 1998-08-18 Advanced Micro Devices, Inc. Computer system having an improved digital and analog configuration
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
US6084638A (en) * 1996-10-08 2000-07-04 Hare; Charles S. Computer interface extension system and method
JPH10142298A (ja) * 1996-11-15 1998-05-29 Advantest Corp 集積回路デバイス試験装置
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
JPH10200566A (ja) * 1997-01-14 1998-07-31 Meidensha Corp 光リピータ
JPH10271069A (ja) * 1997-03-21 1998-10-09 Yaskawa Electric Corp 光レピータ
US5983073A (en) * 1997-04-04 1999-11-09 Ditzik; Richard J. Modular notebook and PDA computer systems for personal computing and wireless communications
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
US6308215B1 (en) * 1997-12-22 2001-10-23 Robert J. Kolbet Extender apparatus for USB connection of computer units

Also Published As

Publication number Publication date
EP1155370A1 (de) 2001-11-21
AU2654200A (en) 2000-09-04
EP1155370B1 (de) 2003-05-02
BR0008344A (pt) 2002-11-19
WO2000049507A1 (en) 2000-08-24
ATE239256T1 (de) 2003-05-15
US6381666B1 (en) 2002-04-30
JP2002542527A (ja) 2002-12-10
JP4564665B2 (ja) 2010-10-20
DE60002446D1 (de) 2003-06-05

Similar Documents

Publication Publication Date Title
DE60002446T2 (de) Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs
DE3689635T2 (de) Netzwerk mit Tokenübergabe für industrielle Zwecke.
DE60035882T2 (de) Protokoll einer zerteilten transaktion für ein bussystem
DE19581234B4 (de) Bussteuereinrichtung und Verfahren für eine hierarchische serielle Busanordnung unter Verwendung von Kommunikationspaketen
DE69018982T2 (de) Verfahren zur Wegleitung von Paketen durch begrenzte Flutung.
DE69634983T2 (de) Verfahren und vorrichtung für ein hybrides wettbewerbs- und abfrageprotokoll
DE69704344T2 (de) Anwendungsprogrammierungsschnittstelle für datenübertragung und busverwaltung über eine busstruktur
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE3586430T2 (de) Lokales netzwerk fuer numerische datenverarbeitungssysteme.
DE69332532T2 (de) Verfahren und Einrichtung für Stapelung des Empfanges von Datenpaketen
DE69624183T2 (de) Serielle Hochgeschwindigkeitsdatenübertragungsverbindung für Tischperipheriegeräte
DE68913230T2 (de) Lokale Netzwerkverbindungsvorrichtung mit einstellbarer Betriebsart.
DE69735972T2 (de) Verfahren und Vorrichtung zur Verwaltung eines Computernetzes
DE3608126A1 (de) Einrichtung und verfahren zum zuordnen einer speziellen adresse zu einem mit einem datenuebertragungsmedium gekoppelten datenverarbeitungsgeraet
DE69729190T2 (de) Datenstruktur zur unterstützung von mehreren datenübertragungspaketen für hohe leistung
DE3608173A1 (de) Datenverarbeitungssystem und verfahren zur uebertragung von daten ueber ein datenuebertragungsmedium zwischen mehreren datenverarbeitungsgeraeten
DE3788097T2 (de) Übertragungsschaltung für Endgerät.
DE3103786C2 (de) Datenübertragungsanordnung
DE3820544A1 (de) Ortsbereichsnetzsystem mit einem hiermit gekoppelten mehrcomputersystem und verfahren zur steuerung hiervon
DE602004002603T2 (de) Empfangsbestätigung für einen Inhalt zu einer HTTP/TCP Vorrichtung
DE69810337T2 (de) Verfahren und vorrichtung zur detektierung und steurung von buspaketenübertragungsrichtung in einem ieee1394 seriellen busknoten
DE19524692B4 (de) Verfahren zum Einstellen von Parametern für ein PLC-Kommunikationssystem
DE69319081T2 (de) Übertragungsverfahren und -vorrichtung
DE60028174T2 (de) Datenübertragungsverfahren mittels Schicht-2-Signalisierung der Protokollkennung, Funkendgerät und Funk-Gateway
DE10027456A1 (de) Vorrichtung und Verfahren zum Verbessern der Leistung in Master- und Slave-Kommunikationssystemen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition