DE19900290A1 - Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung - Google Patents
Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle BuseinrichtungInfo
- Publication number
- DE19900290A1 DE19900290A1 DE19900290A DE19900290A DE19900290A1 DE 19900290 A1 DE19900290 A1 DE 19900290A1 DE 19900290 A DE19900290 A DE 19900290A DE 19900290 A DE19900290 A DE 19900290A DE 19900290 A1 DE19900290 A1 DE 19900290A1
- Authority
- DE
- Germany
- Prior art keywords
- host
- address
- usb
- token
- enable bit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/426—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Description
Das Verfahren und die Einrichtung betreffen die Initialisierung einer universellen Busein
richtung und insbesondere Zuordnung die einer eindeutigen Funktionsadresse zu einer univer
sellen seriellen Buseinrichtung.
Ein universeller serieller Bus (USB) ist eine genormte Peripherieschnittstelle zum Anschlie
ßen von Personal Computern an eine große Vielzahl von Einrichtungen: z. B. digitale Tele
fonleitungen, Monitore, Modems, Mäuse, Drucker, Scanner, Spielsteuereinrichtungen, Ta
staturen und andere Peripheriegeräte. Ein USB ersetzt also vorhandene Schnittstellen, wie die
seriellen Ports RS-232C, parallele Ports, PS/2-Schnittstellen und Game/MIDI Ports.
Bei dem USB werden alle angeschlossenen Geräte über einen einzigen Verbindungstyp, der
eine "tiered Star"-Topologie (in Rängen geordnete Stern-Topologie) verwendet, mit einem
Personal Computer verbunden. Ein Host-Personal Computer umfaßt eine einzige USB-
Steuereinrichtung. Die Host-Steuereinrichtung bildet die Schnittstelle zwischen dem USB-
Netz und dem Host-Personal Computer. Die Host-Steuereinrichtung steuert einige Zugriffe
auf die USB-Ressourcen und überwacht die Bustopologie. Ein USB-Verteilerknoten (Hub)
sieht die USB-Anschlußpunkte für USB-Einrichtungen vor.
Ein Beispiel der Sterntopologie eines USB-Netzes ist in Fig. 1 gezeigt. Ein Host-PC 100 ist
ein typischer Personal Computer mit einer USB-Portverbindung über eine Host-
Steuereinrichtung 102. Die Host-Steuereinrichtung 102 ist direkt mit dem Verteilerknoten
(Hub) 110 verbunden. Eine zusammengesetzte Einrichtung 120, ein Verteilerknoten 130 und
eine Einrichtung 140 sind mit der Host-Steuereinrichtung über den Verteilerknoten 110 ver
bunden. Einrichtungen 124 und 126 der zusammengesetzten Einrichtung 120 sind mit der
Host-Steuereinrichtung 102 über den Verteilerknoten 122 und den Verteilerknoten 110 ver
bunden. Ein praktisches Beispiel einer zusammengesetzten Einrichtung wäre ein Gerät mit
integriertem Drucker und Fax. Der Drucker könnte die Einrichtung 124 sein, und das Fax
könnte die Einrichtung 126 sein.
Die in Fig 1 gezeigte Sterntopographie ermöglicht es, Daten in den und aus dem Host-PC 100
zu den verschiedenen Einrichtungen zu übertragen. Wenn Daten von dem Host zu einer Ein
richtung übertragen werden, gehen sie stromabwärts durch die verbindenden Verteilerknoten.
Wenn Daten von einer Einrichtung zu dem Host übertragen werden, gehen sie stromaufwärts
durch die verbindenden Verteilerknoten.
USB-Verteilerknoten und Einrichtungen können angeschlossen und abgetrennt werden, ohne
das das USB-Netz vollständig neu gestartet werden muß. Beim Anschließen einer Einrichtung
oder eines Verteilerknotens an einen stromaufwärtigen Verteilerknoten benachrichtigt der
stromaufwärtige Verteilerknoten die Host-Steuereinrichtung über eine Änderung des Status.
Gemäß dem USB-Protokoll enabelt die Host-Steuereinrichtung den Port des Verteilerknotens,
mit dem die Einrichtung verbunden ist. Die Host-Steuereinrichtung weist dann jeder Einrich
tung eine eindeutige Funktionsadresse zu. Ports werden nacheinander enabelt, während die
Host-Steuereinrichtung 102 eindeutige Funktionsadressen zuweist. Zum Anschließen einer
zusammengesetzten Einrichtung weist die Steuereinrichtung jeder in der zusammengesetzten
Einrichtung enthaltenen Einrichtung eine eindeutige Funktionsadresse zu. In Fig. 1 werden
den Einrichtungen 124, 126, 132, 134 und 140 zusätzlich zu den Verteilerknoten 110, 122 und
130 jeweils eine eindeutige Funktionsadresse zugewiesen, sobald sie mit dem USB-Netz ver
bunden werden.
Zusätzlich zu den Verteilerknoten 110, 122 und 133 antworten die Einrichtungen 124, 126,
132, 134 und 140 jeweils auf eine voreingestellte Adresse 00h, bis ihnen die eindeutige Funk
tionsadresse zugewiesen wird. Jede der Einrichtungen umfaßt Register, die von der Host-
Steuereinrichtung gelesen werden können. Die Register umfassen ein Voreinstellungsbit
(DEF), ein Funktionsadressen-Enablebit (AE) und ein Funktionsadressenregister (FAR). Das
Voreinstellungsbit zeigt an, ob die Einrichtung auf die voreingestellte Adresse anspricht.
Wenn es gesetzt ist, reagiert die Einrichtung auf die voreingestellte Adresse, wenn es gelöscht
ist, tut sie dies nicht. Das Funktionsadressen-Enablebit zeigt an, ob die Einrichtung auf die in
dem Funktionsadressenregister gespeicherte Adresse antwortet. Wenn es gesetzt ist, wird die
Einrichtung auf die im Funktionsadressenregister gespeicherte Adresse reagieren, wenn es
gelöscht ist, tut sie dies nicht.
Alle Einrichtungen 124, 126, 132, 134 und 140 sind mit der Host-Steuereinrichtung 102 über
wenigstens einen Verteilerknoten verbunden. Jeder Verteilerknoten hat einen stromaufwärti
gen Port und wenigstens einen stromabwärtigen Port. Beim Anschließen oder Entfernen einer
Einrichtung an einen bzw. von einem stromabwärtigen Port, benachrichtigt ein Verteilerkno
ten die Host-Steuereinrichtung über eine Änderung des Status. Die Host-Steuereinrichtung
fragt dann den Verteilerknoten ab, uni die Änderung des Status an den Ports des Verteiler
knotens zu ermitteln.
Beim Anschließen einer Einrichtung an einen der stromabwärtigen Ports des Verteilerknotens,
läuft die obige Prozedur ab, um die Host-Steuereinrichtung über das Anschließen einer neuen
Einrichtung zu benachrichtigen. Die stromabwärtigen Ports eines Verteilerknotens sind in der
Voreinstellung disabelt, bis die Host-Steuereinrichtung sie enabelt. Die Host-
Steuereinrichtung wird daher den Port enabeln.
Beim Entfernen einer Einrichtung von einem der stromabwärtigen Ports eines Verteilerkno
tens disabelt der Verteilerknoten den entsprechenden Port automatisch und benachrichtigt den
Host über die Änderung. Die Host-Steuereinrichtung aktualisiert den Topographiezustand, um
die Veränderung wiederzugeben.
Der Prozeß des Aktivierens einer neu angeschlossenen Einrichtung ist im folgenden mit wei
teren Einzelheiten beschrieben. Wenn eine Einrichtung an einem stromabwärtigen Port eines
Verteilerknotens angeschlossen wird, benachrichtigt der Verteilerknoten die Host-
Steuereinrichtung über die Änderung des Zustands über einen Statusänderungskanal. Die
Host-Steuereinrichtung fragt den Verteilerknoten ab, um zu ermitteln, bei welchem der strom
abwärtigen Ports die Verbindung erfolgt ist. Die Host-Steuereinrichtung gibt dann einen Port-
Enable- und Reset-Befehl an den entsprechenden Port aus. Der Enablebefehl enabelt den Port
und liefert Energie an die Einrichtung. Der Resetbefehl setzt alle Registereinrichtungen und
die Zustandsinformation zurück. Die Einrichtung reagiert auf eine voreingestellte Adresse,
und über einen voreingestellten Kanal kann auf sie zugegriffen werden. Die Host-
Steuereinrichtung liest dann einen Deskriptor der Einrichtung, uni die Eigenschaften des vor
eingestellten Kanals zu ermitteln. Der Host weist dann der Einrichtung eine eindeutige Funk
tionsadresse zu, wodurch die Einrichtung in den adressierten Zustand kommt. Der Host liest
dann die Konfigurationsinformation von der Einrichtung und schreibt einen Konfigurations
wert in die Einrichtung. Dadurch kommt die Einrichtung in den konfigurierten Zustand.
Die Transaktion zum Zuweisen einer eindeutigen Funktionsadresse während des oben be
schriebenen Aktivierungsprozesses ist im folgenden mit weiteren Einzelheiten erläutert. Diese
Transaktionen werden zunächst allgemein beschrieben, dann folgt eine Beschreibung ihrer
Anwendung zum Zuweisen einer eindeutigen Funktionsadresse.
Die USB-Spezifikation definiert ein Steuerübertragungsprotokoll, das beim Konfigurieren
einer Einrichtung verwendet wird. Eine Steuerübertragung ist aufgebaut aus einer Setup-
Transaktion, die Anfrageinformation von dem Host zu der Einrichtung bewegt, optionalen
Datentransaktion, die Daten in die durch die Setup-Transaktion angegebene Richtung senden,
und eine Statustransaktion, welche Statusinformation von der Einrichtung an den Host zu
rückgibt.
Das Auftreten einer EIN- oder AUS-Datentransaktion in der Steuertransaktion sieht drei
mögliche Transkationsfolgen vor: eine Steuerschreibfolge, eine Steuerlesefolge und eine
Steuer-keine-Daten-Folge. Jede dieser Folgen ist nun mit weiteren Einzelheiten beschrieben.
Fig. 4A zeigt eine Steuerschreibfolge. Die Steuerschreibfolge umfaßt drei Stufen: eine Setup-
Stufe, eine Datenstufe und eine Statusstufe. Die Setup-Stufe besteht aus einer SETUP-
Transaktion 410 mit einem DATA0 PID. Die SETUP-Transaktion 410 spezifiziert, daß eine
AUS-Datenstufe folgt. Die Datenstufe besteht aus einer AUS-Transaktion 412 mit einem
DATA1 PID. Der AUS-Transaktion 410 folgt eine AUS-Transaktion 414 mit einem DATA0
PID. Dieser Transaktion folgen so viele Transaktionen, wie notwendig sind, um die erforder
lichen Daten von dem Haus zu übertragen. Dies hängt sowohl von der Größe der Daten in
dem Host als auch von der Größe der übertragenen Pakete ab. Das DATA PID ändert sich bei
den in der Datenstufe verwendeten AUS-Transaktionen zwischen 1 und 0. Die letzte AUS-
Transaktion 416 beendet die Datenstufe. Die Statusstufe besteht aus einer einzigen EIN-
Transaktion 418 mit einem DATA1 PID.
In Fig. 4B ist eine Steuerlesefolge gezeigt. Die Steuerdaten-EIN-Folge umfaßt drei Stufen:
eine Setup-Stufe, eine Datenstufe und eine Statusstufe. Die Setup-Stufe besteht aus einer
SETUP-Transaktion 420 mit einem DATA0 PID. Die SETUP-Transaktion 420 spezifiziert,
daß eine EIN-Datenstufe folgt. Die Datenstufe besteht aus einer EIN-Transaktion 422 mit
einem DATA1 PID. Der EIN-Transaktion 423 folgt eine EIN-Transaktion 424 mit einem
DATA0 PID. Diesem Token folgen so viele Transaktionen, wie notwendig sind, um die be
nötigten Daten von der Einrichtung zu übertragen. Dies hängt sowohl von der Größe der Da
ten in der Einrichtung als auch von der Größe der übertragenen Pakete ab. Das DATA PID
ändert sich bei den in der Datenstufe verwendeten EIN-Transaktionen zwischen 1 und 0. Die
letzte EIN-Transaktion 426 beendet die Datenstufe. Die Statusstufe besteht aus einer einzigen
EIN-Transaktion 428 mit einem DATA1 PID.
In Fig. 4C ist eine keine-Daten-Steuerfolge gezeigt. Die keine-Daten-Steuerfolge umfaßt zwei
Stufen: eine Setup-Stufe und eine Statusstufe. Die Setup-Stufe besteht aus einer SETUP-
Transaktion 420 mit einem DATA0 PID. Die Statusstufe besteht aus einer einzigen AUS-
Transaktion 428 mit einem DATA1 PID.
Fig. 3 zeigt ein Flußdiagramm, das eine Setup-Transaktion wiedergibt. Die Transaktion be
ginnt mit einem SETUP-Token 310, der von dem Host gesendet wird. Eine Setup-Transaktion
umfaßt immer ein DATA0 PID für das Datenfeld. Die Einrichtung antwortet durch Senden
einer ACK-Quittung, um die SETUP-Transaktion abzuschließen.
Fig. 5 zeigt ein Flußdiagramm, das eine EIN-Transaktion wiedergibt. Die EIN-Transaktion
beginnt mit einem EIN-Token 415, der von dem Host an die Einrichtung gesendet wird. Die
Einrichtung sollte dann mit dem richtigen DATA-Paket (Datenpaket) 512 antworten (entwe
der ein DATA0- oder ein DATA1-Paket). Wenn die Einrichtung jedoch vorübergehend kein
DATA-Paket zurückgeben kann, sendet sie statt dessen eine NAK-Quittung 514 zurück. Wenn
die Einrichtung kein DATA-Paket zurücksenden kann, und der Host eingreifen muß, um ihren
Zustand wiederherzustellen, gibt sie eine STALL-Quittung 516 zurück. Beim Zurückgeben
eines DATA-Pakets 512 reagiert der Host mit einer ACK-Quittung 518 bei Empfang dieses
Pakets.
Fig. 6 zeigt ein Flußdiagramm, das eine AUS-Transaktion darstellt. Die AUS-Transaktion
beginnt mit einem AUS-Token 610, der von dem Host an die Einrichtung gesendet wird. Der
Host sendet dann das richtige DATA-Paket 612 (entweder ein DATA0- oder ein DATA1-
Paket). Wenn die Einrichtung das DATA-Paket 612 ohne Fehler empfängt und für den Emp
fang eines weiteren Pakets bereit ist, sendet sie eine ACK-Quittung 614 zurück. Wenn die
Einrichtung das DATA-Paket 612 ohne Fehler empfängt, der Host das Paket jedoch erneut
senden soll, gibt sie eine NAK-Quittung 616 zurück. Die NAK-Quittung wird verwendet,
wenn die gewünschte Funktion einer Einrichtung in einem Zustand ist, der es vorübergehend
verhindert, daß sie das DATA-Paket empfängt. Wenn die Einrichtung das DATA-Paket 612
empfängt, jedoch noch in einem Haltezustand ist, gibt sie eine STALL-Quittung zurück, uni
anzuzeigen, daß der Host nicht versuchen sollte, das Paket erneut zu senden. Wenn das
DATA-Paket 612 mit einem CRC-Fehler oder einem Bitfehler (Stuffing-Fehler) empfangen
wird, wird keine Quittung zurückgegeben.
Beim Anschließen einer Einrichtung an einen Host-Port verwendet der Host eine Steuer
schreibübertragung, um eine eindeutige Funktionsadresse zuzuweisen. Wie oben beschrieben
besteht eine erfolgreiche Steuerschreibübertragung aus einer SETUP-Transaktion, wenigstens
einer AUS-Transaktion und einer EIN-Transaktion. Die SETUP-Transaktion wird an die vor
eingestellte Adresse gerichtet. Die AUS-Transaktion(en) enthalten die eindeutige Funktions
adresse für die Einrichtung. Die EIN-Transaktion besteht aus dem EIN-Token von dem Host,
einem Null-Längen-DATA1-Paket von der Einrichtung an den Host und einer ACK-Quittung
von dem Host an die Einrichtung.
Um die Funktionsadresse zu enabeln setzt jede der Einrichtungen 124, 126, 132, 134 und 140
und Verteilerknoten 110, 122 und 130 ihrerseits/seinerseits ein Funktionsadressenbit. Nach
Beendigung der AUS-Transaktionen einer SETUP-Steuerübertragung zum Zuweisen einer
eindeutigen Funktionsadresse hat die Einrichtung die eindeutige Funktionsadresse empfan
gen. Diese Adresse wird in das Funktionsadressenregister der Einrichtung geladen, und das
Adressenablebit wird gesetzt. Der Host sendet dann einen EIN-Token, um die Statusstufe der
Setup-Steuerübertragung zu starten. Die Statusstufe wird dazu verwendet, die Beendigung der
Steuerübertragung zu bestätigen. Nach dem Laden einer eindeutigen Funktionsadresse wird
die voreingestellte Adresse beim Empfang des nächsten EIN-Tokens gelöscht. Die Einrich
tung sendet gleichzeitig ein DATA1-Paket an den Host. Das DATA1-Paket gibt an, daß der
Endpunkt nun in einem Zustand ist, in dem er von dem Host adressiert werden kann. Wenn
die Einrichtung vorübergehende Verzögerungen erfährt, kann sie statt dessen ein NAK-
Quittungspaket senden. Wenn die Einrichtung eine Fehlerbedingung erfährt, kann sie alterna
tiv STALL senden, um anzuzeigen, daß der Host nicht versuchen sollte, Daten wiederholt zu
senden.
Bei vielen USB-Netzen ist die Übertragung von Daten nicht vollständig fehlerfrei. Gelegent
lich werden Datenübertragungen behindert, und jede der oben beschriebenen Übertragungen
kann gestört sein.
Das Null-Längen-DATA1-Paket, das von der Einrichtung während der Statusstufe gesendet
wird, kann z. B. beschädigt sein oder auf seinem Weg durch das USB-Netz zu dem Host ein
fach verlorengehen. Während des Zeitfensters nach einem solchen Verlust sendet der Host
nicht die richtige ACK-Quittung, weil er das DATA1-Paket nicht richtig empfangen hat.
Statt dessen kann der Host versuchen, die SETUP-Steuerübertragung neu zu starten, indem er
einen SETUP-Token oder einen EIN-Token an die voreingestellte Adresse der Einrichtung
sendet. Da die Einrichtung ihr Voreinstellungsadreßbit gelöscht hat, reagiert sie auf diesen
Token nicht mehr.
Zusätzlich kann der Host bereits einen anderen Verteilerknoten-Port enabelt haben, der mit
einer noch nicht konfigurierten Einrichtung verbunden ist. Obwohl der SETUP-Token nicht
an die unkonfigurierte Einrichtung gerichtet ist, wird sie reagieren. Diese Reaktion kann wei
tere Fehler bewirken, insbesondere in dem Host, der die Bustopographie überwacht.
Es werden daher Verfahren und Vorrichtungen zum Vermeiden der möglichen Fehler benö
tigt, die sich aus der Störung oder dem Verlust bei Datenübertragungen während der SETUP-
Steuerübertragung ergeben.
Es ist eine Aufgabe der Erfindung, eine robuste Zuweisung einer Funktionsadresse mit Hilfe
einer SETUP-Steuerübertragung vorzusehen.
Es ist eine weitere Aufgabe der Erfindung, eine Funktionsadressenzuweisung abzuschließen,
selbst wenn einige der Daten, die während einer Setup-Steuerübertragung übertragen werden,
verlorengehen oder beschädigt wurden.
Es ist ein Vorteil der Erfindung, daß sie das undefinierte Zeitfenster vermeidet, das dem Ver
lust oder der Beschädigung eines DATA1-Pakets der Statusstufe folgt.
Es ist ein Merkmal eines Aspekts der Erfindung, daß sie eine eindeutige Funktionsadresse bei
Empfang einer gültigen ACK-Quittung nach der Statusphase oder bei Auftreten eines
SETUP-Tokens für eine andere Einrichtung zuläßt (enabelt).
Es ist ein Merkmal der Erfindung, eine Adressenzuweisung in zusammengesetzten Einrich
tungen mit mehreren Funktionsadressen zuzulassen.
Gemäß eines Aspekts der Erfindung weist eine USB-Einrichtung eine Voreinstellungsadresse
und ein Voreinstellungsadreß-Enablebit auf, wobei das Voreinstellungsadreß-Enablebit die
Verwendung der Voreinstellungsadresse ermöglicht (enabelt). Die Einrichtung empfangt ei
nen EIN-Token von einem Host; sendet ein DATA1-Paket an den Host; empfangt ACK von
dem Host; und löscht das Voreinstellungsadreßbit erst nach dem Empfang von ACK.
Gemäß eines weiteren Aspekts der Erfindung weist eine USB-Einrichtung eine Voreinstel
lungsadresse und ein Voreinstellungsadreß-Enablebit auf, wobei das Voreinstellungsadreß-
Enablebit die Verwendung der Voreinstellungsadresse ermöglicht. Die Einrichtung empfangt
einen EIN-Token von einem Host; sendet ein Null-Längen-DATA1-Paket an den Host; emp
fängt ein SETUP-Paket von dem Host; und löscht das Voreinstellungsadreß-Enablebit bei
Empfang des SETUP-Pakets.
Gemäß eines weiteren Aspekts der Erfindung umfaßt ein USB-Netz einen Host und mehrere
Einrichtungen, wobei die Einrichtungen jeweils eine Voreinstellungsadresse und ein Vorein
stellungsadreß-Enablebit aufweisen, und wobei das Voreinstellungsadreß-Enablebit die Ver
wendung der Voreinstellungsadresse ermöglicht. Ein Verfahren zum Betreiben des USB-
Netzes sendet einen EIN-Token von dem Host an eine erste Einrichtung; empfangt den EIN-
Token bei der ersten Einrichtung; sendet ein DATA1-Paket von der ersten Einrichtung an den
Host; empfängt das DATA1-Paket bei dem Host; sendet ACK von dem Host an die erste Ein
richtung; sendet einen SETUP-Token von dem Host an eine zweite Einrichtung; und löscht
das Voreinstellungsadreßbit der ersten Einrichtung bei Empfang von entweder ACK oder des
SETUP-Tokens.
Gemäß eines weiteren Aspekts der Erfindung verwendet eine USB-Einrichtung ein Vorein
stellungsadreß-Enablebit, wobei dann, wenn das Voreinstellungsadreß-Enablebit gesetzt ist,
die USB-Einrichtung auf eine Voreinstellungsadresse antwortet, und wenn das Voreinstel
lungsadreßbit gelöscht ist, antwortet die USB-Einrichtung nicht auf die Voreinstellungsadres
se, wobei das Voreinstellungsadreß-Enablebit bei Empfang einer ACK-Quittung während
einer Statusstufe einer Steuerübertragung gelöscht wird.
Die Erfindung mit ihren Aufgaben, Merkmalen und Vorteilen ist im folgenden mit weiteren
Einzelheiten anhand bevorzugter Ausführungsformen mit Bezug auf die Zeichnung näher
erläutert. In den Figur zeigt:
Fig. 1 ein Blockdiagramm eines universellen seriellen Bus-Netzes;
Fig. 2 zeigt ein Blockdiagramm einer bevorzugten Ausführungsform eines
Schnittstellenmoduls für eine universelle serielle Buseinrichtung gemäß der
Erfindung;
Fig. 3 ist ein Flußdiagramm des Datenablaufs in einem USB-Netz während einer SETUP-
Transaktion;
Fig. 4A ist ein Flußdiagramm des Datenablaufs in einem USB-Netz während einer Steuer
schreibübertragung;
Fig. 4B ist ein Flußdiagramm des Datenablaufs in einem USB-Netz während einer Steuer-
Leseübertragung;
Fig. 4C ist ein Flußdiagramm des Datenablaufs in einem USB-Netz während einer
keine-Daten-Steuerübertragung;
Fig. 5 ist ein Flußdiagramm des Datenablaufs in einem USB-Netz während einer EIN-
Transaktion;
Fig. 6 ist ein Flußdiagramm des Datenablaufs in einem USB-Netz während einer AUS-
Transaktion;
Fig. 7 zeigt ein Funktionsadreßregister für eine USB-Einrichtung gemäß einer bevorzugten
Ausführungsform der Erfindung;
Fig. 8 zeigt eine Gerätesteuereinrichtung für eine USB-Einrichtung gemaß einer bevorzugten
Ausführungsform der Erfindung;
Fig. 9 ist ein Flußdiagramm der Zuweisung der Funktionsadressen gemäß einer bevorzugten
Ausführungsform der Erfindung; und
Fig. 10 ist ein Flußdiagramm einer Steuertransaktion, welche eine eindeutige
Funktionsadresse gemäß einer Ausführungsform der Erfindung zuweist und enabelt.
Die in dieser Anmeldung beschriebene Erfindung ist ein Aspekt einer größeren Gruppe von
Erfindungen, die in den folgenden, ebenfalls anhängigen Anmeldungen derselben Anmelderin
beschrieben sind, und auf die hier Bezug genommen wird: US-Patentanmeldung Nr.
09/003,963, angemeldet am 7. Januar 1998, mit dem Titel "Apparatus and Method for Im
plementing a Versatile USB Endpoint Pipe"; US-Patentanmeldung Nr. 09/004,003, angemel
det am 7. Januar 1998, mit dem Titel "Apparatus and Method of Implementing a USB End
point Pipe with Double Buffering Support"; US-Patentanmeldung Nr. 09/004,004, angemel
det am 7. Januar 1998, mit dem Titel "An Apparatus and Method for Transmitting and Recei
ving Data Into and Out of a Universal Serial Bus Device"; US-Patentanmeldung Nr.
09/003,897, angemeldet am 7. Januar 1998, mit dem Titel "Apparatus and Method of Trans
mitting and Receiving USB Isochronous Data"; US-Patentanmeldung Nr. 09/004,002, ange
meldet am 7. Januar 1989, mit dem Titel "An Apparatus and Method for Handling Universal
Serial Bus Control Transfers"; US-Patentanmeldung Nr. 09/004,005, angemeldet am 7. Januar
1998, mit dem Titel "Apparatus and Method for Providing an Interface to a Compound Uni
versal Serial Bus Controller".
Zusätzlich wird auf das Dokument von National Semiconductor "USB Node Interface Archi
tecture Specification", Version 0.6, Bezug genommen, das als Anhang A dieser Anmeldung
beigefügt ist.
Mit Bezug auf Fig. 2 wird nun eine USB-Einrichtung 210 gemäß den Grundsätzen der Erfin
dung beschrieben. Die bevorzugte Ausführungsform der Einrichtung entspricht der Version
1.0 der USB-Spezifikation, während sie eine Reihe von Vorteilen gegenüber den herkömmli
chen USB-Einrichtungen aufweist. Die USB-Einrichtung 210 umfaßt ein USB-
Schnittstellenmodul 220, einen Registersatz 214, ein RAM 212 und ein BIU (Busschnittstel
leneinheit) 216.
Das Schnittstellenmodul 200 dient als Verbindung zu einem USB-Netz, um Daten zu senden
und zu empfangen. Das Schnittstellenmodul 200 ist auch mit dem Registersatz 214, dem
RAM 212 und dem BIU 216 über einen Kernbus 218 verbunden. Der Kernbus 218 ermöglicht
es dem Schnittstellenmodul 200, auf den Registersatz 214 und das RAM 212 zuzugreifen.
Der Registersatz 214 umfaßt ein Funktionsadressenregister und ein Gerätesteuerregister. In
Fig. 7 ist eine bevorzugte Ausführungsform eines Funktionsadressenregisters 710 gezeigt.
Das Funktionsadressenregister 710 ist 32 Bit lang und bietet Platz für vier Funktionsadressen.
Die Bits 0 bis 6 des Funktionsadressenregisters 710 bieten Platz für eine erste Funktions
adresse, die mit FA0 bezeichnet ist. Das Bit 7 bietet Platz für ein erstes Adreßenablebit, das
mit AE0 bezeichnet ist. Die Bits 8 bis 14 des Funktionsadressenregisters 710 bieten Platz für
eine zweite Funktionsadresse, die mit FA1 bezeichnet ist. Das Bit 15 bietet Platz für ein
zweites Adreßenabelbit, das mit AE1 bezeichnet ist. Die Bits 16 bis 22 des Funktionsadres
senregisters 710 bieten Platz für eine dritte Funktionsadresse, die mit FA2 bezeichnet ist. Das
Bit 23 bietet Platz für ein drittes Adreßenabelbit, das mit AE2 bezeichnet ist. Die Bits 24 bis
30 des Funktionsadressenregisters 710 bieten Platz für eine vierte Funktionsadresse, die mit
FA3 bezeichnet ist. Das Bit 31 bietet Platz für ein viertes Adreßenabelbit, das mit AE3 be
zeichnet ist.
Die vier Funktionsadressen FA0, FA1, FA2 und FA3 zusammen mit den vier Adreßenabelbits
AE0, AE1, AE2 und AE3 sind vorgesehen, um den Betrieb einer zusammengesetzten Ein
richtung mit bis zu vier Adressen zu unterstützen. Nachdem eine Funktionsadresse zugewie
sen ist, kann das zugehörige Adreßenabelbit gesetzt werden, uni die Verwendung der Funkti
onsadresse zu ermöglichen (enabeln).
In Fig. 8 ist eine bevorzugte Ausführungsform eines Gerätesteuerregisters 810 gezeigt. Das
Gerätesteuerregister 810 ist 16 Bit lang.
Das Bit 4 bietet Platz für ein erstes Voreinstellungsadressen-Enabelbit DEF0, das zu der er
sten Funktionsadresse FA0 gehört. Das Bit 5 bietet Platz für ein zweites Voreinstellungs-
Enablebit DEF1, das zu der zweiten Funktionsadresse FA1 gehört. Das Bit 6 bietet Platz für
ein drittes Voreinstellungsadressen-Enablebit DEF2, das zu der dritten Funktionsadresse FA2
gehört. Das Bit 7 bietet Platz für ein viertes Voreinstellungsadressen-Enablebit DEF3, das zu
der vierten Funktionsadresse FA3 gehört.
Die Voreinstellungs-Adressen-Enablebits werden dazu verwendet, anzuzeigen, ob die Ein
richtung (das Gerät) auf die voreingestellte Adresse antwortet. Wenn diese Bits gesetzt sind,
wird die Einrichtung auf die voreingestellte Adresse antworten, wenn sie gelöscht sind, wird
sie dies nicht tun.
Nachdem eine Funktionsadresse zugewiesen ist, wird das zugehörige Funktionsadressenbit
gesetzt, um anzuzeigen, daß die Adresse gültig ist. Danach wird die zugehörige Voreinstel
lungsadresse gelöscht, und die Einrichtung reagiert nicht mehr auf die voreingestellte Adresse
sondern auf die Funktionsadresse.
Mit Bezug auf Fig. 9 wird nun die Zuweisung von Funktionsadressen mit weiteren Einzel
heiten beschrieben. Die Zuweisung beginnt beim Block 910, wo eine USB-Einrichtung, die
vier mögliche Funktionsadressen hat, mit einer USB-Einrichtung verbunden wird. Im Block
912 prüft die USB-Einrichtung den Empfang eines SETUP-Tokens, der eine Steuerübertra
gung zum Zuweisen einer Funktionsadresse anzeigt. Beim Empfang eines solchen Tokens,
beim Block 916, führt die USB-Einrichtung die Steuerübertragung aus, weist FA0 zu und
setzt AE0. DEF0 wird von der Einrichtung gelöscht, wenn das nächste Mal in Antwort auf
einen EIN-Token ACK empfangen wird. Wenn ACK nicht innerhalb einer Zeitablaufperiode
empfangen wird und wenn der nächste Token ein SETUP ist, bewirkt auch dies, daß das
DEF0-Bit zurückgesetzt wird.
In Block 916 prüft die USB-Einrichtung wiederum den Empfang eines SETUP-Tokens, der
eine Steuerübertragung zum Zuweisen einer Funktionsadresse anzeigt. Bei Empfang eines
solchen Tokens in Block 918 führt die USB-Einrichtung die Steuerübertragung durch, weist
FA1 zu und setzt AE1. DEF1 wird wie oben beschrieben gelöscht. In Block 920 prüft die
USB-Einrichtung wiederum den Empfang eines SETUP-Tokens, der eine Steuerübertragung
für die Zuordnung einer Funktionsadresse anzeigt. Bei Empfang eines solchen Tokens, beim
Block 922, führt die USB-Einrichtung die Steuerübertragung durch, weist FA2 zu und setzt
AE2. DEF2 wird wie oben beschrieben gelöscht. Beim Block 924 prüft die USB-Einrichtung
wiederum den Empfang eines SETUP-Tokens, der eine Steuerübertragung für die Zuordnung
einer Funktionsadresse anzeigt. Beim Empfang eines solchen Tokens, beim Block 926, führt
die USB-Einrichtung die Steuerübertragung durch, weist FA3 zu und setzt AE3. DEF3 wird
wie oben beschrieben gelöscht. Damit ist die Zuordnung der vier Funktionsadressen abge
schlossen.
Abhängig davon, wie schnell die Funktionsadressen zugeordnet wurden, kann die Einrichtung
210 auf ein oder mehrere Funktionsadressen und eine voreingestellte Adresse reagieren.
Bevorzugte Ausführungsformen der Einrichtung aktivieren die Funktionsadressen abhängig
von den speziellen Bedürfnissen der Ausführungsform. Es können also von einer bis zu vier
Funktionsadressen zugewiesen werden.
Die Aktivierung (Enable) einer Funktionsadresse gemäß einer bevorzugten Ausführungsform
der Erfindung ist in Fig. 10 gezeigt. Bei einem Startblock 1010 wird eine USB-Einrichtung
mit einem USB-Netz verbunden und prüft einen SETUP-Token, der eine Steuerübertragung
zum Zuweisen einer Funktionsadresse angibt. Bei Empfang eines solchen Tokens geht die
Einrichtung zu Block 1012, wo sie die SETUP-Transaktion abschließt. Bei Beendigung der
SETUP-Transaktion geht die Einrichtung zum Block 1014, um einen AUS-Token zu empfan
gen. Die Einrichtung fährt dann fort, indem sie eine oder mehrere AUS-Transaktionen vollen
det. Diese Transaktionen enthalten eine eindeutige Funktionsadresse, die in dem passenden
Funktionsadressenregister gespeichert wird. Bei Beendigung der Datenstufe in Block 1014
prüft die Einrichtung einen EIN-Token. Bei Empfang des EIN-Tokens geht die Einrichtung
zum Block 1018 weiter, wo sie ein Null-Längen-DATA1-Paket sendet. Nach dem Senden des
DATA1-Pakets geht die Einrichtung zum Block 1020 weiter, wo sie auf den Empfang entwe
der einer ACK-Quittung oder auch eines anderen SETUP-Tokens wartet. Bei Empfang eines
der beiden geht die Einrichtung zum Block 1022 weiter, wo sie das zugehörige DEF-Bit
löscht. Dies ermöglicht (enable) die Verwendung der eindeutigen Funktionsadresse und sperrt
(disable) die Verwendung der zugehörigen voreingestellten Adresse.
Wenn die Einrichtung in Block 1020 weder eine ACK-Quittung noch einen SETUP-Token
empfängt, kehrt sie zum Block 1016 zurück, wo sie auf den Empfang eines neuen EIN-
Tokens wartet, um die Statusstufe neu zu starten. Wenn die EIN-Transaktion erneut versucht
wird (d. h. wenn kein ACK empfangen wurde), wird das DEF-Bit nicht gelöscht. Wenn also
die Transaktion erneut mit der voreingestellten Adresse versucht wird, wird sie noch immer
von dieser Einrichtung empfangen.
Durch Löschen des DEF-Bits erst nach dem Empfang einer ACK-Quittung eines EIN-Pakets
oder eines SETUP-Tokens vermeidet die Einrichtung Probleme im Zusammenhang mit dem
Verlust oder der Beschädigung eines DATA1-Pakets oder dem Verlust oder der Beschädi
gung einer ACK-Quittung.
Insbesondere wenn das DATA1-Paket verlorengeht oder beschädigt ist, sendet der Host kein
ACK. Der Host wird daher weiter versuchen, den Initialisierungsprozeß zu beenden, indem er
die Einrichtung bei der voreingestellten Adresse adressiert. Da die Einrichtung das Vorein
stellungsbit nicht gelöscht hat, wird sie weiter auf die voreingestellte Adresse reagieren. Da
durch kann der Host erneut versuchen, eine Startstufe zu starten, indem er wiederholt einen
EIN-Token an die voreingestellte Adresse sendet.
Wenn ACK von dem Host verlorengeht oder beschädigt wird, reagiert die Einrichtung noch
nicht auf ihre eindeutige Funktionsadresse. Da der Host jedoch keine Angaben darüber hat,
daß ACK von der Einrichtung nicht empfangen wurde, muß er annehmen, daß die Transakti
on ordnungsgemäß beendet wurde, und daß die Einrichtung nun auf ihre Funktionsadresse
antwortet. Der Host wird daher mit der Einrichtung des USB-Netzes fortfahren. Beim Senden
eines neuen SETUP-Tokens an eine zweite Einrichtung in dem Netz wird die erste Einrich
tung das Voreinstellungsadreßbit löschen und das Funktionsadreßbit setzen. Die erste Ein
richtung wird nun nur noch auf die Funktionsadresse antworten.
Obwohl die hier beschriebenen Ausführungsformen sich auf bestimmte Gerätestrukturen be
ziehen, kann die vorliegende Erfindung bei einer Vielzahl von anderen Einrichtungen und
Geräten angewendet werden, ohne den Bereich der Erfindung zu verlassen. Die Erfindung
wurde in Bezug auf eine Ausführungsform beschrieben, die einen Registerraum für ein Vor
einstellungsadreßbit, ein Funktionsadreß-Enablebit und ein Funktionsadressenregister hat,
alternative, äquivalente Ausführungsformen können jedoch andere Register- und Speicher
konfigurationen verwenden, um die Voreinstellungsadresse und die eindeutige Funktions
adresse zu enabeln oder zu disabeln. Der Fachmann wird aus den hier offenbarten Ausfüh
rungsformen sicher verstehen, daß viele Modifikationen möglich sind, ohne die Lehre der
Erfindung zu verlassen. All diese Modifikationen sollen vom Bereich der folgenden Ansprü
che umfaßt sein.
Die in der vorstehenden Beschreibung, den Ansprüchen und der Zeichnung offenbarten
Merkmale können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung
der Erfindung in ihren verschiedenen Ausführungsformen von Bedeutung sein.
Die Architektur der USB-Knotenschnittstelle ist in dem folgenden Anhang, der Teil der
Beschreibung ist, näher spezifiziert.
Claims (6)
1. Verfahren zum Betreiben einer USB-Einrichtung, wobei die USB-Einrichtung eine Vor
einstellungsadresse und ein Voreinstellungsadressen-Enablebit aufweist, wobei das Vor
einstellungsadressen-Enablebit die Verwendung der Voreinstellungsadresse ermöglicht,
mit folgenden Verfahrensschritten:
Empfang eines EIN-Tokens von einem Host;
Senden eines DATAl-Pakets an den Host;
Empfangen einer ACK-Quittung von dem Host; und
Löschen des Voreinstellungsadreßbits erst nach dem Empfang der ACK-Quittung.
Empfang eines EIN-Tokens von einem Host;
Senden eines DATAl-Pakets an den Host;
Empfangen einer ACK-Quittung von dem Host; und
Löschen des Voreinstellungsadreßbits erst nach dem Empfang der ACK-Quittung.
2. Verfahren zum Betreiben einer USB-Einrichtung, wobei die USB-Einrichtung eine Vor
einstellungsadresse und ein Voreinstellungsadressen-Enablebit aufweist, wobei das Vor
einstellungsadressen-Enablebit die Verwendung der Voreinstellungsadresse ermöglicht,
mit folgenden Verfahrensschritten:
Empfangen eines EIN-Tokens von einem Host;
Senden eines Null-Längen-DATA1-Pakets an den Host:
Empfangen eines SETUP-Pakets von dem Host; und
Löschen des Voreinstellungsadressen-Enablebits bei Empfang des SETUP-Pakets.
Empfangen eines EIN-Tokens von einem Host;
Senden eines Null-Längen-DATA1-Pakets an den Host:
Empfangen eines SETUP-Pakets von dem Host; und
Löschen des Voreinstellungsadressen-Enablebits bei Empfang des SETUP-Pakets.
3. Verfahren nach Anspruch 2, bei dem ferner während einer Zeitablaufperiode auf den
Empfang einer ACK-Quittung gewartet wird.
4. Verfahren zum Betreiben eines USB-Netzes, wobei das USB-Netz einen Host und mehre
re Einrichtungen aufweist, und wobei die Einrichtungen eine Voreinstellungsadresse und
Voreinstellungsadressen-Enablebit aufweisen, wobei das Voreinstellungsadressen-
Enablebit die Verwendung der Voreinstellungsadresse ermöglicht, mit folgenden Verfah
rensschritten:
Senden eines EIN-Tokens von dem Host an eine erste Einrichtung;
Empfangen des EIN-Tokens bei der ersten Einrichtung;
Senden eines DATA1-Pakets von der ersten Einrichtung an den Host;
Empfangen des DATA1-Pakets bei dem Host;
Senden einer ACK-Quittung von dem Host an die erste Einrichtung;
Senden eines SETUP-Tokens von dem Host an eine zweite Einrichtung; und
Löschen des Voreinstellungsadressen-Enablebits der ersten Einrichtung bei Empfang ent weder der ACK-Quittung oder des SETUP-Tokens.
Senden eines EIN-Tokens von dem Host an eine erste Einrichtung;
Empfangen des EIN-Tokens bei der ersten Einrichtung;
Senden eines DATA1-Pakets von der ersten Einrichtung an den Host;
Empfangen des DATA1-Pakets bei dem Host;
Senden einer ACK-Quittung von dem Host an die erste Einrichtung;
Senden eines SETUP-Tokens von dem Host an eine zweite Einrichtung; und
Löschen des Voreinstellungsadressen-Enablebits der ersten Einrichtung bei Empfang ent weder der ACK-Quittung oder des SETUP-Tokens.
5. USB-Einrichtung mit einem Voreinstellungsadressen-Enablebit, bei der dann, wenn das
Voreinstellungsadressen-Enablebit gesetzt ist, die USB-Einrichtung auf eine Voreinstel
lungsadresse antwortet, und wenn das Voreinstellungsadressen-Enablebit gelöscht ist, die
USB-Einrichtung auf die Voreinstellungsadresse nicht antwortet, und bei der das Vorein
stellungsadressen-Enablebit bei Empfang einer ACK-Quittung während einer Statusstufe
einer Steuerübertragung gelöscht wird.
6. USB-Einrichtung nach Anspruch 5 , bei der das Voreinstellungsadressen-Enablebit auch
gelöscht wird, nachdem während der Statusstufe der Steuerübertragung ein DATA1-Paket
gesendet wird und/oder ein SETUP-Token für eine Steuerübertragung von einer anderen
Einrichtung empfangen wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US392598 | 1998-01-07 | ||
US09/003,925 US6353866B1 (en) | 1998-01-07 | 1998-01-07 | Apparatus and method for initializing a universal serial bus device |
US09/003925 | 1998-01-07 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE19900290A9 DE19900290A9 (de) | |
DE19900290A1 true DE19900290A1 (de) | 1999-07-08 |
DE19900290B4 DE19900290B4 (de) | 2005-02-24 |
Family
ID=21708254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19900290A Expired - Fee Related DE19900290B4 (de) | 1998-01-07 | 1999-01-07 | Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung |
Country Status (3)
Country | Link |
---|---|
US (2) | US6353866B1 (de) |
KR (1) | KR100290945B1 (de) |
DE (1) | DE19900290B4 (de) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6886055B2 (en) * | 1997-12-15 | 2005-04-26 | Clearcube Technology, Inc. | Computer on a card with a remote human interface |
US6353866B1 (en) * | 1998-01-07 | 2002-03-05 | National Semiconductor Corporation | Apparatus and method for initializing a universal serial bus device |
US7203787B2 (en) * | 1999-01-25 | 2007-04-10 | Canon Kabushiki Kaisha | Information processing apparatus and method that utilizes stored information about a mountable device |
GB2350212B (en) * | 1999-02-09 | 2003-10-08 | Adder Tech Ltd | Data routing device and system |
US6609167B1 (en) * | 1999-03-17 | 2003-08-19 | Adaptec, Inc. | Host and device serial communication protocols and communication packet formats |
US6600739B1 (en) * | 1999-06-07 | 2003-07-29 | Hughes Electronics Corporation | Method and apparatus for switching among a plurality of universal serial bus host devices |
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 |
US6813251B1 (en) | 1999-07-27 | 2004-11-02 | Intel Corporation | Split Transaction protocol for a bus system |
US7836236B2 (en) | 2004-02-12 | 2010-11-16 | Super Talent Electronics, Inc. | Extended secure-digital (SD) devices and hosts |
US7512082B1 (en) * | 1999-12-14 | 2009-03-31 | Intel Corporation | Tracking transaction status for a bus system providing legacy bus compatibility |
US7165109B2 (en) * | 2001-01-12 | 2007-01-16 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device |
JP3497834B2 (ja) * | 2001-03-30 | 2004-02-16 | 株式会社東芝 | ルートリピータ、usb通信システム、usb通信制御方法 |
KR100395664B1 (ko) * | 2001-08-20 | 2003-08-25 | 엠텍비젼 주식회사 | 범용 직렬 버스 장치 및 그의 초기화 방법 |
US7028124B2 (en) * | 2001-09-26 | 2006-04-11 | Intel Corporation | Method and apparatus for dual queue head processing of interrupt endpoints |
US7162306B2 (en) * | 2001-11-19 | 2007-01-09 | Medtronic Physio - Control Corp. | Internal medical device communication bus |
US7139839B2 (en) * | 2001-11-26 | 2006-11-21 | Schneider Automation Inc. | Method and apparatus for assigning a network node address |
US6792478B2 (en) * | 2002-03-29 | 2004-09-14 | Intel Corporation | System and method to configure input/output (IO) devices to use selected pairs of port addresses |
US7080189B1 (en) * | 2002-05-31 | 2006-07-18 | Cypress Semiconductor Corp. | USB device communication |
US20040043674A1 (en) * | 2002-08-28 | 2004-03-04 | Dunne Denise E. | DSX jack including contact |
US6976105B1 (en) * | 2002-12-11 | 2005-12-13 | Cypress Semiconductor Corp. | Apparatus and method for attaching multiple devices to a host |
US20040122651A1 (en) * | 2002-12-23 | 2004-06-24 | Samsung Electronics Co., Ltd | Apparatus and method for ethernet emulation in a 3RD generation wireless mobile station |
JP4420647B2 (ja) * | 2003-04-15 | 2010-02-24 | シャープ株式会社 | 制御システム |
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 |
US7069369B2 (en) * | 2004-02-12 | 2006-06-27 | Super Talent Electronics, Inc. | Extended-Secure-Digital interface using a second protocol for faster transfers |
US8060670B2 (en) * | 2004-03-17 | 2011-11-15 | Super Talent Electronics, Inc. | Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device |
US7188206B2 (en) * | 2004-10-22 | 2007-03-06 | Conwise Technology Corporation Ltd. | USB compound device without embedded hub and implement method in USB system |
US20080126628A1 (en) * | 2006-11-29 | 2008-05-29 | Sony Ericsson Mobile Communications Ab | Methods, devices and computer program products for automatically providing an alternate usb configuration of a usb compliant peripheral device for exposure to a host computer |
US8171502B2 (en) * | 2006-11-29 | 2012-05-01 | Sony Ericsson Mobile Communications Ab | Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer |
US8315269B1 (en) | 2007-04-18 | 2012-11-20 | Cypress Semiconductor Corporation | Device, method, and protocol for data transfer between host device and device having storage interface |
US20080276009A1 (en) * | 2007-05-04 | 2008-11-06 | Joe Mesa | Enabling Efficient Communication Between a Host and Multiple USB Devices |
TWI448902B (zh) * | 2007-08-24 | 2014-08-11 | Cypress Semiconductor Corp | 具頁存取基礎處理器介面之橋接裝置 |
US8090894B1 (en) | 2007-09-21 | 2012-01-03 | Cypress Semiconductor Corporation | Architectures for supporting communication and access between multiple host devices and one or more common functions |
US7895387B1 (en) | 2007-09-27 | 2011-02-22 | Cypress Semiconductor Corporation | Devices and methods for sharing common target device with two different hosts according to common communication protocol |
US7908421B2 (en) * | 2008-09-30 | 2011-03-15 | Intel Corporation | Universal serial bus endpoint context caching |
US8370550B2 (en) * | 2010-02-12 | 2013-02-05 | Microsoft Corporation | Rule-based assignment of control of peripherals of a computing device |
US9104252B2 (en) | 2010-02-12 | 2015-08-11 | Microsoft Technology Licensing, Llc | Assignment of control of peripherals of a computing device |
US8805855B2 (en) * | 2012-08-17 | 2014-08-12 | International Business Machines Corporation | Efficiently storing and retrieving data and metadata |
US11023402B2 (en) * | 2019-07-02 | 2021-06-01 | National Instruments Corporation | Switch pruning in a switch fabric bus chassis |
US11316741B1 (en) * | 2020-11-23 | 2022-04-26 | Netskope, Inc. | Multi-environment networking management system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675571A (en) * | 1993-06-25 | 1997-10-07 | D2B Systems Company Limited | D2B divice address initialization by use of default address |
WO1996041274A1 (en) | 1995-06-07 | 1996-12-19 | Advanced Micro Devices, Inc. | Dynamically reconfigurable data bus |
US5675813A (en) * | 1995-10-26 | 1997-10-07 | Microsoft Corporation | System and method for power control in a universal serial bus |
US5751951A (en) | 1995-10-30 | 1998-05-12 | Mitsubishi Electric Information Technology Center America, Inc. | Network interface |
US5848293A (en) | 1995-11-03 | 1998-12-08 | Sun Microsystems, Inc. | Method and apparatus for transmission and processing of virtual commands |
US5729721A (en) | 1995-11-13 | 1998-03-17 | Motorola, Inc. | Timebase synchronization in separate integrated circuits or separate modules |
US5774680A (en) | 1995-12-11 | 1998-06-30 | Compaq Computer Corporation | Interfacing direct memory access devices to a non-ISA bus |
US5835791A (en) | 1996-03-26 | 1998-11-10 | Vlsi Technology, Inc. | Versatile connection of a first keyboard/mouse interface and a second keyboard/mouse interface to a host computer |
US5841471A (en) | 1996-09-12 | 1998-11-24 | Eastman Kodak Company | Timing control for a digitally interfaced camera using variable line readout intervals |
US5818948A (en) | 1996-10-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Architecture for a universal serial bus-based PC speaker controller |
US5778218A (en) | 1996-12-19 | 1998-07-07 | Advanced Micro Devices, Inc. | Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates |
US6009480A (en) * | 1997-09-12 | 1999-12-28 | Telxon Corporation | Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device |
US6353866B1 (en) * | 1998-01-07 | 2002-03-05 | National Semiconductor Corporation | Apparatus and method for initializing a universal serial bus device |
-
1998
- 1998-01-07 US US09/003,925 patent/US6353866B1/en not_active Expired - Fee Related
-
1999
- 1999-01-06 KR KR1019990000089A patent/KR100290945B1/ko not_active IP Right Cessation
- 1999-01-07 DE DE19900290A patent/DE19900290B4/de not_active Expired - Fee Related
-
2001
- 2001-09-19 US US09/955,618 patent/US6415343B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR19990067734A (ko) | 1999-08-25 |
KR100290945B1 (ko) | 2001-05-15 |
US20020023189A1 (en) | 2002-02-21 |
DE19900290B4 (de) | 2005-02-24 |
US6353866B1 (en) | 2002-03-05 |
US6415343B1 (en) | 2002-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19900290A1 (de) | Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung | |
DE60020046T3 (de) | Architektur einer USB-basierten PC-Flashspeicherkarte | |
DE69936960T2 (de) | Seitendrucker und Seitendrucksystem | |
DE60035882T2 (de) | Protokoll einer zerteilten transaktion für ein bussystem | |
DE69821050T2 (de) | Datenstromdifferenzierungssystem für Endgerätemulator | |
DE69836426T2 (de) | Steuergerät für einen universellen seriellen Bus | |
EP1456722B1 (de) | Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer | |
DE69929142T2 (de) | Verfahren zur Bilddatenübertragung unter Verwendung von einem IEEE 1394 Bus | |
DE3204905C2 (de) | ||
DE19900245A1 (de) | Vorrichtung und Verfahren zum Senden und Empfangen von USB-Isochrondaten | |
DE60132872T2 (de) | Anordnung und Verfahren für eine Schnittstelleneinheit um Daten zwischen einem Hauptprozessor und einem digitalen Signalprozessor im asynchronen Übertragungsmodus zu übertragen | |
DE19900290A9 (de) | Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung | |
DE2726811A1 (de) | Daten-management-systeme fuer rechenanlagen | |
DE602004008545T2 (de) | Methode und Datenstruktur zum wahlfreien Zugriff über eine Busverbindung | |
DE19900369A9 (de) | Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus | |
DE2209136B2 (de) | Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen | |
DE60027357T2 (de) | Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet | |
DE19900251B4 (de) | Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals | |
DE60027941T2 (de) | Paketübertragungsvorrichtung mit Verwaltungsmittel zur Packungsetikettenverwaltung | |
DE10249430A1 (de) | Fern-Firmware-Aktualisierung über I/O-Verbindung | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE69932891T2 (de) | Informationsverarbeitungsgerät und -verfahren, und Darstellungsmedium | |
DE60023429T2 (de) | Geräteregistrierung in einem Netzwerk | |
DE19580195C2 (de) | Verfahren und Einrichtung zur Signalübertragung über eine gemeinsame Leitung | |
DE19818828B4 (de) | X.25 Netzverbindungsvorrichtung für eine in einem voll elektronischen Vermittlungssystem verwendete X.25 Protokoll Kommunikation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8180 | Miscellaneous part 1 |
Free format text: ES ERFOLGT ERGAENZUNGSDRUCK DES FEHLENDEN ANHANGS |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |