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
>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?!).
>Die Empfangsleitungen (auf TTL-Seite) sollten noch entkoppelt werden >(Dioden?!). Ein UND Logikgatter könnte man auch nehmen.
Ich habe mal eben eine kleine bsp. Zeichnung gemacht, wie ich mir das im prinzip vorstelle.
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.
Also in etwa so? Ich denke mal ich muss dann !DE auch schalten wie am unteren Transreciever?
>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?
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.
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.
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.
>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.
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?
Ja, so war es gemeint. Netterweise ist bei offenem RE (Powerup/Reset) ebenfalls abgeschaltet, so dass auch da nichts anbrennt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.