Forum: Mikrocontroller und Digitale Elektronik USB RS232 Adapter


von Ralf H. (ralf8888)


Lesenswert?

Hallo, kann mir jemand einen USB RS232 Adapter empfehlen? Ich habe ein 
Adapter mit Prolific Chipsatz, der mit einigen Geräten auch 
funktioniert. Leider tut er es nicht mit einem Modtronix SBC28DC Board 
auf dem ich einen PIC18F252 betreibe. Ich habe keinen Kontakt zum Board, 
über eine richtige RS232 Schnittstelle funktioniert alles einwandfrei. 
Der Adapter sollte unter Windows XP und Windows 7 laufen.
Gruß, Ralf

von DNS (Gast)


Lesenswert?

Ich persönlich habe gute Erfahrungen mit FT232-basierten Wandlern 
gemacht, ich hab den hier: 
http://www.delock.de/produkte/G_61425/merkmale.html

Es kann u.U. helfen mit den Einstellungen des Wandlers im Gerätemanager 
zu experimentieren. Man kann da Paketgrößen und Timeouts einstellen.

Gruß

von Stefan (Gast)


Lesenswert?

Problematisch sind sie alle, egal welcher Chipsatz drin steckt. Du 
kannst sie prima verwenden, um ein Modem dran zu hängen und damit ins 
Internet zu gehen. Abe für Zeitkritische Anwendungen sind sie 
ungeeignet, weil die USB Schnittstelle prinzip Bedingt ein ganz anderes 
Timing hat, als eine "echte" serielle Schnittstelle.

von Timmo H. (masterfx)


Lesenswert?

Ich verwende die dongles mit CP2102, bisher alles problemlos. Gibt es 
bei eBay für <4€

von Andreas M. (elektronenbremser)


Lesenswert?

Ich habe einen aus der "Apotheke" mit Ftdi. Wenn es dich interessiert 
kann ich Montag näheres dazu berichten .
Schönes Wochenende
Andreas

von Wilhelm F. (Gast)


Lesenswert?

Ich habe einen Delock 61460 unter Vista am Notebook am laufen. Bei 
Reichelt gekauft. Bisher völlig klaglos. Bis auf die superhelle blaue 
Betriebs-LED. Die hätte nicht so hell sein müssen. Das soll kein 
Scheinwerfer sein, sondern eine Betriebskontrolle.

von dolf (Gast)


Lesenswert?

mein nachbar hat dem notebook ne rs232 cardbus karte spendiert.
das ist ne eche rs232 schnittstelle und nicht son gewandel gedöns.
hab das nicht nötig meine kiste hat usb2, rs232, firewire und lpt.

von Wilhelm F. (Gast)


Lesenswert?

dolf schrieb:

> mein nachbar hat dem notebook ne rs232 cardbus karte spendiert.

Wie wird die denn installiert? Nicht an USB?

von Cheffe (Gast)


Lesenswert?

Stefan schrieb:
> Problematisch sind sie alle, egal welcher Chipsatz drin steckt.

Moin, so pauschal kann man das nicht sagen. Habe Unter XP, Vista und nun 
auch Win7 verschiedenste Lösungen laufen und es gibt keine Probleme. Und 
auch mit selbstgeschriebenen Java-Programmen gibt es keine Probleme. 
Allerdings habe ich auch bisher nicht mehr als 76800 baud verwendet.


Cheffe

von Ingolf G. (harpax)


Lesenswert?

Also ich muss hier mal ne Lanze für die FTDI's brechen!
Die funktionieren im Gegensatz zu diesen Prolific auch unter W8/64!

Egal wo ich die bis jetzt verwurstet habe, keinerlei Probleme!
Im Prinzip hat dolf ja recht, aber...

Der Treiber ist normalerweise so voreingestellt, das er "nur" alle 16ms 
ein Datenpaket schickt. Im Geräte-Manager kann man ihn aber dazu bewegen 
dies aller 1ms zu machen.

Unter XP:
Geäte-Manager/..FTDI-Gerät../Eigenschaften/Anschlusseinstellungen/Erweit 
ert../Wartezeit  _(ms)

