DE10259327A1 - USB-Verbundgerät und Verfahren zum Realisieren desselben - Google Patents

USB-Verbundgerät und Verfahren zum Realisieren desselben Download PDF

Info

Publication number
DE10259327A1
DE10259327A1 DE10259327A DE10259327A DE10259327A1 DE 10259327 A1 DE10259327 A1 DE 10259327A1 DE 10259327 A DE10259327 A DE 10259327A DE 10259327 A DE10259327 A DE 10259327A DE 10259327 A1 DE10259327 A1 DE 10259327A1
Authority
DE
Germany
Prior art keywords
usb
terminal
data
address
memory
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.)
Ceased
Application number
DE10259327A
Other languages
English (en)
Inventor
Wen-Jen Wu
Wen-Hwa Chou
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.)
Prolific Technology Inc
Original Assignee
Prolific Technology Inc
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 to TW090117264A priority Critical patent/TW518502B/zh
Priority to US10/074,910 priority patent/US6862643B2/en
Priority to JP2002074066A priority patent/JP2003050772A/ja
Application filed by Prolific Technology Inc filed Critical Prolific Technology Inc
Priority to DE10259327A priority patent/DE10259327A1/de
Priority to SG200207788A priority patent/SG107128A1/en
Publication of DE10259327A1 publication Critical patent/DE10259327A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0227Cooperation and interconnection of the input arrangement with other functional units of a computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)

Abstract

