Frage:
RS-232 Pufferschaltung
itisravi
2010-08-25 17:19:26 UTC
view on stackexchange narkive permalink

Ich wollte die Kommunikation zwischen zwei RS232-Geräten riechen. Dieser Link stellt eine einfache Lösung dar, aber ich möchte sicherstellen, dass mein 'Sniffer' den Kommunikationslink nicht lädt.

Zu diesem Zweck habe ich mich gefragt, ob ich einen verwenden könnte MAX-232 als "Schleifen" -Puffer:

RS232 in -->TTL out - >TTL in - >Rs232 out

Der MAX-232 wird von einem externen 5V gespeist. Ist dies eine narrensichere Art zu schnüffeln, ohne die Leine zu laden? Dient der MAX232 in dieser Konfiguration überhaupt als Puffer? Wenn nicht. Gibt es kostengünstige RS232-Puffer-ICs? Alle 74xx-Puffer-ICs scheinen nur auf TTL-Ebene zu funktionieren.

Meine Kommunikationsverbindung besteht nur aus Halbduplex.

UPDATE: Ich glaube, meine Beschreibung war nicht klar. Bitte sehen Sie sich das Bild an: alt text

Meine beiden Geräte befinden sich bereits auf RS232-Ebene. Ich wollte die Daten einfach über einen COM-Anschluss des PCs lesen, dachte aber, dass ein MAX-232 dazwischen (der Schleifenpuffer, über den ich gesprochen habe) als Puffer dienen könnte. Andererseits könnte sogar der COM-Anschluss des PCs per se einen MAX-232 enthalten ...

P.S: Ich habe die Kondensatoren usw. für den max232 in der obigen Abbildung nicht angegeben.

Fünf antworten:
Brad Hein
2010-08-25 17:36:43 UTC
view on stackexchange narkive permalink

Wenn ich das richtig verstehe, ist hier Ihre Schaltung:

RS232-Eingang -> TTL-Ausgang -> [Sniffer-Schaltung] TTL-Eingang -> Rs232-Ausgang

mit anderen Worten:

[Gerät1] < -> MAX232 < -> [Schnüffler] < -> MAX232 < -> [Gerät2]

Das sieht für mich gut aus. Die Tatsache, dass jede Seite der Schaltung direkt mit einem MAX232 spricht, sollte Ihnen viel "Isolation" geben. Möglicherweise müssen Sie die Leitungen kreuzen (oder nur eine Nullmodemverbindung auf einer Seite verwenden), wenn Sie CPE-CPE oder Computer zu Computer sprechen.

Ansonsten sehe ich keine Probleme.

Tatsächlich befinden sich die "RS232 in -> TTL out -> TTL in -> Rs232 out" alle auf demselben MAX-232-Chip wie in der Abbildung gezeigt.
JustJeff
2010-08-26 02:06:48 UTC
view on stackexchange narkive permalink

fwiw Ich hatte Erfolg mit der minimalistischen Zwei-Dioden-Schaltung, mit der Sie verbunden sind. Der einzige Unterschied besteht darin, dass ich den TX-Pin des "Sniffer" -Geräts als praktische Quelle für -12 V verwendet habe, um durch einen 47K-Pulldown sicherzustellen, dass der RX des eigenen Sniffers nicht schwebte, wenn keines der aufgeschnüffelten Geräte wurde gesendet.

Wenn Sie nicht mehrere zehn Meter Draht ansteuern oder mit schnelleren Raten wie 115,2 kbit / s arbeiten, sollte der Dioden-&-Widerstand die Schaltung nicht zu stark beeinflussen.

Wenn Sie die Signale wirklich in TTL und zurück puffern möchten, gibt es natürlich die MAX-Chips und sogar einfache alte Chips vom Typ Leitungstreiber / Leitungsempfänger wie den 1488-Quad-Treiber und den 1489-Quad-Empfänger, die diese Aufgabe übernehmen würden .

AngryEE
2010-08-25 19:49:51 UTC
view on stackexchange narkive permalink

Hmm, interessante Schaltung. Möglicherweise möchten Sie einen tatsächlichen MAX232 als Puffer zwischen den gelesenen Zeilen und Ihrem Zweidioden-Setup verwenden. Es hat einen Eingangswiderstand von 5 kOhm, was bedeutet, dass unter der Annahme, dass die Empfänger den gleichen haben, ein Widerstand von 2,5 kOhm auf dem Bus angezeigt wird. Vielleicht ist ein Spannungsfolger mit einem höheren Eingangswiderstand in Ordnung - es ist möglich, serielle Schnittstellen zu durchbrechen, indem man dumme Dinge versucht (ich habe es getan). Versuchen Sie, etwas zu testen, das Sie zuerst zerstören möchten.

Ich habe die in meiner Abbildung gezeigte Konfiguration (mit eingeschleiftem max232) und ohne (direkt an die COM-Ports meines PCs) ausprobiert. Beide funktionieren gut. Wird dazwischen wirklich ein MAX-232 benötigt? Bietet es überhaupt eine Pufferaktion?
Ich glaube nicht, dass Sie den MAX-232 brauchen - der Eingang zu Ihrem PC-COM-Port ist wahrscheinlich dem auf dem MAX-232-Chip ziemlich ähnlich, daher wäre die Last dieselbe.
vicatcu
2010-08-25 22:03:05 UTC
view on stackexchange narkive permalink

Angenommen, Ihre beiden Geräte sprechen TTL miteinander, könnte eine gute Möglichkeit zum "Isolieren" etwa die folgende ASCII-Schaltung sein:

  Tx --------- ----- x ------------------------------- Rx | Device1 Rx -------------------- x ------------------------- Tx Device2 | | Gnd ------------------------- x ------------------ Gnd | | | | | | Rx1 Rx2 Gnd Sniffer (sagen wir ein XMEGA mit 3+ UARTS) Tx1 | x ----- TX_IN- [MAX232] -TX_OUT ----- Rx-Computerterminal  

Mit einer kreativen Firmware könnte so etwas wie dieses Setup die Vollduplex-Kommunikation zwischen zwei Geräten und überwachen Melden Sie das Gespräch dem Benutzer auf eine "nette" Art und Weise. Tut mir leid, wenn dies nicht ganz das ist, was Sie gefragt haben, aber ich musste die Gelegenheit zur ASCII-Kunst nutzen :).

Die Geräte sind bereits auf rs232. Ich möchte keine MCU dazwischen legen. wollte es nur einfach halten :)
ttt
2010-09-07 13:16:45 UTC
view on stackexchange narkive permalink

Sie können die gesamte "Elektronik" vollständig vermeiden, wenn Sie zwei serielle Schnittstellen zum Schnüffeln verwenden können. Jeder der Sniffer-Ports liest die TX-Leitung eines Endes der Verbindung. Dies gibt Ihnen auch zusätzliche Statuseingabepins zum Lesen aller Statusausgänge auf überwachten Kommunikationen.

  Tx -------------- x ------- ------------------------ Rx | Rx -------------- | ----- x ------------------------- Tx | | | | | | | x ------------ PC COM 1 Rx | x ------------------- PC COM 2 Rx  
Wir verwenden diese Art des RS323-Schnüffelns seit über 15 Jahren ohne Probleme
@Tim, gut, wenn Sie sich meine Figur ansehen, genau das mache ich, aber mit einem max232 dazwischen (was nicht notwendig ist, wie ich herausgefunden habe und wie andere darauf hingewiesen haben).


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...