Hi, ich muss über die USB-Schnittstelle eines PC (XP-Anwendung) mit einem AVR komunizieren. Habe mir den FT232R ausgesucht. Wer hat so ein Projekt schonmal umgesetzt und kann Starthilfe geben? Was muss ich auf der AVR-Seite beachten oder schicke ich die Daten "einfach" über die serielle Schnittstelle, nur das anstatt eines MAX232 ein FT232R angelötet ist? Danke für Hilfe Mike
. "oder schicke ich die Daten "einfach" über die serielle Schnittstelle ..." Genau so ist es. Auch auf der PC-Seite wird nach wie vor mit einer seriellen Schnittstelle (über den FTDI-VCP-Treiber) kommuniziert. Sofern kein zu abstruses Timing verwendet wird und auch die Baudratenerzeugung im AVR präzise genug ist ("Baudratenquarz"?), geht es einfach so.
Zur letzten Frage: Ja. Einfach das Datenblatt vom FT232RL beachten, dort sind x funktionierende Schaltungsvarianten abgebildet. Funktioniert gewöhnlich auf Anhieb und ist damit zu recht die einfachste Möglichkeit, USB an einen MC zu bekommen.
Das Datenblatt des FT232R ist 29 Seiten dünn. Der FT232R bietet lt. Datenblatt konfigurierbare Pins, man kann Takt-Frequenzen ausgeben lassen und das interne EEPROM mit Daten beschreiben... ...wie wird der FT232R 'parametriert'? Im Datenblatt gibt es keine Register etc.... Mike
Das Thema interessiert mich ebenfalls. Das mit der Einstellung, z.B. der CBUS-Pins ist mir auch schleierhaft. Wie wird der FT232R über Windows angesprochen? Es gibt sogenannte VCP Treiber und den D2xxx-Treiber. Wozu benötigt man welchen??
Ich bin überfragt, was den unterschied der Treiber angeht. Ist aber mit Sicherheit wichtig welchen man nimmt! Bestimmt gibt es hier Tüftler die das schonmal gemacht haben und helfen können. Irgendwie muss man ja das EEPROM verändern können. Habe gelesen es gibt dafür ein Tool von FTDI. Habe ich aber nicht im Web gefunden. Ich arbeite mit VisualBasic DotNet 2005 und Bascom.
Guten Abend, ich habe aus dem FTDI Datasheet 1.04 die Schaltung unter Kapitel 8.4 USB to MCU UART Interface aufgebaut. Leider wird der nicht vom PC erkannt. Habe auch keine Möglichkeit gefunden CBUS0 auf 12Mhz µC-Clock zu stellen? Hat jemand VB.net Code oder sonstige positive Erfahrungen gemacht? Viele Grütze!! Andreas
Das Tool nennt sich MProg. Man findet es bei ftdichip.com unter Ressources->Utilities.
@Rufus Danke für die Info. Ich will nur ein paar Bytes hin und her schubsen. Kein High-Speed oder sonstiger Schnick-schnack. Du sagst der VCP-Treiber muss verwendet werden. Hast du eine Ahnung wie der FT232R "parametriert" wird (CBUS-Funktionen enstellen, EEPROM lesen/schreiben, Seriennummer auslesen etc.)? Mike
Moin! Die Konfiguration des FT232R erfolgt ueber ein Tool Mprog von FTDI. Dafuer muss der D2XX Treiber installiert werden. So dinge wie VID/PID Stromverbrauch, CBUS Pin Sonderfunktionen Seriennummer etc. Wird nur ein FT232 pro PC betrieben kann er sogar unveraendert mit den Com Port Treibern genutzt werden. Vorsicht mit herumspielen der VID/PID werden diese veraendert muss die INI Datei der Treiber von FTDI angepasst werden. Will man den FTDI Chip direkt ansprechen Bit Bang Mode etc. geschieht dies in Verbindung mit dem D2xx Treiber und der zugehörigen DLL. Programmbeispiele sind eigentlich fuer die gaengigen Programmiersprachen auf der FTDI Homepage erhaeltlich, sowie alle weiteren nötigen Informationen. Nicht nur das Datenblatt lesen !! gruß, Bjoern
Muss Björn beipflichten, war ebend auf der FDTI-Seite. Sourcen für div. Sprachen, muss man sich nur durchwühlen. Trotzdem gibt es immer wieder Fragen. Der Code ist allerdings nicht immer übersichtlich. Bernd
@Björn, was meinst du mit '...den FTDI Chip direkt ansprechen Bit Bang Mode etc.'?
Also, habe ich das richtig verstanden? - Schaltung wie im Datasheet aufbauen - FTDI-Chip über MPROG 'einrichten' - AVR sendet 100% identisch an FT232R anstatt an MAX232 - PC holt Daten über die mittels FTDI Treibers ab Richtig? Welchen der beiden Treiber benötigt man für was?
Es gibt den sogenannten VCP Treiber und den D2xxx-Treiber. Wozu benötigt man welchen?? Könnte mir denken, dass der Virtual Com Port - Treiber einen (wie der Name sagt) virtuellen COM-Port erstellt. Der PC hat dann vielleicht einen weiteren COM-Port Nr.12 oder so. Der kann dann über die PC-Software angesprochen werden. Der D2xxx-Treiber spricht vielleicht den FT232R direkt an (wo auch immer der unterschied liegt?). Dann wird noch eine DLL erwähnt. Was macht das gute Stück in den Puzzle? Scheint doch nicht ganz so einfach zu sein wenn mehrere Leute das Problem haben (oder wir sind alles 'Unwissende' ;o))
Wo ist jetzt das Problem? Die Vermutungen von HansHans sind korrekt: Der VCP-Treiber richtet eine zusätzliche serielle Schnittstelle ein, die von jedem Windows-Programm exakt so wie eine normale serielle Schnittstelle angesprochen werden kann. Der D2xxx-Treiber ermöglicht über die zugehörige DLL Programmen direkt und mit erweiterter Funktionalität ("bitbanging" etc.) mit dem Baustein zu kommunizieren.
Der aktuelle D2xx-Treiber (http://www.ftdichip.com/Drivers/D2XX.htm)ist ein kombinierter Treiber, der auch den VCP-Part enthält. Damit läßt sich der FT232R sowohl als virtuelle serielle Schnittstelle ansprechen wie auch per MProg programmieren.
Hallo Zusammen! ich habe in diesem Zusammenhang ein anderes Problem. und zwar habe ich von meinem ft232 (TXD an T1in und RXD an R1out) an den Max232 angeschlossen. Nun möchte ich einen Hardwarehandshake machen, sprich muss ich RTS und CTS von der ft232 beide an meinen µC legen oder reicht nur einer aus? Muss ich beide auch and den Max232 setzen, oder ist das nur optional? ich habe zwar das www durchforstet, komme aber auf keinen grünen Zweig! Was meiner Schaltung am nächsten kommen würde, ist auch unter diesem Link: http://www.holger-klabunde.de/usb/usb.htm Wäre super, wenn ich da Antworten bekommen würde!
Wenn Du einen µC mit einem FT232 verbindest, hat ein MAX232 nichts in der Schaltung verloren. Wenn Du Hardwarehandshake implementieren willst, empfiehlt es sich, auch beide Handshakeleitungen zu verwenden, sonst funktioniert der Handshake nur ein einer Richtung (PC kann µC Empfangsbereitschaft mitteilen oder umgekehrt) - sinnvoll ist natürlich ein bidirektionaler Handshake.
@rufus oki, ich möchte gern zwischen rs232 und usb switchen können. Wäre das nicht möglich? Mein Problem ist, dass es dieses Projekt sowohl rs232 als auch usb vorsieht, wobei die serielle Schnittstelle schon auf der Platine war. Mir schwebt auch eine Jumperlösung im Kopf herum, die über den µC geht. Vllt. bin ich auch noch ein wenig irritiert, da ich mich evtl. zu sehr an obigen Link festhalte. habe mal noch als Anhang die rs sowie usb beschaltung mit drinnen!
habe gerade noch gemerkt, dass bei dieser Version cts nicht beschaltet ist. rts geht an meinen µc und cts hängt quasi noch in der luft. in der anderen version geht rts und cts noch an meinen rs232 sowie rts an meinen µc, um den handshake zu machen! aber wie rufus oben schon geschrieben hat, is das wohl bullshit! was für vorschläge habt ihr, um beide (rs232, sowie usb) unter einen Hut zu bekommen?
@Mario Schrenk: stimmt. am anfang hat es mich auch noch sehr iritiert weil es zwei seperate seiten für VCP und D2xx treiber auf der ftdi homepage gibt, welche aber auf die selbe datei gelinkt sind. es reicht also die installation des kombi treibers und dann kanns losgehen.
Vier dreipolige Jumper, jeweils alle gleichzeitig auf 1-2 bzw- 2-3 gesteckt. An die Mittelreihe der Jumper die vier Leitungen RXD, TXD, RTS und CTS des µC, an die eine Außenreihe die korrespondierenden Signale des FT232, an die andere Außenreihe die korrespondierenden Signale (mit TTL-Pegel) des MAX232.
Statt nem MAX232 den MAX3222 verwenden. Der kann über einen Steuerpin seine IOs hochophmig schalten, sodass sie die Kommunikation zwischen FT232 und AVR nicht stören. Das Umschalten könnte man z.B. über die Spannung vom USB lösen: wenn dort Spannung anliegt, ist USB angesagt, ansonsten RS232.
danke für die tipps. ich werde wohl die lösung mit den jumpern wählen, da auf der paltine schon ein max232 ist. soweit ich das sehe, sollte das auch mit dem hardhandshke klappen, oder habe ich da ein detail übersehen?!
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.