Eventuell gibt es ja auch so eine Einstellmöglichkeit beim Prolific 
(habe hier leider keinen zum Testen - nur FTDI's in Fülle und Hülle) :-)


Gruss...Harpax

von Werner (Gast)


Lesenswert?

Ingolf Geißler schrieb:
> Eventuell gibt es ja auch so eine Einstellmöglichkeit beim Prolific
> (habehier leider keinen zum Testen - nur FTDI's in Fülle und Hülle) :-)

Bei den Prolific-Wandlern unter Win8 muss man erstmal gehörig aufpassen, 
dass man die richtige Chip-Version hat, damit die unter Win8 überhaupt 
laufen (sonst gibt's gelbe Ausrufezeichen im Gerätemanager). Bei mir 
geht jedenfalls nix mehr
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41

Prolific schreibt dazu ganz banal:
1
"NOTE:
2
 - Windows 8 is NOT supported in PL-2303HXA and PL-2303X EOL chip versions.
3
 - Run PL2303 CheckChipVersion tool program in Windows XP/Vista/7 to check chip version.
4
 - Prolific recommends to buy PL-2303HXD (HX Rev D) chip.

von W.S. (Gast)


Lesenswert?

Wilhelm Ferkes schrieb:
> Wie wird die denn installiert? Nicht an USB?

Nein.

Cardbus (Vorfahre: PCMCIA) ist was ganz anderes als USB.

W.S.

von Stefan (Gast)


Lesenswert?

Ich hab ja auch nicht geschrieben, dass die USB-zu-seriell Adapter nicht 
funktionieren. An gewöhnlichen seriellen Geräten erfüllen sie sicher 
alle ihren Zweck, so wie ich auch noch keinen Drucker gesehen habe, der 
mit einem USB-zu-parallel Adapter Probleme gehabt hätte.

Aber gerade im Elektronik-Bastel-Umfeld gibt es doch zahlreiche Geräte, 
die den seriellen oder parallelen Port nicht so verwenden, wie es vom 
Betriebsystem vorgesehen ist. Und genau da machen die USB Adapter dann 
Probleme.

Einfach mal eine Menge Bytes senden und empfangen ist nicht das Problem. 
Die Probleme fangen erst an, wenn exaktes Timing erforderlich ist. Wobei 
da Windows auch nicht mehr so unkompliziert ist, wie es früher mal war. 
Das kommt noch dazu.

Ich sag nur PonyProg - war mal ganz toll, harmoniert aber inzwischen 
nicht mehr mit aktueller Hard- und Software.

von W.S. (Gast)


Lesenswert?

Stefan schrieb:
> Die Probleme fangen erst an, wenn exaktes Timing erforderlich ist.

Das ist aber dein Denkfehler.

Du weißt sicherlich, daß Windows ein 
Multithread/Multiprogramm-Betriebssystem ist, ja? Dabei wird den 
einzelnen Programmen die Rechenzeit stückweise zugeteilt nach Maßgabe 
des BS - und die zugehörigen Datenströme werden zwischenzeitlich vom BS 
gepuffert. Du kannst also niemals erwarten, daß du durch egal was 
zeitliche Exaktheit hinbekommst. Du mußt eben immer damit rechnen, daß 
dir das BS zwischenzeitlich eine unbestimmte Menge Zeit wegnimmt um sie 
einem anderen Prozeß zu geben.

Wenn du irgendeine Art exaktes Timing haben willst, dann mußt du es in 
deinem uC realisieren und alle seriellen Ein- und Ausgaben auch im uC 
gepuffert erledigen.

W.S.

von Sam P. (Gast)


Lesenswert?

Wilhelm Ferkes schrieb:
> Wie wird die denn installiert? Nicht an USB?

Vereinfacht gesagt: PCMCIA ist ISA, CardBus ist PCI, ExpressCard ist 
PCIe und/oder USB.

von Ingolf G. (harpax)


Lesenswert?

@Werner

Richtig! Die älteren, aber weit verbreiteten Prolific-Dinger (weil 
billig?) haben unter W8 keine Chance.

Für die FTDI's, also ich meine jetzt speziell den FT232R-Typ, gibt es 
selbst unter Windoom8/64bit funktionierende Treiber (bis fast 1MBaud!).
Und wenn man aus irgendwelchen Gründen Timing-Probleme bekommen sollte, 
so kann Mann/Frau wie oben beschrieben nochmal gehörig aufbohren und 
feintunen. Bisher habe ich jedoch noch keine Anwendung gesehen, die den 
FTDI in die Knie gezwungen hat. (Mag sein das es Exoten-Programme gibt, 
die "misshandeln" dann aber meist die 232-Handshake-Leitungen und sowas 
ist sowieso arg garstig!)

Also...Was haben wir gelernt? -> FTDI Rockt! ;-)

@Ralf
Bitte schau doch mal bei Dir im Geräte-Manager nach, ob Du dort etwas 
ähnliches wie bei den FTDI-Treibern zum Optimieren findest.



Gruss...Harpax

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sam P. schrieb:
> Vereinfacht gesagt: PCMCIA ist ISA, CardBus ist PCI,

Genauer:
Als PCMCIA* wird 16-Bit-Cardbus bezeichnet, und das entspricht ISA, 
während 32-Bit-Cardbus PCI entspricht.

In einem 32-Bit-Slot konnten auch 16-Bit-Karten betrieben werden, sofern 
die Versorgungsspannungen übereinstimmten, beides war durch Kerben in 
den Kartenseiten codiert. Der eigentliche 68polige Steckverbinder war 
identisch.

32-Bit-Cardbus wurde gegen Ende der 90er Jahre eingeführt, und so um 
2005 herum durch ExpressCard ersetzt, wobei es eine Zeit lang auch 
Geräte mit beidem gleichzeitig gab. Mittlerweile aber ist 32-Bit-Cardbus 
nur noch antiquarisch zu bekommen.


*) eines der schöneren Akronyme der Computerindustrie:
People can't memorize computer industry acronyms.

von Cheffe (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> *) eines der schöneren Akronyme der Computerindustrie:
> People can't memorize computer industry acronyms.

Das ist kein Akronym!


Cheffe

von Ralf H. (ralf8888)


Lesenswert?

Vielen Dank für die Hilfe. Ich werde mal einen FTDI ausprobieren. An den 
Einstellungen im Gerätemanager kann ich beim Prolific nicht viel 
optimieren. Ich werde morgen berichten, ob es mit dem FTDI besser läuft.
Gruß, Ralf

von Andreas M. (elektronenbremser)


Angehängte Dateien:

Lesenswert?

Habe den hier und tut recht gut, obwohl ich noch nicht sehr viel 
getestet habe. Aus der Apotheke, für ca. 10 Euro. Chip FT232R??
Andreas

von nicht "Gast" (Gast)


Lesenswert?

Stefan schrieb:
> Aber gerade im Elektronik-Bastel-Umfeld gibt es doch zahlreiche Geräte,
> die den seriellen oder parallelen Port nicht so verwenden, wie es vom
> Betriebsystem vorgesehen ist. Und genau da machen die USB Adapter dann
> Probleme.

Hallo,

um mal eine Lanze für die Wandler zu brechen. Das Problem sind dann die 
Geräte, nicht der Wandler.

Wenn der Herr Bastler meint, sich nicht an die Spec vom RS232 halten zu 
müssen, braucht er sich auch über mangelnde Kompatibilität zu 
beschweren.
Das es am PC funktioniert liegt eher daran, dass die Schnittstelle dort 
seeeeeeehr großzügig im Verarbeiten der Pegel ist.

Grüße,

von Walter S. (avatar)


Lesenswert?

Cheffe schrieb:
> Das ist kein Akronym!

und warum ist das kein Akronym (zumindest im Ironie-Modus)?

von Timm T. (Gast)


Lesenswert?

nicht "Gast" schrieb:
> Wenn der Herr Bastler meint, sich nicht an die Spec vom RS232 halten zu
> müssen, braucht er sich auch über mangelnde Kompatibilität zu
> beschweren.

Doch, ich hab hier auch einen Wandler von Pollin, der gibt 0V und 5V als 
RS232-Pegel aus und die Handshake-Leitungen werden nur reflektiert. 
Zweiteres ist unschön, ersteres defiitiv ausserhalb der Specs.

W.S. schrieb:
> Dabei wird den
> einzelnen Programmen die Rechenzeit stückweise zugeteilt ... Du mußt eben immer 
damit rechnen, daß
> dir das BS zwischenzeitlich eine unbestimmte Menge Zeit wegnimmt um sie
> einem anderen Prozeß zu geben.

Zumindest bis WinXP geht das aber sowas von. Du musste den Prozessen 
entsprechende Priorität geben, dann lässt sich eine Hardware-RS232 auf 
30us locker toggeln. Ich hab damit MM-Protokoll für Weichendekoder 
direkt ausgegeben.

Allerdings: 1. Solltest Du das nur kurzzeitig machen, weil inzwischen 
der Rest einfriert. 2. Solltest Du tunlichst darauf achten, die Prio 
nach der Ausgabe wieder runterzusetzen. 3. Ist die Zeit bis zum nächsten 
Aufruf undefiniert und hängt vom Multitasking ab. 4. Funktioniert das 
nur mit On-Board oder PCI-RS232, nicht mit USB-seriell-Wandlern, weil da 
der Wandler / Treiber eventuell puffert.

Zum Thema Ponyprog: Wir haben in der Firma AVRs im Brenner programmiert, 
also bei jeder Programmänderung AVR raus, rein in den Brenner, wieder 
einsetzen. Ja, so blöd waren wir. Dann brachte jemand Ponyprog, das war 
an nativer RS232 ein "Quantensprung", ne das war zu vorher wie Tag zu 
Nacht. Dann verschwanden die On-Board-RS232, und Ponyprog wurde deutlich 
langsamer. Irgendwann lief das so unsicher, und es gab Probleme mit 
diversen Treibern*, dass ein MKII gekauft wurde. Das war der nächste 
"Quantensprung", und hinterher fragt man sich, wieso man das nicht von 
Anfang an so gemacht hat. Die paar Eur für das MKII sind schnell wieder 
drin.

*) Z.B. benutzte ein RS232-Adapter (FTDI) den schon installierten 
Treiber eines RS232-Opto-Trenners (von ELV, auch FTDI). Da der Treiber 
aber älter war, war der Adapter der Meinung, er sei richtig installiert, 
funktionierte damit aber einfach nicht. Hat ein paar Stunden gedauert, 
das rauszufinden, den alten Treiber runterzubürsten und den neuen zu 
installieren. Mit dem lief dann auch der Opto-Trenner.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Timm Thaler schrieb:
> dann lässt sich eine Hardware-RS232 auf
> 30us locker toggeln.

