Forum: Mikrocontroller und Digitale Elektronik RS422 -> Single-Master + 3 Slaves (Vollduplex) -> Enable Leitungen notwendig?


von Martin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

habe ein Verständnisproblem mit RS422 bzw. RS485.

Ich möchte eine Vollduplex Verbindung über RS422 zwischen einem Master 
und drei Slaves aufbauen. Das Senden des Masters ist klar. Er sendet 
etwas an die Adresse eines bestimmten Slaves. Alle können zuhören, aber 
nur der bestimmte antwortet.

Aber wie sieht es aus, wenn Slave 1 nach einer User-Eingabe sofort an 
den Master senden will. Sollte ja im Vollduplex-Betrieb funktionieren. 
Dann ist Slave1 = Master und der vorhergehende Master wird zum Slave. 
Die anderen beiden Slaves sind aber ebenfalls mit den Treiberleitungen 
an dem Bus angebunden. Wenn der neue Master jetzt sendet, behindert sich 
das nicht mit den anderen Slaves?

Müssen die anderen Slaves in dem Fall über die Enable Leitungen 
abgeschaltet werden?

Also geht mein Vorhaben nur mit Enable Leitungen?

Ich hoffe das war nich zu verwirrend beschrieben:-) Habe anbei noch ein 
Bild davon.

MfG

Martin

von (prx) A. K. (prx)


Lesenswert?

Martin schrieb:
> Dann ist Slave1 = Master und der vorhergehende Master wird zum Slave.

Master ist die Rolle der zentralen Node. Kein dynamischer Zustand 
irgendeiner Node.

Die Rolle von Master und Slave ist in RS485 4-Draht nicht verhandelbar, 
sondern liegt fest. Ein Slave schaltet sein Tx erst auf Aufforderung des 
Masters ein und schaltet es nach Beendigung der Übertragung wieder aus.

Wenn jeder Slave in der Lage sein soll, unaufgefordert zu senden, dann 
kommt RS485 4-Draht nicht in Frage. Sondern dann solltest du CAN 
anpeilen. RS485 2-Draht Multimaster geht zwar prinzipiell, macht aber 
keinen Spass.

: Bearbeitet durch User
von Martin (Gast)


Lesenswert?

Hallo A.K.,

> RS485 2-Draht Multimaster geht zwar prinzipiell, macht aber
> keinen Spass.

Ok :-)

> Wenn jeder Slave in der Lage sein soll, unaufgefordert zu senden, dann
> kommt RS485 4-Draht nicht in Frage.

Ja genau darum geht es mir. Deshalb wollte ich 4-Draht verwenden, damit 
jeder Slave bzw. wenigstens ein Slave "dazwischen quatschen" kann.

Na gut also geht es so nicht. Mir kam das gleich bisl komisch vor. 
Dasselbe Problem besteht ja auch bei RS422.

Also kann ein Slave nur "dazwischen quatschen", wenn entweder eine 
Punkt-zu-Punkt Vollduplex-Verbindung über RS422 oder bei mehreren 
Teilnehmern eine Halbduplex-Verbindung über RS485 aufgebaut wird.

Bei einem 4-Draht Bus egal ob RS422 oder RS485 (ähneln sich ja sowieso) 
ist es nicht möglich, dort können Slaves nur nach Aufforderung 
quatschen.

von manni (Gast)


Lesenswert?

Also da hast du EIA-485 und 422 ein bisschen vermischt.
Wenn du vollduplex fahren aillst, hat 422 nicht viel damit zu tun.
Und deine Frage, ob du enablen musst, ist auch hinfällig, da 
EIA-422-Geräte in der Regel keinen T-Enable haben.

von Martin (Gast)


Lesenswert?

Hallo Manni,

RS422 ist doch von Hause aus schon für Vollduplex geeignet, oder nicht? 
Nur halt ursprünglich für Point-to-Point Verbindung. Aber es soll auch 
gehen einen Master mit bis zu 10 Slaves damit zu betreiben.

Ja und als Treiber hatte ich mir den ADM3491E angeschaut, deshalb auch 
das Bild aus dem Datenblatt. Und der ist für beides, RS422 und RS485 und 
hat T- und R-Enable.

Jetzt hatte mich die Verschaltung verwirrt.

von (prx) A. K. (prx)


Lesenswert?

Martin schrieb:
> Also kann ein Slave nur "dazwischen quatschen", wenn entweder eine
> Punkt-zu-Punkt Vollduplex-Verbindung über RS422 oder bei mehreren
> Teilnehmern eine Halbduplex-Verbindung über RS485 aufgebaut wird.

Korrekt. Wobei bei einem RS485 Bus das klitzekleine Problem entsteht, 
wann denn ein Slave "dazwischen quatschen" darf. Also wie man damit 
umgeht, dass 2 Slaves ziemlich gleichzeitig diese Idee haben können. Wie 
gedenkst du das anzugehen?

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.