Es werden ein Verbundgerät für einen Universal Serial Bus (USB) und ein zugehöriges Implementierungsverfahren offenbart. Das USB-Verbundgerät verfügt über keinen eingebetteten Hub, aber es simuliert einen Hub durch eine Schaltungsanordnung oder Firmware. Daher kann eine Gruppe unabhängiger Funktionsgeräte über denselben USB-Logiksatz mit einem USB-Bus verbunden werden, und die Herstellkosten können gesenkt werden, ohne dass die Funktion des Geräts und die Fähigkeit zur Erweiterung und die Plug-and-Play-Funktion beeinträchtigt würden.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft ein Verbundgerät für den Universal Serial Bus (USB), insbesondere hinsichtlich eines USB-Verbundgeräts mit niedrigen Herstellkosten und uneingeschränkter Erweiterbarkeit, sowie ein Verfahren zum Realisieren desselben.
  • Beschreibung der einschlägigen Technik
  • Beim Anschließen verschiedener Geräte werden verschiedene Typen von Kommunikationsverbindungen und Kommunikationsprotokollen verwendet, damit jedes Gerät mit den anderen kommunizieren kann. Kommunikationsverbindungen nutzen eine Anzahl von Verfahren zum Steuern der Befehle und der Datenflussrichtungen. Zum Beispiel sind bei einem Typ einer Kommunika tionsverbindung ein Hostgerät und ein Slavegerät erforderlich. Bei dieser Systemstruktur sendet das Hostgerät einen Befehl, der es dem Slavegerät erlaubt, mit der Kommunikation fortzufahren, wohingegen dann, wenn das Peripheriegerät den Befehl nicht empfängt, es nicht dazu berechtigt ist, mit der Kommunikation fortzufahren. Daher steuert bei dieser Struktur das einzelne Hostgerät die Befehle und die Datenflussrichtungen des gesamten Systems. Hinsichtlich eines anderen Typs einer Systemstruktur existiert keine Unterscheidung von Host- und Slavegeräten und jedes Gerät des Systems kann Befehle und Daten an die anderen senden.
  • Während der letzten wenigen Jahre wurde für Kommunikationsverbindungen ein als "Universal Serial Bus" (USB) bezeichneter spezieller Schnittstellensystem-Standard entwickelt. Die serielle Schnittstelle kann alle Arten von Peripheriegeräten auf einfache Weise mit dem Computersystem verbinden, um so die Komplikation zu überwinden, wie sie durch Verbindungen mit Anschlüssen mit verschiedenen Standards zwischen verschiedenen Peripheriegeräten und einem Computer hervorgerufen werden. Ein USB-System verfügt über Folgendes: einen USB-Host, ein USB-Gerät und eine USB-Verbindung. Der USB-Host ist hierbei zum Steuern des Timings und der Richtung der Datenübertragung auf dem USB zuständig. USB-Geräte werden in zwei Kategorien eingeteilt, von denen die eine "Hub-Geräte" bilden, die den USB mit neuen Anschlusspunkten versehen, und die andere "Funktionsgeräte" sind, die als Peripheriegeräte des Systems dienen, d. h. z. B. eine Maus, eine Tastatur und ein Drucker. Die tatsächlichen Verbindungen in einem USB-System bilden eine gestaffelte Sternstruktur, wie sie in der 1 dargestellt ist, wobei der Hub das Zentrum jeder gestaffelten Sternverbindung bildet.
  • Wenn das USB-Gerät (ein Hub- oder ein Funktionsgerät) mit einem USB-Bus verbunden wird, weist der USB-Host dem Gerät nur eine einzige Adresse zu, und dann kommuniziert er entsprechend dieser Adresse mit dem USB-Gerät; anders gesagt, verfügt jedes USB-Gerät nur über eine Adresse.
  • Das USB-Gerät verfügt auch über eine Endstellenstruktur, und im USB-Gerät ist jede Endstelle eine unabhängige Teilstelle, die während der Datenübertragung zwischen dem USB-Host und dem Gerät als Datenausgangs- oder Empfangsanschluss dient. Jedes USB-Gerät kann über eine Gruppe von Endstellen verfügen, die für verschiedene Datenübertragungseigenschaften ausgebildet sind. Die Endstellen werden in Steuer-, Großmengen-, Interrupt- und isochrone Endstellen eingeteilt. Mit Ausnahme der Steuer-Endstellen, die bidirektionale Datenübertragung erlauben, ist der Rest weiter in Eingangs- und Ausgangs-Endstellen unterteilt.
  • Ein USB-Gerät verfügt über eine Gruppe von Endstellen, nicht über sechzehn, die dazu verwendet werden, Gerätefunktionen zu realisieren, und jeder Endstelle ist eine eindeutige Nummer zugeordnet, die als "Endstellennummer" bezeichnet wird. Daher ermöglicht es die Kombination aus der Geräteadresse, der Endstellennummer und der Datenübertragungsrichtung (Ausgang oder Eingang) der Endstelle, eine eindeutige und spezifische Adresse auf dem USB-Bus zu erfassen.
  • Die im Hostgerät des Systems aufgebauten Gerätetreiber kommunizieren mit den USB-Geräten über USB-Funktionsstellenschnittstellenprogramme, die vom System bereitgestellt werden, um die Gerätefunktion auszuführen. D. h., dass der Gerätetreiber und das Funktionsgerät eine eineindeutige Beziehung bilden. Jedes USB-Gerät muss über ein entsprechendes Funktionsprogramm innerhalb des Hosts verfügen, um die Funktion auszuüben, die durch das Gerät im System bereitgestellt wird. Um für zweckdienliche USB-Plug-and-Play-Funktion zu sorgen, sind mehrere Funktionsgerätetreiber, wie sie allge mein verwendet werden, bereits in das Betriebssystem eingebettet. Demgemäß kann das System, wenn ein Gerät mit dem USB-Bus verbunden wird, die eingebettete Software auffinden, und es führt die zugehörige Funktion ohne zusätzliche Softwareinstallation aus, um die Nutzbarkeit des USB einfacher zu machen.
  • Auf Grundlage von Überlegungen betreffend die Praxisgerechtheit und die Herstellkosten sind im Allgemeinen mehrere USB-Funktionen in einem USB-Gerät integriert. Zum Beispiel sind eine Tastatur und eine Maus in ein USB-Gerät integriert, das als "Mehrfunktionsgerät" bezeichnet wird. Mehrfunktionsgeräte werden häufig in "zusammengesetzte Geräte" und "Verbundgeräte" eingeteilt.
  • Die interne Struktur eines herkömmlichen zusammengesetzten Geräts 20 ist in der 2 dargestellt. Diese intere Struktur ist dieselbe wie die eines USB-Geräts ingesamt, mit einer USB-Logik 201 und einem Funktionsblock 202. Der Unterschied zwischen den beiden besteht darin, dass das zusammengesetzte Gerät über mehrere Endstellen 203 verfügt, die jeweils verschiedene Funktionen repräsentieren. Gemäß dem USB-Standard kann ein USB-Gerät über maximal bis zu sechzehn Endstellen verfügen. Daher kann das zusammengesetzte Gerät mehrere Endstellen in ihm dazu verwenden, eine Funktion aufzubauen, und es kann die anderen Endstellen in ihm dazu verwenden, eine andere Funktion aufzubauen. Zum Beispiel kann das zusammengesetzte Gerät durch die Endstellen 0 und 1 eine Mausfunktion 204 aufbauen, und durch die Endstellen 0, 2 und 3 kann es eine Tastaturfunktion 205 aufbauen. Demgemäß kann ein USB-Gerät abhängig vom genannten Design über mehrere Funktionen verfügen.
  • Jedoch besteht der Nachteil des Vorstehenden darin, dass das zusammengesetzte Gerät vom USB-Host in einem USB-System als USB-Funktionsgerät angesehen wird. Demgemäß wird dem zusammengesetzten Gerät durch den USB-Host nur eine Adresse zugewiesen. Anders gesagt, kommunizieren die zugehörigen eingebetteten mehreren Funktionen mit dem USB-Host über dieselbe gemeinsam genutzte USB-Adresse. Dieses Verfahren unterscheidet sich von dem bei üblichen Funktionsgeräten, bei denen jede Funktion über ihre eigene unabhängige Adresse verfügt und vom Host erkannt werden kann, um den Treiber für diese Funktion zu laden. Aus diesem Grund ist es möglich, dass ein zusammengesetztes Gerät den eingebetteten Standardtreiber nicht verwenden kann und der für das zusammengesetzte Gerät konzipierte Treiber verwendet werden sollte. Indessen muss der für das Hardwaregerät konzipierte Treiber vor dem Anschluss installiert werden, um es dem USB-Host zu ermöglichen, Daten hinsichtlich der speziellen Endstellen des zusammengesetzten Geräts zu senden oder zu empfangen.
  • Ferner besteht der Grund dafür, dass ein USB-Gerät bis zu maximal sechzehn Endstellen aufweist darin, dass die Anzahl der Funktionen beschränkt ist, die innerhalb eines zusammengesetzten Geräts aufgebaut werden können.
  • Es wird auf die 3a und 3b Bezug genommen, deren Diagramme ein herkömmliches Verbundgerät 30 zeigen, das ein anderer Typ eines Mehrfunktionsgeräts ist. Ein Verbundgerät repräsentiert ein Funktionsgerät mit eingebettetem Hub. Wie es in der 3a dargestellt ist, ist das herkömmliche Verbundgerät dem Aussehen nach ein Tastaturgerät. Jedoch ist das Innere des Tastatur-Verbundgeräts 30 mit einem Tastatur-Funktionsgerät 310 und einem Hubgerät 320 aufgebaut (siehe die 3b). Demgemäß kann das Tastatur-Verbundgerät 30 mehrere USB-Anschlussports 304, 305 bereitstellen, und es ermöglicht es, mehrere USB-Geräte 306, 307 mit dem USB-Bus zu verbinden.
  • Beim herkömmlichen Verbundgerät können zwar die Schaltkreise des Tastatur-Funktionsgeräts 310 und des Hubgeräts 320 auf einem einzelnen Chip integriert werden, um die Herstellkosten zu verringern, jedoch sind die genannten zwei Geräte als unabhängige USB-Geräte repräsentiert, und jedes verfügt über einen Satz von Grundschaltungen des USB-Geräts. D. h., dass jedes Gerät über einen Satz von USB-Logikschaltungen 311 oder 321 sowie Funktionsblöcke 312 oder 322 verfügt. Da jedes Funktionsgerät im Verbundgerät ein unabhängiges USB-Gerät ist, verfügt demgemäß jedes Funktionsgerät über seine eigene unabhängige USB-Adresse. Indessen kann der USB-Host die eingebetteten Standardtreiber entsprechend dem zugehörigen Gerätetyp laden und Komplikationen beseitigen, wie sie durch die Installation spezieller Treiber hervorgerufen werden.
  • Jedoch repräsentiert jede USB-Logikschaltung des USB-Geräts dieselbe Schnittstelle, die dazu verwendet wird, Meldungen zu senden und zu empfangen und eine Signalformat-Übertragung an den USB-Host auszuführen, während jeder Funktionsblock eine eingebettete Funktion des USB-Geräts repräsentiert, d. h. eine Tastatur, eine Maus oder eine Festplatte. Dem Grunde nach haben alle USB-Logikschaltungen von USB-Geräten ähnliche Strukturen.
  • Demgemäß verfügen die eingebetteten Funktionen des Verbundgeräts über den Vorteil, Standardtreiber als USB-Gerät zu verwenden, jedoch beinhaltet dieser Typ von Geräten den Nachteil, dass redundante Schaltungen vorliegen. Gemäß der 3b verfügt das Verbundgerät demgemäß über zwei Gruppen von USB-Logikschaltungen. Wenn mehr als ein Funktionsgerät in das Verbundgerät eingebettet ist, wird mehr als eine Logikgruppe zum Verbundgerät hinzugefügt.
  • Als Schlussfolgerung aus dem Obigen ergibt sich, dass trotz der vereinfachten Schaltungsanordnung als Vorteil eines herkömmlichen zusammengesetzten Geräts die eingebetteten Funktionen desselben die Standardtreiber nicht nutzen können, wohingegen bei einem herkömmlichen Verbundgerät die Realisierung der zugehörigen eingebetteten Funktionen so zweckdienlich wie die bei einem USB-Gerät sind, wobei jedoch ein derartiger Typ von Geräten als Nachteil über eine Wiederholung von Schaltungsanordnungen verfügt und Ressourcen vergeudet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der Erfindung, ein Verbundgerät zu schaffen, bei dem mehrere Funktionsgeräte über dieselbe Gruppe von USB-Logikmaßnahmen mit dem USB verbunden werden können. Die zugehörige Schaltung ist so einfach wie bei bekannten zusammengesetzten Geräten, aber dennoch ist jede Funktion der Art nach unabhängig, wie bei bekannten Verbundgeräten.
  • Eine andere Aufgabe der Erfindung ist es, ein zur Planung geeignetes Design zu schaffen, damit Benutzer eine Planung entsprechend verschiedenen Anwendungen und einer Anzahl gewünschter Funktionen bewerkstelligen können.
  • Die andere Aufgabe der Erfindung ist es, eine Realisierung eines USB-Verbundgeräts zu schaffen, bei dem ein eingebetteter Hub fehlt und die Simulation eines Hubs durch eine Schaltung oder Firmware ausgeführt wird, so dass ein Satz unabhängiger USB-Funktionen (Geräte) über einen wechselseitigen stromaufwärtigen USB-Port mit dem Host verbunden werden kann, während die Gerätefunktion und die Erweiterbarkeit unbeeinflusst bleiben, wodurch eine zweckdienliche Plug-and-Pluay-Fnktion erzielt wird und der Zweck der Kostensenkung erfüllt wird.
  • Gemäß der Erfindung ist ein USB-Verbundgerät mit Folgendem versehen: einem USB-Sendeempfänger, einer seriellen Schnittstellenmaschine und einer Schaltungsanordnung, wobei ein Ende der Schaltungsanordnung mit der seriellen Schnittstellenmaschine verbunden ist und das andere Ende mit mehreren Nicht-USB-Schnittstellen über einen Mikroprozessor oder einen Controller verbunden ist. Eine derartige Schaltungsanordnung ist ohne die Funktionen eines USB-Sendeempfängers und einer seriellen Schnittstellenmaschine, und sie wird dazu verwendet, eine Anzahl von durch einen USB zugewiesenen Geräteadressen zu speichern und zu verwalten und auch die Datenübertragung ablaufen zu lassen.
  • Die Schaltungsanordnung verfügt über eine generische allgemein verwendbare Endstellen-Zustandsmaschine, einen Adressen/Endstelle-Verwaltungsmechanismus und ein Speichermodul. Der Adressen/Endstelle-Verwaltungsmechanismus wird dazu verwendet, mehrere Adressen/Endstelle-Konfigurationen abzuspeichern. Bei der Erfindung führt das USB-Verbundgerät USB-Standard-Kommunikationsprotokolle aus, um abhängig von den im Adressen/Endstelle-Verwaltungsmechanismus gespeicherten Typen von Endstellen über die allgemein verwendbare Endstellen-Zustandsmaschine mit dem USB-Host zu kommunizieren, während das Speichermodul dazu verwendet wird, die übertragenen Daten zwischenzuspeichern.
  • Außerdem beinhalten die mehreren im Adressen/Endstelle-Verwaltungsmechanismus gespeicherten Adressen/Endstelle-Konfigurationen eine Gruppe von Adressen/Endstelle-Konfigurationen eines virtuellen Hubs, wobei diese Gruppe von Adressen/-Endstelle-Konfigurationen für den virtuellen Hub von der Schaltungsanordnung verwendet wird, wenn diese ihre Funktion als Hub über den USB-Sendeempfänger, die serielle Schnittstellenmaschine und den Mikroprozessor oder den Controller ausübt.
  • Indessen beinhaltet die Schaltungsanordnung auch ein Endstellen-Variablenregister zum Speichern der Zustände der mehreren Endstellen, auf das durch die allgemein verwendbare Endstellen-Zustandsmaschine zugegriffen wird und das durch sie aktualisiert wird. Das Speichermodul beinhaltet einen Speicherpuffer und eine Speicherverwaltungseinheit. Der Speicherpuffer wird zum Zwischenspeichern der übertragenen Daten verwendet. Die Speicherverwaltungseinheit wird zum Zugreifen auf Daten im Speicherpuffer verwendet, mit: einem Speicherkonfigurationsmechanismus für die Endstelle zum Speichern der Speicherzuordnungsdaten und der maximalen Paketgrößen der Endstellen im Speicherpuffer; und einer Speicherzugriffssteuereinheit zum Zugreifen auf Daten im Speicherpuffer entsprechend den Endstellennummern von Signalen und den im Speicherkonfigurationsmechanismus der Endstelle gespeicherten Speicherzuordnungsdaten.
  • Ferner verfügt das USB-Verbundgerät über eine Anwendungs-Schnittstellenmaschine zum Übertragen von Signalen und zum Zugreifen auf Daten zwischen der allgemein verwendbaren Endstellen-Zustandsmaschine, der Speicherzugriffs-Steuereinheit und den mehreren mit der Schaltungsanordnung verbundenen Nicht-USB-Schnittstellen.
  • Auf Grundlage der Erfindung ist durch diese Folgendes geschaffen: ein Verfahren, das es ermöglicht, mehrere Funktionsgeräte mit einem USB-Host zu verbinden, mit demselben Satz von Endstellennummern und mit jeweiligen und unabhängigen USB-Adressen, mit den folgenden Schritten: aufeinanderfolgendes Konfigurieren der logischen Endstellen und der Korrelation zwischen den logischen/physikalischen Endstellen der mehreren Funktionsgeräte; Speichern der Konfigurationen der phy sikalischen Endstellen der mehreren Funktionsgeräte; Initialisieren der Adressen/Endstelle-Konfigurationen der mehreren USB-Funktionsgeräte und sequenzielles Kommunizieren mit dem USB-Host unter Verwendung eines Mikroprozessors oder Controllers, und anschließendes Zuweisen der jeweiligen logischen USB-Adressen durch den USB-Host an die mehreren Funktionsgeräte; Vergleichen der spezifischen Adresse jedes vom USB-Bus übertragenen Signals mit den logischen USB-Adressen; Fortfahren mit einer Übersetzung betreffend logische/physikalische Endstellen, wenn beim Vergleich Übereinstimmung festgestellt wird; und Übertragen des Signals an das durch die physikalische Endstelle repräsentierte Funktionsgerät.
  • Neben dem Obigen ist auf Grundlage der Erfindung durch diese Folgendes geschaffen: ein Verfahren zum Implementieren eines virtuellen Hubs, mit den folgenden Schritten Verwenden einer Adressen/Endstelle-Konfiguration als USB-Adressen/Endstelle-Konfiguration des virtuellen Hubs; Empfangen von Signalen von einem USB-Host, oder Senden von Signalen an diesen, unter Verwendung eines USB-Sendeempfängers; Verwenden einer seriellen Schnittstellenmaschine zum Ausführen des Decodierens, Codierens und der Formatwandlung der übertragenen Signale sowie zum Ausführen einer Untersuchung betreffend einen Cyclic-Redundancy-Check-Code während des Sendens/-Empfangens von Daten; Verwenden eines Mikroprozessors oder Controllers für Kommunikation mit dem USB-Host in der Funktion eines Hubs über Software und Erhalten einer USB-Adresse des virtuellen Hubs vom USB-Host; Antworten, wenn die Adresse des übertragenen Signals auf den virtuellen Hub zeigt, mit dem Mikroprozessor oder dem Controller entsprechend dem Inhalt des übertragenen Signals; und Verwalten anderer USB-Funktionsgeräte oder Rückberichten der Konfigurationen derselben an den USB-Host mit dem Mikroprozessor oder dem Controller über Software oder Firmware, um die gestufte USB-Topologie beizubehalten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Diagramm, das die Verbindungen in einem USB-System zeigt.
  • 2 ist ein schematisches Diagramm eines bekannten zusammengesetzten USB-Geräts.
  • 3a ist ein schematisches Diagramm, das die externe Struktur eines bekannten Tastatur-Verbundgeräts zeigt.
  • 3b ist ein schematisches Diagramm, das die interne Struktur eines bekannten Tastatur-Verbundgeräts zeigt.
  • 4 ist ein schematisches Diagramm, das die interne Struktur des USB-Verbundgeräts gemäß der ersten Ausführungsform der Erfindung zeigt.
  • 5 ist ein schematisches Diagramm, das die interne Struktur des USB-Verbundgeräts gemäß der zweiten Ausführungsform der Erfindung zeigt.
  • 6 ist ein schematisches Diagramm, das die interne Struktur des USB-Verbundgeräts gemäß der dritten Ausführungsform der Erfindung zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Es wird auf die 4 Bezug genommen, die ein schematisches Diagramm ist, das die erste Ausführungsform eines erfindungsgemäßen USB-Verbundgeräts zeigt. Das Verbundgerät 40 der ersten Ausführungsform der Erfindung verfügt über ein USB-Logikmodul 400 und ein Anwendungs-Funktionsmodul 500. Das USB-Logikmodul 400 im erfindungsgemäßen Verbundgerät 40 wird unter Verwendung einer Zentralisierung der Ressourcenverwaltung konzipiert, wobei mehrere Gruppen von USB-Logik, die ursprünglich in ein USB-Verbundgerät eingebaut sind, in ein einzelnes USB-Logikmodul integriert werden. Daher können mehrere Funktionsblöcke über dieselbe Gruppe von USB-Logikschaltungen mit dem USB-Bus verbunden werden. Die Hardwarevergeudung, wie sie durch herkömmliche USB-Verbundgeräte hervorgerufen wird, und der Nachteil, wie er herkömmlichen zusammengesetzten USB-Geräten eigen ist, die die Standardtreiber nicht verwenden können, sind überwunden.
  • Bei der ersten Ausführungsform kann das USB-Logikmodul 400 im erfindungsgemäßen Verbundgerät 40 entsprechend den Funktionen in fünf Blöcke unterteilt werden: einen Block 410 der physikalischen USB-Schicht, einen Block 420 der USB-Verbindungsschicht, eine Speicherverwaltungseinheit 430, einen Speicherpufferblock 440 und eine Anwendungs-Kommunikation 450.
  • Der Block 410 der physikalischen Schicht des USB-Logikmoduls 400 bildet den Anschlusspunkt, an dem das Verbundgerät 40 körperlich mit dem USB-Bus verbunden ist. Er verfügt über einen USB-Sendeempfänger 411 und eine serielle Kommunikation (SIE) 412.
  • Der Block 420 der Verbindungsschicht des USB-Logikmoduls 400 wird dazu verwendet, USB-Standard-Kommunikationsprotokolle auszuführen, und er enthält eine allgemein verwendbare Endstellen-Zustandsmaschine 421, ein Endstellen-Variablenregister 422, einen Adressen/Endstelle-Konfigurationsmechanismus 423 und einen Endstellen-Konfigurationsmechanismus 424.
  • Die Speicherverwaltungseinheit 430 ist dafür zuständig, Daten entsprechend den vom Block 420 der USB-Verbindungsschicht und der Anwendungs-Kommunikation 450 empfangenen Signale in den Speicherpuffer 440 einzuspeichern oder Daten aus diesem zu lesen. Die Speicherverwaltungseinheit 430 verfügt über einen Speicher-Konfigurationsmechanismus der Endstelle 431 und eine Speicherzugriffs-Steuereinheit 432.
  • Die Anwendungs-Kommunikation 450 ist für die Kommunikation mit dem Block 420 der Verbindungsschicht, der Speicherverwaltungseinheit 430 und dem Anwendungs-Funktionsmodul 500 zuständig, und sie wird dazu verwendet, das Anwendungs-Funktionsmodul 500 über Ereignisse oder einen Interrupt über den Zustand auf dem USB-Bus zu informieren. Dann führt das Anwendungs-Funktionsmodul 500 mit der Anwendungs-Kommunikation 450 auf Grundlage des Ereignisses eine Datenübertragung aus, um eine spezifische Funktion zu realisieren. Die Anwendungs-Kommunikation 450 verfügt über ein Ereignissteuerungsmodul 451, ein Steuer-Schnittstellenmodul 452 und ein allgemein verwendbares Datenpfadmodul 453.
  • Was das Anwendungs-Funktionsmodul 500 betrifft, so besteht dieses aus einem Mikroprozessor 510 und einer PS/2-Schnittstelle 521, einer Schnittstelle 522 mit seriellem Port und einer IDE-Schnittstelle 521. Im erfindungsgemäßen Verbundgerät kann auch ein Mikrocontroller die Funktion des Mikroprozessors implementieren.
  • Oben ist im Wesentlichen die interne Struktur des Verbundgeräts 40 der Ausführungsform beschrieben. Nun werden der Betrieb und die Funktionen der internen Struktur des Geräts im Einzelnen veranschaulicht, wobei auf die 4 Bezug genommen wird.
  • Zuallererst wird, hinsichtlich des Anwendungs-Funktionsmoduls 500, wenn ein Tastaturgerät mit der PS/2-Schnittstelle 521 verbunden wird, ein Mausgerät mit der Schnittstelle 522 mit seriellem Port verbunden und ein Festplattengerät wird mit der IDE-Schnittstelle 523 verbunden, woraufhin der Mikroprozessor 510 einen Satz einer Adressen/Endstelle-Konfiguration, der eine vorbestimmte Adressen/Endstelle beinhaltet, für das Tastaturgerät, das Mausgerät und das Festplattengerät aufeinanderfolgend entsprechend den Konfigurationen zuweist, wie sie im Adressen/Endstelle-Konfigurationsmechanismus 423 des Blocks 420 der Verbindungsschicht vorbestimmt sind. Zum Beispiel weist er dem Tastaturgerät den Satz der Adressen/Endstelle-Konfiguration "2" zu, mit der vorbestimmten Adresse 2 und logischen Endstellen 0, 1 und 2; er weist dem Mausgerät den Adressen/Endstelle-Satz "3" mit der vorbestimmten Adresse 3 und den logischen Endstellen 0 und 1 zu; und dann weist er dem Festplattengerät einen Satz einer Adressen/Endstelle-Konfiguration "4" mit der vorbestimmten Adresse 4 und den logischen Endstellen 0, 1 und 2 zu. Außerdem weist der Mikroprozessor 410, da das erfindungsgemäße Verbundgerät 40 über die Funktion eines "virtuellen Hubs" verfügt, dem virtuellen Hub auch einen Satz einer Adressen/-Endstelle-Konfiguration "1" mit der vorbestimmten Adresse und den logischen Endstellen 0 und 1 zu. Die Funktion des virtuellen Hubs, wie sie beim erfindungsgemäßen Verbundgerät verwendet wird, wird nachfolgend erläutert.
  • Dann definiert der Mikroprozessor 510 im Speicherpuffer 440 für jede der Endstellen der Geräte über das Steuer-Schnittstellenmodul 452 in der Anwendungs-Kommunikation 450 einen Pufferblock. Die Pufferblöcke werden als Datenregisterblöcke der Endstellen beim Übertragungsprozess verwendet. Indessen werden die Konfigurationsdaten jeder Endstelle im Speicherpuffer 440 in den Speicher-Konfigurationsmechanismus der Endstelle 431 eingespeichert. Der Speicher-Konfigurationsmechanismus der Endstelle 431 wird auch dazu verwendet, den Datenstatus der Endstellen in deren Datenregisterblöcken zu registrieren.
  • Ferner wird der Mikroprozessor 510 über das Steuer-Schnittstellenmodul 452 mit der allgemein verwendbaren Endstellen-Zustandsmaschine 421 im Block 420 der Verbindungsschicht verbunden. Der Mikroprozessor 510 speichert die Konfigurationen jeder Endstelle, wie die Endstellentypen oder die maximalen Paketgrößen, über die allgemein verwendbare Endstellen-Zustandsmaschine 421 in den Endstellen-Konfigurationsmechanismus 424 im Block 420 der Verbindungsschicht ein.
  • Wenn das Verbundgerät am USB-Bus angebracht wird, kann der USB-Host erkennen, dass ein neues Gerät am Bus angebracht wurde, und er sendet eine Reihe von USB-Befehlen an das Verbundgerät, um es zu erkennen und zu konfigurieren. Dabei wandelt der Sendeempfänger 411 im Block 410 der physikalischen Schicht das vom USB-Bus empfangene Signal in ein digiles Logikpegelsignal um, und dann überträgt er das Signal an die serielle Schnittstellenmaschine 412. Der Sendeempfänger 411 kann auch das von der seriellen Schnittstellenmaschine 412 empfangene digitale Signal in ein USB-Standardsignal wandeln, um das Signal an den USB-Bus zu senden.
  • Die Hauptfunktionen der seriellen Schnittstellenmaschine 412 sind die folgenden: im Empfangsmodus ist sie für Folgendes zuständig: Decodieren der übertragenen Signale, Umsetzen des seriellen USB-Datenflusses in einen parallelen Datenfluss, Ausführen der Untersuchung des Cyclic-Redundancy-Check-Codes für Daten zum Bestimmen der Genauigkeit der Daten, und Wechseln der vom USB-Bus empfangenen Signale in Logikpakete, die dann an die allgemein verwendbare Endstellen-Zustandsmaschine 421 im Block 420 der USB-Verbindungsschicht übertragen werden; dagegen ist die serielle Schnittstellenmaschine 412 im Sendemodus für Folgendes zuständig: Empfangen von Daten vom Block 420 der Verbindungsschicht, Umwandeln des parallelen USB-Datenflusses in einen seriellen Datenfluss, der dann codiert wird, Berechnen der Untersuchung mittels des Cyclic- Redundancy-Check-Codes und Erzeugen eines Synchronisiersignals, mit einem Wechsel in USB-Signale über den USB-Sendeempfänger 411 und Übertragung an den USB-Holt.
  • Wenn die allgemein verwendbare Endstellen-Zustandsmaschine 421 im Block 420 der Verbindungsschicht den USB-Befehl vom USB-Host empfängt, sendet er das Signal an das Ereignissteuermodul 451 in der Anwendungs-Schnittstellenmaschine 450, die wiederum das Signal an den Mikroprozessor 510 sendet. Dabei sendet der Mikroprozessor die vorbestimmte Endstelle des virtuellen Hubs und die Konfiguration desselben an den USB-Host zurück, so dass dieser das Verbundgerät 40 als USB-Hubgerät betrachtet und dem virtuellen Hub eine USB-Adresse zuweist. Dann wird die durch den USB-Host zugewiesene USB-Adresse zur vorbestimmten Adresse "1" des virtuellen Hubs hinzugefügt, und sie wird gemeinsam mit der entsprechenden logischen Endstelle im Adressen/Endstelle-Konfigurationsmechanismus 423 abgespeichert.
  • Die Hauptfunktionen des Adressen/Endstelle-Konfigurationsmechanismus 423 bestehen darin, die Adresse mit der entsprechenden Endstelle jedes mit dem Verbundgerät verbundenen Funktionsgeräts und einen Satz aus der Adresse und den entsprechenden Endstellen des virtuellen Hubs zu speichern. Im USB-Standard ausgedrückt, ist die vordere Kennungsinformation jedes übertragenen Datenpakets die Adresse und das Übertragungstoken, wie zum Definieren des Übertragungstyps verwendet. Daher vergleicht, wenn der Block 410 der physikalischen Schicht im Verbundgerät 40 die Meldung vom USB-Bus empfängt, die allgemein verwendbare Endstellen-Zustandsmaschine 421 im Block 420 der Verbindungsschicht die im Adressen/Endstelle-Konfigurationsmechanismus 423 gespeicherten Adressen/Endstelle-Daten mit der Kennungsinformation der übertragenen Daten, um zu ermitteln, ob das Zielgerät des Datenpakets eine der mehreren Funktionen in Zusammenhang mit dem Verbundgerät 40 ist.
  • Wie in den vorstehenden Ausführungen beschrieben, verschafft sich ein Verbundgerät 40, wenn es mit dem USB-Bus verbunden wird, als Erstes die durch den USB-Host zugewiesene Adresse des virtuellen Hubs. Dann frägt der USB-Host den Zustand des virtuellen Hubs auf Rundrufweise periodisch ab. Da die Adressen/Endstelle-Information des virtuellen Hubs bereits im Adressen/Endstelle-Konfigurationsmechanismus 423 abgespeichert ist, kann die Adressen/Endstelle-Information am Vorderende der Meldung, die der USB-Host an den Hub sendet, z. B. ein Abfragebefehl, durch die allgemein verwendbare Endstellen-Zustandsmaschine 421 erkannt werden. Wenn geklärt ist, dass die am Vorderende gesendete Information dieselbe wie die in der Adresse/Endstelle "1" enthaltene Adressen/-Endstelle-Information ist, d. h., dieselbe wie die Adressen/-Endstelle-Information des virtuellen Hubs, wird diese Meldung durch das Ereignissteuermodul 451 an den Mikroprozessor 510 geliefert. Wenn der Mikroprozessor 510 das der Adressen/-Endstelle-Konfiguration "1" entsprechende Ereignis empfängt, erkennt er, dass das Datenpaket zum virtuellen Hub gehört, und er erzeugt abhängig vom Inhalt der Meldung eine Antwort. Beim Verbundgerät 40 der Ausführungsform fehlt eine Schaltungsanordnung, die ausschließlich für den USB-Hub konzipiert wäre, und so werden alle Funktionen in Zusammenhang mit dem Hub simuliert und durch den Mikroprozessor 510 durch Software oder Firmware ausgeführt.
  • Daher wirkt bei jedem vom USB-Host ausgeführten Abfragevorgang der Mikroprozessor 510 als Hub, und er berichtet über das Steuer-Schnittstellenmodul 452, die allgemein verwendbare Endstellen-Zustandsmaschine 421, die serielle Schnittstellenmaschine 412 und den USB-Sendeempfänger 411 kontinuierlich zur Erweiterung neuer Funktionen an den USB-Host zurück. Tastatur-, Maus- und Festplattenfunktionen werden im USB-System nach der Erkennung hinzugefügt, und ihnen wird vom USB-Host eine USB-Adresse zugewiesen. Dagegen erscheint es dem USB-Host so, dass die Funktionsgeräte, d. h. die Tastatur, die Maus und die Festplatte, mit dem virtuellen Hub verbunden sind, und er hält die Verbindungsbeziehung nach Bedarf zwischen dem Hub und den Funktionsgeräten im USB-System aufrecht. Demgemäß verfügt jede der Funktionen der Tastatur, der Maus und der Festplatte über eine eigene unabhängige USB-Adresse, und indessen wird die Adresse mit den entsprechenden Endstellen jeder Funktion im Adressen/Endstelle-Konfigurationsmechanismus 423 abgespeichert.
  • Außerdem wird im Block 420 der Verbindungsschicht ein Endstellen-Variablenregister 422 dazu verwendet, die Zustände verschiedener Endstellen abzuspeichern, für die dann die allgemein verwendbare Endstellen-Zustandsmaschine 421 Zugriffs- und Aktualisierungsvorgänge ausführt. Demgemäß liest, wenn der USB-Host Abfragebefehle zu den Zuständen verschiedener Geräte zum virtuellen Hub des Verbundgeräts 40 richtet, der Mikroprozessor 510 die jüngsten Zustände verschiedener Geräte aus dem Endstellen-Variablenregister 422 über die allgemein verwendbare Endstellen-Zustandsmaschine 421 aus, um dem USB-Host zu antworten. Daher sieht der USB-Host das Verbundgerät 40 als USB-Hubgerät in Verbindung mit einem Tastaturgerät, einem Mausgerät und einem Festplattengerät an. D. h., dass das Verbundgerät 40 immer noch die gestaffelte Struktur gemäß dem USB-Standard beibehält.
  • Die obige Beschreibung betrifft die Schnittstelleninitialisierung, wie sie dann ausgeführt wird, wenn das Verbundgerät 40 der Ausführungsform mit dem USB-Bus verbunden wird, und sie betrifft das Verfahren, gemäß dem das Verbundgerät 40 einen Hub simuliert. Nachfolgend werden die Wechselwirkungen zwischen dem Block 420 der Verbindungsschicht und der Speicherverwaltungseinheit 430, dem Speicherpuffer 440 und der Anwendungs-Schnittstellenmaschine 450 sowie die Funktionen einzelner Blöcke unter Verwendung des Datenübertragungsprozesses detailliert veranschaulicht.
  • Zuallererst verwendet, wenn der Block 410 der physikalischen Schicht ein Datenpaket vom USB-Host empfängt, die allgemein verwendbare Endstellen-Zustandsmaschine 421 primär die im Adressen/Endstelle-Konfigurationsmechanismus 423 gespeicherte Adressen/Endstelle-Information, um sie mit der Kennungsinformation am Vorderende der Daten zu vergleichen, und sie informiert den Block 410 der physikalischen Schicht über das Ergebnis. Wenn die Adresse und die Endstellennummer übereinstimmen, d. h., wenn geklärt wird, dass das Zielgerät für die Daten eine der mehreren Funktionen im Verbundgerät der Ausführungsform ist, erfasst die allgemein verwendbare Endstellen-Zustandsmaschine 421 die Endstellenkonfiguration für die Endstellenzahl aus dem Endstellen-Konfigurationsmechanismus 424, sie liest den früheren Zustand der Endstelle aus dem Endstellen-Variablenregister 422, und sie kommuniziert dann mit dem USB-Host und überträgt Daten entsprechend dem Endstellentyp, z. B. dem Interrupt-, dem Großmengen-, dem isochronen und dem Steuerungstyp, über den Block 410 der physikalischen Schicht. Gleichzeitig, wenn der Vergleich betreffend die Adresse und die Endstelle exakt ist, informiert die allgemein verwendbare Endstellen-Zustandsmaschine 421 die Speicherverwaltungseinheit 430 und die Anwendungs-Schnittstellenmaschine 450 über die Adressen/Endstelle-Konfigurationsnummer und die Endstellennummer.
  • Nachfolgend werden die Funktionen der Speicherverwaltungseinheit 430 und der Anwendungs-Schnittstellenmaschine 450 beschrieben.
  • Die Speicherverwaltungseinheit 430 beinhaltet den Speicher-Konfigurationsmechanismus der Endstelle 431 und die Spei cherzugriffs-Steuereinheit 432.
  • Der Speicher-Konfigurationsmechanismus der Endstelle 431 wird dazu verwendet, den verteilten Pufferblock der individuellen Endstelle und den Datenstatus derselben im Speicherpuffer 440 abzuspeichern. Wenn die Speicherzugriffs-Steuereinheit 432 die Impulssignale, die zugehörige Adressen/Endstelle-Konfigurationsnummer und die zugehörige Endstellennummer von der allgemein verwendbaren Endstellen-Zustandsmaschine 421 empfängt, lädt sie die Konfiguration und die Variablen der Endstelle, und dann ruft sie den aktuellen Datenstatus der Endstelle aus dem Speicherpuffer-Konfigurationsmechanismus der Endstelle 431 ab und berichtet an die allgemein verwendbare Endstellen-Zustandsmaschine 421, die dann ermittelt, wie mit dem USB-Host zu kommunizieren sei. Wenn die Daten hochgeladen werden können, liest die Speicherzugriffs-Steuereinheit 431 die Daten aus dem Speicherpufferblock 440 aus und lädt sie über die allgemein verwendbare Endstellen-Zustandsmaschine 421 in den USB-Host hoch; wenn die Daten heruntergeladen werden können, sendet die allgemein verwendbare Endstellen-Zustandsmaschine 421 dieselben an die Speicherzugriffs-Steuereinheit 432, und die Daten werden dann in den entsprechenden Pufferblock der Endstelle im Speicherpufferblock 440 eingespeichert. Ferner informiert die Speicherverwaltungseinheit 432 gleichzeitig das Ereignissteuermodul 451 in der Anwendungs-Schnittstellenmaschine 450 über den Datenstatus der Daten im Pufferblock.
  • Die Anwendungs-Schnittstellenmaschine 450 beinhaltet das Ereignissteuermodul 451, das Steuer-Schnittstellenmodul 452 und das allgemein verwendbare Datenpfadmodul 453.
  • Das darin enthaltene Ereignissteuermodul 451 wird dazu verwendet, Ereignisse von der allgemein verwendbaren Endstellen-Zustandsmaschine 421 und der Speicherzugriffs-Steuerein heit 432 zu empfangen. Dann informiert es den Mikroprozessor 510 im Anwendungsfunktionsmodul 500 nach dem Codieren der Ereignisse. Der Mikroprozessor 510 kann eine Antwort entsprechend der Adressen/Endstelle-Konfigurationsnummer, dem Ereignistyp, dem USB-Befehl und den empfangenen Daten oder der Datenanforderung erstellen.
  • Das Steuer-Schnittstellenmodul stellt drei Hauptfunktionen bereit, von denen die eine diejenige ist, die verschiedenen oben genannten Konfigurationen, die Adressen/Endstelle-Konfigurationsnummer, den Endstellentyp und z. B. den Pufferblock während der Schnittstelleninitialisierung der mehreren Funktionen des Anwendungsfunktionsmoduls 500 zuzuordnen; eine andere Funktion besteht im Erleichtern der Kommunikation des Mikroprozessors 510 mit dem USB-Host dadurch, dass der Block 420 der USB-Verbindungsschicht angewiesen wird, erforderliche Maßnahmen zu ergreifen oder die Zustände verschiedener Endstellen zu lesen, um die erforderlichen Antworten festzulegen; die andere Funktion besteht darin, dass der Mikroprozessor 510 Daten mit der Speicherverwaltungseinheit 430 über dieses Modul austauschen kann, wobei er z. B. USB-Befehlsparameter liest, Befehlstypen decodiert oder vom USB-Host angeforderte Daten einträgt.
  • Das allgemein verwendbare Datenpfadmodul 453 wird dazu verwendet, die mehreren Funktionen des Anwendungsfunktionsmoduls 500 zu aktivieren, um einen Massendatenzugriff auszuführen. Für bestimmte Ausführungen von Funktionen, wie für das Lesen von Daten von einer Festplatte oder für das Übertragen von Daten, ermöglicht das Modul, dass die Funktionen die Daten im Speicherpuffer direkt über die Speicherverwaltungseinheit 430 lesen oder abspeichern, ohne dass der Mikroprozessor 510 zwischengeschaltet wäre, um so den Übertragungswirkungsgrad zu optimieren.
  • Es wurde bereits angegeben, dass dann, wenn das Vergleichsergebnis betreffend die von der allgemein verwendbaren Endstellen-Zustandsmaschine 421 verarbeitete Adressen/Endstelle-Nummer Übereinstimmung mit der im Adressen/Endstelle-Konfigurationsmechanismus 424 abgespeicherten Information anzeigt, die allgemein verwendbare Endstellen-Zustandsmaschine 421 die Speicherverwaltungseinheit 430 und die Anwendungs-Schnittstellenmaschine 450 über die Adressen/Endstelle-Konfigurationsnummer und die Endstellennummer informiert. In der Speicherverwaltungseinheit 430 ist die Speicherzugriffs-Steuereinheit 432 dafür zuständig, die durch die allgemein verwendbare Endstellen-Zustandsmaschine 421 gesendete Meldung zu empfangen. Indessen ruft die Speicherzugriffs-Steuereinheit 432 abhängig von der Meldung die Konfiguration der Endstelle im Speicherpufferblock 440 vom Puffer-Konfigurationsmechanismus der Endstelle 431 ab, um die anschließend von der allgemein verwendbaren Endstellen-Zustandsmaschine 421 gesendeten Daten in den der Endstelle entsprechenden Pufferblock einzuspeichern.
  • In der Anwendungs-Schnittstellenmaschine 450 dient das Ereignissteuermodul 451 zum Empfangen der von der allgemein verwendbaren Endstellen-Zustandsmaschine 421 gesendeten Meldung. Dann überträgt das Ereignissteuermodul 451 die Meldung einschließlich der Adressen/Endstelle-Konfigurationsnummer an den Mikroprozessor 510. Schließlich erkennt der Mikroprozessor 510 die durch die Adressen/Endstelle-Konfigurationsnummer repräsentierte Funktion. Wenn die entsprechende Funktion der Adressen/Endstelle-Konfigurationsnummer dem Festplattengerät entspricht, kann der Mikroprozessor 510 über das Steuerschnittstellenmodul 452 mit der Speicherzugriffs-Steuereinheit 432 kommunizieren und dann Daten aus dem Speicherpufferblock 440 lesen und sie an das Festplattengerät zurück senden.
  • Außerdem können Funktionsgeräte, z. B. das Festplattengerät, das allgemein verwendbare Datenpfadmodul 453 dazu verwenden, direkt mit der Speicherzugriffs-Steuereinheit 432 zu kommunizieren und direkt auf Massedaten aus dem Speicherpufferblock 440 zuzugreifen. Wie bereits angegeben, kann das Design des allgemein verwendbaren Datenpfadmoduls 453 den Übertragungswirkungsgrad effektiv verbessern.
  • Die obige Beschreibung bildet eine Veranschaulichung der internen Struktur des Verbundgeräts und der Funktionen derselben bei der ersten Ausführungsform der Erfindung. Aufgrund des Designs der ersten Ausführungsform der Erfindung kann das Verbundgerät die Funktion eines USB-Hubs durch seine interne integrierte Schaltung simulieren, und es ermöglicht es, dass die mehreren mit ihm verbundenen Funktionsgeräte über ihre unabhängigen USB-Adressen verfügen. Daher betrachtete der USB-Host das Verbundgerät als Kombination eines USB-Hubs, der mit mehreren Funktionsgeräten verbunden ist. Im Ergebnis kann jedes mit dem Verbundgerät der Ausführungsform verbundene Funktionsgerät die in das System eingebetteten Standardtreiber verwenden, um so Plug-and-Play-Funktion zu erzielen. Ferner ist die USB-Logikschaltung des Verbundgeräts der Ausführungsform unter Verwendung einer Zentralisierung der Ressourcenverwaltung konzipiert, wobei mehrere USB-Logikgruppen, die ursprünglich innerhalb eines USB-Verbundgeräts existierten, zu einem einzelnen USB-Logikmodul integriert sind, so dass die mehreren Funktionsblöcke über denselben Satz von USB-Logikschaltkreisen mit dem USB-Bus verbunden werden können. Das Design behebt den Nachteil der Wiederholung von Schaltkreisen bei bekannten Verbundgeräten, und es senkt gleichzeitig wesentlich die zugehörigen Herstellkosten.
  • Nun wird auf die 5 Bezug genommen, die das schematische Diagramm eines USB-Verbundgeräts gemäß der zweiten Ausfüh rungsform der Erfindung zeigt. Das Verbundgerät 50 verfügt über ein USB-Logikmodul 600 und ein Anwendungsfunktionsmodul 700. Das USB-Logikmodul 600 des Verbundgeräts der Ausführungsform ist der Struktur nach dem bei der ersten Ausführungsform ähnlich, da beide über den Block 610 der physikalischen Schicht, den Block 620 der Verbindungsschicht, die Speicherverwaltung 630, den Speicherpuffer 640 und die Anwendungs-Schnittstellenmaschine 650 verfügen.
  • Der Block der physikalischen Schicht beinhaltet einen USB-Sendeempfänger 611 und eine serielle Schnittstellenmaschine 612, und seine Funktion ist vollständig dieselbe wie bei der ersten Ausführungsform, weswegen sie nicht weiter ausführlich beschrieben wird.
  • Jedoch ist der Block 620 der Verbindungsschicht bei der Ausführungsform geringfügig verschieden von dem bei der ersten Ausführungsform. Gemäß der 5 verfügt der Block 620 der Verbindungsschicht über ein Übersetzungsmodul 624 für logische/physikalische Endstellen sowie einen Konfigurationsmechanismus 625 für eine physikalische Endstelle, neben einer allgemein verwendbaren Endstellen-Zustandsmaschine 621, einem Endstellen-Variablenregister 622 und einem Adressen/-Endstelle-Konfigurationsmechanismus 623.
  • Indessen ist in der Speicherverwaltungseinheit 630 der Ausführungsform neben der Speicherzugriffs-Steuereinheit 632 ein Speicher-Konfigurationsmechanismus einer physikalischen Endstelle 631 dazu verwendet, den Speicher-Konfigurationsmechanismus der Endstelle 431 der ersten Ausführungsform zu ersetzen.
  • In der Figur ist es auch ersichtlich, dass das Anwendungsfunktionsmodul 700 der Ausführungsform über insgesamt sieben Schnittstellen verfügt: eine PS/2-Schnittstelle 721, eine Diskettenlaufwerk-Schnittstelle 722, zwei Festplatten-Schnittstellen 723 und 724, zwei Schnittstellen 725 und 726 mit seriellen Ports und eine Parallelport-Schnittstelle 727. Für die Typen und die Anzahl der mit dem Verbundgerät bei der vorliegenden Ausführungsform der Erfindung verbundenen Funktionsgeräte besteht keine Beschränkung auf die unveränderliche Zuordnungsbeziehung zwischen der Adresse und den Endstellen wie bei der ersten Ausführungsform, bei der nur eine eingeschränkte Anzahl spezieller Funktionsgeräte mit dem Verbundgerät verbunden werden kann. Bei der ersten Ausführungsform nutzt der Mikroprozessor 510 die Adressen/Endstelle-Konfigurationen der Funktionsgeräte, einschließlich der Adresse und der Endstellennummern, um jede Funktion zu erkennen und die Pufferblöcke zuzuordnen. Im Ergebnis schränken die Konfigurationen, wie sie verschiedenen Funktionsgeräten zugewiesen sind, z. B. die Adressen/Endstelle-Konfiguration "2" mit der vorbestimmten Adresse 2 und den festen logischen Endstellen 1, 2 und 3 den Typ der Funktionsgeräte ein, mit denen verbunden werden kann. Daher sind bei der ersten Ausführungsform der Typ und die Anzahl der Funktionsgeräte, mit denen das Anwendungsfunktionsmodul verbindbar ist, eingeschränkt.
  • Durch die zweite Ausführungsform der Erfindung ist ein Verfahren geschaffen, das es ermöglicht, dass das Verbundgerät 50 nicht nur den integrierten USB-Logikschaltkreis wie bei der ersten Ausführungsform und den Vorteil der USB-"Plugand-Play"-Funktion aufweist, sondern es ist auch möglich, die Einschränkung hinsichtlich des Typs und der Anzahl der angeschlossenen Funktionsgeräte zu überwinden. Nachfolgend werden die Eigenschaften der zweiten Ausführungsform beschrieben.
  • Als Erstes ordnet der im Anwendungsfunktionsmodul 700 enthaltene Mikroprozessor 710 jedem der Funktionsgeräte, wie sie mit den sieben Schnittstellen verbunden sind, entsprechend ihren jeweiligen Anforderungen einen Satz physikalischer Endstellennummern zu. Zum Beispiel ordnet er dem mit der PS/2-Schnittstelle 721 verbundenen Mausgerät die physikalischen Endstellennummern "0" und "1" zu, und diese physikalischen Endstellennummern entsprechen den logischen Endstellennummern "0" und "1" des Mausgeräts; er ordnet dem mit der Diskettenlaufwerk-Schnittstelle 722 verbundenen Diskettengerät die physikalischen Endstellennummern "2", "3" und "4" zu, und die physikalischen Endstellennummern entsprechen den logischen Endstellennummern "0", "1" und "2" des Diskettengeräts; und er ordnet dem mit der Festplatten-Schnittstelle 723 verbundenen Festplattengerät die physikalischen Endstellennummern "5", "6" und "7" zu, und die physikalischen Endstellennummern entsprechen den logischen Endstellen "0", "1" und "2" des Festplattengeräts, usw. Außerdem ordnet der Mikroprozessor 710 auch dem virtuellen Hub einen Satz physikalischer Endstellennummern zu, so dass das Verbundgerät 50 sie während des Hub-Simulationsprozesses verwenden kann. Indessen speichert der Mikroprozessor 710 die physikalischen Endstellenkonfigurationen jedes Funktionsgeräts, wie den Endstellentyp und die maximale Paketgröße, in den physikalischen Endstellen-Konfigurationsmechanismus 625 im Block 620 der Verbindungsschicht über das Steuerschnittstellenmodul 625 und die allgemein verwendbare Endstellen-Zustandsmaschine 621 ein.
  • Das entsprechende, oben beschriebene Verfahren betreffend physikalische und logische Endstellen erlaubt es, den Endstellentypen und -nummern entsprechend den Eigenschaften der Funktionsgeräte verschiedene Adressen, oder Funktionsgeräte, wahlfrei zuzuordnen. Daher ist der Anwendungsbereich des Verbundgeräts 50 gemäß der zweiten Ausführungsform erweitert.
  • Bei der Ausführungsform ist die "physikalische Endstellennummer " die Kennungsinformation, die vom Mikroprozessor 710 dazu verwendet wird, verschiedene Funktionsgeräte zu erkennen, und sie ist nicht die Adressen/Endstelle-Konfiguration einschließlich der Adresse und der Endstellennummer, die bei der ersten Ausführungsform als Kennungsinformation für verschiedene Funktionsgeräte betrachtet wird.
  • Die folgenden Schritte sind denen bei der ersten Ausführungsform ähnlich, und der Mikroprozessor 710 definiert, über das Steuerschnittstellenmodul 652 in der Anwendungs-Schnittstellenmaschine 650, Pufferblöcke für die physikalischen Endstellen im Pufferspeicher 640 entsprechend den physikalischen Endstellennummern der Funktionsgeräte. Wenn dieser Prozess abgeschlossen ist, speichert er die Konfigurationsdaten verschiedener physikalischer Endstellen im Pufferspeicher 640 in den Speicher-Konfigurationsmechanismus der physikalischen Endstelle 631 ein.
  • Wenn das Verbundgerät 50 mit dem USB-Bus verbunden wird, erkennt der USB-Host, dass mit dem Bus ein neues Gerät verbunden ist, und er sendet eine Reihe von USB-Befehlen, um das Gerät gleichzeitig zu erkennen und zu konfigurieren. Zu diesem Zeitpunkt sendet der Block 610 der physikalischen Schicht die Meldung an die allgemein verwendbare Endstellen-Zustandsmaschine 621 im Block 620 der Verbindungsschicht, und dann sendet die allgemein verwendbare Endstellen-Zustandsmaschine 621 die Meldung an das Ereignissteuermodul 651, das die Meldung weiter an den Mikroprozessor 710 sendet. Zu diesem Zeitpunkt definiert der Mikroprozessor 710 eine Gruppe physikalischer Endstellennummern als logische Endstelle eines virtuellen Hubs, und er sendet die logische Endstelle und die Konfigurationen des virtuellen Hubs zurück an den USB-Holt. Daher betrachtet der USB-Host das Verbundgerät 50 als Hubgerät, und er weist dem virtuellen Hub eine USB-Adresse zu. Dann werden die USB-Adresse des virtuellen Hubs und die zugehörige Entsprechung der logischen Endstelle und der physikalischen Endstelle gemeinsam in den Adressen/-Endstelle-Konfigurationsmechanismus 623 eingespeichert.
  • Im Block 620 der Verbindungsschicht der Ausführungsform wird das Endstellen-Variablenregister 622 dazu verwendet, die Zustände verschiedener physikalischer Endstellen abzuspeichern, die dann durch die allgemein verwendbare Endstellen-Zustandsmaschine 621 Zugriffs- und Aktualisierungsvorgänge erfahren. Hinsichtlich des Moduls 624 für logische/physikalische Umsetzung gilt, dass dieses dazu verwendet wird, mit der Übersetzung der logischen/physikalischen Endstelle fortzufahren, um es dem Mikroprozessor 710 zu erleichtern, das durch die physikalische Endstellennummer repräsentierte Funktionsgerät zu erkennen.
  • Danach frägt der USB-Host periodisch den Zustand des virtuellen Hubs auf Rundrufweise ab. Da die logische Adresse/-die Endstelle bereits im Adressen/Endstelle-Konfigurationsmechanismus 623 gespeichert ist, wird die Adressen/Endstelle-Information am Vorderende der vom USB-Host an den virtuellen Hub gesendeten Meldung, z. B. einem Abfragebefehl, durch die allgemein verwendbare Endstellen-Zustandsmaschine 621 erkannt. Wenn bestätigt ist, dass die logische Adresse/-die Endstelle mit dem virtuellen Hub übereinstimmt, übersetzt das Modul 624 für logische/physikalische Übersetzung die logische Endstelle in ihre entsprechende physikalische Endstelle. Dann informiert die allgemein verwendbare Endstellen-Zustandsmaschine 621 den Mikroprozessor 710 mittels des Ereignissteuermoduls 651 über die physikalische Endstelle. Im Verbundgerät 50 dieser Ausführungsform existiert keine Schaltungsanordnung, die ausschließlich für den USB-Hub konzipiert wäre, und daher werden alle Aktionen in Zusammenhang mit Hubfunktionen vom Mikroprozessor 710 mittels Software oder Firmware simuliert und ausgeführt.
  • Bei jeder Abfrage kommuniziert der Mikroprozessor 710 in der Rolle eines Hubs mit dem USB-Host, und er berichtet aufeinanderfolgend für die neu angeschlossenen Geräte an den USB-Host. Entsprechend der Meldung startet der USB-Host die Durchnummerierung der Funktionsgeräte, und er spezifiziert für jedes Funktionsgerät nach dem Durchzählen eine USB-Adresse. Dann werden die USB-Adresse und die Korrelation zwischen der logischen Endstelle und der zugehörigen physikalischen Endstelle im Adressen/Endstelle-Konfigurationsmechanismus 623 abgespeichert. Zum Beispiel reagiert der Mikroprozessor 710 auf die Abfrage durch den USB-Host dadurch, dass er die physikalischen Endstellennummern 2, 3 und 4 mit den logischen Endstellen 0, 1 und 2 eines Diskettenlaufwerks in Übereinstimmung bringt, um eine USB-Adresse zu erfassen; und dann antwortet er auf ähnliche Weise auf die Abfrage des USB-Hosts dadurch, dass er die physikalischen Endstellennummern 5, 6 und 7 mit den logischen Endstellennummern 0, 1 und 2 eines Hardwaregeräts in Übereinstimmung bringt, um eine USB-Adresse zu erfassen. Da die USB-Adresse und die Entsprechung zwischen ihrer logischen Endstelle und der physikalischen Endstelle jedes Funktionsgeräts im Adressen/Endstelle-Konfigurationsmechanismus 623 abgespeichert werden, kann der Mikroprozessor 710 immer noch genau das exakte Funktionsgerät erkennen, das durch jede Adressen/Endstelle-Information repräsentiert ist, und zwar entsprechend der USB-Adresse und der Korrelation zwischen der logischen Endstelle und der zugehörigen physikalischen Endstelle, obwohl die mehreren Funktionsgeräte, die mit dem Verbundgerät bei der Ausführungsform verbunden sind, dieselben logischen Endstellennummern verwenden. Anders gesagt, ermöglichen es die Konfiguration und die Übersetzung logischer/physikalischer Endstellen, wie durch die Ausführungsform vorgeschlagen, dem Verbundgerät, den Typ und die Anzahl von Funktionsgeräten un eingeschränkt abhängig von den Erfordernissen des Benutzers zu erweitern.
  • Im Ergebnis zeigt das USB-Verbundgerät der Ausführungsform nicht nur die Vorteile des Verbundgeräts der ersten Ausführungsform, sondern es ist auch mit einer Erweiterungseigenschaft versehen, die den Gebrauch des USB-Verbundgeräts umfassender und zweckdienlicher macht.
  • Es wird auf die 6 Bezug genommen, die das schematische Diagramm eines USB-Verbundgeräts gemäß der dritten Ausführungsform der Erfindung zeigt. Aus der Figur ist es erkennbar, dass die interne Hauptstruktur des USB-Verbundgeräts 60 dieser Ausführungsform dieselbe wie die bei der zweiten Ausführungsform ist. Der Unterschied zwischen den beiden besteht darin, dass das USB-Verbundgerät 60 dieser Ausführungsform zusätzlich über einen Repeater 920 und eine Baugruppe einer Anschließ/Trenn-Erkennungsschaltung 930 aufweist. Der Repeater 920 und die Anschließ/Trenn-Erkennungsschaltung werden nachfolgend mittels der 6 veranschaulicht.
  • Aus der Figur ist es erkennbar, dass die Meldung von einem USB-Host über den USB-Sendeempfänger 811 an den Repeater 920 übertragen werden kann, der die Funktion eines Repeaters im USB-Hub implementiert. Ferner ist das USB-Verbundgerät der Ausführungsform auch mit einer Baugruppe einer Anschließ/-Trenn-Erkennungsschaltung 930 versehen, die mit dem stromabwärtigen Port 62 verbunden ist und dazu verwendet wird, Anschließ- oder Trennvorgänge betreffend externe USB-Geräte zu erkennen. (Hinweis: Das USB-Verbundgerät 60 der Ausführungsform sowie die Verbundgeräte 40 und 50 gemäß der ersten und der zweiten Ausführungsform verfügen alle über eine andere Baugruppe einer Anschließ/Trenn-Erkennungsschaltung, die mit dem jeweiligen stromaufwärtigen Port 41, 51 bzw. 61 verbun den ist und von einem USB-Host oder Hub dazu verwendet wird, Anschließ- oder Trennvorgänge betreffend Geräte zu erkennen. Jedoch ist die Schaltung der Einfachheit halber in der Figur nicht dargestellt.)
  • Wenn ein USB-Gerät mit dem stromabwärtigen Port 62 verbunden wird, erkennt die Anschließ/Trenn-Erkennungsschaltung 930 die Änderung des elektrischen Potenzials oder Stroms, und sie informiert den Mikroprozessor 910. Zu diesem Zeitpunkt ist der Mikroprozessor 91 des USB-Verbundgeräts 60 dazu in der Lage, Aktionen eines USB-Hosts, wie bei der ersten und zweiten Ausführungsform, zu simulieren. Er informiert den USB-Host über die USB-Logik 800 über die Meldung, um das USB-Gerät mit dem Bus zu verbinden.
  • Im Ergebnis können mehrere stromabwärtige Ports, die mit externen USB-Geräten verbunden werden können, zum USB-Verbundgerät 60 der Ausführungsform hinzugefügt werden. Daher können mehrere USB-Geräte über das USB-Verbundgerät der Ausführungsform mit dem USB-Bus verbunden werden.
  • Obwohl die Beschreibung die bevorzugten Ausführungsformen der Erfindung auf die obige spezielle Weise erläuterte, ist dennoch zu beachten, dass die vorigen Beispiele nur veranschaulichend sind. Es können verschiedene Modifizierungen und Änderungen vorgenommen werden, ohne vom wahren Grundgedanken und Schutzumfang der durch die beigefügten Ansprüche definierten Erfindung abzuweichen.

