Forum: Mikrocontroller und Digitale Elektronik Kennt sich jemand mit RS232 aus?


von Gästchen (Gast)


Lesenswert?

Hallo,

kennt sich jemand mir RS232 aus?
Ich habe eine serielle Verbindung zwischen einem Rechner und einem 
Steuergerät. Die Kommunikation funktioniert nicht: die Hardware scheint 
OK zu sein.

Ich habe ein einfaches Testprogramm vom Hersteller was die Kommunikation 
vom PC zum Steuergerät testen kann. Dieses Programm liest mit einem 
Mausklick die Seriennummer und Herstellernamen aus. Wenn ich es starte, 
brauche ich 5 Mausklicks bis ich die Angaben sehe: die Daten kommen 
ähnlich wie aus einem FIFO nacheinander rausgeschoben.

Hat jemand eine Idee zu diesem Fehlerbild?
Wäre sehr dankbar für die Tipps.

von zing (Gast)


Lesenswert?

Gästchen schrieb:
> Wäre sehr dankbar für die Tipps.

Versetze Dich bitte mal in die Lage von jemanden der verstehen möchte, 
wie Deine Anlage aussieht. Meinst Du wirklich, daß er von Dir alle 
nötigen Angaben erhalten hat?

von Benjamin92 (Gast)


Lesenswert?

Ich würde mal auf eine falsche Baudrate tippen. Es könnte aber auch 
sein, dass dein Steuergerät einfach einen Fehler hat.

von Juergen (Gast)


Lesenswert?

Probier's mal mit einem Terminalprogramm.

von Gästchen (Gast)


Lesenswert?

Benjamin92 schrieb:
> Ich würde mal auf eine falsche Baudrate tippen. Es könnte aber auch
> sein, dass dein Steuergerät einfach einen Fehler hat.

Hi, Danke für den Tipp.
Bei der falschen Baudrate kommen komische Zeichen so wei ich es weiß.
Hier kommt der richtige String raus, aber stückweise was ich nicht 
verstehe.
Eventuell ist was am RS232 falsch eingestellt, nur was?

von oldmax (Gast)


Lesenswert?

Hi
Zuerst mal ....
>kennt sich jemand mir RS232 aus?
Jaa....

Wenn ich es starte,
>brauche ich 5 Mausklicks bis ich die Angaben sehe

Vielleicht brauchst du auch mindestens 5 weitere Fragen, bis wir wissen, 
was es für ein Gerät ist und wie die Kommunikation aussieht. Natürlich 
kann man raten.... macht ja auch so ein bischen Spaß....
Baudrate, Bits, Patity...
oder doch Hardware ? Kabel.... Handshake ...
Also, an deiner Stelle würd ich erst einmal die Baudrate prüfen, obwohl, 
die Daten kommen nach Mausklick... vielleicht ist das bei diesem 
Hersteller so gewollt.
Gruß oldmax

von Andreas B. (bitverdreher)


Lesenswert?

Gästchen schrieb:
> Hat jemand eine Idee zu diesem Fehlerbild?

Was ist denn das Fehlerbild ?

Gruß
Andreas

von Neugerig (Gast)


Lesenswert?

welche Mausklicks?
5 Anfragen Schicken?

von Gästchen (Gast)


Lesenswert?

Hallo,

das ist ein Motorsteuergerät für einen TDI-Motor.
Mit dem Fehlerbild meine ich das Verhalten dass man anstatt einem 
Mausklick 5 braucht.

von Reinhard Kern (Gast)


Lesenswert?

Gästchen schrieb:
> Mit dem Fehlerbild meine ich das Verhalten dass man anstatt einem
> Mausklick 5 braucht.

Normalerweise deutet das auf falsche Timeout-Werte hin. Aber wenn du das 
vom Hersteller hast, kannst du da wohl nichts ändern, und der sollte ja 
auch wissen wie.

Gruss Reinhard

von Gästchen (Gast)


Lesenswert?

Reinhard Kern schrieb:
> Normalerweise deutet das auf falsche Timeout-Werte hin. Aber wenn du das
> vom Hersteller hast, kannst du da wohl nichts ändern, und der sollte ja
> auch wissen wie.
> Gruss Reinhard

Ja, Danke Reinhard.
Das ich da nichts ändern kann ist kein Problem: ich bin dir für den 
sachlichen Hinweis schon mal dankbar.

