Forum: Mikrocontroller und Digitale Elektronik Frage zu UART und mehreren Teilnehmern


von F.P.G.A (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe eine Frage zur UART Schnittstelle. Wenn ich mehrere Teilnehmer 
nutzen will, könnte ich das mithilfe von einem Demultiplexer und 
Multiplexer realisieren? Heißt also für TX ein Demultiplexer und für RX 
eine Multiplexer. Geht das überhaupt? Das wäre nur eine Überlegung von 
mir. Ich habe meine Idee als Bild angehängt.

MfG

von X. X. (chrissu)


Lesenswert?

Wieso denkst Du denn, das es nicht gehen sollte?

Ob es so sinnvoll ist, wäre eine andere Frage.

von spess53 (Gast)


Lesenswert?

Hi

>Wenn ich mehrere Teilnehmer
>nutzen will, könnte ich das mithilfe von einem Demultiplexer und
>Multiplexer realisieren?

Was ist das für ein µC und was für Slaves sind das?

MfG Spess

von F.P.G.A (Gast)


Lesenswert?

spess53 schrieb:
> Was ist das für ein µC und was für Slaves sind das?

Ich entwerfe gerade nur das Konzept meines Projektes und ein wenig die 
Schaltplanlogik. Beim µC weiß ich es noch nicht, welcher es werden soll. 
Die Slaves wären ein GPS Modul, ein BLE Modul und ein WLAN Modul.

MfG

von S. R. (svenska)


Lesenswert?

Kann man machen, aber du kannst immer nur ein Gerät gleichzeitig 
betreiben.

Vielleicht ist eine Soft-UART im Controller sinnvoller.

von J. Zimmermann (Gast)


Lesenswert?

...oder Du nimmst gleich einem µC mit genügend U(S)ARTs, XMEGA z.B.
mfg
Achim

von Gerhard O. (gerhard_)


Lesenswert?

In einem Wetterstationsprojekt von mir steuerte ich mit einem Arduino 
Pro-Mini drei UART Schnittstellen an. In diesem Fall ging das weil die 
externen UART Teilnehmer nur zeitweise vom Arduino eingeschaltet wurden 
und kein Simultanbetrieb vorgesehen ist.

Die notwendige Isolation zu den externen Teilnehmern erzielte ich mit 
einer MOSFET Schaltung (PHILIPS) wie sie üblicherweise für I2C Spannungs 
Isolation verwendet wird. Ausgeschaltete Teilnehmer können den 
Datentransfer deshalb nicht stören. Baudrate war 9600.

Bei der USB Serial Schnittstelle zum Debuggen und Bootloader mußte ich 
noch eine Diode einfügen um Blockierung der anderen Teilnehmer durch den 
TXD Ausgang nicht zu stören. Die externen Teilnehmer waren ein RS232 
Zell Modem und ein RS485 für einen externen Sensor.

Der externe Sensor wurde vom Schlafzustand durch ein Dummy Byte durch 
Wakeup interrupt aufgeweckt. Die Wetterstation ist Solar betrieben und 
ist deshalb für sparsamen Betrieb gezüchtet. Jedenfalls funktioniert 
diese Anordnung einwandfrei und war für mich eine adequäte Lösung, 
obwohl man bestimmt andere (bessere) Lösungen für diese Forderung 
erdenken könnte.

Die MOSFET Isolatoren und RS232/485 Schnittstellen sind eBay Bord 
Produkte die es fertig gibt. Den höchsten Stromverbrauch im 
Schlafbetrieb hat mit 100uA die Sensor RS485 Schnittstelle.

: Bearbeitet durch User
von holger (Gast)


Lesenswert?

>Ich entwerfe gerade nur das Konzept meines Projektes

Broken by design kann man da wohl nur sagen;)
Fang noch mal von vorne an.

von Thomas W. (diddl)


Lesenswert?

RS485 ...


Oder wie es neuerdings heißt: EIA485

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Solange sichergestellt ist, daß die via RS232 angesprochenen Geräte 
nicht von sich aus Daten senden, sondern dies nur nach Aufforderung tun, 
ist das alles kein Problem. Dann kann eine UART mit entsprechender 
Umschaltelogik verwendet werden; beim RS485-Bus wird das auf ähnliche 
Art und Weise umgesetzt.


Wenn aber die Geräte ohne vorherige Aufforderung Daten senden, und diese 
Daten wichtig sind, d.h. auf sie irgendwie reagiert werden muss, oder 
sie aufgezeichnet werden müssen, dann ist die Forderung "Eine UART pro 
Gerät" nicht zu umgehen.

von J. Zimmermann (Gast)


Lesenswert?

"Umschaltlogik" halte ich für prolematisch, man muss immer sicher 
stellen, dass im Umschaltmoment kein Datenaustausch stattfindet und das 
eigentliche Umschalten im UART-Receiver keine Startbit auslöst. µC mit 
ausreichend U(S)ART ist (auch aus gemachter Erfahrung) wesentlich 
einfacher.
mfg
Achim

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.