Gedacht ist sie dafür aber nicht. Das ist Gefrickel.

von Timm T. (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Gedacht ist sie dafür aber nicht. Das ist Gefrickel.

Wo ist spezifiziert, wie schnell die Hardwarehandshake-Leitungen 
schalten dürfen? Wenn der Empfänger "voll" ist, meldet er es dem Sender. 
Der hält daraufhin den Datenstrom an. Das kann innerhalb eines Bytes 
passieren. Bei 115kBaud also innerhalb von 80us (Puffer voll => 
Handshake off => Erkennung => Sendepause), real also mit vielleicht 20us 
Schaltzeit. Das macht zwar normalerweise die Hardware, aber technisch 
muss es möglich sein.

Ja, es ist Gefrickel, damit AD-Wandler oder Schieberegister direkt 
anzusprechen. Franzis hat über das Gefrickel ganze Bücher geschrieben. 
Das Gefrickel hat Jahrelang funktioniert. Und jetzt funktioniert es eben 
nur noch auf alten Systemen.

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

http://www.elv.de/elv-highspeed-mini-usb-modul-um-ft2232h-komplettbausatz.html
Die Brücken JUMPER musst du setzen. Und den 12MHz Quarz auflöten.

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Ralf H. schrieb:
> Hallo, kann mir jemand einen USB RS232 Adapter empfehlen? Ich habe ein
>
> Adapter mit Prolific Chipsatz, der mit einigen Geräten auch
>
> funktioniert. Leider tut er es nicht mit einem Modtronix SBC28DC Board
>
> auf dem ich einen PIC18F252 betreibe. Ich habe keinen Kontakt zum Board,
>
> über eine richtige RS232 Schnittstelle funktioniert alles einwandfrei.
>
> Der Adapter sollte unter Windows XP und Windows 7 laufen.

Beitrag "Prolific PL2303 funktioniert nicht"
Ich hatte auch mit dem Prollific Treiber-Probleme.
Hast du mal das Handshake gebrückt, am SBC28DC via Prollific.

Alternativ habe ich SILABS von ELV .
Viel Erfolg.
Gruss Holger.

von Ingolf G. (harpax)


Lesenswert?

Hallo Gemeinde!


@Ralf und @Andrea

Um herauszufinden, was eigentlich verbaut ist, geht man im 
Geräte-Manager auf Details und dann hätte der FT232R folgende Kennung.

VID=0403
PID=6001

Die Spezi-Proggis von FTDI erhellen auch, was es nun genau ist.
http://www.ftdichip.com/Support/Utilities/MProg3.5.zip
http://www.ftdichip.com/Support/Utilities/FT_Prog%20v2.6.8.zip

Wobei FT_Prog die neuere Version ist. Aber ich finde MProg irgendwie 
gelungener - für den FT232R reicht es dicke! :-)

Einen kleinen Beigeschmack haben die USB-Ser-Wander jedoch alle 
(FTDI,Prolific & co).
Im Chip selbst kann (bei den FTDI'S mit MProg) eingestellt werden, ob 
der IC jedesmal eine neue Serien-Nr erfinden soll, oder ob er sich mit 
einer festen Ser-Nr am System anmelden soll.

freie Serien-Nr -> jedesmal eine neue COM-Port-Nr

So kann man schnell bei über 40 rauskommen. :-(
Also feste Ser-Nr einstellen, da kann man das Teil auch gleich anständig 
benamsen (Aber Bitte niemals-nimmer-nicht die VID & PID ändern!!! Sonst 
funktioniert der FTDI-Treiber nicht mehr!!!)

Eventuelle COM-Leichen (egal von welchem Chip bzw. Hersteller) können 
recht elegant mit USBDEVIEW
http://www.chip.de/downloads/USBDeview-32-Bit_25521735.html
erkannt und durch Sprung auf den entsprechenden REG-Eintrag gekillt 
werden.

Eignet sich auch prima um die n+1te Version des bla-blub-USB-Stick's aus 
der REG zu schmeissen. :-)

In diesem Sinne - It's killing-time! ;-)


Gruß...Harpax

von Stefan (Gast)


Lesenswert?

Wozu ein Tool, wenn's auch ohne geht?
Man kann doch im Gerätemanager ausgeblendete Geräte anzeigen und sie 
dann löschen.

von Ralf H. (ralf8888)


Lesenswert?

Mein Problem scheint etwas anderes zu sein. Auch ein FTDI USB Serial 
Adapter von Digitus tut es nicht. Kann es vielleicht an der ziemlich 
langsamen Übertragungsrate von 2400 Baud liegen die ich nutze? Unter den 
Treiberoptionen vom FTDI habe ich schon viele Kombinationen ausgewählt 
aber ohne Erfolg. Gibt es vielleicht eine einfache Möglichkeit den 
virtuellen COM Port zu testen? Z.B. mit einem zweiten Adapter, sodass 
man zwei COM Ports miteinander verbindet?
Gruß, Ralf

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ralf H. schrieb:
> Kann es vielleicht an der ziemlich
> langsamen Übertragungsrate von 2400 Baud liegen

Nein, das ist ausgeschlossen.

> Gibt es vielleicht eine einfache Möglichkeit den
> virtuellen COM Port zu testen?

Ja: Verbinde die Leitungen Rx und Tx miteinander, nimm ein 
Terminalprogramm, deaktiviere das lokale Echo und das Hardwarehandshake 
und tipp auf der Tastatur. Das, was Du tippst, muss angezeigt werden. 
Wenn Du die Verbindung zwischen Rx und Tx entfernst, darf nichts mehr 
angezeigt werden.

von Ralf H. (ralf8888)


Lesenswert?

Rufus Τ. Firefly schrieb:
>
> Ja: Verbinde die Leitungen Rx und Tx miteinander, nimm ein
> Terminalprogramm, deaktiviere das lokale Echo und das Hardwarehandshake
> und tipp auf der Tastatur. Das, was Du tippst, muss angezeigt werden.
> Wenn Du die Verbindung zwischen Rx und Tx entfernst, darf nichts mehr
> angezeigt werden.

Danke für den Tipp. Die direkte Übertragung von FTDI Adapter zu Adapter 
funktioniert. Muss wohl ein Problem zwischen dem Modtronix Board und dem 
FTDI Adapter sein. Falls ich eine Lösung finde werde ich berichten.

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
Noch kein Account? Hier anmelden.