Forum: Mikrocontroller und Digitale Elektronik RX/TX port sniffer


von Matthias 2. (zeras)


Lesenswert?

Hallo,

ich bin dabei, einen port sniffer zu programmieren, der beide Seiten 
überwacht. Dazu lese ich mit 2 seriellen USB Ports die Daten der 
eigentlichen Schnittstelle (RX und TX) und stelle diese in der 
Reihenfolge in 2 verschiedenen Farben dar. So kann ich sehen, welche 
Seite was gesendet hat.

Dies klappt zwar ganz schön gut bis Baudrate 38400, aber wenn eine 
höhere Baudrate gewählt wird, kommen zwar alle Zeichen an, aber nicht 
mehr in der richtigen Reihenfolge. Ich muss noch dazu sagen, dass ich 2 
seriell/USB Wandler nutze, da ich erstens nicht genug Schnittstellen 
habe und zweitens nicht durch die Länge der RS232 Leitungen die Daten 
beeinflussen will. Ich vermute, dass dies mit den seriell/USB Wandlern 
zu tun hat.
Hat jemand Ideen dazu?
Bei Interesse könnte ich auch den derzeitigen Stand zumailen 
(Arbeitsstand). Man kann da bestimmt noch viel verbessern.

von Εrnst B. (ernst)


Lesenswert?

USB basiert auf Polling, d.H. welcher USB-Seriell-Wandler seine 
gepufferten Daten zuerst an den PC schickt ist nicht festgelegt, es ist 
einfach der den der PC zuerst fragt.
Muss also ganz und garnicht derjenige sein, der die Daten zuerst 
empfangen hat.

von Matthias 2. (zeras)


Lesenswert?

Sollte es dann besser gehen, wenn ich doch noch weitere 
PC-Schnittstellen nutzen würde?

von Hias (Gast)


Lesenswert?

Welche Teilnehmer hängen an der RS232 Leitung?
Wenn einer davon ein PC, schießt du momentan mit Kanonen auf Spatzen.
Es gibt fertige Software die die Schnittstellentätigkeiten mit 
aufzeichnet. (z.B. Portmon).

Hias

von Matthias 2. (zeras)


Lesenswert?

Ja, ein PC hängt dran. Portmon ist wahrscheinlich gut, aber wenn ich 
einige Printouts sehe, dann habe ich ein völlig anderes Ergebnis, als 
ich erwarte.
Weiter unten meine aufgezeichneten Daten von einem Test. Wenn man hier 
im Forum noch farbig darstellen könnte, dann würde man die "Fragen" rot 
sehen und fie "Antworten" grün. Das finde ich für meinen Fall besser.


P 0>000008FF<13>!00<13>!00<13>
R 0*>00000064<13>444444444444444/888 <0> 
<0><0>031007182552@03100718.255<0><0><0><0><0><0><0><0><4><0><0><0><0><0 
><0><0><0><0><0><0><0><0><0>$00000064<13>!00<13>
C 0<13>!00<13>

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.