Forum: Mikrocontroller und Digitale Elektronik Frage zu RS232 Verkabelung


von Werz (Gast)


Lesenswert?

Hallo!

ich verwende für eine RS232 Kommunikation 4 Einzellitzen als Leitung 
(also kein Kabel mit 4 Leitungen, sondern einfach 4 Ennzellitzen AWG26) 
- d.h. ohne Schirmung, ohne Verdrillung, etc...

Litze 1: GND
Litze 2: Serial RX
Litze 3: Serial TX
Litze 4: Vcc +5V

Die Litzen sind genau 1m lang, das ganze funktioniert auch ganz gut. Ist 
in einem Gerät verbaut.

Manchmal, in ganz seltenen Fällen kommt ein Communication Timeout der 
seriellen Schnittstelle. Das ist sehr selten udn ich weiß cniht, woran 
das liegen kann.

Ist es grundsätzlich eine schlechte Idee, hier nur Einzellitzen zu 
verwenden? Wäre ein geschirmtes Kabel bzw verdrillte Litzen hier besser? 
Möglicherweise werden hier irgendwo Störungen eingefangen, 1m ist ja 
auch nicht mehr so wenig...?

Danke!

von MaNi (Gast)


Lesenswert?

Werz schrieb:
> ich verwende für eine RS232

Sicher dass es R232 ist und nicht TTL?
Also sind RS232 Leitungstreiber verbaut?
Was für eine Datenrate?

Werz schrieb:
> Manchmal, in ganz seltenen Fällen kommt ein Communication Timeout der
> seriellen Schnittstelle. Das ist sehr selten udn ich weiß cniht, woran
> das liegen kann.

Na dann hänge doch Mal ein Oszi dran mit passendem Trigger. Vllt kackt 
auch einfach einer deiner Teilnehmer zwischendurch ab.
Im einfachsten Fall also Mal ein Pin Toggle in die Main der Programme, 
Trigger Kommunikationsausfall und Mal alle 3/5 Spuren aufzeichnen.

Werz schrieb:
> Wäre ein geschirmtes Kabel

Das wäre ein erster Schritt.

Werz schrieb:
> bzw verdrillte Litzen hier besser?

Mit was willst du denn verdrillen? Ist ja keine differentielle 
Übertragung. Flachbandkabel macht man ab und zu noch. Wobei jede 2. Ader 
belegt wird. Die anderen auf GND.

Werz schrieb:
> 1m ist ja auch nicht mehr so wenig...?

Kommt auf die Übertragungsrate an. Im Industrieumfeld wird auch mit 
1MBaud auf >100m übertragen. Geht schon. Da ist es aber immer 
differentiell.

von Harry L. (mysth)


Lesenswert?

Werz schrieb:
> einfach 4 Ennzellitzen AWG26)
> - d.h. ohne Schirmung, ohne Verdrillung, etc...

Nicht schön, aber auch nicht kriegsentscheidend.
RS232 ist sehr, sehr robust.

Klingt eher nach fehlerhafter Software.

Wirklich RS232 oder doch nur TTL-Pegel? (wobei auch das bei 1m noch 
funktionieren solte)

: Bearbeitet durch User
von Werz (Gast)


Lesenswert?

Hallo,

danke schon mal für eure Antworten!

Ja, es ist wirklich RS232 - Baudrate ist 9600bps.

Hm ja wie gesagt, dieser Fehler kommt wirklich sehr selten...

von Stefan F. (Gast)


Lesenswert?

Haben beide Geräte das gleiche GND Potential?

Trenne mal die Verbindungen und messe mit einem Multimeter im die 
Wechselspannung zwischen GND vom linken Gerät und GND vom rechten Gerät.

Es muss weniger als 0,5V sein.

von Joachim B. (jar)


Lesenswert?

Werz schrieb:
> Litze 1: GND
> Litze 2: Serial RX
> Litze 3: Serial TX
> Litze 4: Vcc +5V
> Baudrate ist 9600bps.
> Die Litzen sind genau 1m lang, das ganze funktioniert auch ganz gut. Ist
> in einem Gerät verbaut.
> Manchmal, in ganz seltenen Fällen kommt ein Communication Timeout der
> seriellen Schnittstelle.

erinnert mich an vor 30 Jahren als ich dem AtariST die Tastatur nach 
aussen legte.

Mit 5V gabs Probleme also habe mit einem einfachen Transistor, genauer 
zwei für Rx & Tx auf 12V gelegt.
Heute würde ich Pegelwandler einsetzen, höherere Spannung mehr 
Störabstand.

von Stefan F. (Gast)


Lesenswert?

Joachim B. schrieb:
> Heute würde ich Pegelwandler einsetzen, höherere Spannung mehr
> Störabstand.

Ah, die IBM Sackgasse. Heute (bzw. schon seit 30 Jahren glaube ich) 
übertragen wir locker flockig 1 Megabit über 1 Kilometer. Mit RS422 und 
viel weniger als 5V.

von Wolfgang (Gast)


Lesenswert?

Werz schrieb:
> Ja, es ist wirklich RS232 - Baudrate ist 9600bps.

