Forum: Mikrocontroller und Digitale Elektronik FT232R Enumerations-Fehler


von Andreas M. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Habe mir eine USB-UART-Testschaltung mit dem FT232RL aufgebaut, die vom 
Bus versorgt wird, bekomme diese aber nicht zum laufen, da das 
Betriebsystem (WinXP SP3) den Schaltkreis scheinbar nicht richtig 
erkennt.

Nach dem Anstecken erscheint in der Task-Leiste das USB-Logo, wenn ich 
draufklicke geht ein Fenster mit der Meldung auf "Ein an diesen Computer 
angeschlossenes USB-Gerät funktioniert nicht richtig und wird nicht 
erkannt"

Erst habe ich mit dem Oszi den Datenfluß angesehen und festgestellt, daß 
nach Anstecken des Teils drei mal im Abstand von etwa einer halben 
Sekunde etwas gesendet wird, danach ist Ruhe.

Habe dann mit dem Tool "USBView" dann den Status angesehen und dort wird 
folgendes ausgegeben:

Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x0403 (Future Technology Devices International 
Limited)
idProduct:          0x6001
bcdDevice:          0x0600
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x03
bNumConfigurations:   0x01

ConnectionStatus: DeviceFailedEnumeration
Current Config Value: 0x00
Device Bus Speed:     Low
Device Address:       0x00
Open Pipes:              0

Der Enumerations-Fehler liegt permanent vor, nicht, wie in einem 
ähnlichen Beitrag, wo er nur sporadisch auftritt. 
(Beitrag "FT232 - sporadisch DeviceFailedEnumeration")

Die Schaltung funtkioniert also prinzipiell, da die Vendor- und die 
Product-ID richtig (wie von FTDIO angegeben) ausgelesen werden, habe 
aber vorsichtshalber mal das Schaltbild mit angehangen (es íst derzeit 
nur einer der 3 eingezeichneten Kondensatoren zwischen Schirm und Masse 
eingesetzt, auch die Änderung auf 1nF/1MOhm ändert nichts; der 10-Ohm 
Widerstand am AGND-Pin ist mittlerweile überbrückt).

Kann jemand aus den Angaben erkennen, wo das Problem liegt?

Gruß Andreas

von Christian R. (supachris)


Lesenswert?

Wo hast du die Geschichte mit der Gleichtaktdrossel in den 
Datenleitungen her? Und was ist F1 für ein Baustein? Ist das alles 
wirklich USB 2.0 FullSpeed geeignet?

von Andreas M. (Gast)


Lesenswert?

Hallo Christian,

beides in: 
http://www.we-online.de/web/de/index.php/show/media/passive_bauteile_-_standard/download_center/application_notes_berichte/Robustes_Design_von_USB_20_Anwendungen.pdf

Der Schaltkreis F1 wird von Vishay sein, VBUS054B-HS3, ist aber derzeit 
nicht in der Testschaltung verbaut, da das 1,6x1,6mm-QFN-Gehäuse für 
mich zu schlecht mit Hand zu löten ist.

Das mit der Gleichtaktdrossel hab ich auch noch in einer anderen 
Application Note gesehen, glaub von Bourns oder so, weiß ich aber nicht 
mehr genau.

Macht aber auch nichts, hab auch erst dran gezweifelt und mit dem Oszi 
davor und danach die Differenzspanung zwischen D+ und D- gemessen und 
die sieht danach nicht schlechter aus als davor.

Das mit der EMV-Beschaltung ist auch bei FTDI scheinbar nicht so 
konsequent, im Datenblatt ist nichts davon geschrieben, auf der Homepage 
gibt's FAQs wegen 27Ohm-Reihenwiderständen, die möglichst nah am 
Schaltkreis liegen sollen, und Beispiel-Schematics, auf denen diese gar 
nicht drin sind, dafür aber 47pF-Cs zwischen den Datenleitungen und 
Masse. Das in Summe erscheint mir, erlich gesagt, bißl suspekt.

Gruß Andreas

von Hans-Ruedi P. (hpfandler)


Lesenswert?

Reset Eingang geht mit der Versorgungspannung mit.
Bist Du sicher, dass das so im Datenblatt ist ?
-> Latchup condition ! min. Resetzeit beachten.

Hans

von Matze T. (gruetzwurschd)


Lesenswert?

Hast du den treiber auch installiert? :)

von Hans-Ruedi P. (hpfandler)


Lesenswert?

nicht unter WIN, aber nutze den Baustein auch unter LIN.

von Hans-Ruedi P. (hpfandler)


Lesenswert?

