RS485 Daten mitschneiden.

Gast #6012047
Lesenswert?

Hallo zusammen,
vor einiger Zeit habe ich schonmal was ähnliches gefragt, will aber 
jetzt nochmal konkreter fragen und erklären.
Situation: Eine Platine und ein Diagnosegerät mit MB90F342CAS 
Mikrokontroller. Über ein RJ10 Kabel und Rs485 kommuniziert das Tool mit 
der Platine. Ich will die Kommunikation zwischen Tool und Platine so 
mitschnieden, das ich anschließend die Befehle für alle Funktioen über 
einen Laptop senden kann, und die entsprechende Antwort sehe. z.B. 
Fehlermeldungen auslesen oder aktueller Zustand von E/A Ports anzeigen, 
Parameter ändern etc.

Versucht habe ich das mit einem RS485 Adapter (siehe Foto), dieser ist 
an eine selbst gelötete kleine Leiterplatte angeschlossen, eine RJ10 
Buchse an die das Tool kommt, an die andere die Platine, dazwischen 
gehen dann Rx und Tx zu einem RS485 auf USB Adapter welcher dann an den 
PC angeschlossen ist. Mit einem Serial Port Monitor bekomme ich z.B. 
""FF00AA44" angezeigt.
Mein Problem ist wohl das ich nicht sehe welche Daten von Tool als 
Anfrage, und welche von Platine als Antwort kommen. Wenn ich im Terminal 
schaue, wird mir genau das in Klartext gezeigt, was das Tool anzeigt, 
deshalb gehe ich davon aus das Parity und Speed richtig eingestellt 
sind? Mit anderen Werten bekomme ich nämlich nur diverse Zeichen.

Meine Frage ist nun welche möglichst kostengünstige Hardware ich 
benötige, um mein Ziel zu erreichen. Von den selbstgebauten Teilen und 
dem RS485 Adapter habe ich Bilder angehängt. Das Diagnosetool ist 
ziemlich "komplex" muss regelmäßig mit einer speziellen PC Software 
wieder freigeschaltet werden.
Außerdem wäre interessant, ob jemand weiß wie die die Daten auf dem oben 
genannten Chip aussehen, ist das unterschiedlich? Zur Not könnte man, 
falls die Daten auf dem Chip verwendbar sind, diesen auch aus dem Tool 
auslösten und auslesen.
Danke im Voraus
Angehängte Dateien:
#6012052
Lesenswert?

Sorry, für mich ist nicht verständlich, was eigentlich dein Problem ist. 
Wenn du die Zeichen korrekt empfängst, ist doch alles gut? Was ist jetzt 
noch falsch?

RS485 ist idR Half Duplex, es gibt (ohne Hardware Flow Control) 
elektrisch keine Möglichkeit, zu erkennen wer sendet. Das wird 
normalerweise auf einer höheren Protokollebene ausgehandelt.
Gast #6012059
Lesenswert?

Eigentlich ist das Ziel ja das ich die Befehle selbst senden kann (ohne 
das Tool) und dann die Antwort in Klartext angezeigt bekomme.
Aber ich bekomme pro Funktion immer nur einen Code z.B "0A 11 F2 AA" ein 
Teil könnte die Anfrage des Tools sein, und ein anderer die Antwort. 
Dann müssen evtl. noch Timings eingehalten werden etc. und ich bekomme 
keine Reaktion wenn ich diesen Code an die Platine sende.
Gast #6012187
Lesenswert?

Kommst du mit einem Logicanalyzer oder Oszi bei einem der beiden Boards 
an den DE/RE PIN des RS485 Transceivers? Dann noch A/B oder einfacher 
DI/RO und dekodieren. Wenn dann der Aufbau feststeht kannst du zurück an 
den komfortableren USB-Adapter
(Firma: fritzler-avr.de) #6012921
Lesenswert?

Mit DIESEM Adapter wirst du nicht wirklich RS485 senden können.
Der CH340 USB<->UART Chinesen IC hat kein TX Enable Ausgang.
Daher ist das mit einem Monoflop rangefrickelt.
(Es gibt sogar eine Variante ohne dieses Monoflop, das sieht dann auf 
dem Oszi eher nach CAN aus statt RS485)

Je nach Baudrate kann der dann zu lange senden und die ersten 
Antwortbytes verschwinden.

Nimm einne Adapter auf FT232 oder CP2102 Basis.
Leider kann ich dir keinen kaufbaren empfehlen, weil ich sowas selber 
baue.

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