Forum: Mikrocontroller und Digitale Elektronik 2mal RS485 "paralell" betreiben


von Daniel G. (daniel83)


Lesenswert?

Hallo Zusammen,

Ich habe mal wieder ein Problemchen, ich stehe gerade am Anfang einer 
Entwicklung und habe das Problem, dass ich 3 UARTs brauche, sprich ich 
habe 3 RS485 Busse.
An einem bin ich Slave und würde ihn deshalb gerne normal einzeln 
Implementieren.
Auf den anderen beiden bin ich fast immer Master. Was ich hier gerne 
machen möchte ist, dass ich einen Bustreiber an meine Prozessor 
anschließe und die beiden Busse A und B paralell anklemme. Dann kommen 
jeweils zwei Schalter (meine Überlegung einfach Transistoren) in die 
Busleitungen, so dass ich direkt vor dem Trieberbaustein diese 
Anschalten kann.
Auf dem einen Bus Frage ich relativ regelmäßig Slave Module ab. Auf den 
anderen muss ich nur unterbestimmten umständen zugreifen und ein paar 
Befehle schicken, in der zeit wird aber nicht der erste Bus abgefragt.
Ist sowas möglich oder sollte ich lieber eine Software Uart 
implementieren?


Gruß Daniel

von STK500-Besitzer (Gast)


Lesenswert?

>Auf dem einen Bus Frage ich relativ regelmäßig Slave Module ab. Auf den
>anderen muss ich nur unterbestimmten umständen zugreifen und ein paar
>Befehle schicken, in der zeit wird aber nicht der erste Bus abgefragt.
>Ist sowas möglich oder sollte ich lieber eine Software Uart
>implementieren?

Wenn du sicherstellen kannst, dass auf den beiden Bussen nicht 
gleichzeitig Daten transportiert werden müssen kann man die beiden Busse 
"multiplexen".
Das würde ich allerdings hinter den Bustransceivern machen, da man dort 
einfach die Sende-/Empfangsumschaltung per Portpins steuern kann.
Die Empfangsleitungen (auf TTL-Seite) sollten noch entkoppelt werden 
(Dioden?!).

von Jörg S. (joerg-s)


Lesenswert?

>Die Empfangsleitungen (auf TTL-Seite) sollten noch entkoppelt werden
>(Dioden?!).
Ein UND Logikgatter könnte man auch nehmen.

von Daniel G. (daniel83)


Angehängte Dateien:

Lesenswert?

Ich habe mal eben eine kleine bsp. Zeichnung gemacht, wie ich mir das im 
prinzip vorstelle.

von (prx) A. K. (prx)


Lesenswert?

So wird das nix, bipolare Transistoren sind keine Relais und die 
üblichen Analogschalter zu hochohmig.

Nimm 2 Transceiver und schalte am Controller zwischen diesen um.

von Daniel G. (daniel83)


Angehängte Dateien:

Lesenswert?

Also in etwa so?

Ich denke mal ich muss dann !DE auch schalten wie am unteren 
Transreciever?

von Gast XIV (Gast)


Lesenswert?

>Ich habe mal wieder ein Problemchen, ich stehe gerade am Anfang einer
>Entwicklung und habe das Problem, dass ich 3 UARTs brauche, sprich ich
>habe 3 RS485 Busse.

Stellt sich für mich die erste Frage wo diese auf- oder eingebaut 
werden.

Im Industriebereich würde ich selbige nie zusammenschalten sondern 
galvanisch getrennt auf einzelne Uarts (Soft oder Hardware führen)

Alles andere macht fast immer Probleme. Auch ist wohl nicht die beste 
Design-Idee funktionierende Systeme um eine lange Antenne zu erweitern

Dann bricht man Standards und fummelt an ausgereiften OSI Layern rum in 
denen hunderte von Mannjahren Entwicklung und Erfahrung stecken.

Wozu?

von Jörg S. (joerg-s)


Lesenswert?

R (Pin1) musst du entkoppeln, sonst gibt es einen Kurzschluss. Wie 
gesagt zB. die beiden Pins auf ein UND-Gatter geben und den Ausgang an 
den µC.

von (prx) A. K. (prx)


Lesenswert?

Das geht ohne Zusatzaufwand. Getrennte Portpins für RE1,DE1,RE2,DE2. 
RE=1 schaltet den R-Ausgang des Transceivers in hochohmigen Zustand, 
daher geht das. Wenn man beide DEs zusammenlegt, dann bläst er 
gleichzeitig auf beide Busse raus, vielleicht stört das ja nicht.

von Daniel G. (daniel83)


Angehängte Dateien:

Lesenswert?

Also so.
UND Gatter ist da richtig? Ist das Recieve Signal immer High und wird 
nur wenn was kommt Runtergezogen? Denn sonst brauch ich doch nen AND 
Gatter. Receive muss ich auch Schlten, da ich sonst möglicherweise 
Störungen bekomme. Also werde ich es wie im Letzten Bild aufbauen und 
den Oberen !RE auch noch schalten, dann solte es ja wohl hin hauen.

von Jörg S. (joerg-s)


Lesenswert?

>Das geht ohne Zusatzaufwand. Getrennte Portpins für RE1,DE1,RE2,DE2.
>RE=1 schaltet den R-Ausgang des Transceivers in hochohmigen Zustand,
>daher geht das.
Stimmt, das würde auch gehen.

von Daniel G. (daniel83)


Lesenswert?

Also ganz ohne Gatter? 2 Transreceiver, R und D beide einfach Paralell 
und 4 Portpins zum einzeln an und ausschalten. Beim Programmieren 
gucken, dass nie 2 mal R Aktiv ist !RE muss mindest einmal = 1 sein und 
dann geht das?

von (prx) A. K. (prx)


Lesenswert?

Ja, so war es gemeint. Netterweise ist bei offenem RE (Powerup/Reset) 
ebenfalls abgeschaltet, so dass auch da nichts anbrennt.

von Daniel G. (daniel83)


Lesenswert?

Alles klar, habt vielen Dank ihr beiden

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.