Sieh Dir mal das DS an. S8 / Tbl3.3, S16 letzten Abschintt, sowie S23, 
S24.
Nix Pulldown an iRESET.
Hans

von Andreas M. (Gast)


Lesenswert?

Hallo zusammen,

erst mal Entwarnung: habe jetzt die Drossel überbrückt - und es geht. 
Hatte nicht genau den Typ den Würth in der Application Note angegeben 
hat, da und mit meiner geht's halt nicht (epcos B82793S0513N201).

Allerdings wundert mich, daß ich am Oszi keine nennenswerten 
Unterscheide vor und hinter der Drossel gesehen habe, wenn ich 
differentiell gemessen habe und es trotzdem nicht geht.

Aber egal, nun werd ich mir das Würth-Teil besorgen und einsetzen.

@Hans-ruedi Pfändler: Im Datenblatt steht in der Pin-Beschreibung, daß 
das Reset-Pin offen gelassen werden !kann! - ich hab's aber lieber 
festgeklemmt.

Gruß und vielen Dank
Andreas

von Andreas M. (Gast)


Lesenswert?

@Hans-ruedi Pfändler:

den Pull-Down am Reset hab ich nur reingemacht, damit wirklich Low 
anliegt, wenn am USB-Stecker nichts steckt und somit alles in der Luft 
hängen würde. Ist zwar unrealistisch daß dann etwas passieren würde, 
ohne Betriebsspannung, aber ich hab einen definierten Pegel anliegen.

Gruß Andreas

von Hans-Ruedi P. (hpfandler)


Lesenswert?

Ja !kann! offengelassen werden ODER an VCC gelegt. Nicht aber an GND. 
Sieh Dir das Blockschaltbild an. RESET hängt mit 3V3 
Spannungsgenerierung zusammen und kommt nach der Pegelanpassung der 
VCC-In.
Daher die Frage.
Gruss
Hans

von Arno Nyhm (Gast)


Lesenswert?

Eine Frage am Rande: Welches Schutzbaustein (Name 'F1') setzt Du für D+ 
und D- sowie, dem Schaltzeichen nach, VBUS ein?!

von Andreas M. (Gast)


Lesenswert?

Hallo Hans,

ich will mich hier gar nicht herumstreiten, denn mein Problem ist 
erstmal gelöst, aber:

In Tabelle 3.3 (Version 2.09) steht für das Reset-Pin: "Active low reset 
pin. This can be used by an external device to reset the FT232R. If not 
required can be left unconnected, or pulled up to VCC".

Und Vcc ist bei mir 5V - also doch nicht prinzipiell falsch, oder?
Ich will /Reset ja benutzen, und zwar dann wenn das Buskabel nicht 
angesteckt ist. Und irgendwie muß ich in dem Falle den Pegel am Pin auf 
Low bekommen. Ich könnte genauso gut einen Reset-Schaltkreis ala MCP120 
oder MAX809 verwenden, so ist's aber auch gut.

Somit habe ich meine beiden definerten Pegel am Pin - wenn's Kabel 
steckt ist er High, wenn kein Kabel steckt, hinge alles in der Luft und 
ich zieh' den Pegel definert gegen Masse.

Ja, ich könnte das Pin offen lassen - will ich aber nicht und was 
spricht jetzt gegen diesen Widerstand? Er ist doch nur wirksam, wenn 
kein Kabel steckt.

An dem ganzen Gerät hängt ja mehr als nur der FT232R, der soll sich vom 
Bus versorgen lassen weil er nur arbeiten muß, wenn auch Verbindung zum 
PC besteht. Der restliche Teil des Gerätes soll auch ohne PC-Verbindung 
laufen (batteriebetrieben) und bevor ich mir im Rest der Schaltung 
irgendwas einfange, was dann stört, solange kein Kabel gesteckt ist, 
will ich einen definierten Abschluß.

Und Reset hängt nicht mit der 3,3V-Generierung zusammen, sondern 
umgekehrt: der Reset-Generator wird von 3,3V-Ausgang des internen LDOs 
gespeist, zumindest laut Bild 2.1.

Gruß Andreas

von Christian R. (supachris)


Lesenswert?

Andreas M. schrieb:
> Ja, ich könnte das Pin offen lassen - will ich aber nicht und was
> spricht jetzt gegen diesen Widerstand? Er ist doch nur wirksam, wenn
> kein Kabel steckt.

Naja, kommt auf die Größe des internen Pull-Ups an. Welchen Pegel hast 
du denn wirklich am RST wenn das Kabel steckt? Nicht, dass es dann 
später Probleme gibt, wenn das vielleicht gerade so über der Schwelle 
liegt.

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.