RS485 abhören

Gast #5620753
Lesenswert?

Hallo,

ich möchte die Kommunikation, die zwischen einem Sensor und einer 
Steuerung die über RS485 (NMEA 0183) abläuft, abhören. Kann ich dort 
einfach einen RS485 zu USB Konverter (z.B. 
https://www.amazon.de/USB-RS485-Adapter-mit-Geh%C3%A4use/dp/B00I9H5J02/ref=pd_sim_147_1?_encoding=UTF8&pd_rd_i=B00I9H5J02&pd_rd_r=3ad75ecb-e746-11e8-b3ca-35e5b4e40520&pd_rd_w=L4zO0&pd_rd_wg=Qvfz3&pf_rd_i=desktop-dp-sims&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_p=b38829c9-e6e5-4da7-8615-59e5c0de7783&pf_rd_r=GQ3X4Z1MJFGE65795GHQ&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=GQ3X4Z1MJFGE65795GHQ 
) parallel auf RX und TX klemmen und z.B. mit HyperTerminal den 
Datenfluss ansehen?
#5620776
Lesenswert?

A. F. schrieb:
> Rufus Τ. F. schrieb:
>> Wenn Du die Leitungen vertauschst, empfängst Du halt Müll.
>
> Nö, dann empfängt er die Daten eher invertiert, aber kein Müll :)

Nein er empfängt Müll weil er die vordere Flanke des Startbit nicht mehr 
detektieren kann, es wird also nicht nur invertiert sondern auch wild 
verschoben sein, mal mehr mal weniger, je nach Bitmuster, manche 
Datenbits wird er komplett verpassen und dafür Start- und Stopbits 
anderer Bytes in den Datenbereich rutschen.
Gast #5622988
Lesenswert?

Ich habe nun das Teil: 
https://www.amazon.de/USB-RS485-Adapter-mit-Geh%C3%A4use/dp/B00I9H5J02/ref=pd_sim_147_1?_encoding=UTF8&pd_rd_i=B00I9H5J02&pd_rd_r=3ad75ecb-e746-11e8-b3ca-35e5b4e40520&pd_rd_w=L4zO0&pd_rd_wg=Qvfz3&pf_rd_i=desktop-dp-sims&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_p=b38829c9-e6e5-4da7-8615-59e5c0de7783&pf_rd_r=GQ3X4Z1MJFGE65795GHQ&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=GQ3X4Z1MJFGE65795GHQ 
parallel zur bestehenden RS485 verbindung geklemmt, in meinen Laptop 
gestöpselt, Treiber instaliert und einen Verbindung mit Hyper Terminal 
hergestellt. Die Verbindungsparameter (9600 baud etc.) habe ich richtig 
eingestelt.
Das Ergebnis ist nun, dass die LEDs am RS485 / USB Adapter munter 
blinken (wenn ich die Verbindung im Hyper Terminal unterbreche, gehen 
sie aus), ich aber im Fenster von Hyper Terminal nichts angezeigt 
bekomme.

Könnte es sein, dass das daran liegt, dass ich mich im laufenden Betrieb 
ranhänge? Kann das Hyper Terminal nur dann, wenn ich einen komplette 
Datei (also insbesonerer mit Anfang und Ende) übertrage?
Wie kann ich den "laufenden Datenstrom" abhören?
Beitrag #5622989 wurde von einem Moderator gelöscht.
Persönliche Seite #5622998
Lesenswert?

Hyperterminal ist ein Terminalprogramm, das nur Klartext anzeigt (und 
ein paar Binärdaten als ESC-Sequenzen interpretiert).

Irgendwelche Binärdaten (d.h. mit Zeichencode < 0x20) werden entweder 
gar nicht dargestellt oder eben als Steuerzeichen interpretiert.

Du brauchst kein Terminalprogramm, sondern einen 
Schnittstellenanalysator.

