Hallo zusammen, lang ists her, als wir einen Datenlogger für guten Freund gebaut haben. Ein Mega8 liest div. Sensoren aus und gibt die Daten seriell an einen Laptop zur Darstellung. An diesem Beispiel würden wir uns gerne mit USB vertraut machen. Ich frage mal ganz vorsichtig nach dem groben Vorgehen: Daten werden seriell (aus UART des uC) an z.B den FDTI gegebn ?? Dieser gibt sie dann an den Rechner weiter ?? Wird der FDTI irgenwdie programmiert ?? Bei RS232 kann ich Byte für Byte "raussenden" ohne mit dem PC "reden" zu müssen. Wie geht das bei USB ?? Habt ihr Links zu ähnlichen Projekten ?? Zu heiß die Materie, oder meint ihr man kann sich da einarbeiten ?? Schon klar, das Annehmen der Daten wird deutlich aufwändiger als bei Verwendung von RS232.....ist jedoch auch nicht mein Part. Daniel
Der FTDI Chip ist nichts anderes als ein USB-RS232 Konverter, wenn ein Anwendungsprogramm mit der seriellen Schnittstelle klar kommt, dann wird das auch mit dem Konverter klappen. Tom
Wenn Du einen FT232 oder ähnlichen Baustein verwendest, ändert sich weder bei der Programmierung des Microcontrollers noch der des auswertenden PCs irgendetwas. Beide "sehen" nach wie vor eine serielle Schnittstelle. Dafür muss nur der entsprechende Treiber auf dem PC installiert werden, und es gibt im Timingverhalten gewisse Unterschiede, die mit der Datenübertragungsstruktur von USB zu tun haben, aber bei den üblichen seriellen Anwendungen selten stören. Probleme gibt es bei sehr knappen Timings und der Übertragung sehr geringer Datenmengen; soll beispielsweise der µC binnen 1 msec auf ein empfangenes Datenbyte reagieren und binnen einer weiteren msec ein Datenbyte an den PC zurücksenden, so wird das nicht klappen. Der FT232 (oder ähnlich) wird anstelle der V24-Pegelwandler (max232 o.ä.) mit der UART des Microcontrollers verbunden; wird die neueste Ausführung (FT232R) verwendet, so ist keine weitere Beschaltung des FT232 erforderlich. Auf der PC-Seite kann es sein, daß die durch den FT232 hinzugefügte serielle Schnittstelle eine Schnittstellennummer erhält, die größer ist als 4 - die PC-Software sollte schon in der Lage sein, damit klarzukommen. Ist die Schnittstellennummer größer als 9, dann muss beim Aufruf von CreateFile eine andere Syntax verwendet werden, ("\\.\COM10" statt "COM2") aber auch das ist seit sehr langer Zeit in der entsprechenden Programmierdokumentation (Win32-API) beschrieben.
Aha, vielen Dank !! Hört sich ja schon recht easy an. Habe ich das richtig verstanden: uC ---> Daten seriell an FTDI FTD0I ----> Daten per USB an Treiber auf PC Treiber -----> Daten an virtuellen Comport Comport ----> an Endanwendung ???? Gibt es dann für die gängigen OS jeweils den passenden Treiber zum FTDI ?? Daniel
Ja Treiber sind für eigentlich alle Betriebsysteme erhältlich. http://www.ftdichip.com/FTDrivers.htm
Ich verwende gerne den CP2102 von Silabs. Für den gibt es ein Treiber-Construction-Tool und man kommt mit sehr wenigen Bauteilen aus. Im Anhang eine Testplatine, zusammen mit einem MAX3232. Zusammen bilden sie einen kompletten RS232 - USB Umsetzer.
Den wesentlichen Vorteil des CP2102 -die geringe externe Beschaltung- hat der FT232R jetzt auch, und obendrein ist der FT232R in lötfreundlicheren Ausführungen zu bekommen, wo die Beinchen zwar ein recht enges Rastermaß haben, aber wenigstens noch Beinchen sind. Nicht jeder von uns lötet so wie "Black Friday", und Fehlersuche bei solchen Lötstellen stelle ich mir ... spaßig vor. Davon abgesehen ist es letzlich schnurz, ob FT232, CP2102 oder Prolific-Sonstwas; alle kommen mit Treibern, die dem Betriebssystem weitere serielle Schnittstellen verschaffen.
Na suaber, dann werde ich das mal probieren. Ohne diesen "virtuellen" Comport wird es wohl deutlich aufwändiger. oder ?? Ich meine halt nicht den FTDI nutzen, sondern etwas "Eigenes" Daniel
O ja. Zwar gibt es sogar Lösungen, die ohne spezielle USB-Hardware auskommen ("Igor"), aber die erfordern auf PC-Seite auch entsprechende Treiber, verhalten sich dann entsprechend nicht wie serielle Schnittstellen und sind entsprechend aufwendiger zu programmieren. Auch wenn dedizierte USB-Hardware (USB Device Controller oder ein µC mit integriertem USB Device Controller) eingesetzt wird, sieht das nicht anders aus. Zwar gibt es die Möglichkeit, einen der Standard-USB-Treiber des Betriebssystems zu nutzen, in dem eine der entsprechenden Standardgeräteklassen (HID, MSD etc.) implementiert wird, aber auch das ist bedeutend mehr Aufwand.
warum verwendest du nicht einfach einen USB to RS232 converter um 6 EUR?
> Den wesentlichen Vorteil des CP2102 -die geringe externe > Beschaltung- hat der FT232R jetzt auch, Und der CP2102 funktioniert, im Gegensatz zum RL. Bei dem, was ich hier so lese, scheint auch jeder andere Chip besser zu funktionieren als der FTDI.
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.