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
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
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 :/
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?
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.
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
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.
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
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.
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?
Baud war in Bascom richtig eingestellt und wie gesagt, das Problem besteht bei allen Baudraten.
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
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.
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.
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
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.
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
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.
Also der Adapter war tatsächlich defekt. Hab nen neuen gekauft und mit dem tut alles bestens :) danke euch allen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.