Und mit welchen Spannungspegeln werden die Daten übertragen?

von Joachim B. (jar)


Lesenswert?

Wolfgang schrieb:
> Und mit welchen Spannungspegeln werden die Daten übertragen?

Werz schrieb:
> Litze 4: Vcc +5V


ich rate mal:
5V?

von Andi (Gast)


Lesenswert?

Joachim B. schrieb:
>> Litze 4: Vcc +5V
>
> ich rate mal:
> 5V?

Wobei ich mich frage: wozu +5V?

Was betreibt er am anderen Ende damit?

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


Lesenswert?

Werz schrieb:
> einfach 4 Ennzellitzen AWG26
Die hast du aber schon halbwegs eng aneinander gelegt?

Werz schrieb:
> RS232 - Baudrate ist 9600bps.
Mit 9600 und RS232 kann man im industriellen Umfeld locker 20m 
zurücklegen

MaNi schrieb:
> Mit was willst du denn verdrillen?
Wenn TX mit GND verdrillt ist und RX auch mit GND verdrillt ist, dann 
kann auf diesen beiden Signalpfaden schon mal keine riesige 
Leiterschleife aufgezogen werden und dort auch keine Störungen 
engekoppelt werden.

Und wenn man nichts besseres hat, verdrillt man einfach RX mit GND und 
TX mit Vcc, denn weschselstromtechnisch sollte GND sowieso das selbe 
Potential haben wie Vcc.

> Ist ja keine differentielle Übertragung.
Naja, im Grunde ist jede Datenübertragung irgendwie "differenziell", 
denn wenn da keine Pegeldifferenzen aufträten, dann könnte man keine 
Information übertragen.

von A. S. (Gast)


Lesenswert?

1 m und 9600 Baud sind so wenig, dass der Fehler höchstwahrscheinlich 
woanders liegt. Da müssten schon mehrere A irgendwo nahe am Signalkabel 
fließen und induktiv einkoppeln, alternativ mehrere 100V kapazitiv.

Wenn Du wissen willst, wo der Fehler liegt, schalte Parity ein und zähle 
die uartfehler (einfache counter ++ für Parity, framing, overrun)

Wenn Du nur die Fehler reduzieren willst, schaue ob Du beim Senden 1,5 
oder 2 stoppbits einstellen kannst. Und dass beide wirklich quartzgenau 
gleich sind.

von Bentschie (Gast)


Lesenswert?

Lothar M. schrieb:
>> Ist ja keine differentielle Übertragung.
> Naja, im Grunde ist jede Datenübertragung irgendwie "differenziell",
> denn wenn da keine Pegeldifferenzen aufträten, dann könnte man keine
> Information übertragen.

Ähh, NEIN.
Differentielle Übertragung bedeutet, das das Nutzsignal als Differenz 
der zwei Datenleitungen enststeht. Und das die Summe der Nutzsignale, 
also der Strom/Spannung gegenüber dem Bezugspotential (typisch GND) eben 
Null ist.
Damit kann dann das Signalpaar nahezu beliebig im Pegel schwanken 
(Gleichtakt) ohne das es eine Auswirkung auf den Informationsgehalt hat.

von Stefan F. (Gast)


Lesenswert?

Bentschie schrieb:
> Und das die Summe der Nutzsignale,
> also der Strom/Spannung gegenüber dem Bezugspotential (typisch GND) eben
> Null ist.

Nennt man das nicht "symmetrisch"?

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


Lesenswert?

Werz schrieb:
> Manchmal, in ganz seltenen Fällen kommt ein Communication Timeout der
> seriellen Schnittstelle.
Ist doch halb so wild. Dann musst du die Kommunikation doch einfach 
wieder aufsetzen. Du brauchst sowieso so einen 
Fehlerbehandlungsalgorithmus, weil es naiv wäre, dasvon auszugehen, dass 
die Übertragung immer und auch noch durchgehend fehlerfrei klappt.

> Das ist sehr selten udn ich weiß cniht, woran das liegen kann.
Probiers mit dem ESD-Test des kleinen Mannes: kauf dir einen 
elektrischen Viehtreiber für 20€ und funke mit dem mal in der Nähe des 
Geräts herum. Wenn das Gerät ein Metallgehäuse hat, dann kannst du ruhig 
mal eine Zeitlang auf dem Gehäuse rumbrutzeln (nein, NICHT auf die 
Anschlüsse, das bringt die sicher um).
Wenn das Gerät eine Kunstoffkiste ist, dann lege es auf eine 
Metallplatte und lass die Funken dort überspringen. Am besten diagonal 
von einer Ecke zur anderen.
Wenn dein Gerät da bei jedem Funken austickt, dann musst du noch was 
verbessern...

Bentschie schrieb:
> Ähh, NEIN.
Du solltest nochmal ausführlich darüber nachdenken, was ich geschrieben 
habe.