Gruß.

von Erich (Gast)


Lesenswert?

Deine Fragen bzw. Probleme sind viel zu unklar beschrieben.

Oder gib doch einfach  "RS232"  in Google ein:
Ungefähr 38.700.000 Ergebnisse (0,21 Sekunden)

Da ist bestimmt auch deine Antwort dabei...

von Gästchen (Gast)


Lesenswert?

Hallo,

ich kann leider nicht genauer fragen da mir jegliche Dokumentation 
fehlt.
Deshalb meine Frage was prinzipiell falsch sein kann.

Ich habe gerade festgestellt dass weder Baudrate noch Parität Einfluß 
auf dieses Verhalten hat. Die Flußsteuerung bringt ebenfalls keine 
Verbesserung.
Mit Hyper-Terminal kann ich hier nichts machen da ich dann wissen muss 
was ich zu schreiben habe.
Ich denke eine Möglichkeit wäre die Daten zu loggen die dieses 
Testprogramm wegschickt und sie dann mit Hyper-Terminal reinzuschreiben.
Vielleicht ist es ein Bug im Testprogramm dass es reihenweise die Daten 
reinschiebt.

von Matthias P. (matplo)


Lesenswert?

Hallo,
installiere mal das Programm HHD Free Serial Port Monitor oder ein 
anderes Sniffer-Programm und schau Dir die Pakete an, die über die 
Schnittstelle geschickt werden.
Gruß
Matthias

von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Hallo Gästchen,

ich weiss nicht wofür Du an dem Motor-SG rumfummelst.
Aber wenn es einen RS232-Anschluss hat, an dem jeder irgend etwas
anschließen kann, wird das Protokoll warscheinlich verschlüsselt sein.

Außerdem bestehen gute Chancen, dass der TDI-Motor nicht mehr startet,
wenn Du ein paar PS rusgekitzelt hast ;-)
Stichwort hier: VW / AUDI Komponentenschutz.

Sollte die Karre so alt sein, das da kein KS drinn ist,
wende dich doch an den Tuner Deines Vertrauens...

Wenn Du aber immer noch gewillt bist mit dem Steuergerät zu 
kommunizieren,
schließ mal ein Oszilloskop an und schau mal ob Du die Bits 
interpretieren kannst, einmal die, die der Test der Hersteller-SW 
verursacht und einmal die,
die ein Terminal-Programm hervorruft.

Gruß

Olaf

von Michael M. (eos400dman)


Lesenswert?

So weit ich von der Arbeit informiert bin sind eigentlich allesaktuellen 
Steuergeräte verschlüsselt. Hatte aber auch noch mit keinem Steuergerät 
zu tun das RS232 hat. Wir Arbeiten meistens über Felxray oder CAN.
In der Regel kann der Autohersteller ja nicht mal komplett darauf 
zugreifen. Das kann nur der ECU-Hersteller also der Zuliefere der 
Autoindustrie. Allerdings kann der ECU-Hersteller dann auch nicht auf 
die Software des Autoherstellers bedingungslos zugreifen.

Gruß Michael

von Gästchen (Gast)


Lesenswert?

Hallo,

nein, die Kommunikation ist nicht verschlüsselt (Motorsteuergerät ist 
nicht superaktuell: OBD2) und ich habe nichts vom Motor geschrieben 
sondern vom Motorsteuergerät. Ich Bitte hierbei bei meiner Frage zu 
bleiben.

von Gästchen (Gast)


Lesenswert?

Kenn jemand übrigens einen RS232-Free-Datenlogger der auch funktioniert?
Irgenwie sind die Programme nicht mehr aktuell dass sie entweder 
abstürzen oder einfach nicht laufen.

von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Gästchen schrieb:
> Hallo,
>
> das ist ein Motorsteuergerät für einen TDI-Motor.
> Mit dem Fehlerbild meine ich das Verhalten dass man anstatt einem
> Mausklick 5 braucht.

Hallo,

doch Du hast etwas von einem TDI-Motor geschrieben.

Aber egal.

Einen Datenlogger kann ich Dir anbieten. RS232 ist kostenlos.

http://www.odis.de/odisLogger

Der kann aber nicht die Kommunikation eines anderen Programms 
belauschen.
Der braucht dazu zwei Y-Kabel um Rx und Tx mit zwei zusätzlichen Rx zu 
verbinden.

