Forum: Mikrocontroller und Digitale Elektronik Probleme mit RS232-Sniffer


von Waldmann (Gast)


Lesenswert?

Hallo Leute,

ich habe ein kleines Problem. Und zwar habe ich mir einen RS232-Sniffer 
gebaut... dies heißt im Wesentlichen, dass ich zwei SUB-D9-Stecker (Male 
und Female) 1:1 durchgeschalten und jeweils die RX- und TX-Leitung und 
die Signalmasse abgegriffen habe. Mit einem kleinen Schalter kann ich 
jeweils wählen, ob ich am Abgriff (SUB-D9 an der RX-Leitung) die RX- 
oder die TX-Leitung durchgeschliffen bekommen haben möchte.

Befindet sich am Abgriff kein COM-Port, dann funktioniert der 
Datenaustausch zwischen dem PC und der anzusprechenden Peripherie 
wurderbar... schliesse ich jedoch zum Lauschen einen COM-Port an, wird 
die Kommunikation unterbrochen...

Woran kann das liegen? Sind die Pegel auf der RS232-Leitung so schwach 
ausgelegt, dass der Pegel bei zwei Senken zusammenbricht? Benötige ich 
dafür eine Verstärkerschaltung? Wenn ja, wie sollte die aussehen?

Ich sollte vielleicht dazu erwähnen, dass ich zwei USB-RS232-Adapter 
(einer  mit FTDI- der andere mit Prolific-Chip) verwende, da mein Laptop 
nicht über eine COM-Schnittstelle verfügt.

Vielen Dank im Voraus für das Beantworten der Fragen

Holger

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

wie hieß es vor vielen Jahren in der Computerzetschrift "mc" aus dem 
Franzis-Verlag:
"Zur Inbetriebnahme einer RS232-Verbindung benötigt man einen Lötkolben 
und ein Oszilloskop"
Ich vermute auch, daß die Spannung durch irgendwelche 
Eingangswiderstände zu stark belastet wird. Der FTDI- oder Prolific 
hängt ja nicht direkt an +/-12V, da muß noch ein MAX232 oder ähnliches 
drin stecken, der überlastet wird.

von Matthias (Gast)


Lesenswert?

Hä?
Also du hast einen Stecker FEMALE und einen MALE, beide sind 1:1 
verbunden?
OK.

Wie ist dann das zu verstehen:
Mit einem kleinen Schalter kann ich
jeweils wählen, ob ich am Abgriff (SUB-D9 an der RX-Leitung) die RX-
oder die TX-Leitung durchgeschliffen bekommen haben möchte.
^^^^^               ^^^^^^^^^^^^^^^^
????

Ich würde sagen, beides 1:1 verbinden.

Nimm nen Umschalter:
ein Ende an Pin 2, das andere Ende an Pin3
(eins ist TXD, das andere RXD)
den Mittelkontakt des Schalter an RXD des PCs dranhängen..

Dann sollte das gehen...

von Tishima (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich blick jetzt nicht ganz durch, wie Du was angeschlossen hast, aber 
ich hab  das auch schon heufiger gemacht. Mit dem Kabel siehe Anhang.

Allerdings mit nem echten Comport und nur einem  USB Wandler.

Und falls Du ne Software suchst die 2 Comports gleichzeitig bedienen 
kann, um  RX TX gleichzeitig zu überwachen kann ich "Docklight" 
empfehlen.

gruß,
Bjoern

von Waldmann (Gast)


Lesenswert?

@Matthias

genauso hab ich es auch gemacht bzw. gemeint... vielleicht bissi 
umständlich beschrieben... sorry ;)

Meint Ihr man könnte Abhilfe schaffen indem ich mit 'nem Rechner mit 
serieller Schnittstelle (onboard) rangehe?

von Waldmann (Gast)


Lesenswert?

@Tishima

genau wie auf Deinem Schaltplan habe ich es realisiert... nur dass ich 
anstelle von zwei Abgriffsbuchsen eben einen Schalter dazwischen 
gehangen habe, der jeweils zwischen RxD und TxD (je nachdem was ich 
loggen möchte) umschaltet.

