Forum: Mikrocontroller und Digitale Elektronik AVR - USB Device Anfrage auf Stromerhöhung


von Ryipah (Gast)


Lesenswert?

Moin Leute,
nach längerem Suchen hier im Forum hab ich leider keine konkrete Antwort 
auf meine Frage gefunden, deswegen poste ich jetz selber mal eine =).

Es geht um folgendes:
Ich hab einen ATMEL USB-Controller (AT90USB1287) in meinem Gerät im 
Einsatz. Da die Applikation durch einen Akku versorgt wird, möchte ich 
den natürlich so effizient wie möglich aufladen. Der Ladevorgang findet 
während dem USB-Betrieb des Geräts statt. Laut USB-Spec darf ich ja 
während des Enumerationsprozesses nur 100mA ziehen und später evtl. auf 
500mA erhöhen. Und genau dieses "evtl." stellt meine Problematik dar. An 
normalen USB-Ports des Rechners sollte das ja kein Problem sein, aber an 
Bus-powered Hubs darf ich die 500mA ja nicht ziehen.
Meine Frage bezieht sich jetz auf die Vorgehensweise der "Stromanfrage" 
an den Host. Bzw. möchte ich eigentlich nur wissen ob das, was ich mir 
ausgedacht habe auch funktioniert bevor ich mir antu in der ATMEL 
Firmware rumzuprogrammieren.

Meine Idee:
Funktioniert es, dass ich anstatt einen Konfigurationsdeskriptor für 
mein Device zwei schicke, die bis auf bMaxPower gleich sind und halt 
einmal die 100mA und einmal die 500mA beinhalten? Also würde der Host 
mir dann im SET_CONFIGURATION Befehl die Konfiguration schicken mit dem 
maximal erlaubten Strom? (Also an Ports 500mA und an Bus-Powered Hubs 
100mA)

Schonmal vielen Dank für die Hilfe!
Greez,
Ryi

von Ryipah (Gast)


Lesenswert?

/push
wär echt wichtig, weiß keiner was? sry für den push ^^

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Probieren geht über studieren, würde ich mal sagen.

Ich sehe es zumindest so, dass es genau für solche Dinge die
Möglichkeit gibt, mehrere Konfigurationen zu hinterlegen.  Ich würde
allerdings die Konfiguration mit der 500-mA-Anforderung als erste
hinlegen und die 100-mA-Alternative als zweite.  Ich gehe einfach
davon aus, dass die Hostsoftware wohl die möglichen Konfigurationen
von 1 beginnend ausprobiert, bis sie eine findet, die akzeptabel
ist.

Wäre mal interessant, wenn du zu dem Thema was rausgefunden hast.
Ich habe mich auch eben ein wenig mit AT90USB1287s rumschlagen
müssen.

von Olly K. (rossi75)


Lesenswert?

------------------------------------------------------------------------ 
---Probieren  geht über studieren, würde ich mal sagen.

Ich sehe es zumindest so, dass es genau für solche Dinge die
Möglichkeit gibt, mehrere Konfigurationen zu hinterlegen.  Ich würde
allerdings die Konfiguration mit der 500-mA-Anforderung als erste
hinlegen und die 100-mA-Alternative als zweite.  Ich gehe einfach
davon aus, dass die Hostsoftware wohl die möglichen Konfigurationen
von 1 beginnend ausprobiert, bis sie eine findet, die akzeptabel
ist.

Wäre mal interessant, wenn du zu dem Thema was rausgefunden hast.
Ich habe mich auch eben ein wenig mit AT90USB1287s rumschlagen
müssen.
------------------------------------------------------------------------ 
---
Ich musste mich auch mal damit beschäftigen. Ich habe noch in Erinnerung 
dass zuerst die Anzahl der Konfigurationen abgefragt wird und dann die 
einzelnen Konfigs an sich zum Host geschickt werden. Von denen sucht er 
sich dann die 0er Konfig aus oder der Treiber gibt eine andere Konfig 
vor. Genaues kann ich Euch aber Sonntag schreiben wenn ihr das 
braucht...

cu,
olly...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.