Läuft auf Windows und Linux.

Gruß

Olaf

von oszi40 (Gast)


Lesenswert?

> kennt sich jemand mir RS232

Man kann evtl. ziemlich viel falsch machen. Pegel, Rate, Stopbit, 
Brücken ...
http://de.wikipedia.org/wiki/RS-232

von Gästchen (Gast)


Lesenswert?

Hi,

an Stopp-Bit liegt es auch nicht, schon ausprobiert.
An Datenrate auch nicht.
Der Pegel ist in Ordnung.

Gruß.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ist Software-Handshake mit XON und XOFF aktiviert? Dann wartet die 
Software vielleicht vergeblich auf ein XON.

für RS232-Tests benutze ich immer das da:
http://www.der-hammer.info/terminal/

von Eckhard (Gast)


Lesenswert?

Hallo,

frage am Rande nutz Du eine Original RS232 Schnittstelle oder einen 
RS232 USB Wandler ?
Die Wandler können manchmal Probleme machen, gerade was Timeouts oder 
Break Erkennung betrifft.


Eckhard

von Uwe (Gast)


Lesenswert?

Ja ich tippe auch auf USB zu RS232 Wandler, da hab ich auch schon 
ähnliches gesehen. Nimm ne richtige RS232 PCI Karte und gut.

von Helmut (Gast)


Lesenswert?

Mit einem Oszi erkennst Du sehr  viel. Schließe es an und gib ein Bild 
her.

von Axel Laufenberg (Gast)


Lesenswert?

Wenn es um die OBD2 Schnittstelle geht, die ist schon sehr kritisch 
bzgl. des Timings.

Zum einen wird die mit 10 Baud (oder so) initialisiert, was in der Regel 
im Bit Bang Modus passiert. Dabei muss die Software schnell genug 
reagieren, weil sonst das Motorsteuergerät wieder abschaltet. Ein 
USB-RS232 Umsetzer, wie sie auch die meisten OBD Billig-Geräte haben, 
ist oft zu langsam, je nach PC.

Aber auch danach muss die Baudrate passen und der PC schnell genug 
antworten.

Das kann klappen, tut es aber bei weitem nicht immer. Im Zweifel mal mit 
einem schnelleren PC probieren, auf jeden Fall alles an Software 
beenden, was nicht unbedingt gebraucht wird.

Gruss
Axel

von Gästchen (Gast)


Lesenswert?

Hallo und vielen Dank für diese Tipps.

Ich nutze ExpressCard zu RS232.

Das mit 10 Baud-Initialisierung ist mir bekannt: wird mit einem 
Programmiertrick gelöst.
Bis jetzt fand ich keinen RS232-Datenlogger der angemessen funktioniert: 
da sieht man dass so etwas immer weniger gefragt ist.
Was mir auffiel ist diese Abfrage mit dem Tool vom Hersteller: es sind 
exakt 5 Mauklicks und jedes Mal ist die Reihenfolge absolut gleich.
Ich muss es mir später noch mal mit dem Oszi anschauen.

Gruß.

von Gästchen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

die Oszi-Bilder sehen vom Pegel her gut aus; das Timing muss ich mir 
noch näher ansehen.
Mal eine andere Frage: kann man ahnand dieser geloggten Daten etwas 
vermuten was falsch läuft? Das ist das alte Problem dass die Daten sich 
nur durch mehrere Mausklicks vom Testprogramm lesen lassen.(etwa 6 
Klicks). Es soll aber nur mit einem Mausklick gehen.

von Gästchen (Gast)


Lesenswert?

Hallo,

falls es jemanden interessiert: habe hier ein Paar Sachen rausgefunden.

Das Testprogramm vom Hersteller hat nur vorgegaukelt sie würde Daten 
empfangen. In Wirklichkeit wird hier gleichzeitig auf TXD und RXD 
geschrieben und das Testprogramm hat praktisch die Daten empfangen die 
es selbst gesendet hat: "Selbstunterhalter".
Die Datenkommunikation geht weiter über eine Leitung und bidirektional, 
daher die zeitliche Trennung zwischen TXD und RXD und gleichzeitiges 
schreiben beim Senden.