von birkenhof (Gast)


Lesenswert?

Ich würde es auf jeden Fall mal mit der Onboardschnittelle versuchen.
Von Notebook COM-Ports ist mir in Erinnerung, dass es welche geben
soll, die so knappe Treiberleistung haben, dass sie gerade mal einen
Eingang bedienen können.

von Max (luckylax)


Lesenswert?

Hallo zusammen,

ich würde gerne diesen 14 Jahre alten Beitrag nochmal aufgreifen da ich 
so ziemlich das gleiche Problem wie der OP habe.
Ich versuche mit 2 Prolific USB-to-COM Adaptern die RS-232 
Kommunikation(Rx und Tx, daher 2 USB-to-COM´s) zwischen Host und Target 
zu sniffen. Host und Target sind auch mit einem USB-to-COM Kabel 
verbunden.
Mein Setup entspricht dem o.A. "pt_monitoringcable.png", als Software 
benutze ich Docklight.
Leider bricht die Kommunikation zusammen soabld der Host anfängt Daten 
zu senden. Der Vorposter hat die Vermutung geäussert das der Pegel zu 
schwach ist und deshalb die Verbindung abbricht. Da dasselbe Setup(mit 
Pegelwandler) bei einer 5V TTL Verbindung bei mir sonst immer gut 
funktioniert hat könnte ich mir das durchaus vorstellen.
Hat jemand hier Rat wie ich dieses Problem lösen könnte ohne das ich den 
doch ziemlich teuren(zumindest für ein Hobby Projekt) Docklight Tap 
Adapter kaufen muss.
Der Lösungsansatz mit 2 Onboardschnitstellen ist für mich leider nicht 
möglich das ich keinen PC mit 2 seriellen Schnittstellen mehr besitze.

Vielen Dank im Voraus.
Güße,
Max

: Bearbeitet durch User
von Lötlackl *. (pappnase) Benutzerseite


Lesenswert?

Max schrieb:
> ich würde gerne diesen 14 Jahre alten Beitrag nochmal aufgreifen

Die Leiche ist schon 17 Jahre alt.

von Rainer W. (rawi)


Lesenswert?

Max schrieb:
> Host und Target sind auch mit einem USB-to-COM Kabel
> verbunden.

Was ist ein "USB-to-COM Kabel"?
COM ist normalerweise die Portbezeichnung auf einem Win-PC.
Meinst du damit einen USB-Seriell-Wandler auf RS232- oder 5V-Pegel mit 
einem Kabel dran?
Wenn du die Daten sowieso auf einem PC hast, warum lauscht du dann nicht 
über einen seriellen Hub, z.B. Hub4com aus dem Com0Com-Projekt?
https://com0com.sourceforge.net/

: Bearbeitet durch User
von Th S. (osszilierer)


Lesenswert?

Max schrieb:
> Ich versuche mit 2 Prolific USB-to-COM Adaptern die RS-232
> Kommunikation(Rx und Tx, daher 2 USB-to-COM´s) zwischen Host und Target
> zu sniffen. Host und Target sind auch mit einem USB-to-COM Kabel
> verbunden.

du bist sicher bei beiden Sniffer Adaptern jeweils die RX Leitung(Pin2) 
und nicht TX angeschlossen zu haben?

von Klaus S. (kseege)


Lesenswert?

Rainer W. schrieb:
> Was ist ein "USB-to-COM Kabel"?
> COM ist normalerweise die Portbezeichnung auf einem Win-PC.
> Meinst du damit einen USB-Seriell-Wandler auf RS232- oder 5V-Pegel mit
> einem Kabel dran?

USB-to-COM meint dasselbe wie USB-to-RS232, weil der COMport im PC 
RS232-Pegel liefert. Die 5Volt-Variante nennt sich auch USB-to-UART oder 
USB-UART-Bridge. Das Kabel kann auch eine Stiftleiste sein und 3,3 Volt 
statt 5 Volt sind ebenfalls meist möglich.

Gruß Klaus (der soundsovielte)

von Klaus S. (kseege)


Lesenswert?