Claims (31)

  1. USB-Verbundgerät, das dazu verwendet wird, mehrere Funktionsgeräte an einen USB-Bus anzuschließen und dafür zu sorgen, dass die angeschlossene Funktion den Vorteil einer "Plug-and-Play"-Funktion zeigt, mit: – einem USB-Sendeempfänger zur Verwendung als Verbindungspunkt zwischen den mehreren Funktionsgeräten und dem USB-Bus, um Signale an den USB-Bus zu senden oder von ihm zu empfangen und um die Signalformatwandlung auszuführen; – einer seriellen Schnittstellenmaschine (SIE) zum Decodieren der vom USB-Bus empfangenen Signale und zum anschließenden Wandeln derselben von serieller in parallele Form, zum Codieren der an den USB-Bus zu übertragenden Signale, nachdem sie von paralleler in serielle Form gewandelt wurden, und zum Ausführen einer Untersuchung mit einem Cyclic-Redundancy-Check-Code während des Sendens/Empfangens; und – einer Schaltungsanordnung zum Speichern und Verwalten mehrerer von einem USB-Host zugewiesener Geräteadressen und zum Durchführen der Datenübertragung, wobei diese Schaltungsanordnung nicht über die Funktionen des USB-Sendeempfängers und der SIE verfügt und sie das einzige mit der SIE verbundene Terminal ist, während das andere Terminal mit mehreren Nicht-USB-Schnittstellen verbunden ist, die dazu verwendet werden, die mehreren Funktionsgeräte über einen Mikroprozessor oder einen Controller anzuschließen.
  2. USB-Verbundgerät nach Anspruch 1, bei dem die Schaltungsanordnung Folgendes aufweist: – eine allgemein verwendbare Endstellen-Zustandsmaschine; – einen Adressen/Endstelle-Konfigurationsmechanismus zum Speichern mehrerer Adressen/Endstelle-Konfigurationen, wobei dieses USB-Verbundgerät USB-Standardkommunikationsprotokolle ausführt, um mit dem USB-Host über die allgemein verwendbare Endstellen-Zustandsmaschine entsprechend den im Adressen/- Endstelle-Konfigurationsmechanismus gespeicherten Typen der Endstellen zu kommunizieren; und – ein Speichermodul zum Zwischenspeichern der zu sendenden Daten.
  3. USB-Verbundgerät nach Anspruch 2, bei dem die mehreren im Adressen/Endstelle-Konfigurationsmechanismus gespeicherten Adressen/Endstelle-Konfigurationen einen Adressen/Endstelle-Konfigurationssatz eines virtuellen Hubs enthalten, der von der Schaltungsanordnung dann verwendet wird, wenn sie die Funktion als Hub über den USB-Sendeempfänger, die serielle Schnittstellenmaschine und den Mikroprozessor oder Controller ausführt.
  4. USB-Verbundgerät nach Anspruch 2, bei dem die Schaltungsanordnung ferner ein Endstellen-Variablenregister zum Speichern der Zustände der mehreren Endstellen aufweist, das durch die allgemein verwendbare Endstellen-Zustandsmaschine Zugriffs- und Aktualisierungsvorgänge erfährt.
  5. USB-Verbundgerät nach Anspruch 4, bei dem das Speichermodul Folgendes aufweist: – einen Speicherpuffer zum Zwischenspeichern der gesendeten Daten; und – eine Speicherverwaltungseinheit zum Zugreifen auf Daten im Speicherpuffer, mit – einem Speicher-Konfigurationsmechanismus der Endstelle zum Speichern der Speicherzuordnungsdaten und der maximalen Paketgrößen der Endstellen im Speicherpuffer; und – einer Speicherzugriffs-Steuereinheit zum Zugreifen auf Daten im Speicherpuffer entsprechend den Endstellennummern von Signalen und den im Speicher-Konfigurationsmechanismus der Endstelle gespeicherten Speicherzuordnungsdaten.
  6. USB-Verbundgerät nach Anspruch 5, bei dem die Schaltungsanordnung ferner eine Anwendungs-Schnittstellenmaschine zum Übertragen von Signalen und für den Zugriff von Daten zwischen der allgemein verwendbaren Endstellen-Zustandsmaschine, der Speicherzugriffs-Steuereinheit und den mehreren mit der Schaltungsanordnung verbundenen Nicht-USB-Schnittstellen aufweist.
  7. USB-Verbundgerät nach Anspruch 2, bei dem der Adressen/-Endstelle-Verwaltungsmechanismus Folgendes aufweist: – einen Adressen/Endstelle-Konfigurationsmechanismus zum Speichern mehrerer von einem USB-Host zugewiesener logischer Adressen sowie der Korrelation zwischen logischen Endstellen und physikalischen Endstellen jeder logischen Adresse; wobei diese allgemein verwendbare Endstellen-Zustandsmaschine die mehreren logischen Adressen dazu verwendet, zu ermitteln, ob die mehreren mit dem USB-Verbundgerät verbundenen Funktionsgeräte Empfänger oder Sender, wie vom USB-Host spezifiziert, sind; – einen physikalischen Endstellen-Konfigurationsmechanismus zum Speichern des Typs, der maximalen Paketgröße und der Speicherzuordnungsdaten im Speichermodul jeder physikalischen Endstelle; und – ein Modul für logische/physikalische Übersetzung zum Übersetzen der logischen/physikalischen Endstellen der mehreren mit dem USB-Verbundgerät verbundenen Funktionsgeräte.
  8. USB-Verbundgerät nach Anspruch 7, bei dem die mehreren logischen Adressen und die in der Adressen/Endstelle-Konfiguration gespeicherte Konfiguration einen Satz logischer Adressen eines virtuellen Hubs sowie die Korrelation zwischen den logischen Endstellen und den zugehörigen physikalischen Endstellen beinhalten, wobei die Adressen/Endstelle-Konfiguration des virtuellen Hubs von der Schaltungsanordnung verwendet wird, wenn sie die Funktion als Hub über den USB-Sendeempfänger, die serielle Schnittstellenmaschine und den Mikroprozessor oder den Controller ausführt.
  9. USB-Verbundgerät nach Anspruch 7, bei dem die Schaltungsanordnung ferner ein Endstellen-Variablenregister zum Speichern der Zustände der mehreren Endstellen aufweist, das durch die allgemein verwendbare Endstellen-Zustandsmaschine Zugriffs- und Aktualisierungsvorgänge erfährt.
  10. USB-Verbundgerät nach Anspruch 9, bei dem das Speichermodul Folgendes aufweist: – einen Speicherpuffer zum Zwischenspeichern der gesendeten Daten; und – eine Speicherverwaltungseinheit zum Zugreifen auf Daten im Speicherpuffer, mit – einem Speicher-Konfigurationsmechanismus der physikalischen Endstelle zum Speichern der Speicherzuordnungsdaten und der maximalen Paketgrößen der physikalischen Endstellen im Speicherpuffer; und – einer Speicherzugriffs-Steuereinheit zum Zugreifen auf Daten im Speicherpuffer entsprechend den physikalischen Endstellennummern von Signalen und den im Speicher-Konfigurationsmechanismus der physikalischen Endstelle gespeicherten Speicherzuordnungsdaten.
  11. USB-Verbundgerät nach Anspruch 10, bei dem die Schaltungsanordnung ferner eine Anwendungs-Schnittstellenmaschine zum Übertragen von Signalen und für den Zugriff von Daten zwischen der allgemein verwendbaren Endstellen-Zustandsmaschine, der Speicherzugriffs-Steuereinheit und den mehreren mit der Schaltungsanordnung verbundenen Nicht-USB-Schnittstellen aufweist.
  12. USB-Verbundgerät nach Anspruch 11, bei dem die Anwendungs-Schnittstellenmaschine Folgendes aufweist: – ein Ereignissteuermodul zum Empfangen der durch die allgemein verwendbare Endstellen-Zustandsmaschine und die Speicherzugriffs-Steuereinheit während Kommunikationsvorgängen erzeugten Ereignisse und zum Senden der Ereignisse an die den physikalischen Endstellennummern entsprechenden Geräte; und – ein Steuerschnittstellenmodul zum Steuern oder Konfigurieren der Register innerhalb der Schaltungsanordnung und zum Ausüben der Datenübertragung mit der Speichersteuereinheit; – ein Datenpfadmodul zum Zugreifen auf Massedaten, das Daten zwischen dem Speicherpuffer und den mehreren mit der Schaltungsanordnung verbundenen Schnittstellen auf eine Weise mit direktem Speicherzugriff (DMA) überträgt.
  13. Schaltungsanordnung im USB-Verbundgerät nach Anspruch 1, die Folgendes aufweist: – eine allgemein verwendbare Endstellen-Zustandsmaschine; – einen Adressen/Endstelle-Konfigurationsmechanismus zum Speichern mehrerer Adressen/Endstelle-Konfigurationen, wobei dieses USB-Verbundgerät USB-Standardkommunikationsprotokolle ausführt, um mit dem USB-Host über die allgemein verwendbare Endstellen-Zustandsmaschine entsprechend den im Adressen/-Endstelle-Konfigurationsmechanismus gespeicherten Typen der Endstellen zu kommunizieren; und – ein Endstellen-Variablenregister zum Speichern der Zustände der mehreren Endstellen, das durch die allgemein verwendbare Endstellen-Zustandsmaschine Zugriffs- und Aktualisierungsvorgänge erfährt.
  14. Schaltungsanordnung nach Anspruch 13, die Folgendes aufweist: – einen Speicherpuffer zum Zwischenspeichern der gesendeten Daten; und – eine Speicherverwaltungseinheit zum Zugreifen auf Daten im Speicherpuffer, mit – einem Speicher-Konfigurationsmechanismus der Endstelle zum Speichern der Speicherzuordnungsdaten und der maximalen Paketgrößen der Endstellen im Speicherpuffer; und – einer Speicherzugriffs-Steuereinheit zum Zugreifen auf Daten im Speicherpuffer entsprechend den Endstellennummern von Signalen und den im Speicher-Konfigurationsmechanismus der Endstelle gespeicherten Speicherzuordnungsdaten.
  15. Schaltungsanordnung nach Anspruch 14, die eine Anwendungs-Schnittstellenmaschine zum Übertragen von Signalen und für den Zugriff von Daten zwischen der allgemein verwendbaren Endstellen-Zustandsmaschine, der Speicherzugriffs-Steuereinheit und den mehreren mit der Schaltungsanordnung verbundenen Nicht-USB-Schnittstellen aufweist.
  16. USB-Verbundgerät nach Anspruch 6, das einen Mikroprozessor beinhaltet.
  17. USB-Verbundgerät nach Anspruch 6, das einen Controller beinhaltet.
  18. USB-Verbundgerät nach Anspruch 12, das einen Mikroprozessor beinhaltet.
  19. USB-Verbundgerät nach Anspruch 12, das einen Controller beinhaltet.
  20. USB-Verbundgerät nach Anspruch 6, bei dem der USB-Sendeempfänger, die serielle Schnittstellenmaschine und die Schaltungsanordnung alle auf demselben Einzelchip hergestellt sind.
  21. USB-Verbundgerät nach Anspruch 12, bei dem der USB-Sendeempfänger, die serielle Schnittstellenmaschine und die Schaltungsanordnung alle auf demselben Einzelchip hergestellt sind.
  22. USB-Verbundgerät nach Anspruch 6, ferner mit: – einem Repeater zum Übertragen stromaufwärtiger und strom – uabwärtiger USB-Signale zwischen einem USB-Host und den mit dem USB-Verbundgerät verbundenen USB-Funktionsgeräten; und – einer Anschließ/Trenn-Erkennungsschaltung zum Erkennen von Anschließ- oder Trennvorgängen mehrerer USB-Ports, wobei es der Repeater und die Anschließ/Trenn-Erkennungsschaltung dem USB-Verbundgerät ermöglichen, die mehreren USB-Ports bereitzustellen.
  23. USB-Verbundgerät nach Anspruch 12, ferner mit: – einem Repeater zum Übertragen stromaufwärtiger und stromabwärtiger USB-Signale zwischen einem USB-Host und den mit dem USB-Verbundgerät verbundenen USB-Funktionsgeräten; und – einer Anschließ/Trenn-Erkennungsschaltung zum Erkennen von Anschließ- oder Trennvorgängen mehrerer USB-Ports, wobei es der Repeater und die Anschließ/Trenn-Erkennungsschaltung dem USB-Verbundgerät ermöglichen, die mehreren USB-Ports bereitzustellen.
  24. Verfahren, das es ermöglicht, mehrere Funktionsgeräte mit einem USB-Host zu verbinden, mit demselben Satz von Endstellennummern und mit jeweiligen und unabhängigen USB-Adressen, mit den folgenden Schritten: – aufeinanderfolgendes Konfigurieren der logischen Endstellen und der Korrelation zwischen den logischen/physikalischen Endstellen der mehreren Funktionsgeräte; – Speichern der Konfigurationen der physikalischen Endstellen der mehreren Funktionsgeräte; – Initialisieren der Adressen/Endstelle-Konfigurationen der mehreren USB-Funktionsgeräte und sequenzielles Kommunizieren mit dem USB-Host unter Verwendung eines Mikroprozessors oder Controllers, und anschließendes Zuweisen der jeweiligen logischen USB-Adressen durch den USB-Host an die mehreren Funktionsgeräte; – Vergleichen der spezifischen Adresse jedes vom USB-Bus übertragenen Signals mit den logischen USB-Adressen; – Fortfahren mit einer Übersetzung betreffend logische/physikalische Endstellen, wenn beim Vergleich Übereinstimmung festgestellt wird; und – Übertragen des Signals an das durch die physikalische Endstelle repräsentierte Funktionsgerät.
  25. Verfahren zum Implementieren eines virtuellen Hubs, mit den folgenden Schritten: – Verwenden einer Adressen/Endstelle-Konfiguration als USB-Adressen/Endstelle-Konfiguration des virtuellen Hubs; – Empfangen von Signalen von einem USB-Host, oder Senden von Signalen an diesen, unter Verwendung eines USB-Sendeempfängers; – Verwenden einer seriellen Schnittstellenmaschine zum Ausführen des Decodierens, Codierens und der Formatwandlung der übertragenen Signale sowie zum Ausführen einer Untersuchung betreffend einen Cyclic-Redundancy-Check-Code während des Sendens/Empfangens von Daten; – Verwenden eines Mikroprozessors oder Controllers für Kommunikation mit dem USB-Host in der Funktion eines Hubs über Software und Erhalten einer USB-Adresse des virtuellen Hubs vom USB-Host; – Antworten, wenn die Adresse des übertragenen Signals auf den virtuellen Hub zeigt, mit dem Mikroprozessor oder dem Controller entsprechend dem Inhalt des übertragenen Signals; und – Verwalten anderer USB-Funktionsgeräte oder Rückberichten der Konfigurationen derselben an den USB-Host mit dem Mikro prozessor oder dem Controller über Software oder Firmware, um die gestufte USB-Topologie beizubehalten.
  26. Verfahren zum Implementieren eines USB-Verbundgeräts, das dazu verwendet wird, mindestens zwei Funktionsgeräte ohne USB-Logikschaltungen mit einem USB-Bus zu verbinden und es angeschlossenen Funktionsgeräten zu ermöglichen, über Plug-and-Play-Funktion zu verfügen, mit den folgenden Schritten: – Bereitstellen eines Blocks einer physikalischen Schicht zum Anschließen des USB-Busses und zum Ausführen des Empfangens oder Sendens von Signalen, einer Formatwandlung, des Codierens oder Decodierens und einer Untersuchung betreffend einen Cyclic-Redundancy-Check-Code; – Bereitstellen eines Blocks einer Verbindungsschicht zum Empfangen der von der physikalischen Schicht übertragenen Signale, zum Ausführen des Vergleichs von Adressen/Endstellen und für Kommunikation mit dem USB-Host unter Kommunikationsprotokollen entsprechend den Zuständen der Endstellen; – Bereitstellen einer Speicherverwaltungseinheit zum Empfangen von Endstellennummern von der Verbindungsschicht und zum Ausführen von Datenzugriffen entsprechend den Endstellennummern; – Bereitstellen einer Anwendungs-Schnittstellenmaschine zum Empfangen der Signale vom Block der Verbindungsschicht und der Speicherverwaltungseinheit zum Ausführen der Signale oder für Datenübertragung mit einer Anwendungseinheit; und – Bereitstellen eines Speicherpuffers zum Speichern der zeitweiligen Daten der Endstellen.
  27. Verfahren nach Anspruch 26, bei dem der Schritt des Bereitstellens des Blocks der physikalischen Schicht Folgendes beinhaltet: – Verwenden eines USB-Sendeempfängers zum Senden oder Empfangen von Signalen und zum Ausführen einer Wandlung des Signalformats; und – Verwenden einer seriellen Schnittstellenmaschine zum Ausführen des Decodierens, Codierens und der Formatwandlung der übertragenen Signale und zum Ausführen einer Untersuchung betreffend einen Cyclic-Redundancy-Check-Code während des Sendens/Empfangens von Daten.
  28. Verfahren nach Anspruch 26, bei dem der Schritt des Bereitstellens des Blocks der Verbindungsschicht Folgendes beinhaltet: – Speichern der Zustände der Endstellen der angeschlossenen USB-Funktionsgeräte durch ein Endstellen-Variablenregister; – Verwenden einer allgemein verwendbaren Endstellen-Zustandsmaschine für Zugriffs- und Aktualisierungsvorgänge betreffend das Endstellen-Variablenregister und für Kommunikation mit dem USB-Host unter USB-Standardprotokollen entsprechend den Typen der Endstellen; – Speichern der durch den USB-Host und die entsprechenden Endstellen der Funktionsgeräte spezifizierten Adressen mittels eines Adressen/Endstelle-Konfigurationsmechanismus; – Speichern der physikalischen Endstellen und ihrer Endstellenkonfigurationen durch einen physikalischen Endstellen-Konfigurationsmechanismus; und – Ausführen der Übersetzung logischer Endstellen und physikalischer Endstellen durch einen Wandler für logische/physikalische Endstellen.
  29. Verfahren nach Anspruch 26, bei dem der Schritt des Bereitstellens der Speicherverwaltungseinheit Folgendes aufweist: – Speichern der den physikalischen Endstellen zugewiesenen Speicherpuffer und der Zustände der zugehörigen Daten mittels eines Speicher-Konfigurationsmechanismus physikalischer Endstellen; und – Verwenden einer Speicherzugriffs-Steuereinheit zum Lesen der Speicherpufferblöcke und der Zustände der zugehörigen Daten aus dem Speicher-Konfigurationsmechanismus der physikalischen Endstellen und zum Speichern oder Lesen von Daten in die zugehörigen Speicherpuffer oder aus diesen.
  30. Verfahren nach Anspruch 26, bei dem der Schritt des Bereitstellens der Anwendungs-Schnittstellenmaschine Folgendes beinhaltet: – Verwenden eines Ereignissteuermoduls zum Empfangen der von der allgemein verwendbaren Endstellen-Zustandsmaschine und der Speicherzugriffs-Steuereinheit während Kommunikationsvorgängen erzeugten Zustände und zum Informieren der durch die physikalischen Endstellennummern in der Anwendungseinheit repräsentierten Funktionsgeräte über das Ereignis; – Verwenden eines Steuerschnittstellenmoduls zum Steuern oder Konfigurieren des Registers innerhalb des Verbundgeräts und zum Ausführen einer Datenübertragung mit der Speicherverwaltungseinheit; und – Verwenden eines Datenpfadmoduls für den Zugriff auf Massedaten und zum Übertragen von Daten zwischen Speicherpuffern und der Anwendungseinheit auf DMA-Weise.
  31. Verfahren nach Anspruch 26, das ferner die Schritte beinhaltet, dass das Gerät mit mehreren USB-Ports versehen wird, mit: – Verwenden eines Repeaters zum Übertragen stromaufwärtiger und stromabwärtiger USB-Signale zwischen dem USB-Host und den angeschlossenen USB-Funktionsgeräten; und – Verwenden einer Anschließ/Trenn-Erkennungsschaltung zum Erkennen von Anschließ- oder Trennvorgängen betreffend die USB-Ports.