> Differentielle Übertragung bedeutet, das das Nutzsignal als Differenz
> der zwei Datenleitungen enststeht.
Die "Differenz" entsteht bei der unipolaren Übertragung dadurch, dass 
das Potential der TX-Leitung (oder auch RX-Leitung) sich vom Potential 
der GND-Leitung unterscheidet.
Der Strom, der auf der TX-Leitung zum Empfänger hinfließt, muss auf 
der Masseleitung wieder zum Sender zurückfließen. Und dieser 
Stromkreis aus hin- und rückführender Leitung muss möglichst klein 
sein. Bei symmetrischer Übertragung genauso wie bei asymmetrischer 
Übertragung.
Denn sobald du da durch eine getrennte Leitungsführung ine Fläche 
aufspannst, können dort Störungen einkoppeln.

> Damit kann dann das Signalpaar nahezu beliebig im Pegel schwanken
> (Gleichtakt) ohne das es eine Auswirkung auf den Informationsgehalt hat.
Und genau das passiert auch bei der asymmetrischen Übertragung: die 
TX-Leitung, die mit GND verdrillt ist, kann dann zusammen mit der 
GND-Leitung "schwanken", ohne dass sich diese Schwankung auf die 
Pegeldifferenz auswirkt.

: Bearbeitet durch Moderator
von Bentschie (Gast)


Lesenswert?

Lothar M. schrieb:
> Die "Differenz" entsteht bei der unipolaren Übertragung dadurch, dass
> das Potential der TX-Leitung sich vom Potential der GND-Leitung
> unterscheidet.

Ja, gut ich hätte das doch ausführlicher formulieren sollen.
Das letztlich eine Potentialdiffernez entsteht ist immer so. Das ist 
trivial, da ja die Spannung die Information darstellt.

> Der Strom, der auf der TX Leitung zum Empfänger hinfließt, muss auf
> der Masseleitung wieder zum Sender zurückfließen. Und dieser
> Stromkreis aus hin- und rückführender Leitung muss möglichst klein
> sein. Bei symmetrischer Übertragung genauso wie bei asymmetrischer
> Übertragung.

Ja, das ist auch klar. Die Fläche der Schleife ist entscheidend.
Deshalb  verwenden ja differentielle Busse verdrillte Leitungen. Wenn 
die Störung halbwegs großflächig einkoppelt (Großflächig bezogen auf die 
Fläche einer Verdrillung), so koppelt sich das gegenseitig raus (eine 
halbe Verdrillung positiv und eine halbe Verdrillung negativ).

> Denn sobald du da durch eine getrennte Leitungsführung ine Fläche
> aufspannst, können dort Störungen einkoppeln.

Ich sehe gerade, du kamst aus einer anderen Richtung als ich. Du hattest 
vorgeschlagen, alle Adern (Signale und Versorgung) einfach zu 
verdrillen. Das wird in dem Fall sicherlich ausreichend helfen. Ich kam 
aus der anderen Richtung:

Stefan ⛄ F. schrieb:
> Ah, die IBM Sackgasse. Heute (bzw. schon seit 30 Jahren glaube ich)
> übertragen wir locker flockig 1 Megabit über 1 Kilometer. Mit RS422 und
> viel weniger als 5V.

Dort wurde behauptet, höhere Pegel wäre Mist und nur differentiell ist 
die Lösung.
Und kurz danch kamst Du und hast, zumindest in meinem ersten 
Leseverständniss, gesagt, "Verdrillen ist ja auch wie differentiell"

ja, das wird gerade etwas off-topic.
Für die reine Signalübertragung ist das vermutlich (ich habe das jetzt 
ins Detail nicht näher durchdacht) gleich.
Aber sobald die GND Verbindung auch für die Versorgung genutzt wird oder 
keine Stichleitung mehr ist, hat die einen Spannungsabfall. Dann ist 
differentiell etwas ganz anderes als single ended.

Also um es kurz zu machen, in dem konkreten Fall (RS232 mit 3 Leitung 
TX, RX und GND) ist Verdrillen nacher auch wie differentiell. Sobald 
diese GND-Verbindung irgendwo noch anders Genutz wird stimmt es so nicht 
mehr.

Danke!

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


Lesenswert?

Bentschie schrieb:
> Sobald diese GND-Verbindung irgendwo noch anders Genutz wird
> stimmt es so nicht mehr.
Bezogen auf das Signal und die von aussen eingekoppelten Störungen 
bleibt alles wie zuvor. Denn der Extremfall wäre ja wieder, dass die GND 
Leitung linksherum und die Signalleitung rechtsherum geführt wird. Und 
das ist mit Sicherheit die schlechteste Variante.
Allerdings kann durch einen zusätzlichen Stromfluss auf der 
GND-Leitung eine zusätzliche Spannungsdifferenz auftreten, die sich 
natürlich wiederum auf die Signaldifferenz überlagert und das Signal 
stört, wenn sie zu groß wird.
Und genau dieses Problem hat man bei der symmetrischen Übertragung 
nicht.

von m.n. (Gast)


Lesenswert?

Werz schrieb:
> in ganz seltenen Fällen kommt ein Communication Timeout der
> seriellen Schnittstelle.

Der Timeout ist keine Eigenschaft der ser. Übertragung, sondern der 
verwendeten Software.
Ich würde die Übertragung mit einem Terminal-Programm aufzeichen, um zu 
sehen, wann und wo sie hängen bleibt.

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.