Max schrieb:
> Der Lösungsansatz mit 2 Onboardschnitstellen ist für mich leider nicht
> möglich das ich keinen PC mit 2 seriellen Schnittstellen mehr besitze.

Auch die eingebauten COM-Schnittstellen sind nur für eine 
Punkt-zu-Punkt-Verbindung vorgesehen. Deshalb nimmt man für solche 
Aktionen die USB-to-TTL-Wandler. TTL hat eine Fan-Out von >5, man kann 
also mehrere Empfänger an einen Sender klemmen.

Wer allerdings solche grundlegenden Ratschläge für die Elektrik nötig 
hat, sollte wohl doch besser zum Vorschlag von Rainer W.(rawi) greifen 
und das Problem per Software erschlagen.

Gruß Klaus (der soundsovielte)

von Helmut -. (dc3yc)


Lesenswert?

Klaus S. schrieb:
> Wer allerdings solche grundlegenden Ratschläge für die Elektrik nötig
> hat, sollte wohl doch besser zum Vorschlag von Rainer W.(rawi) greifen
> und das Problem per Software erschlagen.

In Software wird's auch nicht besser. Vielleicht ein anderes Hobby 
suchen?

von Klaus S. (kseege)


Lesenswert?

Helmut -. schrieb:
> In Software wird's auch nicht besser. Vielleicht ein anderes Hobby
> suchen?

Denke ich nicht. Habe 20 Jahre lang mit Erfolg den wunderbar einfach zu 
bedienenden free-serial-port-monitor zum Sniffen verwendet und damit 
viel Ratezeit vermieden. Läuft leider nur im 32-bit-Windows. Aber sooo 
kompliziert ist com0com nun auch nicht ...

Just my 2 cents.

von Harald K. (kirnbichler)


Lesenswert?

Die üblichen RS232-Treiber (MC1488/SN75188, MAX232 etc.) sind durchaus 
in der Lage, mehr als nur einen RS232-Empfänger anzusteuern.

Das funktioniert seit Jahrzehnten, btdt zigfach.

Wenn der Anschluss der oben beschriebenen Mithör-Lösung irgendwelche 
Probleme verursacht, dann ist bei der Verdrahtung was schiefgelaufen.

Entweder sind Rx/Tx des mithörenden PCs verwechselt worden, oder aber 
die Verbindung der PC-Masse mit der Masse der beiden miteinander 
kommunizierenden Geräte bringt eine Masseschleife mit entsprechenden 
Störungen ins Spiel.

von Manfred P. (pruckelfred)


Lesenswert?

Klaus S. schrieb:
> Auch die eingebauten COM-Schnittstellen sind nur für eine
> Punkt-zu-Punkt-Verbindung vorgesehen.

Ja. Dennoch hat es mit den klassischen Schnittstellen MC1488/1489 
funktioniert, zwei Eingänge parallel zu legen und mitzuhören.

Harald K. schrieb:
> Die üblichen RS232-Treiber (MC1488/SN75188, MAX232 etc.) sind durchaus
> in der Lage, mehr als nur einen RS232-Empfänger anzusteuern.
> Das funktioniert seit Jahrzehnten, btdt zigfach.

Auch schon seit Jahrzehnten gibt es andere Treiber, die gerade so knapp 
den Nennpegel erreichen oder sogar außer der Norm liegen. Auch der 
Empfänger kann da mehr oder weniger intolerant sein.

> Wenn der Anschluss der oben beschriebenen Mithör-Lösung irgendwelche
> Probleme verursacht, dann ist bei der Verdrahtung was schiefgelaufen.

Das ist naheliegend, aber leider nicht die einzige Möglichkeit.

von Harald K. (kirnbichler)


Lesenswert?

Manfred P. schrieb:
> Auch schon seit Jahrzehnten gibt es andere Treiber, die gerade so knapp
> den Nennpegel erreichen oder sogar außer der Norm liegen.

Wenn das Frickellösungen mit irgendwelchen aus den Signalpegeln von 
Handshakeleitungen gespeisten Transistoren o.ä. sind, sicher.