DE10259327A 2001-07-13 2002-12-18 USB-Verbundgerät und Verfahren zum Realisieren desselben Ceased DE10259327A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW090117264A TW518502B (en) 2001-07-13 2001-07-13 USB compound device and the realization method thereof
US10/074,910 US6862643B2 (en) 2001-07-13 2002-02-11 USB compound device operates a plurality of devices by using the same USB logic circuit and the method for implementation thereof
JP2002074066A JP2003050772A (ja) 2001-07-13 2002-03-18 Usb複合デバイス及びその実現方法
DE10259327A DE10259327A1 (de) 2001-07-13 2002-12-18 USB-Verbundgerät und Verfahren zum Realisieren desselben
SG200207788A SG107128A1 (en) 2001-07-13 2002-12-20 Usb compound device and the method for implementation thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW090117264A TW518502B (en) 2001-07-13 2001-07-13 USB compound device and the realization method thereof
DE10259327A DE10259327A1 (de) 2001-07-13 2002-12-18 USB-Verbundgerät und Verfahren zum Realisieren desselben

Publications (1)

Publication Number Publication Date
DE10259327A1 true DE10259327A1 (de) 2004-07-15

Family

ID=32991914

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10259327A Ceased DE10259327A1 (de) 2001-07-13 2002-12-18 USB-Verbundgerät und Verfahren zum Realisieren desselben

