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.
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.
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
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/
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.