mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie mehrere Geräte mit UART an einen Controller anbinden?


Autor: Telco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Telco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS422 ist eine moegliche Loesung.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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).

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Bidirektionale Feature der 1-Leitungs-Version ist vielleicht nicht 
nachgefragt gewesen, aber schön zu haben. Damit ist man in jedem Fall 
später flexibel.

Autor: Torsten K. (ibk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Telco,

schau mal hier auf meiner Seite 
http://www.ibkirchen.de/zipliste/wissen/rs232mul.html
Das müsste genau passen. Mit dieser Anwendung arbeite ich schon ziemlich 
lange und auch mit noch mehr Endgeräten (bis 32 hab ich im Einsatz)

Gruß
Torsten

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Torsten: Wenn Du jetzt aus den 2 Leitungen eine machst, hast Du 
Multimaster/Multislave-Betrieb und meinen Lösungsansatz :-)

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Torsten: "Daher ist dieser hier mit einem Wert von 10kW eingezeichnet."

Zieht ganz schön Strom deine Schaltung: 10kW, das ist schon was ;-)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist wahrscheinlich ein Copy/Paste Fehler, siehe Quelltext.

Autor: Torsten K. (ibk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ein Bild eines kleinen Omega einfügen ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.