Country Status (4)

Country Link
US (1) US6862643B2 (de)
JP (1) JP2003050772A (de)
DE (1) DE10259327A1 (de)
TW (1) TW518502B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005002099A1 (de) * 2005-01-14 2006-07-27 Micronas Gmbh Audio und Kontrolverbindung zwischen Portable Audio Playern (MP3, CD-Audio, DAT, Minidisc o. ä) und Stereoanlagen (Hifi, Boombox, Ministereo) über eine bidirektionale Busverbidnung (USB, Firewire)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2374259B (en) * 2001-04-06 2004-04-21 Nokia Corp Universal serial bus circuit
US7043587B2 (en) * 2001-09-20 2006-05-09 Lenovo (Singapore) Pte. Ltd. System and method for connecting a universal serial bus device to a host computer system
TW536900B (en) * 2001-10-09 2003-06-11 Prolific Technology Inc Local area network in compliance with universal serial bus standard
DE10163342A1 (de) * 2001-12-21 2003-07-10 Elektro Beckhoff Gmbh Unterneh Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer
JP2003248535A (ja) * 2002-02-26 2003-09-05 Alps Electric Co Ltd インタフェース認識機能付き装置
EP1376374B1 (de) * 2002-06-19 2006-10-04 Hewlett-Packard Company Interne USB-Schaltungsverbindung
US6745264B1 (en) * 2002-07-15 2004-06-01 Cypress Semiconductor Corp. Method and apparatus for configuring an interface controller wherein ping pong FIFO segments stores isochronous data and a single circular FIFO stores non-isochronous data
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
US7441108B2 (en) * 2002-11-19 2008-10-21 Ken Scott Fisher Portable memory drive with portable applications and cross-computer system management application
US6976105B1 (en) * 2002-12-11 2005-12-13 Cypress Semiconductor Corp. Apparatus and method for attaching multiple devices to a host
JP2006510966A (ja) * 2002-12-18 2006-03-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ カプセル化ハードウェアの構成/制御
US7222201B2 (en) * 2003-01-06 2007-05-22 Plx Technology, Inc. Virtual endpoint for USB devices
US6959355B2 (en) * 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
TWI247216B (en) * 2004-04-09 2006-01-11 Prolific Technology Inc USB transmission interface device capable of reducing working current
TWI238320B (en) * 2003-10-07 2005-08-21 Sunplus Technology Co Ltd USB composite device using hub connection layer and UTMI interface
US7117288B2 (en) * 2003-10-24 2006-10-03 Motorola Inc. USB dynamic service switch for dual processor architecture
US20050114552A1 (en) * 2003-11-21 2005-05-26 David Mak-Fan System and method for powering a peripheral device
EP1804152A3 (de) * 2003-11-21 2007-07-11 Research In Motion Limited System und Verfahren zur Stromversorgung eines Peripheriegerätes
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7584334B2 (en) * 2004-02-13 2009-09-01 Steven Bress Systems and methods for an improved tailgate device
US7802022B2 (en) * 2004-04-29 2010-09-21 Microsoft Corporation Generic USB drivers
US7685328B2 (en) * 2004-09-09 2010-03-23 Stmicroelectronics, Inc. Generic universal serial bus device operable at low and full speed and adapted for use in a smart card device
US7653123B1 (en) 2004-09-24 2010-01-26 Cypress Semiconductor Corporation Dynamic data rate using multiplicative PN-codes
US7188206B2 (en) * 2004-10-22 2007-03-06 Conwise Technology Corporation Ltd. USB compound device without embedded hub and implement method in USB system
JP2006127085A (ja) * 2004-10-28 2006-05-18 Oki Data Corp 複合機能システム
US7440398B2 (en) * 2004-11-29 2008-10-21 Honeywell International Inc. Fault tolerant communication apparatus
US20090011793A1 (en) * 2005-01-13 2009-01-08 Pocrass Alan L Flash Memory Cell Phone With Integrated Male And Female Connectors
US20060181912A1 (en) * 2005-01-21 2006-08-17 Iyer Sree M Low-power solid state storage controller for cell phones and other portable appliances
US8447902B2 (en) * 2005-08-05 2013-05-21 Integrated Device Technology, Inc. Method and apparatus for predictive switching
US8284768B2 (en) * 2005-10-06 2012-10-09 Sierra Wireless, Inc. Dynamic bus-based virtual channel multiplexing device driver architecture
JP2007156921A (ja) * 2005-12-06 2007-06-21 Y E Data Inc Usbデバイス装置の異常検出・回復システム、異常検出・回復プログラム、異常検出・回復プログラムを記録した記録媒体及び異常検出・回復方法。
TWI317882B (en) * 2006-01-27 2009-12-01 Prolific Technology Inc An usb interface provided with host/device function and its control method
US7657684B2 (en) * 2006-04-28 2010-02-02 Qualcomm Incorporated USB interrupt endpoint sharing
WO2008038266A1 (en) * 2006-09-28 2008-04-03 Sandisk Il Ltd. Devices and methods for a device-mapping connectivity hub
TW200823669A (en) * 2006-11-17 2008-06-01 Alcor Micro Corp Integrated hub control chip
US7783791B2 (en) * 2007-02-13 2010-08-24 Lennox Manufacturing, Inc. Apparatus and method for treating addresses in an environmental control network
JP4333765B2 (ja) * 2007-03-28 2009-09-16 ブラザー工業株式会社 デバイス制御システム
US20080276009A1 (en) * 2007-05-04 2008-11-06 Joe Mesa Enabling Efficient Communication Between a Host and Multiple USB Devices
US7577776B2 (en) * 2007-05-14 2009-08-18 Aten International Co., Ltd Multiple virtual USB devices with virtual HUB implemented using one USB device controller
JP2009187368A (ja) * 2008-02-07 2009-08-20 Hitachi Ltd Usbポートの共有制御方法
TWI355582B (en) * 2008-03-05 2012-01-01 Inventec Corp Method for analyzing program with error, and metho
US7908421B2 (en) * 2008-09-30 2011-03-15 Intel Corporation Universal serial bus endpoint context caching
US20100169069A1 (en) * 2008-12-29 2010-07-01 Nimrod Diamant Composite device emulation
CN101777032A (zh) * 2009-01-14 2010-07-14 华为终端有限公司 一种实现usb端点复用的方法和设备
US20100180064A1 (en) * 2009-01-14 2010-07-15 Huawei Device Co., Ltd. Method and device for implementing USB endpoint multiplexing
US20100199290A1 (en) * 2009-02-02 2010-08-05 Richard Thomas Kavanaugh System and method for multifunction device enumeration
US7805559B1 (en) * 2009-04-10 2010-09-28 Thales Avionics, Inc. USB repeater for on board aircraft installations
TWI385533B (zh) * 2009-05-11 2013-02-11 Via Tech Inc 電腦系統、資料交換裝置以及資料交換方法
US8260988B2 (en) * 2009-05-29 2012-09-04 Aten International Co., Ltd. PS/2 to USB keyboard adaptor supporting N-key rollover
JP5456434B2 (ja) * 2009-10-22 2014-03-26 ルネサスエレクトロニクス株式会社 パイプ調停回路、パイプ調停方法
US20110145655A1 (en) * 2009-12-11 2011-06-16 Mike Erickson Input/output hub to input/output device communication
CN101872334A (zh) * 2010-05-26 2010-10-27 北京飞天诚信科技有限公司 一种复合型usb设备及其实现方法
US8850082B2 (en) 2010-08-30 2014-09-30 Qualcomm Incorporated Virtual USB compound device enumeration
CN102737003B (zh) * 2011-04-01 2015-09-16 中兴通讯股份有限公司 一种模拟usb设备的方法及装置
EP2544096B1 (de) 2011-07-06 2014-12-03 GN Netcom A/S Vorrichtung und Verfahren für Universalserienbuskommunikation (USB)
CN103309835A (zh) * 2012-03-12 2013-09-18 祥硕科技股份有限公司 通用串行总线装置及其供电方法
CN102722464B (zh) * 2012-06-04 2014-10-29 飞天诚信科技股份有限公司 一种实现多个usb设备同时接收并处理数据的方法
CN104298643A (zh) * 2014-10-09 2015-01-21 苏州工业园区服务外包职业学院 一种智能设备与嵌入式设备进行数据传输的装备
CN206672091U (zh) * 2017-04-27 2017-11-24 深圳市高普达科技有限公司 一种接口扩展装置
KR102230334B1 (ko) * 2018-11-29 2021-03-22 주식회사 엘케이벤쳐스 데이터 및 프로그램 영역의 메모리를 내장한 파워뱅크
JP7490947B2 (ja) 2019-04-08 2024-05-28 株式会社リコー 拡張モジュール、モジュールシステム、及びコンピュータシステム
US11023402B2 (en) * 2019-07-02 2021-06-01 National Instruments Corporation Switch pruning in a switch fabric bus chassis
CN111221768B (zh) * 2020-01-10 2024-05-31 珠海趣印科技有限公司 一种usb设备复合通讯方法及***
CN117642732A (zh) * 2022-06-24 2024-03-01 北京小米移动软件有限公司 终端控制方法及装置、通信设备及存储介质
CN117909278A (zh) * 2023-12-21 2024-04-19 博捷半导体科技(苏州)有限公司 一种usb集线器芯片、usb集线器及数据传输方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
US5974486A (en) * 1997-08-12 1999-10-26 Atmel Corporation Universal serial bus device controller comprising a FIFO associated with a plurality of endpoints and a memory for storing an identifier of a current endpoint
US6230226B1 (en) * 1997-09-30 2001-05-08 Intel Corporation Compound device implementing hub and function endpoints on a single chip
US6040792A (en) * 1997-11-19 2000-03-21 In-System Design, Inc. Universal serial bus to parallel bus signal converter and method of conversion
US6370603B1 (en) * 1997-12-31 2002-04-09 Kawasaki Microelectronics, Inc. Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC)
US6205501B1 (en) * 1998-01-07 2001-03-20 National Semiconductor Corp. Apparatus and method for handling universal serial bus control transfers
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6567875B1 (en) * 1999-04-05 2003-05-20 Opti, Inc. USB data serializer
FR2799288B1 (fr) * 1999-09-23 2005-02-25 Ibm Systeme de communication sans fil utilisant un bus serie universel (usb)
JP4571295B2 (ja) * 2000-10-31 2010-10-27 日発テレフレックス株式会社 小型船舶用リモートコントロール装置
US6718423B2 (en) * 2000-12-29 2004-04-06 Gateway, Inc. Bus hub with a selectable number of ports

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005002099A1 (de) * 2005-01-14 2006-07-27 Micronas Gmbh Audio und Kontrolverbindung zwischen Portable Audio Playern (MP3, CD-Audio, DAT, Minidisc o. ä) und Stereoanlagen (Hifi, Boombox, Ministereo) über eine bidirektionale Busverbidnung (USB, Firewire)

