DE60310586T2 - Busanschluss-system - Google Patents

Busanschluss-system Download PDF

Info

Publication number
DE60310586T2
DE60310586T2 DE60310586T DE60310586T DE60310586T2 DE 60310586 T2 DE60310586 T2 DE 60310586T2 DE 60310586 T DE60310586 T DE 60310586T DE 60310586 T DE60310586 T DE 60310586T DE 60310586 T2 DE60310586 T2 DE 60310586T2
Authority
DE
Germany
Prior art keywords
host
station
bus
port
usb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60310586T
Other languages
English (en)
Other versions
DE60310586D1 (de
Inventor
Y. Chee NG
K. Yeow CHANG
Jerome Tjia
Kawshol Sharma
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60310586D1 publication Critical patent/DE60310586D1/de
Application granted granted Critical
Publication of DE60310586T2 publication Critical patent/DE60310586T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

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)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Mechanical Coupling Of Light Guides (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Busanschluss-System, und insbesondere auf eine Vorrichtung, die mit elektronischer Ausrüstung in einem Buskommunikationssystem verwendet werden kann, um es der Ausrüstung zu ermöglichen, mit einem Host innerhalb des Systems zu agieren.
  • Das Universal Serial Bus (USB-) Kommunikationssystem wird in immer größerem Umfang eingesetzt.
  • In einem USB-System ist es möglich, viele Elemente elektronischer Ausrüstung, zum Beispiel Personal Computer, Scanner, Mobiltelefone, Drucker, usw. miteinander zu verbinden. In jedem System wird ein Element der Ausrüstung immer als USB-Host bezeichnet, der Verbindungen zu allen anderen Elementen, oder USB-Geräten, steuert. Personal Computer verfügen typischerweise über die Hardware und Software, die benötigt wird, um ihnen zu erlauben, als USB-Host zu agieren, aber andere Element sind typischerweise nicht mit der erforderlichen Hardware und Software ausgestattet und können daher nur als USB-Geräte agieren.
  • Es gibt jedoch Situationen, in denen es für ein Ausrüstungselement nützlich wäre, als USB-Host agieren zu können, ohne dass größere Modifikationen an der Ausrüstung erforderlich sind.
  • In dem Dokument US 5.784.581 wird ein Gerät beschrieben, das als ein USB-Slave-Gerät agieren kann, wenn ein USB-Host an einen privilegierten Port angeschlossen ist, oder alternativ als USB-Host für ein mit einem zweiten Port verbundenes Slave-Gerät agieren kann, wenn kein USB-Host mit dem privilegierten Port verbunden ist.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird eine Busstation geschaffen, vorzugsweise in der Form eines Hardware-Dongles, der mit dem Buskommunikationsport eines Buskommunikationsgeräts verbunden werden kann, um es ihm zu ermöglichen, als Bus-Host zu agieren. In bevorzugten Ausführungsformen der Erfindung arbeitet die Busstation in dem USB-System, obwohl die Erfindung auch auf andere Buskommunikationssysteme anwendbar ist.
  • Insbesondere sieht ein Aspekt der vorliegenden Erfindung eine Busstation vor, die, wenn sie feststellt, dass ein Bus-Host mit einem ersten Buskommunikationsport hiervon verbunden ist, als ein Transceiver agiert, um herkömmliche Buskommunikationen zwischen dem genannten Bus-Host und einem mit einem zweiten Buskommunikationsport hiervon verbundenen Bus-Gerät zu erlauben; und die, wenn sie feststellt, dass ein Bus-Gerät mit geeigneter Software mit dem ersten Buskommunikationsport hiervon verbunden ist, als ein alternativer Host agiert, um Buskommunikationen zwischen dem genannten, mit dem ersten Buskommunikationsport verbundenen Bus-Gerät und einem mit einem zweiten Buskommunikationsport verbundenen Bus-Gerät zu erlauben.
  • Die Erfindung ist in den unabhängigen Ansprüchen 1, 4 und 5 beschrieben.
  • 1 zeigt ein schematisches Blockschaltbild eines Buskommunikationssystems.
  • 2 zeigt ein Blockschaltbild der Hardware und Software in dem System aus 1.
  • 3 zeigt einen Ablaufplan, der ein Verfahren gemäß einem Aspekt der vorliegenden Erfindung darstellt.
  • 1 zeigt ein schematisches Blockschaltbild eines erfindungsgemäßen Buskommunikationssystems.
  • Das System 2 umfasst ein erstes USB-Gerät 4 mit einem USB-Port 6, ein zweites USB-Gerät 8 und einen Dongle 10.
  • In dieser dargestellten Ausführungsform ist das erste USB-Gerät 4 ein Personal Digital Assistant (PDA), es versteht sich jedoch, dass die Erfindung auf jedes USB-Gerät anwendbar ist, zum Beispiel auf eine Mobilkommunikationsvorrichtung, eine Digitalkamera oder einen Personal Organizer.
  • Das zweite USB-Gerät 8 kann jegliches USB-Gerät sein, unter anderem ein Drucker, eine Maus, eine Festplatte oder ein Modem.
  • Der Dongle 10 umfasst einen eingebetteten USB-Host/Geräte-Controller 12 mit einem ersten Host-Port H1 und einem zweiten Host-Port H2, und eine Mikrocontroller-Einheit (MCU) 14 mit niedriger Verlustleistung.
  • Der erste Host-Port H1 des Dongles 10 kann, wie in 1 dargestellt, mit dem USB-Port 6 des PDA 4 verbunden sein. Wenn der erste Host-Port H1 des Dongles 10 mit dem USB-Port 6 des PDA 4 verbunden ist, wird das PDA wirksam in die Lage versetzt, als USB-Host zu agieren, und der zweite Host-Port H2 des Dongles 10 funktioniert dann wirksam als Host-Port des PDA 4. Auf diese Weise kann das PDA 4 die Kommunikation mit jedem USB-Gerät steuern, das mittels eines USB-Bus 15 mit dem zweiten Host-Port H2 des Dongles 10 verbunden ist.
  • Es ist zu beachten, dass obwohl der erste Host-Port H1 und der zweite Host-Port H2 hier als mit dem gleichen USB-Host/Geräte-Controller 12 verbunden dargestellt sind, es für die MCU 14 auch möglich wäre, über zwei unabhängige USB-Host/Geräte-Controller mit dem ersten Host-Port H1 und dem zweiten Host-Port H2 zu kommunizieren, wobei der erste speziell für die Kommunikation mit dem PDA 4 vorgesehen ist und der zweite speziell für die Kommunikation mit dem oder den angeschlossenen USB-Gerät(en) 8.
  • Damit das PDA 4 als ein USB-Host agieren kann, wenn es mit dem Dongle 10 verbunden ist, benötigt das PDA 4 ein Treiber-Update.
  • Das Treiber-Update ist speziell für das betreffende verwendete USB-Gerät vorgesehen und dient dazu, einen Virtual Hardware Abstraction Layer (VirtualHAL) Softwaretreiber hinzuzufügen, der zusätzlich zu der vorhandenen USB-Gerätehardware in dem PDA 4 läuft.
  • 2 zeigt ein Blockschaltbild der Hardware und Software in dem System aus 1.
  • Wie es üblich ist, hat das USB-Gerät 4 ein Betriebssystem 18, einen Host-Stack 20 und Geräte-Stack und Geräte-Hardware 22. Um als USB-Host agieren zu können, läuft auf dem PDA 4 auch die VirtualHAL-Treibersoftware 16. Wenn die VirtualHAL-Treibersoftware 16 auf dem USB-Gerät 4 läuft, wird es hier gelegentlich als HostOnDevice bezeichnet.
  • Der Dongle 10 umfasst Host-Hardware 12 (d.h. den USB-Host-Controller), MCU 14 und SoftHost Firmware 24.
  • Die SoftHost-Protokollschicht, die nachfolgend ausführlicher beschrieben wird, steuert die Kommunikation zwischen dem Gerät 4 und dem Dongle 10 über den Dongle-Anschluss 28.
  • 3 zeigt einen Ablaufplan für den Betrieb des Dongles 10 unter der Steuerung der MCU 14. Nach dem Einschalten bei Schritt 32 in 3 fragt die MCU den ersten Host-Port H1 in Schritt 34 zyklisch ab, um festzustellen, ob eine Verbindung hierzu besteht. Ist keine Verbindung vorhanden, endet der Prozess bei Schritt 36.
  • Ist eine Verbindung vorhanden, bestimmt die MCU in Schritt 38, ob ein USB-Host mit dem ersten Host-Port H1 verbunden ist. Ist ein USB-Host mit dem ersten Host-Port H1 verbunden, fährt der Prozess mit Schritt 40 fort, bei dem der Dongle 10 als ein USB-Transceiver agiert. Das bedeutet, er leitet die Kommunikation direkt zwischen dem ersten Host-Port H1 und dem zweiten Host-Port H2 weiter, und ermöglicht es damit dem angeschlossenen USB-Host, die Kommunikation mit jedem USB-Gerät (oder allen USB-Geräten) zu steuern, das (die) auf herkömmliche Weise mit dem zweiten Host-Port H2 verbunden ist bzw. sind.
  • Wenn die MCU in Schritt 38 feststellt, dass ein USB-Gerät und kein USB-Host mit dem ersten Host-Port H1 verbunden ist, fährt der Prozess mit Schritt 41 fort, in dem ermittelt wird, ob ein USB-Host mit dem zweiten Host-Port H2 verbunden ist. Ist dies der Fall, wirkt in Schritt 42 der USB-Gerätekern innerhalb des USB Host/Geräte-Controllers 12 darauf hin, eine herkömmliche USB-Kommunikation zwischen dem mit dem ersten Host-Port H1 verbundenen USB-Gerät und dem mit dem zweiten Host-Port H2 verbundenen USB-Host zu ermöglichen.
  • Wenn ein USB-Gerät mit dem zweiten Host-Port H2 verbunden ist, enummeriert die MCU 14 das mit dem ersten Host-Port H1 verbundene USB-Gerät in Schritt 43 und prüft, ob es sich um ein Gerät handelt, auf dem VirtualHAL läuft. Wenn die MCU in Schritt 43 feststellt, dass auf dem angeschlossenen Gerät 4 VirtualHAL nicht läuft, wird sie das Gerät 4 in Schritt 44 deaktivieren und zum Beispiel eine blinkende LED auslösen, die signalisiert, dass das angeschlossene Gerät 4 VirtualHAL nicht unterstützt.
  • Wenn die MCU in Schritt 42 feststellt, dass auf dem angeschlossenen Gerät 4 VirtualHAL läuft, (d.h. dass es einen VirtualHAL-Treiber 16 hat), wird die MCU 14 in Schritt 46 in eine Betriebsart wechseln und es dem Dongle 10 (zusammen mit dem Gerät 4) ermöglichen, als alternativer USB-Host zu agieren. In dieser Betriebsart, die nachstehend ausführlicher beschrieben wird, kann der Dongle 10 die Kommunikation mit jedem USB-Gerät (oder allen USB-Geräten) steuern, das (die) mit dem zweiten Host-Port H2 verbunden ist bzw. sind.
  • Bei einem herkömmlichen System, wo ein Personal Computer ein USB-Host ist, greift ein Host-Stack über die HostHAL auf die zugrunde liegende USB-Hardware zu. Auf ähnliche Weise greift in einem herkömmlichen PDA USB-Gerät ein Geräte-Stack über eine DeviceHAL auf die zugrunde liegende USB-Hardware zu.
  • In dem SoftHost-System kommuniziert jedoch erfindungsgemäß der Host-Stack, wenn er (oder die Host-Station-Treibersoftware) 20 auf die Host-Hardware 12 zugreifen muss, die Details für die Zugriffsoperation an den VirtualHAL-Treiber 16. Der VirtualHAL-Treiber 16 verpackt diese Details für die Zugriffsoperation in einem vorgegebenen SoftHost-Protokoll. Das SoftHost-Protokollpaket wird durch die vorhandene USB-Gerätehardware 22 gesendet, wenn der SoftHost-Dongle 10 sie nach ausstehenden SoftHost-Protokollpaketen fragt.
  • Die VirtualHAL-Treibersoftware 16 emuliert somit die Anwesenheit eines Host-Controllers gegenüber der Host-Station-Treibersoftware. Das bedeutet, dass sich die Kommunikation mit dem VirtualHAL-Treiber 16 aus der Sicht des Host-Stack 20 nicht von der Kommunikation mit einer HostHAL in einem herkömmlichen System unterscheidet. Der Host-Stack 20 wird eine tatsächliche Host-Hardware durch den VirtualHAL-Treiber 16 sehen.
  • Umgekehrt emuliert die VirtualHAL-Treibersoftware 16 die Anwesenheit eines Geräte-Controllers gegenüber dem Geräte-Controller (oder Geräte-Stack) 22. Die VirtualHAL-Treibersoftware 16 überträgt somit die Kommunikation zwischen der Host-Station-Treibersoftware 20 und dem Geräte-Controller.
  • Das SoftHost-Protokoll liefert die folgenden Zugriffsfunktionen:
    Lesen eines Registers in der Dongle Host-Hardware 12
    Schreiben eines Registers in der Dongle Host-Hardware 12
    Lesen eines Pufferspeichers in der Dongle-Host-Hardware 12
    Schreiben in einen Pufferspeicher in der Dongle-Host-Hardware 12.
    Weiterführende Funktionen könnten hinzugefügt werden, um die Systemleistung zu verbessern, zum Beispiel eine Funktion, die ein Register liest, es über UND/ODER mit einem Wert verknüpft und den geänderten Wert in das Register zurückschreibt.
  • Das SoftHost-Protokoll definiert das Verfahren, mit dem der Host-Stack 20, der auf VirrtualHAL läuft, unter Verwendung der Geräte-Controller-Hardware auf die Hardware des Host-Controllers 12 zugreifen kann. Das SoftHost-Protokoll wird nachstehend ausführlicher beschrieben. In dieser Beschreibung wird der Ausdruck „HostDongle" verwendet, um den Dongle 10 zu bezeichnen, während der Ausdruck „HostOnDevice" verwendet wird, um das Gerät 4 zu bezeichnen, nämlich ein eingebettetes System mit USB-Gerätehardware 22, das einen Host-Stack 20 auf VirtualHAL 16 ausführt.
  • Das SoftHost-Protokoll beginnt am Ende von 3, an dem Punkt, wo der HostDongle 10 das angeschlossene Gerät 4 enummeriert hat und das angeschlossene Gerät 4 als ein HostOnDevice bestätigt wurde.
  • In der Betriebsart richtet die MCU 14 eine Unterbrechungspipeline ein und fragt den VirtualHAL-Treiber 16 jede Millisekunde nach Daten ab. Daten, die zwischen dem Gerät 4 und dem Dongle 10 gesendet werden, werden mit Hilfe des SoftHost-Protokolls in Form von SoftHost-Paketen gesendet. Wenn der Host-Stack 20 auf dem PDA 4 eine Hardware-Zugriffsanforderung über den VirtualHAL-Treiber 16 gesendet hat, wird der VirtualHAL-Treiber 16 die Anforderung als ein SoftHost-Paket senden, wenn der erste Host-Port H1 des Dongles 10 es über die Unterbrechungspipeline abfragt.
  • Die MCU 14 wird dieses SoftHost-Paket aus dem Pufferspeicher des eingebetteten USB-Host-Controllers 12 abrufen und den Hardware-Zugriff entsprechend ausführen. Wenn es Daten zurückzusenden gibt (Leseoperationen), wird die MCU 14 die entsprechenden Daten über Host 1 senden.
  • Verkehr
  • Der HostDongle 10 und das HostOnDevice 4 kommunizieren unter Verwendung einer speziellen bidirektionalen Bulk-Pipeline. Es gibt vier Arten von Nutzinformationen.
  • HRU
    (HostDongle Request Unit) Gesendet durch HostDongle 10 Ein Bulk-Paket von 8 Bytes Nutzinformation Verwendet zum Abfragen des HostOnDevice 4 Kann Unterbrechungsinformationen enthalten (HRU_IRQ) HostDongle 10 sendet IMMER ein Bulk-in von 64 Bytes nach dem Senden der HRU. HostOnDevice 4 würde über dieses Bulk-in mit NOB oder CRP antworten.
    NOB
    (No Outstanding Business) Gesendet durch HostOnDevice 4 Ein Bulk-Paket von 8 Bytes Nutzinformation Gesendet, wenn es keine ausstehenden Transaktionen gibt
    CRP
    (Common Request Packet) Gesendet durch HostOnDevice 4 Ein Bulk-Paket von 16–64 Bytes Enthält die Ergebnisse der zuvor empfangenen CRP-Befehle und einen optimalen Datensatz
    APR
    (As Per Requested) Gesendet durch HostDongle 10 Ein Bulk-Paket von 16–64 Bytes
  • Der Ablauf
  • Wie bei allen USB-System beginnen Transfers mit einer Aktion durch den Host. Im Fall des SoftHost-Protokolls ist der SoftHost Dongle 10 immer der Host. Alle SoftHost-Transferzyklen beginnen mit einer HRU, wie oben definiert. Der aktuelle Transferzyklus muss abgeschlossen sein, bevor der HostDongle 10 den nächsten Transferzyklus startet.
  • Poll-Nothing Cycle: HRU-NOB
    • HostDongle 10 fragt das HostOnDevice 4 nach ausstehenden Befehlssätzen ab. Wenn es keine ausstehenden Befehlssätze gibt, antwortet das HostOnDevice 4 mit NOB.
  • Transaktionen:
    • HostDongle 10 sendet BULK-OUT
    • HostDongle 10 sendet DATA (HRU)
    • HostOnDevice 4 sendet ACK
    • HostDongle 10 sendet BULK-IN
    • HostOnDevice 4 sendet DATA (NOB)
    • HostDongle 10 sendet ACK
  • Poll-Something Cycle: HRU-CRP-APR
    • HostDongle 10 fragt das HostOnDevice 4 nach ausstehenden Befehlssätzen.
    • HostOnDevice 4 sendet ausstehenden Befehlssatz durch CRP. HostDongle 10 führt den Befehl aus und sendet die Ergebnisse durch APR zurück.
  • Transaktionen:
    • HostDongle 10 sendet BULK-OUT
    • HostDongle 10 sendet DATA (HRU)
    • HostOnDevice 4 sendet ACK
    • HostDongle 10 sendet BULK-IN
    • HostOnDevice 4 sendet DATA (CRP)
    • HostDongle 10 sendet ACK
    • HostDongle 10 sendet BULK-OUT
    • HostDongle 10 sendet DATA (APR)
    • HostOnDevice 4 sendet ACK
  • Unterbrechungszyklus: HRU_IRQ-CRP-APR
    • HostDongle 10 warnt das HostOnDevice 4 bzgl. ausstehender Hardware-Unterbrechungen.
    • HostOnDevice 4 entscheidet über die geeigneten Befehlssätze und sendet sie durch CRP.
    • HostDongle 10 führt die Befehle aus und sendet die Ergebnisse durch APR zurück.
    • HostOnDevice 4 MUSS die ausstehende Unterbrechung löschen oder die Erzeugung von HRU_IRQ deaktivieren, oder der HostDongle 10 würde kontinuierlich HRU_IRQ senden.
  • Transaktionen:
    • HostDongle 10 sendet BULK-OUT
    • HostDongle 10 sendet DATA (HRU_IRQ)
    • HostOnDevice 4 sendet ACK
    • HostDongle 10 sendet BULK-IN
    • HostOnDevice 4 sendet DATA (CRP)
    • HostDongle 10 sendet ACK
    • HostDongle 10 sendet BULK-OUT
    • HostDongle 10 sendet DATA (APR)
    • HostOnDevice 4 sendet ACK
  • Paketformate
  • HRU-Format
  • Die HRU enthält die folgenden Informationen:
    • Aktuelle Rahmennummer
    • HcInterruptStatus des Host Controllers 12 im HostDongle 10
    • Interrupt-Status des Geräte-Controllers 22
  • NOB-Format
    • Keine speziellen Informationen erforderlich
  • CRP- und APR-Format
    • Aktives Bit im Kopfteil ist 1 für CRP und 0 für APR.
    • CRP kann eine Größe von 16–64 Bytes haben. Die Gesamtgröße setzt sich zusammen aus
    • Einer Anzahl von Befehlssätzen (jeweils 8 Bytes)
    • Einem optionalen Datensatz
    • Die maximale Anzahl von Befehlssätzen in einer CRP ist 8.
    • Die maximale Größe des Datensatzes ist 64-(8 * Anzahl von Befehlssätzen).
  • Die mehreren Befehlssätze in einem einzelnen Befehlsanforderungspaket ermöglichen die Kommunikation einer Sequenz von Hardware-Zugriffen in einem einzigen Paket und reduzieren damit den Latenztransfer.
  • Befehlssatz-Format
  • Der Befehlssatz hat eine 8-Byte-Datenstruktur. Er enthält die folgenden Informationen:
    • Befehlssatz-Kopfteil (1 Byte)
    • Befehlssatz-Index (2 Bytes)
    • Befehlssatz-Daten (4 Bytes)
    • Befehlssatz Aux (1 Byte)
  • Figure 00090001
  • Figure 00100001
  • Die Virtual Hardware Abstraction Layer (VirtualHAL) schafft daher kompletten Zugriff auf die Ziel-Hardware auf dem angeschlossenen Dongle unter Verwendung der USB-Gerätehardware. Mit anderen Worten, die existierende USB-Gerätehardware wird als asynchroner Mikroprozessor-Schnittstellenbus benutzt, damit der USB-Host-Treiber auf die Ziel-Hardware zugreifen kann.
  • Die Verwendung von VirtualHAL bietet die Vorteile, dass der Hardware-Dongle die USB-Software nicht zu handhaben braucht, so dass der Dongle kostengünstig sein kann und die Host-Software durch das eingebettete System auf dem USB-Gerät gehandhabt werden kann.
  • Aus diesem Grund ist in bevorzugten Ausführungsformen der Erfindung ein Hardware-Dongle vorgesehen, der es einem USB-Gerät erlaubt, die Fähigkeit des USB-Host zu erlangen, ohne die existierende Hardware zu ändern. Um dies zu erreichen, führt das USB-Gerät Emulations-Software aus, die durch das eingebettete System auf dem USB-Gerät gehandhabt werden kann. Dies bietet die Vorteile, dass der Hardware-Dongle die USB-Software nicht zu handhaben braucht, wodurch der Dongle kostengünstig sein kann.
  • Die Erfindung wurde bis zu diesem Punkt unter Bezugnahme auf ein System beschrieben, in dem die VirtualHAL-Treibersoftware dem USB-Gerät erlaubt, in Verbin dung mit dem Dongle 10 als ein USB-Host zu fungieren. Es könnte jedoch ähnlich strukturierte VirtualHAL-Treibersoftware verwendet werden, um mehrere Schnittstellen/Funktionen zu einem System mit der Fähigkeit eines USB-Geräts hinzuzufügen. Die Treibersoftware könnte es zum Beispiel dem USB-Gerät erlauben, über Bluetooth, IrDA, USB-OTG oder andere Kommunikationsprotokolle zu kommunizieren.
  • Text in der Zeichnung
  • 1
    • PDA – PDA
    • USB PORT – USB PORT
    • MCU – MCU
    • USB HOST/DEVICE CONTROLLER – USB-Host/Geräte-Controller
    • DONGLE – Dongle
    • USB DEVICE – USB-Gerät
  • 2
    • Device – Gerät
    • Operating System – Betriebssystem
    • Host stack – Host-Stack
    • VirtualHAL Driver – VirtualHAL-Treiber
    • Device Stack and Device Hardware – Geräte-Stack und Geräte-Hardware
    • SoftHost Protocol Layer – SoftHost Protokollschicht
    • Dongle – Dongle
    • MCU – MCU
    • SoftHost Firmware – SoftHost Firmware
    • Host Hardware – Host-Hardwäre
  • 3
    • Start – Start
    • Connection to H1? – Verbindung mit H1
    • No – Nein
    • Yes – Ja
    • End – Ende
    • USB Host Connected? – USB-Host angeschlossen?
    • Act as USB Transceiver – Als USB-Transceiver agieren
    • USB Host connected to H2? – USB-Host mit H2 verbunden?
    • Act als USB Device – Als USB-Gerät agieren
    • USB device with virtual HAL? – USB-Gerät mit VitualHAL
    • Disable device – Gerät deaktivieren
    • Act as alternate USB Host – Als alternativer USB-Host agieren

Claims (5)

  1. Busstation (10) zur Verwendung in einem Buskommunikationssystem, mit einem ersten Kommunikationsport (H2) und einem zweiten Kommunikationsport (H1), dafür eingerichtet, bei Erkennen der Anwesenheit einer mit dem genannten zweiten Port gekoppelten Host-Station in einer ersten Betriebsart zu arbeiten und bei Erkennen der Abwesenheit einer mit dem zweiten Port gekoppelten Host-Station in einer zweiten Betriebsart zu arbeiten, dadurch gekennzeichnet, dass die genannte Busstation (10) dafür eingerichtet ist, in der genannten ersten Betriebsart Kommunikation zwischen der genannten Host-Station, die mit dem genannten zweiten Port H(1) gekoppelt ist, und einer Gerätestation (8) weiterzuleiten, die mit dem genannten ersten Port (H2) gekoppelt ist, und dadurch, dass die genannte Busstation (10) weiterhin dafür eingerichtet ist, als eine alternative Host-Station in der genannten zweiten Betriebsart zu arbeiten, indem sie gemäß einem Kommunikationsprotokoll mit der genannten Gerätestation (8) kommuniziert, die mit dem genannten ersten Port (H2) gekoppelt ist, wobei die genannte Busstation (8) die Kommunikation initiiert.
  2. Busstation nach Anspruch 1, wobei die genannte Busstation dafür eingerichtet ist, in der ersten Betriebsart als ein USB-Transceiver zu arbeiten und in der zweiten Betriebsart als ein USB-Host zu arbeiten.
  3. Busstation nach Anspruch 1, wobei die genannte Busstation weiterhin Transceiver-Schaltungen umfasst, die mit dem genannten ersten und dem genannten zweiten Port gekoppelt sind, um die Kommunikation zwischen der genannten Host-Station, die mit dem genannten zweiten Port gekoppelt ist, und der genannten Gerätestation in der genannten ersten Betriebsart weiterzuleiten.
  4. Busstation (4) zur Verwendung in einem Bussystem, mit einem mit einem Kommunikationsport gekoppelten Geräte-Controller (22), dafür eingerichtet, als eine Gerätestation zu arbeiten, wobei die genannte Busstation weiterhin dafür eingerichtet ist, unter der Steuerung von Systemsoftware zu arbeiten, die ein Betriebssystem (18) umfasst, und dadurch gekennzeichnet, dass das System Host-Station-Treibersoftware (20) umfasst, die vorgesehen ist, um mit einem Host-Controller zu kommunizieren und Informationen zum und vom Betriebssystem weiterzuleiten, wobei die genannte Systemsoftware weiterhin Host-Emulationssoftware (16) umfasst, die dafür vorgesehen ist, die Anwesenheit eines Host-Controllers gegenüber der Host-Station-Treibersoftware (20) zu emulieren und die Anwesenheit der Gerätestation-Treibersoftware gegenüber dem Geräte-Controller (22) zu emulieren, weiterhin dafür eingerichtet, Kommunikation von der Host-Station-Treibersoftware (20) an den Geräte-Controller (22) zu übertragen und umgekehrt.
  5. Buskommunikationssystem mit einer ersten Busstation (4) mit einem Geräte-Kommunikationsport (6) und einer zweiten Busstation (10), wobei die genannte zweite Busstation weiterhin einen zweiten Kommunikationsport (H1) umfasst, die genannte zweite Busstation (10) vorgesehen ist, um bei Erkennen der Anwesenheit einer mit dem genannten zweiten Port (H1) gekoppelten Host-Station in einer ersten Betriebsart zu arbeiten und bei Erkennen der Abwesenheit einer mit dem genannten zweiten Port gekoppelten Host-Station in einer zweiten Betriebsart zu arbeiten, dadurch gekennzeichnet, dass die genannte erste Busstation (4) einen Geräte-Controller (22) umfasst, der mit dem genannten Geräte-Kommunikationsport gekoppelt ist und dafür eingerichtet ist, unter der Steuerung der Systemsoftware zu arbeiten, welche ein Betriebssystem (18) und Host-Station-Treibersoftware (20) umfasst und vorgesehen ist, um mit einem Host-Controller zu kommunizieren und Informationen zum und vom Betriebssystem weiterzuleiten, wobei die genannte Systemsoftware weiterhin Host-Emulationssoftware (16) umfasst, die dafür eingerichtet ist, die Anwesenheit eines Host-Controllers gegenüber der Host-Station-Treibersoftware (20) zu emulieren und die Anwesenheit der Gerätestation-Treibersoftware gegenüber dem Geräte-Controller (22) zu emulieren, weiterhin dafür eingerichtet, Kommunikation von der Host-Station-Treibersoftware (20) an den Geräte-Controller (22) zu übertragen und umgekehrt.
DE60310586T 2002-09-24 2003-05-22 Busanschluss-system Expired - Lifetime DE60310586T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG0200239 2002-09-24
WOPCT/SG02/00239 2002-09-24
PCT/IB2003/002236 WO2004029817A1 (en) 2002-09-24 2003-05-22 Bus connection system

Publications (2)

Publication Number Publication Date
DE60310586D1 DE60310586D1 (de) 2007-02-01
DE60310586T2 true DE60310586T2 (de) 2007-10-11

Family

ID=32041145

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60310586T Expired - Lifetime DE60310586T2 (de) 2002-09-24 2003-05-22 Busanschluss-system

Country Status (9)

Country Link
US (1) US7640385B2 (de)
EP (1) EP1546897B1 (de)
JP (2) JP2006500672A (de)
CN (1) CN1685326B (de)
AT (1) ATE349044T1 (de)
AU (1) AU2003228076A1 (de)
DE (1) DE60310586T2 (de)
TW (1) TWI320142B (de)
WO (1) WO2004029817A1 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3962696B2 (ja) * 2003-02-21 2007-08-22 キヤノン株式会社 情報処理装置とその制御方法及び制御プログラム
US7174405B1 (en) * 2003-06-06 2007-02-06 Cisco Technology, Inc. Method and system for replacing a read-modify-write operation with an atomic set-bits or clear-bits operation
TWI241520B (en) * 2003-07-08 2005-10-11 Ours Technology Inc Universal serial bus device for exchange data each other
TWI226551B (en) * 2003-10-28 2005-01-11 Prolific Technology Inc Multi-function wireless bridge for USB and associated system
WO2005064480A2 (de) * 2003-12-30 2005-07-14 Wibu-Systems Ag Verfahren zum steuern eines datenverarbeitungsgeräts
CN100375495C (zh) * 2004-04-26 2008-03-12 全友电脑股份有限公司 可独立运作的扫描仪
JP2008501178A (ja) * 2004-05-28 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バス接続装置
CN100416531C (zh) * 2004-08-30 2008-09-03 旺玖科技股份有限公司 多功能通用串行总线无线桥接装置及系统装置
DE102004042172A1 (de) 2004-08-31 2006-03-09 Advanced Micro Devices, Inc., Sunnyvale Segmentierter chipinterner Speicher und Arbitrierung anfordernder Einrichtungen
WO2006031681A2 (en) * 2004-09-10 2006-03-23 Logitech Europe S.A. Communication of audio control signals for wireless audio headphones
CN100388256C (zh) * 2004-09-17 2008-05-14 宇瞻科技股份有限公司 Usb存取装置
CN1329808C (zh) * 2004-10-09 2007-08-01 宇瞻科技股份有限公司 数据编码和解码装置
DE102004057756B4 (de) * 2004-11-30 2009-08-06 Advanced Micro Devices Inc., Sunnyvale USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
US7606951B2 (en) 2004-11-12 2009-10-20 Woodbridge Nancy G Memory reuse for multiple endpoints in USB device
US20060106962A1 (en) * 2004-11-17 2006-05-18 Woodbridge Nancy G USB On-The-Go implementation
DE102005009021A1 (de) 2005-02-28 2006-09-07 Advanced Micro Devices Inc., Sunnyvale Vereinheitliche USB OTG-Steuerungseinheit
US20060206631A1 (en) * 2005-03-09 2006-09-14 Chin-Chen Kuo Data duplication method and system used between USB devices
CN100401280C (zh) * 2005-06-08 2008-07-09 北京飞天诚信科技有限公司 通用串行总线数据传输方法
US8024500B2 (en) 2005-08-15 2011-09-20 Research In Motion Limited Universal peripheral connector
DE602005006808D1 (de) * 2005-08-15 2008-06-26 Research In Motion Ltd Universeller Peripherieverbinder
FR2895187B1 (fr) * 2005-12-21 2010-12-17 Eastman Kodak Co Station d'accueil d'equipements hotes mobiles et procede de partage de ressources utilisant la station
US8035368B2 (en) * 2006-02-13 2011-10-11 Freescale Semiconductor, Inc. Integrated circuit, universal serial bus on-the-go power source and methods for use therewith
US20100225953A1 (en) * 2006-03-20 2010-09-09 Ernst Engst Method and assembly for releasing and configuring specific system operations of a printer or photocopier
CN101136000B (zh) * 2006-09-01 2011-01-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
JP2008107997A (ja) * 2006-10-24 2008-05-08 Seiko Epson Corp データ通信方法、データ通信装置及びデータ通信システム
US7558899B2 (en) * 2007-04-04 2009-07-07 Imation Corp. Dongle configured to electrically couple a data storage device and a host computing device
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
GB2453405B (en) * 2007-06-15 2012-08-08 Apple Inc Systems and methods for providing device-to-device handshaking through a power supply signal
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
US20090276549A1 (en) * 2008-05-01 2009-11-05 Nokia Corporation Access for host stacks
US8170844B2 (en) * 2008-05-02 2012-05-01 Northrop Grumman Guidance And Electronics Company, Inc. Estimation of probability of lambda failure through employment of lookup table
US8082381B2 (en) * 2008-09-02 2011-12-20 Nvidia Corporation Connecting a plurality of peripherals
US20100115116A1 (en) * 2008-11-03 2010-05-06 Micron Technology, Inc. System and method for switching communication protocols in electronic interface devices
US8103803B2 (en) * 2008-11-21 2012-01-24 Nvidia Corporation Communication between a processor and a controller
US8610732B2 (en) * 2008-12-11 2013-12-17 Nvidia Corporation System and method for video memory usage for general system application
US8677074B2 (en) * 2008-12-15 2014-03-18 Nvidia Corporation Shared memory access techniques
US7970976B2 (en) * 2009-03-01 2011-06-28 Qualcomm Incorporated Remote memory access using reversible host/client interface
TWI385533B (zh) * 2009-05-11 2013-02-11 Via Tech Inc 電腦系統、資料交換裝置以及資料交換方法
US8737064B2 (en) * 2010-01-12 2014-05-27 Microsoft Corporation Electronic device stand
US8373658B2 (en) * 2010-05-24 2013-02-12 Cywee Group Limited Motion sensing system
US20120259939A1 (en) * 2011-04-05 2012-10-11 Timothy James Wessman Calculator
CN102820980B (zh) * 2011-06-08 2018-11-06 南京中兴新软件有限责任公司 一种下发命令的设备及方法
JP5907550B2 (ja) * 2011-08-31 2016-04-26 Necプラットフォームズ株式会社 Usb機器およびusb機器の制御方法
JP5734825B2 (ja) 2011-09-09 2015-06-17 富士通コンポーネント株式会社 通信装置及び通信装置の制御方法
CN103729324A (zh) * 2014-01-22 2014-04-16 浪潮电子信息产业股份有限公司 一种基于usb3.0接口的云存储文件安全保护装置
US20180113829A1 (en) * 2015-06-01 2018-04-26 Sony Corporation Electronic apparatus and coupling method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
US6131125A (en) * 1997-11-14 2000-10-10 Kawasaki Lsi U.S.A., Inc. Plug-and-play data cable with protocol translation
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)
TW455805B (en) 1998-02-26 2001-09-21 Winbond Electronics Corp Converter allowing data communications equipment to transmit data to data terminal equipment through universal serial bus and the control method thereof
JP2000196986A (ja) 1998-12-25 2000-07-14 Olympus Optical Co Ltd 電子的撮像装置
JP2000196648A (ja) * 1998-12-28 2000-07-14 Toshiba Corp 電子機器制御方法および電子機器制御装置
JP2000209238A (ja) * 1999-01-14 2000-07-28 Toshiba Corp 電子機器制御方法および電子機器制御装置
GB2350212B (en) * 1999-02-09 2003-10-08 Adder Tech Ltd Data routing device and system
JP2000316006A (ja) 1999-04-28 2000-11-14 Nec Corp バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム
JP2002055936A (ja) * 2000-08-08 2002-02-20 Toshiba Corp Usbデバイス機器、usbデバイス機器間の通信システムおよび通信方法
JP2002116853A (ja) * 2000-10-05 2002-04-19 Tdk Corp Usb搭載電子機器及びそれに用いるusbケーブル
US7000057B1 (en) * 2002-02-11 2006-02-14 Cypress Semiconductor Corp. Method and apparatus for adding OTG dual role device capability to a USB peripheral
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
US7152190B2 (en) * 2004-02-03 2006-12-19 Motorola Inc. USB OTG intelligent hub/router for debugging USB OTG devices

