Hallo,
ich habe ein Problem und hoffe, dass ihr mir weiterhelfen könnt.
Undzwar möchte ich gerne RS232-Schnittstellen überprüfen ohne aufwändige
HW anzuschließen. Mein bisheriger Lösungsansatz wäre, einen Loopback
Stecker anzuschließen und dann mit Hilfe von Labview die einzelnen
Signalleitungen zu überprüfen. Soweit auch kein Problem.
Was ich damit jedoch nicht nachgewiesn habe, ist dass auch die GND
Leitung i.O. ist richtig? Wäre jetzt z.B. in dieser Leitung ein
Kabelbruch auf dem Weg des COM-Ports com Rechner zur Schnittstelle,
würde ich das nicht merken, da die Datenübertragung über den Loopback
auch so funktioniert.
Welche Möglichkeiten hätte ich die GND Leitung ebenfalls zu überprüfen?
Eine Variante an die ich gedacht habe, wäre z.B. Widerstände in dem
Loopback Plug als Spannungsteiler einzulöten und diese so zu
dimensionieren, dass ich bei möglichem Kabelbruch der GND-Leitung einen
High-Pegel an einem der übrigen Signale (z.B. DTS) erhalte und, wenn GND
ok ist entsprechend einen Low-Pegel. Ich hoffe ihr versteht, wie ich das
meine.
Ich würde mich freuen, wenn euch dazu etwas einfällt oder ihr bereits
ähnliche Probleme gelöst habt.
MfG
René
Bau in deinen Loopback Stecker ein paar LED ein, die du nach GND
verschaltest. Entweder die LED flackern, dann ist Masse da, oder sie
flackern nicht.
(So hat man übrigens früher ganz unaufwändig RS232 getestet:
Zwischenstecker mit LED. Die LED haben durch ihr Flackern angezeigt, ob
auf der Leitung Datenverkehr ist. Bei falscher Auskreuzung zeigten das
die LED zuverlässig an)
Hallo Karl Heinz,
erstmal vielen Dank für die schnelle Antwort.
Ja an diese Möglichkeit habe ich auch schon gedacht, aber dann wäre der
Test ja über die optische Kontrolle. Ich habe vergessen zu erwähnen,
dass ich diesen Test automatisieren möchte. Also, dass die Auswertung
allein über Labview geschieht.
Hi Philip,
also so ganz ist mir das noch nicht verständlich. Davon mal abgesehen,
dass man dann noch eine zusätzliche Platine benötigt oder? Kenne nur
IC-Optokoppler..oder wie genau meinst du das?
Gibt es da nicht eine andere Lösung mit weniger Aufwand?
Danke für eure Hilfe!
Dann löte eben den Optokoppler mit ein paar Drahtstückchen direkt an.
Außerdem: was ist so falsch an einer kleinen
Streifenraster-/Lochraster-Platine? mfg mf
PS:
René schrieb:> Gibt es da nicht eine andere Lösung mit weniger Aufwand?
Wieso LabView? Loopback-Test geht mit jedem Terminalprogramm.
Nötigenfalls sogar mit einem kleinen Shell-Skript.
Hallo René,
ich habe keine fertige Lösung für dich... Nur die Idee mit dem
Optokoppler... Ohne GND wird die LED im Oprokoppler nicht leuchten.
Wie du den Optokoppler verschalten musst, solltest du relativ schnell
herausfinden können. Vom Aufwand her würde ich rund 50ct und 10 minuten
arbeit ansetzen...
@minifloat
die Umsetzung über Labview, da der RS232-Test nur einer von mehreren
ist, und die Testumgebung komplett mit Labview umgesetzt wurde
@Philip
ich muss leider gestehen, dass ich bisher noch nicht mit optokopplern
gearbeitet habe, deshalb die bitte an dich, könntest du mir helfen, wie
ich den mit den pins der rs232-schnittstelle verbinden muss?
Der Optokoppler hat ja 2 Ein- und 2 Ausgänge. So wie ich das verstanden
habe, würde ich dann z.B. von Tx an Optokoppler (durch Diode) und weiter
zu GND. Ist jetzt alles ok, leuchtet die Diode und der Transistor
schließt den 2ten Kreis, mit dem ich dann die Labview-Auswertung machen
könnte, richtig?
Ich frag mich jetzt, über welche RS232-Pins ich den Transistorkreis
verbinden soll? Die anderen Pins müssen ja im Loopback-Test auch
berücksichtigt werden, so wie auch Tx (TX an RX dann parallel zu der TX
an GND Verbindung?)
Ich hoffe ich habe mich verständlich genug ausgedrückt:)
Vielen Dank für Deine Hilfe
Schalte doch im Prüfstecker von einem Steuersignal-Ausgang einen
Widerstand nach RI und lege RI an GND. Dann schalte den Ausgang auf
+12V, wenn GND unterbrochen ist wird RI aktiv, ansonsten nicht.
Frank
Hallo,
also mir erschließt sich die Lösung mit nur einem Widerstand nicht.
z.B.:
DTR---Widerstand---RI---GND
Warum sollte RI nicht aktiv sein, wenn GND nicht verbunden ist?
MfG
@René
>Warum sollte RI nicht aktiv sein, wenn GND nicht verbunden ist?
Das habe ich auch nicht geschrieben, sondern
Dann schalte den Ausgang auf +12V, wenn GND unterbrochen ist wird RI
aktiv, ansonsten nicht.
Wenn die Masseverbindung fehlt, folgt RI dem DTR Signal.
Der Widerstandswert ist nicht so kritsch (einige KOhm), er dient nur als
Schutz für den Ausgang.
Andererseits kann man mit einem Loopbackstecker nicht wirklich
Kabelfehler aufspüren, denn man geht immer von einer korrekten
Verkabelung aus. Eine Verbindung RX-TX im Prüfstecker funktionert nur
dann, wenn das Kabel richtig angeschlossen wurde. Selbst dann kann man
im Fehlerfalle (z.B. RX ist mit GND kurzgeschlossen) nicht sagen ob TX
unterbrochen ist, ob RX unterbrochen ist oder ob RX nach Masse
kurzgeschlossen ist.
Frank
Also irgendwie stehe ich gerade mächtig auf dem Schlauch..
Welchen Einfluss hat denn die GND-Verbindung auf die Spannung die an RI
anliegt?
Wenn sich der Widerstand zwischen DTR und RI befindet, fällt doch immer
die gleiche Spannung über ihn ab?
Ich merke schon, dass ich da einen Denkfehler habe..
MfG
Dann wirst Du nicht drumherumkommen, Dein Vorhaben GENAUER zu
beschreiben.
z.B. brauchst du für deine Kommunikation nur RXD, TXD und GND, oder
möchtest du auch noch die anderen Schnittstellen-Leitungen testen.
Möchtest Du nur eine Gut-Schlecht-Anzeige, oder willst du auch wissen,
welche Leitung welchen Defekt hat( also Short, OPEN, vertauscht mit....
bla bla...)
Wie die Vorschreiber schon bemerkten, könntest du einen Optokoppler
verwenden. Oder du nimmst so etwas:
http://www.analog.com/en/interface/digital-isolators/products/index.html#Standard_Isolators
Die Betriebsspannung für den ADUM kannst du mit hilfe einer Diode, einem
Widerstand und eine Z-Diode von der TXD-Leitung abzweigen. Den Koppler
selbst schaltest du zwischen TXD und RXD. Wenn also die Masse hin ist,
funktioniert der Loop-Back-Test dann nicht mehr....
Hallo Frank,
ich möchte sowohl den Datentransfer (TXD an RXD), als auch die
HW-Handshakes prüfen (DTR an DSR und RTS an CTS). DCD und RI wollte ich
mit DTR koppeln, sodass ich sehe, dass DSR, DCD und RI ok sind, sobald
ich DTR setze und, dass CTS ok ist, sobald ich RTS setze.
Dann sende ich über Labview einen String und prüfe somit TXD/RXD.
Und jetzt fehlt mir halt noch die GND-Leitung zu überprüfen. Wie gesagt,
meine erste Idee war, einen Spannungsteiler:
DTR---Widerstand1---RI---Widerstand2---GND
Und diese so dimensionieren, dass, wenn GND defekt ist, die Spannung an
RI anliegt (RI High gesetzt wird) und wenn GND ok ist, RI low wird.
Natürlich müsste ich in der SW die Logik zur Auswertung invertieren.
Ich hoffe, es jetzt deutlicher formuliert zu haben.
Danke für Deine Hilfe.
René schrieb:> DTR---Widerstand1---RI---Widerstand2---GND
RS232 ist definiert mit -3 bis -15V und +3V bis +15V. Mit deiner
Groundschaltung erreichst du nur einen undefinierten Zustand.
Ich würde einen Max nehmen und die Verbindungen auf der TTL-Seite
herstellen. Das funktioniert ohne GND nicht!
mfg.
Ich hoffe du meinst einen Mux, ansonsten ist mir das nicht klar.
Ich wollte allerding versuchen, ohne zusätzliche Platine auszukommen und
alles in einen Stecker integrieren, es sei denn es ist nicht anders
umsetzbar.
Wie meinst du das: "Das funktioniert ohne GND nicht"?
Die gesamte Loopback-Funktionalität?
Wie müsste meine Schaltung aussehen, um nich in den undefinierten
Zustand zu gelangen. (Die Zustände können ggf. durch die SW "bereinigt"
werden, indem ich den undefinierten Zustand als low interpretier)
Danke
Ok, aber das wäre ja auch eine Lösung mit zusätzlicher Platine. Wenn man
den IC direkt verbinden könnte, wäre die Lösung evtl auch noch denkbar.
Wie wäre dann die entsprechende Pinbelegung beispielhaft?
Sorry, das muss echt nerven, aber ich komme leider nicht aus der
HW-Richtung.
Das ist korrekt.
Allerdings wird eine komplette Prüfung nur mit Drähten in einem Stecker
nicht in dem Maße realisierbar sein. (Zumindest nicht nach meinem
Kenntnisstand, belehrt mich eines besseren.)
OK, ich denk ich versuche es mit der folgender Lösung..
"Optokoppler LED seitig an TX und GND, das andere ende an RX"
Kann mir jemand sagen, wie ich den Optokoppler verschalten muss?
Also welche Pins miteinander verbinden? Den Loopback-Stecker ganz
"normal" mit den "Gegenspielern"..und dann die LED in Richtung TX->GND
und auf Transistorseite von TX->RX..mehr müsste nicht angelötet werden?
Danke für eure Hilfe