Forum: PC Hard- und Software Suche Doppel-Termimalprogramm


von Walter T. (nicolas)


Lesenswert?

Hallo zusammen,

ich will mir die Kommunikation zweier Geräte über RS232 anschauen. 
Generell ist das kein Problem: Ich nutze zwei USB-RS232-Adapter, habe 
zwei virtuelle COM-Ports in Windows und stelle beides in zwei 
Terminal-Fenstern in Putty dar.

Dummerweise kann ich so nicht zuordnen, in welcher Reihenfolge die 
Kommandos über die Leitung gingen.

Kennt jemand ein Terminal-Programm, das die Daten zweier COM-Ports in 
der richtigen Reihenfolge zusammen darstellen kann?

Viele Grüße
W.T.

von Guest (Gast)


Lesenswert?

Unter Windows?
Schau mal da nach: http://freeserialanalyzer.com/

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Walter T. schrieb:
> Dummerweise kann ich so nicht zuordnen, in welcher Reihenfolge die
> Kommandos über die Leitung gingen.

Das funktioniert so nur mit einer gewissen zeitlichen Unsicherheit - es 
ist nicht sichergestellt, daß die Zeichen, die UART 1 empfängt, auch 
wirklich in der korrekten zeitlichen Reihenfolge mit den Zeichen, die 
UART 2 empfängt, von den Treibern des Betriebssystems "verdaut" werden.

Stell' Dir einfach mal den Mischbetrieb mit einer Onboard-Schnittstelle 
und einem USB-Seriell-Adapter vor ...

Zuverlässig funktioniert das nur mit externer Hardware, also z.B. µC, 
der mit zwei UARTs synchron empfängt und die Daten aufbereitet mit 
Zeitstempel an einen PC zur Auswertung überträgt.

Zu kaufen gibt es so etwas in ziemlich schick (weil auch noch 
Handshakeleitungen mit genauen Zeitinformationen erfasst werden) hier:
https://iftools.com/analyzer/index.de.php

Ob der Aufriss nötig ist, hängt natürlich vom von Dir zu untersuchenden 
Protokoll ab.

Vor einem Vierteljahrhundert habe ich mal im Rahmen meiner Arbeit ein 
Programm geschrieben, das unter DOS auf einem PC zwei Schnittstellen zur 
Protokollanalyse verwendete und die Daten (angepasst an ein von meinem 
Arbeitgeber verwendetes serielles Protokoll) als Hexdump aufbereitet 
dargestellt hat. Das funktionierte so leidlich, was weniger dem Konzept 
geschuldet war, sondern eher meinen damals noch nicht sonderlich 
perfekten Programmierfähigkeiten. Die Aufgabe hat's erfüllt, und danach 
haben wir uns beide anderen Tätigkeitsfeldern zugewandt. Also, das 
Programm kam nach kurzer Zeit in die Tonne und ich habe interessantere 
Dinge gemacht.

von Georg (Gast)


Lesenswert?

Walter T. schrieb:
> Kennt jemand ein Terminal-Programm, das die Daten zweier COM-Ports in
> der richtigen Reihenfolge zusammen darstellen kann?

Das geht nur mit spezieller Hardware, weder die PC-Architektur noch 
Windows sind geeignet, zeitliche Bezüge verschiedener 
Peripherieeinheiten mit hoher Auflösung zu erfassen. Wenn aber die 
Ungenauigkeit im ms-Bereich liegt, ist die Auswertung ziemlich sinnlos. 
Die jeweiligen Events - Zeichenempfang, Statussignal-Änderung - müssten 
mit Zeitstempeln mit µs-Auflösung erfasst und abgespeichert werden.

Ich habe für solche Zwecke einen Protokoll-Analysator HP4952A, der kann 
das.

Georg

von W.A. (Gast)


Lesenswert?

Walter T. schrieb:
> Kennt jemand ein Terminal-Programm, das die Daten zweier COM-Ports in
> der richtigen Reihenfolge zusammen darstellen kann?

Nimm einen Logikanalysator [1] und klemm den vor dem USB/RS232-Wandler 
auf die beiden Schnittstellen. Dann kannst du die Daten aufzeichnen und 
den dekodierten Datenstrom mit sauberem Zeitbezug in eine Datei 
schieben.

[1] z.B. von Saleae https://www.saleae.com/

von Gerd E. (robberknight)


Lesenswert?

Georg schrieb:
> Wenn aber die
> Ungenauigkeit im ms-Bereich liegt, ist die Auswertung ziemlich sinnlos.
> Die jeweiligen Events - Zeichenempfang, Statussignal-Änderung - müssten
> mit Zeitstempeln mit µs-Auflösung erfasst und abgespeichert werden.

na ob Ungenauigkeit im ms-Bereich da "sinnlos" mach oder nicht, hängt 
doch wohl von der Anwendung und den Protokollen des TO ab. Vielleicht 
kommen die Daten nur alle 100 ms, dann wäre das doch vollkommen ok.

von Georg (Gast)


Lesenswert?

Gerd E. schrieb:
> Vielleicht
> kommen die Daten nur alle 100 ms, dann wäre das doch vollkommen ok.

Es ist ja nicht die Frage, wann Daten kommen, sondern ob ein Zeichen auf 
RxD vor oder nach einem Zeichen auf TxD gekommen ist. Ebenso, ob ein 
Statussignal vor, während oder nach einem Zeichen wechselt. Da geht es 
bei 115 kBaud um weiniger als 10 µs. Ganz so einfach wie sich klein 
Fritzchen das vorstellt ist Protokollanalyse eben doch nicht.

Georg

von RobyWall (Gast)


Lesenswert?

Versuchen Sie Serial Port Monitor - 
https://www.eltima.com/de/products/serial-port-monitor/.

Ich denke, es kann helfen, die von der App empfangenen Daten erneut an 
die serielle Schnittstelle zu senden. Auf diese Weise können Sie das 
Verhalten des Ports beim Empfang der gleichen Daten überprüfen, um 
genauere Überwachungsergebnisse zu erhalten. Sie können auch Sitzungen 
mit automatischer Anzeige der Unterschiede zwischen ihnen vergleichen.

Es ist nicht kostenlos, hat aber eine 14-tägige Testversion

von georg (Gast)


Lesenswert?

RobyWall schrieb:
> Ich denke, es kann helfen

Nach mehr als 2 Jahren?

Georg

Beitrag #5649708 wurde von einem Moderator gelöscht.
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.