mikrocontroller.net

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


Autor: Sandra (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Häh irgendwas stimmt nicht

Bei RS485 gibt es kein full-duplex!

Meisnt du vielleicht RS422 ????

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS485 ist immer Halfduplex. RS422 ist full duplex. Das sind 2 
verschiedene Schnittstellen.

Gruss Helmi

Autor: Chris S. (schris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sandra (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dino S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sandra (Gast)
Datum:

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

Autor: kommutator (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: kommutator (Gast)
Datum:

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

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

Autor: Sandra (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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..

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.