Dann habe ich noch was rausgefunden: die meisten ExpressCards auf dem 
Markt mit RS232 sind Schrott da sie entweder zu USB verbinden und nicht 
zum PCI-Bus oder schlechten Chipsatz haben der das ganze Timing 
zerschießt. Dies geschieht recht tückisch so dass die Kommunikation mit 
einigen Geräten oft funktioniert aber mit einigen anderen Geräten nicht.
Ob eine RS232 ExpressCard ein Fake ist, sieht man in der INF-Datei, dort 
steht dann was mit USB.
Ich empfehle hier die ExpressCads von Delock oder am besten mit dem 
Oxford-Chipsatz: mit den Dingen geht ALLES!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gästchen schrieb:
> die meisten ExpressCards auf dem
> Markt mit RS232 sind Schrott da sie entweder zu USB verbinden

Das Problem wurde hier schon mehrfach diskutiert, in den entsprechenden 
Threads sind auch explizite Typenbezeichnungen von ExpressCards erwähnt, 
die PCIe-UARTs nutzen.

> oder schlechten Chipsatz haben der das ganze Timing
> zerschießt.

Das mag bitte welcher sein?

> Ich empfehle hier die ExpressCads von Delock

Das ist nicht präzise genug, da DeLock auch ExpressCards mit USB-UART 
herstellt. "Fake" ist das übrigens nicht, das ist in der 
ExpressCard-Spezifikation schließlich offiziell vorgesehen.

von Gästchen (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist nicht präzise genug, da DeLock auch ExpressCards mit USB-UART
> herstellt. "Fake" ist das übrigens nicht, das ist in der
> ExpressCard-Spezifikation schließlich offiziell vorgesehen.

Hallo,
nachlesen über ein (hier erwähntes) Problem (wie mit ExpressCard) kann 
man erst wenn man weiß dass man ein Problem hat.
Klar doch sind die mit USB kein Fake, aber eben Schrott für jemanden der 
was selbst programmiert und auf das richtige Timing angewiesen ist. Ich 
habe hier sogar die Erfahrung gemacht dass USB-RS232-Umwetzer als Kabel 
besser waren als diese "USB-ExpressCards".
Wenn ich die Bezeichnung für DeLock wüsste, würde ich sie hier posten: 
jedenfalls ist das die teuerere Variante davon die empfehlenswert ist.

Gruß.

von Harald W. (wilhelms)


Lesenswert?

Erich schrieb:
> Deine Fragen bzw. Probleme sind viel zu unklar beschrieben.
>
> Oder gib doch einfach  "RS232"  in Google ein:
> Ungefähr 38.700.000 Ergebnisse (0,21 Sekunden)

Was? So wenig? RS232 scheint doch langsam auszusterben. :-)
SCNR
Harald

von iaoffline (Gast)


Lesenswert?

Gästchen schrieb:
> Das Testprogramm vom Hersteller hat nur vorgegaukelt sie würde Daten
> empfangen. In Wirklichkeit wird hier gleichzeitig auf TXD und RXD
> geschrieben und das Testprogramm hat praktisch die Daten empfangen die
> es selbst gesendet hat: "Selbstunterhalter".

Was technisch schwer möglich ist da ein Programm immer nur die 
Sendeleitung "schreiben" kann. Entweder du hast einen Verdrahtungsfehler 
oder dein externes Gerät sendet die Daten sofort zurück.

Erstmal testen:

Hyperterminal aufmachen, Schnittstelle auswählen Irgendeine Baudrate und 
kein Hardwarehandshake.

Dann Pin2 und Pin3 des Steckers der eigentlich in das Gerät gesteckt 
werden soll brücken (wenn es denn ein RS232 Stecker -dsub 9 oder dsub 25 
ist). Dann auf der Tastatur rumtippen

Jetzt musst du die gleichen Zeichen die du eintippst auf dem Bildschirm 
sehen

Wenn du jetzt die Brücken 2-3 wieder aufmachst kommen die getippten 
Zeichen nicht mehr auf den Bildschirm.

Wenn das jetzt funktioniert ist deine Kommunikationsstrecke bis zum 
Stecker der ins Gerät gesteckt wird Ok.

Dann kann man weiter forschen

von Gästchen (Gast)


Lesenswert?

iaoffline schrieb:

