Forum: Mikrocontroller und Digitale Elektronik RS485: 4-Draht zu 2-Draht


von Sandra (Gast)


Lesenswert?

Hallo zusammen!

Ich muss ein Projekt entwerfen, welches bei einer RS485-Schnittstelle 
erkennt, ob Daten im Halb- oder Vollduplex-Modus geschickt werden. 
Sobald der entsprechende Modus erkannt wird, muss die RS485-Leitung von 
4-Draht zu 2-Draht oder umgekehrt "umgeswitched" werden.
Hardwaremässig wäre das ganze kein Problem, weiss aber nicht wie ich den 
Modus softwaremässig erkennen soll. Hat jemand schon mal so was gemacht 
oder weiss wie das funktioniert?

Danke & Gruss
Sandra

von Ulrich (Gast)


Lesenswert?

Häh irgendwas stimmt nicht

Bei RS485 gibt es kein full-duplex!

Meisnt du vielleicht RS422 ????

von Helmut L. (helmi1)


Lesenswert?

RS485 ist immer Halfduplex. RS422 ist full duplex. Das sind 2 
verschiedene Schnittstellen.

Gruss Helmi

von Chris S. (schris)


Lesenswert?

Ganz einfach, rs485 im Full-Duplex ist rs422, also benutzt du 
warscheinlich
zwei rs485 receiver, einer dauernd auf Empfang, sowie die Enable für RX
am Controller angeschlossen. Mittels Enable aktivierst du dann die 
verschiedenen Empfänger, jedoch nur einen zur gleichen Zeit. Der RX-Pin
wird bei allen zusammengeführt, ev. mit Wiederstand.

von Sandra (Gast)


Lesenswert?

Nein, RS485 kann sowohl im Halbduplex (2-Draht) und Vollduplex (4-Draht) 
betrieben werden.
Bsp. von Wikipedia:
"Die EIA-485 Schnittstelle benutzt in der Regel nur ein Adernpaar und 
wird halbduplex betrieben, mit zwei Adernpaaren ist aber auch 
Vollduplexbetrieb möglich."

Nun sendet ein Gerät unserer Firma manchmal im Halb-, manchmal im 
Vollduplex-Betrieb. Mit Hilfe eines Microcontrollers will ich nun 
irgendwie feststellen können, in welchem Betrieb sich das Gerät gerade 
befindet. Weiss aber nicht wie..
Kann ich davon ausgehen, dass bei RS485-Übertragung die Datagrammlänge 
immer gleich gross ist? Und senden im Halbduplex-Betrieb immer Master 
und Slave abwechseld ein Datagramm oder kann dies variieren?
Das Übertragungsprotokoll ist leider nicht bekannt.

Gruss
Sandra

von Helmut L. (helmi1)


Lesenswert?

>Kann ich davon ausgehen, dass bei RS485-Übertragung die Datagrammlänge
>immer gleich gross ist?

Nein kannst du nicht. Es gibt bei RS485 kein genormtes Protokoll hier 
kocht jeder sein eignes Sueppchen.

>Und senden im Halbduplex-Betrieb immer Master
>und Slave abwechseld ein Datagramm oder kann dies variieren?

Das ist nicht gesagt das die sich immer abwechseln.

>Das Übertragungsprotokoll ist leider nicht bekannt.
Das sollte es aber sonst kann man nur rumraten.

von Dino S. (Gast)


Lesenswert?

>Nun sendet ein Gerät unserer Firma manchmal im Halb-, manchmal im
>Vollduplex-Betrieb.

Wenn es ein eigenes Gerät ist, sollte sich doch klären lassen, wann es 
was macht.

von Sandra (Gast)


Lesenswert?

Das kann selbstverständlich eingestellt werden, ist aber von Kunde zu 
Kunde unterschiedlich. Genau wie das Protokoll...

von kommutator (Gast)


Lesenswert?

Naja, wenn Du nur zwei Geräte hast, die als "Blackbox" arbeiten, aber 
beide ordentlich terminiert sind (!!!), könntest Du die Datenleitungen 
über Shunts verbinden und aus der Polarität der abfallenden Spannungen 
darauf schliessen

a) wer Quelle und wer Senke ist
b) was gesendet wurde

Zu beachten: Spannungsabfall nicht zu groß, Kapazitätsbelastung vs. 
Übertragungsrate...


Könnte aber gehen.

von kommutator (Gast)


Lesenswert?

Hier noch ein Link... die Idee mit den Shunts gab es schon. :-)

Beitrag "Wie Die Richtung bei einem 2-Draht-Bus erkennen?"

von Sandra (Gast)


Angehängte Dateien:

Lesenswert?

Meinst du sowas (Anhang)?
Das Problem ist nur, ich sollte bevor ich die Datenleitungen verbinden 
wissen, ob der Halb- oder Vollduplexmodus aktiv ist. Ansonsten riskiere 
ich Kollisionen..

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.