www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FT232R USB am AVR


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.
   "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.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hanshans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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??

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andi Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uwegw (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Tool nennt sich MProg. Man findet es bei ftdichip.com unter
Ressources->Utilities.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Bjoern Buettner (tishima)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Björn,
was meinst du mit '...den FTDI Chip direkt ansprechen Bit Bang Mode
etc.'?

Autor: Andi Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Hanshans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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))

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mario Schrenk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Oli K. (waldmeister)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Oli K. (waldmeister)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@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!

Autor: Oli K. (waldmeister)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Uwegw (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das klingt sehr gut.
Schön, daß mal wer über den Tellerrand des uralten MAX232 hinwegblickt
...

Autor: Oli K. (waldmeister)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.