Hi, ich hätte eine generelle Verständnisfrage zum FT245. Wenn ich den chip einsetze, muss ich da noch einen Controller ranhängen, oder könnte ich auch ohne Controller (nämlich mitm windowsprogramm) die I/Os von dem chip steuern und damit relais betreiben? danke und gruss Peise
Wie meinen? Der FT245 hat erstmal keine I/Os, sondern ist ein elektrischer USB <--> RS232 Wandler. Klar kann man das mit einem seriellen Port so machen, dann benutzt du ihn aber nicht als seriellen Port, sondern als einfachen I/O-Port mit vier Steuerleitungen.
Danke für die Antwort... Soll schon noch was anderes werden, als schalten, den controller brauch ich eh, darum "Verständnisfrage"... An dem ft245 sitzen ja 8 Datenpins die man über den Rechner bzw einer kleinen Applikation steuern kann. Wäre es nicht möglich mit den 8 Datenleitungen Transistoren für 8 Relais zu treiben, das war eher meine Frage... hab mich nur falsch ausgedrückt gruss peise
noch was, was ist eigentlich der unterschied zwischen den ft232 und ft245??? Besitzt ein Fifo, aber wofür der spass? Kann der ft245 die aufgaben eines ft232 erfüllen?
Hast Du keinen Parallelport zur Verfuegung? Damit geht Dein Vorhaben doch viel einfacher. Mehr Leitungen, direkt ansteuerbar, passende Pegel.
nein keine Parallele Leitung vorhanden und würde mich gern in die Thematik einarbeiten wollen. Aber fragen nach fragen und schlaflose nächte :-( 9-10V??? Also setzt der 245 die USB auf echte RS232 um? Und was macht der FT232??? Setzt der USB auf RS232-TTL um??? Ich komm mit den beiden Chips durcheinander und schmeisse alles zusammen, in einer APPnote habe ich gesehen, dass beide chips gleich behandelt wurden.
Hi
>9-10V??? Also setzt der 245 die USB auf echte RS232 um?
Nein
MfG Spess
Hallo, ist keinem aufgefallen, dass der FT245 keinen UART hat? Da ist nix mit serieller Schnittstelle! Den FT245 kann man z.B. dafür verwenden, ihn an einen µC anzuschließen, aber nicht wie den FT232 an die serielle Schnittstelle, sondern an einen kompletten Port + Steuerleitungen. Mit beiden kannst I/O-Sachen wie Relais steuern (über Transistor) oder Eingänge abfragen machen. Der Unterschied zwischen beiden ist, dass du beim FT245R eben die Read/Write- sowie Status-Leitungen bedienen/abfragen musst, um Daten zu senden/empfangen und dass du "nur" acht I/O-Pins hast. Das gilt für die normale Betriebsart. Im alternativen I/O-Modus werden die internen Read/Write-Signale ausgegeben, somit steuert dann der FT245 externe Peripherie wie z.B. Latches. Der FT232 kann zwar nicht so eingestellt werden, dass er Daten an den Pins übernimmt, wenn man ihn mit Read/Write-Signalen ansteuern will, aber er hat den Vorteil, dass er erstens einen UART hat und zweitens kann man mit ihm 12 I/O-Pins realisieren. Die Funktion des FT245R kann man mit gewissen Einschränkungen in Software nachbilden. Fazit: Der FT232R ist eindeutig der flexiblere von beiden, es sei denn, man will mit einem µC parallel drauf zugreifen, das ist aus meiner Sicht der einzige Punkt, der für den FT245R spricht, ansonsten ist der FT232R zu bevorzugen. Wenn du Fragen zu den Teilen hast, her damit :) Ralf
Vielen Dank für die aufschlussreichen Antworten... Ich habe einige ft245er hier möchte halt ein wenig hantieren. Ich würde gern ein paar sensoren mit dem mega einlesen und an die usb schnittstelle des rechners schicken um diese daten auf dem rechner zu visualisieren. Da wäre wahrscheinlich ein ft232 besser geeignet aber ist das auch mit dem 245 möglich? Danke und gruss
ft232 und ft245 unterstützen einen so genannten bitbang-mode, damit lassen sich je 8 pins der chips einzeln steuern. dazu brauchst du in deine windows-anwendung nur die entsprechenden dlls einbinden. die pegel sind klarerweise TTL, egal was da oben geschrieben wurde. sieh dich einfach unter bitbang auf der FTDI seite um, da steht alles was du brauchst :)
> Da wäre wahrscheinlich ein ft232 besser geeignet aber ist das auch mit dem > 245 möglich? Ja, das geht. Wenn du die Pin-Anzahl als Kriterium hast, dann brauchst du im Minimalfall 3 Pins des ATmega, wenn du unidirektional kommunizierst -> 1x Status, 1x Schreiben, 1x Daten. Im Maximalfall, also bidirektional, wären es 2x Status, 2x Schreiben/Lesen, 8x Daten, also 12 Leitungen. Ralf
vielen Dank für die Antworten... 12 Pins für bidirektional? ich zähle im appnote wenn mich nicht alles täuscht 13 Pins? Ich möchte mir eigentlich ein universalboard mit dem mega8, paar optokopplern, eeprom, ft245, display und 1-2 ADC-Pins aufbauen. 12 oder 13Pins wäre die "vollbelegung des ft245, 2 optokoppler wären 4Pins, Display (6Pins für 4bitmode) und 2 ADCKanäle wären maximal 25pins, reicht doch für einen tqfp mega8 oder??? so könnte ich uni und bidirektionale verbindungen aufbauen?? Danke und LG Peise
> 12 Pins für bidirektional? ich zähle im appnote wenn mich nicht alles > täuscht 13 Pins? Okay, den PWREN hab ich nicht mit reingerechnet. > 2 optokoppler wären 4Pins Warum vier? > Display (6Pins für 4bitmode) Wenn du nur lesen machst -> richtig > wären maximal 25pins, reicht doch für einen tqfp mega8 oder??? so könnte > ich uni und bidirektionale verbindungen aufbauen?? Ich glaub, wir reden bzgl. uni- und bidirektional aneinander vorbei. Mit uni/bidirektional meinte ich die Kommunikation zwischen PC und AVR. Was du an den restlichen Pins vom AVR dranhast, ist ja davon unabhängig... Ralf
Danke Ralf, aber jetzt hast du mich komplett verwirrt... >Wenn du die Pin-Anzahl als Kriterium hast, dann brauchst >du im Minimalfall 3 Pins des ATmega, wenn du unidirektional >kommunizierst -> 1x Status, 1x Schreiben, 1x Daten. >Im Maximalfall, also bidirektional, wären es 2x Status, 2x >Schreiben/Lesen, 8x Daten, also 12 Leitungen. ich dachte halt, dass ich alle benötigten pins des ft245 an den µC führe. Dann kann ich mich doch immernoch entscheiden ob ich die 3Pins vom mega8 benutze für uni- oder 12Pins benutze für bidirektional. Was würdest du für ein Testboard bzw universalboard mit dem mega8 und genannten komponenten vorschlagen? 4 Pins war falsch, ich meinte 2 pins, danke für den hinweis... beide anoden an vcc und die kathoden auf den µC, dann sehe ich vielleicht 4 optos vor... Verstehe dennoch deine aussage nicht, warum wir aneinander vorbeireden... Übersehe ich was oder verstehe ich was falsch? Weil ich meinte auch die Verbindung zwischen pc und µC... würde gerne die möglichkeit haben später einmal sowohl von rechner daten zu senden als auch von µC. Also bidirektional??? Was genau ist bitbang, ja ein spezieller modus, aber werde aus dem datenblatt und den appnotes nicht wirklich schlau... Vielleicht mag einer kurz erläutern worum es da geht Vielen vielen dank für all eure mühe... Peise
Aaaalso... Der Vorteil des FT232 ist der, dass er eben nur zwei Strippen braucht (bidirektional) um mit einem µC zu kommunzieren. Der FT245 braucht in der "üblichen" Schaltung zwölf Strippen: acht für Daten, zwei für Status und zwei für die Schreib/Leserichtung. Das heisst, dass dir anderthalb Ports deines AVR flöten gehen, um den FT245 voll bedienen zu können. Unter diesem Gesichtspunkt betrachtet, ist der FT232 besser geeignet. Deine ursprüngliche Frage war, ob du den FT245 ohne Controller betreiben und Relais o.ä. direkt anschließen kannst. Das ist ohne weiteres möglich. Dazu musst du dann eben BitBang benutzen. Beim FT232 geht das gleiche auch, der Unterschied wäre 8 IOs beim FT245, und 12 IOs beim FT232. Bei beiden musst du für BitBang-Modus mit der FT2xx.dll arbeiten. Zu erwähnen sei noch, dass nicht alle BitBang-Modi mit dem FT245 funktionieren. Das steht ebenfalls in der ApplicationNote, siehe Anhang. > Was würdest du für ein Testboard bzw universalboard mit dem mega8 und > genannten komponenten vorschlagen? Hm... Also doch wieder µC :) Wenn ich FT245 rumliegen hätte, und nur ein bisschen IO-technisch experimentieren will, würde ich auf den µC verzichten. Ich würde einfach vier Taster und vier LEDs an das Ding pappen und gut ist. Wenn ich ein etwas größeres IO-Monster haben will, würde ich entweder den FT2232D verwenden(stell dir vor, du mischst den FT232 und den FT245 und packst das ganze zweimal in einen IC) oder, um die größte Flexibilität zu haben, ich nehme den FT232R, papp den an den UART des µC meiner Wahl, und der µC erledigt sämtliche IO-Aufgaben. Tastatur, Display, zig Relais, LEDs usw. sind dann kein Problem. Der Knackpunkt ist eben der Aufwand, den du entsprechend treiben musst. Empfehlen würde ich, da du mehrere FT245 hast, einfach mal einen zu nehmen, die vier Taster und LEDs dran zu kleben, und ein bisschen zu experimentieren, um ein Feeling für die Schaltung und die Ansteuerung mittels FT2xx.dll zu bekommen. Später kannst du ja dann einen FT232 nehmen, einen µC, und ersetzt einfach die FT2xx.dll durch ganz normale selbstdefinierte Kommandos, die der µC verarbeitet. Oder du mischst eben beides, und machst es mit FT245 und µC, dann hast du von allem etwas. Ralf Ralf
Ups, Anhang vergessen, aber soweit ich das sehe, hast du die BitBang-Appnote ja eh schon. BitBang bedeutet, dass du die normale Funktion des FT232/FT245 überschreibst, indem du eine direktere Kontrolle über seine Pins übernimmst. Ralf
Vielen Dank, hast mir echt weiter geholfen... ich werde mich jetzt noch ein wenig mit der Materie beschäftigen, Adapterplatine ist auch gerade fertig geroutet und wird die tage geätzt, dann werde ich mal loslegen. >Der Vorteil des FT232 ist der, dass er eben nur zwei Strippen >braucht (bidirektional) um mit einem µC zu kommunzieren so langsam geht mir ein lichtlein auf, mit 2 strippen meinst du sicherlich Rx/Tx(gekreuzt) und nicht erwähnenswert GND, da ich kein handshake oder sonst was brauche/erwähnt habe. Also ein stinknormaler usb zu ttl-seriellwandler, wo ich mein Controller ranhängen kann und bytes hin und her schicken kann. (klingt schön und einfach, sowas habe ich gesucht) >Wenn ich FT245 rumliegen hätte, und nur ein bisschen IO-technisch >experimentieren will, würde ich auf den µC verzichten. Ich würde einfach >vier Taster und vier LEDs an das Ding pappen und gut ist. Das ist eine sehr gute idee. Vielleicht werde ich das heute noch in Angriff nehmen :-) mit einer led und einem taster und fliegender verdrahung eines tqfp32 (wenns klappt) um mich auch mit der Windows Application auseinander zu setzen. Ich habe ursprünglich consolenapplikationen unter MS visual studio net in c++ programmiert... ich hoffe das ich damit klar komme eine stinknormale c++ application zu schreiben, welche mir einfach per mouseklick einige bits setzt, togglt, löscht. Wenn du jemand Referenzen hast, die ich bei meiner Recherche vielleicht übersehen könnte, ich nehme alles an :-) >Der Knackpunkt ist eben der Aufwand, den du entsprechend treiben musst. ich liebe knackpunkte, will lernen... >Empfehlen würde ich, da du mehrere FT245 hast, einfach mal einen zu >nehmen, die vier Taster und LEDs dran zu kleben, und ein bisschen zu >experimentieren, um ein Feeling für die Schaltung und die Ansteuerung >mittels FT2xx.dll zu bekommen. Empfehlung angenommen, aber mit 1-2 tastern und leds, wenn das klar geht. >Später kannst du ja dann einen FT232 nehmen, einen µC, und ersetzt >einfach die FT2xx.dll durch ganz normale selbstdefinierte Kommandos, die >der µC verarbeitet. Genau das ist mein eigentliches Vorhaben, einfach eine serielle Verbindung mittels USB über ftXXX zum µC, der dann irgendwelche über USB empfangenen Daten auswertet und je nach Daten schalt und steuervorgänge durchführt... Aber da fehlt mir im moment die vorstellungskraft, wie ich windows bzw meinem compiler beibringe, dass über USB daten gesendet werden sollen. Ohne mich jetzt nach quelltexten umgeschaut zu haben gibt es für das senden und empfangen fertige bibliotheken oder muss man das alles selbst implementieren??? Wenn bibliotheken vorhanden sind, sollte man die doch auch in eine Consolenanwendung einbinden können oder? >BitBang bedeutet, dass du die normale Funktion des FT232/FT245 >überschreibst, indem du eine direktere Kontrolle über seine Pins >übernimmst. Vielen Dank nochmal für alles Flo
> so langsam geht mir ein lichtlein auf, mit 2 strippen meinst du > sicherlich Rx/Tx(gekreuzt) und nicht erwähnenswert GND, da ich kein > handshake oder sonst was brauche/erwähnt habe. Also ein stinknormaler > usb zu ttl-seriellwandler, wo ich mein Controller ranhängen kann und > bytes hin und her schicken kann. (klingt schön und einfach, sowas habe > ich gesucht) Genau, so richtig schön einfach :) > Vielleicht werde ich das heute noch in Angriff nehmen :-) mit einer led > und einem taster und fliegender verdrahung eines tqfp32 (wenns klappt) Na dann, viel Erfolg. Ist zwar kein DIL-Gehäuse, bei dem zwischen den Anschlüssen Flugzeuge landen können, aber bei einer ruhigen Hand und etwas Geduld durchaus machbar. Hier haben die R-Typen den Vorteil, dass sie kaum externe Bauteile brauchen. > ich hoffe das ich damit klar komme eine stinknormale c++ application zu > schreiben, welche mir einfach per mouseklick einige bits setzt, togglt, > löscht. Wenn du jemand Referenzen hast, die ich bei meiner Recherche > vielleicht übersehen könnte, ich nehme alles an :-) Die FT2xx.dll ist in C++ geschrieben, von daher sollte es kein Problem sein, wenn du bereits weisst, wie man mit DLLs in (V)C++ arbeitet. Referenzen gibts doch auf der FTDI-Seite jede Menge für C++, Demosoftware usw. Und die ApplicationNote zeigt ja, wie man die einzelnen Funktionen verwendet. Über die Qualität der Dokumentation sag ich jetzt mal nix, da wirst du selbst dahinter kommen, wenn du mal versuchst, die SPI/I2C/JTAG-Funktionen des FT2232D zu verwenden :) > ich liebe knackpunkte, will lernen... Lobenswert :) Wenn du schon sowas sagst, und dann entsprechend fit auf dem Ding bist, dann machst du es wie ich, und machst dir mit so einem Teil einen ISP-Programmer. Dann hast du n Knackpunkt. > Empfehlung angenommen, aber mit 1-2 tastern und leds, wenn das klar geht. Von meiner Seite aus geht das klar grins Schließlich musst du ja selbst wissen, was du brauchst/willst. > Genau das ist mein eigentliches Vorhaben, einfach eine serielle > Verbindung mittels USB über ftXXX zum µC, der dann irgendwelche über USB > empfangenen Daten auswertet und je nach Daten schalt und steuervorgänge > durchführt... Aber da fehlt mir im moment die vorstellungskraft, wie ich > windows bzw meinem compiler beibringe, dass über USB daten gesendet > werden sollen. Das ist ja das schöne an den Teilen. Beispiel: Bei Verwendung des FT232 legt der PC-Treiber einen virtuellen COM-Port an. D.h. du musst in deiner Applikation einfach den entsprechenden COM-Port suchen und kannst mit dem Ding reden, im einfachsten Fall z.B. über HyperTerminal oder ein anderes Terminal-Programm - was aus der Kommunikation gemacht wird, hängt dann vom angeschlossenen µC ab. Wenn du ein bisschen fortgeschrittener als ein absoluter Anfänger bist, dann stellst du die Kommunikation nicht über den virtuellen COM-Port her (da kannst du nämlich kein BitBang machen), sondern eben direkt über die FT2xx.dll. Die DLL bringt dann recht einfache Funktionen mit wie z.B. das Ermitteln, welche und wieviele FT2xx-Teile da sind, das Öffnen der entsprechenden Devices usw. Da lässt sich dann auch BitBang einstellen. Und du könntest sogar mehrere solcher IO-Baugruppen anschließen und steuern. > Ohne mich jetzt nach quelltexten umgeschaut zu haben gibt es für das > senden und empfangen fertige bibliotheken oder muss man das alles selbst > implementieren??? Wenn bibliotheken vorhanden sind, sollte man die doch > auch in eine Consolenanwendung einbinden können oder? Jepp, wie gesagt, Demos gibt für verschiedene Sprachen auf der FTDI-Seite. Und Konsole oder GUI-Anwendung dürfte meines Wissens nach keinen Unterschied machen. Wobei eine GUI mit grünen/roten Ämpelchen für den IO-Zustand ja doch schon was für sich hat :) Falls du fragen zur Programmierung der Teile hast, werde ich n.M. versuchen, dich zu supporten. Hab zwar keine Hardware da, um on-the-fly zu testen, aber dürfte gehen. Ralf
Martin wrote:
> Vergiss alles was Olli schreibt!
Normalerweise erwidere ich nichts auf solch daemliche Bemerkungen.
Trotzdem haette ich gerne gewusst, was Du auszusetzen hast.
Olli
Hi Olli, ich vermute mal, er ist der Meinung, da du falsche Angaben gemacht hast, hättest du es stattdessen bleiben lassen sollen, zu antworten. Das deckt sich nicht mit meiner Ansicht, dass man ruhig mal (konstruktive) Falschaussagen treffen darf. Werden die nämlich von anderen widerlegt, prägen sie sich die Korrekturen viel besser ein :) > Wie meinen? Der FT245 hat erstmal keine I/Os, sondern ist ein > elektrischer USB <--> RS232 Wandler. Doch er hat IOs - sowohl in der normalen Betriebsart wie auch per BitBang-Modus. Und er wandelt nicht nach RS232,das macht der FT232, aber nicht RS232-Pegel, sondern TTL-Pegel. Daher müsste es USB <> seriell TTL Wandler heissen. Der FT245 ist in der normalen Betriebsart ein USB <> 8-Bit-Parallel Wandler, genaugenommen ein FIFO-Schieberegister. > Klar kann man das mit einem seriellen Port so machen, dann benutzt du > ihn aber nicht als seriellen Port, sondern als einfachen I/O-Port mit > vier Steuerleitungen. Naja, das hat man früher so gemacht, als man wirklich noch mehr oder weniger direkten Zugriff auf die UARTs ala 16C55x nehmen konnte. Geht heut schon fast nicht mehr (zumindest unter Windows), weil zwar Klassen dafür da sind (z.B. SerialPort in .NET), aber es ist einfach zeitlich nicht mehr so genau steuerbar wie früher. Leider auch mit realen COM-Ports. Ich würde auf solche krummen Sachen verzichten. Wenn ich einen COM-Port brauche, betreib ich einen FT232 eben als solchen, ansonsten bang ich die Bits :) Ralf
Ralf wrote: > (konstruktive) Falschaussagen treffen darf. Werden die nämlich von > anderen widerlegt, prägen sie sich die Korrekturen viel besser ein :) Das stimmt, dann ich auch schneller gemerkt, dass ich den FT245 mit dem FT232 verwechselt habe. Naja, war schon spaet :-) Olli
Vielen Dank für die Mühe und dein Angebot... Werd sicherlich drauf zurück kommen :-D lg
> Vielen Dank für die Mühe und dein Angebot... Werd sicherlich drauf > zurück kommen :-D Wie gesagt, ich helfe gerne, sofern mir die Zeit reicht und ich grad die Möglichkeit dazu habe. Bist du hier im Forum registriert? Ralf
bin leider nicht registriert, geht ja auch ohne, aber bin seit gut einem 3/4 jahr täglich hier... Vielleicht hast du ja codeschnipsel die ich mal auseinander flücken kann, um zu sehen, wie das mit den dlls genau funzt... du meintest ja dass ich bei direktem ansprechen des virtuellen coms kein bitbang benutzen kann, aber das brauche ich ja um den 245 mit taster und leds zu betreiben oder sehe ich da was falsch?
> Vielleicht hast du ja codeschnipsel die ich mal auseinander flücken kann, > um zu sehen, wie das mit den dlls genau funzt... Wie gesagt, Codeschnipsel jibbet auf der FTDI-Seite... > du meintest ja dass ich bei direktem ansprechen des virtuellen coms kein > bitbang benutzen kann... Ich meine, mich zu erinnern, dass das nicht geht, weil du eben erstmal spezielle Kommandos an den Chip setzen musst... Ralf
> Normalerweise erwidere ich nichts auf solch daemliche Bemerkungen. > Trotzdem haette ich gerne gewusst, was Du auszusetzen hast. Die Bemerkung war weder dämlich noch böse gemeint. Wie du aber inzwischen selbst bemerkt hattest, hattest du den falschen Chip im Kopf. Deswegen waren deine Aussagen von vorne bis hinten falsch. Und selbst der FT232 gibt keine 9-10V Volt raus.
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.