Ich habe ein großes Problem mit dem FT232RL von FTDI. Bisher habe ich schon erfolgreich mit anderen USB Wandlern wie dem CP2102 von Silaps oder dem TUSB3410 von Ti gearbeitet. Der FT232RL bringt mich aber zum verzweifeln. Ich habe den Chip laut Datenblatt Bus-Powered angeschlossen. Den Ferrit und den 10nF Elko habe ich aber weggelassen. Desweiteren habe ich den FT232RL an einen Atmel ATTINY2313 angeschlossen und ein Testprogramm reingeladen. Wenn ich also etwas über dem Comport zum Controller sende, sendet er mir das gesendete wieder zurück. Damit prüfe ich immer meine Datenübertragungen. Baudrate ist 19200 bei einem 8MHz Quarz. Der FT232RL wird von Windows einwandfrei erkannt. Sende ich aber den String "test", antwortet mir der Controller "td``?????". Die Datenübertragung ist also total verstümmelt. Schließe ich an die RX,TX Pins des Atmels einen TUSB3410 oder einen CP2102 an, funktioniert die Übertragung wunderbar. Ich muss also mit dem FT232RL irgendwas falsch gemacht haben. Am FT232RL selber scheint es nicht zu liegen, da ich den Effekt auch bei einem weiteren Layout mit einem Atmega16 habe. Desweiteren habe ich auch den neuesten Treiber und andere Pcs versucht. Überall sind die Daten verstümmelt. Kann mir jemand weiterhelfen? Brauche ich den Ferrit vielleicht doch zwingend? mfg code
Hi, ich habe bisher immer 4µ7 verwendet und hatte nie Probleme. Ich denke, dass das LC-Glied benötigt wird.
Mit 4,7uF meine ich 4µ7. Das passt ja. Aber warum sollte man den Ferrit zwingend brauchen? Die USB Schnittstelle ist doch nicht so schlimm gestört. Oder ist der Chip so empfindlich? Wenn ja, ist das doch ein Witz.
@ Sebastian Weidmann (code) >Den Ferrit und den 10nF Elko habe ich aber weggelassen. Kann man erstmal machen. >prüfe ich immer meine Datenübertragungen. Baudrate ist 19200 bei einem >8MHz Quarz. >Der FT232RL wird von Windows einwandfrei erkannt. >Sende ich aber den String "test", antwortet mir der Controller >"td``?????". >Die Datenübertragung ist also total verstümmelt. Falsche Baudrate. >Schließe ich an die RX,TX Pins des Atmels einen TUSB3410 oder einen >CP2102 an, funktioniert die Übertragung wunderbar. Masse auch verbunden? http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART >weiterhelfen? Brauche ich den Ferrit vielleicht doch zwingend? Nein. MFG Falk
Sebastian Weidmann schrieb: > Sende ich aber den String "test", antwortet mir der Controller > "td``?????". > Die Datenübertragung ist also total verstümmelt. Es kommen mehr als doppelt soviele Bytes an wie gesendet werden. Das lässt darauf schließen, dass die Baudrate falsch ist. > Brauche ich den Ferrit vielleicht doch zwingend? Ich habe den bisher noch nie verwendet, und auch noch keine echten Probleme gehabt. Nur bei EMV Test sieht es dann sehr schlecht aus.
hallo, ich habe bei mir den RESET# auf +5V liegen. Ein floatender Eingang könnte die Ursache sein. Den Ferrit lasse ich meist auch weg.
Laut Datenblatt darf man Reset offen lassen. Fest verdrahtet macht die Sache natürlich Störunempfindlicher.
Die Baudrate passt, ansonsten würde der TUSB3410 auch nicht funktionieren. Das hab ich schon überprüft. Massen sollten sauber verbunden sein(siehe Schaltplan)
Der Ausgang des FTDI ist OpenDrain ???? Der Pull-Up sorgt das der LowPegel durchschalten kann. Ich vermute da fehlt der PULL-UP am Ausgang, TXD (10K Ohm) Der Rxd Eingang des ATMELS Pullt nicht ???? ----<StartBit____X(8)Data Stop Schau dir mal die MAX232 Innenbeschaltung an. (Da sind Pull-UPS 400K Ohm drin) Mach eine Max-232 dran,und damit RX-TX Verbindung an den Max232-Pins. Somit kannst du den FTDI-Via.PC Solo testen. Tx--------Tx-FTDI-------------MAX232----TTL-- ATMEL PC_rx Rx(V24,-/+12V)-------------) (Loopback-Test) Gruss Holger.
Hallo Sebastian, ich habe einige Boards mit FT232RQ und AVRmega32 laufen. Mein Schaltplan sieht eigentlich genauso aus wie deiner. Reset offen RxD, Txd direkt ohne Pullup am AVR. Ich schaue morgen 'mal ob ich ein L oder R in der Versorgung vom USB bestückt habe. Eigentlich sollte aber L,R oder Brücke funktionieren. Ich kann mir nicht denken, dass die Induktivität wirklich notwendig ist - ist wahrscheinlich aus EMV-Gründen drinnnen. Du könntest 'mal einen konstanten String von Controller ausgeben lassen. Dann kannst du sehen ob das Problem auf der Sende- oder Empfangsseite sitzt.
Wenn ich einen konstanten String "test" vom Controller sende, funktioniert das sporadisch mal. Von 5mal Connect/Disconnect funktioniert die Übertragung vielleicht 1mal richtig. Ich versteh das nicht. Normalerweise würde ich auch die Baudrate/Taktung sofort als Übeltäter vermuten. Der Controller ist aber sicher auf 8MHz externen Quarz umstellt. Im Sourcecode, Compiler ist 8MHz mit 19200 Baud eingestellt. Mit anderen Baudraten wie 9600 oder 38400 klappts auch nicht. Am Pc verwende ich Hterm und dort ist auch die Baudrate richtig eingestellt. Der Controller macht auf jedenfall alles richtig, denn wenn ich mal schnell einen TUSB3410 oder CP2102 an den Controller löte, funktioniert die Übertragung fehlerfrei. NACHTRAG: Übrigens ist der String der fehlerhaften Übertragung konstant! Bei "test" kommt immer genau "td``?????" zurück.
Ein elektrisches Problem am USB kann ich mir als Ursache nur schwer vorstellen, da dort zu den eigentlichen Datenbytes die irgendwie zu Paketen zusammengefasst werden ja noch Header, CRC etc. dazukommen. Dass alles passt und nur die Daten beschädigt werden halte ich für eher unwahrscheinlich. Ist der AT90S2313 auch Bus-Powered, d.h. steckt der Jumper und es gibt keine weitere Versorgung? Passt der Baudrate-Divider gaaaaaaanz sicher 1000%ig? Nicht dass durch eine falsche Rundung bei der Berechnung das Register UBRR den falschen Wert hat und es bei anderen Bausteinen zufällig noch gerade passt (wie sieht denn die Formel aus?)...
Lass mal den AVR weg und verbinde RXD und TXD vom FT232. Wenn dann der gesendete Text richtig zurückkommt, liegt es zu 99,9% an der Baudrate.
Wenn ich RXD und TXD ohne AVR verbinde, kommt garnichts zurück. Am Oszi messe ich auch keinerlei Signale.
Dann liegts vermutlich am Terminal-Programm. (verwendet vermutlich Hardware-Handshake) Verbinde mal RTS+CTS und DTR+DSR.
@ Anja (Gast) >Dann liegts vermutlich am Terminal-Programm. (verwendet vermutlich >Hardware-Handshake) >Verbinde mal RTS+CTS und DTR+DSR. Schlaue Leute würden einfach die FLusskontrolle aus "Keine" schalten . . . Ausserdem verstümmelt Flußkontrolle keine Einzelzeichen. Ich tippe mal auf schlechten elektrischen Aufbau mit kalten Lötstellen etc. Oder gar Steckbrett? :-0 MfG Falk
Nö! Flusskontrolle ist aus! RTS+CTS und DTR+DSR hab ich auch schon versucht! Siehe Schaltplan (Jumper) Wenn ich den FT232R ohne AVR anschließe, liegt am RX und TX 0V an! Beim TUSB3410 liegen da z.B. 3,3V an. Versorgungsspannung ist aber OK und der 3V3OUT Pin hat auch seine 3,3V. Ich bin immer noch der Meinung, dass da was am FT232R nicht stimmt. Schließlich klappts mit einem anderen Wandler ja perfekt. Wäre schon ein lustiger Zufall, wenn ich immer beim FT232R die Benutzung des Terminal-Programms verlerne. Vielleicht ist ja auch der FT232R kaputt (ESD,...). Es ist einer von 3 Mustern, die ich von einem Händler bekommen hab. Wenn der CP2102 nicht so beschi***en zu löten wäre und der TUSB3410 nicht tausend Widerstände, Quarz,... bräuchte, dann wär der FT232R schon längst in der Mülltonne.
Sebastian Weidmann schrieb: > Wenn ich den FT232R ohne AVR anschließe, liegt am RX und TX > 0V an! Beim TUSB3410 liegen da z.B. 3,3V an. > Versorgungsspannung ist aber OK und der 3V3OUT Pin hat auch seine 3,3V. Und an VCCIO? Mess mal nach, ob da auch wirklich 5V anliegen. > Ich bin immer noch der Meinung, dass da was am FT232R nicht stimmt. Ja, irgendwas passt da nicht, aber ich tippe zu 99% auf einen Schaltungfehler. > Vielleicht ist ja auch der FT232R kaputt (ESD,...). Meiner Erfahrung nach ist der FT232R in diesem Punkt sehr robust, ich hatte schon welche die am Rauchen waren, funktionieren aber weiterhin...
VCCIO hat 5V anliegen. Ich finde keine Schaltungfehler. Hier mal das Layout. Im Moment habe ich den Jumper für VCC am AVR entfernt und habe nur noch den FT232R über USB dran. RX, TX 0V
Das Layout ist, sagen wie mal verbesserungsfähig. Vor allem die Kondensatoren sind alle etwas weit von den ICs weg. Ansonsten sehe ich keinen Fehler.
Hier mal ein paar Tipps für die nächste Version: - Versuche D+ und D- möglichst gleich lang zu machen, also nicht diese riesige Schleife rund um die Befestigungslasche der USB Buchse. - Die Schleife GND-Kondensatoren-Vcc ist sehr groß. Diese kann man deutlich kleiner machen. Irgendeinen Grund muss es haben, dass TXD 0V hat. Messe mal die Spannung an CBUS3 (PWEREN), hier sollten 0V anliegen.
Danke für die Tipps, ich werds mir merken. An CBUS3 messe ich 0V.
Also! Ich hab jetzt mal den FT232RL gewechselt und siehe da, es geht! Meiner Meinung nach sind die Muster defekt. Hab mir nämlich von zwei Lieferanten jeweils 3 Muster schicken lassen. Jetzt hab ich mal ein Muster vom zweiten Lieferanten bestückt und da funktioniert alles wunderbar. An RX, TX liegt jetzt auch Spannung an. Vielen Dank an euch alle für eure Hilfe!!!!!!!
Hmmm könnte aber auch eine kalte Lötstelle gewesen sein, die ich durch den Wechsel behoben habe. Naja auf jedenfall gehts jetzt.
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.