UART "sniffen"

Gast #4293903
Hallo,

Bei einem Aufbau mit µC der über UART daten mit einem Gerät austauscht 
(hauptsächlich in eine Richtung, also als Transmitter) würde ich gerne 
die gesendeten Daten "sniffen".

Ich habe hier noch ein FTDI Basic board von Sparkfun. Ist es legitim, 
den "parallel" zum empfangenden Gerät anzulöten - also lediglich 
Rx,Tx,GND, um dann über einen virtuellen com port die daten am pc 
auszulesen - vorausgesetzt ich sende vom pc aus nichts (und störe damit 
die Schnittstelle nicht)?

Grüße
Peter
Gast
und MÄP es geht eben doch nicht.
ausprobiert, läuft nicht, DANN erst nachgeschaut auf welchem pegel die 
lines sind - und die sind eben standardmäßig auf high, d.h. der ftdi 
zieht die tx line hoch.
Gast
Du kannst mit einem TX nichts sniffen, sollte doch wohl klar sein, damit 
kann man nur senden. Um beide Leitungen zu sniffen braucht man 2 
Empfänger also RX Leitungen.
Peter schrieb:
> und MÄP es geht eben doch nicht.
> ausprobiert, läuft nicht, DANN erst nachgeschaut auf welchem pegel die
> lines sind - und die sind eben standardmäßig auf high, d.h. der ftdi
> zieht die tx line hoch.

Na ja.
Du musst natürlich schon aufpassen, ob sich der µC mit dem Gerät über 
eine echte RS232 mit +-12V Pegeln unterhält, oder ob das eine sog. 
TTL-RS232 ist, die mit 0 und 5V Pegeln arbeitet (und das auch noch 
invertiert).
Gast
Karl H. schrieb:
> Du musst natürlich schon aufpassen, ob sich der µC mit dem Gerät über
> eine echte RS232 mit +-12V Pegeln unterhält, oder ob das eine sog.
> TTL-RS232 ist, die mit 0 und 5V Pegeln arbeitet (und das auch noch
> invertiert).

habe ich. letzteres ist der Fall - mit 0-3V.
Peter schrieb:
> Karl H. schrieb:
>> Du musst natürlich schon aufpassen, ob sich der µC mit dem Gerät über
>> eine echte RS232 mit +-12V Pegeln unterhält, oder ob das eine sog.
>> TTL-RS232 ist, die mit 0 und 5V Pegeln arbeitet (und das auch noch
>> invertiert).
>
> habe ich. letzteres ist der Fall - mit 0-3V.

Das könnte schon mal ein Grund sein. Bin jetzt aber zu faul um 
nachzusehen, ob 3V dem FTDI schon reichen um als High zu gelten.
Gast
Also doch das müsste es eigentlich schon, ich habe den ftdi nämlich 
vorher an der selben stelle anstelle des gerätes am µC gehabt - und das 
lief!

Die TX Line des µC ist (ohne paralleles FTDI Modul, d.h. direkt am 
Gerät) - wenn nichts gesendet wird - auf GND niveau.
Die RX Line des FTDI moduls auf 3.3V...
uwe schrieb:
> Um beide Leitungen zu sniffen braucht man 2
> Empfänger also RX Leitungen.

Naja du kannst beide TXe über Dioden verbinden, dann reicht dir am 
Sniffer ein RX.
Hab ich mal gemacht, ging ganz gut.

Natürlich kann die Sniffer-Software den Sender der Daten nicht 
identifizieren.
Bei einem Frage - Antwort - Protokoll (bei mir der Fall) ist das aber 
eher weniger problematisch.
Beide Geräte dürfen nur nicht gleichzeitig senden.
Gast
Hallo,

du kannst auch Tx und Rx mit jeweils einer Schottky Diode auf den Rx 
deines FTDI schalten. Dann kannst du beide Richtungen sehen. Allerdings 
lässt sich dann nicht auseinander halten, was wovon gesendet wurde.
Gast
Danke für die Tips, ich brauche aber eigentlich nur TX!
Die Schottky Idee merke ich mir trotzdem.

Eine Korrektur: Ich habe mich vermessen, falsche referenz (autsch): Die 
TX Line des µC liegt auf 3,0V.
Die RX des FTDI auf 3.3V.

Wenn ich das zusammenstecke, wird mein µC doch zur stromsenke...?
Peter schrieb:

> Die TX Line des µC ist (ohne paralleles FTDI Modul, d.h. direkt am
> Gerät) - wenn nichts gesendet wird - auf GND niveau.
> Die RX Line des FTDI moduls auf 3.3V...

Die Rx Line des FTDI Moduls ist dahingehend uninteressant.
Denn da handelt es sich um einen Eingang. Wenn FTDI entschieden hat, 
dass sie da einen Pullup verbauen wollen, der bei offenem Eingang die 
Leitung auf High zieht, dann haben sie das so entschieden. Das können 
sie machen, solange der Pullup nicht zu klein ist.
Auf die Art kann man zb erkennen, ob eine Leitung 'gebrochen' ist. Wenn 
du mit dem Voltmeter am Rx misst und dort die Dauer-3.3V siehst, dann 
weisst du, dass der Eingang offen sein muss. Denn wenn jemand an dieser 
Leitung angeschlossen wäre, dann würdest du dort 0V messen können. 
Naheliegende Folgerung: kalte Lötstelle oder Kabelbruch oder die 
Gegenstelle ist gar nicht eingeschaltet oder ....
Karl H. schrieb:
> Peter schrieb:
>
>> Die TX Line des µC ist (ohne paralleles FTDI Modul, d.h. direkt am
>> Gerät) - wenn nichts gesendet wird - auf GND niveau.
>> Die RX Line des FTDI moduls auf 3.3V...
>
> Die Rx Line des FTDI Moduls ist dahingehend uninteressant.
> Denn da handelt es sich um einen Eingang. Wenn FTDI entschieden hat,
> dass sie da einen Pullup verbauen wollen, der bei offenem Eingang die
> Leitung auf High zieht, dann haben sie das so entschieden. Das können
> sie machen, solange der Pullup nicht zu klein ist.
> Auf die Art kann man zb erkennen, ob eine Leitung 'gebrochen' ist. Wenn
> du mit dem Voltmeter am Rx misst und dort die Dauer-3.3V siehst, dann
> weisst du, dass der Eingang offen sein muss. Denn wenn jemand an dieser
> Leitung angeschlossen wäre, dann würdest du dort 0V messen können.
> Naheliegende Folgerung: kalte Lötstelle oder Kabelbruch oder die
> Gegenstelle ist gar nicht eingeschaltet oder ....

Was natürlich ach sein könnte:

Das auf deinem Modul die Stifte für Rx und Tx falsch rum bezeichnet 
sind. Manche Hersteller machen das in vorauseilendem Mitdenken, weil sie 
davon ausgehen, dass Benutzer nicht kapiert haben, dass beim Telefon 
immer eine Kreizverbindung von Mikrofon (Sender, Tx) mit dem 
Lautsprecher (Empfänger, Rx) hergestellt werden muss. In Zeiten, in 
denen Benutzer mit dem Einstecken eines Normsteckers in eine Normdose 
überfordert sind, gibt es auch solche Ideen, die den Benutzer vom 
Mitdenken befreien sollen.
Gast
Danke für die Hinweise, es funktioniert jetzt - das Problem war 
(lediglich) die falsche (nicht gemeinsame) referenz, gegen die ich auch 
gemessen hatte.

Wieder viel gelernt! :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.