Der ... äh, Threadleichenschänder hat sich natürlich nicht darüber 
ausgelassen, was er da nun verwendet. Weil: Wo kämen wir da hin, wenn 
wir einfach brauchbare Informatione hätten? Dann könnten wir uns ja gar 
nicht vor lautere Raterei die Haare ausraufen!

von Harald K. (kirnbichler)


Lesenswert?

Man könnte das Problem übrigens mit einem OpAmp lösen, der hat 
ausreichend hochohmige Eingänge, daß auch ein hochohmiger 
Widerstandsteiler davor das RS232-Signal aus einem drecks-Pegelwandler 
nicht störend belastet. Man braucht nur 'ne symmetrische 
Versorgungsspannung für den OpAmp, aber die ist mit 'nem ICL7660 o.ä. 
leicht hinzubekommen.

Wenn man mit ±12 V Versorgungsspannung arbeitet, kann man den OpAmp auch 
ohne Widerstandteiler als Treiberstufe verwenden.

von Rainer W. (rawi)


Lesenswert?

Harald K. schrieb:
> Man braucht nur 'ne symmetrische
> Versorgungsspannung für den OpAmp, aber die ist mit 'nem ICL7660 o.ä.
> leicht hinzubekommen.
>
> Wenn man mit ±12 V Versorgungsspannung arbeitet, kann man den OpAmp auch
> ohne Widerstandteiler als Treiberstufe verwenden.

Viel zu viel Aufwand. Eine Umsetzung auf 5V-Pegel und dahinter ein 
"USB-to-UART"-Wandler erspart die bipolare Versorgung.

von Harald K. (kirnbichler)


Lesenswert?

Rainer W. schrieb:
> Eine Umsetzung auf 5V-Pegel

Und wie unterscheidet sich die von einem normalen RS232-Pegelwandler, 
der der These von Manfred zufolge bereits den RS232-Treiber des zu 
untersuchenden Systems zu sehr belastet?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Max schrieb:
> Der Vorposter hat die Vermutung geäussert das der Pegel zu schwach ist
> und deshalb die Verbindung abbricht.
Die Lösung steht im 2. Post dieses Threads: nimm ein Oszi und miss die 
Pegel auf den Leitungen.

Und das nächste Mal zerre nicht einen ururalten Thread sns Tageslicht, 
sondern beginne einen neuen und schreib da alles rein, was du hast 
(Typbezeichnungen, Bestellnummern, Links zum Produkt usw...), was du 
damit machen willst und was stattdessen passiert. Und wenn du dann noch 
einen alten Thread hast, der "genau" das selbe Problem behandelt, dann 
kopiere dessen Link auch in diesen Post.

: Bearbeitet durch Moderator
von Klaus S. (kseege)


Lesenswert?

Lothar M. schrieb:
> Die Lösung steht im 2. Post dieses Threads: nimm ein Oszi und miss die
> Pegel auf den Leitungen.

Da Max vermutlich nur die Steuerung seines Elektrofahrrads knacken 
möchte und eventuell nicht einmal ein Digitalmultimeter hat, dürfte 
diese Lösungsmöglichkeit ein No-Go für ihn sein.

Da aber offensichtlich Beiträge auf mikrocontroller.net auch nach 
einiger Zeit noch von Hilfesuchenden durchkämmt werden (auch von mir), 
fände ich es sinnvoll, auch anderweitig vernünftige Lösungen 
vorzuschlagen. Und die besteht in diesem Fall eben darin, nicht einer 
Fummellösung mit Meßgeräten zu Leibe zu rücken, sondern die von 
vornherein innerhalb der Spezifikation liegende Lösung mit der Umsetzung 
auf TTL-Standard vorzuschlagen. Jedes Gerät mit USB-Ausgang bekommt 
einen USB-UART-TTL-Wandler und jedes Gerät mit RS232-Pegel bekommt einen 
RS232-TTL-Wandler. TTL ist dafür ausgelegt, daß ein Ausgang mehrere 
Eingänge bedient, RS232 nicht. Das kostet beim billigsten Anbieter für 4 
Pegelwandler etwas mehr als 10Euro, ist billiger als ein Oszi oder die 
meisten Digitalmultimeter und funktioniert elektrisch einwandfrei.

Just my 2 cents

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.