Das gerne fälschlicherweise als Terminalprogramm bezeichnet "HTerm" ist 
so einer, dieses Programm stellt alle empfangenen Daten ohne 
Interpretation dar, wahlweise in hex-, dezimal oder auch als 
ASCII-Zeichen (sofern darstellbar).
Beitrag #5623013 wurde von einem Moderator gelöscht.
Gast #5624038
Lesenswert?

Ich höre jetzt mit HTerm ab und empfange zumindest erst einma Mist ;-).
Im Manual des Sensors steht:
Baud rate = 9600
Data bits = 8
Start bits = 1
Stop bits = 1
Parity = none
Flow control = none

Nun finde ich leider keine Möglichkeit, in HTerm ein Startbit 
einzustellen...

Wie geht das in HTerm? Oder welches Programm könnte ich zum Abhören 
nochverwenden (bei dem man ein Startbit einstellen kann)?
Gast #5624161
Lesenswert?

Startbit UND Stoppbit ist keine Einstellung für den Empfänger.

Wenn baudraten und parity stimmen, dann vergleiche noch den Ruhepegel 
(@Sendepause) RX am PC-Eingang: der muss 0V oder negativ sein.

Und wenn Du kein Oszilloskop oder LSA hast, dann wechsle halt AB oder 
schließ eine LED mit 5k davor an RX (gegen GND)
Persönliche Seite #5624197
Lesenswert?

Achim S. schrieb:
> Startbit UND Stoppbit ist keine Einstellung für den Empfänger.

Stopbits sind eine Einstellung auch für den Empfänger.

Wird mit einem Stopbit gesendet, ist beim Empfänger aber zwei Stopbits 
angegeben, so kommt es beim Empfänger zu framing errors, wenn der 
Sender lückenlos sendet.

Andersherum passiert das nicht; wird mit zwei Stopbits gesendet, ist 
beim Empfänger nur eines konfiguriert, gibt es keinen framing error, 
denn das Verhalten entspricht dem Senden mit einer Pause zwischen den 
einzelnen Zeichen.
Gast #5624262
Lesenswert?

Rufus Τ. F. schrieb:
> Wird mit einem Stopbit gesendet, ist beim Empfänger aber zwei Stopbits
> angegeben, so kommt es beim Empfänger zu framing errors, wenn der Sender
> lückenlos sendet.

Wegen dieses Mythos schrieb ich es extra.

2 Stoppbits gibt's nur senderseitig, der Empfänger hat immer weniger als 
1 (d.h.: das nächste startbit darf auch ein wenig früher kommen)

Das dient dem Ausgleich von Taktabweichungen.
Gast #5624279
Lesenswert?

Rufus Τ. F. schrieb:
> Hyperterminal ist ein Terminalprogramm, das nur Klartext anzeigt (und
> ein paar Binärdaten als ESC-Sequenzen interpretiert).
>
> Irgendwelche Binärdaten (d.h. mit Zeichencode < 0x20) werden entweder
> gar nicht dargestellt oder eben als Steuerzeichen interpretiert.

NMEA183 mit 9600Bd verwendet gewöhnlich nur Klartext. Die NMEA 
Datensätze werden dabei durch ein "$" eingeleitet. NMEA Binärdaten 
werden gewöhnlich mit 38k4Bd übertragen und mit "!" eingeleitet.

Insofern spricht vieles dafür, dass der unbekannte Sensor reine 
Klartextdaten sendet - also keine Sorge.

In der Doku zu Sensor und Steuerung sollte sich zumindest eine 
Auflistung der verwendeten NMEA-Sentences finden.
#5626295
Lesenswert?

Rufus Τ. F. schrieb:
> Achim S. schrieb:
>> Wegen dieses Mythos schrieb ich es extra.
>
> Wie kommst Du auf die interessante Idee, daß das ein "Mythos" sein soll?

Weil noch kein solcher UART jemals in freier Wildbahn gesichtet wurde. 
So wie ein Einhorn oder ein Wolpertinger. Wäre auch reichlich sinnfrei 
so einen zu konstruieren und wahrscheinlich auch gar nicht lebensfähig 
weil fehlerhaft by design.

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