Hallo @ all
Ich verwende den FTDI FT245R USB Chip. Dieser funktioniert auch wirklich
gut. Ich habe nur noch ein Problem. Wenn ich den USB-Steckverbinder vom
PC abziehe und dann ein wenig warte und den Stecker dann wieder
reinstecker erkennt Windows manchmal nicht den FTDI-Chip. Es kommt so
ein kleines Pupup bei der Uhr (unten rechts) Dort steht dann das das
USB-Device nicht erkannt wurde. Wenn ich diesen Vorgang 100 mal
wiederhole, dann tritt ca. 6 mal in unregelmäßigen Abständen dieser
Fehler auf. Ich habe den neusten Treiber von Februar 2009 installiert.
Ich habe den FTDI-Chip wie im Datasheet beschrieben angeschlossen.
Sofern ich den Stecker in die USB-Buchse stecke, werden die 5V vom
USB-Chip durch einen Spanungsteiler auf 3,3V reduziert und dann auf den
Reset-Pin gegeben. Dadurch erwacht der FTDI-Chip sofort wenn ich den
USB-Stecker in die Buchse stecke. Nur ab und zu erscheint dieser Fehler.
Nun habe ich schon einen Kondensator zwischegeschaltet um ein schingen
auf der Resetleitung zu verhindern. Dies hat jedoch nicht den
gewünschten Efekt gebracht.
Der FTDI-Chip wird von bekommt seine Versorgungsspannung vom Board und
nicht über die USB-Leitung. Jedoch steht im EEPROM das Häckchen bei
BUS-POWERED. IST dies richt?
Ist dies nun ein Hardwarefehler oder ist der Treiber fehlerhaft?
Weiß jemand noch einen Rat?
Was mir noch aufgefallen ist das beim reinstecken des Steckers in die
Buchse Windows immer unterschiedlich lange benötigt, bis der Chip
erkannt ist.
Manchmal benötigt er nur 1 Sekunde, jedoch manchmal auch 30 Sekunden.
Das finde ich schon merkwürdigt. Ich benutze keine eigene Software,
sonder sehe diese im Gerätemanager und kann dies auch über einen
Signalton erkennen.
Das Programm habe ich schon ausprobiert. Jedoch was soll ich da
verändern?
Viele Paramater gibt es ja nicht?. Kann es sein das auf meine D+ und D-
Spikes drauf sind?
Hier ist der Schaltplan:
Sorry der Schaltplan ist verdreht.
Liegt es vielleicht an den Kondensatoren bei der D+ und D- Leitung. Sind
diese vielleicht zu ungenau?
Ich habe auf der D+ und D- Leitung ständig Pulse. Es sind ca. 13 Pulse.
Jeder Pulse ca 220ns lang. Dannn kommt eine längere Pause und es werden
wieder Pulse übertragen. Sendet der Host ständig Daten über die D+ und
D- Leitung?
- Willst du mit C26 und L1 einen Schwingkreis bauen?
- C60 und C27 finde ich im Datenblatt so nicht, die Datenleitungen
werden ohne Kondensatoren an den IC geführt.
>Liegt es vielleicht an den Kondensatoren bei der D+ und D- Leitung. Sind>diese vielleicht zu ungenau?
Kannste weglassen.
>Ich habe auf der D+ und D- Leitung ständig Pulse. Es sind ca. 13 Pulse.>Jeder Pulse ca 220ns lang. Dannn kommt eine längere Pause und es werden>wieder Pulse übertragen. Sendet der Host ständig Daten über die D+ und>D- Leitung?
Wie soll der Host wohl sonst erkennen das das USB Gerät
gerade abgezogen wurde?
Ich dachte das erkennt er über die Signalpegel. Ich wußte nicht das er
ständig die Leitung pollt.
Ich habe gelesen das diese 47pF sehr genau sein müssen. Verwendet habe
ich 16V 47pF Keramik Kondensatoren. Müssen diese vielleicht genauer
sein?
Johann schrieb:
> Ich habe gelesen das diese 47pF sehr genau sein müssen. Verwendet habe> ich 16V 47pF Keramik Kondensatoren. Müssen diese vielleicht genauer> sein?
Wo hast du das gelesen?
Tipp: Lass diese Kondensatoren weg.
Hallo,
die Kondensatoren sind mir auch noch nicht begegnet.
Ich habe hier mehrere FT245R im Einsatz, als c't-Bot Modul, aud
Steckbrett oder Lochraster mit DIL-Adapter, bisher keine Probleme.
Auch die Variante mit Reset vom USB-Power war schon ohne Probleme im
Einsatz.
Gruß aus Berlin
Michael
Das mit dem L1 und C26 ist noch ein Fehler, da der FTDI-Chip voher
extern über die USB-Leitung versorgt wurde (USB Bus Powered
Configuration Punkt 6.1 Seite 21). Jedoch sollte dies nicht die Ursache
sein.
Komisch habe die etwa die 47pF aus dem Schaltplan entfernt. Ich habe die
damals ja nicht einfach nur so drangemacht. Ich habe vergessen die
PWREN# mit einem PULLUP zu versorgen. Kann dies vielleicht mein Problem
sein warum Windows nicht regelmäßig den Chip findet?
Ich dachte die PWREN-Leitung ist ein Ausgang.
Ich werde mal diese beiden Kondensatoren auslöten.
Wenn ich den USB-Chip an den PC anschließe, dann benötigt er immer
unterschiedlich lange um gefunden zu werden. Manchmal wird der Chip
bereits nach 1 Sekunde erkannt. Jedoch benötigt das System (Windows XP)
auch zwischen 1 und 30 Sekunden um den Chip zu initialisieren. Wenn ich
meine Maus rausziehe und wieder reinstecke geht dies immer sehr schnell.
Habt Ihr auch dieses Problem?
Hallo,
hmmm, in folgenden Datenblättern sind sie verschwunden (deins ist 1.02,
meins hier 1.04).
Allerdings glaube ich auch nicht so recht, daß sie die Ursache sind,
aber das ist ja schnell rauszufinden.
Zur Anmeldung bei XP: ich schau da nicht auf die Stoppuhr, ein paar
Sekunden kann es schon dauern, hängt von der Laune ab, die XP gerade hat
(will sagen: was ich sonst gerade mit dem Rechner mache).
Gruß aus Berlin
Michael
Ich habe die Kondensatoren ausgelötet, jedoch ist es nicht besser
geworden.
meine PWREN# Leitung hängt ohne einen Pullup an einem Pegelkonverter.
Vielleicht ist dies ja der Fehler. Ich werde diese Leitung mal
auftrennen und die Messung erneut durchführen.
Da Windows ja merkt das ein USB-Device vorhanden ist dieses aber nicht
zuordnen kann muss ja ein Übertragungsfehler auftreten. Dies bedeutet
doch eigentlich das etwas mit der D+ und D- Leitung nicht in Ordnung
ist.
Kann auch sein, dass der FT nicht richtig anschwingt, sowas hatten wir
bei den älteren ab und an mal. Ein richtiger Reset-Generator IC hat da
Abhilfe geschaffen.
Was meinst Du denn mit FT?
Der Reset kommt doch über die 5V-Leitung vom USB. Dort habe ich bereits
mehrere Kondensatoren zwischen 10µF und 100µF ausprobiert. Ich dachte
immer das der Reset prellt und dadurch diese Efekte auftreten, jedoch
war dies nicht der Fall. Selbst 100µF brachte keine Verbesserung.
Also solche riesen Kondensatoren sind definitiv falsch. Der Reset muss
schnell und sauber kommen. Einige hundert µs nach anstecken des Devices
erwartet das Betriebssystem, dass es kommuniziert (den genauen Wert kann
man in der USB Spec nachlesen). Das verhindert ein 10µF Kondensator
sicher. Ich meine natürlich den FT245 in deinem Fall. Wir haben dann
einen Reset-Generator IC genommen, der keine Verzögerung hat und halt
die Bus-Spannung überwacht, und den FTDI frei gibt, sobald die da ist.
Hat dann immer schnell und zuverlässig geklappt. Wo ist eigentlich der
Schirm des USB Kabels angeschlossen?
So viel ich weiß ist der Schirm mit den anderen GND Netzen verbunden.
Es funktioniert aber obwohl ich einen 10µF Kondensator eingebaut habe.
Wo kann ich dies denn nachlesen hast Du vielleicht einen passenden Link
für mich?
Ich habe noch eine alte Platinenrevision gefunden. Dort ist der Pwren
Pin nicht angeschlossen. Bis jetzt lief der Test 121 mal fehlerfrei. Ich
lasse den automatischen Test über Nacht laufen. Morgen hat er dann über
1000 mal die Verbindung getestet.
Interessante Frage,
vor allem, wie stellst du auf der Windowsseite fest, dass der FT erkannt
oder nicht erkannt wurde?
Gibts da was in der api womit du windows fragst, wie oft USB erkannt
wurde?
Ist dein Aufbau auf Lochraster und Adapter oder auf einem eigenen
Layout?
Auf Lochraster und fliegend verdrahtet, konnte ich sowas ähnliches auch
paar mal beobachten. Allerdings liegt das auch an Windows und
Auslastung, dass es ab und zu länger dauert. Mach dein Test mal an einer
anderen Windose
Gruß Elko
Tja das würdet Ihr gerne wissen- :-)
Ich habe eine DA Karte im PC. Mit diesem kann ich dann einen Reset auf
den FTDI-Chip geben. Hierzu habe ich das USB-Kabel aufgetrennt und die
5V Leitung beim USB-Kabel durchtrennt. Anschließend habe ich die
5V-Leitung vom USB-Kabel, das in Richtung FTDI-Chip geht mit der
DA-Karte verbunden. Zudem muss man noch die Masse vom USB-Kabel mit der
Masser der DA Karte verbinden. Wenn die DA-Karte ein Low-Pegeln (0V)
erzeugt, dann ist der FTDI-Chip im Reset und wird bei Windows abgemeldet
(erscheint nicht mehr im Gerätemanager). Erzeugt man einen High-Pegel
(5V) so wird der Reser beim FTDI-Chip zurückgenommen und der FTDI-Chip
meldet sich in Windows an.
Testen tue ich es wie folgt:
High-Pegel erzeugen 60 Sekunden warten und dann die FTDI-Funktion nehmen
die Statusinformationen über die gefundenen Geräte zurückgibt.
Anschließend Low-Pegel anlegen und 5 Sekunden warten. Danach das ganze
wieder von vorne.
Der Test lief über Nacht. über 1200 mal an und abgemeldet und kein
Fehler aufgetreten. Vorher hatte ich 10% Fehler.