> Was technisch schwer möglich ist da ein Programm immer nur die
> Sendeleitung "schreiben" kann. Entweder du hast einen Verdrahtungsfehler
> oder dein externes Gerät sendet die Daten sofort zurück.
Doch, doch, es ist möglich. Ein ISO-9141-Baustein (wie z.B. L9637) 
beschreibt gleichzeitig auch RxD wenn er auf TxD schreibt. Es gibt 
keinen Verdrahtungsfehler, denn die Daten die dann vom externen Gerät 
zurückommen erscheinen NUR auf RxD. Ich habe bereits dass die 
eigentliche Datenübertragung auf einer Leitung statt findet, 
bidirektional, Schreiben und Lesen sind zeitlich voneinander getrennt, 
daher ist es überhaupt kein Thema. Und letztendlich funktioniert jetzt 
alles obwohl es "technisch nicht möglich sei".

> Dann Pin2 und Pin3 des Steckers der eigentlich in das Gerät gesteckt
> werden soll brücken (wenn es denn ein RS232 Stecker -dsub 9 oder dsub 25
> ist). Dann auf der Tastatur rumtippen
Danke für deine Tipps, jedoch...Wie gesagt, schon alles durchgetestet, 
alles durchprobiert, alle Bausteine mit L9637 sind so und nicht anders.
Ich muss nix weiter testen weil Fehler gefunden wurde und alles läuft.

von Harald W. (wilhelms)


Lesenswert?

Gästchen schrieb:

> Doch, doch, es ist möglich. Ein ISO-9141-Baustein (wie z.B. L9637)
> beschreibt gleichzeitig auch RxD wenn er auf TxD schreibt. Es gibt
> keinen Verdrahtungsfehler, denn die Daten die dann vom externen Gerät
> zurückommen erscheinen NUR auf RxD. Ich habe bereits dass die
> eigentliche Datenübertragung auf einer Leitung statt findet,
> bidirektional, Schreiben und Lesen sind zeitlich voneinander getrennt,
> daher ist es überhaupt kein Thema. Und letztendlich funktioniert jetzt
> alles obwohl es "technisch nicht möglich sei".

Dann hast Du auch kein RS232 Gerät, sondern etwas proprietäres.
RS232 sieht per Definition keine bidirektionale Übertragung
af einer Leitung vor. Inwieweit Dein Gerät jetzt RS232 ähnelt,
lässt sich von uns kaum feststellen.
Gruss
Harald

von ... (Gast)


Lesenswert?

Google mal nach I-Bus.

von Gästchen (Gast)


Lesenswert?

Harald Wilhelms schrieb:
> Dann hast Du auch kein RS232 Gerät, sondern etwas proprietäres.
> RS232 sieht per Definition keine bidirektionale Übertragung
> af einer Leitung vor. Inwieweit Dein Gerät jetzt RS232 ähnelt,
> lässt sich von uns kaum feststellen.
Doch, eine ExpressCard ist ein RS2323-Gerät.
Hab aber mehrfach den Sachverhalt geschildert den ich selbst 
rausgefunden haben, wieso und warum: der Übergang von einer 
Schnittstelle in die Andere ist doch keine Weltneuheit, oder?

von iaoffline (Gast)


Lesenswert?

Gästchen schrieb:
> Doch, eine ExpressCard ist ein RS2323-Gerät.
> Hab aber mehrfach den Sachverhalt geschildert den ich selbst
> rausgefunden haben, wieso und warum: der Übergang von einer
> Schnittstelle in die Andere ist doch keine Weltneuheit, ode

Entweder du hast eine RS232 Schnittstelle (eine steinalte serielle 
mindestens 3 Draht Verbindung) oder eben keine. ISO 9141 kenne ich nicht 
und ist wohl ein ein Draht Bus der bestenfalls auf der Protokollebene 
was mit RS232 zu tun hat.

Die RS232 Schnittstelle ist vollständig durchgenormt d.h. von den 
Signalpegeln über die Datenrichtung, Steckerbelegung, 
Datenübertragungsart und Tempo ist alles so definiert das jeder das 
ganze komplett aufbauen und  implementieren kann.

Jetzt kommst du mit deiner RS 2323 Pci Express Karte auf der irgendwas 
mit ISO 9141 läuft und stellst eine Frage zu RS232.

Da ist dann die Qualität der Antworten direkt proportional zur Qualität 
der Frage ;-).

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.