Wie mehrere Geräte mit UART an einen Controller anbinden?

Gast #1100838
hallo leute,


wie kann ich 3 Geräte, per Rx und Tx an einen Controller anbinden?
Es handelt sich um einen Atmega8 und 3 externe Geräte, die nicht 
gleichzeitig senden. Dabei soll der ATmega der "Sammelpunkt" sein und 
ausschließlich Daten Empfangen. Liege ich da mit einem XX485 richtig? 
Oder brauche ich eine Art Multiplexer?
Vielen Dank schon mal für eure hilfe.
Gruß Telco
Gast #1100860
Lösungsidee (setzt voraus, dass die Geräte wirklich nicht gleichzeitig 
senden, ansonsten kommen Mülldaten an):

Wenn du die drei Geräte dazu bringen kannst, auf Tx statt einem 
"starken" 1-Pegel nur hochohmig zu schalten, dann müsste es reichen, 
alle drei Geräte-Tx mit dem uC-Rx zu verbinden; Pullup im uC aktivieren. 
Ansonsten je Gerät eine Diode (leitend in Richtung Gerät->uC), um den 
1-Pegel abzublocken, auf uC-Seite verbinden und Pullup im uC.

Geräte-Rx und uC-Tx werden ja nicht gebraucht (da der uC nichts senden 
soll).
Gast #1101723
Vielen Dank für die Antwort... Werde mir deine Lösung mal durch den Kopf 
gehen lassen, das Hochohmig schalten ist wofür? Könnte ich da nicht ein 
tristate (Treiber)Baustein verwenden?
Gibt es denn keine Lösung, wo ich einfach ein IC verwenden kann? sowas 
wie der RS485 zb? Ich möchte einfach 3Geräte mit Uart auf einen 
Controller "multiplexen"... Es wird weder gleichzeitig gesendet, noch 
müssen alle Uarts gleichzeitig am Controller angeschlossen. Kann ich da 
sowas wie ein 3 bzw 6 zu 1 MultiplexerIC verwenden?

Danke und Gruß
Telco
#1101734
> das Hochohmig schalten ist wofür?

Wenn mehrere Ausgänge quasi kurzgeschlossen werden, dann ist das für die 
Ausgänge nicht so toll. Einer versucht den Ausgang auf +5V zu ziehen, 
während alle anderen versuchen die Ausgangsspannung auf GND zu halten.
Das dieses Seilziehen auf Dauer nicht gut gehen kann, dürfte klar sein.

> Kann ich da sowas wie ein 3 bzw 6 zu 1 MultiplexerIC verwenden?

Wozu?
Einfach in jede Leitung eine Diode schalten, wie oben schon beschrieben. 
Damit werden die einzelnen Ausgänge voneinander entkoppelt und gut ists.
(Firma: TravelRec.) Persönliche Seite #1101745
Das kannst Du mit einer einzigen Leitung machen. Alle RX-Anschlüsse 
werden an diese Leitung geschaltet, alle TX-Anschlüsse werden mit einer 
schnellen Diode (1N4148), Kathode zum Controller, ebenfalls an diese 
Leitung geschaltet. Statt der internen PullUp-Widerstände würde ich 
einen definierten 4k7 Widerstand extern von der Leitung nach Vcc 
anschließen. Vorteil: Du brauchst keine weiteren Bauteile, alle 
Controller können nacheinander mit allen Controller kommunizieren. 
Nachteil: Jeder Controller empfängt auch seine eigenen Daten und muß 
diese verwerfen.
Gast #1102124
> Nachteil: Jeder Controller empfängt auch seine eigenen Daten und muß
> diese verwerfen.

Soweit ich verstanden habe, sollen die Daten nur in eine Richtung 
fließen, d.h. mann könnte den Tx des Mega unbeschaltet lassen und die Rx 
der Endgeräte permanent "hochziehen" (oder von innen heraus ignorieren, 
je nachdem ob das möglich ist).
#1102835
@travel Rec.
Stimmt :-)

@sven:
Ja - nicht jeder Browser / Betriebssystem kann wohl den 
SYMBOL-Zeichensatz darstellen!?!
Das "W" ist dann ein OHM. Ich werde mal sehen, was ich ändern kann. Bei 
mir steht auf jeden Fall ein OHM da.

Gruß
Torsten
Persönliche Seite #1102852
Hey stimmt. Ist mir ja noch nie aufgefallen. Der IE7 zeigt es richtig 
an. Mein Firefox 3.0.5 zeigt ein W und Opera.... auch ein W.

Am besten ist wohl, man schreibt OHM dahin. Dann klappts mit jedem 
Browser.

Sven

Hab gerade noch mal nachgelesen:

Der FONT-Tag (und andere) ist als deprecated eingestuft, das heißt, sie 
sollen in Zukunft aus dem HTML-Standard entfernt werden. (Siehe 
http://de.selfhtml.org/html/text/schrift.htm ).

Firefox und Opera scheinen sich schon daran zu halten. IE scheinbar noch 
nicht. Daher die unterschiedlichen Anzeigen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.