früher RS232 --- nun USB ??

Gast #311785
Lesenswert?

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
Persönliche Seite #311787
Lesenswert?

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.
Gast #311788
Lesenswert?

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
Persönliche Seite #311791
Lesenswert?

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.
Persönliche Seite #311793
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren