Forum: PC Hard- und Software USB zu Seriell Adapter Problem


von Bär (Gast)


Lesenswert?

Hey Leute,

ich besitze diesen USB zu RS232 Adapter: 
http://www.delock.de/produkte/gruppen/USB+Adapter/Delock_USB_20_zu_Seriell_Adapter_61460.html

Ein µC sendet Daten per UART an den PC. An der eingebauten Schnittstelle 
funktioniert das prima, nur über den Adapter nicht. Er liest etwa 10 
Zeichen ein und empfängt dann nichts mehr. Ich habe schon verschiedene 
Terminalprogramme (Hyperterminal, BASCOM Terminalsimulator,...) und 
Systeme (Win 7 64bit, Win XP SP2 32bit) ausprobiert. Die Baudrate habe 
ich auch verändert, jedoch alles ohne Erfolg. Treiber sind korrekt 
installiert. Hat jemand eine Idee an was das liegen könnte??

Viele Grüße

Bär

von Floh (Gast)


Lesenswert?

Stromsparmechanismen?

von Bär (Gast)


Lesenswert?

Wo kann ich dies bezüglich was einstellen?

von Old P. (Gast)


Lesenswert?

hallo,
also ich halte von diesen ganzen USB-RS232-Adaptern nicht so viel.
Da wird (in Deinem Beispiel) der Datenstrom aus der USB-Schnittstelle, 
der ja als ca. 5Volt-Logic vorliegt (ca.TTL), im Adapter von einem 
"232-Chip" mühsam auf ca. +/-12Volt geprügelt um diese +/- 12Volt dann 
am Pollinboard ebenfalls mit so einem 232-Chip wierder runter auf TTL zu 
verwursten.
Einfacher ist es allemal aus dem FTDI-Chip vom Adapter mit TXD und RXD 
direkt in den µC vom Pollinboard zu gehen.
Wenn Du Dich mit Elektronik befasst, sollte diese Umfrickelei kein 
Problem sein.
Ich habe mir schon vor Jahren einen USB-Adapter mit einem FDTI Chip 
gebaut und arbeite nur noch damit. Dieses ganze V.24-Geraffel 
(+/-12Volt) braucht man doch eh erst bei Leitungslängen jenseits der 
Wohnzimmergrenzen ;-)

Old-Papa

von Bär (Gast)


Lesenswert?

Danke, ich weiß was du meinst. Aber in meinem Fall empfange ich mit dem 
PC ausschließlich, also ich sende nichts zum µC. FTDI habe ich leider 
keinen da, müsste ich halt bestellen :/

von Vincent H. (vinci)


Lesenswert?

Wenn man auf der delock Seite unter FAQ nachschaut, dann wird dort unter 
"Chipsatz" zu FTDI verlinkt. Ich denke in dem Wandler schlummert bereits 
ein FT232.

Sollte dies der Fall sein, dann prügelt da niemand TTL Pegel auf 12V!

/edit
Was heißt "mit der eingebauten Schnittstelle"?
Am COM vom PC funktioniert die ganze Gschicht?

von Heinz (Gast)


Lesenswert?

Wie sieht es mit den Signalen CTS, RTS & DTR aus? Verwendest du die? 
Habe ähnliche Wander im Einsatz und keine Probleme. Wenn du HyperTerm 
nimmst, stell' ein Screenshot ein, nachdem die Übertragung stoppt.

von Michael M. (technikus)


Lesenswert?

Old -papa schrieb:
> hallo,
> also ich halte von diesen ganzen USB-RS232-Adaptern nicht so viel.
> Da wird (in Deinem Beispiel) der Datenstrom aus der USB-Schnittstelle,
> der ja als ca. 5Volt-Logic vorliegt (ca.TTL), im Adapter von einem
> "232-Chip" mühsam auf ca. +/-12Volt geprügelt um diese +/- 12Volt dann
> am Pollinboard ebenfalls mit so einem 232-Chip wierder runter auf TTL zu
> verwursten.

Einspruch! Im Delock steckt ein FT232, also genau der gleiche IC. Damit 
habe ich schon verschiedenste Anwendungen erfolgreich laufen gelassen 
incl. Rückumwandlung mit MAX232 zum AVR.
Bezüglich Spannungspegel liegt ein zufällig rausgegriffener FT232 
USB-Seriell-Wandler bei +- 6,5 V, die interne Schnittstelle des Rechners 
bringt es auch nur auf magere 10,5V. Vielleicht sind genau diese 4 Volt 
bei Bär aber das Problem?
Ansonsten: µC ist meistens ohne Handshake. Ist das im Hyperterminal 
eingestellt, also Handshake "kein"?
Schon mal mit dem Oszi kontrolliert, ob nach den 10 Zeichen noch was 
kommt auf der Schnittstelle?

Servus
Michael

von Bär (Gast)


Angehängte Dateien:

Lesenswert?

Klar hab ich mit dem Oszi nachgemessen, das passt alles soweit. MAX232 
ist auch da, Pegel sind bei um die 10V. Screenshot hab ich angehängt, 
sind mal mehr und mal weniger Zeichen. Baud 9600, Datenbits 8, Parität 
keine, Stoppbits 1, Flusssteuerung keine. Das ist meine Konfiguration in 
HyperTerminal. µC hängt ledigilich an RXD und GND vom Computer.

von Heinz (Gast)


Lesenswert?

Welche Daten hast du gesendet (Screenshot)?

von Bär (Gast)


Lesenswert?

Ich sende einfach "Hallo" in einer Endlosschleife zum Testen.

von Michael M. (technikus)


Lesenswert?

Bär schrieb:
> Klar hab ich mit dem Oszi nachgemessen, das passt alles soweit. MAX232
> ist auch da, Pegel sind bei um die 10V. Screenshot hab ich angehängt,
> sind mal mehr und mal weniger Zeichen. Baud 9600, Datenbits 8, Parität
> keine, Stoppbits 1, Flusssteuerung keine. Das ist meine Konfiguration in
> HyperTerminal. µC hängt ledigilich an RXD und GND vom Computer.

Das sieht im Screenshot aber ganz anders aus. Da steht in der 
Statuszeile 300 Baud, 8N1! Weil die Baudrate nicht stimmt, kommt auch 
kein Hallo sondern nur Sonderzeichen. Außerdem ist die Verbindung 
getrennt, da würde Hyperterminal selbst bei richtigen Einstellungen 
nichts empfangen. Ob die Terminaleinstellung ANSIW - also 
2-Byte-Zeichensatz für µC so ideal ist, lasse ich mal außen vor.

Servus
Michael

von Bär (Gast)


Lesenswert?

Ja, der µC hatte aber auch 300 Baud, und mit 9600 ist es das Gleiche, 
nur dass andere Sonderzeichen ankommen. Ich hab verschiedene Baudraten 
ausprobiert.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bär schrieb:
> Ja, der µC hatte aber auch 300 Baud

Wenn's ein AVR war: Sicher? Nicht nur F_CPU im Quelltext richtig 
gesetzt, sondern auch die Fuses?

von Bär (Gast)


Lesenswert?

Baud war in Bascom richtig eingestellt und wie gesagt, das Problem 
besteht bei allen Baudraten.

von Old P. (Gast)


Lesenswert?

Hallo Wincent und Michael,

klar stecken da sehr häufig FDTI-Chips drin (oder Profilic oder....) und 
dahinter dann immer dieser blöde RS232-Wandler (häufig von Maxim). Der 
Gleiche dann wieder auf dem Pollinboard um das vom ersten ein paar 
Zentimeter später wieder rückgängig zu machen. Völliger Blödsinn, 
solange da keine wirklichen Kabellängen dazwischen sind.
IMMER (ja, IMMER) wenn dieser 9pol. Sub-D-Stecker (bzw., -buchse) dran 
sind spielt auch so ein Wandler mit. Also bei der Kombination vom 
Threadstarter gleich 2 Stück. Beide kann man einsparen und den FTDI 
direkt an den µC verdrahten. Damit sind gleich mehrere Fehlerquellen 
weniger im Spiel, ganz abgesehen von den meist nur unzureichend 
produzierten Pegeln dieser Wandler.

Old-papa

von Christian R. (supachris)


Lesenswert?

Papa, da hast du natürlich Recht, aber das wäre ja noch mehr Gebastel 
und auch wieder fehlerträchtig. Beim Bär ist mit ziemlicher Sicherheit 
die Baudrate falsch. Dann kommt sowas raus.

von Bär (Gast)


Lesenswert?

Ich weiß nicht wie oft ich das noch sagen muss, aber die Baudrate 
stimmt. Es tut ja schließlich mit der RS232-Schnittstelle auf dem 
Mainboard des PCs.

von Frank K. (fchk)


Lesenswert?

Mach mal nach jedem Byte, das Du sendest, eine Pause von mehr als zwei 
Bitzeiten und probiere dann nocheinmal. Ich hatte es schon mal, dass ein 
UART sein Startbit nicht gefunden hat bzw daneben gegriffen hat. Und bei 
USB ist das Timing ja ganz anders.

fchk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Old -papa schrieb:
> ganz abgesehen von den meist nur unzureichend
> produzierten Pegeln dieser Wandler.

Die Pegel sind nicht unzureichend. Sieh Dir einfach mal die Norm an.

Zwar hast Du Recht damit, daß in diesem Anwendungsfall so ein 
Pegelwandler überflüssig ist, aber es gibt keine standardisierte 
Steckverbindung für serielle Schnittstellen mit TTL-Pegel, und andere 
Schnittstellen als die in USB-RS232-Wandlern verwenden ebenfalls 
Pegelwandler (da aber oft direkt mit symmetrischen +/- 12V gespeisten 
SN75188/189 oder SN75232).

Desweiteren werden serielle Schnittstellen nicht nur für sehr kurze 
Verbindungen genutzt, sondern schon mal dafür, mehrere Meter 
Kabelstrecke zu überbrücken. Und genau dafür sind die RS232-Pegel 
gedacht.

von Bär (Gast)


Lesenswert?

Frank, Danke für den Vorschlag, aber was mach ich dann wenn ich z.B. 
mein OBD-Diagnosetool fürs Auto an meinem Laptop über den Adapter 
anschließen will? Ich kann der ECU leider nicht vorschreiben wie lange 
sie warten soll :D

von Christian R. (supachris)


Lesenswert?

Bär schrieb:
> Es tut ja schließlich mit der RS232-Schnittstelle auf dem
> Mainboard des PCs.

Achso, hab ich das oben überlesen, oder hattest du das erst nicht 
bekannt gegeben? Naja, dann scheint der USB Adapter irgendwie defekt zu 
sein...
Zwischen deinem USB-RS232 und dem Motorsteuergerät hängt ja noch der OBD 
Adapter, der hat ja einen µC drin, der wird schon die RS232 richtig 
bedienen. Ein direktes ansprechen der Diagnose-Leitungen wie das früher 
mit den einfachen Optokoppler-Interfaces an der RS232 ging, klappt mit 
USB-Wandler jedenfalls nicht.

von Bär (Gast)


Lesenswert?

Also der Adapter war tatsächlich defekt. Hab nen neuen gekauft und mit 
dem tut alles bestens :) danke euch allen.

von Reinhard Kern (Gast)


Lesenswert?

Bär schrieb:
> Also der Adapter war tatsächlich defekt.

Das ist halt chinesische Qualitätssicherung: der Kunde wird schon 
feststellen, ob das Gerät funktioniert, also warum denn selber testen.

Gruss Reinhard

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.