Hallo, ich möchte ein Carrierboard für ein Board mit einem i.MX6 Prozessor designen und dieses optional über USB versorgen (Prozessor hat USB 2.0 Funktionalitäten). Allerdings könnten die 500mA von USB 2.0 zu wenig sein. Jetzt ist die Frage, wenn ich mein Board über einen USB 3.0 Port am PC versorge, was muss ich machen um bis zu 900mA zu bekommen? Muss ich meinem Board irgendwie sagen, dass es ein USB 3.0 Gerät ist? Oder wird es automatisch bemerkt, wenn mein Board mehr als 500mA benötigt? Meine Recherche hat mir keine eindeutige Antwort gegeben. Oder kann ich den Charging Mode vom USB missbrauchen und damit regulär versorgen ohne etwas aufzuladen? Danke, Egon
Egon schrieb: > was muss ich machen um bis zu 900mA zu bekommen? Muss ich meinem Board > irgendwie sagen, dass es ein USB 3.0 Gerät ist? Ja. > Oder wird es automatisch bemerkt, wenn mein Board mehr als 500mA > benötigt? Nein. Übrigens darf Dein Board, via USB2.0 versorgt, auch nicht einfach so 500 mA aufnehmen, das darf es erst, nachdem der USB-Host den USB-Descriptor ausgewertet hat, in dem dieser Bedarf eingetragen ist. Ohne diese Interaktion darf es nur 10 mA aufnehmen. Das alles steht fein säuberlich in der USB-Dokumentation drin. Willst Du denn Dein "Carrierboard" wirklich an einen USB-Port eines PCs hängen, oder möchtest Du einfach nur ein stinknormales USB-Netzteil verwenden können? In letzterem Fall musst Du Dich im Grunde genommen um überhaupt nichts kümmern (so, wie es z.B. der Raspberry Pi macht) - die USB-Buchse ist zwar eine USB-Buchse, aber mehr als +5V/GND transportiert sie nicht, das könnte also auch einfach eine Hohlbuchse oder eine Schraubklemme sein.
Rufus Τ. F. schrieb: > Willst Du denn Dein "Carrierboard" wirklich an einen USB-Port eines PCs > hängen, oder möchtest Du einfach nur ein stinknormales USB-Netzteil > verwenden können? Die Idee wäre schon gewesen den USB-Port zu nehmen um sich das Netzteil zu sparen. Allerdings ist die Verbindung zu einem normalen USB-Netzteil möglicherweise einfacher. Danke für deinen Input!
Technisch ist das nur ein Highsideswitch der bei >>500mA abschaltet. Nach Spec sinds 650mA bis 2.0, ab 3.0 sind 1,1A drin. Als Rückkanal dient der Overcurrentsense, damit merkt dann der Host daß dort irgendwas nicht stimmt. Was der Host nicht merkt ist ob der Client jetzt 10mA oder 640mA zieht. Das könnte man sicher in den Treiber reinprogrammieren und zur Erkennung einen Currentmonitor benutzen, aber machen tuts eigentlich niemand. Zumindest nicht in den Referenzdesigns der Hersteller, die dann leicht abgewandelt in den Markt gedrückt werden.
Du kannst natürlich soviel Strom ziehen wie dein Anschluss her gibt. Der weiß erst mal nichts von 500mA oder 900mA. Aber: Ein USB Gerät darf nach Spec erst mal nur 100mA ziehen (low Power) Nach der Enumeration darf ein High Power Device dann 500mA ziehen (USB1 oder USB2) Nur wenn du ein USB 3 Gerät hast darfst du 900mA ziehen Falls das Device einen Suspend bekommt sind es 0.5mA bzw 3mA. Das halten aber nur die wenigsten Geräte ein. Das betrifft dich aber nur dann wenn du spec konform sein must. Die meisten Hosts liefern wesentlich mehr Strom in der Regel wird eine 1A Polyfuse zum Schutz eingebaut. Anders ist die Sache wenn ein Hub dazwischen ist. Dort wird der Strom oft überwacht. Das gibt dann die lustigen Fehlermeldungen. Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.