Also Published As

Publication number Publication date
JP2003050772A (ja) 2003-02-21
US20030041205A1 (en) 2003-02-27
TW518502B (en) 2003-01-21
US6862643B2 (en) 2005-03-01

Similar Documents

Publication Publication Date Title
DE10259327A1 (de) USB-Verbundgerät und Verfahren zum Realisieren desselben
DE69333798T2 (de) Verfahren und gerät zur arbitrierung auf einen azyklischen gerichteten graphen
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE19581234B4 (de) Bussteuereinrichtung und Verfahren für eine hierarchische serielle Busanordnung unter Verwendung von Kommunikationspaketen
DE69921772T2 (de) Nachrichtenanwendungsschicht (modbus) über ethernet zur transportschicht (tcp), kommunikationsverfahren und vorichtung
EP1222542B1 (de) Fehlertolerantes verteiltes computersystem
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE69429944T2 (de) Kommunikation von lokalen Netzwerk basierten Anwendungen in einem Vermittlungsnetz
DE69935604T2 (de) Gerät, Verfahren und System zur Steuerung und Überwachung von einem Tastatur-, Video- und Mausschaltsystem
DE69634983T2 (de) Verfahren und vorrichtung für ein hybrides wettbewerbs- und abfrageprotokoll
DE69733857T2 (de) Steuerungsübertragungsbus für Netzwerkgeräte
DE69233664T2 (de) Schnittstelle eines sender-empfängers
DE69820075T2 (de) Lokales kommunikationssystem, verfahren zum betrieb und stationen zur verwendung in diesem system
DE102017120447A1 (de) Halbleitervorrichtung, Verfahren zum Betreiben der Halbleitervorrichtung und ein System, das diese beinhaltet
DE4003759C2 (de) Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen
DE60038264T2 (de) Verfahren zur Vorverarbeitung von Datenpaketen in einer Busschnittstelle
DE69021186T2 (de) "Master-Slave" industrielles Netzwerk mit Tokenübergabe.
DE112008000598T5 (de) Relaisschaltungseinheit für ein Fahrzeug
DE102011005515A1 (de) Kommunikationsnetzwerksystem mit einem Netzwerk hohen Ranges und Netzwerken niedrigen Ranges, Austauschanschluss zur Verbindung des Netzwerks hohen Ranges und eines Netzwerks niedrigen Ranges, Mikrocomputer zur Steuerung der Verbindung zwischen einer Übertragungsleitung eines Netzwerks niedrigen Ranges und einer Übertragungsleitung des Netzwerks hohen Ranges, und Kommunikations-Sender/Empfänger, der mit der Übertragungsleitung eines Netzwerks niedrigen Ranges und der Übertragungsleitung des Netzwerks hohen Ranges verbunden ist
EP2359539A1 (de) Datenübertragungsprotokoll
DE69932734T2 (de) Verfahren zur bandbreitenverwaltung innerhalb eines eine drahtlose verbindung enthaltenden netzes
DE69925219T2 (de) Verfahren zur Erzeugung eines IEEE 1394 virtuellen Netzes und dessen Steurungseinrichtung
AT410491B (de) Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem
DE60320407T2 (de) Verfahren zur paketdatenübertragung zwischen zwei slave-einheiten und einer master-einheit mit zwei prozessoren
DE69331180T2 (de) Digitales Kommunikationssystem vom Abfragetyp mit pseudosymmetrischer Betriebsart

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final