DE602005005065T2 - Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts - Google Patents

Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts Download PDF

Info

Publication number
DE602005005065T2
DE602005005065T2 DE602005005065T DE602005005065T DE602005005065T2 DE 602005005065 T2 DE602005005065 T2 DE 602005005065T2 DE 602005005065 T DE602005005065 T DE 602005005065T DE 602005005065 T DE602005005065 T DE 602005005065T DE 602005005065 T2 DE602005005065 T2 DE 602005005065T2
Authority
DE
Germany
Prior art keywords
processor
usb
current
enumeration
host
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.)
Active
Application number
DE602005005065T
Other languages
English (en)
Other versions
DE602005005065D1 (de
Inventor
Runbo Kanata Fu
Stewart Kanata Morris
Jonathan Manotick Halse
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of DE602005005065D1 publication Critical patent/DE602005005065D1/de
Application granted granted Critical
Publication of DE602005005065T2 publication Critical patent/DE602005005065T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Information Transfer Systems (AREA)
  • Lock And Its Accessories (AREA)
  • Air Bags (AREA)

Description

  • Die vorliegende Anmeldung bezieht sich auf die Aufzählung (Enumeration) eines tragbaren Geräts durch einen Hostcontroller und im Besonderen auf ein Verfahren und eine Vorrichtung zur Unterstützung der USB-Aufzählung eines solchen Bus-betriebenen (aus dem Bus mit Strom versorgten) tragbaren Geräts, wenn zum Aufzählen eines zum tragbaren Gerät gehörenden Hauptprozessors mehr als 100 mA erforderlich sind.
  • Wie Fachleuten bekannt ist, ist ein Universal Serial Bus (USB) ein Standardanschluss, der es einem Benutzer ermöglicht, USB-Peripheriegeräte (d. h. externe Geräte wie beispielsweise Digitalkameras, Scanner, Tastaturen, Drucker, externe Laufwerke und Mäuse) an einen Personal Computer anzuschließen. Laut USB-Spezifikation in Revision 2.0 wird eine Full-Speed-Signalisierungsbitrate von 12 Mbit/s (Millionen Bit pro Sekunde) unterstützt. USB-Geräte bieten nicht nur Geschwindigkeitsvorteile, sondern können auch ohne Neustart des Computers angeschlossen und entfernt werden, sodass ein Benutzer auf einfache Weise Peripheriegeräte verbinden und trennen kann. Aus den vorstehend genannten Gründen sind USB-Anschlüsse zum Industriestandard geworden, da sie eine enorme Verbesserung gegenüber dem seriellen Anschluss als Vorläuferstandard darstellen.
  • Laut der USB-Spezifikation in Revision 2.0 beinhaltet der Computer, an die USB-Peripheriegeräte angeschlossen werden, einen Hostcontroller, bei dem es sich um eine Kombination aus Hardware, Firmware oder Software handeln kann. Der Hostcontroller ist für das Erkennen des Anschließens und Entfernens von USB-Peripheriegeräten, das Verwalten der Flusssteuerung zwischen dem Hostcontroller und den USB-Peripheriegeräten, das Verwalten des Datenflusses zwischen dem Hostcontroller und den USB-Peripheriegeräten sowie für die Stromversorgung der angeschlossenen USB-Geräte zuständig. Wie Fachleuten geläufig ist, werden bei USB-Geräten „Hubs", die zusätzliche Anschlussstellen für den Universal Serial Bus bereitstellen, von „Funktionen", wie zum Beispiel USB-Peripheriegeräten, unterschieden. Der Hostcontroller kann über einen integrierten Root-Hub verfügen, an den andere Hubs oder Funktionen angeschlossen werden können.
  • In einer Anordnung wird ein Computer (mit integriertem Hostcontroller und Root-Hub) vorzugsweise über einen USB-Anschluss mittels eines herstellerspezifischen Adapters mit einem tragbaren Kommunikationsgerät (oder einer „Funktion"), beispielsweise einem Mobiltelefon oder einem Personal Digital Assistant (PDA), verbunden. Bekanntlich gibt es USB-Lade- und -Synchronisationskabel für tragbare Geräte, die es deren Benutzern ermöglichen, tragbare Geräte über den USB-Anschluss am Computer aufzuladen, ohne hierzu auf unhandliche Netzteile und Ladeschalen zurückgreifen zu müssen. Auch eine Synchronisierung von Daten zwischen dem tragbaren Kommunikationsgerät oder PDA und dem Hostcomputer ist möglich. Wenn ein USB-Peripheriegerät an einen mit Strom versorgten USB-Anschluss angeschlossen wird, gibt der Hostcontroller einen Befehl zum Aktivieren und Zurücksetzen des betreffenden Anschlusses aus. Nachdem der Anschluss aktiviert wurde, befindet sich das USB-Peripheriegerät im Default-Zustand, in dem es höchstens 100 mA aufnehmen kann, solange es nicht ordnungsgemäß konfiguriert wurde. Bei tragbaren Kommunikationsgeräten, für deren Betrieb mehr als 100 mA erforderlich sein können, ist dies unter Umständen nicht akzeptabel.
  • US6665801 offenbart ein abgesetztes Hub- oder Funktionsgerät für den Universal Serial Bus, das eine große Energiequelle wie etwa eine Batterie oder einen Kondensator für die Stromversorgung von Peripheriegeräten in Fällen enthält, in denen das Peripheriegerät mehr Strom benötigt, als der USB zulässt. Ein Funktionscontroller des USB-Funktionsgeräts kommuniziert über einen vorgeschalteten USB-Anschluss mit einem USB-Hostcomputer. Ein Peripheriegerät mit hoher Leistung kommuniziert über den Funktionscontroller und wird darüber hinaus durch das wiederaufladbare Gerät mit Strom versorgt.
  • EP1482619 offenbart ein Verfahren zur Behandlung eines Gerätaufladezustands für ein per Universal Serial Bus (USB) angeschlossenes mobiles elektronisches Gerät. Das Verfahren umfasst die Schritte des Erkennens des Vorhandenseins einer Busspannung, des Erkennens eines Signals zur Bestätigung einer Aufzählung zwischen dem Gerät und einem USB-Host sowie das Übertragen eines Signals, mit dem das Gerät angewiesen wird, in den Gerätaufladezustand überzugehen.
  • EP 1085400 offenbart ein Verfahren und eine Vorrichtung zur Verwendung eines Universal Serial Bus (USB) in einem Computer als Stromquelle für ein tragbares elektronisches Gerät. Der Computer wird mittels eines Kabels mit einem ersten Verbinder, der mit einem USB-Verbinder am Computer verbunden ist, und einem zweiten Verbinder, der mit einem externen Stromeingangsverbinder am tragbaren elektronischen Gerät verbunden ist, mit einem Mobiltelefon gekoppelt. Das Kabel enthält eine elektronische Schaltung zur Umwandlung des vom USB bereitgestellten Spannungspegels in einen vom tragbaren elektronischen Gerät nutzbaren Spannungspegel.
  • Gemäß einem Aspekt der vorgeschlagenen Lösung werden vorzugsweise bereitgestellt: ein tragbares Kommunikationsgerät, das umfasst: einen USB-Anschluss, der für die Verbindung mit einem USB-Hostcontroller angepasst ist, wobei der USB-Hostcontroller den USB-Anschluss unter einem Stromschwellwert vor der Aufzählung des tragbaren Kommunikationsgeräts und über dem Stromschwellwert nach der Aufzählung des tragbaren Kommunikationsgeräts mit Strom versorgt; einen ersten Prozessor, wobei der erste Prozessor zum Starten, sobald der zugeführte Strom unter dem Stromschwellwert liegt, angepasst ist; einen zweiten Prozessor, wobei der zweite Prozessor Teil eines Chipsatzes ist, der erfordert, dass der zugeführte Strom über dem Stromschwellwert liegt, um zu starten; eine Stromüberwachungsschaltung, die von dem zweiten Prozessor getrennt ist; und einen Multiplexer, wobei sich der Multiplexer auf einem Kommunikationspfad zwischen dem USB-Anschluss und dem ersten Prozessor und zweiten Prozessor befindet, wobei der erste Prozessor ein USB-Mikrocontroller ist und angepasst ist, um mit dem USB-Hostcontroller aufzuzählen, um Strom über dem Schwellwert zu bekommen, und wobei der zweite Prozessor angepasst ist, um die Kommunikation über den USB-Anschluss durch das tragbare Gerät von dem ersten Prozessor her beim Starten des zweiten Prozessors zu übernehmen, und das tragbare Gerät angepasst ist, um den ersten Prozessor beim Starten des zweiten Prozessors abzuschalten.
  • Gemäß einem anderen Aspekt der vorgeschlagenen Lösung werden vorzugsweise bereitgestellt: ein Verfahren des Aufzählens eines zweiten Prozessors in einem tragbaren Kommunikationsgerät, wobei das tragbare Kommunikationsgerät über einen ersten Prozessor verfügt, der zum Starten mit einem Strom unter einem Stromschwellwert in der Lage ist, und der zweite Prozessor Teil eines Chipsatzes ist, der erfordert, dass Strom über dem Stromschwellwert liegt, um zu starten, wobei das tragbare Kommunikationsgerät des Weiteren eine von dem zweiten Prozessor getrennte Stromüberwachungsschaltung umfasst, wobei das Verfahren folgende Schritte umfasst: Starten des ersten Prozessors; über einen USB-Anschluss Aufzählen des ersten Prozessors mit einem USB-Hostcontroller, der zum Versorgen mit Strom unter dem Stromschwellwert vor der Aufzählung und über dem Stromschwellwert nach der Aufzählung in der Lage ist; Starten des zweiten Prozessors; und Übernehmen von Kommunikationen zwischen dem USB-Hostcontroller und dem tragbaren Kommunikationsgerät an dem zweiten Prozessor, wobei das tragbare Kommunikationsgerät einen Multiplexer umfasst, wobei der Schritt des Übernehmens den Multiplexer nutzt, um Kommunikationen an den zweiten Prozessor zu leiten, und Abschalten des ersten Prozessors beim Starten des zweiten Prozessors, wobei der erste Prozessor ein USB-Mikrocontroller ist. Weitere Aspekte der Erfindung werden aus den beigefügten Ansprüchen ersichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein besseres Verständnis der vorgeschlagenen Lösung, die dazu dient, Mängel nach dem bisherigen Stand der Technik zu überwinden, lässt sich anhand der nachfolgenden detaillierten Beschreibung erreichen, wobei auf die folgenden Zeichnungen Bezug genommen wird:
  • 1 zeigt ein USB-Lade- und -Synchronisationskabel, das an ein Laptop und ein Mobiltelefon angeschlossen ist;
  • 2 zeigt ein Blockdiagramm eines tragbaren Geräts mit zwei Prozessoren;
  • 3 zeigt eine Ausführung der vorgeschlagenen Lösung unter Einbeziehung eines USB-Mikrocontrollers;
  • 4 zeigt einen typischen handelsüblichen USB-Mikrocontroller;
  • 5 zeigt in einem Flussdiagramm die Schritte des Aufzählungsvorgangs unter Verwendung eines USB-Mikrocontrollers;
  • 6 zeigt eine veranschaulichende Umsetzung eines tragbaren Geräts unter Einbeziehung eines USB-Hubcontrollers;
  • 7 zeigt einen typischen handelsüblichen USB-Hubcontroller; und
  • 8 zeigt in einem Flussdiagramm die Schritte des Aufzählungsprozesses unter Verwendung eines USB-Hubcontrollers.
  • BESCHREIBUNG VORTEILHAFTER AUSFÜHRUNGEN
  • Wie in 1 dargestellt, umfasst ein USB-Lade- und -Synchronisationskabel (100) einen USB-Verbinder (110) zum Anschließen an einen Computer (120) und einen herstellerspezifischen Adapter (130) zum Anschließen an ein tragbares Gerät (140). Entsprechend der USB-Spezifikation in Revision 2.0 erfolgt die Datenübertragung und Stromversorgung beim USB-Lade- und -Synchronisationskabel (100) über vier Adern: D– und D+ für Daten sowie VBUS für die Stromversorgung und GND für die Erdung.
  • 2 zeigt einen beispielhaften inneren Aufbau (200) eines tragbaren Geräts (140). Im abgebildeten tragbaren Gerät befinden sich zwei Mikroprozessoren (210, 220). Der Mikroprozessor (210) ist für das Ausführen verschiedener Anwendungen (in der Abbildung allgemein als 230 bezeichnet) bestimmt, während der Mikroprozessor (220) für das Ausführen von Funktionen für die Funkübertragung/den Funkempfang (in der Abbildung allgemein als 240 bezeichnet) und von Funktionen für die Energieverwaltung (250) bestimmt ist. Im Betrieb versorgt die wiederaufladbare Batterie (260) die Mikroprozessoren (210, 220) sowie weitere in das tragbare Gerät (140) integrierte Komponenten mit Strom. Zur Verringerung der Kosten und der Speicheranforderungen kann in weiterentwickelten Varianten des tragbaren Geräts (140) ein einzelner Prozessor verwendet werden; verschiedene Beispiele hierfür sind in der Technik allgemein bekannt.
  • Wenn die wiederaufladbare Batterie (260) leer ist, kann sie über den USB-Anschluss (270) aufgeladen werden, beispielsweise, unter Verwendung des oben beschriebenen USB-Lade- und -Synchronisationskabels (100). Ein Problem beim Laden per USB besteht darin, dass das tragbare Gerät (140) vor dem Aufzählen des tragbaren Geräts (140) seitens des Hostcomputers höchstens 100 mA vom USB-Bus aufnehmen kann. Genauer gesagt, sieht die USB-Spezifikation in Revision 2.0 vor, dass der Hostcontroller mittels eines als Bus-Aufzählung bezeichneten Vorgangs die erforderlichen Änderungen des Gerätezustands erkennt und verwaltet, wenn ein USB-Gerät („Hub” oder „Funktion") an den Universal Serial Bus angeschlossen oder davon getrennt wird. Wenn beispielsweise ein USB-Peripheriegerät an einen mit Strom versorgten USB-Anschluss angeschlossen wird, gibt der Hostcontroller einen Befehl zum Aktivieren und Zurücksetzen des betreffenden Anschlusses aus. Nachdem der Anschluss aktiviert wurde, befindet sich das USB-Peripheriegerät im Default-Zustand, in dem es höchstens 100 mA aufnehmen kann, solange es nicht ordnungsgemäß konfiguriert wurde. Nachdem das USB-Peripheriegerät konfiguriert wurde, kann es bis zu 500 mA aufnehmen, sofern es sich beim dem betreffenden Anschluss um einen Anschluss mit hoher Leistung (High Power) handelt. Infolge der Begrenzung auf 100 mA enthält das tragbare Gerät (200) Strombegrenzungsschaltungen zur Begrenzung des entnommenen Stroms auf weniger als 100 mA. Bei einem Strom von weniger als 100 mA ist es durchaus möglich, dass der verfügbare Leistung nicht ausreicht, um den Chipsatz des tragbaren Geräts (140) zu starten, wenn die wiederaufladbare Batterie (260) fast vollständig entladen, leer oder nicht eingelegt ist. Wenn der Chipsatz nicht eingeschaltet werden kann, kann der Aufzählungsvorgang nicht durchgeführt werden. Beispielsweise können bei bestimmten tragbaren Geräten (140), die mit nur einem Prozessor ausgestattet sind, bei einem Strom von weniger als 100 mA der Chip für die Energieverwaltung und der Prozessor nicht gestartet werden. Wie für Fachleute ersichtlich ist, ist die integrierte Schaltung (Integrated Circuit, IC) für die Energieverwaltung ein unverzichtbarer Bestandteil moderner tragbarer Geräte mit geringer Leistung. Um eine möglichst hohe Energieeinsparung zu erreichen, verfügen die meisten Prozessoren für tragbare Geräte über eine eigene, fest gekoppelte IC für die Energieverwaltung, die für ein direktes Zusammenwirken ausgelegt ist. Die IC für die Energieverwaltung verfügt über eine Gruppe von Leistungsschaltern und -reglern, mit denen die einzelnen Bereiche des tragbaren Geräts mit Strom versorgt werden. Der Prozessor verfügt über Software/Firmware zum Ein- und Ausschalten der einzelnen Leistungsschalter und Leistungsregler entsprechend den Erfordernissen eines vereinfachten normalen Betriebs und der Energieeinsparung.
  • Es wäre von Vorteil, wenn ein mit einen einzelnen Prozessor ausgestattetes tragbares Gerät (140) bei einem unter der Begrenzung auf 100 mA liegenden Strom eingeschaltet werden könnte. Ein Ansatz hierzu ist die Verwendung einer gesonderten Stromversorgung für den einzelnen Prozessor. Wenn jedoch der Chip für die Energieverwaltung vollständig in den einzelnen Prozessor integriert ist, ist diese Lösung aufgrund der komplizierten Einschalt-/Ausschaltabfolge, des Vorgehens bei einem Ausfall der Stromversorgung, der Energiesparverwaltung usw., die von der IC für die Energieverwaltung durchgeführt werden, unter Umständen nicht akzeptabel. Somit wird eine Lösung benötigt, die diesem Aufbau gerecht wird und dabei mit verhältnismäßig geringem Kostenaufwand umgesetzt werden kann und möglichst wenig Platz im tragbaren Gerät (140) in Anspruch nimmt.
  • Im Allgemeinen sieht die vorgeschlagene Lösung, die in der vorliegenden Anmeldung im Einzelnen erläutert wird, in einer ersten Ausführung ein tragbares Gerät mit einem zusätzlichen USB-Mikrocontroller vor. Im USB-Mikrocontroller sind ein USB-Sender, ein Mikrocontroller, ein RAM sowie ein Flash-Speicher oder ein EPROM integriert. In der vorteilhaften Ausführung handelt es sich bei dem USB-Mikrocontroller um ein handelsübliches Produkt, wie es häufig in aktuellen USB-Geräten wie USB-Massenspeicherlaufwerken, Digitalkameras, USB-Mäusen u. dgl. eingesetzt wird. Die Kosten solcher USB-Mikrocontroller sind verhältnismäßig gering, und von ihrer Größe her sind sie für den Einsatz in tragbaren Geräten geeignet. Im Betrieb wird der integrierte USB-Mikrocontroller nur eingeschaltet, wenn das USB-Lade- und -Synchronisationskabel eingesteckt ist und die wiederaufladbare Batterie fehlt oder die Mindestspannung nicht erreicht, die zum Einschalten des tragbaren Geräts mit einem USB-Strom von weniger als 100 mA vor der Aufzählung erforderlich ist. Der integrierte USB-Mikrocontroller führt die USB-Aufzählung seitens des Hostcomputers über ein USB-Lade- und -Synchronisationskabel durch, sodass der Ladestrom nach der Aufzählung auf 500 mA erhöht werden kann (sofern das tragbare Gerät mit einem Anschluss mit hoher Leistung verbunden ist) oder der Host das Laden der Batterie des Geräts bei einem Strom von 100 mA fortsetzen kann, wenn die Batterie des Geräts fast vollständig entladen oder leer ist und das tragbare Gerät mit einem Anschluss mit geringer Leistung verbunden ist. Nachdem der Ladezustand der wiederaufladbaren Batterie den Schwellwert für den Chipsatz des tragbaren Geräts überschritten hat oder wenn ein Strom von 500 mA entnommen werden kann, wird der Chipsatz des tragbaren Geräts eingeschaltet, sodass dieser die USB-Kommunikation vom USB-Mikrocontroller übernimmt. Eine alternative Ausführung beinhaltet einen integrierten USB-Hubcontroller. Beim anfänglichen Einstecken des USB-Ladekabels wird nur der USB-Hubcontroller eingeschaltet, wodurch viel weniger Strom benötigt wird, um die Aufzählung seitens des Hostcomputers durchzuführen. Wenn ein ausreichender Ladezustand der wiederaufladbaren Batterie erreicht wurde oder nach der Aufzählung 500 mA entnommen werden können, wird der Hauptprozessor des tragbaren Geräts gestartet und fungiert dieser als an den USB-Hubcontroller angeschlossenes Gerät.
  • 3 zeigt die erste Ausführung eines beispielhaften inneren Aufbaus (300) des tragbaren Geräts (140) entsprechend der vorgeschlagenen Lösung. Das tragbare Gerät (140) ist eine „Funktion" gemäß der USB-Spezifikation in Revision 2.0. Wie Fachleuten geläufig ist, werden bei „Funktionen" zwei Klassen unterschieden, nämlich solche mit Stromversorgung aus dem Bus (Bus-) und solche mit eigener Stromversorgung (Self-Powered). Bei Funktionen mit Stromversorgung aus dem Bus erfolgt die Stromversorgung ausschließlich über die USB-Verbindung; Funktionen mit eigener Stromversorgung beziehen den Strom hingegen aus einer externen Stromquelle. Bei Funktionen mit Stromversorgung aus dem Bus werden darüber hinaus die Kategorien „geringe Leistung" (Low Power) und „hohe Leistung" (High Power) unterschieden. Funktionen mit geringer Leistung können durch einen „Hub" mit eigener Stromversorgung wie auch mit Stromversorgung aus dem Bus gespeist werden; Funktionen mit hoher Leistung werden hingegen an Hubs mit eigener Stromversorgung angeschlossen, damit genügend Strom für den Betrieb zur Verfügung steht. Wie im Weiteren ausgeführt wird, kann es sich bei dem tragbaren Gerät (140) je nach Betriebszustand des tragbaren Geräts (140) um eine Funktion mit Stromversorgung aus dem Bus und geringer Leistung, eine Funktion mit Stromversorgung aus dem Bus und hoher Leistung oder eine Funktion mit eigener Stromversorgung handeln. Wenn die Batterie (340) fehlt oder wenn sich das tragbare Gerät (300) in einem Aufladungszustand befindet und der Ladezustand der Batterie (340) unter der zum Einschalten des tragbaren Geräts (140) erforderlichen Mindestspannung liegt, ist das tragbare Gerät (140) eine Funktion mit Stromversorgung aus dem Bus und hoher Leistung. Ersatzweise kann das tragbare Gerät (140) als Funktion mit Stromversorgung aus dem Bus und geringer Leistung konfiguriert werden, wenn das tragbare Gerät (140) nicht mit einem USB-Anschluss mit hoher Leistung (z. B. Anschluss 360) verbunden ist. Wenn schließlich die Batterie (340) des tragbaren Geräts (140) vollständig aufgeladen ist oder wenn die Ladeschaltung durch das tragbare Gerät (140) abgeschaltet wurde, ist es eine Funktion mit eigener Stromversorgung.
  • Wie aus der Zeichnung zu ersehen ist, kommuniziert ein einzelner Prozessor (310) mit einer integrierten Schaltung (Integrated Circuit, IC) für die Energieverwaltung (320) und dient dieser zur Steuerung nicht nur der Hochfrequenzschaltungen (330), sondern auch verschiedener Anwendungsmodule (nicht abgebildet) sowie von Peripheriegeräten wie beispielsweise einer Flüssigkristallanzeige (Liquid Crystal Display, LCD) und eines Speichers (325). Die wiederaufladbare Batterie (340) kommuniziert mit der integrierten Schaltung der USB-Ladevorrichtung (350), die über den Anschluss (360) mittels eines USB-Lade- und -Synchronisationskabels (nicht abgebildet) mit einem Hostcontroller/Hub in einem Computer verbunden werden kann. Bei der integrierten Schaltung der USB-Ladevorrichtung kann es sich beispielsweise um bqTINYIIITM handeln, eine von Texas Instruments angebotene Einzelchip-IC zum Laden und zur dynamischen Verwaltung des Stromversorgungswegs (Dynamic Power-Path Management, DPPM), die es ermöglicht, über ein Wechselstromnetzteil oder eine Verbindung mit einem USB-Anschluss gleichzeitig das System mit Strom zu versorgen und die Batterie (340) aufzuladen. bqTINYIIITM ermöglicht darüber hinaus das sofortige Einschalten des Systems mittels einer externen Stromquelle, wenn die wiederaufladbare Batterie (340) fehlt oder tiefentladen oder leer ist. Wie im Abschnitt zum Hintergrund ausgeführt, wird diese integrierte Schaltung der Ladevorrichtung aufgrund der Aufzählungsbegrenzung gemäß der USB-Spezifikation in Revision 2.0, deren Inhalt durch Literaturhinweis in die vorliegende Schrift eingefügt wird, mit einer auf 100 mA begrenzten Stromaufnahme gestartet. Wie ebenfalls ausgeführt, reichen bei bestimmten tragbaren Geräten, die mit nur einem Prozessor ausgestattet sind, etwa beim beispielhaften inneren Aufbau (300), 100 mA nicht aus, um den Prozessor (310) und die IC für die Energieverwaltung (320) zu starten.
  • Bei der vorgeschlagenen Lösung führt ein über den USB-Multiplexer (380) verbundener USB-Mikrocontroller (370) die USB-Aufzählung seitens des im Laptop integrierten Hostcontrollers/Hubs bei einer auf weniger als 100 mA begrenzten Stromentnahme durch. Wie für Fachleute ersichtlich ist, gibt es mehrere handelsübliche USB-Mikrocontroller (370), die sich zur Durchführung der erforderlichen Aufzählungsfunktion eignen. Beispielsweise wären hierzu die von Silicon Laborstories angebotenen USB-Mikrocontroller (C8051F320 und C8051F321) geeignet, die in 4 als Blockdiagramm dargestellt sind. Der Chip zur Aufnahme des USB-Mikrocontrollers ist ein winziges, 5 mm × 5 mm großes Micro Lead-Frame Package (MLP) mit 28 Anschlussstiften, das ausreichend klein ist, um problemlos in die Schaltungen des tragbaren Geräts (140) integriert werden zu können. Zusätzlich verfügt dieser Chip über einen internen Oszillator, der als USB-Taktgeber genutzt werden, wenngleich zum Erzeugen des USB-Takts auch ein externer Oszillator (390) verwendet werden kann. Im Betrieb wird der USB-Mikrocontroller (370) nur eingeschaltet, wenn das USB-Ladekabel in den Anschluss (360) eingesteckt ist und der Ladezustand der wiederaufladbaren Batterie (340) unterhalb des Schwellwerts zum Einschalten des tragbaren Geräts (140) mit einem USB-Strom von weniger als 100 mA vor der Aufzählung liegt. Im Prinzip übernimmt der USB-Mikrocontroller (370), indem er mit weniger als 100 mA eingeschaltet werden kann, die Aufzählungsfunktion seitens des Host-Laptops, wodurch der Ladestrom (entsprechend der USB-Spezifikation in Revision 2.0) nach der Aufzählung auf 500 mA erhöht werden kann, was ausreicht, um den Chipsatz des tragbaren Geräts (140) zu starten. Ersatzweise erhält im Falle eines USB-Hosts mit niedriger Leistung der USB-Mikrocontroller (370) die USB-Verbindung so lange aufrecht, bis der Ladezustand der Batterie (340) den Schwellwert überschritten hat und ausreicht, um den Chipsatz des tragbaren Geräts (140) zu starten. Nachdem der Chipsatz eingeschaltet wurde, übernimmt das tragbare Gerät (300) die USB-Kommunikation vom USB-Mikrocontroller (370). Der USB-Multiplexer (380) wird vom USB-Mikrocontroller (370) und von der Vergleichsschaltung für den Batterieladezustand (395) gesteuert.
  • In einem anderen Aspekt dieser Ausführung befindet sich die Stromversorgung des USB-Mikrocontrollers standardmäßig im Zustand EIN. Sobald der einzelne Prozessor (310) eingeschaltet wird, wird die Stromversorgung des USB-Mikrocontrollers (360) ausgeschaltet. Dies dient dazu, die Betriebsdauer der wiederaufladbaren Batterie (340) zu verlängern, und macht zudem die komplizierte Kommunikation zwischen den Prozessoren hinfällig.
  • 5 zeigt in einem Flussdiagramm die Schritte des Aufzählungsvorgangs für das tragbare Gerät (140) mit dem beispielhaften inneren Aufbau (300). In Schritt 400 wird das USB-Lade- und -Synchronisationskabel eingesteckt. In Schritt 410 wird ermittelt, ob der Ladezustand der wiederaufladbaren Batterie (340) unter dem Schwellwert zum Einschalten des tragbaren Geräts (140) mit einem USB-Strom von weniger als 100 mA vor der Aufzählung liegt. Wenn dies der Fall ist, wird in Schritt 420 der Chipsatz des tragbaren Geräts (140) eingeschaltet und das tragbare Gerät (140) aufgezählt. Wenn dies nicht der Fall ist, wird in Schritt 430 der USB-Mikrocontroller (370) eingeschaltet und unter Verwendung des Stroms von 100 mA vor der Aufzählung aufgezählt. Wenn in Schritt 440 ermittelt wird, dass der Ladezustand der wiederaufladbaren Batterie (340) über dem Schwellwert zum Einschalten des tragbaren Geräts (140) liegt, oder wenn ein Strom von 500 mA entnommen werden kann, wird in Schritt 450 der Chipsatz des tragbaren Geräts (140) gestartet. Nachdem der Chipsatz gestartet wurde, übernimmt in Schritt 460 das tragbare Gerät (140) die USB-Kommunikation vom USB-Mikrocontroller (370).
  • 6 zeigt eine alternative Umsetzung eines beispielhaften inneren Aufbaus (500) des tragbaren Geräts (140). In dieser Ausführung ersetzt ein USB-Hubcontroller (510) den USB-Mikrocontroller (370). Das tragbare Gerät (140) enthält darüber hinaus eine IC der USB-Ladevorrichtung (520) und eine IC für die Energieverwaltung (530), die ähnlichen Funktionen dienen wie die zuvor in Bezug auf 3 beschriebenen Elemente. Im Betrieb wird, wenn das USB-Lade- und -Synchronisationskabel in den Anschluss (540) eingesteckt wird, nur der USB-Hubcontroller (510) eingeschaltet, um die Aufzählung seitens des Hostcomputers (nicht abgebildet) durchzuführen. Im Unterschied zum tragbaren Gerät (140) benötigt der USB-Hubcontroller (510) zum Einschalten einen geringeren Strom als den Strom von 100 mA vor der Aufzählung. Wenn der Ladezustand der wiederaufladbaren Batterie (550) ausreichend hoch ist oder wenn nach der Aufzählung ein Strom von 500 mA entnommen werden kann, wird der Systemprozessor (560) gestartet und fungiert dieser als Gerät des USB-Hubcontrollers (510).
  • Bei dem USB-Hubcontroller (510) kann es sich auch um einen handelsüblichen, für tragbare Geräte entwickelten Controller handeln. Ein Beispiel für einen solchen USB-Hubcontroller (510) ist der von SMSC angebotene USB20H04, ein Hubcontroller für USB 2.0 mit vier Anschlüssen, der in 7 als Blockdiagramm dargestellt ist. Wie bereits ausgeführt, kann entsprechend der USB-Spezifikation in Revision 2.0 ein in das Host-Laptop integrierter Root-Hub entweder mit „Hubs" oder mit „Funktionen" verbunden werden. Darüber hinaus kann die Stromversorgung bei Hubs, ebenso wie bei Funktionen, aus dem Bus oder durch eine eigene Stromversorgung oder durch eine Kombination hiervon erfolgen. Der USB20H04 unterstützt Konfigurationen mit Stromversorgung aus dem Bus, mit eigener Stromversorgung und mit dynamischer Stromversorgung. Im Betrieb mit eigener Stromversorgung werden die nachgeschalteten Anschlüsse (in der Abbildung allgemein als 570 bezeichnet) durch eine externe Stromversorgung (z. B. die wiederaufladbare Batterie 550) gespeist. Im Modus mit Stromversorgung aus dem Bus liefert der vorgeschaltete Anschluss (580; d. h. die USB-Verbindung mit dem Host-Laptop) den gesamten Strom, und es wird keine externe Stromversorgung benötigt. Im Modus mit dynamischer Stromversorgung schaltet der USB20H04 automatisch in den Modus mit Stromversorgung aus dem Bus um, wenn eine örtliche Stromquelle verfügbar ist. In der vorteilhaften Ausführung kann im Modus mit dynamischer Stromversorgung der USB-Hubcontroller (510) während des Aufladens der wiederaufladbaren Batterie (550) durch das Host-Laptop eingeschaltet werden, mit dem dieser verbunden ist; anschließend wird der USB-Hubcontroller (510) von der wiederaufladbaren Batterie (550) eingeschaltet.
  • 8 ist ein Flussdiagramm mit den Schritten des Aufzählungsvorgangs für das tragbare Gerät (140) mit dem beispielhaften inneren Aufbau (500). In Schritt 600 wird das USB-Lade- und -Synchronisationskabel eingesteckt. In Schritt 610 wird der USB-Hubcontroller (510) eingeschaltet und unter Verwendung des Stroms von 100 mA vor der Aufzählung aufgezählt. Wenn in Schritt 620 ermittelt wird, dass der Ladezustand der wiederaufladbaren Batterie (520) über dem Schwellwert zum Einschalten des tragbaren Geräts (140) liegt, oder wenn ein Strom von 500 mA entnommen werden kann, wird in Schritt 630 der Chipsatz des tragbaren Geräts (140) gestartet. Nachdem der Chipsatz gestartet wurde, wird in Schritt 640 das tragbare Gerät (140) als an den USB-Hubcontroller (510) angeschlossenes Gerät aufgezählt. Wenn in Schritt 620 ermittelt wird, dass der Ladezustand der wiederaufladbaren Batterie (520) nicht über dem Schwellwert zum Einschalten des tragbaren Geräts (140) liegt oder dass ein Strom von 500 mA nicht entnommen werden kann, wird in Schritt 625 das Aufladen der Batterie fortgesetzt.
  • In 5 sind lediglich die für die Ausführung der vorgeschlagenen Lösung relevanten Aufzählungsschritte dargestellt. Wie für Fachleute ersichtlich ist, beinhaltet der Aufzählungsvorgang eine Reihe weiterer Schritte, die zur Verdeutlichung im Folgenden benannt werden. Im Allgemeinen muss der Host zunächst über ein Gerät informiert werden und einen Gerätetreiber zuweisen, damit Anwendungen mit einem Gerät kommunizieren können. Die Aufzählung ist der anfängliche Informationsaustausch, durch den dies erreicht wird. Der Vorgang beinhaltet das Zuweisen einer Adresse für das Gerät, das Einlesen von Datenstrukturen vom Gerät, das Zuweisen und Laden eines Gerätetreibers sowie das Auswählen einer Konfiguration unter den in den abgerufenen Daten angebotenen Möglichkeiten. Anschließend wird das Gerät konfiguriert, sodass es zum Übertragen von Daten unter Verwendung beliebiger Endpunkte in der Konfiguration des Geräts bereit ist.
  • Eine der Aufgaben eines Hubs besteht darin, das Anschließen und Entfernen von Geräten zu erkennen. Jeder Hub verfügt über einen Interrupt-Eingangskanal, um diese Ereignisse an den Hostcomputer zu melden. Beim Hochfahren des Systems informiert sich der Host durch Abfragen des (in den Computer integrierten) Root-Hub darüber, ob Geräte angeschlossen sind, darunter auch zusätzliche Hubs und an Geräte der ersten Stufe angeschlossene Geräte. Nach dem Hochfahren setzt der Host in regelmäßigen Abständen weitere Abfragen ab, um sich darüber zu informieren, ob zwischenzeitlich neue Geräte angeschlossen oder Geräte entfernt wurden. Wenn der Host über ein neues Gerät informiert wird, sendet er eine Reihe von Anforderungen an den Hub des Geräts, was bewirkt, dass der Hub einen Kommunikationspfad zwischen dem Host und dem Gerät einrichtet. Anschließend versucht der Host, das Gerät aufzuzählen, indem er Steuerungsübergaben mit USB-Standardanforderungen an den Endpunkt 0 sendet. Alle USB-Geräte müssen Steuerungsübergaben, die Standardanforderungen und einen Endpunkt 0 unterstützen. Damit die Aufzählung erfolgreich verläuft, muss das Gerät auf jede Anforderung reagieren, indem es die angeforderten Informationen zurückgibt und andere angeforderte Vorgänge ausführt. Nach Abschluss der Aufzählung fügt WindowsTM das neue Gerät dem Anzeigebereich „Geräte-Manager" in der Systemsteuerung hinzu. Wenn ein Benutzer ein Peripheriegerät trennt, entfernt WindowsTM das Gerät automatisch aus der Anzeige. Bei einem typischen Peripheriegerät enthält der Programmcode des Geräts die vom Host angeforderten Informationen, und Anforderungen der Informationen werden durch eine Kombination aus Hardware und Firmware dekodiert und beantwortet. Bei manchen anwendungsspezifischen Chips (ASICs) wird die Aufzählung vollständig durch die Hardware verwaltet, sodass keine Unterstützung durch Firmware erforderlich ist. Auf der Hostseite wickelt WindowsTM den Aufzählungsvorgang automatisch ab. WindowsTM sucht nach einer speziellen Textdatei, einer sogenannten INF-Datei, die den für das Gerät zu verwendenden Treiber bezeichnet, und beginnt dann mit dem Aufzählungsvorgang.
  • Während des Aufzählungsvorgangs durchläuft ein Gerät vier bis sechs in der Spezifikation definierte Gerätezustände: „Powered", „Default", „Address" und „Configured". (Die beiden anderen Zustände sind „Attached" und „Suspend".) Jedem Zustand entsprechen bestimmte Möglichkeiten und Verhaltensweisen des Geräts. Eine typische Abfolge von Ereignissen während der Aufzählung unter WindowsTM umfasst die folgenden Schritte:
    • (a) Der Benutzer verbindet ein Gerät über einen USB-Anschluss, oder beim Einschalten des Systems ist bereits ein Gerät über einen Anschluss verbunden. Der Anschluss kann sich am Root-Hub des Hosts oder an einem nachgeschalteten, mit dem Host verbundenen Hub (z. B. dem USB-Hubcontroller (510)) befinden. Der Hub versorgt den Anschluss mit Strom, und das Gerät befindet sich im Zustand „Powered";
    • (b) Der Hub erkennt das Gerät. Der Hub kontrolliert die Spannungen der Signalleitungen der einzelnen Anschlüsse. Beim Hub sind die beiden Signalleitungen (D+ und D–) eines Anschlusses jeweils mit einem Pull-down-Widerstand von 15 kΩ versehen; Geräte verfügen hingegen über einen Pull-up-Widerstand von 1,5 kΩ auf D+ bei Full-Speed-Geräten bzw. auf D– bei Low-Speed-Geräten. Bei High-Speed-Geräten erfolgt die Verbindung im Full-Speed-Modus. Wenn ein Gerät mit einem Anschluss verbunden wird, wird die betreffende Leitung vom Pull-up-Widerstand des Geräts in den H-Zustand versetzt, sodass der Hub das Vorhandensein eines Geräts erkennen kann. Nachdem ein Gerät erkannt wurde, versorgt der Hub dieses weiter mit Strom; es findet jedoch noch kein USB-Datenverkehr zum Gerät statt, da das Gerät noch nicht empfangsbereit ist;
    • (c) Der Host wird über das neue Gerät informiert. Über die jeweiligen Interrupt-Kanäle melden die einzelnen Hubs Ereignisse am Hub. Die Meldungen geben Aufschluss darüber, ob ein Ereignis am Hub oder an einem Anschluss (und ggf. an welchem Anschluss) eingetreten ist. Wenn der Host über ein Ereignis informiert wird, sendet er eine Anforderung Get_Port_Status an den Hub, um weitere Einzelheiten abzurufen. Get_Port_Status und die anderen Anforderungen sind Standardanforderungen der Hub-Klasse, die von allen Hubs verstanden werden. In den zurückgegebenen Informationen wird der Host vom Anschluss eines neuen Geräts unterrichtet;
    • (d) Der Hub erkennt, ob es sich um ein Low-Speed-Gerät oder um ein Full-Speed-Gerät handelt. Unmittelbar bevor der Hub das Gerät zurücksetzt, ermittelt der Hub durch Auswertung der Spannungen auf den beiden Signalleitungen, ob es sich um ein Low-Speed-Gerät oder um ein Full-Speed-Gerät handelt. Der Hub erkennt die Geschwindigkeit eines Geräts, indem er ermittelt, auf welcher Leitung im Leerlauf die höhere Spannung anliegt. Der Hub sendet die Informationen als Reaktion auf die nächste Anforderung Get_Port_Status an den Host. Bei USB 1.x konnte der Hub die Geschwindigkeit eines Geräts wahlweise unmittelbar nach dem Zurücksetzen erkennen. Bei USB 2.0 muss die die Geschwindigkeitserkennung vor dem Zurücksetzen erfolgen, damit während des Zurücksetzens geprüft werden kann (wie nachfolgend beschrieben), ob es sich bei dem Gerät um ein High-Speed-fähiges Gerät handelt;
    • (e) Der Hub setzt das Gerät zurück. Wenn ein Host über ein neues Gerät informiert wird, sendet der Hostcontroller eine Anforderung Set_Port_Feature an den Hub; hierdurch wird der Hub aufgefordert, den Anschluss zurückzusetzen. Der Hub versetzt die USB-Datenleitungen des Geräts für mindestens 10 ms in den Reset-Zustand. Im Reset-Zustand befinden sich ausnahmsweise sowohl D+ als auch D– im logischen L-Zustand. (Normalerweise befinden sich die beiden Leitungen in entgegengesetzten logischen Zuständen.) Der Hub sendet die Anforderung zum Zurücksetzen nur an das neue Gerät. Für andere Hubs und Geräte am Bus ist sie nicht sichtbar;
    • (f) Der Host ermittelt, ob ein Full-Speed-Gerät High-Speed-fähig ist. Ob ein Gerät High-Speed-fähig ist, wird anhand zweier spezieller Signalzustände erkannt. Im Zustand „J-Chirp" wird nur die Leitung D+ angesteuert; im Zustand „K-Chirp" wird nur die Leitung D– angesteuert. Während des Zurücksetzens sendet ein Gerät mit High-Speed-Unterstützung einen K-Chirp. Ein High-Speed-Hub erkennt den Chirp und reagiert mit einer Abfolge alternierender K- und J-Chirps. Wenn das Gerät das Muster KJKJKJ erkennt, deaktiviert es den Pull-up-Widerstand für den Full-Speed-Modus und wickelt die gesamte weitere Kommunikation im High-Speed-Modus ab. Wenn der Hub nicht auf den K-Chirp des Geräts reagiert, signalisiert dies dem Gerät, die Kommunikation im Full-Speed-Modus fortzusetzen. Alle High-Speed-Geräte müssen in der Lage sein, im Full-Speed-Modus auf Aufzählungsanforderungen zu reagieren;
    • (g) Der Hub richtet einen Signalweg zwischen dem Gerät und dem Bus ein. Der Host prüft, ob das Gerät den Reset-Zustand verlassen hat, indem er eine Anforderung Get_Port_Status sendet. Ein Bit in den zurückgegebenen Daten gibt an, ob sich das Gerät noch im Reset-Zustand befindet. Erforderlichenfalls wiederholt der Host die Anforderung so lange, bis das Gerät den Reset-Zustand verlassen hat. Wenn der Hub den Reset-Zustand aufhebt, befindet sich das Gerät im Default-Zustand. Die USB-Register des Geräts befinden sich in den jeweiligen zurückgesetzten Zuständen, und das Gerät ist bereit, auf Steuerungsübergaben über den Standardkanal an Endpunkt 0 zu reagieren. Das Gerät kann nun unter Verwendung der Standardadresse 00h mit dem Host kommunizieren. Das Gerät kann bis zu 100 mA aus dem Bus entnehmen;
    • (h) Der Host sendet eine Anforderung Get_Descriptor, um die maximale Paketgröße des Standardkanals zu ermitteln. Der Host sendet die Anforderung an Geräteadresse 0, Endpunkt 0. Da der Host immer nur jeweils ein Gerät aufzählt, reagiert nur ein Gerät auf die an Geräteadresse 0 gerichtete Kommunikation, auch wenn mehrere Geräte gleichzeitig angeschlossen werden. Das achte Byte der Beschreibung des Geräts gibt die von Endpunkt 0 unterstützte maximale Paketgröße an. Ein WindowsTM-Host fordert 64 Byte an, beginnt jedoch nach Empfang eines Pakets (unabhängig davon, ob dieses 64 Byte umfasst) mit der Statusphase der Übertragung. Nach Abschluss der Statusphase fordert ein WindowsTM-Host den Hub auf, das Gerät zurückzusetzen (Schritt (e)). Ein Zurücksetzen ist hier laut Spezifikation nicht erforderlich, da die Geräte in der Lage sein müssen, den Abbruch eines Steuerungsübergangs durch den Host jederzeit dadurch zu verarbeiten, dass sie auf das nächste Setup-Paket reagieren. Das Zurücksetzen ist jedoch eine Vorkehrung, durch die sichergestellt wird, dass sich das Gerät nach dem Zurücksetzen in einem bekannten Zustand befindet;
    • (i) Der Host weist eine Adresse zu. Der Hostcontroller weist dem Gerät eine eindeutige Adresse zu, indem er eine Anforderung Set Address sendet. Das Gerät liest die Anforderung, gibt eine Bestätigung zurück und speichert die neue Adresse. Das Gerät befindet sich nun im Address-Zustand. Die neue Adresse wird von diesem Zeitpunkt an für die gesamte Kommunikation verwendet. Die Adresse bleibt so lange gültig, bis das Gerät getrennt oder zurückgesetzt oder das System abgeschaltet wird. Bei der nächsten Aufzählung kann dem Gerät eine andere Adresse zugewiesen werden;
    • (j) Der Host ermittelt die Möglichkeiten des Geräts. Der Host sendet eine Anforderung Get_Descriptor an die neue Adresse, um die Beschreibung des Geräts einzulesen, wobei diese diesmal vollständig ausgewertet wird. Die Beschreibung ist eine Datenstruktur mit Angaben zur maximalen Paketgröße für Endpunkt 0 und zur Anzahl der vom Gerät unterstützten Konfigurationen sowie mit weiteren grundlegenden Informationen zum Gerät. Der Host nutzt diese Informationen bei den nachfolgenden Kommunikationsvorgängen. Der Host erfasst weitere Informationen zum Gerät, indem er die eine oder mehreren Konfigurationsbeschreibungen entsprechend der Beschreibung des Geräts anfordert. Ein Gerät reagiert auf eine Anforderung einer Konfigurationsbeschreibung normalerweise durch Senden der Beschreibung, gefolgt durch alle untergeordneten Beschreibungen der betreffenden Beschreibung. Ein Windows-Host fordert jedoch zunächst nur die neun Bytes der Konfigurationsbeschreibung an. Diese Bytes enthalten eine Angabe der Gesamtlänge der Konfigurationsbeschreibung und von deren untergeordneten Beschreibungen. Anschließend fordert Windows die Konfigurationsbeschreibung erneut an, wobei diesmal deren gesamte Länge von bis zu FFh Bytes ausgewertet wird. Dies bewirkt, dass das Gerät die Konfigurationsbeschreibung, gefolgt von der bzw. den Schnittstellenbeschreibung(en) für die einzelnen Konfigurationen, gefolgt von der bzw. den Endpunktbeschreibung(en) für die einzelnen Schnittstellen sendet. Wenn die Beschreibungen insgesamt mehr als FFh Bytes umfassen, ruft WindowsTM bei einer dritten Anforderung die gesamten Beschreibungen ab. Am Anfang einer Beschreibung stehen jeweils Angaben zu Länge und Typ, anhand deren der Host die nachfolgenden Daten parsen (in die einzelnen Elemente aufschlüsseln) kann;
    • (k) Der Host weist einen Gerätetreiber zu und lädt diesen (außer bei zusammengesetzten Geräten). Nachdem der Host anhand der Beschreibungen alle verfügbaren Informationen zum Gerät erfasst hat, sucht er nach dem am besten geeigneten Gerätetreiber für die Verwaltung der Kommunikation mit dem Gerät. Die Auswahl eines Treibers erfolgt unter WindowsTM durch Abgleich der vom Gerät empfangenen Angaben zur Hersteller- und Produktkennung sowie (optional) zur Versionsnummer mit den in den INF-Dateien des Systems gespeicherten Informationen. Wenn keine Übereinstimmungen gefunden werden, sucht WindowsTM nach Übereinstimmungen mit vom Gerät empfangenen Werten bezüglich dessen Klasse, Unterklasse und Protokoll. Nach dem Zuweisen und Laden des Treibers durch das Betriebssystem fordert dieser in vielen Fällen das erneute Senden von Beschreibungen oder das Senden anderer klassenspezifischer Beschreibungen durch das Gerät an. Ein Ausnahme bilden hierbei zusammengesetzte Geräte, die über mehrere Schnittstellen verfügen, wobei jede Schnittstelle einen eigenen Treiber benötigt. Der Host kann diese Treiber erst nach dem Aktivieren der Schnittstellen zuweisen, was ein Konfigurieren des Geräts voraussetzt (wie im folgenden Schritt beschrieben);
    • (l) Der Gerätetreiber des Hosts wählt eine Konfiguration aus. Nach dem Erfassen von Informationen zum Gerät aus den Beschreibungen fordert der Gerätetreiber eine Konfiguration an, indem er eine Anforderung Set Configuration mit der gewünschten Konfiguration sendet. Viele Geräte unterstützen nur eine Konfiguration. Wenn ein Gerät mehrere Konfigurationen unterstützt, kann der Treiber anhand vorliegender Informationen zur Art der Nutzung des Geräts entscheiden, welche Konfiguration verwendet wird, oder der Benutzer kann zur Auswahl des weiteren Vorgehens aufgefordert werden oder es kann einfach die erste Konfiguration ausgewählt werden. Das Gerät liest die Anforderung ein und legt die Konfiguration entsprechend fest. Das Gerät befindet sich nun im Configured-Zustand, und die Schnittstelle(n) des Geräts ist bzw. sind aktiviert.
  • Nun weist der Host Treiber für die Schnittstellen zusammengesetzter Gerät zu. Wie auch bei anderen Geräten sucht der Host anhand vom Gerät empfangener Informationen nach einem passenden Treiber. Das Gerät ist nun bereit und kann verwendet werden.
  • Der Vorteil der vorgeschlagenen Lösung ist damit ohne Weiteres ersichtlich. Unter Verwendung des USB-Mikrocontrollers kann der Chipsatz eines tragbaren Geräts auch dann gestartet werden, wenn das tragbare Gerät im Vorfeld der Aufzählung seitens des Host-Computers nicht mehr als 100 mA aufnehmen kann.
  • Wer die vorgeschlagene Lösung versteht, kann alternative Aufbauten und Ausführungen oder Abwandlungen der oben genannten entwickeln, die allesamt in den durch die nachfolgenden Ansprüche bestimmten Bereich der vorgeschlagenen Lösung fallen sollen.

Claims (8)

  1. Tragbares Kommunikationsgerät (140), das Folgendes umfasst: einen USB-Anschluss (360), der für die Verbindung mit einem USB Host Controller angepasst ist, wobei der USB Host Controller den USB-Anschluss unter einem Stromschwellwert vor der Aufzählung des tragbaren Kommunikationsgeräts und über dem Stromschwellwert nach der Aufzählung des tragbaren Kommunikationsgeräts mit Strom versorgt; einen ersten Prozessor (370), wobei der erste Prozessor zum Starten, sobald der zugeführte Strom unter dem Stromschwellwert liegt, angepasst ist; einen zweiten Prozessor (310), wobei der zweite Prozessor Teil eines Chipsatzes ist, der erfordert, dass der zugeführte Strom über dem Stromschwellwert liegt, um zu starten; eine Stromüberwachungsschaltung (320), die von dem zweiten Prozessor (310) getrennt ist; und einen Multiplexer (380), wobei sich der Multiplexer auf einem Kommunikationspfad zwischen dem USB-Anschluss (360) und dem ersten Prozessor (370) und zweiten Prozessor (310) befindet, wobei der erste Prozessor ein USB-Mikrocontroller (370) ist und angepasst ist, um mit dem USB Host Controller aufzuzählen, um Strom über dem Schwellwert zu bekommen, und wobei der zweite Prozessor (310) angepasst ist, um die Kommunikation über den USB-Anschluss (360) durch das tragbare Gerät (140) von dem ersten Prozessor (370) her beim Starten des zweiten Prozessors (310) zu übernehmen, und das tragbare Gerät (140) angepasst ist, um den ersten Prozessor (370) beim Starten des zweiten Prozessors (310) abzuschalten.
  2. Tragbares Kommunikationsgerät (140) nach Anspruch 1, wobei der Stromschwellwert 100 mA beträgt.
  3. Tragbares Kommunikationsgerät (140) nach Anspruch 1 oder Anspruch 2, das des Weiteren eine wiederaufladbare Batterie (340) und eine integrierte Stromüberwachungsschaltung (320) umfasst, wobei der zweite Prozessor (310) mit Hilfe der wiederaufladbaren Batterie (340) gestartet wird, wenn ein Strom über dem Stromschwellwert aus der wiederaufladbaren Batterie (340) aufgenommen werden kann, wobei das tragbare Kommunikationsgerät (140) angepasst ist, um das Starten des ersten Prozessors (370) zu vermeiden, wenn der zweite Prozessor (310) mit Hilfe der wiederaufladbaren Batterie (340) gestartet wird.
  4. Tragbares Kommunikationsgerät (140) nach Anspruch 3, das des Weiteren eine Aufladevorrichtung (350) zwischen dem USB-Anschluss (360) und der wiederaufladbaren Batterie (340) umfasst.
  5. Verfahren des Aufzählens eines zweiten Prozessors (310) in einem tragbaren Kommunikationsgerät (140), wobei das tragbare Kommunikationsgerät (140) über einen ersten Prozessor (370) verfügt, der zum Starten mit einem Strom unter einem Stromschwellwert in der Lage ist, und ein zweiter Prozessor (310) Teil eines Chipsatzes ist, der erfordert, dass Strom über dem Stromschwellwert liegt, um zu starten, wobei das tragbare Kommunikationsgerät des Weiteren eine von dem zweiten Prozessor (310) getrennte Stromüberwachungsschaltung (320) umfasst, wobei das Verfahren folgende Schritte umfasst: Starten des ersten Prozessors (370); Über einen USB-Anschluss (360) Aufzählen des ersten Prozessors (370) mit einem USB Host Controller, der zum Versorgen mit Strom unter dem Stromschwellwert vor der Aufzählung und über dem Stromschwellwert nach der Aufzählung in der Lage ist; Starten des zweiten Prozessors (310); Übernehmen von Kommunikationen zwischen dem USB Host Controller und dem tragbaren Kommunikationsgerät (140) an dem zweiten Prozessor (310), wobei das tragbare Kommunikationsgerät einen Multiplexer (380) umfasst, wobei der Schritt des Übernehmens den Multiplexer (380) nutzt, um Kommunikationen an den zweiten Prozessor (310) zu leiten; und Abschalten des ersten Prozessors (370) beim Starten des zweiten Prozessors (310), wobei der erste Prozessor ein USB-Mikrocontroller (370) ist.
  6. Verfahren nach Anspruch 5, wobei das Abschalten unter Nutzung der integrierten Stromüberwachungsschaltung (320) durchgeführt wird.
  7. Verfahren nach einem der Ansprüche 5 bis 6, das des Weiteren den Schritt des Aufladens einer wiederaufladbaren Batterie (340) auf dem tragbaren Kommunikationsgerät (140) unter Nutzung der integrierten Stromüberwachungsschaltung (320) umfasst.
  8. Verfahren nach Anspruch 7, wobei, wenn die wiederaufladbare Batterie (340) zum Versorgen mit Strom zum Starten des zweiten Prozessors (310) in der Lage ist, das Verfahren die Schritte des Startens des ersten Prozessors (370) und des Aufzählens auslässt.
DE602005005065T 2005-10-13 2005-10-13 Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts Active DE602005005065T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP05109552A EP1775652B1 (de) 2005-10-13 2005-10-13 Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts

Publications (2)

Publication Number Publication Date
DE602005005065D1 DE602005005065D1 (de) 2008-04-10
DE602005005065T2 true DE602005005065T2 (de) 2009-03-19

Family

ID=35645774

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005005065T Active DE602005005065T2 (de) 2005-10-13 2005-10-13 Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts

Country Status (5)

Country Link
EP (1) EP1775652B1 (de)
AT (1) ATE387653T1 (de)
CA (1) CA2562776C (de)
DE (1) DE602005005065T2 (de)
ES (1) ES2299963T3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011009898A1 (de) * 2011-01-31 2012-08-02 Castellan Ag Vorrichtung zur Aufbewahrung elektrischer, mit Akkus versehener Verbraucher

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523338B2 (en) 2005-10-13 2009-04-21 Research In Motion Limited Apparatus and method to support USB enumeration of a bus powered handheld device
CN101663634B (zh) * 2007-03-29 2012-05-23 诺基亚公司 Usb设备的连接
DE602007001594D1 (de) * 2007-05-24 2009-08-27 Research In Motion Ltd System und Verfahren zum Ankoppeln einer elektronischen Vorrichtung an ein Hostsystem
US7631126B2 (en) 2007-05-24 2009-12-08 Research In Motion Limited System and method for interfacing an electronic device with a host system
US8260370B2 (en) 2008-01-03 2012-09-04 Kyocera Corporation Method and apparatus for powering a wireless peripheral
US7873774B2 (en) * 2008-02-01 2011-01-18 Telefonaktiebolaget Lm Ericsson (Publ) Connections and dynamic configuration of interfaces for mobile phones and multifunctional devices
EP2110034A1 (de) 2008-04-17 2009-10-21 Philip Morris Products S.A. Elektrisch erhitztes Rauchsystem
WO2010109984A1 (ja) * 2009-03-24 2010-09-30 コニカミノルタエムジー株式会社 放射線画像検出システム
KR20150001502A (ko) 2013-06-27 2015-01-06 삼성전자주식회사 전자 장치 및 제어 방법
US9804977B2 (en) * 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
CN112437335B (zh) * 2020-11-11 2023-01-24 海信视像科技股份有限公司 显示设备及其外接设备连接处理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633932B1 (en) * 1999-09-14 2003-10-14 Texas Instruments Incorporated Method and apparatus for using a universal serial bus to provide power to a portable electronic device
US6665801B1 (en) * 2000-01-27 2003-12-16 Symbol Technologies, Inc. Method and apparatus for charging a self powered USB device at different charge rates according to the charge level of a rechargeable element on the device
JP3674855B2 (ja) * 2002-03-20 2005-07-27 ソニー株式会社 電源制御装置および電源制御方法
US7100060B2 (en) * 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011009898A1 (de) * 2011-01-31 2012-08-02 Castellan Ag Vorrichtung zur Aufbewahrung elektrischer, mit Akkus versehener Verbraucher

Also Published As

Publication number Publication date
ES2299963T3 (es) 2008-06-01
CA2562776A1 (en) 2007-04-13
CA2562776C (en) 2010-12-21
DE602005005065D1 (de) 2008-04-10
EP1775652A1 (de) 2007-04-18
EP1775652B1 (de) 2008-02-27
ATE387653T1 (de) 2008-03-15

Similar Documents

Publication Publication Date Title
DE602005005065T2 (de) Vorrichtung und Verfahren zur Unterstützung der USB-Aufzählung eines BUS-betriebenen tragbaren Geräts
DE60128396T2 (de) Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden
DE10392279B4 (de) Kommunikationsbrücke zwischen einem Fahrzeuginformationsnetz und einem Fernsystem
US7984318B2 (en) Apparatus and method to support USB enumeration of a bus powered handheld device
DE69433377T2 (de) Leistungsverwaltungssystem fuer rechnervorrichtungszwischenverbindungsbus und verfahren hierfür
CN100477547C (zh) 通信设备主从切换方法及通信设备
EP2396877B1 (de) Photovoltaikanlage mit mehreren wechselrichtern, wechselrichter, usb-massenspeichergerät und verfahren zum durchführen von software-updates an wechselrichtern
DE102013006162B4 (de) Elektronische Vorrichtung und Erweiterungsvorrichtung
DE102007026077A1 (de) Elektronisches Gerät mit einer USB-Schnittstelle, integriertes Schaltkreissystem, elektronischer Schaltkreis und Verfahren zum Steuern einer dualen USB-Schnittstelle
DE112012002784T5 (de) System und Verfahren zum Bereitstellen von Strom durch eine umgekehrte lokale Datenübertragungsverbindung
DE60211243T2 (de) Verfahren zur Konfiguration von elektronischen Geräten
CN111090605B (zh) 一种用于mcu软件升级的usb转uart电路
DE102013006678A1 (de) Multi-host-funkeingabevorrichtung
CN105278650A (zh) 电子设备
DE102008043947A1 (de) Anschlusszustandserkennungssystem für ein Netzwerkkabel
DE102006043372B4 (de) Verfahren zur Stromsteuerung bei einem TV-Modul eines tragbaren elektronischen Gerätes
EP2159667B1 (de) Computersystem und Verfahren zum Energie sparenden Betrieb eines Computersystems
DE60303162T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE10023386B4 (de) Verfahren zum automatischen Abschalten eines in einem Fahrzeug installierten Personal-Computers
DE60211211T2 (de) Kommunikationsgerät, empfangprozessausführungsverfahren-und-programm, und rechnerlesbares medium auf dem dieses programm gespeichert ist
CN116541329A (zh) 一种数据传输方法、装置、设备及介质
US20210375335A1 (en) Data writing method and apparatus
CN110794804B (zh) 用于刷写ecu的系统、ecu、机动车和方法
CN2810065Y (zh) 具预约录像功能的音视频采集装置
CN201869223U (zh) 机器对机器终端、通信模块、数据发送装置

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP, 80336 MUENCHEN