Forum: Mikrocontroller und Digitale Elektronik µC am USB-Power verzögert einschalten


von salau (Gast)


Lesenswert?

Hallo User,

ich habe ein Problem und zwar möchte ich ein USB-Device mit dem FTDI 
(FT232) bauen, woran ein µC angeschlossen wird. Nun habe ich das 
Problem, dass ich beim Einstecken des Geräts (in die USB-Buchse) an den 
Handshake Leitungen des FTDI ein Blicken und Flackern bekomme. Dies 
möchte ich umgehen, indem die Versorgungsspannung des µC etwa 4-5 
sekunden nach dem Einstecken auf 5V ansteigt. Kann mir in der Hinsicht 
jemand behilflich sein? Theoretisch wäre auch eine Delay-Routine in der 
µC-Firmware möglich, quasi direkt in der initialisierungsroutine, aber 
wie sicher ist sowas? Gibt es für sowas eine elegante Lösung?

Danke an alle
LG salau

von Falk B. (falk)


Lesenswert?

@  salau (Gast)

>Problem, dass ich beim Einstecken des Geräts (in die USB-Buchse) an den
>Handshake Leitungen des FTDI ein Blicken und Flackern bekomme. Dies
>möchte ich umgehen, indem die Versorgungsspannung des µC etwa 4-5
>sekunden nach dem Einstecken auf 5V ansteigt.

Unnötig. Nutze die Schaltungen aus dem Datenblatt, dort wird der Reset 
über ein Steuerpin vom FTDI geschaltet, das sorgt für solide 
Einschaltverhältnisse. Entweder PWREN# oder SLEEP#, je nach Anwendung.

>jemand behilflich sein? Theoretisch wäre auch eine Delay-Routine in der
>µC-Firmware möglich, quasi direkt in der initialisierungsroutine,

Z.B.

> aber
>wie sicher ist sowas?

Sicher.

Mfg
Falk

von Spice (Gast)


Lesenswert?

RC-Glied?

von Stefan (Gast)


Lesenswert?

Das "Zappeln" der Handshakeleitungen (DTR/RTS ?) kommt doch vom FT232 
und nicht vom µC! Wie willst Du das umgehen?
Stört Dich das oder macht Dein µC deswegen zicken?

Du könntest einen Status-Pin des FT232 benutzen (PWREN#) um Deinen µC 
solange im Reset zu halten. Der ist im und nach dem Reset high und geht 
erst low, wenn die USB-Konfiguration vorbei ist. Allerdings liegt bei 
USB-Suspend auch high-Pegel an.
Oder Du verwendest einen freien I/O-Port (FT232R hätte davon 4 Stck.) um 
Deinen µC per USB-Treiber "freizuschalten"

von salau (Gast)


Lesenswert?

Vielen Dank Falk,

auch wenn ich das mit dem Resetpin noch nicht so "geschnallt" habe. Ich 
möchte die Handshakeleitungen für eigene Anwendungen nutzen, die werden 
halt über den µC abgefragt, einer davon sogar als Ext-Interrupt. 
Vielleicht kannst du mir die Resetgeschichte näher erläutern? Wäre super 
lieb von Dir... Würdest du das Spontan in Software realisieren oder mit 
den genannten Pins?
Vielen Dank nochmal...
Gruss salau

von salau (Gast)


Lesenswert?

Dank an alle,

die Lösung mit den genannten Pins werde ich mir genauer anschauen, ist 
es denn nicht möglich, im EEPROM die Angaben für USB-Suspend 
einzustellen? auch wenn ich nicht genau weiß, was USB-Suspend 
bedeutet?!


Gruss salau

von Falk B. (falk)


Lesenswert?

@  salau (Gast)

>Vielleicht kannst du mir die Resetgeschichte näher erläutern?

Du verbindest das PWREN# mit dem RESET deine Mikrocontrollers. 
Allerdings hat das für die meisten uCs die falsche Polarität. Also 
entweder einen kleinen Inverter dazwischen schalten (Transistor oder 
74HC04) oder die Schaltung im Datenblatt Seite 21, da wird der uC 
komplett abgeschaltet.

MFG
Falk

von salau (Gast)


Lesenswert?

Benutze leider!!! nicht den FT232R (könnt mich jetzt auch erschießen, 
dafür, dass ich mir den FT232BM geholt habe.)
Welche der Pins des FT232BM kann als IO-Pins verwendet werden? Es gibt 
doch nur funktionen in der Lib womit man die Handshakeleitungen setzen 
kann oder? (abgesehen vom BitBangModus)
Danke nochmal für eure Mühe...
salau

von Stefan (Gast)


Lesenswert?

>Welche der Pins des FT232BM kann als IO-Pins verwendet werden?
Keiner!

Nimm PWREN# oder RSTOUT#

von Peter D. (peda)


Lesenswert?

salau wrote:
> Handshake Leitungen des FTDI ein Blicken und Flackern bekomme. Dies
> möchte ich umgehen, indem die Versorgungsspannung des µC etwa 4-5
> sekunden nach dem Einstecken auf 5V ansteigt.

Wenn Du ne Einschaltverzögerung des MC haben willst, warumm nimmst Du 
dann nicht den allereinfachsten Weg:

Programmiere ne Warteschleife in dem MC und fertisch.


Peter

von salau (Gast)


Lesenswert?

danke an alle,


aber was is nu USB-Suspend?

von Christian R. (supachris)


Lesenswert?

Das "Flackern" bekommt man in Software weg, mittlerweile sogar im 
Gerätemanager einstellbar. Irgendwas mit Modemerkennung. Geht auch in 
der Registry, steht bei FTDI auf der Homepage.

USB Suspend ist ein Sleepmodus, bei dem dein Gerät einen bestimten 
Stromverbrauch nicht überschreiten darf, wenn es sich standardkonform 
verhalten will.

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.