Forum: Mikrocontroller und Digitale Elektronik FT232 Erkennen von USB-Host


von Peter F. (piet)


Lesenswert?

Hallo!
Kann ich mit einem FT232 irgendwie erkennen ob er gerade wirklich mit 
einem USB-Anschluss verbunden ist?
Hintergrund, ich möchte die Schaltung entweder nur mit Strom (Netzteil 
mit Mini-USB Stecker) oder über den PC versorgen, idealerweise immer mit 
500mA ausser im USB-Suspend. Dabei können jetzt folgende Zustände 
auftreten:

Netzteil Angeschlossen -> 500mA
Mit USB-Anschluss verbunden und angemeldet -> 500mA
Mit USB-Anschluss verbunden im USB-Suspend -> 100mA

Die letzten beide Punkte sind ja kein Problem indem man einfach das 
PWREN oder SLEEP Signal des FT232 mit dem µC auswertet.
Was ist jetzt aber wenn nur Strom anliegt aber nichts an den 
Datenleitungen des FT232?
Ich würde vermuten das er sich in dem Fall wie im USB-Suspend verhält, 
das kann der µC ja nicht erkennen um trotzdem dann 500mA freizugeben.

Eine extra Buchse kommt nicht in Frage, kein Platz mehr.
Ich könnte dem µC einfach per Knopfdruck sagen, zieh trotzdem 500mA das 
ist aber auch nicht schön.
Hat vielleicht jemand noch eine Idee?

Mfg,
Peter

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Netzteil Angeschlossen -> 500mA
> Mit USB-Anschluss verbunden und angemeldet -> 500mA
> Mit USB-Anschluss verbunden im USB-Suspend -> 100mA
>
> Die letzten beide Punkte sind ja kein Problem indem man einfach das
> PWREN oder SLEEP Signal des FT232 mit dem µC auswertet.
> Was ist jetzt aber wenn nur Strom anliegt aber nichts an den
> Datenleitungen des FT232?

Dann muss PWREN sich so verhalten wie bei Suspend, denn der Bus darf 
erst nach erfolgreicher Enumeration (Anmeldung an den Host) mit mehr als 
100 mA belastet werden. Nur Versorgungsspannung anschließen ohne 
USB-Signale entspricht dem Zustand "angeschlossen, nicht enumeriert".

von Benedikt K. (benedikt)


Lesenswert?

Peter F. schrieb:

> Mit USB-Anschluss verbunden im USB-Suspend -> 100mA

Bist du da sicher? Afaik sind es im Suspend irgendwas um 1mA.

von Peter F. (piet)


Lesenswert?

Benedikt K. schrieb:
> Peter F. schrieb:
>
>> Mit USB-Anschluss verbunden im USB-Suspend -> 100mA
>
> Bist du da sicher? Afaik sind es im Suspend irgendwas um 1mA.

Oh, du hast recht, da hab ich was durcheinander gebracht, klar, der 
Suspend Mode wird ja auch vom Host angekündigt.

Nur Strom: 100mA verhält sich wie nicht angemeldet
USB-Port: 100mA nicht angemeldet
USB-Port: 500mA angemeldet
USB-Port: 500µA im suspend

Letztere Punkte lassen sich alle mit dem µC schalten und einhalten.
Also müsst ich eine Lösung finden wie der µC erkennen kann das nur Strom 
anliegt.

von Ralf (Gast)


Lesenswert?

Hm, wenn ich das richtig verstanden habe, hast du ein Gerät, welches 
sowohl bus-powered als auch self-powered ist? Das widerspricht aber 
soweit ich weiss der Spezifikation...

Egal, du kannst ja VBUS mit einer Schottky-Diode vom Rest der Schaltung 
trennen, und vor der Diode kannst mit nem Port abfragen, ob Power da 
ist...

Oder hab ich jetzt was falsch verstanden?

Ralf

von Peter F. (piet)


Angehängte Dateien:

Lesenswert?

Ralf schrieb:
> Hm, wenn ich das richtig verstanden habe, hast du ein Gerät, welches
> sowohl bus-powered als auch self-powered ist? Das widerspricht aber
> soweit ich weiss der Spezifikation...

Ja, mehr oder weniger ;-)

> Egal, du kannst ja VBUS mit einer Schottky-Diode vom Rest der Schaltung
> trennen, und vor der Diode kannst mit nem Port abfragen, ob Power da
> ist...
>
> Oder hab ich jetzt was falsch verstanden?

Etwas aber ich hab mich auch nicht genau ausgedrückt ;^^
Ich hänge mal ein PDF mit der Schaltung an.

Das Gerät versorgt sich aus einem Akku mit Strom, über USB oder Netzteil 
soll nur die LiPo Ladeschaltung und der FT232 versorgt werden. 
Genaugenommen ist es also self powered, da im normalen betrieb der FT232 
und der LiPo Lader nicht gebraucht werden sollen diese dann mit Strom 
vom USB-Bus versorgt werden oder eben über ein Netzteil zum Laden.

Mfg,
Peter

von Peter F. (piet)


Lesenswert?

bump

von Michael H. (morph1)


Lesenswert?

guckst du max8677A :)

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.