Also Published As

Publication number Publication date
JP2006500672A (ja) 2006-01-05
ATE349044T1 (de) 2007-01-15
CN1685326A (zh) 2005-10-19
US20060059289A1 (en) 2006-03-16
EP1546897A1 (de) 2005-06-29
DE60310586D1 (de) 2007-02-01
US7640385B2 (en) 2009-12-29
TW200405172A (en) 2004-04-01
TWI320142B (en) 2010-02-01
JP2010061670A (ja) 2010-03-18
EP1546897B1 (de) 2006-12-20
WO2004029817A1 (en) 2004-04-08
CN1685326B (zh) 2010-05-05
AU2003228076A1 (en) 2004-04-19

Similar Documents

Publication Publication Date Title
DE60310586T2 (de) Busanschluss-system
DE2854485C2 (de) Datenverarbeitungsanlage
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE102013110085B4 (de) Nicht-flüchtige speichervorrichtung
DE68913914T2 (de) Multiprozessorsystem mit Vervielfältigung von globalen Daten.
DE60309391T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE69928202T2 (de) Extern ansteuerbare Umgehungsschaltung
DE60020046T3 (de) Architektur einer USB-basierten PC-Flashspeicherkarte
DE10214700B4 (de) Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben
CA2600419C (en) Method and apparatus for improving the performance of usb mass storage devices in the presence of long transmission delays
EP0529887B1 (de) Bidirektionales Parallelprotokoll
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
US5255376A (en) Method and apparatus for supporting a dual bit length protocol for data transfers
EP1513057A2 (de) Softwareunterstützte Speichervorrichtungsemulation in einer physikalischen Speichervorrichtung
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE3725343A1 (de) Vielzweck-kanalsteuersystem
DE10234991A1 (de) Hostcontrollerdiagnose für einen seriellen Bus
DE3855300T2 (de) Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung
DE10239814B4 (de) Erweiterte Testmodusunterstützung für Hostcontroller
DE102005041312A1 (de) Speicherzugriff auf virtuelles Targetgerät
EP2641183A1 (de) Verfahren und schaltungsanordnung zur datenübertragung zwischen prozessorbausteinen
DE10234992A1 (de) Retry-Mechanismus für blockierende Schnittstellen
DE112021003094T5 (de) System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen
CN100476775C (zh) 用于总线通信设备的主机控制器以及总线通信设备
DE60303162T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL

8328 Change in the person/name/address of the agent

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN